https://github.com/solidjs-community/solid-primitives
A library of high-quality primitives that extend SolidJS reactivity.
https://github.com/solidjs-community/solid-primitives
solidjs
Last synced: 9 months ago
JSON representation
A library of high-quality primitives that extend SolidJS reactivity.
- Host: GitHub
- URL: https://github.com/solidjs-community/solid-primitives
- Owner: solidjs-community
- License: mit
- Created: 2021-05-22T18:53:57.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-27T07:52:04.000Z (10 months ago)
- Last Synced: 2025-05-13T00:14:26.530Z (9 months ago)
- Topics: solidjs
- Language: TypeScript
- Homepage: https://primitives.solidjs.community
- Size: 26.7 MB
- Stars: 1,375
- Watchers: 10
- Forks: 138
- Open Issues: 62
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Solid Primitives
[](https://pnpm.io/)
[](https://dash.deno.com/playground/combined-npm-downloads)
A project that strives to develop high-quality, community contributed Solid primitives. All utilities are well tested and continuously maintained. Every contribution to the repository is checked for quality and maintained to the highest degree of excellence. The ultimate goal is to extend Solid's primary and secondary primitives with a set of tertiary primitives.
While Solid Primitives is not officially maintained by the SolidJS Core Team, it is managed by members of the SolidJS core and ecosystem teams. This separation allows the core library to iterate independently while allowing Solid Primitives to remain in-sync with future plans.
## Philosophy
The goal of Solid Primitives is to wrap client and server side functionality to provide a fully reactive API layer. Ultimately the more rooted our tertiary primitives are, the more they act as foundation within Solid's base ecosystem. With well built and re-used foundations, the smaller (aggregate tree-shaking benefits), more concise (readability) and stable (consistent and managed testing + maintenance) applications can be overall.
## Primitives
|Name|Stage|Primitives|Size|NPM|
|----|----|----|----|----|
|
*Inputs*
|
|[active-element](https://github.com/solidjs-community/solid-primitives/tree/main/packages/active-element#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createActiveElement](https://github.com/solidjs-community/solid-primitives/tree/main/packages/active-element#createactiveelement)
[createFocusSignal](https://github.com/solidjs-community/solid-primitives/tree/main/packages/active-element#createfocussignal)|[](https://bundlephobia.com/package/@solid-primitives/active-element)|[](https://www.npmjs.com/package/@solid-primitives/active-element)|
|[autofocus](https://github.com/solidjs-community/solid-primitives/tree/main/packages/autofocus#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[autofocus](https://github.com/solidjs-community/solid-primitives/tree/main/packages/autofocus#autofocus)
[createAutofocus](https://github.com/solidjs-community/solid-primitives/tree/main/packages/autofocus#createautofocus)|[](https://bundlephobia.com/package/@solid-primitives/autofocus)|[](https://www.npmjs.com/package/@solid-primitives/autofocus)|
|[input-mask](https://github.com/solidjs-community/solid-primitives/tree/main/packages/input-mask#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createInputMask](https://github.com/solidjs-community/solid-primitives/tree/main/packages/input-mask#createinputmask)
[createMaskPattern](https://github.com/solidjs-community/solid-primitives/tree/main/packages/input-mask#createmaskpattern)|[](https://bundlephobia.com/package/@solid-primitives/input-mask)|[](https://www.npmjs.com/package/@solid-primitives/input-mask)|
|[keyboard](https://github.com/solidjs-community/solid-primitives/tree/main/packages/keyboard#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[useKeyDownList](https://github.com/solidjs-community/solid-primitives/tree/main/packages/keyboard#usekeydownlist)
[useCurrentlyHeldKey](https://github.com/solidjs-community/solid-primitives/tree/main/packages/keyboard#usecurrentlyheldkey)
[useKeyDownSequence](https://github.com/solidjs-community/solid-primitives/tree/main/packages/keyboard#usekeydownsequence)
[createKeyHold](https://github.com/solidjs-community/solid-primitives/tree/main/packages/keyboard#createkeyhold)
[createShortcut](https://github.com/solidjs-community/solid-primitives/tree/main/packages/keyboard#createshortcut)|[](https://bundlephobia.com/package/@solid-primitives/keyboard)|[](https://www.npmjs.com/package/@solid-primitives/keyboard)|
|[mouse](https://github.com/solidjs-community/solid-primitives/tree/main/packages/mouse#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createMousePosition](https://github.com/solidjs-community/solid-primitives/tree/main/packages/mouse#createmouseposition)
[createPositionToElement](https://github.com/solidjs-community/solid-primitives/tree/main/packages/mouse#createpositiontoelement)|[](https://bundlephobia.com/package/@solid-primitives/mouse)|[](https://www.npmjs.com/package/@solid-primitives/mouse)|
|[pointer](https://github.com/solidjs-community/solid-primitives/tree/main/packages/pointer#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createPointerListeners](https://github.com/solidjs-community/solid-primitives/tree/main/packages/pointer#createpointerlisteners)
[createPerPointerListeners](https://github.com/solidjs-community/solid-primitives/tree/main/packages/pointer#createperpointerlisteners)
[createPointerPosition](https://github.com/solidjs-community/solid-primitives/tree/main/packages/pointer#createpointerposition)
[createPointerList](https://github.com/solidjs-community/solid-primitives/tree/main/packages/pointer#createpointerlist)|[](https://bundlephobia.com/package/@solid-primitives/pointer)|[](https://www.npmjs.com/package/@solid-primitives/pointer)|
|[scroll](https://github.com/solidjs-community/solid-primitives/tree/main/packages/scroll#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createScrollPosition](https://github.com/solidjs-community/solid-primitives/tree/main/packages/scroll#createscrollposition)
[useWindowScrollPosition](https://github.com/solidjs-community/solid-primitives/tree/main/packages/scroll#usewindowscrollposition)|[](https://bundlephobia.com/package/@solid-primitives/scroll)|[](https://www.npmjs.com/package/@solid-primitives/scroll)|
|[selection](https://github.com/solidjs-community/solid-primitives/tree/main/packages/selection#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createSelection](https://github.com/solidjs-community/solid-primitives/tree/main/packages/selection#createselection)|[](https://bundlephobia.com/package/@solid-primitives/selection)|[](https://www.npmjs.com/package/@solid-primitives/selection)|
|*Display & Media*
|
|[audio](https://github.com/solidjs-community/solid-primitives/tree/main/packages/audio#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[makeAudio](https://github.com/solidjs-community/solid-primitives/tree/main/packages/audio#makeaudio)
[makeAudioPlayer](https://github.com/solidjs-community/solid-primitives/tree/main/packages/audio#makeaudioplayer)
[createAudio](https://github.com/solidjs-community/solid-primitives/tree/main/packages/audio#createaudio)|[](https://bundlephobia.com/package/@solid-primitives/audio)|[](https://www.npmjs.com/package/@solid-primitives/audio)|
|[bounds](https://github.com/solidjs-community/solid-primitives/tree/main/packages/bounds#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createElementBounds](https://github.com/solidjs-community/solid-primitives/tree/main/packages/bounds#createelementbounds)|[](https://bundlephobia.com/package/@solid-primitives/bounds)|[](https://www.npmjs.com/package/@solid-primitives/bounds)|
|[devices](https://github.com/solidjs-community/solid-primitives/tree/main/packages/devices#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createDevices](https://github.com/solidjs-community/solid-primitives/tree/main/packages/devices#createdevices)
[createMicrophones](https://github.com/solidjs-community/solid-primitives/tree/main/packages/devices#createmicrophones)
[createSpeakers](https://github.com/solidjs-community/solid-primitives/tree/main/packages/devices#createspeakers)
[createCameras](https://github.com/solidjs-community/solid-primitives/tree/main/packages/devices#createcameras)
[createAccelerometer](https://github.com/solidjs-community/solid-primitives/tree/main/packages/devices#createaccelerometer)
[createGyroscope](https://github.com/solidjs-community/solid-primitives/tree/main/packages/devices#creategyroscope)|[](https://bundlephobia.com/package/@solid-primitives/devices)|[](https://www.npmjs.com/package/@solid-primitives/devices)|
|[filesystem](https://github.com/solidjs-community/solid-primitives/tree/main/packages/filesystem#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createFileSystem](https://github.com/solidjs-community/solid-primitives/tree/main/packages/filesystem#createfilesystem)
[createSyncFileSystem](https://github.com/solidjs-community/solid-primitives/tree/main/packages/filesystem#createsyncfilesystem)
[createAsyncFileSystem](https://github.com/solidjs-community/solid-primitives/tree/main/packages/filesystem#createasyncfilesystem)
[makeNoFileSystem](https://github.com/solidjs-community/solid-primitives/tree/main/packages/filesystem#makenofilesystem)
[makeNoAsyncFileSystem](https://github.com/solidjs-community/solid-primitives/tree/main/packages/filesystem#makenoasyncfilesystem)
[makeVirtualFileSystem](https://github.com/solidjs-community/solid-primitives/tree/main/packages/filesystem#makevirtualfilesystem)
[makeWebAccessFileSystem](https://github.com/solidjs-community/solid-primitives/tree/main/packages/filesystem#makewebaccessfilesystem)
[makeNodeFileSystem](https://github.com/solidjs-community/solid-primitives/tree/main/packages/filesystem#makenodefilesystem)
[makeTauriFileSystem](https://github.com/solidjs-community/solid-primitives/tree/main/packages/filesystem#maketaurifilesystem)
[makeChokidarWatcher](https://github.com/solidjs-community/solid-primitives/tree/main/packages/filesystem#makechokidarwatcher)
[rsync](https://github.com/solidjs-community/solid-primitives/tree/main/packages/filesystem#rsync)|[](https://bundlephobia.com/package/@solid-primitives/filesystem)|[](https://www.npmjs.com/package/@solid-primitives/filesystem)|
|[idle](https://github.com/solidjs-community/solid-primitives/tree/main/packages/idle#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createIdleTimer](https://github.com/solidjs-community/solid-primitives/tree/main/packages/idle#createidletimer)|[](https://bundlephobia.com/package/@solid-primitives/idle)|[](https://www.npmjs.com/package/@solid-primitives/idle)|
|[intersection-observer](https://github.com/solidjs-community/solid-primitives/tree/main/packages/intersection-observer#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createIntersectionObserver](https://github.com/solidjs-community/solid-primitives/tree/main/packages/intersection-observer#createintersectionobserver)
[createViewportObserver](https://github.com/solidjs-community/solid-primitives/tree/main/packages/intersection-observer#createviewportobserver)
[createVisibilityObserver](https://github.com/solidjs-community/solid-primitives/tree/main/packages/intersection-observer#createvisibilityobserver)|[](https://bundlephobia.com/package/@solid-primitives/intersection-observer)|[](https://www.npmjs.com/package/@solid-primitives/intersection-observer)|
|[media](https://github.com/solidjs-community/solid-primitives/tree/main/packages/media#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[makeMediaQueryListener](https://github.com/solidjs-community/solid-primitives/tree/main/packages/media#makemediaquerylistener)
[createMediaQuery](https://github.com/solidjs-community/solid-primitives/tree/main/packages/media#createmediaquery)
[createBreakpoints](https://github.com/solidjs-community/solid-primitives/tree/main/packages/media#createbreakpoints)
[usePrefersDark](https://github.com/solidjs-community/solid-primitives/tree/main/packages/media#useprefersdark)|[](https://bundlephobia.com/package/@solid-primitives/media)|[](https://www.npmjs.com/package/@solid-primitives/media)|
|[page-visibility](https://github.com/solidjs-community/solid-primitives/tree/main/packages/page-visibility#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createPageVisibility](https://github.com/solidjs-community/solid-primitives/tree/main/packages/page-visibility#createpagevisibility)|[](https://bundlephobia.com/package/@solid-primitives/page-visibility)|[](https://www.npmjs.com/package/@solid-primitives/page-visibility)|
|[resize-observer](https://github.com/solidjs-community/solid-primitives/tree/main/packages/resize-observer#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createResizeObserver](https://github.com/solidjs-community/solid-primitives/tree/main/packages/resize-observer#createresizeobserver)
[createWindowSize](https://github.com/solidjs-community/solid-primitives/tree/main/packages/resize-observer#createwindowsize)
[createElementSize](https://github.com/solidjs-community/solid-primitives/tree/main/packages/resize-observer#createelementsize)|[](https://bundlephobia.com/package/@solid-primitives/resize-observer)|[](https://www.npmjs.com/package/@solid-primitives/resize-observer)|
|[styles](https://github.com/solidjs-community/solid-primitives/tree/main/packages/styles#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createRemSize](https://github.com/solidjs-community/solid-primitives/tree/main/packages/styles#createremsize)|[](https://bundlephobia.com/package/@solid-primitives/styles)|[](https://www.npmjs.com/package/@solid-primitives/styles)|
|*Browser APIs*
|
|[broadcast-channel](https://github.com/solidjs-community/solid-primitives/tree/main/packages/broadcast-channel#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[makeBroadcastChannel](https://github.com/solidjs-community/solid-primitives/tree/main/packages/broadcast-channel#makebroadcastchannel)
[createBroadcastChannel](https://github.com/solidjs-community/solid-primitives/tree/main/packages/broadcast-channel#createbroadcastchannel)|[](https://bundlephobia.com/package/@solid-primitives/broadcast-channel)|[](https://www.npmjs.com/package/@solid-primitives/broadcast-channel)|
|[clipboard](https://github.com/solidjs-community/solid-primitives/tree/main/packages/clipboard#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[copyClipboard](https://github.com/solidjs-community/solid-primitives/tree/main/packages/clipboard#copyclipboard)
[writeClipboard](https://github.com/solidjs-community/solid-primitives/tree/main/packages/clipboard#writeclipboard)
[createClipboard](https://github.com/solidjs-community/solid-primitives/tree/main/packages/clipboard#createclipboard)|[](https://bundlephobia.com/package/@solid-primitives/clipboard)|[](https://www.npmjs.com/package/@solid-primitives/clipboard)|
|[event-listener](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-listener#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createEventListener](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-listener#createeventlistener)
[createEventSignal](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-listener#createeventsignal)
[createEventListenerMap](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-listener#createeventlistenermap)
[WindowEventListener](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-listener#windoweventlistener)
[DocumentEventListener](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-listener#documenteventlistener)|[](https://bundlephobia.com/package/@solid-primitives/event-listener)|[](https://www.npmjs.com/package/@solid-primitives/event-listener)|
|[event-props](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-props#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createEventProps](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-props#createeventprops)|[](https://bundlephobia.com/package/@solid-primitives/event-props)|[](https://www.npmjs.com/package/@solid-primitives/event-props)|
|[fullscreen](https://github.com/solidjs-community/solid-primitives/tree/main/packages/fullscreen#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createFullscreen](https://github.com/solidjs-community/solid-primitives/tree/main/packages/fullscreen#createfullscreen)|[](https://bundlephobia.com/package/@solid-primitives/fullscreen)|[](https://www.npmjs.com/package/@solid-primitives/fullscreen)|
|[geolocation](https://github.com/solidjs-community/solid-primitives/tree/main/packages/geolocation#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createGeolocation](https://github.com/solidjs-community/solid-primitives/tree/main/packages/geolocation#creategeolocation)
[createGeolocationWatcher](https://github.com/solidjs-community/solid-primitives/tree/main/packages/geolocation#creategeolocationwatcher)|[](https://bundlephobia.com/package/@solid-primitives/geolocation)|[](https://www.npmjs.com/package/@solid-primitives/geolocation)|
|[mutation-observer](https://github.com/solidjs-community/solid-primitives/tree/main/packages/mutation-observer#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createMutationObserver](https://github.com/solidjs-community/solid-primitives/tree/main/packages/mutation-observer#createmutationobserver)|[](https://bundlephobia.com/package/@solid-primitives/mutation-observer)|[](https://www.npmjs.com/package/@solid-primitives/mutation-observer)|
|[permission](https://github.com/solidjs-community/solid-primitives/tree/main/packages/permission#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createPermission](https://github.com/solidjs-community/solid-primitives/tree/main/packages/permission#createpermission)|[](https://bundlephobia.com/package/@solid-primitives/permission)|[](https://www.npmjs.com/package/@solid-primitives/permission)|
|[storage](https://github.com/solidjs-community/solid-primitives/tree/main/packages/storage#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[makePersisted](https://github.com/solidjs-community/solid-primitives/tree/main/packages/storage#makepersisted)
[cookieStorage](https://github.com/solidjs-community/solid-primitives/tree/main/packages/storage#cookiestorage)
[tauriStorage](https://github.com/solidjs-community/solid-primitives/tree/main/packages/storage#tauristorage)
[multiplexStorage](https://github.com/solidjs-community/solid-primitives/tree/main/packages/storage#multiplexstorage)
[storageSync](https://github.com/solidjs-community/solid-primitives/tree/main/packages/storage#storagesync)
[messageSync](https://github.com/solidjs-community/solid-primitives/tree/main/packages/storage#messagesync)
[wsSync](https://github.com/solidjs-community/solid-primitives/tree/main/packages/storage#wssync)
[multiplexSync](https://github.com/solidjs-community/solid-primitives/tree/main/packages/storage#multiplexsync)
[addClearMethod](https://github.com/solidjs-community/solid-primitives/tree/main/packages/storage#addclearmethod)
[addWithOptionsMethod](https://github.com/solidjs-community/solid-primitives/tree/main/packages/storage#addwithoptionsmethod)
[makeObjectStorage](https://github.com/solidjs-community/solid-primitives/tree/main/packages/storage#makeobjectstorage)|[](https://bundlephobia.com/package/@solid-primitives/storage)|[](https://www.npmjs.com/package/@solid-primitives/storage)|
|[timer](https://github.com/solidjs-community/solid-primitives/tree/main/packages/timer#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[makeTimer](https://github.com/solidjs-community/solid-primitives/tree/main/packages/timer#maketimer)
[createTimer](https://github.com/solidjs-community/solid-primitives/tree/main/packages/timer#createtimer)
[createTimeoutLoop](https://github.com/solidjs-community/solid-primitives/tree/main/packages/timer#createtimeoutloop)
[createPolled](https://github.com/solidjs-community/solid-primitives/tree/main/packages/timer#createpolled)
[createIntervalCounter](https://github.com/solidjs-community/solid-primitives/tree/main/packages/timer#createintervalcounter)|[](https://bundlephobia.com/package/@solid-primitives/timer)|[](https://www.npmjs.com/package/@solid-primitives/timer)|
|[upload](https://github.com/solidjs-community/solid-primitives/tree/main/packages/upload#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createFileUploader](https://github.com/solidjs-community/solid-primitives/tree/main/packages/upload#createfileuploader)
[createDropzone](https://github.com/solidjs-community/solid-primitives/tree/main/packages/upload#createdropzone)|[](https://bundlephobia.com/package/@solid-primitives/upload)|[](https://www.npmjs.com/package/@solid-primitives/upload)|
|[workers](https://github.com/solidjs-community/solid-primitives/tree/main/packages/workers#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createWorker](https://github.com/solidjs-community/solid-primitives/tree/main/packages/workers#createworker)
[createWorkerPool](https://github.com/solidjs-community/solid-primitives/tree/main/packages/workers#createworkerpool)
[createSignaledWorker](https://github.com/solidjs-community/solid-primitives/tree/main/packages/workers#createsignaledworker)|[](https://bundlephobia.com/package/@solid-primitives/workers)|[](https://www.npmjs.com/package/@solid-primitives/workers)|
|*Network*
|
|[connectivity](https://github.com/solidjs-community/solid-primitives/tree/main/packages/connectivity#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createConnectivitySignal](https://github.com/solidjs-community/solid-primitives/tree/main/packages/connectivity#createconnectivitysignal)|[](https://bundlephobia.com/package/@solid-primitives/connectivity)|[](https://www.npmjs.com/package/@solid-primitives/connectivity)|
|[cookies](https://github.com/solidjs-community/solid-primitives/tree/main/packages/cookies#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createServerCookie](https://github.com/solidjs-community/solid-primitives/tree/main/packages/cookies#createservercookie)
[createUserTheme](https://github.com/solidjs-community/solid-primitives/tree/main/packages/cookies#createusertheme)
[getCookiesString](https://github.com/solidjs-community/solid-primitives/tree/main/packages/cookies#getcookiesstring)|[](https://bundlephobia.com/package/@solid-primitives/cookies)|[](https://www.npmjs.com/package/@solid-primitives/cookies)|
|[fetch](https://github.com/solidjs-community/solid-primitives/tree/main/packages/fetch#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createFetch](https://github.com/solidjs-community/solid-primitives/tree/main/packages/fetch#createfetch)|[](https://bundlephobia.com/package/@solid-primitives/fetch)|[](https://www.npmjs.com/package/@solid-primitives/fetch)|
|[graphql](https://github.com/solidjs-community/solid-primitives/tree/main/packages/graphql#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createGraphQLClient](https://github.com/solidjs-community/solid-primitives/tree/main/packages/graphql#creategraphqlclient)|[](https://bundlephobia.com/package/@solid-primitives/graphql)|[](https://www.npmjs.com/package/@solid-primitives/graphql)|
|[stream](https://github.com/solidjs-community/solid-primitives/tree/main/packages/stream#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createStream](https://github.com/solidjs-community/solid-primitives/tree/main/packages/stream#createstream)
[createAmplitudeStream](https://github.com/solidjs-community/solid-primitives/tree/main/packages/stream#createamplitudestream)
[createMediaPermissionRequest](https://github.com/solidjs-community/solid-primitives/tree/main/packages/stream#createmediapermissionrequest)
[createAmplitudeFromStream](https://github.com/solidjs-community/solid-primitives/tree/main/packages/stream#createamplitudefromstream)
[createScreen](https://github.com/solidjs-community/solid-primitives/tree/main/packages/stream#createscreen)|[](https://bundlephobia.com/package/@solid-primitives/stream)|[](https://www.npmjs.com/package/@solid-primitives/stream)|
|[websocket](https://github.com/solidjs-community/solid-primitives/tree/main/packages/websocket#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[makeWS](https://github.com/solidjs-community/solid-primitives/tree/main/packages/websocket#makews)
[createWS](https://github.com/solidjs-community/solid-primitives/tree/main/packages/websocket#createws)
[createWSState](https://github.com/solidjs-community/solid-primitives/tree/main/packages/websocket#createwsstate)
[makeReconnectingWS](https://github.com/solidjs-community/solid-primitives/tree/main/packages/websocket#makereconnectingws)
[createReconnectingWS](https://github.com/solidjs-community/solid-primitives/tree/main/packages/websocket#createreconnectingws)
[makeHeartbeatWS](https://github.com/solidjs-community/solid-primitives/tree/main/packages/websocket#makeheartbeatws)|[](https://bundlephobia.com/package/@solid-primitives/websocket)|[](https://www.npmjs.com/package/@solid-primitives/websocket)|
|*Control Flow*
|
|[context](https://github.com/solidjs-community/solid-primitives/tree/main/packages/context#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createContextProvider](https://github.com/solidjs-community/solid-primitives/tree/main/packages/context#createcontextprovider)
[MultiProvider](https://github.com/solidjs-community/solid-primitives/tree/main/packages/context#multiprovider)|[](https://bundlephobia.com/package/@solid-primitives/context)|[](https://www.npmjs.com/package/@solid-primitives/context)|
|[jsx-tokenizer](https://github.com/solidjs-community/solid-primitives/tree/main/packages/jsx-tokenizer#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createTokenizer](https://github.com/solidjs-community/solid-primitives/tree/main/packages/jsx-tokenizer#createtokenizer)
[createToken](https://github.com/solidjs-community/solid-primitives/tree/main/packages/jsx-tokenizer#createtoken)
[resolveTokens](https://github.com/solidjs-community/solid-primitives/tree/main/packages/jsx-tokenizer#resolvetokens)
[isToken](https://github.com/solidjs-community/solid-primitives/tree/main/packages/jsx-tokenizer#istoken)|[](https://bundlephobia.com/package/@solid-primitives/jsx-tokenizer)|[](https://www.npmjs.com/package/@solid-primitives/jsx-tokenizer)|
|[keyed](https://github.com/solidjs-community/solid-primitives/tree/main/packages/keyed#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[keyArray](https://github.com/solidjs-community/solid-primitives/tree/main/packages/keyed#keyarray)
[Key](https://github.com/solidjs-community/solid-primitives/tree/main/packages/keyed#key)
[Entries](https://github.com/solidjs-community/solid-primitives/tree/main/packages/keyed#entries)
[MapEntries](https://github.com/solidjs-community/solid-primitives/tree/main/packages/keyed#mapentries)
[SetValues](https://github.com/solidjs-community/solid-primitives/tree/main/packages/keyed#setvalues)|[](https://bundlephobia.com/package/@solid-primitives/keyed)|[](https://www.npmjs.com/package/@solid-primitives/keyed)|
|[list](https://github.com/solidjs-community/solid-primitives/tree/main/packages/list#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[listArray](https://github.com/solidjs-community/solid-primitives/tree/main/packages/list#listarray)
[List](https://github.com/solidjs-community/solid-primitives/tree/main/packages/list#list)|[](https://bundlephobia.com/package/@solid-primitives/list)|[](https://www.npmjs.com/package/@solid-primitives/list)|
|[range](https://github.com/solidjs-community/solid-primitives/tree/main/packages/range#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[repeat](https://github.com/solidjs-community/solid-primitives/tree/main/packages/range#repeat)
[mapRange](https://github.com/solidjs-community/solid-primitives/tree/main/packages/range#maprange)
[indexRange](https://github.com/solidjs-community/solid-primitives/tree/main/packages/range#indexrange)
[Repeat](https://github.com/solidjs-community/solid-primitives/tree/main/packages/range#repeat)
[Range](https://github.com/solidjs-community/solid-primitives/tree/main/packages/range#range)
[IndexRange](https://github.com/solidjs-community/solid-primitives/tree/main/packages/range#indexrange)|[](https://bundlephobia.com/package/@solid-primitives/range)|[](https://www.npmjs.com/package/@solid-primitives/range)|
|[refs](https://github.com/solidjs-community/solid-primitives/tree/main/packages/refs#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[mergeRefs](https://github.com/solidjs-community/solid-primitives/tree/main/packages/refs#mergerefs)
[resolveElements](https://github.com/solidjs-community/solid-primitives/tree/main/packages/refs#resolveelements)
[resolveFirst](https://github.com/solidjs-community/solid-primitives/tree/main/packages/refs#resolvefirst)
[Ref](https://github.com/solidjs-community/solid-primitives/tree/main/packages/refs#ref)
[Refs](https://github.com/solidjs-community/solid-primitives/tree/main/packages/refs#refs)|[](https://bundlephobia.com/package/@solid-primitives/refs)|[](https://www.npmjs.com/package/@solid-primitives/refs)|
|*Utilities*
|
|[controlled-props](https://github.com/solidjs-community/solid-primitives/tree/main/packages/controlled-props#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createControlledProp](https://github.com/solidjs-community/solid-primitives/tree/main/packages/controlled-props#createcontrolledprop)|[](https://bundlephobia.com/package/@solid-primitives/controlled-props)|[](https://www.npmjs.com/package/@solid-primitives/controlled-props)|
|[cursor](https://github.com/solidjs-community/solid-primitives/tree/main/packages/cursor#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createElementCursor](https://github.com/solidjs-community/solid-primitives/tree/main/packages/cursor#createelementcursor)
[createBodyCursor](https://github.com/solidjs-community/solid-primitives/tree/main/packages/cursor#createbodycursor)|[](https://bundlephobia.com/package/@solid-primitives/cursor)|[](https://www.npmjs.com/package/@solid-primitives/cursor)|
|[date](https://github.com/solidjs-community/solid-primitives/tree/main/packages/date#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createDate](https://github.com/solidjs-community/solid-primitives/tree/main/packages/date#createdate)
[createDateNow](https://github.com/solidjs-community/solid-primitives/tree/main/packages/date#createdatenow)
[createTimeDifference](https://github.com/solidjs-community/solid-primitives/tree/main/packages/date#createtimedifference)
[createTimeDifferenceFromNow](https://github.com/solidjs-community/solid-primitives/tree/main/packages/date#createtimedifferencefromnow)
[createTimeAgo](https://github.com/solidjs-community/solid-primitives/tree/main/packages/date#createtimeago)
[createCountdown](https://github.com/solidjs-community/solid-primitives/tree/main/packages/date#createcountdown)
[createCountdownFromNow](https://github.com/solidjs-community/solid-primitives/tree/main/packages/date#createcountdownfromnow)|[](https://bundlephobia.com/package/@solid-primitives/date)|[](https://www.npmjs.com/package/@solid-primitives/date)|
|[event-bus](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-bus#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createEventBus](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-bus#createeventbus)
[createEmitter](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-bus#createemitter)
[createEventHub](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-bus#createeventhub)
[createEventStack](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-bus#createeventstack)|[](https://bundlephobia.com/package/@solid-primitives/event-bus)|[](https://www.npmjs.com/package/@solid-primitives/event-bus)|
|[event-dispatcher](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-dispatcher#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createEventDispatcher](https://github.com/solidjs-community/solid-primitives/tree/main/packages/event-dispatcher#createeventdispatcher)|[](https://bundlephobia.com/package/@solid-primitives/event-dispatcher)|[](https://www.npmjs.com/package/@solid-primitives/event-dispatcher)|
|[flux-store](https://github.com/solidjs-community/solid-primitives/tree/main/packages/flux-store#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createFluxStore](https://github.com/solidjs-community/solid-primitives/tree/main/packages/flux-store#createfluxstore)
[createFluxFactory](https://github.com/solidjs-community/solid-primitives/tree/main/packages/flux-store#createfluxfactory)
[createActions](https://github.com/solidjs-community/solid-primitives/tree/main/packages/flux-store#createactions)
[createAction](https://github.com/solidjs-community/solid-primitives/tree/main/packages/flux-store#createaction)|[](https://bundlephobia.com/package/@solid-primitives/flux-store)|[](https://www.npmjs.com/package/@solid-primitives/flux-store)|
|[history](https://github.com/solidjs-community/solid-primitives/tree/main/packages/history#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createUndoHistory](https://github.com/solidjs-community/solid-primitives/tree/main/packages/history#createundohistory)|[](https://bundlephobia.com/package/@solid-primitives/history)|[](https://www.npmjs.com/package/@solid-primitives/history)|
|[i18n](https://github.com/solidjs-community/solid-primitives/tree/main/packages/i18n#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[flatten](https://github.com/solidjs-community/solid-primitives/tree/main/packages/i18n#flatten)
[resolveTemplate](https://github.com/solidjs-community/solid-primitives/tree/main/packages/i18n#resolvetemplate)
[translator](https://github.com/solidjs-community/solid-primitives/tree/main/packages/i18n#translator)
[scopedTranslator](https://github.com/solidjs-community/solid-primitives/tree/main/packages/i18n#scopedtranslator)
[chainedTranslator](https://github.com/solidjs-community/solid-primitives/tree/main/packages/i18n#chainedtranslator)|[](https://bundlephobia.com/package/@solid-primitives/i18n)|[](https://www.npmjs.com/package/@solid-primitives/i18n)|
|[platform](https://github.com/solidjs-community/solid-primitives/tree/main/packages/platform#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[List of variables](https://github.com/solidjs-community/solid-primitives/tree/main/packages/platform#list-of-variables)|[](https://bundlephobia.com/package/@solid-primitives/platform)|[](https://www.npmjs.com/package/@solid-primitives/platform)|
|[promise](https://github.com/solidjs-community/solid-primitives/tree/main/packages/promise#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[promiseTimeout](https://github.com/solidjs-community/solid-primitives/tree/main/packages/promise#promisetimeout)
[raceTimeout](https://github.com/solidjs-community/solid-primitives/tree/main/packages/promise#racetimeout)
[until](https://github.com/solidjs-community/solid-primitives/tree/main/packages/promise#until)|[](https://bundlephobia.com/package/@solid-primitives/promise)|[](https://www.npmjs.com/package/@solid-primitives/promise)|
|[props](https://github.com/solidjs-community/solid-primitives/tree/main/packages/props#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[combineProps](https://github.com/solidjs-community/solid-primitives/tree/main/packages/props#combineprops)
[filterProps](https://github.com/solidjs-community/solid-primitives/tree/main/packages/props#filterprops)|[](https://bundlephobia.com/package/@solid-primitives/props)|[](https://www.npmjs.com/package/@solid-primitives/props)|
|[scheduled](https://github.com/solidjs-community/solid-primitives/tree/main/packages/scheduled#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[debounce](https://github.com/solidjs-community/solid-primitives/tree/main/packages/scheduled#debounce)
[throttle](https://github.com/solidjs-community/solid-primitives/tree/main/packages/scheduled#throttle)
[scheduleIdle](https://github.com/solidjs-community/solid-primitives/tree/main/packages/scheduled#scheduleidle)
[leading](https://github.com/solidjs-community/solid-primitives/tree/main/packages/scheduled#leading)
[createScheduled](https://github.com/solidjs-community/solid-primitives/tree/main/packages/scheduled#createscheduled)
[leadingAndTrailing](https://github.com/solidjs-community/solid-primitives/tree/main/packages/scheduled#leadingandtrailing)|[](https://bundlephobia.com/package/@solid-primitives/scheduled)|[](https://www.npmjs.com/package/@solid-primitives/scheduled)|
|[script-loader](https://github.com/solidjs-community/solid-primitives/tree/main/packages/script-loader#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createScriptLoader](https://github.com/solidjs-community/solid-primitives/tree/main/packages/script-loader#createscriptloader)|[](https://bundlephobia.com/package/@solid-primitives/script-loader)|[](https://www.npmjs.com/package/@solid-primitives/script-loader)|
|[share](https://github.com/solidjs-community/solid-primitives/tree/main/packages/share#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createSocialShare](https://github.com/solidjs-community/solid-primitives/tree/main/packages/share#createsocialshare)
[createWebShare](https://github.com/solidjs-community/solid-primitives/tree/main/packages/share#createwebshare)|[](https://bundlephobia.com/package/@solid-primitives/share)|[](https://www.npmjs.com/package/@solid-primitives/share)|
|*Reactivity*
|
|[db-store](https://github.com/solidjs-community/solid-primitives/tree/main/packages/db-store#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createDbStore](https://github.com/solidjs-community/solid-primitives/tree/main/packages/db-store#createdbstore)
[supabaseAdapter](https://github.com/solidjs-community/solid-primitives/tree/main/packages/db-store#supabaseadapter)|[](https://bundlephobia.com/package/@solid-primitives/db-store)|[](https://www.npmjs.com/package/@solid-primitives/db-store)|
|[deep](https://github.com/solidjs-community/solid-primitives/tree/main/packages/deep#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[trackDeep](https://github.com/solidjs-community/solid-primitives/tree/main/packages/deep#trackdeep)
[trackStore](https://github.com/solidjs-community/solid-primitives/tree/main/packages/deep#trackstore)
[captureStoreUpdates](https://github.com/solidjs-community/solid-primitives/tree/main/packages/deep#capturestoreupdates)|[](https://bundlephobia.com/package/@solid-primitives/deep)|[](https://www.npmjs.com/package/@solid-primitives/deep)|
|[destructure](https://github.com/solidjs-community/solid-primitives/tree/main/packages/destructure#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[destructure](https://github.com/solidjs-community/solid-primitives/tree/main/packages/destructure#destructure)|[](https://bundlephobia.com/package/@solid-primitives/destructure)|[](https://www.npmjs.com/package/@solid-primitives/destructure)|
|[immutable](https://github.com/solidjs-community/solid-primitives/tree/main/packages/immutable#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createImmutable](https://github.com/solidjs-community/solid-primitives/tree/main/packages/immutable#createimmutable)|[](https://bundlephobia.com/package/@solid-primitives/immutable)|[](https://www.npmjs.com/package/@solid-primitives/immutable)|
|[lifecycle](https://github.com/solidjs-community/solid-primitives/tree/main/packages/lifecycle#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createIsMounted](https://github.com/solidjs-community/solid-primitives/tree/main/packages/lifecycle#createismounted)
[isHydrated](https://github.com/solidjs-community/solid-primitives/tree/main/packages/lifecycle#ishydrated)
[onElementConnect](https://github.com/solidjs-community/solid-primitives/tree/main/packages/lifecycle#onelementconnect)|[](https://bundlephobia.com/package/@solid-primitives/lifecycle)|[](https://www.npmjs.com/package/@solid-primitives/lifecycle)|
|[map](https://github.com/solidjs-community/solid-primitives/tree/main/packages/map#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[ReactiveMap](https://github.com/solidjs-community/solid-primitives/tree/main/packages/map#reactivemap)
[ReactiveWeakMap](https://github.com/solidjs-community/solid-primitives/tree/main/packages/map#reactiveweakmap)|[](https://bundlephobia.com/package/@solid-primitives/map)|[](https://www.npmjs.com/package/@solid-primitives/map)|
|[memo](https://github.com/solidjs-community/solid-primitives/tree/main/packages/memo#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createLatest](https://github.com/solidjs-community/solid-primitives/tree/main/packages/memo#createlatest)
[createLatestMany](https://github.com/solidjs-community/solid-primitives/tree/main/packages/memo#createlatestmany)
[createWritableMemo](https://github.com/solidjs-community/solid-primitives/tree/main/packages/memo#createwritablememo)
[createLazyMemo](https://github.com/solidjs-community/solid-primitives/tree/main/packages/memo#createlazymemo)
[createPureReaction](https://github.com/solidjs-community/solid-primitives/tree/main/packages/memo#createpurereaction)
[createMemoCache](https://github.com/solidjs-community/solid-primitives/tree/main/packages/memo#creatememocache)
[createReducer](https://github.com/solidjs-community/solid-primitives/tree/main/packages/memo#createreducer)|[](https://bundlephobia.com/package/@solid-primitives/memo)|[](https://www.npmjs.com/package/@solid-primitives/memo)|
|[mutable](https://github.com/solidjs-community/solid-primitives/tree/main/packages/mutable#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createMutable](https://github.com/solidjs-community/solid-primitives/tree/main/packages/mutable#createmutable)
[modifyMutable](https://github.com/solidjs-community/solid-primitives/tree/main/packages/mutable#modifymutable)|[](https://bundlephobia.com/package/@solid-primitives/mutable)|[](https://www.npmjs.com/package/@solid-primitives/mutable)|
|[resource](https://github.com/solidjs-community/solid-primitives/tree/main/packages/resource#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createAggregated](https://github.com/solidjs-community/solid-primitives/tree/main/packages/resource#createaggregated)
[createDeepSignal](https://github.com/solidjs-community/solid-primitives/tree/main/packages/resource#createdeepsignal)
[makeAbortable](https://github.com/solidjs-community/solid-primitives/tree/main/packages/resource#makeabortable)
[createAbortable](https://github.com/solidjs-community/solid-primitives/tree/main/packages/resource#createabortable)
[makeCache](https://github.com/solidjs-community/solid-primitives/tree/main/packages/resource#makecache)
[makeRetrying](https://github.com/solidjs-community/solid-primitives/tree/main/packages/resource#makeretrying)|[](https://bundlephobia.com/package/@solid-primitives/resource)|[](https://www.npmjs.com/package/@solid-primitives/resource)|
|[rootless](https://github.com/solidjs-community/solid-primitives/tree/main/packages/rootless#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createSubRoot](https://github.com/solidjs-community/solid-primitives/tree/main/packages/rootless#createsubroot)
[createCallback](https://github.com/solidjs-community/solid-primitives/tree/main/packages/rootless#createcallback)
[createDisposable](https://github.com/solidjs-community/solid-primitives/tree/main/packages/rootless#createdisposable)
[createSharedRoot](https://github.com/solidjs-community/solid-primitives/tree/main/packages/rootless#createsharedroot)
[createRootPool](https://github.com/solidjs-community/solid-primitives/tree/main/packages/rootless#createrootpool)|[](https://bundlephobia.com/package/@solid-primitives/rootless)|[](https://www.npmjs.com/package/@solid-primitives/rootless)|
|[set](https://github.com/solidjs-community/solid-primitives/tree/main/packages/set#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[ReactiveSet](https://github.com/solidjs-community/solid-primitives/tree/main/packages/set#reactiveset)
[ReactiveWeakSet](https://github.com/solidjs-community/solid-primitives/tree/main/packages/set#reactiveweakset)|[](https://bundlephobia.com/package/@solid-primitives/set)|[](https://www.npmjs.com/package/@solid-primitives/set)|
|[signal-builders](https://github.com/solidjs-community/solid-primitives/tree/main/packages/signal-builders#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[List of builders](https://github.com/solidjs-community/solid-primitives/tree/main/packages/signal-builders#list-of-builders)|[](https://bundlephobia.com/package/@solid-primitives/signal-builders)|[](https://www.npmjs.com/package/@solid-primitives/signal-builders)|
|[state-machine](https://github.com/solidjs-community/solid-primitives/tree/main/packages/state-machine#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createMachine](https://github.com/solidjs-community/solid-primitives/tree/main/packages/state-machine#createmachine)|[](https://bundlephobia.com/package/@solid-primitives/state-machine)|[](https://www.npmjs.com/package/@solid-primitives/state-machine)|
|[static-store](https://github.com/solidjs-community/solid-primitives/tree/main/packages/static-store#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createStaticStore](https://github.com/solidjs-community/solid-primitives/tree/main/packages/static-store#createstaticstore)
[createDerivedStaticStore](https://github.com/solidjs-community/solid-primitives/tree/main/packages/static-store#createderivedstaticstore)|[](https://bundlephobia.com/package/@solid-primitives/static-store)|[](https://www.npmjs.com/package/@solid-primitives/static-store)|
|[trigger](https://github.com/solidjs-community/solid-primitives/tree/main/packages/trigger#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createTrigger](https://github.com/solidjs-community/solid-primitives/tree/main/packages/trigger#createtrigger)
[createTriggerCache](https://github.com/solidjs-community/solid-primitives/tree/main/packages/trigger#createtriggercache)|[](https://bundlephobia.com/package/@solid-primitives/trigger)|[](https://www.npmjs.com/package/@solid-primitives/trigger)|
|*UI Patterns*
|
|[marker](https://github.com/solidjs-community/solid-primitives/tree/main/packages/marker#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createMarker](https://github.com/solidjs-community/solid-primitives/tree/main/packages/marker#createmarker)|[](https://bundlephobia.com/package/@solid-primitives/marker)|[](https://www.npmjs.com/package/@solid-primitives/marker)|
|[masonry](https://github.com/solidjs-community/solid-primitives/tree/main/packages/masonry#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createMasonry](https://github.com/solidjs-community/solid-primitives/tree/main/packages/masonry#createmasonry)|[](https://bundlephobia.com/package/@solid-primitives/masonry)|[](https://www.npmjs.com/package/@solid-primitives/masonry)|
|[pagination](https://github.com/solidjs-community/solid-primitives/tree/main/packages/pagination#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createPagination](https://github.com/solidjs-community/solid-primitives/tree/main/packages/pagination#createpagination)
[createInfiniteScroll](https://github.com/solidjs-community/solid-primitives/tree/main/packages/pagination#createinfinitescroll)|[](https://bundlephobia.com/package/@solid-primitives/pagination)|[](https://www.npmjs.com/package/@solid-primitives/pagination)|
|[virtual](https://github.com/solidjs-community/solid-primitives/tree/main/packages/virtual#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createVirutalList](https://github.com/solidjs-community/solid-primitives/tree/main/packages/virtual#createvirutallist)
[VirtualList](https://github.com/solidjs-community/solid-primitives/tree/main/packages/virtual#virtuallist)|[](https://bundlephobia.com/package/@solid-primitives/virtual)|[](https://www.npmjs.com/package/@solid-primitives/virtual)|
|*Animation*
|
|[presence](https://github.com/solidjs-community/solid-primitives/tree/main/packages/presence#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createPresence](https://github.com/solidjs-community/solid-primitives/tree/main/packages/presence#createpresence)|[](https://bundlephobia.com/package/@solid-primitives/presence)|[](https://www.npmjs.com/package/@solid-primitives/presence)|
|[raf](https://github.com/solidjs-community/solid-primitives/tree/main/packages/raf#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createRAF](https://github.com/solidjs-community/solid-primitives/tree/main/packages/raf#createraf)
[createMs](https://github.com/solidjs-community/solid-primitives/tree/main/packages/raf#createms)
[targetFPS](https://github.com/solidjs-community/solid-primitives/tree/main/packages/raf#targetfps)|[](https://bundlephobia.com/package/@solid-primitives/raf)|[](https://www.npmjs.com/package/@solid-primitives/raf)|
|[spring](https://github.com/solidjs-community/solid-primitives/tree/main/packages/spring#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createSpring](https://github.com/solidjs-community/solid-primitives/tree/main/packages/spring#createspring)
[createDerivedSpring](https://github.com/solidjs-community/solid-primitives/tree/main/packages/spring#createderivedspring)|[](https://bundlephobia.com/package/@solid-primitives/spring)|[](https://www.npmjs.com/package/@solid-primitives/spring)|
|[transition-group](https://github.com/solidjs-community/solid-primitives/tree/main/packages/transition-group#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createSwitchTransition](https://github.com/solidjs-community/solid-primitives/tree/main/packages/transition-group#createswitchtransition)
[createListTransition](https://github.com/solidjs-community/solid-primitives/tree/main/packages/transition-group#createlisttransition)|[](https://bundlephobia.com/package/@solid-primitives/transition-group)|[](https://www.npmjs.com/package/@solid-primitives/transition-group)|
|[tween](https://github.com/solidjs-community/solid-primitives/tree/main/packages/tween#readme)|[](https://github.com/solidjs-community/solid-primitives/blob/main/CONTRIBUTING.md#contribution-process)|[createTween](https://github.com/solidjs-community/solid-primitives/tree/main/packages/tween#createtween)|[](https://bundlephobia.com/package/@solid-primitives/tween)|[](https://www.npmjs.com/package/@solid-primitives/tween)|