Skip to content

v3.0.0

Latest

Choose a tag to compare

@elusivecodes elusivecodes released this 20 Sep 13:02

Major release adopting Frost UI 4 and fQuery 5, adding compiled ESM exports, and improving connected lists, automatic scrolling, and component cleanup.

Breaking Changes

  • Requires @fr0st/ui 4 and @fr0st/query 5 as peer dependencies. Browser applications must load compatible builds; Frost UI's all-in-one bundle supplies both dependencies.
  • The package root now resolves to the compiled ESM bundle. Package exports expose the root, dist/*, and src/*; internal prototype modules have been replaced with private component methods.
  • Declared Node.js support is ^20.19.0 || ^22.13.0 || >=24.
  • Removed the unused appendTo option. Sorting continues to move the original item in place.
  • Auto-scrolling now runs on animation frames, with scrollSpeed measured in pixels per frame. The new direction-aware swapThreshold defaults to 0.25; use 0.5 for midpoint-based swapping.

Fixed

  • Allowed items to move into empty connected lists while respecting the receiving instance's dropOnEmpty and disabled state.
  • Updated item placement and sorting events during automatic scrolling, including when the pointer remains stationary near a viewport edge. Scroll steps respect document bounds without changing the page's inline scroll behavior.
  • Corrected handle matching for comma-separated item and handle selectors, and honored canceled controls and their descendants even when they wrap a drag handle.
  • Preserved original inline cursor values and !important priorities, released style locks on disposal, and restored the previous cursor targets when moving between lists with different handle settings.
  • Calculated event indices among configured sortable items and emitted final update events on both source and destination after connected-list transfers.
  • Cleared active drag state, helper classes, and pending scrolling during disposal, and guarded event callbacks against continued work after disposal.
  • Removed the demo intro's column divider and restored borders around empty connected lists.

Improved

  • Added configurable, direction-aware item swapping through swapThreshold.
  • Normalized lifecycle event payloads with item, from, to, oldIndex, and newIndex, available directly and through event.detail, while retaining detail.target compatibility.
  • Added compiled ESM and UMD bundles with source maps, modernized build tooling, and updated development dependencies.
  • Added cross-browser Playwright coverage and CI, aligned test fixtures and case tables with Frost UI conventions, and organized tests by component behavior.
  • Updated README installation, development, event, cursor, and accessibility documentation and refreshed demos for Frost UI 4.