chore: version packages#31
Merged
Merged
Conversation
Deploying effex-api with
|
| Latest commit: |
eee20c0
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://cfd37bb2.effex-api.pages.dev |
| Branch Preview URL: | https://changeset-release-main.effex-api.pages.dev |
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
July 2, 2026 22:41
b93a0d7 to
a397ddf
Compare
Deploying effex with
|
| Latest commit: |
eee20c0
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://5a8188d6.effex.pages.dev |
| Branch Preview URL: | https://changeset-release-main.effex.pages.dev |
github-actions
Bot
force-pushed
the
changeset-release/main
branch
2 times, most recently
from
July 12, 2026 12:17
e4f72f4 to
19f77cb
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
July 12, 2026 12:43
19f77cb to
eee20c0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@effex/dom@1.2.0
Minor Changes
b650fd8: Add animation groups — declarative sequencing across multiple animated blocks. Solves the "chained word-by-word intro" case where each word is its own
eachand word N should only start after word N-1 finishes.New API:
Animation.group()— creates a group with a gate (unresolved) and a completion signal.Animation.sequence(count)— returnscountgroups wired end-to-end: group 0's gate is open immediately, group N's gate opens when group N-1's registered animations all complete.Animation.parallel(count)— returnscountgroups with all gates open (useful nested insidesequencefor concurrent segments in a follow-up release).animate.group: AnimationGroup— new option on any animated control (each,when,match, ...). The animation registers with the group synchronously, awaits the gate before starting, and signals completion when finished.Groups finalize when their pending count returns to zero for the first time after having been non-zero. Late registrations that arrive after finalization run immediately (gate is already open) — intended semantics for one-shot intros where post-sequence additions behave like ordinary animations.
ee8a4d1: Add an
intro?: booleanflag oneach— and symmetrically onwhen,match,matchOption,matchEither, andredraw— to opt into re-animating SSR/SSG-rendered content during hydration.Default behaviour stays as-is: hydration attaches handlers to pre-existing DOM without re-running enter animations — the right choice for content lists (feeds, sidebars, todos) that shouldn't jitter into view on every page load. Setting
intro: trueflips that for decorative sequences where the animation is the point:The same flag makes sense on single-slot controls too — a hero fade-in for a
when-gated banner, or an animated card for amatch-selected state:On the client,
introis a no-op — animations already fire normally when there's no pre-existing DOM. It only affects the hydration path.FOUC caveat. Between the SSR paint and hydration applying the
enterFromstate, there's a brief visual flash of the final state. To eliminate it, hide the container in CSS until hydration completes (e.g.visibility: hiddenon a class you toggle from your client entry). A first-class FOUC-prevention mechanism is planned for a follow-up.Respects
prefers-reduced-motionviarunEnterAnimation.Patch Changes
12654be: Deprecate five under-used animation helpers with
@deprecatedJSDoc tags. All continue to work — they'll be removed in a future major.staggerEased— compose your own:(index, total) => easingFn(index / (total - 1)) * totalDurationMsdelay— useEffect.delay(effect, ms)directlysequence— useEffect.all([...], { concurrency: 1 })directlyparallel— useEffect.all([...], { concurrency: "unbounded" })directlycalculateStaggerDelay— was only ever an internal helper; not re-exported by anything downstreamThese wrapped effect combinators without adding real value beyond a slightly shorter name; the framework should be a thin layer over Effect rather than shadow its stdlib.
0dd6440: Fix inline animation serialization in
addSlot/removeSlot. Previously each enter/exit animation was awaited viayield*, which serialized thereconcilesync loop — for a list of[a, b, c]added at once, itemb's animation would only start after itema's finished. Madestaggerconfigs effectively double-counted (each addSlot's stagger delay applied after the previous animation completed rather than concurrently).Now enter animations are forked into the slot's scope so multiple slots animate concurrently, and exit animations run in a fiber attached to the parent scope so
removeSlotreturns immediately (letting the reconcile loop continue) while the exit still plays before the DOM node is removed. If a slot is removed mid-enter, closing the slot scope interrupts the enter animation before exit starts. This applies toClientControlCtxand both factories inHydrationControlCtx.@effex/routerwill receive an automatic patch viaupdateInternalDependenciessince it depends on@effex/domas a workspace dependency.3c5da0c: Fix the
renderToStringreturn-type inference so provided dependencies (RendererContext,ControlCtx,SuspenseBoundaryCtx,Scope) are properly subtracted from the outputR. Previously the signature usedDeps | R, which TypeScript can't do set-subtraction from, so those tags leaked into the returned Effect's requirements — callers whose element requiredScope(fromSignal.make) or the other provided tags saw them appear inEffect.runPromisearguments even thoughrenderToStringitself provides them internally. Switched toExclude<R, Deps>; the runtime behaviour is unchanged.@effex/router@1.2.2
Patch Changes
docs@0.0.14
Patch Changes