@aceshooting/lyra-ui 18.1.0 → 18.2.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 CHANGED
@@ -1,5 +1,50 @@
1
1
  # Changelog
2
2
 
3
+ ## 18.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 3c1e25c: `<lr-map>`: add `legendControlRole` for checkbox legend semantics.
8
+
9
+ Every `legendInteractive` row rendered as a `<button aria-pressed>`, which reads as a set of
10
+ pressed/unpressed actions rather than a checklist of independent show/hide toggles. The new
11
+ `legendControlRole: 'button' | 'checkbox'` property (default `'button'`) lets a consumer switch the
12
+ presentation without changing anything else: under `'checkbox'` the SAME `<button>` element renders
13
+ `role="checkbox"` and `aria-checked` (both `"true"`/`"false"`, inverted from `hiddenCategories`
14
+ exactly as `aria-pressed` was) in place of `aria-pressed`. The swatch, the label, the click handler
15
+ and the platform's own Enter/Space activation are unchanged, so the cancelable
16
+ `lr-map-legend-toggle` veto, `hiddenCategories` round-tripping, `group` sections and
17
+ `legendCollapsible` all compose with either role. With `legendControlRole` unset, the rendered
18
+ legend row is unchanged.
19
+ - 2a25254: Fix `--lr-icon-button-size-scope` being inert for most consumers.
20
+
21
+ 18.1.0 introduced `--lr-icon-button-size-scope` as the ancestor-scoped icon-button size
22
+ input, resolving it as
23
+ `var(--lr-theme-icon-button-size, var(--lr-icon-button-size-scope, 2.5rem))`. That order
24
+ made the new token dead on arrival for anyone loading the shipped `design-tokens.css`,
25
+ which declares `--lr-theme-icon-button-size` on `:root`: a `var()` chain only falls
26
+ through when the referenced property is unset **everywhere**, not merely shadowed nearer
27
+ the element, so the theme tier always answered first and the subtree override never
28
+ resolved. Silently — which is precisely the failure mode the token was added to remove.
29
+
30
+ The chain now reads the scope input first. That is also the correct precedence on its own
31
+ merits: a subtree override should beat an application-wide default. `--lr-icon-button-size`
32
+ keeps its element-scoped meaning, the coarse-pointer floor still applies to whichever value
33
+ wins, and the resolved default is unchanged at `2.5rem`.
34
+
35
+ If you worked around this by declaring `--lr-theme-icon-button-size: initial` at `:root`,
36
+ that workaround is no longer needed and can be removed.
37
+
38
+ The library's own tests missed this because their fixtures compose only the base token
39
+ layer and never load `design-tokens.css`. A regression test now declares the theme tier on
40
+ `:root`, reproducing a real consumer's setup.
41
+
42
+ ### Patch Changes
43
+
44
+ - 3c1e25c: Document `<lr-map>`'s `legendControlRole` property in the authored `llms/media.md` reference: its
45
+ `'button' | 'checkbox'` values, the `'button'` default, the `aria-checked` inversion (a hidden
46
+ category renders unchecked), and when to prefer each role.
47
+
3
48
  ## 18.1.0
4
49
 
5
50
  ### Minor Changes