Skip to content

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 15:12
· 14 commits to main since this release

v1.1.0 — Small quality-of-life update: improved carousel behavior (free-scroll, reachable indicators, better snapping) and expanded/tree-shakeable UI exports.

Packages updated

Only the following packages include code changes in this release:

  • @data-slot/carousel
  • @data-slot/ui

@data-slot/carousel

  • ✨ Added free-scrolling support and reachable indicators so users can scroll smoothly and see which positions are actually reachable. (feat)
  • ✨ New options:
    • snap?: boolean — allow forcing/opt-out of mandatory snapping (honours CSS by default).
    • slides?: "single" | "multiple" — control whether multiple visible slides remain interactive. (feat)
  • 🐛 Fixed snapping/layout issues so the carousel now preserves snap policy and layout offsets in free-scroll layouts. (fix)
  • 🐛 Navigation/trimming improved: navigation now trims to distinct reachable scroll positions (so next/prev target positions are valid). (fix)
  • 🐛 In multiple-mode, intersecting/visible slides are kept active/interactive (fix)
  • Note for testers: the test helpers have improved geometry mocking (viewport, gap, scroll extents) to better reflect real layouts.

@data-slot/ui

  • ✨ Root exports reorganized for better tree-shaking and Astro subpath imports — each component is exposed as a separate ESM/subpath so bundlers can drop unused components.
    • New subpath re-exports added (examples): packages/ui/src/resizable.ts and packages/ui/src/slider.ts now re-export their packages for convenient, tree-shakeable imports.
  • ✨ Re-exported positioning/typing from a few components at the root (e.g., dropdown menu / popover / hover-card / tooltip positioning types) so you can import common positioning types directly from @data-slot/ui. (non-breaking)
  • Tests: added verification for published exports, Astro bundles, and tree-shaking combinations.

Breaking changes

  • No breaking changes in this release. All changes are additive or bug fixes; existing imports and runtime behavior should continue to work. (If you rely on very specific internal snapping heuristics, please verify behavior with the new snap option.)

Upgrade notes

  • Recommended: prefer subpath or package-specific imports when tree-shaking matters (e.g., import { createCarousel } from "@data-slot/carousel" or import { create } from "@data-slot/ui/carousel").
  • If you need the old snapping behavior or want to force/disable snapping, use the new snap option on CarouselOptions.