@aceshooting/lyra-ui 16.0.0 → 17.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.
- package/CHANGELOG.md +504 -0
- package/custom-elements.json +1 -1
- package/dist/cli/migration-contract.json +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.class.d.ts +3 -3
- package/dist/components/agent-tools/browser-frame/browser-frame.class.js +2 -2
- package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts +2 -2
- package/dist/components/agent-tools/compare-panel/compare-panel.class.js +3 -3
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +37 -13
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
- package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +4 -0
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +2 -2
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +3 -3
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +117 -17
- package/dist/components/charts/chart/chart.class.js +3 -3
- package/dist/components/charts/chart/histogram-bin.d.ts +5 -1
- package/dist/components/charts/chart/histogram-bin.js +1 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts +9 -0
- package/dist/components/conversation/code-block/code-block.styles.js +1 -1
- package/dist/components/conversation/message-actions/message-actions.styles.js +1 -1
- package/dist/components/conversation/model-select/model-select.class.d.ts +13 -4
- package/dist/components/conversation/model-select/model-select.class.js +2 -1
- package/dist/components/conversation/model-select/model-select.styles.js +1 -1
- package/dist/components/conversation/streaming-text/streaming-text-base.class.d.ts +40 -2
- package/dist/components/conversation/streaming-text/streaming-text-base.class.js +2 -2
- package/dist/components/conversation/streaming-text/streaming-text-core.class.d.ts +5 -3
- package/dist/components/conversation/streaming-text/streaming-text-core.class.js +10 -0
- package/dist/components/conversation/streaming-text/streaming-text.class.d.ts +9 -3
- package/dist/components/conversation/streaming-text/streaming-text.class.js +10 -0
- package/dist/components/conversation/suggestion-chips/suggestion-chips.class.d.ts +30 -2
- package/dist/components/conversation/suggestion-chips/suggestion-chips.class.js +4 -3
- package/dist/components/conversation/suggestion-chips/suggestion-chips.styles.js +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
- package/dist/components/conversation/usage-badge/usage-badge-overlay-runtime.js +1 -1
- package/dist/components/conversation/usage-badge/usage-badge.class.d.ts +4 -0
- package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +16 -4
- package/dist/components/conversation/voice-picker/voice-picker.class.js +2 -1
- package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
- package/dist/components/data/context-meter/context-meter.class.d.ts +23 -4
- package/dist/components/data/context-meter/context-meter.class.js +10 -7
- package/dist/components/data/context-meter/context-meter.styles.js +1 -1
- package/dist/components/data/data-grid/data-grid.class.d.ts +5 -2
- package/dist/components/data/data-grid/data-grid.class.js +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +32 -5
- package/dist/components/data/flow-canvas/flow-canvas.class.js +3 -1
- package/dist/components/data/flow-canvas/flow-canvas.styles.js +1 -1
- package/dist/components/data/flow-canvas/flow-model.js +1 -1
- package/dist/components/data/flow-canvas/flow-types.d.ts +10 -1
- package/dist/components/data/gauge/gauge.class.d.ts +15 -2
- package/dist/components/data/gauge/gauge.class.js +20 -20
- package/dist/components/data/gauge/gauge.styles.js +1 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +14 -5
- package/dist/components/data/graph-query-builder/graph-query-builder.class.js +2 -2
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +28 -2
- package/dist/components/data/sequence-strip/sequence-strip.class.js +3 -2
- package/dist/components/data/sequence-strip/sequence-strip.styles.js +1 -1
- package/dist/components/data/table/table.class.d.ts +155 -30
- package/dist/components/data/table/table.class.js +6 -4
- package/dist/components/data/table/table.styles.js +1 -1
- package/dist/components/data/timeline/timeline-item.class.d.ts +9 -1
- package/dist/components/data/timeline/timeline-item.class.js +2 -2
- package/dist/components/data/word-cloud/word-cloud.class.js +1 -1
- package/dist/components/data/word-cloud/word-cloud.styles.js +1 -1
- package/dist/components/forms/button/button.class.d.ts +30 -1
- package/dist/components/forms/button/button.class.js +2 -2
- package/dist/components/forms/checkbox/checkbox.class.d.ts +8 -6
- package/dist/components/forms/checkbox/checkbox.class.js +2 -2
- package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +7 -5
- package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
- package/dist/components/forms/color-picker/color-picker.class.d.ts +16 -2
- package/dist/components/forms/color-picker/color-picker.class.js +2 -2
- package/dist/components/forms/color-picker/color-picker.styles.js +1 -1
- package/dist/components/forms/combobox/combobox.class.d.ts +43 -8
- package/dist/components/forms/combobox/combobox.class.js +2 -2
- package/dist/components/forms/date-picker/date-input.class.d.ts +4 -0
- package/dist/components/forms/date-picker/date-input.class.js +1 -1
- package/dist/components/forms/icon-button/icon-button.class.d.ts +20 -3
- package/dist/components/forms/icon-button/icon-button.class.js +1 -1
- package/dist/components/forms/icon-button/icon-button.styles.js +1 -1
- package/dist/components/forms/input/input.class.d.ts +5 -2
- package/dist/components/forms/input/input.class.js +1 -1
- package/dist/components/forms/input/time-input.class.d.ts +4 -0
- package/dist/components/forms/input/time-input.class.js +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +11 -5
- package/dist/components/forms/locale-picker/locale-picker.class.js +1 -1
- package/dist/components/forms/otp-input/otp-input.class.d.ts +7 -2
- package/dist/components/forms/otp-input/otp-input.class.js +2 -2
- package/dist/components/forms/radio/radio-button.class.d.ts +2 -1
- package/dist/components/forms/radio/radio-group.class.d.ts +9 -4
- package/dist/components/forms/radio/radio-group.class.js +1 -1
- package/dist/components/forms/radio/radio.class.d.ts +13 -7
- package/dist/components/forms/radio/radio.class.js +1 -1
- package/dist/components/forms/rubric-form/rubric-form.class.d.ts +16 -6
- package/dist/components/forms/rubric-form/rubric-form.class.js +2 -2
- package/dist/components/forms/select/select.class.d.ts +19 -8
- package/dist/components/forms/select/select.class.js +2 -2
- package/dist/components/forms/slider/slider.class.d.ts +4 -2
- package/dist/components/forms/slider/slider.class.js +1 -1
- package/dist/components/forms/switch/switch.class.d.ts +8 -6
- package/dist/components/forms/switch/switch.class.js +1 -1
- package/dist/components/forms/textarea/textarea.class.d.ts +5 -3
- package/dist/components/forms/textarea/textarea.class.js +1 -1
- package/dist/components/forms/time-range/time-range.class.d.ts +12 -7
- package/dist/components/forms/time-range/time-range.class.js +1 -1
- package/dist/components/forms/time-range/time-range.styles.js +1 -1
- package/dist/components/forms/token-input/token-input.class.d.ts +6 -4
- package/dist/components/forms/token-input/token-input.class.js +1 -1
- package/dist/components/layout/app-rail/app-rail-item.class.d.ts +109 -4
- package/dist/components/layout/app-rail/app-rail-item.class.js +34 -29
- package/dist/components/layout/app-rail/app-rail-item.styles.js +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +25 -3
- package/dist/components/layout/app-rail/app-rail.styles.js +1 -1
- package/dist/components/layout/app-rail-group/app-rail-group.class.d.ts +2 -2
- package/dist/components/layout/app-rail-group/app-rail-group.class.js +2 -2
- package/dist/components/layout/carousel/carousel.class.d.ts +1 -1
- package/dist/components/layout/carousel/carousel.class.js +1 -1
- package/dist/components/layout/details/accordion.class.d.ts +2 -2
- package/dist/components/layout/details/accordion.class.js +2 -2
- package/dist/components/layout/filter-bar/filter-bar-register.d.ts +1 -0
- package/dist/components/layout/filter-bar/filter-bar-register.js +1 -0
- package/dist/components/layout/filter-bar/filter-bar.class.d.ts +85 -10
- package/dist/components/layout/filter-bar/filter-bar.class.js +7 -4
- package/dist/components/layout/menu/menu-item.class.d.ts +3 -3
- package/dist/components/layout/menu/menu-item.class.js +3 -3
- package/dist/components/layout/menu/menu.class.d.ts +5 -1
- package/dist/components/layout/menu/menu.class.js +2 -2
- package/dist/components/layout/reorder-list/reorder-item.styles.js +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.js +1 -1
- package/dist/components/media/attachment-trigger/attachment-trigger.styles.js +1 -1
- package/dist/components/media/avatar-group/avatar-group.class.d.ts +12 -1
- package/dist/components/media/avatar-group/avatar-group.class.js +2 -2
- package/dist/components/media/drop-zone/drop-zone.class.d.ts +32 -11
- package/dist/components/media/drop-zone/drop-zone.class.js +2 -2
- package/dist/components/media/file-input/file-input.class.d.ts +40 -19
- package/dist/components/media/file-input/file-input.class.js +2 -2
- package/dist/components/overlays/callout/callout.styles.js +1 -1
- package/dist/components/overlays/dialog/dialog.styles.js +1 -1
- package/dist/components/overlays/overlay/dropdown.class.d.ts +13 -3
- package/dist/components/overlays/overlay/dropdown.class.js +2 -2
- package/dist/components/overlays/overlay/popover.class.d.ts +12 -3
- package/dist/components/overlays/overlay/popover.class.js +2 -2
- package/dist/components/overlays/rating/rating.class.d.ts +9 -7
- package/dist/components/overlays/rating/rating.class.js +1 -1
- package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +5 -1
- package/dist/components/retrieval/citation-badge/citation-badge.class.js +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +1 -1
- package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +5 -1
- package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -1
- package/dist/components/retrieval/graph-legend/graph-legend.styles.js +1 -1
- package/dist/components/retrieval/retrieval-value-format.js +1 -1
- package/dist/components/retrieval/source-list/source-list.styles.js +1 -1
- package/dist/components/utility/copy-button/copy-button.class.d.ts +23 -11
- package/dist/components/utility/copy-button/copy-button.class.js +2 -2
- package/dist/components/utility/copy-button/copy-button.styles.js +1 -1
- package/dist/components/utility/diff-view/diff-view.styles.js +1 -1
- package/dist/components/utility/export-button/export-button.class.d.ts +4 -0
- package/dist/components/utility/export-button/export-button.class.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.styles.js +1 -1
- package/dist/components/utility/known-date/known-date.class.js +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.d.ts +38 -3
- package/dist/components/utility/mention-popover/mention-popover.class.js +2 -1
- package/dist/components/utility/mention-popover/mention-popover.styles.js +1 -1
- package/dist/components/utility/poll-status/poll-status.styles.js +1 -1
- package/dist/components/utility/tour/tour.class.d.ts +4 -0
- package/dist/components/utility/tour/tour.class.js +1 -1
- package/dist/components/utility/tour/tour.styles.js +1 -1
- package/dist/components/viewers/document-preview/document-preview.class.js +2 -2
- package/dist/components/viewers/docx-viewer/docx-viewer.class.js +2 -2
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +2 -2
- package/dist/components/viewers/highlight-layer/highlight-layer.class.js +2 -2
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +2 -2
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +2 -2
- package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +2 -2
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js +2 -2
- package/dist/custom-elements-jsx.d.ts +2 -2
- package/dist/events.d.ts +13 -12
- package/dist/internal/aggregate-file-limits.d.ts +33 -0
- package/dist/internal/aggregate-file-limits.js +1 -0
- package/dist/internal/catalog-picker.d.ts +15 -2
- package/dist/internal/catalog-picker.js +1 -1
- package/dist/internal/debounce-controller.d.ts +14 -0
- package/dist/internal/debounce-controller.js +1 -1
- package/dist/internal/default-strings.generated.d.ts +1 -1
- package/dist/internal/default-strings.generated.js +2 -2
- package/dist/internal/focus-navigation.d.ts +45 -0
- package/dist/internal/focus-navigation.js +1 -1
- package/dist/internal/form-associated.js +1 -1
- package/dist/internal/initial-slot-collection.d.ts +30 -0
- package/dist/internal/initial-slot-collection.js +1 -0
- package/dist/internal/intl-cache.js +1 -1
- package/dist/internal/invalid-event-alias.d.ts +46 -0
- package/dist/internal/invalid-event-alias.js +1 -1
- package/dist/internal/localization-runtime.d.ts +24 -0
- package/dist/internal/localization-runtime.js +1 -1
- package/dist/internal/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +1 -1
- package/dist/internal/package-metadata.d.ts +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/positioning-strategy.d.ts +3 -1
- package/dist/internal/state-part.d.ts +49 -0
- package/dist/internal/state-part.js +1 -0
- package/dist/internal/variants.styles.js +1 -1
- package/dist/lyra.d.ts +1 -1
- package/dist/svelte.d.ts +2 -2
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +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/testing/wait-for-mount.d.ts +46 -0
- package/dist/testing/wait-for-mount.js +1 -0
- package/dist/theme/theme-bootstrap.js +1 -1
- package/dist/theme/theme.d.ts +11 -2
- package/dist/theme/theme.js +1 -1
- package/dist/translations/ar/layout.js +1 -1
- package/dist/translations/de/layout.js +1 -1
- package/dist/translations/es/layout.js +1 -1
- package/dist/translations/fa/layout.js +1 -1
- package/dist/translations/fr/layout.js +1 -1
- package/dist/translations/he/layout.js +1 -1
- package/dist/translations/it/layout.js +1 -1
- package/dist/translations/ja/layout.js +1 -1
- package/dist/translations/pt-BR/layout.js +1 -1
- package/dist/translations/ru/layout.js +1 -1
- package/dist/translations/zh-CN/layout.js +1 -1
- package/dist/utilities/format.d.ts +17 -0
- package/dist/utilities/format.js +1 -1
- package/dist/vue.d.ts +2 -2
- package/llms/components/lr-app-rail-group.md +87 -10
- package/llms/components/lr-app-rail-item.md +88 -11
- package/llms/components/lr-app-rail.md +88 -11
- package/llms/components/lr-attachment-trigger.md +21 -0
- package/llms/components/lr-bar-chart.md +3 -2
- package/llms/components/lr-bubble-chart.md +3 -2
- package/llms/components/lr-callout.md +10 -0
- package/llms/components/lr-chart.md +43 -12
- package/llms/components/lr-citation-badge.md +7 -1
- package/llms/components/lr-code-block.md +21 -0
- package/llms/components/lr-color-picker.md +12 -7
- package/llms/components/lr-combobox.md +13 -1
- package/llms/components/lr-confirm-bar.md +36 -7
- package/llms/components/lr-context-meter.md +17 -4
- package/llms/components/lr-date-input.md +7 -1
- package/llms/components/lr-date-picker.md +6 -0
- package/llms/components/lr-dialog.md +21 -0
- package/llms/components/lr-doughnut-chart.md +3 -2
- package/llms/components/lr-drawer.md +10 -0
- package/llms/components/lr-drop-zone.md +16 -7
- package/llms/components/lr-dropdown-item.md +7 -0
- package/llms/components/lr-entity-chip.md +7 -1
- package/llms/components/lr-export-button.md +7 -1
- package/llms/components/lr-file-input.md +21 -10
- package/llms/components/lr-filter-bar.md +91 -15
- package/llms/components/lr-flow-canvas.md +16 -9
- package/llms/components/lr-gauge.md +22 -2
- package/llms/components/lr-histogram.md +7 -2
- package/llms/components/lr-icon-button.md +15 -7
- package/llms/components/lr-input.md +3 -1
- package/llms/components/lr-line-chart.md +3 -2
- package/llms/components/lr-lite-chart.md +13 -0
- package/llms/components/lr-locale-picker.md +7 -1
- package/llms/components/lr-mention-popover.md +16 -3
- package/llms/components/lr-menu-item.md +7 -0
- package/llms/components/lr-menu.md +8 -1
- package/llms/components/lr-message-actions.md +10 -0
- package/llms/components/lr-model-select.md +8 -3
- package/llms/components/lr-native-time-input.md +8 -1
- package/llms/components/lr-number-input.md +8 -1
- package/llms/components/lr-option.md +12 -0
- package/llms/components/lr-otp-input.md +6 -0
- package/llms/components/lr-pie-chart.md +3 -2
- package/llms/components/lr-polar-area-chart.md +3 -2
- package/llms/components/lr-prompt-input.md +2 -2
- package/llms/components/lr-radar-chart.md +3 -2
- package/llms/components/lr-reorder-item.md +12 -0
- package/llms/components/lr-reorder-list.md +12 -0
- package/llms/components/lr-scatter-chart.md +3 -2
- package/llms/components/lr-sequence-strip.md +10 -4
- package/llms/components/lr-streaming-text-core.md +21 -8
- package/llms/components/lr-streaming-text.md +34 -4
- package/llms/components/lr-suggestion-chips.md +8 -4
- package/llms/components/lr-table.md +47 -10
- package/llms/components/lr-textarea.md +1 -1
- package/llms/components/lr-time-input.md +7 -1
- package/llms/components/lr-tool-call-chip.md +7 -1
- package/llms/components/lr-tour.md +7 -1
- package/llms/components/lr-usage-badge.md +7 -1
- package/llms/components/lr-voice-picker.md +7 -3
- package/llms/shared.md +169 -16
- package/llms/tokens.md +17 -1
- package/llms-full.txt +941 -147
- package/package.json +16 -2
- 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
|
@@ -92,8 +92,14 @@ structured points retain their y-value formatting.
|
|
|
92
92
|
- `labels: readonly string[] = []` (attribute: false)
|
|
93
93
|
- `datasets: readonly LyraChartSeries[] = []` (attribute: false) — `LyraChartSeries { readonly
|
|
94
94
|
label: string; readonly data?: readonly (number|null)[]; readonly points?: readonly
|
|
95
|
-
LyraChartPoint[]; readonly color?: string|readonly string[]; ... }`. The
|
|
96
|
-
`ChartPoint` names were removed in 9.0.0 — import
|
|
95
|
+
LyraChartPoint[]; readonly color?: string|readonly string[]; readonly stack?: string; ... }`. The
|
|
96
|
+
deprecated `Series` and `ChartPoint` names were removed in 9.0.0 — import
|
|
97
|
+
`LyraChartSeries`/`LyraChartPoint` instead.
|
|
98
|
+
- `stack` is a Chart.js dataset `stack` group id: series sharing one `stack` value on the same
|
|
99
|
+
(stacked) axis accumulate into one stack; a different id starts an independent stack Chart.js
|
|
100
|
+
draws side by side with the first on that axis. Omitted series share one implicit group, so
|
|
101
|
+
every chart written before `stack` existed sums exactly as it always did. Only meaningful on an
|
|
102
|
+
axis that is actually stacked — see `stacked`/`stackedAxes` below.
|
|
97
103
|
`LyraChartPoint { readonly x: number; readonly
|
|
98
104
|
y: number; readonly r?: number; readonly label?: string }`: `r` is the bubble
|
|
99
105
|
radius, and the optional per-point `label` is retained by events, CSV export, keyboard
|
|
@@ -188,6 +194,16 @@ structured points retain their y-value formatting.
|
|
|
188
194
|
and the stack's own `axis`, but no `datasetIndex` and no `seriesLabel` — naming the topmost
|
|
189
195
|
series would make a unit-switching formatter render that one series' unit for a cross-series
|
|
190
196
|
number. `lr-lite-chart`'s total cells drop the same two fields.
|
|
197
|
+
- `tooltipTitleFormatter?: LyraChartTooltipGroupFormatter` (attribute: false) — tooltip title
|
|
198
|
+
formatter (e.g. a scatter point's own name). `LyraChartTooltipGroupFormatter = (items:
|
|
199
|
+
readonly LyraChartFormatterContext[]) => string`: unlike `formatter`, which runs once per item,
|
|
200
|
+
this runs once per tooltip render and receives every hovered item's context at once (one entry
|
|
201
|
+
per dataset the tooltip covers, each in the same shape `formatter`'s `'tooltip'` surface already
|
|
202
|
+
produces). Unset (the default) leaves Chart.js's own default title — the shared category label.
|
|
203
|
+
- `tooltipFooterFormatter?: LyraChartTooltipGroupFormatter` (attribute: false) — tooltip footer
|
|
204
|
+
formatter (e.g. a category's stack total under the items), in the same shape and calling
|
|
205
|
+
convention as `tooltipTitleFormatter`. Unset (the default) leaves Chart.js's own default: no
|
|
206
|
+
footer.
|
|
191
207
|
- `area: boolean = false` — chart-wide default for whether line-type series fill the region under
|
|
192
208
|
their line; a series's own `fill` overrides it, rendered with a translucent version of its color
|
|
193
209
|
- `zoom: boolean = false` — wheel/drag/pinch zoom on the `x` axis only (pan disabled, and the zoom
|
|
@@ -202,6 +218,14 @@ structured points retain their y-value formatting.
|
|
|
202
218
|
- `stacked: boolean = false` — stacks the `x`/`y`(/`y2`) scale entries `buildScales()` returns; only
|
|
203
219
|
meaningful for `bar`/`line` types (scatter/bubble's linear `x` scale and the radial `r` scale used
|
|
204
220
|
by radar/polar-area are out of scope)
|
|
221
|
+
- `stackedAxes?: Partial<Record<'y' | 'y2', boolean>>` (attribute: false) — per-value-axis override
|
|
222
|
+
of `stacked`, keyed by `'y'`/`'y2'`. An axis absent from this record — including every axis when
|
|
223
|
+
the whole property is unset — falls back to `stacked`, so a chart that never sets this renders
|
|
224
|
+
byte-identically to before. Lets a `stacked` bar series on the primary axis sit next to an
|
|
225
|
+
unstacked overlay series on `y2` (via `LyraChartSeries.axis: 'y2'`): e.g. `stacked` plus
|
|
226
|
+
`stackedAxes: { y2: false }`. The shared categorical axis (`x` for a vertical bar/line, or `y`
|
|
227
|
+
under a horizontal `indexAxis`) has no entry of its own — it always mirrors the resolved `'y'`
|
|
228
|
+
value, matching Chart.js's own paired index/value-scale stacking contract.
|
|
205
229
|
- `withoutAnimation: boolean = false` (attribute `without-animation`, reflected) — disables Chart.js
|
|
206
230
|
construction animation; reduced-motion preference also disables it regardless of this value
|
|
207
231
|
- `withoutTooltip: boolean = false` (attribute `without-tooltip`, reflected) — disables the
|
|
@@ -214,14 +238,20 @@ structured points retain their y-value formatting.
|
|
|
214
238
|
`feature-warning` plus assertive announcement explains the nonfatal limitation. The screen-reader
|
|
215
239
|
equivalent is the always-present accessible data table (`show-data-table` makes it visible) —
|
|
216
240
|
labels are a purely visual, canvas-only addition and add no new a11y surface.
|
|
217
|
-
- `stackTotals: boolean = false` (attribute `stack-totals`) —
|
|
218
|
-
the per-category stack total above each stack, via the
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
241
|
+
- `stackTotals: boolean = false` (attribute `stack-totals`) — on an actually-stacked axis (`stacked`
|
|
242
|
+
or `stackedAxes`, bar/line only), draws the per-category stack total above each stack, via the
|
|
243
|
+
same `chartjs-plugin-datalabels` peer. Computed per `LyraChartSeries.stack` group as well as per
|
|
244
|
+
axis: two stack groups sharing one axis each get their own total, drawn above their own topmost
|
|
245
|
+
dataset, and a dataset on an axis that isn't stacked (e.g. an unstacked `stackedAxes` overlay)
|
|
246
|
+
never gets one. Null/undefined points are skipped; a category whose every value is null shows no
|
|
247
|
+
total (not `0`). The generated accessible table receives one formatted total column per stacked
|
|
248
|
+
axis (a dual-axis stack gets separately labelled primary- and secondary-axis columns); with
|
|
249
|
+
multiple stack groups on one axis, that column still totals only the implicit group of series
|
|
250
|
+
that never set their own `stack` id — a per-group breakdown is available programmatically but not
|
|
251
|
+
yet surfaced as extra table columns. The table totals do not depend on the optional visual-label
|
|
252
|
+
peer being installed. If that peer is unavailable, the chart retains its core rendering and
|
|
253
|
+
generated table totals while a localized nonfatal warning explains that the canvas labels cannot
|
|
254
|
+
be drawn.
|
|
225
255
|
- `config?: LyraChartConfiguration` (attribute: false) — peer-neutral configuration structurally
|
|
226
256
|
compatible with Chart.js's `ChartConfiguration`, deep-merged over the generated
|
|
227
257
|
config; any nested key wins without clobbering sibling generated keys. This is the raw Chart.js
|
|
@@ -542,8 +572,9 @@ announced. In particular, unavailable data labels do not remove generated table
|
|
|
542
572
|
pending. Independently, `updated()` only reaches
|
|
543
573
|
Chart.js when at least one of `type`, `labels`, `datasets`, `description`, `grid`, `axes`, `compact`, `indexAxis`,
|
|
544
574
|
`label`, `hiddenDatasets`, `legendPosition`, `min`, `max`, `plugins`, the internal resolved auto legend
|
|
545
|
-
position, `valueFormatter`, `formatter`, `
|
|
546
|
-
`
|
|
575
|
+
position, `valueFormatter`, `formatter`, `tooltipTitleFormatter`, `tooltipFooterFormatter`, `area`,
|
|
576
|
+
`height`, `xLabel`, `yLabel`, `y2Label`, `beginAtZero`,
|
|
577
|
+
`stacked`, `stackedAxes`, any `without*` control, `dataLabels`, `stackTotals`, `config`, the parsed
|
|
547
578
|
slotted config, `zoom`, `locale`, `strings`, or the internal loading state actually changed in
|
|
548
579
|
that update (so an
|
|
549
580
|
unrelated property/state update, or a bare `requestUpdate()`, draws nothing). Resize callbacks
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via** 4 parts,
|
|
12
|
+
- **Themeable via** 4 parts, 8 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
|
---
|
|
@@ -75,6 +75,12 @@ The anchored source-preview popover is a floating surface and paints from the **
|
|
|
75
75
|
declared on `:host`, so one declaration on `:root` — or on any ancestor, to scope it — retints this
|
|
76
76
|
surface together with every other floating surface in the library. `--lr-overlay-radius` (default `var(--lr-radius)`) is the matching corner radius.
|
|
77
77
|
|
|
78
|
+
`--lr-positioning-strategy` (16.0.0) — the source-preview popover reads this same cascading
|
|
79
|
+
`absolute`/`fixed` override documented on `<lr-popover>` when it is (re)positioned, falling back to
|
|
80
|
+
its own `fixed` default when nothing is set. There is no per-instance `positioning-strategy`
|
|
81
|
+
property on `<lr-citation-badge>`; set the custom property on `:root`, a theme, or one clipping
|
|
82
|
+
ancestor to change every unset citation badge beneath it.
|
|
83
|
+
|
|
78
84
|
**Optional peer deps:** none.
|
|
79
85
|
|
|
80
86
|
```html
|
|
@@ -123,6 +123,27 @@ header gap — a rule that sets `display` on it must qualify itself with `:not([
|
|
|
123
123
|
`line-button` (a gutter line-number button, only rendered while `activatableLines` and `lineNumbers`
|
|
124
124
|
are both set)
|
|
125
125
|
|
|
126
|
+
**Migrating a pre-16.0.0 `::part()` rule.** This component's icon-only action is a composed
|
|
127
|
+
`<lr-icon-button>`, so the part naming that action now names the composed child's HOST, which
|
|
128
|
+
paints nothing. A `border`, `background` or `border-radius` set on it is silently dead — only
|
|
129
|
+
`color` still appears to work, because it inherits, which makes such a rule look half-alive rather
|
|
130
|
+
than broken. Set `--lr-icon-button-background`/`-color`/`-border`/`-radius` (and their
|
|
131
|
+
`-hover`/`-active` variants) on this element or an ancestor instead: the composed control reads
|
|
132
|
+
those public tokens ahead of any default this component supplies. For SIZE use
|
|
133
|
+
`--lr-theme-icon-button-size`, not `--lr-icon-button-size` — every `LyraElement` re-declares the
|
|
134
|
+
latter on its own `:host`, so it never reaches a composed child (see `llms/tokens.md`).
|
|
135
|
+
|
|
136
|
+
**Border reaches the composed copy control the same way background/color/radius do.** This
|
|
137
|
+
component paints no resting border of its own, so it relays no `--_lr-icon-button-border-default`
|
|
138
|
+
into the copy control's private fallback tier — but that absence is not a gap. The public
|
|
139
|
+
`--lr-icon-button-border` (and its `-hover`/`-active` variants) is the FIRST arm of the token
|
|
140
|
+
chain, resolved by ordinary custom-property inheritance regardless of whether this component
|
|
141
|
+
relays a default for that same property, so setting it on this element or an ancestor reaches the
|
|
142
|
+
copy control exactly as the background/color/radius tokens do. A component with no resting
|
|
143
|
+
border simply has no default to relay, which is different from border theming being broken. Size
|
|
144
|
+
remains the one exception that does not cross this way: use `--lr-theme-icon-button-size`, never
|
|
145
|
+
`--lr-icon-button-size`, as noted above.
|
|
146
|
+
|
|
126
147
|
**Themeable custom properties:** `--lr-code-block-max-height` (default `none` — an independently
|
|
127
148
|
settable scroll cap; a `max-height` attribute writes the same property inline on `body` and wins),
|
|
128
149
|
`--lr-code-block-font` (default
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via** 43 parts,
|
|
12
|
+
- **Themeable via** 43 parts, 34 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
|
---
|
|
@@ -90,12 +90,15 @@ and:
|
|
|
90
90
|
applies to the whole string, function names included (`RGB(255, 0, 0)`)
|
|
91
91
|
- `swatches: string | string[] | LyraColorPickerSwatch[] = ''` — a predefined palette, given as a
|
|
92
92
|
`;`-separated string, an array of colour strings, or an array of
|
|
93
|
-
`{ color: string; label?: string }` objects. Any colour the picker can parse
|
|
94
|
-
entries are dropped. An entry that is _not_ parseable is kept in the list and
|
|
95
|
-
swatch — it just paints no colour (the bare checkerboard) and clicking it does
|
|
96
|
-
the palette yourself if that matters. `label` becomes the swatch's accessible
|
|
97
|
-
empty, or whitespace-only label falls back to announcing the raw colour string.
|
|
98
|
-
|
|
93
|
+
`{ color: string; label?: string; disabled?: boolean }` objects. Any colour the picker can parse
|
|
94
|
+
is accepted; blank entries are dropped. An entry that is _not_ parseable is kept in the list and
|
|
95
|
+
still renders a swatch — it just paints no colour (the bare checkerboard) and clicking it does
|
|
96
|
+
nothing, so filter the palette yourself if that matters. `label` becomes the swatch's accessible
|
|
97
|
+
name; a missing, empty, or whitespace-only label falls back to announcing the raw colour string.
|
|
98
|
+
`disabled` marks that one swatch non-actionable, independent of the whole control's own
|
|
99
|
+
`disabled`: it renders a genuinely disabled `<button>` (no tab stop, no hover/press affordance)
|
|
100
|
+
and clicking it commits nothing; omitted or `false` renders the swatch exactly as before this
|
|
101
|
+
field existed. The palette container renders only while the normalized list is non-empty
|
|
99
102
|
- `withoutFormatToggle: boolean = false` (attribute `without-format-toggle`) — removes the button
|
|
100
103
|
that cycles between formats. `noFormatToggle` (`no-format-toggle`) is the Shoelace spelling and
|
|
101
104
|
reaches the same behavior; either one wins
|
|
@@ -279,6 +282,8 @@ of authoring `positioning-strategy`/`hoist` on each instance.
|
|
|
279
282
|
`var(--lr-color-brand)`.
|
|
280
283
|
- `--lr-color-picker-selected-check-color` — Checkmark on the selected palette swatch. Default:
|
|
281
284
|
`var(--lr-color-surface)`.
|
|
285
|
+
- `--lr-color-picker-swatch-disabled-opacity` — Opacity of a palette swatch whose own entry sets
|
|
286
|
+
`disabled`. Default: `0.5`.
|
|
282
287
|
|
|
283
288
|
```html
|
|
284
289
|
<lr-color-picker
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via** 33 parts,
|
|
12
|
+
- **Themeable via** 33 parts, 32 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Documented with** `lr-option` (same section below)
|
|
14
14
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
15
15
|
|
|
@@ -155,6 +155,18 @@ An async `source` row can carry the same two fields (`start`, `end`) alongside i
|
|
|
155
155
|
that window instead, since the value is not yet known to be unmatched at all
|
|
156
156
|
- `appearance: 'filled' | 'outlined' | 'filled-outlined' = 'outlined'` (reflected)
|
|
157
157
|
- `placement: 'top' | 'bottom' = 'bottom'` (reflected; flip/shift can still keep the listbox in view)
|
|
158
|
+
- `positioningStrategy: PlaceStrategy = 'fixed'` (attribute `positioning-strategy`, reflected) —
|
|
159
|
+
the CSS positioning scheme the listbox is laid out with, spelled the same as on `lr-select`,
|
|
160
|
+
`lr-popover`, `lr-dropdown`, `lr-tooltip` and `lr-color-picker`. `fixed` is this control's
|
|
161
|
+
default and what it has always rendered: it positions against the viewport and escapes most
|
|
162
|
+
clipping ancestors, which suits a typeahead list that usually sits inside a scrollable region.
|
|
163
|
+
`absolute` positions against the nearest containing block and scrolls with it. An unsupported
|
|
164
|
+
value resolves to the default. Like `placement`, a change takes effect the next time the listbox
|
|
165
|
+
opens. When the instance sets nothing, the cascading `--lr-positioning-strategy` custom property
|
|
166
|
+
(`absolute`/`fixed`, set on `:root`, a theme, or one clipping ancestor) is honoured ahead of the
|
|
167
|
+
default; an explicit instance value always wins. There is deliberately no `hoist` alias here:
|
|
168
|
+
unlike on `lr-select`, where it is Shoelace's established spelling, it would be a boolean
|
|
169
|
+
defaulting to `true`, so its attribute could only ever express the value the control already has
|
|
158
170
|
- `clearable: boolean = false` (reflected) — displays the clear button while there is something to
|
|
159
171
|
clear on **either** axis this control owns: a committed selection, or _visible_ filter text. See
|
|
160
172
|
"the clear button covers two axes" below
|
|
@@ -82,13 +82,21 @@ real overlays use.
|
|
|
82
82
|
`returnFocusTo: ConfirmBarReturnFocusTarget = null` (attribute: false) — where focus goes once a
|
|
83
83
|
decision lands, instead of parking on `[part="status"]`.
|
|
84
84
|
`ConfirmBarReturnFocusTarget = HTMLElement | null | (() => HTMLElement | null)`; the thunk form is
|
|
85
|
-
|
|
86
|
-
re-creates that control on the way back
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
85
|
+
called at handoff time, because a host that swaps a focused control out for this bar often
|
|
86
|
+
re-creates that control on the way back — and, because every supported host framework re-renders
|
|
87
|
+
asynchronously relative to that synchronous handoff, the control frequently does not exist yet at
|
|
88
|
+
that first call. When the first call does not yet name a live, focusable element, the same handoff
|
|
89
|
+
calls the thunk again once the host has had a real chance to react (its own re-render committed),
|
|
90
|
+
and moves focus there if it has since appeared and nothing else has claimed focus in the meantime —
|
|
91
|
+
this is what makes the swap-a-trigger-for-this-bar case actually work, rather than only working when
|
|
92
|
+
the host happens to re-create its control before the decision lands. A plain element value is
|
|
93
|
+
resolved once, synchronously, and never retried: it names something that either already exists or
|
|
94
|
+
never will. It applies to every path that reaches a decision, a `pending` decision finalized
|
|
95
|
+
externally included. A named target that is missing, detached, `inert`, or otherwise refuses focus
|
|
96
|
+
falls back to `[part="status"]` rather than to `<body>` — an `inert` element refuses `focus()`
|
|
97
|
+
silently. Left unset, the handoff is byte-identical to the shipped one. The pending state is
|
|
98
|
+
deliberately *not* affected: while a decision is awaiting resolution, focus still parks on
|
|
99
|
+
`[part="status"]`, because that is not the return journey yet.
|
|
92
100
|
|
|
93
101
|
**Slots:** default — supplementary body content between the heading and the actions (e.g. a
|
|
94
102
|
`lr-diff-view`). `footer` — extra content at the start of the action row.
|
|
@@ -213,3 +221,24 @@ bar.addEventListener("lr-approve", (e) => {
|
|
|
213
221
|
}); // bounce back, retry
|
|
214
222
|
});
|
|
215
223
|
```
|
|
224
|
+
|
|
225
|
+
A host that reveals this bar in place of a control it just hid — the `returnFocusTo` motivating
|
|
226
|
+
case — does not need to order that swap relative to the line above. A reactive host's own re-render
|
|
227
|
+
(replacing this bar with its trigger again) runs on its own update cycle, which lands asynchronously
|
|
228
|
+
either way, so `returnFocusTo`'s thunk is written to be called twice: once immediately, in case the
|
|
229
|
+
control already exists, and once more after the host has had a chance to react if the first call
|
|
230
|
+
found nothing yet:
|
|
231
|
+
|
|
232
|
+
```ts
|
|
233
|
+
bar.returnFocusTo = () => document.querySelector('[data-action="delete"]');
|
|
234
|
+
bar.addEventListener("lr-approve", (e) => {
|
|
235
|
+
e.preventDefault();
|
|
236
|
+
runApproval(e.detail.args)
|
|
237
|
+
.then(() => {
|
|
238
|
+
bar.decision = "approved"; // the host's own state clear can happen before or after this
|
|
239
|
+
})
|
|
240
|
+
.catch(() => {
|
|
241
|
+
bar.pending = null;
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
```
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 17 parts, 10 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
|
---
|
|
@@ -26,9 +26,13 @@ used" summary.
|
|
|
26
26
|
**Properties:**
|
|
27
27
|
|
|
28
28
|
- `segments: ContextMeterSegment[] = []` (attribute: false, JS-only) — `{ label: string; value:
|
|
29
|
-
number; tone?: 'brand' | 'success' | 'warning' | 'danger' | 'neutral'; color?: string
|
|
29
|
+
number; tone?: 'brand' | 'success' | 'warning' | 'danger' | 'neutral'; color?: string; disabled?:
|
|
30
|
+
boolean }[]`. `value` is an _absolute_
|
|
30
31
|
quantity measured against `total`, never a pre-computed percentage.
|
|
31
32
|
`color`, when supplied, is a sanitized arbitrary CSS color that takes precedence over `tone`.
|
|
33
|
+
`disabled`, when set, marks that band non-actionable while `interactive` is set: its control
|
|
34
|
+
renders genuinely disabled (no tab stop, no hover/press affordance) and activating it emits no
|
|
35
|
+
`lr-segment-activate`.
|
|
32
36
|
- `total: number = 0` — the full capacity segments are measured against (e.g. a model's context
|
|
33
37
|
window size).
|
|
34
38
|
- `shape: ContextMeterShape = 'bar'` (`'bar' | 'ring'`, reflected) — the v9 geometry name;
|
|
@@ -95,7 +99,14 @@ color hook as `segment`) and `legend-label`, plus `legend-value` and `legend-per
|
|
|
95
99
|
matching `legendDisplay` settings. While `interactive` is set, `segment` and `legend-item` are
|
|
96
100
|
`<button>`s (a `role="button"` arc under `shape="ring"`) and a selected one carries a second part
|
|
97
101
|
token — `segment-selected` / `legend-item-selected` — because nothing but a pseudo-class may follow
|
|
98
|
-
`::part()`, so the state has to live in the part name
|
|
102
|
+
`::part()`, so the state has to live in the part name. Two further state tokens join them, and they
|
|
103
|
+
compose: `segment-empty` / `legend-item-empty` on a band whose `value` is 0, and
|
|
104
|
+
`segment-disabled` / `legend-item-disabled` on a band whose `segments` entry sets `disabled`. The
|
|
105
|
+
empty pair is DERIVED and carries no built-in treatment — it is the hook for your own "nothing in
|
|
106
|
+
this bucket" styling, and a zero band stays actionable. The disabled pair is DECLARED: that control
|
|
107
|
+
renders genuinely disabled (no tab stop, no hover or press affordance) and activating it emits no
|
|
108
|
+
`lr-segment-activate`. Inertness is never inferred from a zero value, because a zero band is
|
|
109
|
+
legitimately clickable in a budget meter
|
|
99
110
|
|
|
100
111
|
**Themeable custom properties:** `--lr-context-meter-segment-color` is set per segment when its
|
|
101
112
|
`color` field is supplied, and is read by both `segment` and its matching `legend-swatch` so the
|
|
@@ -116,7 +127,9 @@ selected band stays visibly selected exactly while it is being pointed at or foc
|
|
|
116
127
|
ring stays intact. `--lr-context-meter-selected-arc-stroke` (default `16`, in this component's
|
|
117
128
|
`0 0 100 100` viewBox units) is the stroke width of a selected `ring`-shape arc: every arc shares
|
|
118
129
|
one bounding box, so a selected arc reports itself by thickening in place rather than by an outline
|
|
119
|
-
that would trace the whole ring identically for every selection.
|
|
130
|
+
that would trace the whole ring identically for every selection.
|
|
131
|
+
`--lr-context-meter-disabled-opacity` (default `var(--lr-opacity-disabled)`) dims a band or legend row whose entry sets
|
|
132
|
+
`disabled`; the band keeps its own colour, since that colour is the datum. Otherwise the component consumes shared tokens
|
|
120
133
|
`--lr-space-xs`, `--lr-color-text-quiet`, `--lr-font`, `--lr-radius`, `--lr-color-border`,
|
|
121
134
|
`--lr-color-brand`, `--lr-color-success`, `--lr-color-warning`, `--lr-color-danger`,
|
|
122
135
|
`--lr-transition-base`.
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via** 22 parts,
|
|
12
|
+
- **Themeable via** 22 parts, 24 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Documented with** `lr-date-picker` (same section below)
|
|
14
14
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
15
15
|
|
|
@@ -336,6 +336,12 @@ state hooks are `--lr-date-input-action-hover-color`, `--lr-date-input-action-ho
|
|
|
336
336
|
`--lr-date-input-action-active-radius` for the pressed state. They inherit from theme ancestors;
|
|
337
337
|
direct values on `lr-date-input` win without retuning library-wide tokens.
|
|
338
338
|
|
|
339
|
+
`--lr-positioning-strategy` (16.0.0) — the calendar popup reads this same cascading
|
|
340
|
+
`absolute`/`fixed` override documented on `<lr-popover>` when it is (re)positioned, falling back to
|
|
341
|
+
its own `fixed` default when nothing is set. There is no per-instance `positioning-strategy`
|
|
342
|
+
property on `<lr-date-input>`; set the custom property on `:root`, a theme, or one clipping
|
|
343
|
+
ancestor to change every unset date input beneath it.
|
|
344
|
+
|
|
339
345
|
**Optional peer deps:** none.
|
|
340
346
|
|
|
341
347
|
```html
|
|
@@ -336,6 +336,12 @@ state hooks are `--lr-date-input-action-hover-color`, `--lr-date-input-action-ho
|
|
|
336
336
|
`--lr-date-input-action-active-radius` for the pressed state. They inherit from theme ancestors;
|
|
337
337
|
direct values on `lr-date-input` win without retuning library-wide tokens.
|
|
338
338
|
|
|
339
|
+
`--lr-positioning-strategy` (16.0.0) — the calendar popup reads this same cascading
|
|
340
|
+
`absolute`/`fixed` override documented on `<lr-popover>` when it is (re)positioned, falling back to
|
|
341
|
+
its own `fixed` default when nothing is set. There is no per-instance `positioning-strategy`
|
|
342
|
+
property on `<lr-date-input>`; set the custom property on `:root`, a theme, or one clipping
|
|
343
|
+
ancestor to change every unset date input beneath it.
|
|
344
|
+
|
|
339
345
|
**Optional peer deps:** none.
|
|
340
346
|
|
|
341
347
|
```html
|
|
@@ -193,6 +193,27 @@ focusable control _inside_ the body, and the body itself is used only when there
|
|
|
193
193
|
focus. So a dialog full of form controls behaves exactly as before, and a dialog full of text is now
|
|
194
194
|
scrollable with the arrow keys, Page Up/Down and Home/End once Tab reaches it.
|
|
195
195
|
|
|
196
|
+
**Migrating a pre-16.0.0 `::part()` rule.** This component's icon-only action is a composed
|
|
197
|
+
`<lr-icon-button>`, so the part naming that action now names the composed child's HOST, which
|
|
198
|
+
paints nothing. A `border`, `background` or `border-radius` set on it is silently dead — only
|
|
199
|
+
`color` still appears to work, because it inherits, which makes such a rule look half-alive rather
|
|
200
|
+
than broken. Set `--lr-icon-button-background`/`-color`/`-border`/`-radius` (and their
|
|
201
|
+
`-hover`/`-active` variants) on this element or an ancestor instead: the composed control reads
|
|
202
|
+
those public tokens ahead of any default this component supplies. For SIZE use
|
|
203
|
+
`--lr-theme-icon-button-size`, not `--lr-icon-button-size` — every `LyraElement` re-declares the
|
|
204
|
+
latter on its own `:host`, so it never reaches a composed child (see `llms/tokens.md`).
|
|
205
|
+
|
|
206
|
+
**Border reaches the composed close control the same way background/color/radius do.** This
|
|
207
|
+
component paints no resting border of its own, so it relays no `--_lr-icon-button-border-default`
|
|
208
|
+
into the close control's private fallback tier — but that absence is not a gap. The public
|
|
209
|
+
`--lr-icon-button-border` (and its `-hover`/`-active` variants) is the FIRST arm of the token
|
|
210
|
+
chain, resolved by ordinary custom-property inheritance regardless of whether this component
|
|
211
|
+
relays a default for that same property, so setting it on this element or an ancestor reaches the
|
|
212
|
+
close control exactly as the background/color/radius tokens do. A component with no resting
|
|
213
|
+
border simply has no default to relay, which is different from border theming being broken. Size
|
|
214
|
+
remains the one exception that does not cross this way: use `--lr-theme-icon-button-size`, never
|
|
215
|
+
`--lr-icon-button-size`, as noted above.
|
|
216
|
+
|
|
196
217
|
**Themeable custom properties:** mapped aliases are `--backdrop-filter`, `--width`, `--spacing`,
|
|
197
218
|
`--header-spacing`, `--body-spacing`, `--footer-spacing`, `--show-duration`, and
|
|
198
219
|
`--hide-duration`. The individual region properties override `--spacing`; mapped properties in
|
|
@@ -28,9 +28,10 @@ of every entry in these lists.**
|
|
|
28
28
|
**Properties:** `description`, `grid`, `axes`, `compact`, `indexAxis` (`index-axis`), `label`, `hiddenDatasets`, `legendPosition`
|
|
29
29
|
(`legend-position`), `hiddenDatums`, `legendMode` (`legend-mode`), `legendDisplay` (`legend-display`),
|
|
30
30
|
`max`, `min`, `plugins`, `scaleType` (`scale-type`), `annotations`,
|
|
31
|
-
`stacked`, `withoutAnimation` (`without-animation`),
|
|
31
|
+
`stacked`, `stackedAxes`, `withoutAnimation` (`without-animation`),
|
|
32
32
|
`withoutLegend` (`without-legend`), `withoutTooltip` (`without-tooltip`), `xLabel` (`x-label`),
|
|
33
|
-
`yLabel` (`y-label`), plus additive `labels`, `datasets`, `valueFormatter`, `formatter`,
|
|
33
|
+
`yLabel` (`y-label`), plus additive `labels`, `datasets`, `valueFormatter`, `formatter`,
|
|
34
|
+
`tooltipTitleFormatter`, `tooltipFooterFormatter`, `area`, `zoom`,
|
|
34
35
|
`height`, `y2Label` (`y2-label`), `beginAtZero` (`begin-at-zero`), `dataLabels`
|
|
35
36
|
(`data-labels`), `stackTotals` (`stack-totals`), `config`, `showDataTable`
|
|
36
37
|
(`show-data-table`), `dataTableToggle` (`data-table-toggle`), `chartArea` (readonly), and `chart`.
|
|
@@ -84,6 +84,16 @@ controls, rendered before the built-in close button), `footer` — all inherited
|
|
|
84
84
|
Names grouped together are aliases on the same functional node; `close-button__control` is the
|
|
85
85
|
composed `<lr-icon-button>`'s own native `<button>`, inherited from `lr-dialog` as of 16.0.0.
|
|
86
86
|
|
|
87
|
+
**Migrating a pre-16.0.0 `::part()` rule.** This component's icon-only action is a composed
|
|
88
|
+
`<lr-icon-button>`, so the part naming that action now names the composed child's HOST, which
|
|
89
|
+
paints nothing. A `border`, `background` or `border-radius` set on it is silently dead — only
|
|
90
|
+
`color` still appears to work, because it inherits, which makes such a rule look half-alive rather
|
|
91
|
+
than broken. Set `--lr-icon-button-background`/`-color`/`-border`/`-radius` (and their
|
|
92
|
+
`-hover`/`-active` variants) on this element or an ancestor instead: the composed control reads
|
|
93
|
+
those public tokens ahead of any default this component supplies. For SIZE use
|
|
94
|
+
`--lr-theme-icon-button-size`, not `--lr-icon-button-size` — every `LyraElement` re-declares the
|
|
95
|
+
latter on its own `:host`, so it never reaches a composed child (see `llms/tokens.md`).
|
|
96
|
+
|
|
87
97
|
**Themeable custom properties:** mapped `--size` controls the active axis. For start/end drawers,
|
|
88
98
|
the inherited `--width` and `--lr-dialog-width` remain compatibility fallbacks when neither
|
|
89
99
|
`--size` nor `--lr-drawer-width` is set, and `--lr-dialog-max-width` remains an effective cap,
|
|
@@ -39,16 +39,25 @@ reimplemented.
|
|
|
39
39
|
- `maxFileSize: number = 0` (attribute `max-file-size` — bytes; `0` disables the check), `maxFiles:
|
|
40
40
|
number = 0` (attribute `max-files`), `maxTotalSize: number = 0` (attribute `max-total-size`) —
|
|
41
41
|
identical contract and invalid-override fail-safe fallback to `lr-file-input`'s own three limits.
|
|
42
|
-
Since this component retains nothing between drops, `maxFiles`/`maxTotalSize`
|
|
43
|
-
the current drop
|
|
42
|
+
Since this component retains nothing of its own between drops, `maxFiles`/`maxTotalSize` would
|
|
43
|
+
otherwise always cover only the current drop — `heldFileCount`/`heldTotalSize` below are what let
|
|
44
|
+
a cumulative cap span separate drops.
|
|
45
|
+
- `heldFileCount: number = 0` (attribute `held-file-count`) and `heldTotalSize: number = 0`
|
|
46
|
+
(attribute `held-total-size`) — externally held baseline added to the running count/byte-total
|
|
47
|
+
`maxFiles`/`maxTotalSize` evaluate against, identical contract to `lr-file-input`'s own
|
|
48
|
+
`heldFileCount`/`heldTotalSize`: `0` (the default) means "nothing held" and reproduces prior
|
|
49
|
+
behavior exactly, and a negative, `NaN`, or `Infinity` override is normalized to `0` via
|
|
50
|
+
`finiteCount` rather than corrupting every later comparison.
|
|
44
51
|
- `readonly dragging: boolean` — `true` during an active drag session
|
|
45
52
|
|
|
46
53
|
**Events:** `lr-files` (`detail: LyraDropZoneFilesDetail`, with fresh frozen readonly `files` and
|
|
47
|
-
`rejected` arrays and frozen rejected-file records,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
54
|
+
`rejected` arrays and frozen rejected-file records, plus `remainingFiles`/`remainingTotalSize`
|
|
55
|
+
reporting the allowance still left under `maxFiles`/`maxTotalSize` after this drop (`null` while
|
|
56
|
+
that limit is unset), fired on drop; immutable `File` objects retain identity) — typed as
|
|
57
|
+
`LyraDropZoneFilesEvent`, so `event.target`/`event.currentTarget` are `LyraDropZone` without a
|
|
58
|
+
cast. `LyraDropZoneRejectedFile = { readonly file: File; readonly reason: 'type' | 'count' | 'size'
|
|
59
|
+
| 'directory' | 'read' | 'limit' | 'maxFiles' | 'maxTotalSize' }`, the same reason vocabulary as
|
|
60
|
+
`lr-file-input`'s `LyraFileInputRejectedFile`.
|
|
52
61
|
|
|
53
62
|
**Slots:** the default slot is the wrapped region, rendered as ordinary light DOM; `overlay`
|
|
54
63
|
overrides the localized accept/reject overlay text.
|
|
@@ -97,6 +97,13 @@ an out-of-syntax value falls back cleanly instead of invalidating the whole decl
|
|
|
97
97
|
without `CSS.registerProperty` degrades to "use `100%`, not `none`".) A menu contained by
|
|
98
98
|
`<lr-dropdown>` sizes from its dropdown and is unaffected by both names.
|
|
99
99
|
|
|
100
|
+
**`--lr-positioning-strategy`** (16.0.0) — the private submenu surface reads this same cascading
|
|
101
|
+
`absolute`/`fixed` override documented on `<lr-popover>` when it is (re)positioned, falling back to
|
|
102
|
+
its own `fixed` default when nothing is set. There is no per-instance `positioning-strategy`
|
|
103
|
+
property on `<lr-menu>`; set the custom property on `:root`, a theme, or one clipping ancestor to
|
|
104
|
+
change every unset submenu beneath it. A menu contained by `<lr-dropdown>` is positioned by the
|
|
105
|
+
dropdown instead and is unaffected.
|
|
106
|
+
|
|
100
107
|
**Methods:** no menu-specific public overlay methods. Use `<lr-dropdown>`'s `show()`/`hide()` and
|
|
101
108
|
`open` state for an overlay. Menu-item submenu methods remain public because they drive a row's
|
|
102
109
|
nested disclosure.
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via** 3 parts,
|
|
12
|
+
- **Themeable via** 3 parts, 8 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
|
---
|
|
@@ -56,6 +56,12 @@ The anchored detail popover is a floating surface and paints from the **shared o
|
|
|
56
56
|
declared on `:host`, so one declaration on `:root` — or on any ancestor, to scope it — retints this
|
|
57
57
|
surface together with every other floating surface in the library. `--lr-overlay-radius` (default `var(--lr-radius)`) is the matching corner radius.
|
|
58
58
|
|
|
59
|
+
`--lr-positioning-strategy` (16.0.0) — the preview popover reads this same cascading
|
|
60
|
+
`absolute`/`fixed` override documented on `<lr-popover>` when it is (re)positioned, falling back to
|
|
61
|
+
its own `fixed` default when nothing is set. There is no per-instance `positioning-strategy`
|
|
62
|
+
property on `<lr-entity-chip>`; set the custom property on `:root`, a theme, or one clipping
|
|
63
|
+
ancestor to change every unset entity chip beneath it.
|
|
64
|
+
|
|
59
65
|
**Optional peer deps:** none.
|
|
60
66
|
|
|
61
67
|
```html
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via** 6 parts,
|
|
12
|
+
- **Themeable via** 6 parts, 5 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
|
---
|
|
@@ -104,6 +104,12 @@ The menu popup is a floating surface and paints from the **shared overlay-surfac
|
|
|
104
104
|
declared on `:host`, so one declaration on `:root` — or on any ancestor, to scope it — retints this
|
|
105
105
|
surface together with every other floating surface in the library. `--lr-overlay-radius` (default `var(--lr-radius)`) is the matching corner radius.
|
|
106
106
|
|
|
107
|
+
`--lr-positioning-strategy` (16.0.0) — the format menu reads this same cascading `absolute`/`fixed`
|
|
108
|
+
override documented on `<lr-popover>` when it is (re)positioned, falling back to its own `fixed`
|
|
109
|
+
default when nothing is set. There is no per-instance `positioning-strategy` property on
|
|
110
|
+
`<lr-export-button>`; set the custom property on `:root`, a theme, or one clipping ancestor to
|
|
111
|
+
change every unset export button beneath it.
|
|
112
|
+
|
|
107
113
|
**Optional peer deps:** none.
|
|
108
114
|
|
|
109
115
|
```html
|
|
@@ -53,14 +53,23 @@ enabled buttons retain pointer feedback.
|
|
|
53
53
|
update them by assigning a new collection.
|
|
54
54
|
- `maxFileSize: number = 0` (attribute `max-file-size` — bytes; `0` disables the check)
|
|
55
55
|
- `maxFiles: number = 0` (attribute `max-files`) — largest total file count accepted, counting
|
|
56
|
-
retained files plus the current batch; `0` disables
|
|
57
|
-
rejected with reason `'maxFiles'`, in the same
|
|
58
|
-
`
|
|
59
|
-
to add).
|
|
56
|
+
retained files (unless `nonRetaining`) plus `heldFileCount` plus the current batch; `0` disables
|
|
57
|
+
the check. An excess file in the batch is rejected with reason `'maxFiles'`, in the same
|
|
58
|
+
`[part="rejection"]` shape as `maxFileSize`.
|
|
60
59
|
- `maxTotalSize: number = 0` (attribute `max-total-size`) — largest combined byte size accepted,
|
|
61
|
-
summing retained files plus the current batch; `0`
|
|
62
|
-
fail-safe invalid-override behavior as
|
|
63
|
-
|
|
60
|
+
summing retained files (unless `nonRetaining`) plus `heldTotalSize` plus the current batch; `0`
|
|
61
|
+
disables the check. Same rejection-UI shape and fail-safe invalid-override behavior as
|
|
62
|
+
`maxFileSize` (see gotchas).
|
|
63
|
+
- `heldFileCount: number = 0` (attribute `held-file-count`) — externally held file count added to
|
|
64
|
+
the running count `maxFiles` evaluates against, in both retaining and `nonRetaining` modes — the
|
|
65
|
+
numeric counterpart of `valuePresent`, for a cumulative cap (e.g. a server-backed upload limit)
|
|
66
|
+
that spans separate picker sessions rather than resetting to what this control alone can see. `0`
|
|
67
|
+
(the default) means "nothing held" and reproduces prior behavior exactly. A negative, `NaN`, or
|
|
68
|
+
`Infinity` override is normalized to `0` via `finiteCount` rather than corrupting every later
|
|
69
|
+
comparison or permanently blocking every future file.
|
|
70
|
+
- `heldTotalSize: number = 0` (attribute `held-total-size`) — externally held byte total added to
|
|
71
|
+
the running size `maxTotalSize` evaluates against, in both retaining and `nonRetaining` modes.
|
|
72
|
+
Same contract, default, and invalid-input normalization as `heldFileCount`.
|
|
64
73
|
- `nonRetaining: boolean = false` (reflected, attribute `non-retaining`) — opt-in mode where an
|
|
65
74
|
accepted selection still fires `lr-files`/`input`/`change` but is never written to `files` or
|
|
66
75
|
rendered as a built-in `[part="file"]` row. For a host that persists files elsewhere and renders
|
|
@@ -139,9 +148,11 @@ enabled buttons retain pointer feedback.
|
|
|
139
148
|
host `change`; programmatic `files` writes are silent (both still fire while `nonRetaining` is set,
|
|
140
149
|
even though `files` itself is not written in that mode). `lr-files` (`detail:
|
|
141
150
|
LyraFileInputFilesDetail`, with fresh frozen readonly `files` and `rejected` arrays and frozen
|
|
142
|
-
rejected-file records,
|
|
143
|
-
|
|
144
|
-
|
|
151
|
+
rejected-file records, plus `remainingFiles`/`remainingTotalSize` reporting the allowance still left
|
|
152
|
+
under `maxFiles`/`maxTotalSize` after this batch (`null` while that limit is unset), fired on both
|
|
153
|
+
drop and manual file-picker selection; immutable `File` objects retain identity) — typed as
|
|
154
|
+
`LyraFileInputFilesEvent`, so `event.target`/`event.currentTarget` are `LyraFileInput` without a
|
|
155
|
+
cast. `LyraFileInputRejectedFile = { readonly file: File; readonly reason:
|
|
145
156
|
'type' | 'count' | 'size' | 'directory' | 'read' | 'limit' | 'maxFiles' | 'maxTotalSize' }`: `'type'`
|
|
146
157
|
from `accept`/`allowedMimeTypes`/`forbiddenMimeTypes`, `'count'` when a single-file input
|
|
147
158
|
(`multiple` unset) receives more than one file (in which case _all_ files are rejected, none
|