Skip to content

v0.1.0-beta.5

Pre-release
Pre-release

Choose a tag to compare

@omnidevhub omnidevhub released this 31 Jul 08:11
· 7 commits to main since this release

Highlights

This version expands Fluentic Style beyond regular element styles into attachable selector sheets, Preact css-prop support, and better interop tools for real third-party component styling.

Selector Sheets

  • Added style.selector(...) targets and createSheet(...) from @fluentic/style/css.
  • Selector sheets attach through generated Fluentic classes instead of emitting global CSS.
  • Added & and &? selector handling for attached-element and portal-friendly rules.
  • Added selector sheet extraction, token overrides, debug class names, source tracing, and sourcemap support.

Third-Party Styling

  • Added createStyleTarget(...) for explicit DOM targets such as document.body.
  • Added shared-target reference counting for overlapping portal users.
  • Added a React Select selector-sheet example and refreshed the third-party styling guide.

Composition

  • combineStyle(...) can now compose sheets directly.
  • Added combineStyle.with(...) and array-only combineStyle.multi(...) for cache-friendly composition.

Framework Support

  • Added Preact css-prop support through CssPropPresets.Preact.
  • Added runtime adapters, JSX types, and a Vite Preact example.
  • Kept plugin css-prop configuration focused on CssPropPresets.

Priority And Interop

  • Added style.weight(...) as the style-object counterpart to className.weight(...).
  • Added style.important(...) and className.important(...) for interop cases that need emitted !important, especially selector sheets wrapping third-party CSS.

Size

The extracted production runtime remains under the 5 KB min+gzip budget:

  • extracted production runtime: 4.92 KB min+gzip
  • extracted JSX runtime: 2.73 KB min+gzip
  • extracted generated helpers: 778 B min+gzip