Skip to content

v3.0.0

Choose a tag to compare

@elusivecodes elusivecodes released this 29 Aug 23:21
· 36 commits to main since this release

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/query from 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/ and src/ instead of undeclared package subpaths.
  • Migrated the Sass entry point from global @import behavior 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 _node and _options with the public node and options getters, 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.