Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 103 additions & 2 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,108 @@
"@solid-primitives/utils": "6.4.0",
"@solid-primitives/virtual": "0.2.3",
"@solid-primitives/websocket": "1.3.2",
"@solid-primitives/workers": "0.4.3"
"@solid-primitives/workers": "0.4.3",
"@solid-primitives/a11y": "0.0.100",
"@solid-primitives/controlled-signal": "0.0.100",
"@solid-primitives/form": "0.0.100",
"@solid-primitives/interaction": "0.1.0",
"@solid-primitives/list-state": "0.1.0",
"@solid-primitives/mediastream": "0.1.0",
"@solid-primitives/notification": "0.0.100",
"@solid-primitives/orientation": "0.0.100",
"@solid-primitives/queue": "0.1.0",
"@solid-primitives/sensors": "0.1.0",
"@solid-primitives/vibrate": "0.0.100",
"@solid-primitives/video": "0.0.100"
},
"changesets": []
"changesets": [
"a11y-solid2-initial",
"active-element-solid2-migration",
"audio-solid2-migration",
"bounds-solid2-migration",
"broadcast-channel-solid2-migration",
"clipboard-solid-2",
"connectivity-solid2-migration",
"context-solid2-migration",
"controlled-props-solid2-migration",
"controlled-signal-solid2-initial",
"cookies-solid2-migration",
"cursor-solid2-migration",
"date-solid2-migration",
"deep-solid2-migration",
"destructure-solid2-migration",
"devices-solid2-migration",
"eleven-baths-build",
"eleven-buttons-jump",
"event-bus-solid2-migration",
"event-dispatcher-solid2-migration",
"event-props-solid2-migration",
"filesystem-solid2-migration",
"flux-store-solid2-migration",
"focus-solid2-migration",
"form-solid2-initial",
"fullscreen-solid-2-migration",
"geolocation-solid2-async-reactivity",
"gestures-solid2-migration",
"graphql-solid2-migration",
"history-solid2-migration",
"i18n-solid2-migration",
"idle-solid2-migration",
"immutable-solid2-migration",
"input-mask-solid2-migration",
"interaction-solid2-migration",
"jsx-tokenizer-solid2-migration",
"keyboard-solid2-migration",
"keyed-solid2-migration",
"lifecycle-solid2-migration",
"list-solid2-migration",
"list-state-solid2-migration",
"map-solid2-migration",
"marker-solid2-migration",
"masonry-solid2-migration",
"match-solid2-migration",
"media-solid2-migration",
"mediastream-solid2-migration",
"memo-solid2-migration",
"mouse-solid2-migration",
"mutable-solid2-migration",
"mutation-observer-solid2-migration",
"notification-initial",
"orientation-initial",
"page-utilities-solid2-migration",
"pagination-solid2-migration",
"platform-solid2-migration",
"pointer-solid2-migration",
"presence-solid2-migration",
"promise-solid2-migration",
"props-solid2-migration",
"queue-initial",
"raf-solid2-migration",
"range-solid2-migration",
"redesign-intersection-observer-primitives",
"refs-solid2-migration",
"resize-observer-solid2-migration",
"restore-make-intersection-observer",
"scheduled-solid2-migration",
"script-loader-solid2-migration",
"scroll-solid2-migration",
"selection-solid2-migration",
"sensors-new-package",
"set-solid2-migration",
"share-solid2-migration",
"signal-builders-solid2-migration",
"spring-solid2-migration",
"sse-solid2-async-reactivity",
"state-machine-solid2-migration",
"styles-solid2-migration",
"sweet-olives-talk",
"transition-group-solid2-migration",
"trigger-solid2-migration",
"tween-solid2-migration",
"upload-solid-2-migration",
"vibrate-initial",
"video-initial",
"virtual-solid2-migration",
"websocket-solid-2-async"
]
}
13 changes: 13 additions & 0 deletions packages/a11y/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# @solid-primitives/a11y

## 1.0.0-next.0

### Major Changes

- 9b2475d: Initial release targeting Solid.js v2.0 (beta.14)

### Patch Changes

- Updated dependencies [89c5324]
- Updated dependencies [4a5bf32]
- @solid-primitives/utils@7.0.0-next.0
2 changes: 1 addition & 1 deletion packages/a11y/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/a11y",
"version": "0.0.100",
"version": "1.0.0-next.0",
"description": "Accessibility primitives for Solid.js — labeled field groups, ARIA graph helpers, and more.",
"author": "David Di Biase <dave.dibiase@gmail.com>",
"contributors": [],
Expand Down
26 changes: 26 additions & 0 deletions packages/active-element/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
# @solid-primitives/active-element

## 3.0.0-next.0

### Major Changes

- 1e9a524: Migrate to Solid.js v2.0 (beta.14)

## Breaking Changes

**Peer dependencies**: `solid-js@^2.0.0-beta.14` and `@solidjs/web@^2.0.0-beta.14` are now required.

- `makeFocusListener` and `createFocusSignal` have moved to `@solid-primitives/focus`. Import them from there instead:
```ts
// Before
import { makeFocusListener, createFocusSignal } from "@solid-primitives/active-element";
// After
import { makeFocusListener, createFocusSignal } from "@solid-primitives/focus";
```
- `isServer` is now sourced from `@solidjs/web` internally (no user-facing API change)

### Patch Changes

- Updated dependencies [89c5324]
- Updated dependencies [4a5bf32]
- @solid-primitives/utils@7.0.0-next.0
- @solid-primitives/event-listener@3.0.0-next.0

## 2.1.5

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/active-element/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/active-element",
"version": "2.1.5",
"version": "3.0.0-next.0",
"description": "A reactive document.activeElement. Check which element is currently focused.",
"author": "Damian Tarnawski @thetarnav <gthetarnav@gmail.com>",
"contributors": [
Expand Down
35 changes: 35 additions & 0 deletions packages/audio/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,40 @@
# @solid-primitives/audio

## 3.0.0-next.0

### Major Changes

- d50d75a: Migrate to Solid.js v2.0 (beta.14)

## Breaking Changes

**Peer dependencies**: `solid-js@^2.0.0-beta.14` and `@solidjs/web@^2.0.0-beta.14` are now required.

### `@solid-primitives/audio`

- `isServer` now imported from `@solidjs/web`
- Signals use `ownedWrite: true` option for derived writable signals
- `createEffect` uses the split compute/apply form for reactive source changes
- `duration` accessor throws `NotReadyError` until audio metadata loads, integrating with `<Loading>`. Previously returned `NaN` before load; resets to pending whenever the source changes.

```tsx
// Before (Solid 1.x): duration() returned NaN before metadata loaded
// After (Solid 2.0): wrap in <Loading> to handle the pending state
<Loading fallback="Loading...">
<span>{audio.duration()}s</span>
</Loading>
```

- SSR: `duration()` throws `NotReadyError` on the server (was previously `NaN`).
- Added `test/server.test.ts` to verify safe SSR behavior

### Patch Changes

- Updated dependencies [89c5324]
- Updated dependencies [4a5bf32]
- @solid-primitives/utils@7.0.0-next.0
- @solid-primitives/static-store@1.0.0-next.0

## 2.0.0

### Major Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/audio/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/audio",
"version": "2.0.0",
"version": "3.0.0-next.0",
"description": "Primitives to manage audio and single sounds.",
"author": "David Di Biase <dave@solidjs.com>",
"license": "MIT",
Expand Down
25 changes: 25 additions & 0 deletions packages/bounds/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
# @solid-primitives/bounds

## 1.0.0-next.0

### Major Changes

- fa549e1: Migrate to Solid.js v2.0 (beta.14)

## Breaking Changes

**Peer dependencies**: `solid-js@^2.0.0-beta.14` and `@solidjs/web@^2.0.0-beta.14` are now required.

### `@solid-primitives/bounds`

- `isServer` now imported from `@solidjs/web` (not `solid-js/web`)
- `onMount` replaced by `onSettled` for post-render initialization
- `sharedConfig.context` replaced by `sharedConfig.hydrating` for hydration detection
- Inline `ResizeObserver` usage with split `createEffect` (compute/apply) replaces the `@solid-primitives/resize-observer` dependency — the `@solid-primitives/resize-observer` package is no longer a dependency
- `@solid-primitives/static-store` dependency removed — bounds reactive object now built with `createMemo` directly for full Solid 2.0 type compatibility

### Patch Changes

- Updated dependencies [89c5324]
- Updated dependencies [4a5bf32]
- @solid-primitives/utils@7.0.0-next.0
- @solid-primitives/event-listener@3.0.0-next.0

## 0.1.5

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/bounds/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/bounds",
"version": "0.1.5",
"version": "1.0.0-next.0",
"description": "Primitives for tracking HTML element size and position on screen as it changes.",
"author": "Damian Tarnawski <gthetarnav@gmail.com>",
"contributors": [],
Expand Down
13 changes: 13 additions & 0 deletions packages/broadcast-channel/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# @solid-primitives/broadcast-channel

## 1.0.0-next.0

### Major Changes

- df9779c: Migrate to Solid.js v2.0 (beta.14)

## Breaking Changes

**Peer dependencies**: `solid-js@^2.0.0-beta.14` and `@solidjs/web@^2.0.0-beta.14` are now required.

- `isServer` is now imported from `@solidjs/web` (was `solid-js/web`)
- `createEffect` usage follows the split compute/apply pattern required by Solid 2.0 — single-argument `createEffect` is no longer supported

## 0.1.1

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/broadcast-channel/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/broadcast-channel",
"version": "0.2.0",
"version": "1.0.0-next.0",
"description": "Primitives to manage Broadcast Channel API",
"author": "Caleb Taylor <aquaductape@gmail.com>",
"contributors": [],
Expand Down
20 changes: 20 additions & 0 deletions packages/clipboard/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# @solid-primitives/clipboard

## 2.0.0-next.15

### Major Changes

- c05d43f: Upgrade to Solid 2.0 (`solid-js@^2.0.0-beta.14`).

**`createClipboard`** — replaced `createResource` with a Solid 2.0 async `createMemo`. The accessor starts as `[]` synchronously (no initial suspension) and resolves asynchronously after `refetch()`. Use `isPending(() => clipboard())` for a loading indicator instead of `<Suspense>`.

**`copyToClipboard`** — converted from a `use:` directive to a `ref` directive factory. Replace `use:copyToClipboard={opts}` with `ref={copyToClipboard(opts)}`.

**`isServer`** — moved from `solid-js/web` to `@solidjs/web` in Solid 2.0; the package now imports from `@solidjs/web`.

**`createEffect` + `on`** — `on` helper removed; replaced with the Solid 2.0 split `createEffect(compute, effect)` form with explicit defer-by-default behavior.

### Patch Changes

- Updated dependencies [89c5324]
- Updated dependencies [4a5bf32]
- @solid-primitives/utils@7.0.0-next.0

## 2.0.0-beta.0

### Major Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/clipboard/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/clipboard",
"version": "2.0.0-beta.14",
"version": "2.0.0-next.15",
"description": "Primitives for reading and writing to clipboard.",
"author": "David Di Biase <dave@solidjs.com>",
"contributors": [
Expand Down
28 changes: 28 additions & 0 deletions packages/connectivity/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# @solid-primitives/connectivity

## 1.0.0-next.0

### Major Changes

- 6f25a4a: Migrate to Solid.js v2.0 (beta.14) and add Network Information API primitives.

## New

- `makeNetworkInformation(callback)` — low-level listener combining `window` online/offline events with `navigator.connection` change events; fires a `NetworkState` snapshot on any change
- `createNetworkInformation()` → `{ online, downlink, downlinkMax, effectiveType, rtt, saveData, type }` — independent reactive signals for the full network state; useful for adaptive loading strategies
- `useNetworkInformation()` — singleton root variant of `createNetworkInformation`
- Exported types: `NetworkState`, `NetworkInformationReturn`, `EffectiveConnectionType`, `ConnectionType`

## Breaking Changes

**Peer dependencies**: `solid-js@^2.0.0-beta.14` and `@solidjs/web@^2.0.0-beta.14` are now required.

- `isServer` is now sourced from `@solidjs/web` internally (no user-facing API change)
- The internal connectivity signal uses `ownedWrite: true` to support event listeners that may fire synchronously within reactive scopes

### Patch Changes

- Updated dependencies [89c5324]
- Updated dependencies [4a5bf32]
- @solid-primitives/utils@7.0.0-next.0
- @solid-primitives/event-listener@3.0.0-next.0
- @solid-primitives/rootless@2.0.0-next.0

## 0.4.5

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/connectivity/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/connectivity",
"version": "0.4.5",
"version": "1.0.0-next.0",
"description": "A navigator.onLine signal.",
"author": "Klemen Slavič <krof.drakula@gmail.com>",
"contributors": [
Expand Down
20 changes: 20 additions & 0 deletions packages/context/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# @solid-primitives/context

## 2.0.0-next.0

### Major Changes

- bca95a8: Migrate to Solid.js v2.0 (beta.14)

## Breaking Changes

**Peer dependencies**: `solid-js@^2.0.0-beta.14` and `@solidjs/web@^2.0.0-beta.14` are now required.

- `Context` is now used directly as the provider component — `Context.Provider` no longer exists in Solid 2.0. `createContextProvider` and `MultiProvider` both reflect this change.
- `ContextProviderComponent` is now a proper export from `solid-js`; the previous workaround importing from an internal `node_modules` path has been removed.
- `JSX.Element` replaced with `Element` from `solid-js` throughout the public API types, matching Solid 2.0's renderer-neutral type model.
- `MultiProvider` no longer falls back to accessing `.Provider` on non-function items — contexts passed in `values` must be functions (which all `Context` objects now are in Solid 2.0).

## New APIs

- `createContextProvider` now returns `Exclude<T, undefined>` from its `useContext` helper, matching Solid 2's throwing behavior for missing context values.
- Added `createOptionalContextProvider` — uses an internal Symbol fallback and returns `undefined` when the context is missing or its value is `undefined`. Accepts an optional default value for missing providers.

## 1.0.0

### Major Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/context/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@solid-primitives/context",
"version": "1.0.0",
"version": "2.0.0-next.0",
"description": "Primitives simplifying or extending the SolidJS Context API",
"author": "Damian Tarnawski @thetarnav <gthetarnav@gmail.com>",
"license": "MIT",
Expand Down
Loading