Skip to content

solidjs-community/solid-primitives

Repository files navigation

Solid Primitives

Solid Primitives

pnpmcombined-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

NameStagePrimitivesSizeNPM

Inputs

active-elementSTAGEcreateActiveElement
createFocusSignal
SIZEVERSION
autofocusSTAGEautofocus
createAutofocus
SIZEVERSION
input-maskSTAGEcreateInputMask
createMaskPattern
SIZEVERSION
keyboardSTAGEuseKeyDownList
useCurrentlyHeldKey
useKeyDownSequence
createKeyHold
createShortcut
SIZEVERSION
mouseSTAGEcreateMousePosition
createPositionToElement
SIZEVERSION
pointerSTAGEcreatePointerListeners
createPerPointerListeners
createPointerPosition
createPointerList
SIZEVERSION
scrollSTAGEcreateScrollPosition
useWindowScrollPosition
SIZEVERSION
selectionSTAGEcreateSelectionSIZEVERSION

Display & Media

audioSTAGEmakeAudio
makeAudioPlayer
createAudio
SIZEVERSION
boundsSTAGEcreateElementBoundsSIZEVERSION
devicesSTAGEcreateDevices
createMicrophones
createSpeakers
createCameras
createAccelerometer
createGyroscope
SIZEVERSION
filesystemSTAGEcreateFileSystem
createSyncFileSystem
createAsyncFileSystem
makeNoFileSystem
makeNoAsyncFileSystem
makeVirtualFileSystem
makeWebAccessFileSystem
makeNodeFileSystem
makeTauriFileSystem
makeChokidarWatcher
rsync
SIZEVERSION
idleSTAGEcreateIdleTimerSIZEVERSION
intersection-observerSTAGEcreateIntersectionObserver
createViewportObserver
createVisibilityObserver
SIZEVERSION
mediaSTAGEmakeMediaQueryListener
createMediaQuery
createBreakpoints
usePrefersDark
SIZEVERSION
page-visibilitySTAGEcreatePageVisibilitySIZEVERSION
resize-observerSTAGEcreateResizeObserver
createWindowSize
createElementSize
SIZEVERSION
stylesSTAGEcreateRemSizeSIZEVERSION

Browser APIs

broadcast-channelSTAGEmakeBroadcastChannel
createBroadcastChannel
SIZEVERSION
clipboardSTAGEcopyClipboard
writeClipboard
createClipboard
SIZEVERSION
event-listenerSTAGEcreateEventListener
createEventSignal
createEventListenerMap
WindowEventListener
DocumentEventListener
SIZEVERSION
event-propsSTAGEcreateEventPropsSIZEVERSION
fullscreenSTAGEcreateFullscreenSIZEVERSION
geolocationSTAGEcreateGeolocation
createGeolocationWatcher
SIZEVERSION
mutation-observerSTAGEcreateMutationObserverSIZEVERSION
permissionSTAGEcreatePermissionSIZEVERSION
storageSTAGEmakePersisted
cookieStorage
tauriStorage
multiplexStorage
storageSync
messageSync
wsSync
multiplexSync
addClearMethod
addWithOptionsMethod
makeObjectStorage
SIZEVERSION
timerSTAGEmakeTimer
createTimer
createTimeoutLoop
createPolled
createIntervalCounter
SIZEVERSION
uploadSTAGEcreateFileUploader
createDropzone
SIZEVERSION
workersSTAGEcreateWorker
createWorkerPool
createSignaledWorker
SIZEVERSION

Network

connectivitySTAGEcreateConnectivitySignalSIZEVERSION
cookiesSTAGEcreateServerCookie
createUserTheme
getCookiesString
SIZEVERSION
fetchSTAGEcreateFetchSIZEVERSION
graphqlSTAGEcreateGraphQLClientSIZEVERSION
streamSTAGEcreateStream
createAmplitudeStream
createMediaPermissionRequest
createAmplitudeFromStream
createScreen
SIZEVERSION
websocketSTAGEmakeWS
createWS
createWSState
makeReconnectingWS
createReconnectingWS
makeHeartbeatWS
SIZEVERSION

Control Flow

contextSTAGEcreateContextProvider
MultiProvider
SIZEVERSION
jsx-tokenizerSTAGEcreateTokenizer
createToken
resolveTokens
isToken
SIZEVERSION
keyedSTAGEkeyArray
Key
Entries
MapEntries
SetValues
SIZEVERSION
listSTAGElistArray
List
SIZEVERSION
matchSTAGEMatchTag
MatchValue
SIZEVERSION
rangeSTAGErepeat
mapRange
indexRange
Repeat
Range
IndexRange
SIZEVERSION
refsSTAGEmergeRefs
resolveElements
resolveFirst
Ref
Refs
SIZEVERSION

Utilities

controlled-propsSTAGEcreateControlledPropSIZEVERSION
cursorSTAGEcreateElementCursor
createBodyCursor
SIZEVERSION
dateSTAGEcreateDate
createDateNow
createTimeDifference
createTimeDifferenceFromNow
createTimeAgo
createCountdown
createCountdownFromNow
SIZEVERSION
event-busSTAGEcreateEventBus
createEmitter
createEventHub
createEventStack
SIZEVERSION
event-dispatcherSTAGEcreateEventDispatcherSIZEVERSION
flux-storeSTAGEcreateFluxStore
createFluxFactory
createActions
createAction
SIZEVERSION
historySTAGEcreateUndoHistorySIZEVERSION
i18nSTAGEflatten
resolveTemplate
translator
scopedTranslator
chainedTranslator
SIZEVERSION
platformSTAGEList of variablesSIZEVERSION
promiseSTAGEpromiseTimeout
raceTimeout
until
SIZEVERSION
propsSTAGEcombineProps
filterProps
SIZEVERSION
scheduledSTAGEdebounce
throttle
scheduleIdle
leading
createScheduled
leadingAndTrailing
SIZEVERSION
script-loaderSTAGEcreateScriptLoaderSIZEVERSION
shareSTAGEcreateSocialShare
createWebShare
SIZEVERSION

Reactivity

db-storeSTAGEcreateDbStore
supabaseAdapter
SIZEVERSION
deepSTAGEtrackDeep
trackStore
captureStoreUpdates
SIZEVERSION
destructureSTAGEdestructureSIZEVERSION
immutableSTAGEcreateImmutableSIZEVERSION
lifecycleSTAGEcreateIsMounted
isHydrated
onElementConnect
SIZEVERSION
mapSTAGEReactiveMap
ReactiveWeakMap
SIZEVERSION
memoSTAGEcreateLatest
createLatestMany
createWritableMemo
createLazyMemo
createPureReaction
createMemoCache
createReducer
SIZEVERSION
mutableSTAGEcreateMutable
modifyMutable
SIZEVERSION
resourceSTAGEcreateAggregated
createDeepSignal
makeAbortable
createAbortable
makeCache
makeRetrying
SIZEVERSION
rootlessSTAGEcreateSubRoot
createCallback
createDisposable
createSharedRoot
createRootPool
SIZEVERSION
setSTAGEReactiveSet
ReactiveWeakSet
SIZEVERSION
signal-buildersSTAGEList of buildersSIZEVERSION
state-machineSTAGEcreateMachineSIZEVERSION
static-storeSTAGEcreateStaticStore
createDerivedStaticStore
SIZEVERSION
triggerSTAGEcreateTrigger
createTriggerCache
SIZEVERSION

UI Patterns

markerSTAGEcreateMarkerSIZEVERSION
masonrySTAGEcreateMasonrySIZEVERSION
paginationSTAGEcreatePagination
createSegment
createInfiniteScroll
SIZEVERSION
virtualSTAGEcreateVirutalList
VirtualList
SIZEVERSION

Animation

presenceSTAGEcreatePresenceSIZEVERSION
rafSTAGEcreateRAF
createMs
targetFPS
SIZEVERSION
springSTAGEcreateSpring
createDerivedSpring
SIZEVERSION
transition-groupSTAGEcreateSwitchTransition
createListTransition
SIZEVERSION
tweenSTAGEcreateTweenSIZEVERSION

About

A library of high-quality primitives that extend SolidJS reactivity.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 96

Languages