@lilydesignsystem/react-headless 0.1.0 → 0.3.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
@@ -3,6 +3,56 @@
3
3
  The format is loosely based on [Keep a Changelog](https://keepachangelog.com/)
4
4
  and the package follows [Semantic Versioning](https://semver.org/).
5
5
 
6
+ ## 0.3.0 — 2026-10-05
7
+
8
+ **16 new components (catalog 539 → 555) and a breaking chart change.**
9
+ New: `one-time-password-input`, `multi-select`, `multi-select-with-extras`,
10
+ `empty-state`, `show-more`, `kbd-shortcut`, `calendar-year-table`,
11
+ `calendar-month-table`, `calendar-week-table`, `calendar-day-table`,
12
+ `thinking`, `gauge-chart`, `heatmap-chart`, `radar-chart`, `sankey-chart`,
13
+ `file-tree`.
14
+
15
+ **Breaking:** `area-chart`, `bar-chart`, `column-chart`, `line-chart` and
16
+ `scatter-chart` (and the four new charts) now render `<figure
17
+ class="{chart}">` holding a `<div class="{chart}-graphic" role="img"
18
+ aria-label>` plus an optional sibling `<div class="{chart}-data-table">`.
19
+ `role="img"` is no longer on the `<figure>`: a table inside a `role="img"`
20
+ element is presentational and was unreachable to assistive technology.
21
+ Consumer CSS or tests that targeted `figure[role=img]` must target
22
+ `.{chart}-graphic`. `aria-describedby` passed as a rest prop still lands on
23
+ the `<figure>`. See the monorepo CHANGELOG for the full record.
24
+
25
+ ## 0.2.0 — 2026-09-21
26
+
27
+ **`Listbox` and `IconButton` extended, additively, to support the
28
+ `react-helpers` catalog's icon-button-triggered pickers depending on
29
+ them instead of hand-rolling equivalent markup/keyboard logic** —
30
+ porting the same change already made to `@lilydesignsystem/svelte-headless`.
31
+ Both components had zero real consumers elsewhere in this
32
+ 491-component catalog (confirmed by search before changing either;
33
+ `Listbox` had two doc-comment *mentions* as an example, no actual
34
+ imports) — full suite (2679 tests) still green.
35
+
36
+ - `IconButton` gains `baseClass` (default `"icon-button"`, unchanged)
37
+ and a forwarded ref (`React.forwardRef`) exposing the rendered
38
+ `<button>`. Its props interface now extends
39
+ `React.ButtonHTMLAttributes<HTMLButtonElement>` instead of a
40
+ `[key: string]: unknown` catch-all — restProps (`aria-haspopup`,
41
+ `aria-expanded`, `aria-controls`, `onKeyDown`, etc.) keep real types,
42
+ and `forwardRef`'s `Omit<P, "ref">` machinery no longer collapses
43
+ named properties on an indexed type during `.d.ts` generation (a
44
+ real build break this refactor hit and fixed, not a style choice).
45
+ - `Listbox` gains an opt-in `navigation="active-descendant"` mode
46
+ (default remains `"roving-focus"`, byte-for-byte unchanged
47
+ behaviour): the root holds real focus and tracks a virtual cursor
48
+ (`aria-activedescendant`, a controlled/uncontrolled `activeIndex` +
49
+ `onActiveIndexChange`, mirroring Svelte's bindable `activeIndex`)
50
+ rather than moving DOM focus between options, plus `clamp` (vs.
51
+ wrap), `typeahead`, `pageSize` paging, `onActivate`/`onEscape`/
52
+ `onTabOut` callbacks, `baseClass`, `as` (root tag, default `"div"`),
53
+ and a forwarded ref. Same props interface fix as `IconButton`
54
+ (extends `React.HTMLAttributes<HTMLElement>`, no index signature).
55
+
6
56
  ## 0.1.0 — 2026-09-16
7
57
 
8
58
  **Package renamed: `lily-design-system-react-headless` → `@lilydesignsystem/react-headless`.** npm scoped packages