diff --git a/.changeset/wire-up-stagger.md b/.changeset/wire-up-stagger.md deleted file mode 100644 index 1798e54..0000000 --- a/.changeset/wire-up-stagger.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@effex/core": patch -"@effex/dom": patch ---- - -Wire up `stagger` for `each`'s enter animations. `stagger` was declared on `ListAnimationOptions` and exported via helpers (`stagger`, `staggerFromCenter`) but nothing in the runtime consumed it, so `each({ animate: { stagger: stagger(40) } })` produced no visible staggering. The API had been advertising the feature without implementing it. - -Now `reconcile` captures a `staggerStartAt` timestamp when a batch begins and threads it plus `totalItems` through to each slot's animation. `forkSlotEnter` computes the target fire time as `startAt + stagger(index, total)` and delays only the residual after reconcile overhead — so item N always fires at the same wall-clock moment regardless of how long reconcile takes to iterate to slot N. Without the shared reference, per-slot delays would compound and each item would drift further behind its expected position. - -Applies to `each` (client, client-fallback-during-hydration, hydration-root, and intro re-animation paths). `when` / `match` / etc. don't take a stagger option — they render single elements. diff --git a/apps/docs/CHANGELOG.md b/apps/docs/CHANGELOG.md index 5a835ec..6e5687e 100644 --- a/apps/docs/CHANGELOG.md +++ b/apps/docs/CHANGELOG.md @@ -1,5 +1,13 @@ # docs +## 0.0.15 + +### Patch Changes + +- Updated dependencies [2a730e7] + - @effex/dom@1.2.1 + - @effex/router@1.2.3 + ## 0.0.14 ### Patch Changes diff --git a/apps/docs/package.json b/apps/docs/package.json index 1a5b9c6..13500b2 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -1,6 +1,6 @@ { "name": "docs", - "version": "0.0.14", + "version": "0.0.15", "private": true, "type": "module", "scripts": { diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 7339890..4b15539 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,15 @@ # @effex/core +## 1.1.1 + +### Patch Changes + +- 2a730e7: Wire up `stagger` for `each`'s enter animations. `stagger` was declared on `ListAnimationOptions` and exported via helpers (`stagger`, `staggerFromCenter`) but nothing in the runtime consumed it, so `each({ animate: { stagger: stagger(40) } })` produced no visible staggering. The API had been advertising the feature without implementing it. + + Now `reconcile` captures a `staggerStartAt` timestamp when a batch begins and threads it plus `totalItems` through to each slot's animation. `forkSlotEnter` computes the target fire time as `startAt + stagger(index, total)` and delays only the residual after reconcile overhead — so item N always fires at the same wall-clock moment regardless of how long reconcile takes to iterate to slot N. Without the shared reference, per-slot delays would compound and each item would drift further behind its expected position. + + Applies to `each` (client, client-fallback-during-hydration, hydration-root, and intro re-animation paths). `when` / `match` / etc. don't take a stagger option — they render single elements. + ## 1.1.0 ### Minor Changes diff --git a/packages/core/package.json b/packages/core/package.json index 0a27d1e..308d4ca 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@effex/core", - "version": "1.1.0", + "version": "1.1.1", "description": "Platform-agnostic reactivity primitives for Effex", "type": "module", "license": "MIT", diff --git a/packages/dom/CHANGELOG.md b/packages/dom/CHANGELOG.md index 12c1b36..57772e0 100644 --- a/packages/dom/CHANGELOG.md +++ b/packages/dom/CHANGELOG.md @@ -1,5 +1,18 @@ # @effex/dom +## 1.2.1 + +### Patch Changes + +- 2a730e7: Wire up `stagger` for `each`'s enter animations. `stagger` was declared on `ListAnimationOptions` and exported via helpers (`stagger`, `staggerFromCenter`) but nothing in the runtime consumed it, so `each({ animate: { stagger: stagger(40) } })` produced no visible staggering. The API had been advertising the feature without implementing it. + + Now `reconcile` captures a `staggerStartAt` timestamp when a batch begins and threads it plus `totalItems` through to each slot's animation. `forkSlotEnter` computes the target fire time as `startAt + stagger(index, total)` and delays only the residual after reconcile overhead — so item N always fires at the same wall-clock moment regardless of how long reconcile takes to iterate to slot N. Without the shared reference, per-slot delays would compound and each item would drift further behind its expected position. + + Applies to `each` (client, client-fallback-during-hydration, hydration-root, and intro re-animation paths). `when` / `match` / etc. don't take a stagger option — they render single elements. + +- Updated dependencies [2a730e7] + - @effex/core@1.1.1 + ## 1.2.0 ### Minor Changes diff --git a/packages/dom/package.json b/packages/dom/package.json index f742d82..55d3ad5 100644 --- a/packages/dom/package.json +++ b/packages/dom/package.json @@ -1,6 +1,6 @@ { "name": "@effex/dom", - "version": "1.2.0", + "version": "1.2.1", "description": "DOM rendering for Effex - a reactive UI framework built on Effect.ts", "type": "module", "license": "MIT", diff --git a/packages/form/CHANGELOG.md b/packages/form/CHANGELOG.md index b187a6f..394a7ef 100644 --- a/packages/form/CHANGELOG.md +++ b/packages/form/CHANGELOG.md @@ -1,5 +1,12 @@ # @effex/form +## 1.0.2 + +### Patch Changes + +- Updated dependencies [2a730e7] + - @effex/core@1.1.1 + ## 1.0.1 ### Patch Changes diff --git a/packages/form/package.json b/packages/form/package.json index 311ccc9..2342466 100644 --- a/packages/form/package.json +++ b/packages/form/package.json @@ -1,6 +1,6 @@ { "name": "@effex/form", - "version": "1.0.1", + "version": "1.0.2", "description": "Form handling for Effex applications", "type": "module", "license": "MIT", diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index 546c78d..19150b1 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -1,5 +1,13 @@ # @effex/router +## 1.2.3 + +### Patch Changes + +- Updated dependencies [2a730e7] + - @effex/core@1.1.1 + - @effex/dom@1.2.1 + ## 1.2.2 ### Patch Changes diff --git a/packages/router/package.json b/packages/router/package.json index c5114e1..e2bd12a 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@effex/router", - "version": "1.2.2", + "version": "1.2.3", "description": "Router for Effex applications", "type": "module", "license": "MIT",