Releases: solidjs-community/solid-primitives
Release list
@solid-primitives/storage@5.0.0-next.3
Patch Changes
- 673347c: Fixed a build failure in
messageSyncandwsSync: theirurlparameter's default value (globalThis.location?.href) lacked an explicit type annotation, which--isolatedDeclarations(used by the package's.d.tsgeneration) requires on any parameter whose type can't be trivially inferred. No behavior or API changes —urlis stillstring | undefined.
@solid-primitives/scroll@3.0.0-next.3
Patch Changes
- 855bc1b:
createPreventScrollnow locks scroll ondocument.documentElementinstead of<body>. Locking<body>could breakposition: stickyelements, since sticky positioning is computed relative to the nearest scrolling ancestor — when that ancestor was<body>instead of the viewport, sticky children would unstick while scroll was prevented. Scrollbar-width, padding/margin compensation, and scroll-position restoration are all computed againstdocumentElementnow as well.
@solid-primitives/pagination@1.0.0-next.5
Patch Changes
- 3762864: Removed a leftover
declare module "solid-js"global JSX augmentation (and its associated unused_Etype alias) fromcreateInfiniteScroll. It was left over from an earlieruse:directive-based implementation that was replaced by the current plain ref-callback API (loader: (el: Element) => void) — nothing in the package referenced it anymore. JSR's publish step rejects packages that modify global types, which was blockingdeno publishfor this package. No API or behavior changes.
@solid-primitives/utils@7.0.0-next.3
Minor Changes
- b7ef2f3: Add
globalRegistry(key, init)— returns a singleton value keyed bykeyonglobalThis(viaSymbol.for), shared across every copy of the calling module loaded in the same JS realm. Use it instead of a plain module-scopelet/constfor state (ref-counts, active-instance stacks) that must stay consistent even if the app's dependency graph ends up with more than one installed copy of a package.
@solid-primitives/spring@1.0.0-next.2
@solid-primitives/scroll@3.0.0-next.2
Patch Changes
- b7ef2f3:
createPreventScroll's active-instance stack and body-style ref-counts now live in aglobalRegistry(keyed onglobalThis, not module-scope bindings), so they stay correct even if the app's dependency graph ends up with more than one copy of this package installed — module-scope state would otherwise be split across copies, breaking the "topmost instance" ref-counting. Also replaced a hand-rolledcontains()helper with the equivalent one already exported from@solid-primitives/utils. No API changes. - Updated dependencies [b7ef2f3]
- @solid-primitives/utils@7.0.0-next.3
@solid-primitives/notification@1.0.0-next.2
Patch Changes
- b7ef2f3:
createNotificationPermission'srequestPermissionnow callsaffects(permission), soisPending(permission)readstruefor the duration of the request — the standard Solid 2.0 idiom for callers who don't want the existing bespokependingaccessor, which is unchanged and kept for backward compatibility. - Updated dependencies [b7ef2f3]
- @solid-primitives/utils@7.0.0-next.3
@solid-primitives/intersection-observer@3.0.0-next.2
Patch Changes
- b7ef2f3: Fix
isVisible()/createVisibilityObserver()'svisible()throwing a locally-definedNotReadyErrorlookalike class instead of the real one exported fromsolid-js. Because the local class wasn'tinstanceofthe realNotReadyError,<Loading>boundaries never actually caught it — despite the documented<Loading>integration, callingisVisible/visiblebefore the first observation would crash rendering instead of showing the Loading fallback.NotReadyErroris now imported and re-exported fromsolid-jsdirectly, so<Loading>(and anyinstanceofcheck) works as documented. - Updated dependencies [b7ef2f3]
- @solid-primitives/utils@7.0.0-next.3
@solid-primitives/interaction@1.0.0-next.3
Minor Changes
-
b7ef2f3:
createHideOutside/ariaHideOutsidegain an opt-ininertoption — in addition toaria-hidden, also sets theinertattribute on hidden elements, ref-counted alongsidearia-hidden.aria-hiddenalone only affects the accessibility tree;inertadditionally removes hidden content from focus order, tab order, and pointer/text-selection interaction. Defaults tofalse(no behavior change for existing callers).Also hardened the module-scope ref-counting/observer-stack state (used internally by both the existing
aria-hiddentracking and the newinerttracking) against duplicate installed copies of this package, via the sameglobalRegistrypattern used in@solid-primitives/scroll.
Patch Changes
- Updated dependencies [b7ef2f3]
- @solid-primitives/utils@7.0.0-next.3
@solid-primitives/focus@1.0.0-next.2
Minor Changes
-
b7ef2f3: Add
createFocusRestore— saves the currently focused element while active and restores focus to it once deactivated, without trapping focus or managing tab order. For non-modal surfaces (Popover, Tooltip, Menu) that should return focus to their trigger on close but must not intercept Tab navigation while open; for modal dialogs needing both behaviors, usecreateFocusTrap's existingrestoreFocusoption instead.Also fixed a stale-closure race shared between
createFocusTrapand the newcreateFocusRestore: the restore target used to be read from a mutable outer variable inside a deferredafterPaintcallback, so a fast reactivate-before-restore-fires cycle could restore focus to the wrong element. Both primitives now share one internal helper that captures the target synchronously at deactivation time.
Patch Changes
- Updated dependencies [b7ef2f3]
- @solid-primitives/utils@7.0.0-next.3