@aceshooting/lyra-ui 10.0.1 → 11.0.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 (59) hide show
  1. package/CHANGELOG.md +188 -0
  2. package/custom-elements.json +1 -1
  3. package/design-tokens.json +13 -0
  4. package/dist/cli/migrate-wa.mjs +164 -1
  5. package/dist/cli/migration-contract.json +1 -1
  6. package/dist/components/charts/chart/box-plot.class.d.ts +27 -0
  7. package/dist/components/charts/chart/box-plot.class.js +14 -4
  8. package/dist/components/charts/chart/box-plot.styles.js +28 -0
  9. package/dist/components/charts/chart/chart.class.d.ts +27 -0
  10. package/dist/components/charts/chart/chart.class.js +15 -5
  11. package/dist/components/charts/chart/chart.styles.js +28 -0
  12. package/dist/components/data/heatmap/heatmap.class.d.ts +35 -2
  13. package/dist/components/data/heatmap/heatmap.class.js +2 -2
  14. package/dist/components/forms/combobox/combobox.class.d.ts +71 -3
  15. package/dist/components/forms/combobox/combobox.class.js +4 -2
  16. package/dist/components/forms/combobox/combobox.styles.js +9 -0
  17. package/dist/components/forms/date-picker/date-picker.class.d.ts +46 -0
  18. package/dist/components/forms/date-picker/date-picker.class.js +15 -3
  19. package/dist/components/forms/date-picker/date-picker.styles.js +46 -0
  20. package/dist/components/media/flag/flag.class.d.ts +3 -1
  21. package/dist/components/media/flag/flag.class.js +1 -1
  22. package/dist/components/media/map/map.class.d.ts +39 -2
  23. package/dist/components/media/map/map.class.js +1 -1
  24. package/dist/components/overlays/dialog/dialog.class.d.ts +20 -0
  25. package/dist/components/overlays/overlay/popover.class.d.ts +19 -3
  26. package/dist/components/overlays/overlay/popover.class.js +1 -1
  27. package/dist/custom-elements-jsx.d.ts +27 -14
  28. package/dist/internal/package-metadata.d.ts +1 -1
  29. package/dist/internal/package-metadata.js +1 -1
  30. package/dist/internal/tokens.styles.js +1 -0
  31. package/dist/lyra.d.ts +1 -1
  32. package/dist/svelte.d.ts +27 -14
  33. package/dist/vue.d.ts +27 -14
  34. package/llms/components/lr-bar-chart.md +4 -3
  35. package/llms/components/lr-box-plot.md +14 -3
  36. package/llms/components/lr-bubble-chart.md +4 -3
  37. package/llms/components/lr-chart.md +13 -3
  38. package/llms/components/lr-combobox.md +42 -6
  39. package/llms/components/lr-date-input.md +22 -2
  40. package/llms/components/lr-date-picker.md +23 -3
  41. package/llms/components/lr-dialog.md +2 -1
  42. package/llms/components/lr-doughnut-chart.md +4 -3
  43. package/llms/components/lr-flag.md +10 -3
  44. package/llms/components/lr-heatmap.md +20 -2
  45. package/llms/components/lr-histogram.md +4 -3
  46. package/llms/components/lr-line-chart.md +4 -3
  47. package/llms/components/lr-map.md +21 -4
  48. package/llms/components/lr-option.md +41 -5
  49. package/llms/components/lr-pie-chart.md +4 -3
  50. package/llms/components/lr-polar-area-chart.md +4 -3
  51. package/llms/components/lr-popover.md +20 -1
  52. package/llms/components/lr-radar-chart.md +4 -3
  53. package/llms/components/lr-scatter-chart.md +4 -3
  54. package/llms/tokens.md +15 -1
  55. package/llms-full.txt +197 -26
  56. package/package.json +1 -1
  57. package/vscode-css-data.json +56 -0
  58. package/vscode-html-data.json +115 -18
  59. package/web-types.json +162 -21
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@aceshooting/lyra-ui",
4
- "version": "10.0.1",
4
+ "version": "11.0.0",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -1769,7 +1769,7 @@
1769
1769
  },
1770
1770
  {
1771
1771
  "name": "lr-bar-chart",
1772
- "description": "`<lr-bar-chart>` — `<lr-chart>` with a `\"bar\"` default. Like the mirrored Web Awesome tag,\nits writable `type` still accepts the complete chart-type vocabulary.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
1772
+ "description": "`<lr-bar-chart>` — `<lr-chart>` with a `\"bar\"` default. Like the mirrored Web Awesome tag,\nits writable `type` still accepts the complete chart-type vocabulary.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-table-toggle` | The disclosure button rendered by `dataTableToggle`. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-data-table-toggle-active-bg` — Pressed background of the `dataTableToggle` disclosure button; defaults to a mix of the hover background with the shared active mix partner.\n- `--lr-chart-data-table-toggle-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the `dataTableToggle` disclosure button.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
1773
1773
  "attributes": [
1774
1774
  {
1775
1775
  "name": "annotations",
@@ -1802,6 +1802,15 @@
1802
1802
  ]
1803
1803
  }
1804
1804
  },
1805
+ {
1806
+ "name": "data-table-toggle",
1807
+ "description": "Render a disclosure button above the accessible data table so a sighted reader can reveal the\nnumbers behind the chart on demand. `showDataTable` alone is all-or-nothing -- the table is\neither permanently screen-reader-only or permanently visible -- which left a consumer wrapping\na duplicated table in their own `<details>`.\n\nWith this set, `showDataTable` becomes the disclosure's *initial* state rather than its whole\nbehavior. The table stays in the DOM in both states, so assistive technology never loses it.\n\nType: `boolean` \nDefault: `false`",
1808
+ "value": {
1809
+ "type": [
1810
+ "boolean"
1811
+ ]
1812
+ }
1813
+ },
1805
1814
  {
1806
1815
  "name": "description",
1807
1816
  "description": "Accessible chart description.\n\nType: `string | null` \nDefault: `null`"
@@ -1982,7 +1991,7 @@
1982
1991
  },
1983
1992
  {
1984
1993
  "name": "lr-box-plot",
1985
- "description": "`<lr-box-plot>` — a box-and-whisker chart from precomputed five-number\nsummaries (no raw sample data is shipped to the browser). Beyond Web\nAwesome's chart set — useful for summarizing distributions.\n\nPublic collection properties take bounded, clone-owned readonly snapshots. Create a new\ncollection and reassign it after changes; mutating the assigned array does not update the view.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `data-table` | An optional consumer-provided complete/paginated accessible table alternative. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The box-plot canvas. A keyboard-navigable surface: Arrow keys/Home/End walk the individual boxes and Enter/Space activates the current one, mirroring `<lr-chart>`. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples more than 1,000 records. |\n| `description` | The accessible box-plot summary. |\n| `error` | Static visible error shown instead of the canvas when the optional box-plot peer fails to load; its transition is announced through a shared light-DOM alert. |\n| `legend` | The wrapping DOM legend rendered when `legend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its box series is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `plot` | The fixed-height canvas region. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`). Same token and default as `<lr-chart>`.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Canvas grid-line color.\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — Consumer-owned chart height. The `height` property supplies only a private fallback, so this public token always wins when set.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — DOM legend label color.\n- `--lr-chart-legend-item-active-bg` — Legend-item pressed background.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Legend-item hover background.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum side-legend track size.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where the eight-color series ramp collapses onto a repeating system-color cycle and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart. Shared verbatim with `<lr-chart>` and `<lr-lite-chart>`.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Canvas tick and axis-title color.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Canvas tooltip background.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Canvas tooltip text color.",
1994
+ "description": "`<lr-box-plot>` — a box-and-whisker chart from precomputed five-number\nsummaries (no raw sample data is shipped to the browser). Beyond Web\nAwesome's chart set — useful for summarizing distributions.\n\nPublic collection properties take bounded, clone-owned readonly snapshots. Create a new\ncollection and reassign it after changes; mutating the assigned array does not update the view.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `data-table` | An optional consumer-provided complete/paginated accessible table alternative. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The box-plot canvas. A keyboard-navigable surface: Arrow keys/Home/End walk the individual boxes and Enter/Space activates the current one, mirroring `<lr-chart>`. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-table-toggle` | The disclosure button rendered by `dataTableToggle`. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples more than 1,000 records. |\n| `description` | The accessible box-plot summary. |\n| `error` | Static visible error shown instead of the canvas when the optional box-plot peer fails to load; its transition is announced through a shared light-DOM alert. |\n| `legend` | The wrapping DOM legend rendered when `legend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its box series is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `plot` | The fixed-height canvas region. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-box-plot-data-table-toggle-active-bg` — Pressed background of the `dataTableToggle` disclosure button; defaults to a mix of the hover background with the shared active mix partner.\n- `--lr-box-plot-data-table-toggle-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the `dataTableToggle` disclosure button.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`). Same token and default as `<lr-chart>`.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Canvas grid-line color.\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — Consumer-owned chart height. The `height` property supplies only a private fallback, so this public token always wins when set.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — DOM legend label color.\n- `--lr-chart-legend-item-active-bg` — Legend-item pressed background.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Legend-item hover background.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum side-legend track size.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where the eight-color series ramp collapses onto a repeating system-color cycle and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart. Shared verbatim with `<lr-chart>` and `<lr-lite-chart>`.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Canvas tick and axis-title color.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Canvas tooltip background.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Canvas tooltip text color.",
1986
1995
  "attributes": [
1987
1996
  {
1988
1997
  "name": "begin-at-zero",
@@ -1993,6 +2002,15 @@
1993
2002
  ]
1994
2003
  }
1995
2004
  },
2005
+ {
2006
+ "name": "data-table-toggle",
2007
+ "description": "Render a disclosure button above the accessible data table so a sighted reader can reveal the\nnumbers behind the plot on demand. `showDataTable` alone is all-or-nothing -- the table is\neither permanently screen-reader-only or permanently visible -- which left a consumer wrapping\na duplicated table in their own `<details>`.\n\nWith this set, `showDataTable` becomes the disclosure's *initial* state rather than its whole\nbehavior. The table stays in the DOM in both states, so assistive technology never loses it.\n\nType: `boolean` \nDefault: `false`",
2008
+ "value": {
2009
+ "type": [
2010
+ "boolean"
2011
+ ]
2012
+ }
2013
+ },
1996
2014
  {
1997
2015
  "name": "description",
1998
2016
  "description": "Accessible chart description. A generated five-number summary is used when unset.\n\nType: `string | null` \nDefault: `null`"
@@ -2240,7 +2258,7 @@
2240
2258
  },
2241
2259
  {
2242
2260
  "name": "lr-bubble-chart",
2243
- "description": "`<lr-bubble-chart>` — `<lr-chart>` with a `\"bubble\"` default and the mirrored writable type. Feed\npoints via `LyraChartSeries.points`, whose exported `LyraChartPoint` type carries\n`x`/`y`, optional bubble `r` (radius), and an optional per-point `label`.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
2261
+ "description": "`<lr-bubble-chart>` — `<lr-chart>` with a `\"bubble\"` default and the mirrored writable type. Feed\npoints via `LyraChartSeries.points`, whose exported `LyraChartPoint` type carries\n`x`/`y`, optional bubble `r` (radius), and an optional per-point `label`.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-table-toggle` | The disclosure button rendered by `dataTableToggle`. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-data-table-toggle-active-bg` — Pressed background of the `dataTableToggle` disclosure button; defaults to a mix of the hover background with the shared active mix partner.\n- `--lr-chart-data-table-toggle-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the `dataTableToggle` disclosure button.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
2244
2262
  "attributes": [
2245
2263
  {
2246
2264
  "name": "annotations",
@@ -2273,6 +2291,15 @@
2273
2291
  ]
2274
2292
  }
2275
2293
  },
2294
+ {
2295
+ "name": "data-table-toggle",
2296
+ "description": "Render a disclosure button above the accessible data table so a sighted reader can reveal the\nnumbers behind the chart on demand. `showDataTable` alone is all-or-nothing -- the table is\neither permanently screen-reader-only or permanently visible -- which left a consumer wrapping\na duplicated table in their own `<details>`.\n\nWith this set, `showDataTable` becomes the disclosure's *initial* state rather than its whole\nbehavior. The table stays in the DOM in both states, so assistive technology never loses it.\n\nType: `boolean` \nDefault: `false`",
2297
+ "value": {
2298
+ "type": [
2299
+ "boolean"
2300
+ ]
2301
+ }
2302
+ },
2276
2303
  {
2277
2304
  "name": "description",
2278
2305
  "description": "Accessible chart description.\n\nType: `string | null` \nDefault: `null`"
@@ -3230,7 +3257,7 @@
3230
3257
  },
3231
3258
  {
3232
3259
  "name": "lr-chart",
3233
- "description": "`<lr-chart>` — the core Chart.js wrapper used directly and by the typed\nChart.js tags plus `<lr-histogram>`. `<lr-lite-chart>` and `<lr-box-plot>`\nare independent implementations. Requires the optional peer dep `chart.js`; `chartjs-plugin-zoom`\n(for `zoom`) and `chartjs-plugin-datalabels` (for `data-labels`/`stack-totals`)\nare further optional peers loaded only on demand.\n\n**API mirror note:** the real `wa-chart` docs page\n(https://webawesome.com/docs/components/chart/) documents a `config:\nChartJS['config']` property alongside its simplified attributes — \"a\nflexible wrapper around Chart.js\" supporting *both* simplified attributes\nand full Chart.js configuration passthrough, not a `data`/`options` prop\npair. `lr-chart` mirrors that dual surface: the `LyraChartSeries`-based\n`datasets`/`labels`/`type`/`withoutLegend`/`xLabel`/`yLabel`/`zoom` attributes\nbelow are the simplified surface (compatible with WA's `type`, `xLabel`,\n`yLabel`, `withoutLegend`, etc.), and the additional\n`config` property is the raw-passthrough escape hatch — a\n`LyraChartConfiguration` deep-merged over the generated config in\n`buildConfig()`, mirroring WA's `config` property without discarding the\n`LyraChartSeries` shape the rest of this component family (subclasses, box-plot,\nhistogram) is built on.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
3260
+ "description": "`<lr-chart>` — the core Chart.js wrapper used directly and by the typed\nChart.js tags plus `<lr-histogram>`. `<lr-lite-chart>` and `<lr-box-plot>`\nare independent implementations. Requires the optional peer dep `chart.js`; `chartjs-plugin-zoom`\n(for `zoom`) and `chartjs-plugin-datalabels` (for `data-labels`/`stack-totals`)\nare further optional peers loaded only on demand.\n\n**API mirror note:** the real `wa-chart` docs page\n(https://webawesome.com/docs/components/chart/) documents a `config:\nChartJS['config']` property alongside its simplified attributes — \"a\nflexible wrapper around Chart.js\" supporting *both* simplified attributes\nand full Chart.js configuration passthrough, not a `data`/`options` prop\npair. `lr-chart` mirrors that dual surface: the `LyraChartSeries`-based\n`datasets`/`labels`/`type`/`withoutLegend`/`xLabel`/`yLabel`/`zoom` attributes\nbelow are the simplified surface (compatible with WA's `type`, `xLabel`,\n`yLabel`, `withoutLegend`, etc.), and the additional\n`config` property is the raw-passthrough escape hatch — a\n`LyraChartConfiguration` deep-merged over the generated config in\n`buildConfig()`, mirroring WA's `config` property without discarding the\n`LyraChartSeries` shape the rest of this component family (subclasses, box-plot,\nhistogram) is built on.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-table-toggle` | The disclosure button rendered by `dataTableToggle`. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-data-table-toggle-active-bg` — Pressed background of the `dataTableToggle` disclosure button; defaults to a mix of the hover background with the shared active mix partner.\n- `--lr-chart-data-table-toggle-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the `dataTableToggle` disclosure button.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
3234
3261
  "attributes": [
3235
3262
  {
3236
3263
  "name": "annotations",
@@ -3263,6 +3290,15 @@
3263
3290
  ]
3264
3291
  }
3265
3292
  },
3293
+ {
3294
+ "name": "data-table-toggle",
3295
+ "description": "Render a disclosure button above the accessible data table so a sighted reader can reveal the\nnumbers behind the chart on demand. `showDataTable` alone is all-or-nothing -- the table is\neither permanently screen-reader-only or permanently visible -- which left a consumer wrapping\na duplicated table in their own `<details>`.\n\nWith this set, `showDataTable` becomes the disclosure's *initial* state rather than its whole\nbehavior. The table stays in the DOM in both states, so assistive technology never loses it.\n\nType: `boolean` \nDefault: `false`",
3296
+ "value": {
3297
+ "type": [
3298
+ "boolean"
3299
+ ]
3300
+ }
3301
+ },
3266
3302
  {
3267
3303
  "name": "description",
3268
3304
  "description": "Accessible chart description.\n\nType: `string | null` \nDefault: `null`"
@@ -5154,7 +5190,7 @@
5154
5190
  },
5155
5191
  {
5156
5192
  "name": "lr-combobox",
5157
- "description": "`<lr-combobox>` — a filterable single/multi select that combines a text\ninput with a listbox. Mirrors the core `<wa-combobox>` API under `lr-`.\n\nOptions are `<lr-option value>` children. Emits native-style `change`/`input`\n(like Web Awesome) plus `lr-show`/`lr-hide`/`lr-clear`.\nEnter commits the highlighted option while the listbox has one; with nothing highlighted it\nperforms the implicit form submission a native text field would (see\n`internal/submit-on-enter.ts` — the internal input is in a shadow root and has no form owner, so\nthe platform can never do it here).\nStandard size tiers share their outer control height with sibling Lyra controls; the decorative\nexpand icon scales inside that allocation without creating an independent action target.\nIf local options or async rows change while a row is keyboard-active, the active descendant\nclamps to the nearest enabled survivor and clears when none remain.\nAn async `source` failure renders as a disabled listbox row, not a shadow-root live region; each\ncurrent post-mount rejection appends the localized `comboboxLoadError` message to the shared\nlight-DOM assertive announcement sink. Raw caught error text is never exposed to users.\nThe floating listbox is a nonmodal shared-overlay-manager entry. Visual stack order, Escape,\noutside-pointer dismissal, and focus handoff are therefore owned by only the newest Lyra\noverlay, including when another popup such as `lr-color-picker` remains open underneath it.\nThe editable combobox input exposes explicit stateful `aria-invalid`: visible error chrome wins\nimmediately, while intrinsic/custom invalidity is exposed only after interaction.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | `<lr-option>` elements. |\n| `clear-icon` | Replaces the clear button's built-in icon. |\n| `end` | Adornment after the filter input and the built-in clear action, and before the expand icon — so consumer content never sits outboard of the dropdown chevron. |\n| `error` | Custom error content. |\n| `expand-icon` | Replaces the dropdown indicator's built-in icon. |\n| `hint` | Custom hint content. |\n| `label` | Custom label content. |\n| `start` | Adornment at the inline-start of the trigger row, before the selected-value tags and the filter input. Slotted content is decorative chrome, not an option: `collectOptions()` only ever collects `<lr-option>` elements from the default slot. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `clear-button` | The clear button. |\n| `combobox` | The input container (positioning anchor). |\n| `combobox-input` | The text input. |\n| `end` | Wrapper around the `end` adornment slot; `hidden` while nothing is slotted. |\n| `error` | Ordinary form-validation text referenced by the internal input; it is not a live region, avoiding a second announcement alongside native validation/focus feedback. |\n| `expand-icon` | The dropdown indicator. |\n| `form-control` | The outer wrapper around label, combobox, listbox, error and hint. |\n| `form-control-input` | Compatibility wrapper around the editable control. |\n| `form-control-label` | The `<label>` element. |\n| `group-label` | The heading of an option group (rows sharing a `group`), named as on `lr-select` and `lr-emoji-picker` so one rule can style every grouped list. |\n| `hint` | The hint message. |\n| `label` | Compatibility wrapper around the visible label content. |\n| `listbox` | The managed nonmodal options popover; its stack depth comes from `--lr-overlay-stack-index` with `--lr-layer-dropdown` as the standalone fallback. |\n| `option` | An option row. |\n| `option-badge` | An async option row's optional trailing metadata badge. |\n| `option-dot` | An option row's leading status dot (when `dot-color` is set). |\n| `option-icon` | An async option row's optional decorative leading visual. Its rendered subtree remains visible but is inert and hidden from assistive technology. |\n| `option-label` | An option row's label/sub wrapper. |\n| `option-overflow` | The \"+N more\" indicator shown when rows are capped by `maxRender`. |\n| `option-sub` | An option row's secondary line (when `sub` is set). |\n| `start` | Wrapper around the `start` adornment slot; `hidden` while nothing is slotted. |\n| `tag` | An individual selected tag. |\n| `tag-label` | The wrapping/ellipsis-safe selected-tag label. |\n| `tag__content` | Compatibility wrapper around a selected tag's visible content. |\n| `tag__remove-button` | A tag's remove button. |\n| `tag__remove-button__base` | Compatibility name on a tag's remove button. |\n| `tags` | The multi-select tag container. |\n\n---\n\n**CSS Custom Properties**\n\n- `--hide-duration` (default: `var(--lr-transition-fast)`) — Listbox exit-transition duration.\n- `--lr-combobox-expand-size` — Decorative expand-icon box size, scaled by `size`.\n- `--lr-combobox-font-size` (default: `var(--lr-form-control-font-size)`) — Input text size, from the shared form-control size ladder.\n- `--lr-combobox-gap` (default: `var(--lr-space-xs)`) — Gap between the start/end adornments, tags, and filter input inside the trigger row. Unlike the size knobs above it does not vary by `size` tier. Override it to retune without a `::part(combobox)` rule.\n- `--lr-combobox-option-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of a hovered or keyboard-active option row.\n- `--lr-combobox-option-selected-bg` (default: `transparent`) — Background of the currently-selected option row. Not declared on `:host`; retheme without hijacking `--lr-color-brand`.\n- `--lr-combobox-option-selected-border` (default: `var(--lr-color-brand)`) — Border color of the selected option row.\n- `--lr-combobox-option-selected-color` (default: `var(--lr-color-brand)`) — Text color of the selected option row.\n- `--lr-combobox-option-selected-font-weight` (default: `var(--lr-font-weight-semibold)`) — Font weight of the selected option row.\n- `--lr-combobox-radius` (default: `var(--lr-radius)`) — Corner radius of the trigger row (`[part='combobox']`). Does not vary by `size` tier; the `pill` attribute swaps it for `--lr-radius-pill`.\n- `--lr-combobox-tag-font-size` — Selected-tag text size.\n- `--lr-combobox-tag-padding` — Selected-tag padding.\n- `--lr-combobox-trigger-height` — Exact input-container height. Unset by default, which leaves `--lr-combobox-trigger-min-height` as a floor only; set it to a length to both floor and cap the row (e.g. to pixel-match `<lr-input>`/`<lr-select>` in the same toolbar). Because it is never declared by the component itself, it can be set from an ancestor or an outer-tree rule as well as inline on the element. Intended for a single-row combobox: in `multiple` mode a tag row long enough to wrap overflows the pinned box visibly (nothing is clipped or made unreachable), so leave it unset there.\n- `--lr-combobox-trigger-min-height` (default: `var(--lr-form-control-height)`) — Minimum input-container block size. Reads the shared form-control height ladder, so retuning `--lr-theme-form-control-height-*` moves this control and every sibling field together.\n- `--lr-combobox-trigger-padding` — Padding inside the input container.\n- `--lr-form-control-required-color` (default: `var(--lr-color-danger)`) — Required-marker color, themeable independently of error text and invalid borders.\n- `--lr-form-control-required-content` (default: `' *'`) — The required marker appended to `form-control-label` while `required` is set. Set it to `''` to suppress the marker, or to any other quoted string (`' (required)'`, a localized word) to replace it.\n- `--lr-form-control-required-offset` (default: `0`) — Inline space between the label text and the required marker.\n- `--show-duration` (default: `var(--lr-transition-fast)`) — Listbox enter-transition duration.\n- `--tag-max-size` (default: `var(--lr-size-5rem)`) — Maximum inline size of a built-in selected tag.",
5193
+ "description": "`<lr-combobox>` — a filterable single/multi select that combines a text\ninput with a listbox. Mirrors the core `<wa-combobox>` API under `lr-`.\n\nOptions are `<lr-option value>` children. Emits native-style `change`/`input`\n(like Web Awesome) plus `lr-show`/`lr-hide`/`lr-clear`.\nEnter commits the highlighted option while the listbox has one; with nothing highlighted it\nperforms the implicit form submission a native text field would (see\n`internal/submit-on-enter.ts` — the internal input is in a shadow root and has no form owner, so\nthe platform can never do it here).\nStandard size tiers share their outer control height with sibling Lyra controls; the decorative\nexpand icon scales inside that allocation without creating an independent action target.\nIf local options or async rows change while a row is keyboard-active, the active descendant\nclamps to the nearest enabled survivor and clears when none remain.\nAn async `source` failure renders as a disabled listbox row, not a shadow-root live region; each\ncurrent post-mount rejection appends the localized `comboboxLoadError` message to the shared\nlight-DOM assertive announcement sink. Raw caught error text is never exposed to users.\nThe floating listbox is a nonmodal shared-overlay-manager entry. Visual stack order, Escape,\noutside-pointer dismissal, and focus handoff are therefore owned by only the newest Lyra\noverlay, including when another popup such as `lr-color-picker` remains open underneath it.\nThe editable combobox input exposes explicit stateful `aria-invalid`: visible error chrome wins\nimmediately, while intrinsic/custom invalidity is exposed only after interaction.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | `<lr-option>` elements. |\n| `clear-icon` | Replaces the clear button's built-in icon. |\n| `end` | Adornment after the filter input and the built-in clear action, and before the expand icon — so consumer content never sits outboard of the dropdown chevron. |\n| `error` | Custom error content. |\n| `expand-icon` | Replaces the dropdown indicator's built-in icon. |\n| `hint` | Custom hint content. |\n| `label` | Custom label content. |\n| `start` | Adornment at the inline-start of the trigger row, before the selected-value tags and the filter input. Slotted content is decorative chrome, not an option: `collectOptions()` only ever collects `<lr-option>` elements from the default slot. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `clear-button` | The clear button. |\n| `combobox` | The input container (positioning anchor). |\n| `combobox-input` | The text input. |\n| `end` | Wrapper around the `end` adornment slot; `hidden` while nothing is slotted. |\n| `error` | Ordinary form-validation text referenced by the internal input; it is not a live region, avoiding a second announcement alongside native validation/focus feedback. |\n| `expand-icon` | The dropdown indicator. |\n| `form-control` | The outer wrapper around label, combobox, listbox, error and hint. |\n| `form-control-input` | Compatibility wrapper around the editable control. |\n| `form-control-label` | The `<label>` element. |\n| `group-label` | The heading of an option group (rows sharing a `group`), named as on `lr-select` and `lr-emoji-picker` so one rule can style every grouped list. |\n| `hint` | The hint message. |\n| `label` | Compatibility wrapper around the visible label content. |\n| `listbox` | The managed nonmodal options popover; its stack depth comes from `--lr-overlay-stack-index` with `--lr-layer-dropdown` as the standalone fallback. |\n| `option` | An option row. |\n| `option-badge` | An async option row's optional trailing metadata badge. |\n| `option-dot` | An option row's leading status dot (when `dot-color` is set). |\n| `option-end` | An option row's trailing adornment, cloned from the source `<lr-option>`'s `end`/`suffix` slot (or an async row's `end`). Inert and aria-hidden. |\n| `option-icon` | An async option row's optional decorative leading visual. Its rendered subtree remains visible but is inert and hidden from assistive technology. |\n| `option-label` | An option row's label/sub wrapper. |\n| `option-overflow` | The \"+N more\" indicator shown when rows are capped by `maxRender`. |\n| `option-start` | An option row's leading adornment, cloned from the source `<lr-option>`'s `start`/`prefix` slot (or an async row's `start`). Inert and aria-hidden. |\n| `option-sub` | An option row's secondary line (when `sub` is set). |\n| `start` | Wrapper around the `start` adornment slot; `hidden` while nothing is slotted. |\n| `tag` | An individual selected tag. |\n| `tag-label` | The wrapping/ellipsis-safe selected-tag label. |\n| `tag__content` | Compatibility wrapper around a selected tag's visible content. |\n| `tag__remove-button` | A tag's remove button. |\n| `tag__remove-button__base` | Compatibility name on a tag's remove button. |\n| `tags` | The multi-select tag container. |\n\n---\n\n**CSS Custom Properties**\n\n- `--hide-duration` (default: `var(--lr-transition-fast)`) — Listbox exit-transition duration.\n- `--lr-combobox-expand-size` — Decorative expand-icon box size, scaled by `size`.\n- `--lr-combobox-font-size` (default: `var(--lr-form-control-font-size)`) — Input text size, from the shared form-control size ladder.\n- `--lr-combobox-gap` (default: `var(--lr-space-xs)`) — Gap between the start/end adornments, tags, and filter input inside the trigger row. Unlike the size knobs above it does not vary by `size` tier. Override it to retune without a `::part(combobox)` rule.\n- `--lr-combobox-option-active-bg` (default: `var(--lr-color-brand-quiet)`) — Background of a hovered or keyboard-active option row.\n- `--lr-combobox-option-selected-bg` (default: `transparent`) — Background of the currently-selected option row. Not declared on `:host`; retheme without hijacking `--lr-color-brand`.\n- `--lr-combobox-option-selected-border` (default: `var(--lr-color-brand)`) — Border color of the selected option row.\n- `--lr-combobox-option-selected-color` (default: `var(--lr-color-brand)`) — Text color of the selected option row.\n- `--lr-combobox-option-selected-font-weight` (default: `var(--lr-font-weight-semibold)`) — Font weight of the selected option row.\n- `--lr-combobox-radius` (default: `var(--lr-radius)`) — Corner radius of the trigger row (`[part='combobox']`). Does not vary by `size` tier; the `pill` attribute swaps it for `--lr-radius-pill`.\n- `--lr-combobox-tag-font-size` — Selected-tag text size.\n- `--lr-combobox-tag-padding` — Selected-tag padding.\n- `--lr-combobox-trigger-height` — Exact input-container height. Unset by default, which leaves `--lr-combobox-trigger-min-height` as a floor only; set it to a length to both floor and cap the row (e.g. to pixel-match `<lr-input>`/`<lr-select>` in the same toolbar). Because it is never declared by the component itself, it can be set from an ancestor or an outer-tree rule as well as inline on the element. Intended for a single-row combobox: in `multiple` mode a tag row long enough to wrap overflows the pinned box visibly (nothing is clipped or made unreachable), so leave it unset there.\n- `--lr-combobox-trigger-min-height` (default: `var(--lr-form-control-height)`) — Minimum input-container block size. Reads the shared form-control height ladder, so retuning `--lr-theme-form-control-height-*` moves this control and every sibling field together.\n- `--lr-combobox-trigger-padding` — Padding inside the input container.\n- `--lr-form-control-required-color` (default: `var(--lr-color-danger)`) — Required-marker color, themeable independently of error text and invalid borders.\n- `--lr-form-control-required-content` (default: `' *'`) — The required marker appended to `form-control-label` while `required` is set. Set it to `''` to suppress the marker, or to any other quoted string (`' (required)'`, a localized word) to replace it.\n- `--lr-form-control-required-offset` (default: `0`) — Inline space between the label text and the required marker.\n- `--show-duration` (default: `var(--lr-transition-fast)`) — Listbox enter-transition duration.\n- `--tag-max-size` (default: `var(--lr-size-5rem)`) — Maximum inline size of a built-in selected tag.",
5158
5194
  "attributes": [
5159
5195
  {
5160
5196
  "name": "allow-create",
@@ -5302,7 +5338,7 @@
5302
5338
  },
5303
5339
  {
5304
5340
  "name": "max-options-visible",
5305
- "description": "Maximum number of selected-value tags shown before the rest collapse behind a \"+N\" tag\n(multi-select only). Sanitized to a finite, non-negative integer.\n\nType: `number` \nDefault: `3`",
5341
+ "description": "Maximum number of selected-value **tags** shown before the rest collapse behind a \"+N\" tag\n(multi-select only). Sanitized to a finite, non-negative integer.\n\nNot to be confused with the two caps on the suggestion list: `visibleOptions` bounds how many\nsuggestion rows are visible at once, and `maxRender` bounds how many are rendered at all.\nThis one only ever concerns the tags for values already chosen.\n\nType: `number` \nDefault: `3`",
5306
5342
  "value": {
5307
5343
  "type": [
5308
5344
  "number"
@@ -5311,7 +5347,7 @@
5311
5347
  },
5312
5348
  {
5313
5349
  "name": "max-render",
5314
- "description": "Maximum number of rows rendered before the rest collapse behind the overflow indicator\n(the current selection is always kept visible regardless). Sanitized to a finite,\nnon-negative integer capped at 1,000.\n\nRows render in full rather than as a recycled scroll window, because the filter input's\n`aria-activedescendant` is an IDREF and can only resolve within its own tree scope — rows\nhosted inside a nested windowing element would sit one shadow root deeper than the input\nthat must point at them. Raising this to cover a few-hundred-entry list (countries,\ncurrencies, time zones) is the intended use; past roughly a thousand rows, `source` narrows\nthe set before it becomes DOM and is the better tool.\n\nType: `number`",
5350
+ "description": "Maximum number of suggestion rows **rendered into the DOM at all** before the rest collapse\nbehind the overflow indicator (the current selection is always kept visible regardless). This\nis a performance ceiling, not a visible-height affordance: rows past it do not exist and\ncannot be scrolled to. Use `visibleOptions` to bound the popup's height while keeping every\nrow reachable, and `maxOptionsVisible` for the selected-tag cap. Sanitized to a finite,\nnon-negative integer capped at 1,000.\n\nRows render in full rather than as a recycled scroll window, because the filter input's\n`aria-activedescendant` is an IDREF and can only resolve within its own tree scope — rows\nhosted inside a nested windowing element would sit one shadow root deeper than the input\nthat must point at them. Raising this to cover a few-hundred-entry list (countries,\ncurrencies, time zones) is the intended use; past roughly a thousand rows, `source` narrows\nthe set before it becomes DOM and is the better tool.\n\nType: `number`",
5315
5351
  "value": {
5316
5352
  "type": [
5317
5353
  "number"
@@ -5425,6 +5461,10 @@
5425
5461
  "name": "value",
5426
5462
  "description": "The selected value(s): a string in single mode, a string[] in `multiple` mode.\n\nType: `string | string[]`"
5427
5463
  },
5464
+ {
5465
+ "name": "visible-options",
5466
+ "description": "Bounds the popup to roughly this many option rows, leaving the rest reachable by scrolling.\n\nThis is the third and last of three similarly-named caps, which is exactly the confusion this\nproperty exists to end -- each does something different:\n- `visibleOptions` (this one) caps how many suggestion rows are **visible** at once. Purely\n presentational: every row is still rendered and still reachable by scrolling.\n- `maxOptionsVisible` caps how many **selected tags** are shown in multi-select before the\n \"+N\" summary. Nothing to do with the suggestion list.\n- `maxRender` caps how many suggestion rows are **rendered into the DOM at all**, as a\n performance ceiling; rows past it do not exist and are summarized by `option-overflow`.\n\nUnset imposes no bound of its own, leaving the listbox's existing max-height behavior exactly\nas it was. Zero, negative, and non-finite values normalize to unset rather than collapsing the\npopup.\n\nType: `number | undefined`"
5467
+ },
5428
5468
  {
5429
5469
  "name": "with-clear",
5430
5470
  "description": "Web Awesome's spelling of clearable, accepted so a mechanical `wa-` → `lr-` rename\ndoes not silently drop the clear button. Prefer `clearable` in new code.\n\nType: `boolean` \nDefault: `false`",
@@ -7054,7 +7094,7 @@
7054
7094
  },
7055
7095
  {
7056
7096
  "name": "lr-date-picker",
7057
- "description": "`<lr-date-picker>` — an inline month-grid calendar for picking a single date\nor a date range. Mirrors the core `<wa-date-picker>` API under `lr-`.\n\nValue is ISO 8601: `YYYY-MM-DD` (single) or `YYYY-MM-DD/YYYY-MM-DD` (range).\nCalendar arithmetic and formatting are explicitly proleptic Gregorian, including ISO years\n0000–0099; visible day/week digits still follow the effective locale's numbering system.\n\nDeliberately does **not** perform implicit form submission on Enter (unlike its `<lr-date-input>`\nwrapper, which routes through `internal/submit-on-enter.ts`): Enter selects the focused day in\nthe calendar grid — the grid's own commit key, the same carve-out `<lr-textarea>` has for a\nnewline. This element is also not form-associated; the wrapping `<lr-date-input>` is what\nparticipates in a `<form>`.\n\nMonth, year, and decade selection views retain one enabled roving Tab stop. Arrow keys follow\ntheir visual four-column grid (mirroring horizontally under RTL), Home and End move to the\nfirst and last enabled periods, and Enter or Space drills into the focused period.\nA period is enabled only when it contains a date selectable under the current bounds,\npast/future, date-list, weekday, predicate, and pending-range constraints.\n\n---\n\n**Component metadata**\n\n- Status: `experimental`\n- Since: `4.0.0`\n- Rationale: This exact tag already appears in published Lyra versions and remains experimental under full semver protection while its public API and usage patterns mature.\n- Graduation: Eligible for stable status once its documented API, populated accessibility states, cross-browser behavior, and compatibility contract demonstrate sustained reliability.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `day-YYYY-MM-DD` | Lyra extension for replacing an individual ISO calendar day's content. |\n| `footer` | Content below the calendar grids. |\n| `header` | Replaces the built-in navigation header. |\n| `next-icon` | Replaces the next-page icon. |\n| `previous-icon` | Replaces the previous-page icon. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | Permanent compatibility name on the same visible shell as `date-picker`. |\n| `date-picker` | The visible date-picker shell. |\n| `day` | A calendar day button. |\n| `day-disabled` | A disabled day. |\n| `day-label` | The visible day label. |\n| `day-outside` | A day outside the active month. |\n| `day-placeholder` | A non-day grid placeholder. |\n| `day-range-end` | The end of a selected range. |\n| `day-range-inner` | An interior day in a selected range. |\n| `day-range-preview` | A day in the pending range preview. |\n| `day-range-start` | The start of a selected range. |\n| `day-selected` | A selected day. |\n| `day-today` | A day representing today. |\n| `day-weekend` | A Saturday or Sunday. |\n| `footer` | The footer region. |\n| `grid` | A month date grid. |\n| `header` | The month header. |\n| `month` | A visible month wrapper. |\n| `month-label` | The interactive month label. |\n| `months` | The visible-month collection. |\n| `nav` | The navigation controls. |\n| `next` | The next-month button. |\n| `previous` | The previous-month button. |\n| `title` | The month title. |\n| `view-cell` | A cell in a selection grid. |\n| `view-grid` | A month/year/decade selection grid. |\n| `view-item` | A month/year/decade selection button. |\n| `view-item-disabled` | A disabled selection item. |\n| `view-item-selected` | The item containing the selected date. |\n| `view-item-today` | The item containing today. |\n| `view-row` | A row in a selection grid. |\n| `week` | A calendar week row. |\n| `weekday` | A weekday label. |\n| `weekdays` | The weekday header row. |\n| `weeknumber` | One week number. |\n| `weeknumbers` | The week-number column. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-cell-size` (default: `var(--lr-size-2-25rem)`) — Inline and block size of each day cell and the matching calendar grid track.\n- `--lr-date-picker-day-active-bg` (default: `color-mix(in oklab, var(--lr-date-picker-day-hover-bg, var(--lr-color-brand-quiet)), var(--lr-color-mix-partner) var(--lr-color-mix-active))`) — Day pressed background.\n- `--lr-date-picker-day-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Day hover background.\n- `--lr-date-picker-day-outside-color` (default: `var(--lr-color-text-quiet)`) — Adjacent-month day color.\n- `--lr-date-picker-disabled-color` (default: `var(--lr-color-text-quiet)`) — Disabled day text color.\n- `--lr-date-picker-disabled-opacity` (default: `var(--lr-opacity-disabled)`) — Disabled day opacity.\n- `--lr-date-picker-header-gap` (default: `var(--lr-space-s)`) — Month-header child gap.\n- `--lr-date-picker-month-gap` (default: `var(--lr-space-l)`) — Gap between visible months.\n- `--lr-date-picker-nav-active-bg` (default: `color-mix(in oklab, var(--lr-date-picker-nav-hover-bg, var(--lr-color-brand-quiet)), var(--lr-color-mix-partner) var(--lr-color-mix-active))`) — Pressed month-navigation background.\n- `--lr-date-picker-nav-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the `[part=\"previous\"]`/`[part=\"next\"]` month-navigation buttons.\n- `--lr-date-picker-radius` (default: `var(--lr-radius)`) — Calendar and control corner radius.\n- `--lr-date-picker-range-bg` (default: `var(--lr-color-brand-quiet)`) — Selected-range interior background.\n- `--lr-date-picker-range-color` (default: `var(--lr-color-text)`) — Adjacent-month range text color.\n- `--lr-date-picker-range-preview-bg` (default: `var(--lr-date-picker-range-bg, var(--lr-color-brand-quiet))`) — Pending-range preview background.\n- `--lr-date-picker-selected-bg` (default: `var(--lr-color-brand)`) — Selected day/range-endpoint background.\n- `--lr-date-picker-selected-color` (default: `var(--lr-color-on-brand)`) — Selected day/range-endpoint text color.\n- `--lr-date-picker-title-active-bg` (default: `var(--lr-color-brand-quiet)`) — Pressed title background.\n- `--lr-date-picker-title-active-color` (default: `var(--lr-color-brand)`) — Pressed title color.\n- `--lr-date-picker-title-active-radius` (default: `var(--lr-date-picker-radius)`) — Pressed title corner radius.\n- `--lr-date-picker-title-hover-color` (default: `var(--lr-color-brand)`) — Hovered title color.\n- `--lr-date-picker-today-outline` (default: `var(--lr-color-brand)`) — Today outline color.\n- `--lr-date-picker-view-active-bg` (default: `color-mix(in oklab, var(--lr-date-picker-view-hover-bg, var(--lr-color-brand-quiet)), var(--lr-color-mix-partner) var(--lr-color-mix-active))`) — Selection-view item pressed background.\n- `--lr-date-picker-view-disabled-opacity` (default: `var(--lr-opacity-disabled)`) — Disabled selection-view item opacity.\n- `--lr-date-picker-view-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Selection-view item hover background.\n- `--lr-date-picker-view-selected-bg` (default: `var(--lr-color-brand)`) — Selected selection-view item background.\n- `--lr-date-picker-view-selected-color` (default: `var(--lr-color-on-brand)`) — Selected selection-view item text color.\n- `--lr-date-picker-view-today-outline` (default: `var(--lr-color-brand)`) — Current-period selection-view outline.",
7097
+ "description": "`<lr-date-picker>` — an inline month-grid calendar for picking a single date\nor a date range. Mirrors the core `<wa-date-picker>` API under `lr-`.\n\nValue is ISO 8601: `YYYY-MM-DD` (single) or `YYYY-MM-DD/YYYY-MM-DD` (range).\nCalendar arithmetic and formatting are explicitly proleptic Gregorian, including ISO years\n0000–0099; visible day/week digits still follow the effective locale's numbering system.\n\nDeliberately does **not** perform implicit form submission on Enter (unlike its `<lr-date-input>`\nwrapper, which routes through `internal/submit-on-enter.ts`): Enter selects the focused day in\nthe calendar grid — the grid's own commit key, the same carve-out `<lr-textarea>` has for a\nnewline. This element is also not form-associated; the wrapping `<lr-date-input>` is what\nparticipates in a `<form>`.\n\nMonth, year, and decade selection views retain one enabled roving Tab stop. Arrow keys follow\ntheir visual four-column grid (mirroring horizontally under RTL), Home and End move to the\nfirst and last enabled periods, and Enter or Space drills into the focused period.\nA period is enabled only when it contains a date selectable under the current bounds,\npast/future, date-list, weekday, predicate, and pending-range constraints.\n\n---\n\n**Component metadata**\n\n- Status: `experimental`\n- Since: `4.0.0`\n- Rationale: This exact tag already appears in published Lyra versions and remains experimental under full semver protection while its public API and usage patterns mature.\n- Graduation: Eligible for stable status once its documented API, populated accessibility states, cross-browser behavior, and compatibility contract demonstrate sustained reliability.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `day-YYYY-MM-DD` | Lyra extension for replacing an individual ISO calendar day's content. |\n| `footer` | Content below the calendar grids. |\n| `header` | Replaces the built-in navigation header. |\n| `next-icon` | Replaces the next-page icon. |\n| `previous-icon` | Replaces the previous-page icon. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | Permanent compatibility name on the same visible shell as `date-picker`. |\n| `date-picker` | The visible date-picker shell. |\n| `day` | A calendar day button. |\n| `day-disabled` | A disabled day. |\n| `day-label` | The visible day label. |\n| `day-outside` | A day outside the active month. |\n| `day-placeholder` | A non-day grid placeholder. |\n| `day-range-end` | The end of a selected range. |\n| `day-range-inner` | An interior day in a selected range. |\n| `day-range-preview` | A day in the pending range preview. |\n| `day-range-start` | The start of a selected range. |\n| `day-selected` | A selected day. |\n| `day-today` | A day representing today. |\n| `day-weekend` | A Saturday or Sunday. |\n| `footer` | The footer region. |\n| `grid` | A month date grid. |\n| `header` | The month header. |\n| `month` | A visible month wrapper. |\n| `month-label` | The interactive month label. |\n| `months` | The visible-month collection. |\n| `nav` | The navigation controls. |\n| `next` | The next-month button. |\n| `preset-button` | One quick-range button; carries `data-active` while its range is the current value. |\n| `presets` | The quick-range button row, rendered only in range mode with `presets` set. |\n| `previous` | The previous-month button. |\n| `title` | The month title. |\n| `view-cell` | A cell in a selection grid. |\n| `view-grid` | A month/year/decade selection grid. |\n| `view-item` | A month/year/decade selection button. |\n| `view-item-disabled` | A disabled selection item. |\n| `view-item-selected` | The item containing the selected date. |\n| `view-item-today` | The item containing today. |\n| `view-row` | A row in a selection grid. |\n| `week` | A calendar week row. |\n| `weekday` | A weekday label. |\n| `weekdays` | The weekday header row. |\n| `weeknumber` | One week number. |\n| `weeknumbers` | The week-number column. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-cell-size` (default: `var(--lr-size-2-25rem)`) — Inline and block size of each day cell and the matching calendar grid track.\n- `--lr-date-picker-day-active-bg` (default: `color-mix(in oklab, var(--lr-date-picker-day-hover-bg, var(--lr-color-brand-quiet)), var(--lr-color-mix-partner) var(--lr-color-mix-active))`) — Day pressed background.\n- `--lr-date-picker-day-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Day hover background.\n- `--lr-date-picker-day-outside-color` (default: `var(--lr-color-text-quiet)`) — Adjacent-month day color.\n- `--lr-date-picker-disabled-color` (default: `var(--lr-color-text-quiet)`) — Disabled day text color.\n- `--lr-date-picker-disabled-opacity` (default: `var(--lr-opacity-disabled)`) — Disabled day opacity.\n- `--lr-date-picker-header-gap` (default: `var(--lr-space-s)`) — Month-header child gap.\n- `--lr-date-picker-month-gap` (default: `var(--lr-space-l)`) — Gap between visible months.\n- `--lr-date-picker-nav-active-bg` (default: `color-mix(in oklab, var(--lr-date-picker-nav-hover-bg, var(--lr-color-brand-quiet)), var(--lr-color-mix-partner) var(--lr-color-mix-active))`) — Pressed month-navigation background.\n- `--lr-date-picker-nav-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the `[part=\"previous\"]`/`[part=\"next\"]` month-navigation buttons.\n- `--lr-date-picker-preset-active-bg` — Pressed background of a quick-range button; defaults to a mix of the hover background with the shared active mix partner.\n- `--lr-date-picker-preset-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a quick-range button.\n- `--lr-date-picker-preset-selected-bg` (default: `var(--lr-color-brand)`) — Background and border of the quick-range button whose range is currently selected.\n- `--lr-date-picker-radius` (default: `var(--lr-radius)`) — Calendar and control corner radius.\n- `--lr-date-picker-range-bg` (default: `var(--lr-color-brand-quiet)`) — Selected-range interior background.\n- `--lr-date-picker-range-color` (default: `var(--lr-color-text)`) — Adjacent-month range text color.\n- `--lr-date-picker-range-preview-bg` (default: `var(--lr-date-picker-range-bg, var(--lr-color-brand-quiet))`) — Pending-range preview background.\n- `--lr-date-picker-selected-bg` (default: `var(--lr-color-brand)`) — Selected day/range-endpoint background.\n- `--lr-date-picker-selected-color` (default: `var(--lr-color-on-brand)`) — Selected day/range-endpoint text color.\n- `--lr-date-picker-title-active-bg` (default: `var(--lr-color-brand-quiet)`) — Pressed title background.\n- `--lr-date-picker-title-active-color` (default: `var(--lr-color-brand)`) — Pressed title color.\n- `--lr-date-picker-title-active-radius` (default: `var(--lr-date-picker-radius)`) — Pressed title corner radius.\n- `--lr-date-picker-title-hover-color` (default: `var(--lr-color-brand)`) — Hovered title color.\n- `--lr-date-picker-today-outline` (default: `var(--lr-color-brand)`) — Today outline color.\n- `--lr-date-picker-view-active-bg` (default: `color-mix(in oklab, var(--lr-date-picker-view-hover-bg, var(--lr-color-brand-quiet)), var(--lr-color-mix-partner) var(--lr-color-mix-active))`) — Selection-view item pressed background.\n- `--lr-date-picker-view-disabled-opacity` (default: `var(--lr-opacity-disabled)`) — Disabled selection-view item opacity.\n- `--lr-date-picker-view-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Selection-view item hover background.\n- `--lr-date-picker-view-selected-bg` (default: `var(--lr-color-brand)`) — Selected selection-view item background.\n- `--lr-date-picker-view-selected-color` (default: `var(--lr-color-on-brand)`) — Selected selection-view item text color.\n- `--lr-date-picker-view-today-outline` (default: `var(--lr-color-brand)`) — Current-period selection-view outline.",
7058
7098
  "attributes": [
7059
7099
  {
7060
7100
  "name": "disable-future",
@@ -7995,7 +8035,7 @@
7995
8035
  },
7996
8036
  {
7997
8037
  "name": "lr-doughnut-chart",
7998
- "description": "`<lr-doughnut-chart>` — `<lr-chart>` with a `\"doughnut\"` default and the mirrored writable type.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
8038
+ "description": "`<lr-doughnut-chart>` — `<lr-chart>` with a `\"doughnut\"` default and the mirrored writable type.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-table-toggle` | The disclosure button rendered by `dataTableToggle`. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-data-table-toggle-active-bg` — Pressed background of the `dataTableToggle` disclosure button; defaults to a mix of the hover background with the shared active mix partner.\n- `--lr-chart-data-table-toggle-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the `dataTableToggle` disclosure button.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
7999
8039
  "attributes": [
8000
8040
  {
8001
8041
  "name": "annotations",
@@ -8028,6 +8068,15 @@
8028
8068
  ]
8029
8069
  }
8030
8070
  },
8071
+ {
8072
+ "name": "data-table-toggle",
8073
+ "description": "Render a disclosure button above the accessible data table so a sighted reader can reveal the\nnumbers behind the chart on demand. `showDataTable` alone is all-or-nothing -- the table is\neither permanently screen-reader-only or permanently visible -- which left a consumer wrapping\na duplicated table in their own `<details>`.\n\nWith this set, `showDataTable` becomes the disclosure's *initial* state rather than its whole\nbehavior. The table stays in the DOM in both states, so assistive technology never loses it.\n\nType: `boolean` \nDefault: `false`",
8074
+ "value": {
8075
+ "type": [
8076
+ "boolean"
8077
+ ]
8078
+ }
8079
+ },
8031
8080
  {
8032
8081
  "name": "description",
8033
8082
  "description": "Accessible chart description.\n\nType: `string | null` \nDefault: `null`"
@@ -8510,7 +8559,8 @@
8510
8559
  "value": {
8511
8560
  "type": [
8512
8561
  "'dialog'",
8513
- "'menu'"
8562
+ "'menu'",
8563
+ "'none'"
8514
8564
  ]
8515
8565
  }
8516
8566
  },
@@ -9750,7 +9800,7 @@
9750
9800
  },
9751
9801
  {
9752
9802
  "name": "lr-flag",
9753
- "description": "`<lr-flag>` — a country/language flag.\n\nFlag images are shipped by the optional peer package `@aceshooting/lyra-flags`,\nnot bundled into lyra-ui itself, so importing the core library pulls zero flag\nweight. Give it a `country` (ISO 3166-1 alpha-2) or a `language` tag (mapped to\na representative country). While that peer package's `flagUrl()` resolves,\nthe host carries `aria-busy=\"true\"`; a decorative skeleton and ordinary, non-live localized\nloading text render in its place. A missing or failed peer resolver fails closed with a localized visible error and a\nshared light-DOM assertive announcement;\nan installed resolver returning no URL for an unknown code remains a valid\nempty result.\n\n**Bundle-size note:** `country`/`language` resolve through the peer package's\n`flagUrl(code)`, which lazily fetches one requested flag at runtime. A\nbundler may still emit the complete reachable lazy-chunk graph; use a\nliteral asset subpath import when the deployment artifact must be pruned.\nIf you already\nhave a flag's URL at build time (e.g. from your own literal\n`import frUrl from '@aceshooting/lyra-flags/flags/fr.svg?url'`), pass it as\n`src` instead to skip the peer-package round trip (and its loading-skeleton\nflash) entirely.\n\nThe ~65 flags whose design includes a detailed coat of arms/seal/emblem (e.g. `es`, `pt`) ship\nthree fidelity tiers; choose one with `fidelity`: `\"compact\"` (a tiny WebP raster for icon-scale\nuse — menu items, language selectors, dense lists), the default `\"standard\"` (icon-optimized\nvector for card/row sizes), or `\"detailed\"` (the pristine full-detail vector for hero-scale\ndisplay). A no-op for every other code — all tiers resolve to the same file. See `fidelity`'s own\ndoc.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `fallback` | Rendered in place of the flag when `country`/`language` cannot resolve to a current flag (an unassigned, historical, or malformed code). Wins over the `fallback` property. Distinct from the peer-resolver failure that produces `[part=\"error\"]`: an unresolvable code is data, not a defect. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `error` | Ordinary localized visible error rendered when the optional peer resolver is unavailable or fails; each fresh resolution failure appends the same localized message to the shared light-DOM assertive announcement sink. |\n| `fallback-image` | The `fallback` property's placeholder image, when no `fallback` slot content is supplied. |\n| `image` | The underlying <img>. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-flag-aspect-ratio` (default: `4 / 3`) — Rectangular flag aspect ratio.\n- `--lr-flag-object-fit` (default: `cover`) — How the image fits its flag frame.\n- `--lr-flag-radius` — Rectangular flag corner radius.",
9803
+ "description": "`<lr-flag>` — a country/language flag.\n\nFlag images are shipped by the optional peer package `@aceshooting/lyra-flags`,\nnot bundled into lyra-ui itself, so importing the core library pulls zero flag\nweight. Give it a `country` (ISO 3166-1 alpha-2) or a `language` tag (mapped to\na representative country). While that peer package's `flagUrl()` resolves,\nthe host carries `aria-busy=\"true\"`; a decorative skeleton and ordinary, non-live localized\nloading text render in its place. A missing or failed peer resolver fails closed with a localized visible error and a\nshared light-DOM assertive announcement, plus a one-time `console.warn` naming the code and the\n`flag-peer.js` import that registers a resolver -- the visible error alone cannot tell a\ndeveloper that the fix is a missing import rather than missing flag data;\nan installed resolver returning no URL for an unknown code remains a valid\nempty result.\n\n**Bundle-size note:** `country`/`language` resolve through the peer package's\n`flagUrl(code)`, which lazily fetches one requested flag at runtime. A\nbundler may still emit the complete reachable lazy-chunk graph; use a\nliteral asset subpath import when the deployment artifact must be pruned.\nIf you already\nhave a flag's URL at build time (e.g. from your own literal\n`import frUrl from '@aceshooting/lyra-flags/flags/fr.svg?url'`), pass it as\n`src` instead to skip the peer-package round trip (and its loading-skeleton\nflash) entirely.\n\nThe ~65 flags whose design includes a detailed coat of arms/seal/emblem (e.g. `es`, `pt`) ship\nthree fidelity tiers; choose one with `fidelity`: `\"compact\"` (a tiny WebP raster for icon-scale\nuse — menu items, language selectors, dense lists), the default `\"standard\"` (icon-optimized\nvector for card/row sizes), or `\"detailed\"` (the pristine full-detail vector for hero-scale\ndisplay). A no-op for every other code — all tiers resolve to the same file. See `fidelity`'s own\ndoc.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| `fallback` | Rendered in place of the flag when `country`/`language` cannot resolve to a current flag (an unassigned, historical, or malformed code). Wins over the `fallback` property. Distinct from the peer-resolver failure that produces `[part=\"error\"]`: an unresolvable code is data, not a defect. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `error` | Ordinary localized visible error rendered when the optional peer resolver is unavailable or fails; each fresh resolution failure appends the same localized message to the shared light-DOM assertive announcement sink. |\n| `fallback-image` | The `fallback` property's placeholder image, when no `fallback` slot content is supplied. |\n| `image` | The underlying <img>. |\n\n---\n\n**CSS Custom Properties**\n\n- `--lr-flag-aspect-ratio` (default: `4 / 3`) — Rectangular flag aspect ratio.\n- `--lr-flag-object-fit` (default: `cover`) — How the image fits its flag frame.\n- `--lr-flag-radius` — Rectangular flag corner radius.",
9754
9804
  "attributes": [
9755
9805
  {
9756
9806
  "name": "country",
@@ -11019,7 +11069,11 @@
11019
11069
  },
11020
11070
  {
11021
11071
  "name": "col-label-height",
11022
- "description": "Height, in CSS px, of the matrix column-label band. Unset keeps the built-in 20px.\n\nType: `number | undefined`"
11072
+ "description": "Height, in CSS px, of the matrix column-label band, or `\"auto\"` to measure the labels and size\nthe band to fit them (never below the built-in 20px, and bounded above by a sanity ceiling so a\npathological label cannot produce an absurd canvas). Under a non-zero\n`colLabelRotation` the measurement projects each label's width through the rotation, which is\nwhat makes a rotated axis usable without hand-tuning a magic number.\n\nUnset keeps the built-in 20px, for the same reason `rowLabelWidth` does: auto-sizing every\nexisting heatmap would silently reflow charts whose labels already fit.\n\nType: `number | 'auto' | undefined`"
11073
+ },
11074
+ {
11075
+ "name": "col-label-rotation",
11076
+ "description": "Rotation, in degrees, applied to matrix column labels. Unset (or `0`) paints them horizontally\nexactly as before. In a dense matrix the per-column width is far narrower than a typical label,\nso horizontal labels collide with their neighbours; `45` or `90` is the standard remedy.\n\nEach label is rotated about an anchor at its own column's centre, with the label's *end* at the\nanchor, so it leans up and back over the columns to its left and the last column's label cannot\noverflow the canvas. Values outside `[0, 90]` clamp into it and non-finite values normalize to\n`0`; a rotation is not a coordinate a caller can usefully be surprised by.\n\nPair with `colLabelHeight=\"auto\"` to have the band size itself to the rotated extent.\n\nNot mirrored under `dir=\"rtl\"`: both grid modes deliberately retain physical LTR geometry (see\nthe class doc), and leaning one axis' labels the other way while the grid itself stays physical\nwould be incoherent.\n\nType: `number | undefined`"
11023
11077
  },
11024
11078
  {
11025
11079
  "name": "fit-to-width",
@@ -11101,7 +11155,7 @@
11101
11155
  },
11102
11156
  {
11103
11157
  "name": "lr-histogram",
11104
- "description": "`<lr-histogram>` — bins `values` into `bins` equal-width buckets and\nrenders them as a bar chart. Chart.js has no built-in histogram\ncontroller; this composes `binValues()` with the plain `bar` type.\n\nPublic collection properties take bounded, clone-owned readonly snapshots. Create a new\ncollection and reassign it after changes; mutating the assigned array does not update the view.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
11158
+ "description": "`<lr-histogram>` — bins `values` into `bins` equal-width buckets and\nrenders them as a bar chart. Chart.js has no built-in histogram\ncontroller; this composes `binValues()` with the plain `bar` type.\n\nPublic collection properties take bounded, clone-owned readonly snapshots. Create a new\ncollection and reassign it after changes; mutating the assigned array does not update the view.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-table-toggle` | The disclosure button rendered by `dataTableToggle`. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-data-table-toggle-active-bg` — Pressed background of the `dataTableToggle` disclosure button; defaults to a mix of the hover background with the shared active mix partner.\n- `--lr-chart-data-table-toggle-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the `dataTableToggle` disclosure button.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
11105
11159
  "attributes": [
11106
11160
  {
11107
11161
  "name": "annotations",
@@ -11143,6 +11197,15 @@
11143
11197
  ]
11144
11198
  }
11145
11199
  },
11200
+ {
11201
+ "name": "data-table-toggle",
11202
+ "description": "Render a disclosure button above the accessible data table so a sighted reader can reveal the\nnumbers behind the chart on demand. `showDataTable` alone is all-or-nothing -- the table is\neither permanently screen-reader-only or permanently visible -- which left a consumer wrapping\na duplicated table in their own `<details>`.\n\nWith this set, `showDataTable` becomes the disclosure's *initial* state rather than its whole\nbehavior. The table stays in the DOM in both states, so assistive technology never loses it.\n\nType: `boolean` \nDefault: `false`",
11203
+ "value": {
11204
+ "type": [
11205
+ "boolean"
11206
+ ]
11207
+ }
11208
+ },
11146
11209
  {
11147
11210
  "name": "description",
11148
11211
  "description": "Accessible chart description.\n\nType: `string | null` \nDefault: `null`"
@@ -12835,7 +12898,7 @@
12835
12898
  },
12836
12899
  {
12837
12900
  "name": "lr-line-chart",
12838
- "description": "`<lr-line-chart>` — `<lr-chart>` with a `\"line\"` default and the mirrored writable type.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
12901
+ "description": "`<lr-line-chart>` — `<lr-chart>` with a `\"line\"` default and the mirrored writable type.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-table-toggle` | The disclosure button rendered by `dataTableToggle`. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-data-table-toggle-active-bg` — Pressed background of the `dataTableToggle` disclosure button; defaults to a mix of the hover background with the shared active mix partner.\n- `--lr-chart-data-table-toggle-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the `dataTableToggle` disclosure button.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
12839
12902
  "attributes": [
12840
12903
  {
12841
12904
  "name": "annotations",
@@ -12868,6 +12931,15 @@
12868
12931
  ]
12869
12932
  }
12870
12933
  },
12934
+ {
12935
+ "name": "data-table-toggle",
12936
+ "description": "Render a disclosure button above the accessible data table so a sighted reader can reveal the\nnumbers behind the chart on demand. `showDataTable` alone is all-or-nothing -- the table is\neither permanently screen-reader-only or permanently visible -- which left a consumer wrapping\na duplicated table in their own `<details>`.\n\nWith this set, `showDataTable` becomes the disclosure's *initial* state rather than its whole\nbehavior. The table stays in the DOM in both states, so assistive technology never loses it.\n\nType: `boolean` \nDefault: `false`",
12937
+ "value": {
12938
+ "type": [
12939
+ "boolean"
12940
+ ]
12941
+ }
12942
+ },
12871
12943
  {
12872
12944
  "name": "description",
12873
12945
  "description": "Accessible chart description.\n\nType: `string | null` \nDefault: `null`"
@@ -16575,7 +16647,7 @@
16575
16647
  },
16576
16648
  {
16577
16649
  "name": "lr-pie-chart",
16578
- "description": "`<lr-pie-chart>` — `<lr-chart>` with a `\"pie\"` default and the mirrored writable type. Single-series:\none `LyraChartSeries` with `data: number[]` and `color: string[]` as the slice palette.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
16650
+ "description": "`<lr-pie-chart>` — `<lr-chart>` with a `\"pie\"` default and the mirrored writable type. Single-series:\none `LyraChartSeries` with `data: number[]` and `color: string[]` as the slice palette.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-table-toggle` | The disclosure button rendered by `dataTableToggle`. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-data-table-toggle-active-bg` — Pressed background of the `dataTableToggle` disclosure button; defaults to a mix of the hover background with the shared active mix partner.\n- `--lr-chart-data-table-toggle-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the `dataTableToggle` disclosure button.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
16579
16651
  "attributes": [
16580
16652
  {
16581
16653
  "name": "annotations",
@@ -16608,6 +16680,15 @@
16608
16680
  ]
16609
16681
  }
16610
16682
  },
16683
+ {
16684
+ "name": "data-table-toggle",
16685
+ "description": "Render a disclosure button above the accessible data table so a sighted reader can reveal the\nnumbers behind the chart on demand. `showDataTable` alone is all-or-nothing -- the table is\neither permanently screen-reader-only or permanently visible -- which left a consumer wrapping\na duplicated table in their own `<details>`.\n\nWith this set, `showDataTable` becomes the disclosure's *initial* state rather than its whole\nbehavior. The table stays in the DOM in both states, so assistive technology never loses it.\n\nType: `boolean` \nDefault: `false`",
16686
+ "value": {
16687
+ "type": [
16688
+ "boolean"
16689
+ ]
16690
+ }
16691
+ },
16611
16692
  {
16612
16693
  "name": "description",
16613
16694
  "description": "Accessible chart description.\n\nType: `string | null` \nDefault: `null`"
@@ -16788,7 +16869,7 @@
16788
16869
  },
16789
16870
  {
16790
16871
  "name": "lr-polar-area-chart",
16791
- "description": "`<lr-polar-area-chart>` — `<lr-chart>` with a `\"polarArea\"` default and the mirrored writable type.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
16872
+ "description": "`<lr-polar-area-chart>` — `<lr-chart>` with a `\"polarArea\"` default and the mirrored writable type.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-table-toggle` | The disclosure button rendered by `dataTableToggle`. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-data-table-toggle-active-bg` — Pressed background of the `dataTableToggle` disclosure button; defaults to a mix of the hover background with the shared active mix partner.\n- `--lr-chart-data-table-toggle-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the `dataTableToggle` disclosure button.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
16792
16873
  "attributes": [
16793
16874
  {
16794
16875
  "name": "annotations",
@@ -16821,6 +16902,15 @@
16821
16902
  ]
16822
16903
  }
16823
16904
  },
16905
+ {
16906
+ "name": "data-table-toggle",
16907
+ "description": "Render a disclosure button above the accessible data table so a sighted reader can reveal the\nnumbers behind the chart on demand. `showDataTable` alone is all-or-nothing -- the table is\neither permanently screen-reader-only or permanently visible -- which left a consumer wrapping\na duplicated table in their own `<details>`.\n\nWith this set, `showDataTable` becomes the disclosure's *initial* state rather than its whole\nbehavior. The table stays in the DOM in both states, so assistive technology never loses it.\n\nType: `boolean` \nDefault: `false`",
16908
+ "value": {
16909
+ "type": [
16910
+ "boolean"
16911
+ ]
16912
+ }
16913
+ },
16824
16914
  {
16825
16915
  "name": "description",
16826
16916
  "description": "Accessible chart description.\n\nType: `string | null` \nDefault: `null`"
@@ -17161,11 +17251,12 @@
17161
17251
  },
17162
17252
  {
17163
17253
  "name": "popup-role",
17164
- "description": "Semantic role used by the popup.\n\nType: `LyraPopupRole`",
17254
+ "description": "Semantic role used by the popup. `dialog` (default) for a contextual surface, `menu` for an\naction menu, or `none` to render no role and no generated name so the slotted content owns\nits own semantics -- see `LyraPopupRole` for why a navigation disclosure needs that.\n\nType: `LyraPopupRole` \nDefault: `'dialog'`",
17165
17255
  "value": {
17166
17256
  "type": [
17167
17257
  "'dialog'",
17168
- "'menu'"
17258
+ "'menu'",
17259
+ "'none'"
17169
17260
  ]
17170
17261
  }
17171
17262
  },
@@ -18171,7 +18262,7 @@
18171
18262
  },
18172
18263
  {
18173
18264
  "name": "lr-radar-chart",
18174
- "description": "`<lr-radar-chart>` — `<lr-chart>` with a `\"radar\"` default and the mirrored writable type.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
18265
+ "description": "`<lr-radar-chart>` — `<lr-chart>` with a `\"radar\"` default and the mirrored writable type.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-table-toggle` | The disclosure button rendered by `dataTableToggle`. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-data-table-toggle-active-bg` — Pressed background of the `dataTableToggle` disclosure button; defaults to a mix of the hover background with the shared active mix partner.\n- `--lr-chart-data-table-toggle-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the `dataTableToggle` disclosure button.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
18175
18266
  "attributes": [
18176
18267
  {
18177
18268
  "name": "annotations",
@@ -18204,6 +18295,15 @@
18204
18295
  ]
18205
18296
  }
18206
18297
  },
18298
+ {
18299
+ "name": "data-table-toggle",
18300
+ "description": "Render a disclosure button above the accessible data table so a sighted reader can reveal the\nnumbers behind the chart on demand. `showDataTable` alone is all-or-nothing -- the table is\neither permanently screen-reader-only or permanently visible -- which left a consumer wrapping\na duplicated table in their own `<details>`.\n\nWith this set, `showDataTable` becomes the disclosure's *initial* state rather than its whole\nbehavior. The table stays in the DOM in both states, so assistive technology never loses it.\n\nType: `boolean` \nDefault: `false`",
18301
+ "value": {
18302
+ "type": [
18303
+ "boolean"
18304
+ ]
18305
+ }
18306
+ },
18207
18307
  {
18208
18308
  "name": "description",
18209
18309
  "description": "Accessible chart description.\n\nType: `string | null` \nDefault: `null`"
@@ -19843,7 +19943,7 @@
19843
19943
  },
19844
19944
  {
19845
19945
  "name": "lr-scatter-chart",
19846
- "description": "`<lr-scatter-chart>` — `<lr-chart>` with a `\"scatter\"` default and the mirrored writable type. Feed\npoints via `LyraChartSeries.points`.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
19946
+ "description": "`<lr-scatter-chart>` — `<lr-chart>` with a `\"scatter\"` default and the mirrored writable type. Feed\npoints via `LyraChartSeries.points`.\n\n---\n\n**Component metadata**\n\n- Status: `stable`\n- Since: `4.0.0`\n- Rationale: This exact lr-* tag appears in a published Lyra release manifest and remains a supported public contract under semver.\n- Graduation: Already stable; it retains that status while its documented behavior, accessibility, compatibility, and cross-browser support remain part of the public contract.\n\n---\n\n**Slots**\n\n| Name | Description |\n| --- | --- |\n| (default) | An optional `<script type=\"application/json\">` containing a Chart.js configuration. |\n| `center` | Optional overlay content positioned at the chart area's center. Useful for doughnut and pie totals. |\n| `data-table` | An optional consumer-provided accessible table alternative. Use this escape hatch for a complete paginated or virtualized alternative when the generated 1,000-record sample is insufficient. |\n\n---\n\n**CSS Shadow Parts**\n\n| Name | Description |\n| --- | --- |\n| `base` | The chart wrapper. |\n| `canvas` | The Chart.js canvas. |\n| `center` | The chart-area-centered overlay wrapper for the `center` slot. |\n| `data-table` | The optional generated or slotted data table. |\n| `data-table-toggle` | The disclosure button rendered by `dataTableToggle`. |\n| `data-truncation` | Explanation shown when the generated accessible alternative samples a data set larger than its 1,000-record ceiling. |\n| `description` | The accessible chart summary. |\n| `error` | Static visible error shown instead of `canvas` when the optional `chart.js` peer dependency is not installed; its transition is announced through a shared light-DOM alert. |\n| `feature-warning` | Static nonfatal warning when a requested optional feature peer is unavailable while the core chart remains usable. |\n| `legend` | The wrapping DOM legend, rendered unless `withoutLegend` is set. |\n| `legend-item` | A keyboard-operable series visibility toggle. |\n| `legend-item-hidden` | Added to a `legend-item` while its dataset is hidden. |\n| `legend-swatch` | The resolved series-color swatch in a legend item. |\n| `notices` | Wrapper for nonfatal feature warnings and generated-data truncation notices. |\n| `plot` | The fixed-height canvas/overlay region. |\n| `reset-zoom-button` | The reset-zoom control when zoom is active. |\n\n---\n\n**CSS Custom Properties**\n\n- `--border-color-1` (default: `var(--lr-color-chart-1)`) — First dataset border color.\n- `--border-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset border color.\n- `--border-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset border color.\n- `--border-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset border color.\n- `--border-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset border color.\n- `--border-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset border color.\n- `--border-radius` (default: `var(--lr-radius)`) — Dataset element corner radius.\n- `--border-width` (default: `var(--lr-border-width-thin)`) — Dataset element border width.\n- `--fill-color-1` (default: `var(--lr-color-chart-1)`) — First dataset fill color.\n- `--fill-color-2` (default: `var(--lr-color-chart-2)`) — Second dataset fill color.\n- `--fill-color-3` (default: `var(--lr-color-chart-3)`) — Third dataset fill color.\n- `--fill-color-4` (default: `var(--lr-color-chart-4)`) — Fourth dataset fill color.\n- `--fill-color-5` (default: `var(--lr-color-chart-5)`) — Fifth dataset fill color.\n- `--fill-color-6` (default: `var(--lr-color-chart-6)`) — Sixth dataset fill color.\n- `--grid-border-width` (default: `var(--lr-border-width-thin)`) — Axis and grid line width.\n- `--grid-color` (default: `var(--lr-chart-grid-color)`) — Grid line color.\n- `--line-border-width` (default: `var(--lr-border-width-medium)`) — Line dataset stroke width.\n- `--lr-chart-canvas-hover-outline-width` (default: `var(--lr-border-width-thin)`) — Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).\n- `--lr-chart-data-table-button-active-bg` — Pressed background of an actionable generated- table value; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-data-table-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value.\n- `--lr-chart-data-table-toggle-active-bg` — Pressed background of the `dataTableToggle` disclosure button; defaults to a mix of the hover background with the shared active mix partner.\n- `--lr-chart-data-table-toggle-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the `dataTableToggle` disclosure button.\n- `--lr-chart-grid-color` (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n- `--lr-chart-height` (default: `var(--lr-size-280px)`) — The plot region's `block-size` and the host's minimum block size. A visible data table or wrapping DOM legend grows the host in normal flow instead of overlapping following content. `height` supplies a private fallback; this public token always wins when a consumer sets it.\n- `--lr-chart-legend-color` (default: `var(--lr-color-text)`) — Legend label color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-legend-item-active-bg` — Pressed background of a legend visibility button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-legend-item-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of a legend visibility button.\n- `--lr-chart-legend-side-max` (default: `var(--lr-size-15rem)`) — Maximum inline size reserved for a side-positioned DOM legend; the track is also capped at one third of the chart allocation.\n- `--lr-chart-pattern-step` (default: `var(--lr-space-2xs)`) — Tile size of the texture painted on `[part='legend-swatch']` while `forced-colors: active` matches, where every series collapses to one system color and the stripe/crosshatch pattern becomes the only channel keeping series apart. Declared on the swatch part rather than the host; the stripe width within a tile stays `--lr-border-width-thin`, so a larger step spaces the stripes further apart.\n- `--lr-chart-reset-zoom-button-active-bg` — Pressed background of the reset-zoom button; defaults to the standard active mix of `--lr-color-brand-quiet`.\n- `--lr-chart-reset-zoom-button-hover-bg` (default: `var(--lr-color-brand-quiet)`) — Hover background of the reset-zoom button.\n- `--lr-chart-tick-color` (default: `var(--lr-color-text-quiet)`) — Axis tick-label color; also used for the `xLabel`/`yLabel`/`y2Label` axis-title text (there is no separate title-color token). Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-bg` (default: `var(--lr-color-surface)`) — Tooltip background color. Resolved via `getComputedStyle` on every draw.\n- `--lr-chart-tooltip-text` (default: `var(--lr-color-text)`) — Tooltip text color. Resolved via `getComputedStyle` on every draw.\n- `--point-radius` (default: `var(--lr-space-2xs)`) — Line/scatter point radius.",
19847
19947
  "attributes": [
19848
19948
  {
19849
19949
  "name": "annotations",
@@ -19876,6 +19976,15 @@
19876
19976
  ]
19877
19977
  }
19878
19978
  },
19979
+ {
19980
+ "name": "data-table-toggle",
19981
+ "description": "Render a disclosure button above the accessible data table so a sighted reader can reveal the\nnumbers behind the chart on demand. `showDataTable` alone is all-or-nothing -- the table is\neither permanently screen-reader-only or permanently visible -- which left a consumer wrapping\na duplicated table in their own `<details>`.\n\nWith this set, `showDataTable` becomes the disclosure's *initial* state rather than its whole\nbehavior. The table stays in the DOM in both states, so assistive technology never loses it.\n\nType: `boolean` \nDefault: `false`",
19982
+ "value": {
19983
+ "type": [
19984
+ "boolean"
19985
+ ]
19986
+ }
19987
+ },
19879
19988
  {
19880
19989
  "name": "description",
19881
19990
  "description": "Accessible chart description.\n\nType: `string | null` \nDefault: `null`"
@@ -26869,6 +26978,14 @@
26869
26978
  "name": "--lr-border-width-thin",
26870
26979
  "description": "**Shared design token** — Canonical shared component token for border width thin. Reads `--lr-theme-border-width-thin`."
26871
26980
  },
26981
+ {
26982
+ "name": "--lr-box-plot-data-table-toggle-active-bg",
26983
+ "description": "**`<lr-box-plot>`** — Pressed background of the `dataTableToggle` disclosure button; defaults to a mix of the hover background with the shared active mix partner."
26984
+ },
26985
+ {
26986
+ "name": "--lr-box-plot-data-table-toggle-hover-bg",
26987
+ "description": "**`<lr-box-plot>`** (default: `var(--lr-color-brand-quiet)`) — Hover background of the `dataTableToggle` disclosure button."
26988
+ },
26872
26989
  {
26873
26990
  "name": "--lr-breadcrumb-current-color",
26874
26991
  "description": "**`<lr-breadcrumb-item>`** (default: `var(--lr-color-text-quiet)`) — Text color of the current-page item (`current`/`aria-current=\"page\"`). Declared as an inline `var()` fallback (never on `:host`), so setting it on the element or an ancestor recolors only the current item without hijacking the library-wide `--lr-color-text-quiet` token."
@@ -27205,6 +27322,14 @@
27205
27322
  "name": "--lr-chart-data-table-button-hover-bg",
27206
27323
  "description": "**`<lr-bar-chart>`, `<lr-bubble-chart>`, `<lr-chart>`, `<lr-doughnut-chart>`, `<lr-histogram>`, `<lr-line-chart>`, `<lr-pie-chart>`, `<lr-polar-area-chart>`, `<lr-radar-chart>`, `<lr-scatter-chart>`** (default: `var(--lr-color-brand-quiet)`) — Hover background of an actionable generated-table value."
27207
27324
  },
27325
+ {
27326
+ "name": "--lr-chart-data-table-toggle-active-bg",
27327
+ "description": "**`<lr-bar-chart>`, `<lr-bubble-chart>`, `<lr-chart>`, `<lr-doughnut-chart>`, `<lr-histogram>`, `<lr-line-chart>`, `<lr-pie-chart>`, `<lr-polar-area-chart>`, `<lr-radar-chart>`, `<lr-scatter-chart>`** — Pressed background of the `dataTableToggle` disclosure button; defaults to a mix of the hover background with the shared active mix partner."
27328
+ },
27329
+ {
27330
+ "name": "--lr-chart-data-table-toggle-hover-bg",
27331
+ "description": "**`<lr-bar-chart>`, `<lr-bubble-chart>`, `<lr-chart>`, `<lr-doughnut-chart>`, `<lr-histogram>`, `<lr-line-chart>`, `<lr-pie-chart>`, `<lr-polar-area-chart>`, `<lr-radar-chart>`, `<lr-scatter-chart>`** (default: `var(--lr-color-brand-quiet)`) — Hover background of the `dataTableToggle` disclosure button."
27332
+ },
27208
27333
  {
27209
27334
  "name": "--lr-chart-grid-color",
27210
27335
  "description": "**`<lr-bar-chart>`, `<lr-bubble-chart>`, `<lr-chart>`, `<lr-doughnut-chart>`, `<lr-histogram>`, `<lr-line-chart>`, `<lr-pie-chart>`, `<lr-polar-area-chart>`, `<lr-radar-chart>`, `<lr-scatter-chart>`** (default: `var(--lr-color-border)`) — Grid-line color. Resolved via `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).\n\n**`<lr-box-plot>`** (default: `var(--lr-color-border)`) — Canvas grid-line color.\n\n**`<lr-lite-chart>`** (default: `var(--lr-color-border)`) — Grid-line color."
@@ -28221,6 +28346,18 @@
28221
28346
  "name": "--lr-date-picker-nav-hover-bg",
28222
28347
  "description": "**`<lr-date-picker>`** (default: `var(--lr-color-brand-quiet)`) — Hover background of the `[part=\"previous\"]`/`[part=\"next\"]` month-navigation buttons."
28223
28348
  },
28349
+ {
28350
+ "name": "--lr-date-picker-preset-active-bg",
28351
+ "description": "**`<lr-date-picker>`** — Pressed background of a quick-range button; defaults to a mix of the hover background with the shared active mix partner."
28352
+ },
28353
+ {
28354
+ "name": "--lr-date-picker-preset-hover-bg",
28355
+ "description": "**`<lr-date-picker>`** (default: `var(--lr-color-brand-quiet)`) — Hover background of a quick-range button."
28356
+ },
28357
+ {
28358
+ "name": "--lr-date-picker-preset-selected-bg",
28359
+ "description": "**`<lr-date-picker>`** (default: `var(--lr-color-brand)`) — Background and border of the quick-range button whose range is currently selected."
28360
+ },
28224
28361
  {
28225
28362
  "name": "--lr-date-picker-radius",
28226
28363
  "description": "**`<lr-date-picker>`** (default: `var(--lr-radius)`) — Calendar and control corner radius."
@@ -28873,6 +29010,10 @@
28873
29010
  "name": "--lr-flow-status-success-color",
28874
29011
  "description": "**`<lr-flow-minimap>`** (default: `var(--lr-color-success)`) — Successful-node fill.\n\n**`<lr-flow-node>`** (default: `var(--lr-color-success)`) — Success status-dot color.\n\n**`<lr-flow-run-status>`** (default: `var(--lr-color-success)`) — Success count-dot color."
28875
29012
  },
29013
+ {
29014
+ "name": "--lr-focus-ring",
29015
+ "description": "**Shared design token** — Composite focus-ring outline shorthand, derived from the width and color parts. Mirrors the ready-made outline value Web Awesome exposes as --wa-focus-ring so a migrating consumer has a one-to-one target instead of hand-expanding every site. Offset stays separate because outline-offset is its own property."
29016
+ },
28876
29017
  {
28877
29018
  "name": "--lr-focus-ring-color",
28878
29019
  "description": "**Shared design token** — Canonical shared component token for focus ring color. Reads `--lr-theme-color-focus`."