Skip to content
Merged
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
5 changes: 0 additions & 5 deletions .changeset/alpine-adapter.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/cancel-queued-by-id.md

This file was deleted.

20 changes: 0 additions & 20 deletions .changeset/layer-handles.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/lit-adapter.md

This file was deleted.

190 changes: 67 additions & 123 deletions bun.lock

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions packages/alpine/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# @stainless-code/alpine-layers

## 0.2.0

### Minor Changes

- [#9](https://github.com/stainless-code/layers/pull/9) [`6c890d5`](https://github.com/stainless-code/layers/commit/6c890d5688c984af64e92c3f5ec1293248e1ca15) Thanks [@SutuSebastian](https://github.com/SutuSebastian)! - Add `@stainless-code/alpine-layers` — Alpine plugin (`$layers`, `$layer`, `x-layer-outlet`, `Alpine.data('layerStack')`) plus Svelte-shaped JS hooks and CDN bootstrap.

### Patch Changes

- Updated dependencies [[`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6), [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6)]:
- @stainless-code/layers@0.2.0
2 changes: 1 addition & 1 deletion packages/alpine/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@stainless-code/alpine-layers",
"version": "0.1.0",
"version": "0.2.0",
"description": "Alpine.js adapter for @stainless-code/layers — call a layer like an async function and await its response.",
"keywords": [
"alpine",
Expand Down
2 changes: 1 addition & 1 deletion packages/alpine/skills/alpine-layers/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ keywords:
- typescript
metadata:
library: "@stainless-code/alpine-layers"
library_version: "0.1.0"
library_version: "0.2.0"
framework: "alpinejs"
sources:
- https://stainless-code.com/layers/adapters/alpine
Expand Down
21 changes: 21 additions & 0 deletions packages/angular/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# @stainless-code/angular-layers

## 0.2.0

### Minor Changes

- [#4](https://github.com/stainless-code/layers/pull/4) [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6) Thanks [@SutuSebastian](https://github.com/SutuSebastian)! - Wired layer handles (`createLayer` / `useLayer`) and observe-hook reshape (0.x breaking).

**Migration**

- `useLayer(key, stack?)` → `useLayerState({ key, stack })` (returns `LayerState[]`, not `LayerState | null`)
- `useStack(stackId, selector?, compare?)` → `useStack({ stack, select, compare }, client?)`
- Prefer `useLayer(options).open(payload)` over spreading into `client.open` (bag form still supported)
- `LayerStack.find` is now topmost same-key (`findLast`); `cancelQueued` stays first-queued FIFO

Svelte entry names: `createLayer` / `createLayerState` / `createQueuedStack` / `createLayerQueuedState`. Angular: `injectLayer` / `injectLayerState` / `injectQueuedStack` / `injectLayerQueuedState`.

### Patch Changes

- Updated dependencies [[`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6), [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6)]:
- @stainless-code/layers@0.2.0
2 changes: 1 addition & 1 deletion packages/angular/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@stainless-code/angular-layers",
"version": "0.1.0",
"version": "0.2.0",
"description": "Angular adapter for @stainless-code/layers — call a layer like an async function and await its response.",
"keywords": [
"angular",
Expand Down
2 changes: 1 addition & 1 deletion packages/angular/skills/angular-layers/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ keywords:
- typescript
metadata:
library: "@stainless-code/angular-layers"
library_version: "0.1.0"
library_version: "0.2.0"
framework: "angular"
sources:
- https://stainless-code.com/layers/adapters/angular
Expand Down
18 changes: 18 additions & 0 deletions packages/core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# @stainless-code/layers

## 0.2.0

### Minor Changes

- [#4](https://github.com/stainless-code/layers/pull/4) [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6) Thanks [@SutuSebastian](https://github.com/SutuSebastian)! - `cancelQueued` optional `{ id }` now cancels the exact queued instance; omit `id` for first-queued (FIFO) per key.

- [#4](https://github.com/stainless-code/layers/pull/4) [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6) Thanks [@SutuSebastian](https://github.com/SutuSebastian)! - Wired layer handles (`createLayer` / `useLayer`) and observe-hook reshape (0.x breaking).

**Migration**

- `useLayer(key, stack?)` → `useLayerState({ key, stack })` (returns `LayerState[]`, not `LayerState | null`)
- `useStack(stackId, selector?, compare?)` → `useStack({ stack, select, compare }, client?)`
- Prefer `useLayer(options).open(payload)` over spreading into `client.open` (bag form still supported)
- `LayerStack.find` is now topmost same-key (`findLast`); `cancelQueued` stays first-queued FIFO

Svelte entry names: `createLayer` / `createLayerState` / `createQueuedStack` / `createLayerQueuedState`. Angular: `injectLayer` / `injectLayerState` / `injectQueuedStack` / `injectLayerQueuedState`.
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@stainless-code/layers",
"version": "0.1.0",
"version": "0.2.0",
"description": "Headless, UI-agnostic layer/stack manager for modal/dialog/drawer/popover/toast UI. Call a layer like an async function and await its response.",
"keywords": [
"dialog",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/skills/layers/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ keywords:
- typescript
metadata:
library: "@stainless-code/layers"
library_version: "0.1.0"
library_version: "0.2.0"
framework: "framework-agnostic"
sources:
- https://stainless-code.com/layers/adapters/core
Expand Down
12 changes: 12 additions & 0 deletions packages/lit/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# @stainless-code/lit-layers

## 0.2.0

### Minor Changes

- [#7](https://github.com/stainless-code/layers/pull/7) [`a886aa9`](https://github.com/stainless-code/layers/commit/a886aa93928eee3f51f68e1e63cf729366aecf2e) Thanks [@SutuSebastian](https://github.com/SutuSebastian)! - Add `@stainless-code/lit-layers` — full-matrix Lit adapter (Reactive Controllers, `@lit/context`, light-DOM stack CEs via `defineStackElements()`).

### Patch Changes

- Updated dependencies [[`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6), [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6)]:
- @stainless-code/layers@0.2.0
2 changes: 1 addition & 1 deletion packages/lit/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@stainless-code/lit-layers",
"version": "0.1.0",
"version": "0.2.0",
"description": "Lit adapter for @stainless-code/layers — call a layer like an async function and await its response.",
"keywords": [
"dialog",
Expand Down
2 changes: 1 addition & 1 deletion packages/lit/skills/lit-layers/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ keywords:
- typescript
metadata:
library: "@stainless-code/lit-layers"
library_version: "0.1.0"
library_version: "0.2.0"
framework: "lit"
sources:
- https://stainless-code.com/layers/adapters/lit
Expand Down
21 changes: 21 additions & 0 deletions packages/preact/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# @stainless-code/preact-layers

## 0.2.0

### Minor Changes

- [#4](https://github.com/stainless-code/layers/pull/4) [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6) Thanks [@SutuSebastian](https://github.com/SutuSebastian)! - Wired layer handles (`createLayer` / `useLayer`) and observe-hook reshape (0.x breaking).

**Migration**

- `useLayer(key, stack?)` → `useLayerState({ key, stack })` (returns `LayerState[]`, not `LayerState | null`)
- `useStack(stackId, selector?, compare?)` → `useStack({ stack, select, compare }, client?)`
- Prefer `useLayer(options).open(payload)` over spreading into `client.open` (bag form still supported)
- `LayerStack.find` is now topmost same-key (`findLast`); `cancelQueued` stays first-queued FIFO

Svelte entry names: `createLayer` / `createLayerState` / `createQueuedStack` / `createLayerQueuedState`. Angular: `injectLayer` / `injectLayerState` / `injectQueuedStack` / `injectLayerQueuedState`.

### Patch Changes

- Updated dependencies [[`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6), [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6)]:
- @stainless-code/layers@0.2.0
2 changes: 1 addition & 1 deletion packages/preact/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@stainless-code/preact-layers",
"version": "0.1.0",
"version": "0.2.0",
"description": "Preact adapter for @stainless-code/layers — call a layer like an async function and await its response.",
"keywords": [
"dialog",
Expand Down
2 changes: 1 addition & 1 deletion packages/preact/skills/preact-layers/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ keywords:
- typescript
metadata:
library: "@stainless-code/preact-layers"
library_version: "0.1.0"
library_version: "0.2.0"
framework: "preact"
sources:
- https://stainless-code.com/layers/adapters/preact
Expand Down
21 changes: 21 additions & 0 deletions packages/react/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# @stainless-code/react-layers

## 0.2.0

### Minor Changes

- [#4](https://github.com/stainless-code/layers/pull/4) [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6) Thanks [@SutuSebastian](https://github.com/SutuSebastian)! - Wired layer handles (`createLayer` / `useLayer`) and observe-hook reshape (0.x breaking).

**Migration**

- `useLayer(key, stack?)` → `useLayerState({ key, stack })` (returns `LayerState[]`, not `LayerState | null`)
- `useStack(stackId, selector?, compare?)` → `useStack({ stack, select, compare }, client?)`
- Prefer `useLayer(options).open(payload)` over spreading into `client.open` (bag form still supported)
- `LayerStack.find` is now topmost same-key (`findLast`); `cancelQueued` stays first-queued FIFO

Svelte entry names: `createLayer` / `createLayerState` / `createQueuedStack` / `createLayerQueuedState`. Angular: `injectLayer` / `injectLayerState` / `injectQueuedStack` / `injectLayerQueuedState`.

### Patch Changes

- Updated dependencies [[`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6), [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6)]:
- @stainless-code/layers@0.2.0
2 changes: 1 addition & 1 deletion packages/react/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@stainless-code/react-layers",
"version": "0.1.0",
"version": "0.2.0",
"description": "React adapter for @stainless-code/layers — call a layer like an async function and await its response.",
"keywords": [
"dialog",
Expand Down
2 changes: 1 addition & 1 deletion packages/react/skills/react-layers/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ keywords:
- typescript
metadata:
library: "@stainless-code/react-layers"
library_version: "0.1.0"
library_version: "0.2.0"
framework: "react"
sources:
- https://stainless-code.com/layers/adapters/react
Expand Down
21 changes: 21 additions & 0 deletions packages/solid/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# @stainless-code/solid-layers

## 0.2.0

### Minor Changes

- [#4](https://github.com/stainless-code/layers/pull/4) [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6) Thanks [@SutuSebastian](https://github.com/SutuSebastian)! - Wired layer handles (`createLayer` / `useLayer`) and observe-hook reshape (0.x breaking).

**Migration**

- `useLayer(key, stack?)` → `useLayerState({ key, stack })` (returns `LayerState[]`, not `LayerState | null`)
- `useStack(stackId, selector?, compare?)` → `useStack({ stack, select, compare }, client?)`
- Prefer `useLayer(options).open(payload)` over spreading into `client.open` (bag form still supported)
- `LayerStack.find` is now topmost same-key (`findLast`); `cancelQueued` stays first-queued FIFO

Svelte entry names: `createLayer` / `createLayerState` / `createQueuedStack` / `createLayerQueuedState`. Angular: `injectLayer` / `injectLayerState` / `injectQueuedStack` / `injectLayerQueuedState`.

### Patch Changes

- Updated dependencies [[`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6), [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6)]:
- @stainless-code/layers@0.2.0
2 changes: 1 addition & 1 deletion packages/solid/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@stainless-code/solid-layers",
"version": "0.1.0",
"version": "0.2.0",
"description": "SolidJS adapter for @stainless-code/layers — call a layer like an async function and await its response.",
"keywords": [
"dialog",
Expand Down
2 changes: 1 addition & 1 deletion packages/solid/skills/solid-layers/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ keywords:
- typescript
metadata:
library: "@stainless-code/solid-layers"
library_version: "0.1.0"
library_version: "0.2.0"
framework: "solid"
sources:
- https://stainless-code.com/layers/adapters/solid
Expand Down
21 changes: 21 additions & 0 deletions packages/svelte/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# @stainless-code/svelte-layers

## 0.2.0

### Minor Changes

- [#4](https://github.com/stainless-code/layers/pull/4) [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6) Thanks [@SutuSebastian](https://github.com/SutuSebastian)! - Wired layer handles (`createLayer` / `useLayer`) and observe-hook reshape (0.x breaking).

**Migration**

- `useLayer(key, stack?)` → `useLayerState({ key, stack })` (returns `LayerState[]`, not `LayerState | null`)
- `useStack(stackId, selector?, compare?)` → `useStack({ stack, select, compare }, client?)`
- Prefer `useLayer(options).open(payload)` over spreading into `client.open` (bag form still supported)
- `LayerStack.find` is now topmost same-key (`findLast`); `cancelQueued` stays first-queued FIFO

Svelte entry names: `createLayer` / `createLayerState` / `createQueuedStack` / `createLayerQueuedState`. Angular: `injectLayer` / `injectLayerState` / `injectQueuedStack` / `injectLayerQueuedState`.

### Patch Changes

- Updated dependencies [[`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6), [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6)]:
- @stainless-code/layers@0.2.0
2 changes: 1 addition & 1 deletion packages/svelte/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@stainless-code/svelte-layers",
"version": "0.1.0",
"version": "0.2.0",
"description": "Svelte adapter for @stainless-code/layers — call a layer like an async function and await its response.",
"keywords": [
"dialog",
Expand Down
2 changes: 1 addition & 1 deletion packages/svelte/skills/svelte-layers/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ keywords:
- typescript
metadata:
library: "@stainless-code/svelte-layers"
library_version: "0.1.0"
library_version: "0.2.0"
framework: "svelte"
sources:
- https://stainless-code.com/layers/adapters/svelte/runes
Expand Down
21 changes: 21 additions & 0 deletions packages/vue/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# @stainless-code/vue-layers

## 0.2.0

### Minor Changes

- [#4](https://github.com/stainless-code/layers/pull/4) [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6) Thanks [@SutuSebastian](https://github.com/SutuSebastian)! - Wired layer handles (`createLayer` / `useLayer`) and observe-hook reshape (0.x breaking).

**Migration**

- `useLayer(key, stack?)` → `useLayerState({ key, stack })` (returns `LayerState[]`, not `LayerState | null`)
- `useStack(stackId, selector?, compare?)` → `useStack({ stack, select, compare }, client?)`
- Prefer `useLayer(options).open(payload)` over spreading into `client.open` (bag form still supported)
- `LayerStack.find` is now topmost same-key (`findLast`); `cancelQueued` stays first-queued FIFO

Svelte entry names: `createLayer` / `createLayerState` / `createQueuedStack` / `createLayerQueuedState`. Angular: `injectLayer` / `injectLayerState` / `injectQueuedStack` / `injectLayerQueuedState`.

### Patch Changes

- Updated dependencies [[`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6), [`0cd5770`](https://github.com/stainless-code/layers/commit/0cd577025b6f3709c176f0b764d20310435087a6)]:
- @stainless-code/layers@0.2.0
2 changes: 1 addition & 1 deletion packages/vue/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@stainless-code/vue-layers",
"version": "0.1.0",
"version": "0.2.0",
"description": "Vue adapter for @stainless-code/layers — call a layer like an async function and await its response.",
"keywords": [
"dialog",
Expand Down
2 changes: 1 addition & 1 deletion packages/vue/skills/vue-layers/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ keywords:
- typescript
metadata:
library: "@stainless-code/vue-layers"
library_version: "0.1.0"
library_version: "0.2.0"
framework: "vue"
sources:
- https://stainless-code.com/layers/adapters/vue
Expand Down