styleframe 3.4.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,69 @@
1
1
  # styleframe
2
2
 
3
+ ## 3.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#196](https://github.com/styleframe-dev/styleframe/pull/196) [`5a37154`](https://github.com/styleframe-dev/styleframe/commit/5a37154540057d115a834961b708a77cbf032783) Thanks [@alexgrozav](https://github.com/alexgrozav)! - Add Dropdown recipe with item, separator, label, arrow, tests, and documentation
8
+ - Add `useDropdownRecipe` container recipe with 3 colors (light, dark, neutral), 3 visual styles (solid, soft, subtle), and 3 sizes (sm, md, lg) — uses `@z-index.dropdown` for surface stacking
9
+ - Add `useDropdownItemRecipe` for clickable menu options with hover, focus, active, and disabled states across all color × variant combinations
10
+ - Add `useDropdownSeparatorRecipe` for visual dividers between item groups (color axis only)
11
+ - Add `useDropdownLabelRecipe` for uppercase muted group headings (color and size axes)
12
+ - Add `useDropdownArrowRecipe` using the CSS border-triangle technique — points upward by default to sit above the panel, registers an `@dropdown.arrow.size` variable (default `6px`)
13
+ - Add Dropdown documentation page with usage examples, anatomy, accessibility guidance (menu/menuitem/separator roles, keyboard navigation, roving tabindex), API reference, and FAQ
14
+
15
+ - [#198](https://github.com/styleframe-dev/styleframe/pull/198) [`eabf9f4`](https://github.com/styleframe-dev/styleframe/commit/eabf9f4150cddc240065e72d38d3c01042fb140c) Thanks [@alexgrozav](https://github.com/alexgrozav)! - Add fluid typography to the default design tokens preset
16
+ - Add `useFluidClamp` to compose a `clamp()`-style fluid value between a min/max pair using a viewport-driven breakpoint reference
17
+ - Add `useFluidViewportDesignTokens` registering `fluid.breakpoint`, `fluid.min`, and `fluid.max` viewport variables that drive the clamp interpolation
18
+ - Add `useFluidFontSizeDesignTokens` registering `font-size.min/max` (with `xs`–`xl` multipliers off the type scale) and resolving `font-size.{xs..xl}` to fluid clamp values
19
+ - Wire fluid font sizing into `useDesignTokensPreset` so the default preset ships fluid type out of the box
20
+ - Add `fluidFontSize` and `fluidViewport` value helpers and documentation for the new fluid composables and the presets reference page
21
+
22
+ - [#195](https://github.com/styleframe-dev/styleframe/pull/195) [`73a4c55`](https://github.com/styleframe-dev/styleframe/commit/73a4c551a403fcda250b108fb93c9ab7394b27c2) Thanks [@alexgrozav](https://github.com/alexgrozav)! - Add HamburgerMenu recipe with toggle button, animations, tests, and documentation
23
+ - Add `useHamburgerMenuRecipe` icon-toggle button recipe with 3 colors (light, dark, neutral), 3 sizes (sm, md, lg), 7 open-state animations (close, arrow-{up,down,left,right}, minus, plus), and a boolean `active` axis
24
+ - Inner bars rendered via `.hamburger-menu-inner` + `::before`/`::after` pseudo-elements; per-size dimensions and per-animation transforms registered via `setup(s)` callback
25
+ - Add HamburgerMenu Storybook stories with all-variants and all-sizes preview grids, plus per-color, per-size, per-animation, and disabled/active stories
26
+ - Add HamburgerMenu documentation page with usage examples, accessibility guidance (`aria-expanded`, `aria-label`), API reference, and best practices
27
+
28
+ - [#189](https://github.com/styleframe-dev/styleframe/pull/189) [`689f02b`](https://github.com/styleframe-dev/styleframe/commit/689f02bd98262c4ee7b35b92ca537ac0e50af013) Thanks [@alexgrozav](https://github.com/alexgrozav)! - Add Input recipe with prefix/suffix and prepend/append slots
29
+ - Add `useInputRecipe` wrapper recipe with 3 colors (light, dark, neutral), 3 variants (default, soft, ghost), 3 sizes, and `invalid`/`disabled`/`readonly` boolean state axes; the wrapper owns the visual field and inherits typography into a nested `<input class="input-field">` styled via setup callback
30
+ - Add `useInputPrefixRecipe` and `useInputSuffixRecipe` for inline addons rendered inside the field, beside the text
31
+ - Add `useInputPrependRecipe` and `useInputAppendRecipe` as transparent slot containers for external addons (Buttons, dropdowns, plain text) — content brings its own visual language
32
+ - Add `useInputGroupRecipe` as a pure layout coordinator that flattens border-radius and collapses border-width at the seams where prepend/append meet the input, using `:has()` selectors
33
+
34
+ - [`ef662ae`](https://github.com/styleframe-dev/styleframe/commit/ef662ae696acf138a14c246b4b6f7a65ebae53c1) Thanks [@alexgrozav](https://github.com/alexgrozav)! - Add Spinner recipe with circle, text, overlay, tests, and documentation
35
+ - Add `useSpinnerRecipe` container recipe with 4 colors (primary, light, dark, neutral) and 4 sizes (auto, sm, md, lg)
36
+ - Add `useSpinnerCircleRecipe` with SVG stroke-dasharray animation and keyframes
37
+ - Add `useSpinnerTextRecipe` for centered label overlay on the spinner
38
+ - Add `useSpinnerOverlayRecipe` for fixed/absolute backdrop
39
+ - Add Spinner documentation page with usage examples, API reference, and FAQ
40
+
41
+ - [#198](https://github.com/styleframe-dev/styleframe/pull/198) [`eabf9f4`](https://github.com/styleframe-dev/styleframe/commit/eabf9f4150cddc240065e72d38d3c01042fb140c) Thanks [@alexgrozav](https://github.com/alexgrozav)! - Enable `fluidFontSize` by default in `useDesignTokensPreset`
42
+ - Calling `useDesignTokensPreset(s)` with no config now emits the fluid
43
+ font-size scale (`clamp()`-based `font-size.*`, `font-size.min/max`,
44
+ `scale.min/max`, and per-power scale variables). Previously, fluid was
45
+ opt-in via `fluidFontSize: true`.
46
+ - Pass `fluidFontSize: false` to fall back to the static `fontSize` domain.
47
+ - Custom `fontSize: { ... }` config is silently ignored when fluid is
48
+ active. Migration: add `fluidFontSize: false` alongside any custom
49
+ `fontSize` config you want to keep applying.
50
+ - Domain dependencies are now validated up front. Setting `fluidViewport:
51
+ false` or `scale: false` while leaving `fluidFontSize` enabled throws a
52
+ configuration error — both are required for the fluid scale to function.
53
+ Migration: add `fluidFontSize: false` whenever you disable `fluidViewport`
54
+ or `scale`.
55
+ - Internally, domains can now declare `enabled` predicates and a `requires`
56
+ list of config keys that must not be `false`. The preset uses this to gate
57
+ the fluid `scale` and `font-size` domains generically rather than via
58
+ ad-hoc checks inside each composable.
59
+
60
+ - [#198](https://github.com/styleframe-dev/styleframe/pull/198) [`eabf9f4`](https://github.com/styleframe-dev/styleframe/commit/eabf9f4150cddc240065e72d38d3c01042fb140c) Thanks [@alexgrozav](https://github.com/alexgrozav)! - Accept `{ min, max }` objects in fluid range APIs
61
+
62
+ `useFluidClamp` and the per-step `values` of `useFluidFontSizeDesignTokens`
63
+ now accept ranges as either `[min, max]` tuples or `{ min, max }` objects.
64
+ The `fluidFontSize.values` config in `useDesignTokensPreset` accepts both
65
+ forms as well. Existing tuple call sites are unaffected.
66
+
3
67
  ## 3.4.0
4
68
 
5
69
  ### Minor Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "styleframe",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "bin": {
5
5
  "styleframe": "./dist/cli.cjs"
6
6
  },