Repository navigation
v1.1.0
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.