@aceshooting/lyra-ui 25.3.1 → 25.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/README.md +15 -3
- package/custom-elements.json +1 -1
- package/dist/all.d.ts +1 -1
- package/dist/all.js +1 -1
- package/dist/cli/migration-contract.json +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.styles.js +1 -1
- package/dist/components/charts/chart/chart-sync.d.ts +4 -0
- package/dist/components/charts/chart/chart-sync.js +1 -0
- package/dist/components/charts/chart/chart-sync.styles.d.ts +1 -0
- package/dist/components/charts/chart/chart-sync.styles.js +1 -0
- package/dist/components/charts/chart/chart.class.d.ts +12 -2
- package/dist/components/charts/chart/chart.class.js +5 -4
- package/dist/components/charts/chart/histogram.class.js +1 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts +18 -5
- package/dist/components/charts/chart/lite-chart.class.js +11 -11
- package/dist/components/data/heatmap/heatmap-grid-navigation.d.ts +2 -2
- package/dist/components/data/heatmap/heatmap-grid-navigation.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +24 -9
- package/dist/components/data/heatmap/heatmap.class.js +3 -3
- package/dist/components/forms/button/button.styles.js +1 -1
- package/dist/components/forms/catalog-picker-base.d.ts +48 -0
- package/dist/components/forms/catalog-picker-base.js +29 -0
- package/dist/components/forms/catalog-picker-base.styles.d.ts +1 -0
- package/dist/components/forms/catalog-picker-base.styles.js +1 -0
- package/dist/components/forms/combobox/combobox.class.d.ts +4 -1
- package/dist/components/forms/combobox/combobox.class.js +2 -2
- package/dist/components/forms/country-picker/country-picker.class.d.ts +40 -0
- package/dist/components/forms/country-picker/country-picker.class.js +1 -0
- package/dist/components/forms/country-picker/country-picker.d.ts +1 -0
- package/dist/components/forms/country-picker/country-picker.js +1 -0
- package/dist/components/forms/country-picker/country-picker.styles.d.ts +1 -0
- package/dist/components/forms/country-picker/country-picker.styles.js +1 -0
- package/dist/components/forms/currency-picker/currency-catalog.d.ts +19 -0
- package/dist/components/forms/currency-picker/currency-catalog.js +1 -0
- package/dist/components/forms/currency-picker/currency-picker.class.d.ts +95 -0
- package/dist/components/forms/currency-picker/currency-picker.class.js +30 -0
- package/dist/components/forms/currency-picker/currency-picker.d.ts +1 -0
- package/dist/components/forms/currency-picker/currency-picker.js +1 -0
- package/dist/components/forms/currency-picker/currency-picker.styles.d.ts +1 -0
- package/dist/components/forms/currency-picker/currency-picker.styles.js +1 -0
- package/dist/components/forms/currency-picker/currency-presentation.d.ts +3 -0
- package/dist/components/forms/currency-picker/currency-presentation.js +1 -0
- package/dist/components/forms/currency-picker/currency-types.d.ts +3 -0
- package/dist/components/forms/index.d.ts +1 -1
- package/dist/components/forms/index.js +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +37 -11
- package/dist/components/forms/locale-picker/locale-picker.class.js +43 -8
- package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
- package/dist/components/forms/select/select.class.d.ts +9 -2
- package/dist/components/forms/select/select.class.js +2 -2
- package/dist/components/forms/select/select.styles.js +1 -1
- package/dist/components/forms/time-zone-picker/time-zone-picker.class.d.ts +40 -0
- package/dist/components/forms/time-zone-picker/time-zone-picker.class.js +1 -0
- package/dist/components/forms/time-zone-picker/time-zone-picker.d.ts +1 -0
- package/dist/components/forms/time-zone-picker/time-zone-picker.js +1 -0
- package/dist/components/forms/time-zone-picker/time-zone-picker.styles.d.ts +1 -0
- package/dist/components/forms/time-zone-picker/time-zone-picker.styles.js +1 -0
- package/dist/components/forms/unit-picker/unit-picker.class.d.ts +38 -0
- package/dist/components/forms/unit-picker/unit-picker.class.js +1 -0
- package/dist/components/forms/unit-picker/unit-picker.d.ts +1 -0
- package/dist/components/forms/unit-picker/unit-picker.js +1 -0
- package/dist/components/forms/unit-picker/unit-picker.styles.d.ts +1 -0
- package/dist/components/forms/unit-picker/unit-picker.styles.js +1 -0
- package/dist/components/layout/app-rail/app-rail.class.d.ts +1 -1
- package/dist/components/layout/app-rail/app-rail.class.js +1 -1
- package/dist/components/layout/card/card.styles.js +1 -1
- package/dist/components/layout/details/accordion-item.styles.js +1 -1
- package/dist/components/layout/details/details.styles.js +1 -1
- package/dist/components/layout/reorder-list/reorder-item.class.js +2 -0
- package/dist/components/lr-country-picker.js +1 -0
- package/dist/components/lr-currency-picker.js +1 -0
- package/dist/components/lr-time-zone-picker.js +1 -0
- package/dist/components/lr-unit-picker.js +1 -0
- package/dist/components/media/avatar/avatar.class.d.ts +3 -0
- package/dist/components/media/avatar/avatar.styles.js +1 -1
- package/dist/components/media/pan-zoom/pan-zoom.styles.js +1 -1
- package/dist/countries.d.ts +7 -0
- package/dist/countries.js +1 -0
- package/dist/currency.d.ts +39 -0
- package/dist/currency.js +1 -0
- package/dist/custom-elements-jsx.d.ts +1 -1
- package/dist/events.d.ts +28 -24
- package/dist/framework-types.d.ts +2 -2
- package/dist/internal/autoloader-manifest.js +1 -1
- package/dist/internal/autoloader-tags.d.ts +1 -1
- package/dist/internal/autoloader-tags.js +1 -1
- package/dist/internal/default-strings.generated.d.ts +1 -1
- package/dist/internal/default-strings.generated.js +1 -1
- package/dist/internal/form-associated.d.ts +3 -1
- package/dist/internal/form-associated.js +1 -1
- package/dist/internal/glass-surface.styles.js +1 -1
- package/dist/internal/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +1 -1
- package/dist/internal/opaque-content-border.styles.d.ts +3 -0
- package/dist/internal/opaque-content-border.styles.js +1 -0
- package/dist/internal/package-metadata.d.ts +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/root-registration-allowlist.d.ts +1 -1
- package/dist/internal/root-registration-allowlist.js +1 -1
- package/dist/internal/scoped-definitions.generated.js +1 -1
- package/dist/internal/selection-catalog.d.ts +4 -0
- package/dist/internal/selection-catalog.js +1 -0
- package/dist/internal/tokens.styles.js +1 -1
- package/dist/lyra.d.ts +1 -1
- package/dist/lyra.js +1 -1
- package/dist/ssr/all.d.ts +1 -1
- package/dist/ssr/all.js +1 -1
- package/dist/ssr.d.ts +4 -4
- package/dist/ssr.js +1 -1
- package/dist/surfaces/glass.css +1 -1
- package/dist/svelte.d.ts +1 -1
- package/dist/testing/lyra-tag-event-map.d.ts +2 -2
- package/dist/testing/lyra-tag-event-map.js +1 -1
- package/dist/theme.css +1 -1
- package/dist/time-zones.d.ts +8 -0
- package/dist/time-zones.js +1 -0
- package/dist/translations/am/forms.js +1 -1
- package/dist/translations/ar/forms.js +1 -1
- package/dist/translations/bho/forms.js +1 -1
- package/dist/translations/bn/forms.js +1 -1
- package/dist/translations/cs/forms.js +1 -1
- package/dist/translations/da/forms.js +1 -1
- package/dist/translations/de/forms.js +1 -1
- package/dist/translations/el/forms.js +1 -1
- package/dist/translations/es/forms.js +1 -1
- package/dist/translations/fa/forms.js +1 -1
- package/dist/translations/fa-AF/forms.js +1 -1
- package/dist/translations/fi/forms.js +1 -1
- package/dist/translations/fr/forms.js +1 -1
- package/dist/translations/gu/forms.js +1 -1
- package/dist/translations/ha/forms.js +1 -1
- package/dist/translations/he/forms.js +1 -1
- package/dist/translations/hi/forms.js +1 -1
- package/dist/translations/hr/forms.js +1 -1
- package/dist/translations/hu/forms.js +1 -1
- package/dist/translations/id/forms.js +1 -1
- package/dist/translations/ig/forms.js +1 -1
- package/dist/translations/it/forms.js +1 -1
- package/dist/translations/ja/forms.js +1 -1
- package/dist/translations/jv/forms.js +1 -1
- package/dist/translations/kk/forms.js +1 -1
- package/dist/translations/kn/forms.js +1 -1
- package/dist/translations/ko/forms.js +1 -1
- package/dist/translations/ln/forms.js +1 -1
- package/dist/translations/ml/forms.js +1 -1
- package/dist/translations/mr/forms.js +1 -1
- package/dist/translations/ms/forms.js +1 -1
- package/dist/translations/my/forms.js +1 -1
- package/dist/translations/nb/forms.js +1 -1
- package/dist/translations/ne/forms.js +1 -1
- package/dist/translations/nl/forms.js +1 -1
- package/dist/translations/nn/forms.js +1 -1
- package/dist/translations/om/forms.js +1 -1
- package/dist/translations/or/forms.js +1 -1
- package/dist/translations/pa/forms.js +1 -1
- package/dist/translations/pcm/forms.js +1 -1
- package/dist/translations/pl/forms.js +1 -1
- package/dist/translations/pnb/forms.js +1 -1
- package/dist/translations/ps/forms.js +1 -1
- package/dist/translations/pt-BR/forms.js +1 -1
- package/dist/translations/pt-PT/forms.js +1 -1
- package/dist/translations/ro/forms.js +1 -1
- package/dist/translations/ru/forms.js +1 -1
- package/dist/translations/sd/forms.js +1 -1
- package/dist/translations/sl/forms.js +1 -1
- package/dist/translations/su/forms.js +1 -1
- package/dist/translations/sv/forms.js +1 -1
- package/dist/translations/sw/forms.js +1 -1
- package/dist/translations/ta/forms.js +1 -1
- package/dist/translations/te/forms.js +1 -1
- package/dist/translations/th/forms.js +1 -1
- package/dist/translations/tl/forms.js +1 -1
- package/dist/translations/tr/forms.js +1 -1
- package/dist/translations/uk/forms.js +1 -1
- package/dist/translations/ur/forms.js +1 -1
- package/dist/translations/uz/forms.js +1 -1
- package/dist/translations/vi/forms.js +1 -1
- package/dist/translations/yo/forms.js +1 -1
- package/dist/translations/zh-CN/forms.js +1 -1
- package/dist/translations/zh-TW/forms.js +1 -1
- package/dist/translations/zu/forms.js +1 -1
- package/dist/units.d.ts +5 -0
- package/dist/units.js +1 -0
- package/dist/vue.d.ts +1 -1
- package/llms/components/lr-avatar.md +9 -3
- package/llms/components/lr-bar-chart.md +1 -1
- package/llms/components/lr-bubble-chart.md +1 -1
- package/llms/components/lr-chart.md +11 -2
- package/llms/components/lr-combobox.md +5 -0
- package/llms/components/lr-country-picker.md +92 -0
- package/llms/components/lr-currency-picker.md +101 -0
- package/llms/components/lr-doughnut-chart.md +1 -1
- package/llms/components/lr-heatmap.md +16 -3
- package/llms/components/lr-histogram.md +9 -1
- package/llms/components/lr-line-chart.md +11 -1
- package/llms/components/lr-lite-chart.md +14 -4
- package/llms/components/lr-locale-picker.md +18 -4
- package/llms/components/lr-pie-chart.md +1 -1
- package/llms/components/lr-polar-area-chart.md +1 -1
- package/llms/components/lr-radar-chart.md +1 -1
- package/llms/components/lr-reorder-list.md +5 -0
- package/llms/components/lr-scatter-chart.md +1 -1
- package/llms/components/lr-select.md +29 -0
- package/llms/components/lr-time-zone-picker.md +56 -0
- package/llms/components/lr-unit-picker.md +54 -0
- package/llms/index.md +6 -2
- package/llms/peers.md +2 -2
- package/llms/shared/events-and-types.md +16 -0
- package/llms/shared/imports-and-registration.md +1 -1
- package/llms/shared/styles-and-tokens.md +8 -2
- package/llms/shared/testing-and-utilities.md +4 -1
- package/llms/shared.md +29 -4
- package/llms.txt +1 -1
- package/locales.json +138 -138
- package/package.json +56 -4
- package/registrations.json +1 -1
- package/vscode-css-data.json +1 -1
- package/vscode-html-data.json +1 -1
- package/web-types.json +1 -1
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [charts](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/charts.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 17 parts, 39 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
@@ -28,6 +28,11 @@ Bins `values` into `bins` equal-width buckets and renders as a bar chart (extend
|
|
|
28
28
|
chart-wide accessible-name meaning.
|
|
29
29
|
- inherits `lr-chart`'s full surface, including `scaleType` (`scale-type`) and `annotations` —
|
|
30
30
|
a logarithmic frequency axis and threshold/band markers both apply to a histogram
|
|
31
|
+
- `syncGroup: string = ''` (attribute `sync-group`) — inherited exact category coordination for its
|
|
32
|
+
vertical categorical bar configuration; see
|
|
33
|
+
[Synchronized categorical charts](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/charts.md#synchronized-categorical-charts). Matches use the generated
|
|
34
|
+
bucket range strings, so different bin boundaries do not match unless their labels are exactly
|
|
35
|
+
equal. Horizontal or continuous-x raw configurations do not participate.
|
|
31
36
|
- `labels`/`datasets`/`type` are **derived, read-only** (installed as getter/setter pairs on the
|
|
32
37
|
prototype; direct writes are silently ignored) — `labels`/`datasets` are computed from
|
|
33
38
|
`values`/`bins` (memoized per instance, keyed by reference equality on `values` plus the
|
|
@@ -59,12 +64,15 @@ bar controller and dataset legend even with `legend-mode="datum"`.
|
|
|
59
64
|
**Slots:** default JSON configuration script, `data-table`, `center`.
|
|
60
65
|
|
|
61
66
|
**CSS parts:** `base`, `plot`, `canvas`, `legend`, `legend-item`, `legend-item-hidden`, `legend-swatch`,
|
|
67
|
+
`sync-crosshair` (inherited decorative category line during synchronization; the native canvas
|
|
68
|
+
tooltip has no CSS part),
|
|
62
69
|
`reset-zoom-button`, `description`, `notices`, `data-table`, `data-table-toggle`, `data-truncation`, `feature-warning`, `center`, `error` (neutral visible message
|
|
63
70
|
rendered in place of `canvas` when the optional `chart.js` peer dependency fails to load; the
|
|
64
71
|
failure transition is announced through the shared document-level light-DOM assertive sink —
|
|
65
72
|
inherited from `LyraChart`, unaffected by the binning logic).
|
|
66
73
|
|
|
67
74
|
**Themeable custom properties:** `--lr-chart-height`, `--lr-chart-grid-color`,
|
|
75
|
+
`--lr-chart-sync-crosshair-color`, `--lr-chart-sync-crosshair-width`,
|
|
68
76
|
`--lr-chart-tick-color`, `--lr-chart-tick-font-size`, `--lr-chart-legend-color`, `--lr-chart-tooltip-bg`,
|
|
69
77
|
`--lr-chart-tooltip-color`, `--lr-chart-legend-item-hover-bg`,
|
|
70
78
|
`--lr-chart-legend-item-active-bg`, `--lr-chart-data-table-button-hover-bg`,
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [charts](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/charts.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 17 parts, 39 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Documented with** `lr-bar-chart`, `lr-pie-chart`, `lr-doughnut-chart`, `lr-radar-chart`, `lr-polar-area-chart`, `lr-bubble-chart`, `lr-scatter-chart` (same section below)
|
|
14
14
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
15
15
|
|
|
@@ -21,6 +21,13 @@ Each is `LyraChart` with a named default `type` — respectively `line`, `bar`,
|
|
|
21
21
|
`radar`, `polarArea`, `bubble`, `scatter`. In parity with the mirrored tags, `type` remains writable
|
|
22
22
|
and accepts the full `LyraChartType` vocabulary; the tag name is a convenient default, not a lock.
|
|
23
23
|
|
|
24
|
+
`syncGroup: string = ''` (attribute `sync-group`) is inherited. The default vertical categorical
|
|
25
|
+
`lr-line-chart` and `lr-bar-chart` configurations can participate in
|
|
26
|
+
[Synchronized categorical charts](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/charts.md#synchronized-categorical-charts). The other six default chart
|
|
27
|
+
types leave it inert; changing `type` or raw `config` to an admitted vertical categorical bar/line
|
|
28
|
+
configuration enables participation regardless of the tag. Horizontal or continuous-x
|
|
29
|
+
configurations remain outside synchronization.
|
|
30
|
+
|
|
24
31
|
Everything else is inherited verbatim from `lr-chart`; each name below has the same type, default,
|
|
25
32
|
and behavior there. **See `llms/components/lr-chart.md` for the details, code example, and gotchas
|
|
26
33
|
of every entry in these lists.**
|
|
@@ -51,12 +58,15 @@ Radial category legends additionally emit `lr-datum-visibility-change-request` (
|
|
|
51
58
|
**Slots:** default JSON configuration script, `data-table`, `center`.
|
|
52
59
|
|
|
53
60
|
**CSS parts:** `base`, `plot`, `canvas`, `legend`, `legend-item`, `legend-item-hidden`, `legend-swatch`,
|
|
61
|
+
`sync-crosshair` (inherited decorative category line, rendered only for an admitted synchronized
|
|
62
|
+
configuration; the native canvas tooltip has no CSS part),
|
|
54
63
|
`reset-zoom-button`, `description`, `notices`, `data-table`, `data-table-toggle`, `data-truncation`, `feature-warning`, `center`, `error` (neutral visible message
|
|
55
64
|
rendered in place of `canvas` when the optional `chart.js` peer dependency fails to load; the
|
|
56
65
|
failure transition is announced through the shared document-level light-DOM assertive sink — see
|
|
57
66
|
`llms/components/lr-chart.md`).
|
|
58
67
|
|
|
59
68
|
**Themeable custom properties:** `--lr-chart-height`, `--lr-chart-grid-color`,
|
|
69
|
+
`--lr-chart-sync-crosshair-color`, `--lr-chart-sync-crosshair-width`,
|
|
60
70
|
`--lr-chart-tick-color`, `--lr-chart-tick-font-size`, `--lr-chart-legend-color`, `--lr-chart-tooltip-bg`,
|
|
61
71
|
`--lr-chart-tooltip-color`, `--lr-chart-legend-item-hover-bg`,
|
|
62
72
|
`--lr-chart-legend-item-active-bg`, `--lr-chart-data-table-button-hover-bg`,
|
|
@@ -9,17 +9,21 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [charts](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/charts.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 20 parts, 23 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
## `lr-lite-chart`
|
|
18
18
|
|
|
19
|
+
`syncGroup: string = ''` (attribute `sync-group`) opts into
|
|
20
|
+
[Synchronized categorical charts](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/charts.md#synchronized-categorical-charts). Its DOM `sync-crosshair` and
|
|
21
|
+
`sync-tooltip` parts use the shared crosshair and tooltip tokens described there.
|
|
22
|
+
|
|
19
23
|
A dependency-free bar/line chart — plain SVG/DOM rendering, zero peer dependencies (unlike
|
|
20
24
|
`lr-chart`, which wraps `chart.js`). For a project whose architecture forbids a charting
|
|
21
25
|
dependency outright: covers grouped/stacked bars, multi-series lines, per-point click, and hover
|
|
22
|
-
tooltips (native SVG `<title
|
|
26
|
+
tooltips (native SVG `<title>` by default, positioned text tooltips in a sync group) — not a full `lr-chart` replacement (no
|
|
23
27
|
zoom/pan, no pie/doughnut/radar/scatter/bubble types, no horizontal/dual-y-axis, no raw-config
|
|
24
28
|
passthrough). Not a subclass of `LyraChart`.
|
|
25
29
|
|
|
@@ -31,7 +35,7 @@ shape to express. A per-series stack-group id would also need the hand-rolled SV
|
|
|
31
35
|
pass (linear/sqrt/log stack compression, `minBarHeight`) to track independent running offsets per
|
|
32
36
|
group instead of one per category, which is a materially larger, higher-risk change than this
|
|
33
37
|
component's existing single-stack model. `tooltipTitleFormatter`/`tooltipFooterFormatter` are
|
|
34
|
-
similarly absent: this component's hover tooltip is a native SVG `<title>` on each mark — one
|
|
38
|
+
similarly absent: this component's default hover tooltip is a native SVG `<title>` on each mark — one
|
|
35
39
|
self-contained string per mark, generated by `pointText` — not a Chart.js-style multi-item tooltip
|
|
36
40
|
with separate title/body/footer regions for several datasets sharing a hovered category, so there
|
|
37
41
|
is no "every item in the tooltip" surface to hook a title or footer formatter onto.
|
|
@@ -275,7 +279,9 @@ instead of materializing an unbounded hidden DOM or SVG tree.
|
|
|
275
279
|
**Slots:** `data-table` — optional consumer-provided complete, paginated, or virtualized accessible
|
|
276
280
|
data alternative.
|
|
277
281
|
|
|
278
|
-
**CSS parts:** `base`, `description`, `grid-line`, `axis-label`, `axis-title`,
|
|
282
|
+
**CSS parts:** `base`, `description`, `grid-line`, `axis-label`, `axis-title`,
|
|
283
|
+
`sync-crosshair` (decorative synchronized category line), `sync-tooltip` (noninteractive positioned
|
|
284
|
+
text tooltip while `syncGroup` is active), `bar` and `point` (each carries
|
|
279
285
|
`data-selected` when its category index is in `selectedIndices`, with explicit pressed state on every
|
|
280
286
|
mark), `line`, `legend`, `legend-item`, `legend-swatch`, `legend-text` (extra per-item text after
|
|
281
287
|
the series label, rendered only when `legendText` is set), `live-region` (the current mark
|
|
@@ -303,6 +309,10 @@ suppresses the generated sample and notice.
|
|
|
303
309
|
|
|
304
310
|
**Themeable custom properties:** `--lr-chart-height` (same public host-level property and precedence
|
|
305
311
|
as `lr-chart`; it always wins over the `height` property's private fallback);
|
|
312
|
+
`--lr-chart-sync-crosshair-color` (default `var(--lr-color-text)`) and
|
|
313
|
+
`--lr-chart-sync-crosshair-width` (default `var(--lr-border-width-thin)`) style the synchronized
|
|
314
|
+
category line; `--lr-chart-tooltip-bg` (default `var(--lr-color-surface)`) and
|
|
315
|
+
`--lr-chart-tooltip-color` (default `var(--lr-color-text)`) style the positioned synchronized tooltip;
|
|
306
316
|
`--lr-chart-grid-color`, `--lr-chart-tick-color`, `--lr-chart-tick-font-size` (default
|
|
307
317
|
`var(--lr-font-size-2xs)`), `--lr-chart-legend-color` — same token
|
|
308
318
|
*names* as `lr-chart`, so a host already theming `lr-chart` themes this for free;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [forms](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/forms.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 17 parts, 25 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
@@ -20,8 +20,8 @@ A closed-list locale switcher over the library's own locale registry. First-part
|
|
|
20
20
|
Web Awesome equivalent). With `locales` unset (the default), the offered rows are exactly
|
|
21
21
|
`getRegisteredLyraLocales()` — every locale with strings registered via `registerLyraLocale()`,
|
|
22
22
|
plus `en` — kept live via `subscribeLyraLocaleRegistry()`. Built directly on `lr-select`'s
|
|
23
|
-
trigger-button/`aria-activedescendant` listbox technique, not composed from it
|
|
24
|
-
|
|
23
|
+
trigger-button/`aria-activedescendant` listbox technique, not composed from it. Optional
|
|
24
|
+
`searchable` adds a text filter; free text never becomes a locale selection.
|
|
25
25
|
|
|
26
26
|
Host `aria-describedby` references resolve onto the role=combobox trigger before its local error and
|
|
27
27
|
hint guidance. The relationship tracks missing IDs, target replacement, removal/reinsertion,
|
|
@@ -52,6 +52,18 @@ readonly LyraLocaleEntry[]`, `LyraLocaleEntry { tag: string; label?: string; cou
|
|
|
52
52
|
the catalog while the listbox is open keeps keyboard navigation valid: an active row beyond the
|
|
53
53
|
new end is rehomed to the last remaining row. Arrow/Home/End/typeahead changes scroll the active
|
|
54
54
|
owned option into nearest view after render; replacement and disconnect cancel stale scrolls.
|
|
55
|
+
- `searchable: boolean = false` — add a search field inside the open menu. Substring matching
|
|
56
|
+
ignores case and accents across language tags, native names, localized names and caller labels;
|
|
57
|
+
for example, `eng` finds English. Filtering emits no selection events and does not invoke a
|
|
58
|
+
locale loader. Arrow keys and Enter select an offered match; ordinary text editing and IME
|
|
59
|
+
composition remain native. Empty results show localized guidance. Closing, disabling, resetting,
|
|
60
|
+
reconnecting or turning search off clears unfinished filtering. The default keeps the existing
|
|
61
|
+
compact list without an input.
|
|
62
|
+
- `autocomplete: string = 'off'`, `inputMode: string = ''` (attribute `inputmode`),
|
|
63
|
+
`enterKeyHint: string = ''` (attribute `enterkeyhint`), `spellcheck: boolean = false`,
|
|
64
|
+
`autocapitalize: string = ''`, `autocorrect: boolean = true` — native guidance for the filter.
|
|
65
|
+
The readonly `input: HTMLInputElement | null` exposes it in searchable mode. After directly
|
|
66
|
+
editing `input.value`, dispatch a native `input` event to update the matches.
|
|
55
67
|
- `topLayer: boolean = false` (attribute `top-layer`, reflected) — same contract as `<lr-popover>`:
|
|
56
68
|
always shows the open listbox in the browser top layer, placed `fixed` whatever the positioning
|
|
57
69
|
strategy resolves to, so it paints above a sibling surface stacked higher than a `z-index`ed fixed
|
|
@@ -177,7 +189,9 @@ visually hidden in flag-only mode), `listbox`, `option`, `option-flag` (present
|
|
|
177
189
|
`optionDisplay` is `label-tag`, and absent from the DOM entirely under `optionDisplay="label"`),
|
|
178
190
|
`expand-icon`,
|
|
179
191
|
`hint`, `error`, `load-status` (the optional localized loading or failure message), and
|
|
180
|
-
`load-retry` (the retry button shown after a locale load fails)
|
|
192
|
+
`load-retry` (the retry button shown after a locale load fails), `search-input` (the opt-in
|
|
193
|
+
filter) and `empty` (the no-match message). Search uses the localized `localePickerSearchLabel`
|
|
194
|
+
and `localePickerEmpty` string keys.
|
|
181
195
|
|
|
182
196
|
**The required marker.** `required` with a non-empty `label` paints the library's shared marker on
|
|
183
197
|
`[part="form-control-label"]` — the one `::after` rule described under "The required-field marker"
|
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [charts](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/charts.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 17 parts, 39 custom properties — see `lr-line-chart.md`
|
|
13
13
|
- **Documented with** `lr-line-chart`: see [lr-line-chart.md](./lr-line-chart.md).
|
|
14
14
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [charts](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/charts.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 17 parts, 39 custom properties — see `lr-line-chart.md`
|
|
13
13
|
- **Documented with** `lr-line-chart`: see [lr-line-chart.md](./lr-line-chart.md).
|
|
14
14
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [charts](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/charts.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 17 parts, 39 custom properties — see `lr-line-chart.md`
|
|
13
13
|
- **Documented with** `lr-line-chart`: see [lr-line-chart.md](./lr-line-chart.md).
|
|
14
14
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
@@ -126,6 +126,11 @@ row content for the repeated move-action names.
|
|
|
126
126
|
effective owner state. Corresponding custom states include `:state(at-start)`, `:state(at-end)`,
|
|
127
127
|
`:state(list-disabled)`, `:state(pending)`, and `:state(busy)`.
|
|
128
128
|
|
|
129
|
+
Each move control also carries its localized `moveUp` or `moveDown` action as an `aria-label`
|
|
130
|
+
fallback. The reflected `ariaLabelledByElements` relationship retains the full action and row name
|
|
131
|
+
and takes precedence in supporting browsers. Automation tools that omit reflected element references
|
|
132
|
+
may report only the action fallback; repeated actions can be located within their owning row.
|
|
133
|
+
|
|
129
134
|
**Events:** `lr-move-request` (`detail: { direction: 'up' | 'down' }` — a move button was activated
|
|
130
135
|
while not disabled; handled by the parent `<lr-reorder-list>`, which performs the actual move)
|
|
131
136
|
|
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [charts](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/charts.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 17 parts, 39 custom properties — see `lr-line-chart.md`
|
|
13
13
|
- **Documented with** `lr-line-chart`: see [lr-line-chart.md](./lr-line-chart.md).
|
|
14
14
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
@@ -32,6 +32,29 @@ Session-history/autofill restoration assigns the stored string through the same
|
|
|
32
32
|
value/form/validity path as a programmatic value write and does not emit `input`, `change`, or
|
|
33
33
|
`lr-change`.
|
|
34
34
|
|
|
35
|
+
**Selecting options in browser tests.** The light-DOM `<lr-option>` children supply option data;
|
|
36
|
+
the clickable rows are rendered inside `<lr-select>`'s shadow-root listbox as
|
|
37
|
+
`[part="option"][role="option"]`, each with a `data-value` matching its represented value.
|
|
38
|
+
Click the trigger to open the listbox, then target a rendered row. For example, in Playwright:
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
const select = page.locator('lr-select[name="country"]');
|
|
42
|
+
await select.getByRole('combobox').click();
|
|
43
|
+
await select.getByRole('option', { name: 'France' }).click();
|
|
44
|
+
// When the label is localized or otherwise variable, target its value instead:
|
|
45
|
+
await select.getByRole('combobox').click();
|
|
46
|
+
await select.locator('[part="option"][data-value="fr"]').click();
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
For an in-page component test with a `LyraSelect` element, the public
|
|
50
|
+
`@aceshooting/lyra-ui/testing` `chooseOption(selectElement, 'fr')` driver opens the listbox,
|
|
51
|
+
clicks its first rendered row with that value, and awaits the component update. It also works in
|
|
52
|
+
DOM test environments without Playwright; see [interaction drivers](shared/testing-and-utilities.md#driving-a-components-real-activation-path-interaction-drivers).
|
|
53
|
+
|
|
54
|
+
Playwright's locators enter the open shadow root. A light-DOM `lr-option[value="fr"]` has no
|
|
55
|
+
clickable box in this picker. If multiple options share a value, `data-value` matches every
|
|
56
|
+
occurrence; narrow by accessible name or assert their order before choosing an occurrence.
|
|
57
|
+
|
|
35
58
|
Mounted `option.selected` assignments update the picker value and form submission immediately,
|
|
36
59
|
including deselection and equal-value writes. Duplicate-valued options retain their individual
|
|
37
60
|
occurrence identities. These programmatic writes emit no user input/change event.
|
|
@@ -236,6 +259,12 @@ renders the same localized `loading` text in place of `placeholder`, so a consum
|
|
|
236
259
|
hand-write a conditional placeholder bound to the same flag and re-localize, in its own catalogue,
|
|
237
260
|
the string this control already owns.
|
|
238
261
|
|
|
262
|
+
When not loading, before the browser first reads the option slot, including during SSR, a committed
|
|
263
|
+
value renders as its raw code without an unavailable badge, synthetic unknown option, or custom unknown label.
|
|
264
|
+
After hydration observes the slot, real option labels and genuine unmatched-value feedback resolve
|
|
265
|
+
normally; an observed empty slot is an empty catalog. Server rendering does not inspect browser
|
|
266
|
+
slot assignments or provide an interactive popup without JavaScript.
|
|
267
|
+
|
|
239
268
|
**Methods:** `focus(options?)`, `blur()`, and `click()` forward to the internal trigger button.
|
|
240
269
|
`show()` and `hide()` return `Promise<void>` and resolve after `lr-after-show`/`lr-after-hide` once
|
|
241
270
|
the matching transition settles. `getForm()` returns the browser-resolved form owner, including an
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-time-zone-picker`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/lr-time-zone-picker.js';` (stable tag alias; registers the tag)
|
|
6
|
+
- **Class** `LyraTimeZonePicker`, also available unregistered from `@aceshooting/lyra-ui/components/forms/time-zone-picker/time-zone-picker.class.js`
|
|
7
|
+
- **Family** `components/forms/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Status** `experimental` since `25.5.0` — see the maturity and deprecation policy in `llms/shared.md`
|
|
9
|
+
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [forms](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/forms.md)
|
|
10
|
+
- **Deprecations** none
|
|
11
|
+
- **Optional peers** none
|
|
12
|
+
- **Themeable via** 11 parts, 0 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## `lr-time-zone-picker`
|
|
18
|
+
|
|
19
|
+
A form-associated identifier selector. Import
|
|
20
|
+
`@aceshooting/lyra-ui/components/lr-time-zone-picker.js`. It follows the
|
|
21
|
+
[shared field contract](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/components/lr-country-picker.md),
|
|
22
|
+
with `.timeZones` accepting
|
|
23
|
+
`LyraTimeZoneCatalog = readonly string[] | readonly LyraTimeZoneEntry[]`.
|
|
24
|
+
Default options are `UTC` followed by the runtime's supported primary IANA identifiers, or only
|
|
25
|
+
`UTC` when that catalog API is unavailable. Supply the same explicit catalog on server and client
|
|
26
|
+
when their time-zone data may differ. `value=''` selects nothing automatically.
|
|
27
|
+
|
|
28
|
+
Identifiers are trimmed and case-sensitive, limited to 256 characters, and never canonicalized.
|
|
29
|
+
Caller catalogs can retain aliases or custom identifiers. Default labels replace underscores
|
|
30
|
+
with spaces; `label` overrides provide other display names, and `searchable` matches both.
|
|
31
|
+
Selection does not change the application's time zone or calculate offsets, clocks or daylight
|
|
32
|
+
saving transitions. Catalog types and `getTimeZoneCodes()` are documented in the
|
|
33
|
+
[catalog helper reference](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/forms.md#country-time-zone-and-unit-catalog-helpers).
|
|
34
|
+
|
|
35
|
+
**Field API:** `label`, `hint`, `errorText` (`error-text`), `placeholder`, `accessibleLabel`
|
|
36
|
+
(`aria-label`), `name`, `form`, `value`, `defaultValue`, `required`, `disabled`, `customError`
|
|
37
|
+
(`custom-error`), `size`, `clearable`, `searchable`, `topLayer` (`top-layer`),
|
|
38
|
+
`positioningStrategy` (`positioning-strategy`), `autocomplete`, `inputMode` (`inputmode`),
|
|
39
|
+
`enterKeyHint` (`enterkeyhint`), `spellcheck`, `autocapitalize`, `autocorrect`, and readonly `input`.
|
|
40
|
+
Defaults and form/editing methods follow the
|
|
41
|
+
[shared contract](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/components/lr-country-picker.md), including
|
|
42
|
+
`getForm()`, `checkValidity()`, `reportValidity()`, `setCustomValidity(message)` and
|
|
43
|
+
`resetValidity()` for the owning form and consumer validation messages.
|
|
44
|
+
|
|
45
|
+
**Events:** `input`, `lr-input`, `change`, `lr-change`, `focus`, `blur`, `lr-invalid`.
|
|
46
|
+
**Slots:** `label`, `hint`, `error`.
|
|
47
|
+
**CSS parts:** `form-control`, `form-control-label`, `hint`, `error`, `select-trigger`,
|
|
48
|
+
`select-display-input`, `select-listbox`, `select-option`, `select-option-sub`, `select-group-label`,
|
|
49
|
+
`select-clear-button`.
|
|
50
|
+
|
|
51
|
+
```html
|
|
52
|
+
<script type="module">
|
|
53
|
+
import '@aceshooting/lyra-ui/components/lr-time-zone-picker.js';
|
|
54
|
+
</script>
|
|
55
|
+
<lr-time-zone-picker name="zone" label="Time zone" value="UTC" searchable></lr-time-zone-picker>
|
|
56
|
+
```
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
|
|
2
|
+
|
|
3
|
+
# `lr-unit-picker`
|
|
4
|
+
|
|
5
|
+
- **Import** `import '@aceshooting/lyra-ui/components/lr-unit-picker.js';` (stable tag alias; registers the tag)
|
|
6
|
+
- **Class** `LyraUnitPicker`, also available unregistered from `@aceshooting/lyra-ui/components/forms/unit-picker/unit-picker.class.js`
|
|
7
|
+
- **Family** `components/forms/` — see `llms/index.md` for its siblings
|
|
8
|
+
- **Status** `experimental` since `25.5.0` — see the maturity and deprecation policy in `llms/shared.md`
|
|
9
|
+
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [forms](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/forms.md)
|
|
10
|
+
- **Deprecations** none
|
|
11
|
+
- **Optional peers** none
|
|
12
|
+
- **Themeable via** 11 parts, 0 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
|
+
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## `lr-unit-picker`
|
|
18
|
+
|
|
19
|
+
A form-associated measurement-unit selector. Import
|
|
20
|
+
`@aceshooting/lyra-ui/components/lr-unit-picker.js`. It follows the
|
|
21
|
+
[shared field contract](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/components/lr-country-picker.md),
|
|
22
|
+
with `.units` accepting
|
|
23
|
+
`LyraUnitCatalog = readonly string[] | readonly LyraUnitEntry[]`.
|
|
24
|
+
The default catalog contains the 45 standard ECMA-402 simple units. `value=''` selects nothing;
|
|
25
|
+
identifiers are trimmed and case-sensitive, limited to 256 characters. Caller catalogs may include
|
|
26
|
+
custom or compound units. `Intl.NumberFormat` resolves localized singular names and short symbols;
|
|
27
|
+
unsupported identifiers fall back to their code. Literal `label` and `symbol` overrides, including
|
|
28
|
+
empty strings, take precedence. `searchable` matches identifiers, localized/literal names and
|
|
29
|
+
symbols. Selection edits no amount and performs no unit conversion. Catalog types and name
|
|
30
|
+
resolution are documented in the
|
|
31
|
+
[catalog helper reference](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/forms.md#country-time-zone-and-unit-catalog-helpers).
|
|
32
|
+
|
|
33
|
+
**Field API:** `label`, `hint`, `errorText` (`error-text`), `placeholder`, `accessibleLabel`
|
|
34
|
+
(`aria-label`), `name`, `form`, `value`, `defaultValue`, `required`, `disabled`, `customError`
|
|
35
|
+
(`custom-error`), `size`, `clearable`, `searchable`, `topLayer` (`top-layer`),
|
|
36
|
+
`positioningStrategy` (`positioning-strategy`), `autocomplete`, `inputMode` (`inputmode`),
|
|
37
|
+
`enterKeyHint` (`enterkeyhint`), `spellcheck`, `autocapitalize`, `autocorrect`, and readonly `input`.
|
|
38
|
+
Defaults and form/editing methods follow the
|
|
39
|
+
[shared contract](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/components/lr-country-picker.md), including
|
|
40
|
+
`getForm()`, `checkValidity()`, `reportValidity()`, `setCustomValidity(message)` and
|
|
41
|
+
`resetValidity()` for the owning form and consumer validation messages.
|
|
42
|
+
|
|
43
|
+
**Events:** `input`, `lr-input`, `change`, `lr-change`, `focus`, `blur`, `lr-invalid`.
|
|
44
|
+
**Slots:** `label`, `hint`, `error`.
|
|
45
|
+
**CSS parts:** `form-control`, `form-control-label`, `hint`, `error`, `select-trigger`,
|
|
46
|
+
`select-display-input`, `select-listbox`, `select-option`, `select-option-sub`, `select-group-label`,
|
|
47
|
+
`select-clear-button`.
|
|
48
|
+
|
|
49
|
+
```html
|
|
50
|
+
<script type="module">
|
|
51
|
+
import '@aceshooting/lyra-ui/components/lr-unit-picker.js';
|
|
52
|
+
</script>
|
|
53
|
+
<lr-unit-picker name="unit" label="Measurement unit" value="meter" searchable></lr-unit-picker>
|
|
54
|
+
```
|
package/llms/index.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Component index
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
307 custom elements, grouped by the source family they live in.
|
|
6
6
|
|
|
7
7
|
**Reading one component.** Its reference file path is derived from the tag — no search needed:
|
|
8
8
|
`llms/components/<tag>.md` (e.g. `llms/components/lr-table.md`): import path, optional peers,
|
|
@@ -30,7 +30,7 @@ and testing and utilities (`llms/shared/testing-and-utilities.md`). The combined
|
|
|
30
30
|
compatibility guide remains at `llms/shared.md`. Design tokens: `llms/tokens.md`.
|
|
31
31
|
Optional peers: `llms/peers.md`. Safe `wa-*`/`sl-*` migration: `llms/migration.md`.
|
|
32
32
|
|
|
33
|
-
## Form controls & inputs — `components/forms/` (
|
|
33
|
+
## Form controls & inputs — `components/forms/` (35)
|
|
34
34
|
|
|
35
35
|
- `lr-combobox` · lr-combobox.js · `stable` since `4.0.0` — a filterable single/multi select that combines a text input with a listbox.
|
|
36
36
|
- `lr-option` · lr-option.js · `stable` since `4.0.0` — a selectable option for `<lr-combobox>` and `<lr-select>`.
|
|
@@ -63,6 +63,10 @@ Optional peers: `llms/peers.md`. Safe `wa-*`/`sl-*` migration: `llms/migration.m
|
|
|
63
63
|
- `lr-locale-picker` · lr-locale-picker.js · `stable` since `6.0.0` — a closed-list locale switcher over the library's own locale registry.
|
|
64
64
|
- `lr-toggle` · lr-toggle.js · `experimental` since `21.0.0` — a two-state button that owns its `pressed` state.
|
|
65
65
|
- `lr-toggle-group` · lr-toggle-group.js · `experimental` since `21.0.0` — a set of `<lr-toggle>` children behind one tab stop.
|
|
66
|
+
- `lr-currency-picker` · lr-currency-picker.js · `experimental` since `25.5.0` — a form-associated currency-code selector.
|
|
67
|
+
- `lr-country-picker` · lr-country-picker.js · `experimental` since `25.5.0` — a form-associated country and territory selector.
|
|
68
|
+
- `lr-time-zone-picker` · lr-time-zone-picker.js · `experimental` since `25.5.0` — a form-associated time-zone identifier selector.
|
|
69
|
+
- `lr-unit-picker` · lr-unit-picker.js · `experimental` since `25.5.0` — a form-associated measurement-unit identifier selector.
|
|
66
70
|
|
|
67
71
|
## Data display, dashboards & flow canvas — `components/data/` (26)
|
|
68
72
|
|
package/llms/peers.md
CHANGED
|
@@ -52,14 +52,14 @@ for the page.
|
|
|
52
52
|
| `emoji-picker-element-data` | `^1.8.0` | `lr-emoji-picker` |
|
|
53
53
|
| `epubjs` | `^0.3.93` | `lr-ebook-viewer` |
|
|
54
54
|
| `ical.js` | `^2.2.1` | `lr-calendar-viewer` |
|
|
55
|
-
| `katex` | `^0.18.4` | `lr-agent-workspace`, `lr-dashboard-grid`, `lr-eval-run`, `lr-markdown`, `lr-markdown-core`, `lr-message-parts`, `lr-notebook-viewer`, `lr-rag-answer`, `lr-streaming-text`, `lr-streaming-text-core`, `lr-widget-renderer` |
|
|
55
|
+
| `katex` | `^0.18.4 \|\| ^0.19.0` | `lr-agent-workspace`, `lr-dashboard-grid`, `lr-eval-run`, `lr-markdown`, `lr-markdown-core`, `lr-message-parts`, `lr-notebook-viewer`, `lr-rag-answer`, `lr-streaming-text`, `lr-streaming-text-core`, `lr-widget-renderer` |
|
|
56
56
|
| `libphonenumber-js` | `>=1.11.0 <2` | _(not referenced by any component)_ |
|
|
57
57
|
| `mammoth` | `^1.12.1` | `lr-docx-viewer` |
|
|
58
58
|
| `maplibre-gl` | `>=5 <7` | `lr-geojson-viewer`, `lr-map` |
|
|
59
59
|
| `marked` | `^18.0.11` | `lr-agent-workspace`, `lr-dashboard-grid`, `lr-eval-run`, `lr-markdown`, `lr-markdown-core`, `lr-message-parts`, `lr-notebook-viewer`, `lr-rag-answer`, `lr-streaming-text`, `lr-streaming-text-core`, `lr-widget-renderer` |
|
|
60
60
|
| `papaparse` | `^5.7.0` | `lr-csv-viewer`, `lr-dataset-viewer` |
|
|
61
61
|
| `pdfjs-dist` | `^6.3.289` | `lr-pdf-viewer` |
|
|
62
|
-
| `postal-mime` | `^3.0.1
|
|
62
|
+
| `postal-mime` | `^3.0.1 \|\| ^4.0.0` | `lr-email-viewer` |
|
|
63
63
|
| `qrcode` | `^1.5.4` | `lr-qr-code` |
|
|
64
64
|
| `react` | `>=19 <20` | type-only `@aceshooting/lyra-ui/custom-elements-jsx` entry (no runtime import) |
|
|
65
65
|
| `shiki` | `^4.4.3` | `lr-agent-workspace`, `lr-change-review`, `lr-code-block`, `lr-code-block-core`, `lr-dashboard-grid`, `lr-diff-view`, `lr-document-compare`, `lr-eval-result`, `lr-eval-run`, `lr-markdown`, `lr-markdown-core`, `lr-message-parts`, `lr-notebook-viewer`, `lr-rag-answer`, `lr-streaming-text`, `lr-streaming-text-core`, `lr-widget-renderer` |
|
|
@@ -584,7 +584,9 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
584
584
|
'lr-control-group': LyraControlGroupReactProps;
|
|
585
585
|
'lr-conversation-item': LyraConversationItemReactProps;
|
|
586
586
|
'lr-copy-button': LyraCopyButtonReactProps;
|
|
587
|
+
'lr-country-picker': LyraCountryPickerReactProps;
|
|
587
588
|
'lr-csv-viewer': LyraCsvViewerReactProps;
|
|
589
|
+
'lr-currency-picker': LyraCurrencyPickerReactProps;
|
|
588
590
|
'lr-dashboard-grid': LyraDashboardGridReactProps;
|
|
589
591
|
'lr-data-grid': LyraDataGridReactProps;
|
|
590
592
|
'lr-dataset-viewer': LyraDatasetViewerReactProps;
|
|
@@ -781,6 +783,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
781
783
|
'lr-thread-list': LyraThreadListReactProps;
|
|
782
784
|
'lr-time-input': LyraTimeInputReactProps;
|
|
783
785
|
'lr-time-range': LyraTimeRangeReactProps;
|
|
786
|
+
'lr-time-zone-picker': LyraTimeZonePickerReactProps;
|
|
784
787
|
'lr-timeline': LyraTimelineReactProps;
|
|
785
788
|
'lr-timeline-item': LyraTimelineItemReactProps;
|
|
786
789
|
'lr-toast': LyraToastReactProps;
|
|
@@ -803,6 +806,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
803
806
|
'lr-tree': LyraTreeReactProps;
|
|
804
807
|
'lr-tree-item': LyraTreeItemReactProps;
|
|
805
808
|
'lr-typing-indicator': LyraTypingIndicatorReactProps;
|
|
809
|
+
'lr-unit-picker': LyraUnitPickerReactProps;
|
|
806
810
|
'lr-usage-badge': LyraUsageBadgeReactProps;
|
|
807
811
|
'lr-video': LyraVideoReactProps;
|
|
808
812
|
'lr-video-playlist': LyraVideoPlaylistReactProps;
|
|
@@ -1012,7 +1016,9 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
1012
1016
|
'lr-control-group': LyraComponentTypeMap['lr-control-group']['element'];
|
|
1013
1017
|
'lr-conversation-item': LyraComponentTypeMap['lr-conversation-item']['element'];
|
|
1014
1018
|
'lr-copy-button': LyraComponentTypeMap['lr-copy-button']['element'];
|
|
1019
|
+
'lr-country-picker': LyraComponentTypeMap['lr-country-picker']['element'];
|
|
1015
1020
|
'lr-csv-viewer': LyraComponentTypeMap['lr-csv-viewer']['element'];
|
|
1021
|
+
'lr-currency-picker': LyraComponentTypeMap['lr-currency-picker']['element'];
|
|
1016
1022
|
'lr-dashboard-grid': LyraComponentTypeMap['lr-dashboard-grid']['element'];
|
|
1017
1023
|
'lr-data-grid': LyraComponentTypeMap['lr-data-grid']['element'];
|
|
1018
1024
|
'lr-dataset-viewer': LyraComponentTypeMap['lr-dataset-viewer']['element'];
|
|
@@ -1209,6 +1215,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
1209
1215
|
'lr-thread-list': LyraComponentTypeMap['lr-thread-list']['element'];
|
|
1210
1216
|
'lr-time-input': LyraComponentTypeMap['lr-time-input']['element'];
|
|
1211
1217
|
'lr-time-range': LyraComponentTypeMap['lr-time-range']['element'];
|
|
1218
|
+
'lr-time-zone-picker': LyraComponentTypeMap['lr-time-zone-picker']['element'];
|
|
1212
1219
|
'lr-timeline': LyraComponentTypeMap['lr-timeline']['element'];
|
|
1213
1220
|
'lr-timeline-item': LyraComponentTypeMap['lr-timeline-item']['element'];
|
|
1214
1221
|
'lr-toast': LyraComponentTypeMap['lr-toast']['element'];
|
|
@@ -1231,6 +1238,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
1231
1238
|
'lr-tree': LyraComponentTypeMap['lr-tree']['element'];
|
|
1232
1239
|
'lr-tree-item': LyraComponentTypeMap['lr-tree-item']['element'];
|
|
1233
1240
|
'lr-typing-indicator': LyraComponentTypeMap['lr-typing-indicator']['element'];
|
|
1241
|
+
'lr-unit-picker': LyraComponentTypeMap['lr-unit-picker']['element'];
|
|
1234
1242
|
'lr-usage-badge': LyraComponentTypeMap['lr-usage-badge']['element'];
|
|
1235
1243
|
'lr-video': LyraComponentTypeMap['lr-video']['element'];
|
|
1236
1244
|
'lr-video-playlist': LyraComponentTypeMap['lr-video-playlist']['element'];
|
|
@@ -1317,7 +1325,9 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
1317
1325
|
'lr-control-group': LyraControlGroupSvelteProps;
|
|
1318
1326
|
'lr-conversation-item': LyraConversationItemSvelteProps;
|
|
1319
1327
|
'lr-copy-button': LyraCopyButtonSvelteProps;
|
|
1328
|
+
'lr-country-picker': LyraCountryPickerSvelteProps;
|
|
1320
1329
|
'lr-csv-viewer': LyraCsvViewerSvelteProps;
|
|
1330
|
+
'lr-currency-picker': LyraCurrencyPickerSvelteProps;
|
|
1321
1331
|
'lr-dashboard-grid': LyraDashboardGridSvelteProps;
|
|
1322
1332
|
'lr-data-grid': LyraDataGridSvelteProps;
|
|
1323
1333
|
'lr-dataset-viewer': LyraDatasetViewerSvelteProps;
|
|
@@ -1514,6 +1524,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
1514
1524
|
'lr-thread-list': LyraThreadListSvelteProps;
|
|
1515
1525
|
'lr-time-input': LyraTimeInputSvelteProps;
|
|
1516
1526
|
'lr-time-range': LyraTimeRangeSvelteProps;
|
|
1527
|
+
'lr-time-zone-picker': LyraTimeZonePickerSvelteProps;
|
|
1517
1528
|
'lr-timeline': LyraTimelineSvelteProps;
|
|
1518
1529
|
'lr-timeline-item': LyraTimelineItemSvelteProps;
|
|
1519
1530
|
'lr-toast': LyraToastSvelteProps;
|
|
@@ -1536,6 +1547,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
1536
1547
|
'lr-tree': LyraTreeSvelteProps;
|
|
1537
1548
|
'lr-tree-item': LyraTreeItemSvelteProps;
|
|
1538
1549
|
'lr-typing-indicator': LyraTypingIndicatorSvelteProps;
|
|
1550
|
+
'lr-unit-picker': LyraUnitPickerSvelteProps;
|
|
1539
1551
|
'lr-usage-badge': LyraUsageBadgeSvelteProps;
|
|
1540
1552
|
'lr-video': LyraVideoSvelteProps;
|
|
1541
1553
|
'lr-video-playlist': LyraVideoPlaylistSvelteProps;
|
|
@@ -1734,7 +1746,9 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
1734
1746
|
'lr-control-group': LyraControlGroupVueProps;
|
|
1735
1747
|
'lr-conversation-item': LyraConversationItemVueProps;
|
|
1736
1748
|
'lr-copy-button': LyraCopyButtonVueProps;
|
|
1749
|
+
'lr-country-picker': LyraCountryPickerVueProps;
|
|
1737
1750
|
'lr-csv-viewer': LyraCsvViewerVueProps;
|
|
1751
|
+
'lr-currency-picker': LyraCurrencyPickerVueProps;
|
|
1738
1752
|
'lr-dashboard-grid': LyraDashboardGridVueProps;
|
|
1739
1753
|
'lr-data-grid': LyraDataGridVueProps;
|
|
1740
1754
|
'lr-dataset-viewer': LyraDatasetViewerVueProps;
|
|
@@ -1931,6 +1945,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
1931
1945
|
'lr-thread-list': LyraThreadListVueProps;
|
|
1932
1946
|
'lr-time-input': LyraTimeInputVueProps;
|
|
1933
1947
|
'lr-time-range': LyraTimeRangeVueProps;
|
|
1948
|
+
'lr-time-zone-picker': LyraTimeZonePickerVueProps;
|
|
1934
1949
|
'lr-timeline': LyraTimelineVueProps;
|
|
1935
1950
|
'lr-timeline-item': LyraTimelineItemVueProps;
|
|
1936
1951
|
'lr-toast': LyraToastVueProps;
|
|
@@ -1953,6 +1968,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
1953
1968
|
'lr-tree': LyraTreeVueProps;
|
|
1954
1969
|
'lr-tree-item': LyraTreeItemVueProps;
|
|
1955
1970
|
'lr-typing-indicator': LyraTypingIndicatorVueProps;
|
|
1971
|
+
'lr-unit-picker': LyraUnitPickerVueProps;
|
|
1956
1972
|
'lr-usage-badge': LyraUsageBadgeVueProps;
|
|
1957
1973
|
'lr-video': LyraVideoVueProps;
|
|
1958
1974
|
'lr-video-playlist': LyraVideoPlaylistVueProps;
|
|
@@ -157,7 +157,7 @@ The entry points, then:
|
|
|
157
157
|
but it is not an exhaustive promise that every component-owned type or future export is present.
|
|
158
158
|
Prefer the owning component entry in application code, both for the smallest bundle and the
|
|
159
159
|
complete contract of that component.
|
|
160
|
-
- **`all.js` compatibility entry.** `import '@aceshooting/lyra-ui/all.js';` registers the
|
|
160
|
+
- **`all.js` compatibility entry.** `import '@aceshooting/lyra-ui/all.js';` registers the 292
|
|
161
161
|
root-included tags — everything **except** the 15 inventory-designated optional-peer-family tags:
|
|
162
162
|
`lr-chart` and its 8 typed subclasses (`lr-line-chart`, `lr-bar-chart`, `lr-pie-chart`,
|
|
163
163
|
`lr-doughnut-chart`, `lr-radar-chart`, `lr-polar-area-chart`, `lr-bubble-chart`,
|
|
@@ -1135,12 +1135,18 @@ The public `--lr-theme-surface-opacity` input accepts 0 through 1. Lower opacity
|
|
|
1135
1135
|
of the backdrop; the default foreground qualification covers 70%, while a custom lower setting
|
|
1136
1136
|
cannot guarantee contrast against every backdrop. Solid and accessibility preferences retain
|
|
1137
1137
|
opaque fills regardless of this input.
|
|
1138
|
-
|
|
1138
|
+
Necessary control borders use the effective painted opacity: their glass adjustment grows as
|
|
1139
|
+
transparency increases and disappears at 100% opacity. Ordinary and strong borders share this
|
|
1140
|
+
adjustment; decorative borders and explicit component border overrides keep their own tokens.
|
|
1141
|
+
Quiet text, focus indicators and transparent actions retain their separate local
|
|
1139
1142
|
contrast-qualified foreground; opaque accent fills retain their own on-colours. Supported chrome
|
|
1140
1143
|
includes app rails, navigation menus, menubars, menus and their context-menu composition, popovers,
|
|
1141
1144
|
selection toolbars, toast items and the owned playback-rate toolbar of `lr-av-player`. Nested glass
|
|
1142
1145
|
chrome is opaque, preventing repeated blur. Independently promoted menus and modal panels start a
|
|
1143
|
-
new material root.
|
|
1146
|
+
new material root. Surface-colored outlined card and disclosure interiors let nested Lyra
|
|
1147
|
+
controls use their solid border colors while preserving the enclosing edge against glass.
|
|
1148
|
+
Filled accent interiors retain qualification. Native descendants retain inherited public color
|
|
1149
|
+
aliases. Custom translucent content fills require the author to choose suitable control borders.
|
|
1144
1150
|
A design panel can offer a Glass opacity range from 0–100%, shown when the selected surface is
|
|
1145
1151
|
Glass. Start and reset it at 70%; convert the displayed percentage to the public token's 0–1 range.
|
|
1146
1152
|
Apply this CSS input independently of look overrides: `setLyraStyle()` does not accept surface
|
|
@@ -397,6 +397,8 @@ arrowPadding?: number; hoverBridge?: HTMLElement; onPlaced?: (result: PlacementR
|
|
|
397
397
|
`validationMessage`, and `willValidate`; `setFormValue(next)`; `getForm()`; `checkValidity()`;
|
|
398
398
|
`reportValidity()`; `setCustomValidity(message)`; `resetValidity()`; `formResetCallback()`; and
|
|
399
399
|
`formStateRestoreCallback(state, reason)`.
|
|
400
|
+
Writing `null` to `defaultValue` removes its markup value and resets the default to the adapter's
|
|
401
|
+
empty value; reading it still returns `TValue`. This does not overwrite a dirty live value.
|
|
400
402
|
The exact callable signatures are `attachInternalsSafely(host: HTMLElement): ElementInternals`,
|
|
401
403
|
`createFallbackInternals(): ElementInternals`, `createStringArrayFormDataState(name: string,
|
|
402
404
|
values: readonly string[]): FormData`, `readStringArrayFormDataState(state: string | File |
|
|
@@ -409,7 +411,8 @@ toFormValue(value: TValue): FormSubmissionValue; toFormState?(value: TValue):
|
|
|
409
411
|
FormSubmissionValue; isEmpty?(value: TValue): boolean; fromAttribute?(attribute: string): TValue;
|
|
410
412
|
toAttribute?(value: TValue): string | null; fromFormState?(state: FormSubmissionValue): TValue }`
|
|
411
413
|
and `FormAssociatedInterface<TValue> { internals: ElementInternals; get name(): string; set
|
|
412
|
-
name(next: string | null); value: TValue; defaultValue: TValue;
|
|
414
|
+
name(next: string | null); value: TValue; get defaultValue(): TValue;
|
|
415
|
+
set defaultValue(next: TValue | null); customError: string | null;
|
|
413
416
|
disabled: boolean; required: boolean; readonly effectiveDisabled: boolean; get form():
|
|
414
417
|
HTMLFormElement | null; set form(owner: FormOwnerValue); readonly labels: NodeList; readonly
|
|
415
418
|
validity: ValidityState; readonly validationMessage: string; readonly willValidate: boolean;
|