v3.0.0
Major release modernizing Frost UI's component lifecycle, styling and theming system, RTL support, package delivery, documentation, and test and release pipeline.
Breaking Changes
- Updated supported Node.js versions to
^20.19.0,^22.13.0, or>=24. - Updated
@fr0st/queryfrom version 3 to version 4; bundled builds now include the version 4 fQuery behavior and its FrostCore version 3 dependency. - Changed the package root to the compiled ESM build and added explicit exports. Use the documented package root or paths under
dist/andsrc/instead of undeclared package subpaths. - Migrated the Sass entry point from global
@importbehavior to the module system. Configure Frost UI with@use "@fr0st/ui/src/scss/ui" as ui with (...)and reference public variables, functions, and mixins through the module namespace. - Encapsulated component state with private class fields. Replace access to
_nodeand_optionswith the publicnodeandoptionsgetters, and avoid relying on internal prototype helpers.
Fixed
- Corrected interrupted transitions, timers, listeners, focus restoration, overlay cleanup, and disposal behavior across alerts, carousels, collapses, dropdowns, modals, offcanvas panels, tabs, toasts, tooltips, and popovers.
- Corrected Popper positioning across element scrolling, overflow boundaries, fixed containers, viewport edges, and right-to-left layouts, while restoring original inline styles on disposal.
- Corrected carousel swipe and timer cleanup, dropdown edge-case handling, wrapped tab navigation, RTL carousel controls, and selector-based collapse triggers.
- Corrected stacked modal indexing, responsive offcanvas visibility, sticky-element scroll compensation, forced overlay hiding, and form validation and card image styling.
- Stabilized CSS transition completion state and keyboard navigation while respecting reduced-motion preferences.
Improved
- Refreshed the visual system with modern color tokens, nested light and dark themes, CSS color mixing, frosted surfaces, gradients, accent variants, stronger focus feedback, and theme-aware elevation.
- Adopted logical CSS properties and RTL-aware component behavior throughout layout, spacing, borders, positioning, carousel navigation, and floating content.
- Moved component motion from JavaScript-driven animation to explicit CSS transitions with customizable timing variables and reduced-motion handling.
- Expanded forms, grid offsets, helpers, utilities, responsive behavior, accessibility, and component styling, and rebuilt the complete demo suite with live theme controls.
- Added prebuilt ESM, external UMD, and bundled UMD outputs with source maps; migrated the build to Vite and Sass Embedded; and documented package, browser, and custom Sass usage.
- Migrated the browser suite to Playwright across Chromium, Firefox, and WebKit, added source coverage, and added CI checks for supported Node.js versions, focused tests, generated bundles, package contents, and provenance-enabled npm publishing.
- Consolidated project documentation into a comprehensive README, expanded JSDoc-powered IntelliSense, organized shared helpers, and aligned repository metadata and naming with current Frost projects.