Skip to content

Releases: frost-js/ui

v4.0.0

Choose a tag to compare

@elusivecodes elusivecodes released this 20 Sep 06:24

Major release adopting fQuery 5 and improving style preservation, component cleanup, and recovery from interrupted transitions and failed initialization.

Breaking Changes

  • Updated @fr0st/query from version 4 to version 5. Bundled builds include fQuery 5; applications using the external UMD build must load a compatible fQuery 5 build.
  • Replaced the exported addScrollPadding() and resetScrollPadding() helpers with lockScrollPadding(). Retain the release function returned by lockScrollPadding(nodes) and call it when compensation is no longer needed.

Fixed

  • Preserved original inline styles and !important priorities during component transitions, positioning, scroll locking, and disposal, including custom toast display styles.
  • Kept shared scroll locks and scrollbar compensation active until the last modal or offcanvas holder releases them, and corrected numeric z-index comparisons for stacked modals.
  • Rolled back temporary styles and component state when style locking or Popper initialization fails, allowing subsequent initialization and show attempts to succeed.
  • Restored component and trigger state on disposal and prevented late transition callbacks from mutating disposed components or emitting completion events.
  • Preserved explicit carousel pauses across slide transitions and hover changes, and restored temporary styles after canceled, reversed, or interrupted drags.
  • Prevented overlapping accordion transitions and corrected dropdown element references.

Improved

  • Added reusable lockStyles() and lockStylesCounterFactory() helpers with idempotent release functions and rollback on failed acquisition.
  • Simplified carousel caption shadows to remove the double-border appearance.
  • Aligned browser setup and test conventions with fQuery, consolidated component cases, and expanded recovery and disposal coverage.
  • Updated README setup instructions and component behavior documentation.
  • Updated development dependencies, patched the transitive js-yaml vulnerability, and regenerated distribution bundles.

v3.0.3

Choose a tag to compare

@elusivecodes elusivecodes released this 04 Sep 12:02

Patch release preventing stalled CSS transition promises from leaving UI components permanently transitioning.

Fixed

  • Added a timing-based fallback to waitForTransition() for WebKit CSS transitions whose finished promises remain pending, including zero-duration transitions under reduced motion.
  • Preserved completed and canceled transition result semantics while allowing Modal and other components to finish their transition lifecycle.

v3.0.2

Choose a tag to compare

@elusivecodes elusivecodes released this 03 Sep 12:35

Patch release consolidating component configuration and internal helpers while simplifying browser test setup.

Improved

  • Defined default options directly on component classes so configuration remains colocated with each implementation.
  • Extracted shared click-target handling and focused helpers for Collapse dimensions, Modal stacking, Popper arrows, and Carousel indicators and style resets.
  • Delimited generated component IDs with a hyphen between the prefix and generated suffix.
  • Reorganized Popper assertion helpers and simplified browser setup to exercise production defaults instead of overriding them.

v3.0.1

Choose a tag to compare

@elusivecodes elusivecodes released this 31 Aug 12:25

Patch release simplifying browser test assertions and removing obsolete lint configuration.

Improved

  • Simplified browser style assertions with Playwright locator assertions.
  • Removed the redundant Animation ESLint global.

v3.0.0

Choose a tag to compare

@elusivecodes elusivecodes released this 29 Aug 23:21

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.

v2.6.1

Choose a tag to compare

@elusivecodes elusivecodes released this 14 May 09:58
  • Modified ripple event to occur on click.

v2.6.0

Choose a tag to compare

@elusivecodes elusivecodes released this 14 May 09:04
  • Modified ripple event to occur on mouseup.
  • Fixed bug where original placement data attribute was being removed in dispose method in Popper.
  • Fixed modal header styling.
  • Fixed offcanvas header styling.
  • Fixed nested accordion styling.
  • Fixed visually-hidden styling.
  • Fixed card-group styling.
  • Fixed outline btn styling.
  • Fixed active btn styling.
  • Fixed check btn styling.
  • Renamed max-width and max-height utility classes.
  • Added min-width and min-height utility classes.
  • Added resize utility classes.
  • Updated demos.
  • Updated tests.
  • Updated NPM.

v2.5.8

Choose a tag to compare

@elusivecodes elusivecodes released this 24 Jun 03:02
  • Updated NPM.
  • Updated Dockerfile.
  • Updated tests.

v2.5.7

Choose a tag to compare

@elusivecodes elusivecodes released this 23 Jun 09:27
  • Updated NPM.
  • Updated tests.

v2.5.6

Choose a tag to compare

@elusivecodes elusivecodes released this 01 May 09:40
  • Updated fQuery.