Changelog
WIPRelease history for @gentleduck/motion. Newest releases at the top.
1.0.0
Major Changes
95638de: Audit-driven refactor across all 15 public packages. Closes type holes, hardens security boundaries, eliminates dead code, and dedups duplicated patterns.
Highlights
duck-docs— CompiledMdxBody branded type gatesnew Function(body); sanitizeSvg covers SMIL, unquoted javascript: URIs, nested script, CSS url(), bare iframe; code-preview tag + attr allowlistsduck-registry-build— safe-path containment at every fs sink; per-phase Zod cache schemas; JSON.stringify in generated TSX; cache manifest rejection on tamperduck-cli— install pipeline path containment unified across add/init/update; env-var allowlist contract reconciled with one-time warning; aliases.ui regex validationduck-primitives—observe-element-rectrAF loop guard (no leak when empty);compose-refuseCallback memo fix; popper forwardRef restored for R18 peer compatduck-hooks—useDebounceis now a real hook (stable identity, unmount cleanup);useStableIddelegates to React.useId (SSR-safe);scheduleTransitionTimeoutrename strips twouseHookAtTopLevellint suppressionsduck-lazy— spread order fix restores the lazy swap;next/imagemoved behind/lazy-image-nextsubpath so non-Next consumers don't pull the peerduck-vim— single document listener fans out to chord matcher + sequence manager; canonical modifier order;requireResetauto-clears for chord bindings; all three hook dep arrays correctedduck-variants—Props<T, D>makes defaulted variant keys optional and non-defaulted required; boundedpreludeCacheLRU; second-layerfilter2set eliminates last clone in hot pathduck-ttest—predictates/renamed topredicates/, twin dirs deleted, type-utility duplicates reconciled to canonical sources,IsVoidactually distinguishes void from undefined nowduck-calendar—./*wildcard export removed; falsy-zeroweekStartDay: 0(Sunday) bug fixed; Gregorian helpers extracted; HebrewaddMonthsuses Metonic cycleduck-libs—cnMemobounded LRU;filteredObjectrejects typo keys at compile time;parseDaterejects ambiguous one-token inputsduck-query— single AnyReq boundary cast replaces 14as any; param regex escape; throws on unresolved:tokensregisters— schema tightened (z.any()removed); ~1000 LoC of identical block-registry boilerplate replaced with buildersregistry-ui—_audio/_upload(~1.1K LoC) deleted;motion-shellHOC +withMotioncollapses simple motion clones;toDirection()narrower replaces 52as IDirection.Kindcasts; chartCSS_NAMED_COLORSfinite allowlistduck-motion— refcounted bodypointer-eventsownership; easing/blur/duration token dedup; half of public exports were unused and removed
Tests: 3133+ across the monorepo, all green. Type-checks clean across every project. No commits skipped hooks.
Patch Changes
- Updated dependencies [95638de]
- @gentleduck/variants@1.0.0
0.3.4
Patch Changes
- 95dbbce: Standardize README headers across all packages: centered logo, h1, tagline, nav links, and npm badges (matching the @duck-md template). Replace per-repo
*.gentleduck.orgsubdomain refs with path-basedgentleduck.org/duck-<name>URLs. No runtime code changes. - Updated dependencies [95dbbce]
- @gentleduck/variants@0.1.24
0.3.3
Patch Changes
- 918b34c: Strip
workspace:*andcatalog:protocol tokens fromdevDependencies/dependencies/peerDependenciesof every public package beforechangeset publish. Previously published artifacts leaked these tokens into npm metadata, which broke strict resolvers (bun, deno) for downstream consumers. Addsscripts/clean-publish.tsand wires it into the rootreleasescript with agit checkoutrestore step so source remains workspace-friendly. - Updated dependencies [918b34c]
- @gentleduck/variants@0.1.23
0.3.2
Patch Changes
- 553e2ea: Fix
filesfield to includesrc/css/index.cssinstead of stalesrc/index.css. The./cssexport pointed to a path that wasn't shipped in the tarball, breakingimport '@gentleduck/motion/css'in consumer apps.
0.3.1
Patch Changes
- b4706d3: Replace
workspace:*deps in publisheddependenciesandpeerDependencieswith explicit semver. Previous publishes leakedworkspace:*to the npm tarball, breakingbun installfor downstream consumers (error: Workspace dependency "@gentleduck/calendar" not found).
0.3.0
Minor Changes
- 7d6fb7b: Motion: export IDuckMotion namespace, add token presets, stagger utility, and exit-transition context. Shortcut and registry-ui gain motion library integration with dialog animations and MotionBadge preset.
Patch Changes
- Updated dependencies [7d6fb7b]
- @gentleduck/variants@0.1.22
0.2.0
Minor Changes
0f4f2e2: Performance and tree-shaking improvements for the motion library.
useMotionPreset now accepts either a preset name string or a preset object directly. The object form enables tree-shaking since unused presets are never imported. Exported MotionProvider from the barrel. Removed deprecated motion-tokens module. Extracted shared preset utilities into presets/_utils.ts. Moved TAP_SCALE_TRANSITION and standardEase to transitions/tweens.ts as shared constants. Added sideEffects false to enable bundler tree-shaking.
0.1.18
Patch Changes
- 6f0e067: Standardize package exports to use explicit named exports, add
sideEffectsfield andtypesexport entries to package.json, and annotate internal APIs with@internalJSDoc tags. - Updated dependencies [6f0e067]
- @gentleduck/variants@0.1.21
0.1.17
Patch Changes
- 2b6e8d0: Resolve all biome lint warnings, improve type safety, and add test coverage across the monorepo.
- Updated dependencies [2b6e8d0]
- @gentleduck/variants@0.1.20
0.1.16
Patch Changes
- 7c2aa88: Update dependencies and publish unpublished packages
- Updated dependencies [7c2aa88]
- @gentleduck/variants@0.1.19
0.1.15
Patch Changes
- c9bbef8: Documentation and style updates.
- Updated dependencies [c9bbef8]
- @gentleduck/variants@0.1.18
0.1.14
Patch Changes
ad86755: Add motion design tokens and reduced-motion accessibility support.
Features:
Add motion design tokens for consistent animation duration, easing, and spring values
Add reduced-motion helper utilities for prefers-reduced-motion media query support
Centralize reduced-motion styles via shared @gentleduck/motion helpers
Integrate duck-motion helpers into block-wrapper and inline reduced-motion styles
Maintenance:
Refactor motion utilities for cleaner API surface
Remove unused AnimPopoverArrowVariants
Update README and add react peer dependency
Align biome and tsconfig build info exclusions
Updated dependencies [ad86755]
- @gentleduck/variants@0.1.17
0.1.12
Patch Changes
- Improve animation variants with smoother easing curves and consistent timing across popover, dialog, and tooltip transitions.