Skip to content

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 26 Sep 07:56
· 29 commits to main since this release
c6685ea

v1.0.1 — Small fixes & performance improvements

This release contains a set of bug fixes and performance work across several components to reduce layout thrashing, improve positioning, and make presence/exit animations more robust.

@data-slot/accordion

  • ✨ Performance: reduced style reads and writes during open/close (fewer computed-style reads, skip settled items) and tightened presence/animation timing to avoid extra layout work.

@data-slot/collapsible

  • ✨ Perf & reliability: measure panels before write phases, avoid unnecessary style resets, and keep open/close sequencing tighter to reduce layout thrash and flakiness.

@data-slot/combobox

  • ✨ Perf: measure anchors and viewport before writing position vars; derive per-item facts once and write hidden/state only on change.
  • 🐛 Mobile detection and role handling simplified to avoid unnecessary branches and redundant updates.

@data-slot/command

  • ✨ Perf: avoid re-querying the list on each keystroke by reading metas once and let ResizeObserver drive list-height updates; fewer DOM scans on typing.

@data-slot/core

  • ✨ Stability & perf: improved content mount/retained-content handling (adds data-retained-content marker) and reduced unnecessary scans when querying owned parts; position-sync now builds scroll/resize target lists more efficiently.

@data-slot/drawer

  • 🐛 Fix: a drawer part that finishes exiting first now keeps its "ending" style until the drawer hides so it cannot re-enter mid-teardown (prevents visual glitches).

@data-slot/dropdown-menu

  • ✨ Perf & correctness: reduced redundant event listeners and writes (prepare items once, write only changed state), simplified item-type/disabled checks, and improved transform/position write ordering to avoid extra style reads.

@data-slot/hover-card

  • ✨ Perf: removed redundant positionSync.update() calls when opening so layout work is reduced.

@data-slot/navigation-menu

  • ✨ Perf & fixes: read viewport/scroll offsets before layout writes and keep animated pieces' ending styles until teardown to avoid re-entry; hover/trigger interactions adjusted to avoid unexpected indicator/focus jumps.

@data-slot/popover

  • ✨ Perf: removed redundant positionSync.update() calls when showing content to reduce extra layout passes.

@data-slot/radio-group

  • ✨ Perf & behavior: reduced writes on state changes by writing checked state only where it changes, updating ARIA and indicators together, and improving tab-order management.

@data-slot/select

  • ✨ Perf & UX: cache and prepare items more efficiently on open, sync the selected item with fewer writes, and simplify positioning code to use the provided viewport for cleaner measurements.

@data-slot/switch

  • ✨ Perf: write checked state only on toggle, set static attributes once, and update thumbs/state attributes together to reduce DOM churn.

Breaking changes

  • ✅ None — all changes are internal optimizations and bug fixes; public APIs and attributes are unchanged.

Notes

  • This is a targeted maintenance release focusing on smoother animations, fewer layout recalculations, and more reliable presence/teardown behavior across popups, menus, and interactive components.