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.
- package/CHANGELOG.md +64 -0
- 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
|