Skip to content

Releases: solidjs-community/solid-primitives

@solid-primitives/storage@5.0.0-next.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Jul 01:42
dbec212

Patch Changes

  • 673347c: Fixed a build failure in messageSync and wsSync: their url parameter's default value (globalThis.location?.href) lacked an explicit type annotation, which --isolatedDeclarations (used by the package's .d.ts generation) requires on any parameter whose type can't be trivially inferred. No behavior or API changes — url is still string | undefined.

@solid-primitives/scroll@3.0.0-next.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Jul 01:42
dbec212

Patch Changes

  • 855bc1b: createPreventScroll now locks scroll on document.documentElement instead of <body>. Locking <body> could break position: sticky elements, 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 against documentElement now as well.

@solid-primitives/pagination@1.0.0-next.5

Choose a tag to compare

@github-actions github-actions released this 22 Jul 01:55
a0d7d1c

Patch Changes

  • 3762864: Removed a leftover declare module "solid-js" global JSX augmentation (and its associated unused _E type alias) from createInfiniteScroll. It was left over from an earlier use: 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 blocking deno publish for this package. No API or behavior changes.

@solid-primitives/utils@7.0.0-next.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Jul 12:52
6cad3b0

Minor Changes

  • b7ef2f3: Add globalRegistry(key, init) — returns a singleton value keyed by key on globalThis (via Symbol.for), shared across every copy of the calling module loaded in the same JS realm. Use it instead of a plain module-scope let/const for 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Jul 12:52
6cad3b0

Patch Changes

  • Updated dependencies [b7ef2f3]
    • @solid-primitives/utils@7.0.0-next.3

@solid-primitives/scroll@3.0.0-next.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Jul 12:51
6cad3b0

Patch Changes

  • b7ef2f3: createPreventScroll's active-instance stack and body-style ref-counts now live in a globalRegistry (keyed on globalThis, 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-rolled contains() 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

Choose a tag to compare

@github-actions github-actions released this 20 Jul 12:52
6cad3b0

Patch Changes

  • b7ef2f3: createNotificationPermission's requestPermission now calls affects(permission), so isPending(permission) reads true for the duration of the request — the standard Solid 2.0 idiom for callers who don't want the existing bespoke pending accessor, 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

Choose a tag to compare

@github-actions github-actions released this 20 Jul 12:51
6cad3b0

Patch Changes

  • b7ef2f3: Fix isVisible()/createVisibilityObserver()'s visible() throwing a locally-defined NotReadyError lookalike class instead of the real one exported from solid-js. Because the local class wasn't instanceof the real NotReadyError, <Loading> boundaries never actually caught it — despite the documented <Loading> integration, calling isVisible/visible before the first observation would crash rendering instead of showing the Loading fallback. NotReadyError is now imported and re-exported from solid-js directly, so <Loading> (and any instanceof check) works as documented.
  • Updated dependencies [b7ef2f3]
    • @solid-primitives/utils@7.0.0-next.3

@solid-primitives/interaction@1.0.0-next.3

Choose a tag to compare

@github-actions github-actions released this 20 Jul 12:52
6cad3b0

Minor Changes

  • b7ef2f3: createHideOutside/ariaHideOutside gain an opt-in inert option — in addition to aria-hidden, also sets the inert attribute on hidden elements, ref-counted alongside aria-hidden. aria-hidden alone only affects the accessibility tree; inert additionally removes hidden content from focus order, tab order, and pointer/text-selection interaction. Defaults to false (no behavior change for existing callers).

    Also hardened the module-scope ref-counting/observer-stack state (used internally by both the existing aria-hidden tracking and the new inert tracking) against duplicate installed copies of this package, via the same globalRegistry pattern 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Jul 12:51
6cad3b0

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, use createFocusTrap's existing restoreFocus option instead.

    Also fixed a stale-closure race shared between createFocusTrap and the new createFocusRestore: the restore target used to be read from a mutable outer variable inside a deferred afterPaint callback, 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