@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
|
@@ -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`.
|
|
@@ -53,8 +53,8 @@ Every array-valued property above is a clone-owned, bounded, frozen readonly sna
|
|
|
53
53
|
nested source children and queued attachments. Mutating a previously assigned collection has no
|
|
54
54
|
effect; create and reassign a new array after changes.
|
|
55
55
|
|
|
56
|
-
`LyraPromptSuggestion` extends `LyraMentionItem { suggestionId, label, description?, icon? }`
|
|
57
|
-
optional `insertText` (defaults to `label`). The selected occurrence's original, pre-filter `index`
|
|
56
|
+
`LyraPromptSuggestion` extends `LyraMentionItem { suggestionId, label, description?, icon?, disabled? }`
|
|
57
|
+
with optional `insertText` (defaults to `label`). The selected occurrence's original, pre-filter `index`
|
|
58
58
|
is preserved in the event detail. `LyraPromptInputAttachment` replaces `DocumentRef.id` with
|
|
59
59
|
`attachmentId` and adds `file?`, `bytes?`, `status?: 'pending' | 'uploading' | 'error' | 'success'`,
|
|
60
60
|
and numeric `progress?`.
|
|
@@ -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`.
|
|
@@ -145,6 +145,18 @@ rotation and activation, while background, radius, hover/press mixes, focus ring
|
|
|
145
145
|
come from `--lr-icon-button-*`, and the component's own `--lr-reorder-item-move-button-*` hooks still
|
|
146
146
|
win over those defaults), `content` (default-slot wrapper).
|
|
147
147
|
|
|
148
|
+
**Border reaches the composed move controls the same way background/color/radius do.** This
|
|
149
|
+
component paints no resting border on either move control, so it relays no
|
|
150
|
+
`--_lr-icon-button-border-default` into their private fallback tier — but that absence is not a
|
|
151
|
+
gap. The public `--lr-icon-button-border` (and its `-hover`/`-active` variants) is the FIRST arm
|
|
152
|
+
of the token chain, resolved by ordinary custom-property inheritance regardless of whether this
|
|
153
|
+
component relays a default for that same property, so setting it on either move control or an
|
|
154
|
+
ancestor reaches it exactly as the background/color/radius tokens do. A component with no resting
|
|
155
|
+
border simply has no default to relay, which is different from border theming being broken. Size
|
|
156
|
+
remains the one exception that does not cross this way: use `--lr-theme-icon-button-size`, never
|
|
157
|
+
`--lr-icon-button-size` — every `LyraElement` re-declares the latter on its own `:host`, so it
|
|
158
|
+
never reaches a composed child (see `llms/tokens.md`).
|
|
159
|
+
|
|
148
160
|
**Themeable custom properties:** `--lr-reorder-item-gap` (default `var(--lr-space-xs)`) — gap
|
|
149
161
|
between the move buttons and the row content. The move-button interaction paints are independent,
|
|
150
162
|
inherited inline fallbacks: `--lr-reorder-item-move-button-hover-bg` (default
|
|
@@ -145,6 +145,18 @@ rotation and activation, while background, radius, hover/press mixes, focus ring
|
|
|
145
145
|
come from `--lr-icon-button-*`, and the component's own `--lr-reorder-item-move-button-*` hooks still
|
|
146
146
|
win over those defaults), `content` (default-slot wrapper).
|
|
147
147
|
|
|
148
|
+
**Border reaches the composed move controls the same way background/color/radius do.** This
|
|
149
|
+
component paints no resting border on either move control, so it relays no
|
|
150
|
+
`--_lr-icon-button-border-default` into their private fallback tier — but that absence is not a
|
|
151
|
+
gap. The public `--lr-icon-button-border` (and its `-hover`/`-active` variants) is the FIRST arm
|
|
152
|
+
of the token chain, resolved by ordinary custom-property inheritance regardless of whether this
|
|
153
|
+
component relays a default for that same property, so setting it on either move control or an
|
|
154
|
+
ancestor reaches it exactly as the background/color/radius tokens do. A component with no resting
|
|
155
|
+
border simply has no default to relay, which is different from border theming being broken. Size
|
|
156
|
+
remains the one exception that does not cross this way: use `--lr-theme-icon-button-size`, never
|
|
157
|
+
`--lr-icon-button-size` — every `LyraElement` re-declares the latter on its own `:host`, so it
|
|
158
|
+
never reaches a composed child (see `llms/tokens.md`).
|
|
159
|
+
|
|
148
160
|
**Themeable custom properties:** `--lr-reorder-item-gap` (default `var(--lr-space-xs)`) — gap
|
|
149
161
|
between the move buttons and the row content. The move-button interaction paints are independent,
|
|
150
162
|
inherited inline fallbacks: `--lr-reorder-item-move-button-hover-bg` (default
|
|
@@ -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`.
|
|
@@ -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** 11 parts,
|
|
12
|
+
- **Themeable via** 11 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
|
---
|
|
@@ -61,13 +61,18 @@ numeric disclosure.
|
|
|
61
61
|
**Properties:**
|
|
62
62
|
|
|
63
63
|
- `items: readonly SequenceStripItem[] = []` (attribute: false) — `{ readonly id, readonly
|
|
64
|
-
categoryId, readonly marker?, readonly label? }`;
|
|
64
|
+
categoryId, readonly marker?, readonly label?, readonly disabled? }`;
|
|
65
65
|
`marker` renders a small bottom marker on that cell independent of the category color (e.g. a
|
|
66
66
|
subagent-dispatched turn); `label` is per-item hover/focus tooltip text _and_ that cell's own
|
|
67
67
|
`role="listitem"` accessible name, falling back to the matching category's own nonblank `label`,
|
|
68
68
|
then localized `sequenceStripUnnamedCategory` (`"Unnamed category"` in the built-in English
|
|
69
69
|
catalog) when unset — it is not read by `[part="base"]`'s auto-generated `aria-label`, which
|
|
70
|
-
summarizes by category/count only
|
|
70
|
+
summarizes by category/count only. `disabled` marks the item non-actionable:
|
|
71
|
+
`aria-disabled="true"` replaces the selected/active affordances of the cell that represents it,
|
|
72
|
+
activating it (click or Enter/Space) emits nothing, and roving Left/Right/Home/End navigation —
|
|
73
|
+
including the default resting tab stop — steps past it. Above the 200-cell cap, a range cell's
|
|
74
|
+
disabled state follows its own activated item, the range's first. Omitted or `false` renders the
|
|
75
|
+
item exactly as before this field existed
|
|
71
76
|
- `categories: readonly SequenceStripCategory[] = []` (attribute: false) — `{ readonly id,
|
|
72
77
|
readonly color, readonly label? }`; `color`
|
|
73
78
|
is the cell background for every item whose `categoryId` matches `id`; invalid CSS colors,
|
|
@@ -143,7 +148,8 @@ block-size), `--lr-sequence-strip-marker-color` (default `var(--lr-color-text)`
|
|
|
143
148
|
(default `0.625rem` — a legend swatch's inline- and block-size, category and marker rows alike), and
|
|
144
149
|
`--lr-sequence-strip-legend-marker-bg` (default `var(--lr-color-surface-raised)` — the neutral chip
|
|
145
150
|
background behind the marker legend row's bar; it stands in for "any cell", so it deliberately
|
|
146
|
-
matches no category color)
|
|
151
|
+
matches no category color), and `--lr-sequence-strip-disabled-opacity` (default `var(--lr-opacity-disabled)` — opacity of
|
|
152
|
+
a cell whose activated item sets `disabled`); the tooltip also consumes shared tokens
|
|
147
153
|
`--lr-color-surface`, `--lr-color-text`, `--lr-font-size-xs`, `--lr-radius`, and `--lr-shadow`, and
|
|
148
154
|
the legend consumes `--lr-space-2xs`, `--lr-space-xs`, `--lr-space-s`, `--lr-font-size-xs`,
|
|
149
155
|
`--lr-color-text-quiet`, and `--lr-radius-xs`.
|
|
@@ -19,13 +19,15 @@
|
|
|
19
19
|
A build-lean `<lr-streaming-text>` variant for a consumer whose fenced-code `languages` map already
|
|
20
20
|
covers every language it will ever stream, or who never renders fenced code at all. Every
|
|
21
21
|
capability — token coalescing, `contentMode` auto-detection, the blinking cursor, the
|
|
22
|
-
`lr-content-settled` event, the `languages` property
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
`lr-content-settled` event, the `languages` property, and the full forwarded Markdown configuration
|
|
23
|
+
surface (`tabSize`, `htmlMode`, `gfm`, `linkTarget`, `internalLinkPrefix`, `headingOffset`,
|
|
24
|
+
`highlightCode`, `headingAnchors`, `math`, `maxHeight`) — is identical to `<lr-streaming-text>`;
|
|
25
|
+
only which Markdown element Markdown mode composes differs: this variant renders
|
|
26
|
+
`<lr-markdown-core>` (`../markdown/markdown-core.js`) instead of `<lr-markdown>`, so importing this
|
|
27
|
+
entry point instead of `streaming-text.js` never references `<lr-markdown>`'s ~200-language
|
|
28
|
+
dynamic-import table at all. A fenced code block whose language isn't a key in `languages` always
|
|
29
|
+
renders the plain-text fallback — there is no default/full-table highlighter here to fall back to,
|
|
30
|
+
mirroring `<lr-markdown-core>`'s own contract.
|
|
29
31
|
|
|
30
32
|
**Properties:** `content: string = ''` — the full current text so far, identical contract to
|
|
31
33
|
`<lr-streaming-text>`'s own; `streaming: boolean = false` (reflected); `coalesceMs: number = 50`
|
|
@@ -34,7 +36,18 @@ fallback — there is no default/full-table highlighter here to fall back to, mi
|
|
|
34
36
|
`content-mode`, reflected) — `auto`
|
|
35
37
|
uses `looksLikeMarkdown`, `plain`/`markdown` force their named paths; `languages?:
|
|
36
38
|
Readonly<Record<string, ShikiLanguageInput>>` (property only) — forwarded verbatim to the composed
|
|
37
|
-
`<lr-markdown-core>`'s own `languages` instead of `<lr-markdown>`'s
|
|
39
|
+
`<lr-markdown-core>`'s own `languages` instead of `<lr-markdown>`'s (defaulting the composed
|
|
40
|
+
element's own `languages` to `{}` when unset, unlike the full variant's `undefined`). The rest of
|
|
41
|
+
`<lr-markdown-core>`'s configuration surface forwards verbatim too, sharing the same properties,
|
|
42
|
+
attribute names, and defaults described under `<lr-streaming-text>`'s own **Properties** above:
|
|
43
|
+
`tabSize: number = 4` (attribute `tab-size`); `htmlMode: 'sanitize' | 'escape' | 'trusted' =
|
|
44
|
+
'sanitize'` (attribute `html-mode`); `gfm: boolean = true`; `linkTarget: string | null = '_blank'`
|
|
45
|
+
(attribute `link-target`, still guarded by the composed element's own
|
|
46
|
+
`rel="noopener noreferrer"` whenever a `target` is emitted); `internalLinkPrefix: string = ''`
|
|
47
|
+
(attribute `internal-link-prefix`); `headingOffset: number = 0` (attribute `heading-offset`);
|
|
48
|
+
`highlightCode: boolean = true` (attribute `highlight-code`); `headingAnchors: boolean = false`
|
|
49
|
+
(attribute `heading-anchors`); `math: boolean = false`; `maxHeight: string = ''` (attribute
|
|
50
|
+
`max-height`).
|
|
38
51
|
|
|
39
52
|
**Exported helper:** `looksLikeMarkdown(text: string): boolean` — the same standalone heuristic
|
|
40
53
|
`<lr-streaming-text>` exports and documents, in `llms/components/lr-streaming-text.md`; both tags
|
|
@@ -36,6 +36,32 @@ not a delta — this component does no accumulation or ordering of its own.
|
|
|
36
36
|
`<lr-code-block>`/`<lr-markdown>` support. Unset leaves the composed element's own default
|
|
37
37
|
untouched.
|
|
38
38
|
|
|
39
|
+
The rest of `<lr-markdown>`'s configuration surface forwards verbatim too, each defaulting to
|
|
40
|
+
exactly `<lr-markdown>`'s own default so leaving it unset renders identically to before these
|
|
41
|
+
properties existed:
|
|
42
|
+
|
|
43
|
+
- `tabSize: number = 4` (attribute `tab-size`) — forwarded to the composed `<lr-markdown>`'s own
|
|
44
|
+
`tabSize`.
|
|
45
|
+
- `htmlMode: 'sanitize' | 'escape' | 'trusted' = 'sanitize'` (attribute `html-mode`) — forwarded to
|
|
46
|
+
the composed `<lr-markdown>`'s own `htmlMode`.
|
|
47
|
+
- `gfm: boolean = true` — forwarded to the composed `<lr-markdown>`'s own `gfm`.
|
|
48
|
+
- `linkTarget: string | null = '_blank'` (attribute `link-target`) — forwarded to the composed
|
|
49
|
+
`<lr-markdown>`'s own `linkTarget`; the composed element always applies its own
|
|
50
|
+
`rel="noopener noreferrer"` guard whenever a `target` is emitted, including a forwarded
|
|
51
|
+
non-default value, and never a bare `opener`.
|
|
52
|
+
- `internalLinkPrefix: string = ''` (attribute `internal-link-prefix`) — forwarded to the composed
|
|
53
|
+
`<lr-markdown>`'s own `internalLinkPrefix`.
|
|
54
|
+
- `headingOffset: number = 0` (attribute `heading-offset`) — forwarded to the composed
|
|
55
|
+
`<lr-markdown>`'s own `headingOffset`.
|
|
56
|
+
- `highlightCode: boolean = true` (attribute `highlight-code`) — forwarded to the composed
|
|
57
|
+
`<lr-markdown>`'s own `highlightCode`.
|
|
58
|
+
- `headingAnchors: boolean = false` (attribute `heading-anchors`) — forwarded to the composed
|
|
59
|
+
`<lr-markdown>`'s own `headingAnchors`.
|
|
60
|
+
- `math: boolean = false` — forwarded to the composed `<lr-markdown>`'s own `math`; the transitive
|
|
61
|
+
`katex` peer is requested only once this is set.
|
|
62
|
+
- `maxHeight: string = ''` (attribute `max-height`) — forwarded to the composed `<lr-markdown>`'s
|
|
63
|
+
own `maxHeight`.
|
|
64
|
+
|
|
39
65
|
**Exported helper:** `looksLikeMarkdown(text: string): boolean` — runs a fixed, ordered list of
|
|
40
66
|
lightweight regexes (ATX heading, fenced code block, `**bold**`, `_italic_`, inline code, bullet
|
|
41
67
|
list item, numbered list item, `[text](url)` link, blockquote) against the whole string and returns
|
|
@@ -72,8 +98,9 @@ does not register it separately), so its optional-peer module graph includes `ma
|
|
|
72
98
|
stay on the peer-free plain-text path; Markdown rendering lazy-loads `marked` plus the default
|
|
73
99
|
`dompurify` sanitizer and falls back to readable plain text if either is unavailable. Fenced code
|
|
74
100
|
can additionally use `shiki`, whose absence only leaves code unhighlighted. The composed Markdown
|
|
75
|
-
implementation contains the opt-in `katex` loader
|
|
76
|
-
|
|
101
|
+
implementation contains the opt-in `katex` loader; this wrapper forwards its own `math` property
|
|
102
|
+
(default `false`) to the composed element verbatim, so `katex` is requested only once a consumer
|
|
103
|
+
sets `math` here.
|
|
77
104
|
|
|
78
105
|
```html
|
|
79
106
|
<lr-streaming-text id="out" coalesce-ms="80" streaming></lr-streaming-text>
|
|
@@ -98,8 +125,11 @@ never be left stranded mid-window, and a stream restarting on a reused element c
|
|
|
98
125
|
showing the previous stream's stale final content for the length of the window.
|
|
99
126
|
|
|
100
127
|
Rendering itself is never reimplemented here: Markdown mode composes `<lr-markdown>` directly,
|
|
101
|
-
forwarding this component's own `streaming` through as that component's `streaming` hint prop
|
|
102
|
-
`languages` verbatim
|
|
128
|
+
forwarding this component's own `streaming` through as that component's `streaming` hint prop,
|
|
129
|
+
`languages` verbatim, and the rest of `<lr-markdown>`'s configuration surface verbatim too
|
|
130
|
+
(`tabSize`, `htmlMode`, `gfm`, `linkTarget`, `internalLinkPrefix`, `headingOffset`,
|
|
131
|
+
`highlightCode`, `headingAnchors`, `math`, `maxHeight` — see **Properties** above); plain-text mode
|
|
132
|
+
renders into a `white-space: pre-wrap` span instead. The
|
|
103
133
|
blinking cursor degrades
|
|
104
134
|
to a static, always-visible bar under `prefers-reduced-motion: reduce`. In plain-text mode it sits
|
|
105
135
|
inline at the tail of the final character; in Markdown mode it renders as its own trailing block
|
|
@@ -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, 4 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
|
---
|
|
@@ -25,12 +25,15 @@ identifier disappears, focus repairs to the nearest surviving occurrence without
|
|
|
25
25
|
external focus move.
|
|
26
26
|
|
|
27
27
|
**Properties:** `suggestions: readonly LyraChatSuggestion[] = []` (attribute: false) —
|
|
28
|
-
`LyraChatSuggestion { suggestionId: string; label: string; icon?: string; detail?: string }`
|
|
28
|
+
`LyraChatSuggestion { suggestionId: string; label: string; icon?: string; detail?: string; disabled?: boolean }`
|
|
29
29
|
(exported here). Identifiers must be nonempty and unique; invalid/later duplicates are omitted with
|
|
30
30
|
the first valid occurrence winning. The input is clone-owned, bounded, and frozen; reassign a new
|
|
31
31
|
array after changing the sequence or a row. `icon` is an optional
|
|
32
32
|
peer-neutral literal hint (for example, an emoji), rendered decoratively before the text, and
|
|
33
|
-
`detail` is an optional secondary line.
|
|
33
|
+
`detail` is an optional secondary line. `disabled` marks a suggestion non-actionable: its chip
|
|
34
|
+
renders a genuinely disabled `<button>` (no roving tab stop, no hover/press affordance), activating
|
|
35
|
+
it emits nothing, and arrow-key/Home/End roving navigation steps past it. Empty renders nothing at
|
|
36
|
+
all. `wrap: boolean = false`
|
|
34
37
|
(reflected) — wraps into multiple rows instead of a single horizontally scrollable line. `label?:
|
|
35
38
|
string` — accessible name for the group. Omitting it uses the localized `suggestionsLabel`; an
|
|
36
39
|
explicit empty string intentionally leaves the group unnamed.
|
|
@@ -49,7 +52,8 @@ cannot do (once the chips wrap, the row fills the available inline size and each
|
|
|
49
52
|
start). `--lr-suggestion-chips-hover-bg` (default `var(--lr-color-brand-quiet)`) — a `chip`'s
|
|
50
53
|
background on hover. `--lr-suggestion-chips-hover-border` (default `var(--lr-color-brand)`) — a
|
|
51
54
|
`chip`'s border color on hover. All three are declared as `var()` fallbacks at the point of use, not
|
|
52
|
-
on `:host`.
|
|
55
|
+
on `:host`. `--lr-suggestion-chips-disabled-opacity` (default `0.5`) — opacity of a chip whose
|
|
56
|
+
suggestion sets `disabled`. Plus shared tokens `--lr-space-xs/-m/-2xs`,
|
|
53
57
|
`--lr-color-border/-surface/-text/-text-quiet`, `--lr-radius-pill`, `--lr-font-size-xs`,
|
|
54
58
|
`--lr-focus-ring-width/-color/-offset`.
|
|
55
59
|
|
|
@@ -61,9 +61,11 @@ unchanged.
|
|
|
61
61
|
headerCell?, width?, minWidth?, maxWidth?,
|
|
62
62
|
resizable?, sortable?, sortValue?, defaultSortDir?: 'asc'|'desc', align?: 'start'|'end',
|
|
63
63
|
priority?: 'medium'|'low',
|
|
64
|
-
sticky?: 'start'|'end', editTrigger?: 'double-click'|'always', editValue?,
|
|
64
|
+
sticky?: 'start'|'end', editTrigger?: 'double-click'|'always', editValue?, editLabel?: (row) => string,
|
|
65
|
+
editType?: 'text'|'number'|'select',
|
|
65
66
|
editOptions?: { value: string; label: string }[], footer?, cellStyle?, heatValue?,
|
|
66
|
-
cell: (row) => unknown }` —
|
|
67
|
+
cell: (row) => unknown }` — `cell` is required for every `editTrigger` except `'always'`, whose
|
|
68
|
+
persistent editor renders unconditionally so the table's render path never falls back to it —
|
|
67
69
|
`sortValue(row) => string | number | null | undefined` supplies the comparable value backing
|
|
68
70
|
client-mode sorting for that column: a finite number sorts numerically, a string sorts through an
|
|
69
71
|
`Intl.Collator` built from the component's effective locale with `numeric: true` (so `item2`
|
|
@@ -103,13 +105,15 @@ cell: (row) => unknown }` —
|
|
|
103
105
|
own ramp-token convention; `cellStyle` is applied directly to the generated `<td>` via `styleMap` — e.g. a computed heat-tint
|
|
104
106
|
background a `cell()`-returned inner element can't paint into the cell's own padding — omit it for
|
|
105
107
|
no per-cell style override (the default, unchanged output);
|
|
106
|
-
`editTrigger: 'double-click'` opens a native editor on that cell's double-click
|
|
107
|
-
time), while `'always'` renders a persistent editor in every body cell from first paint, for a
|
|
108
|
+
`editTrigger: 'double-click'` opens a native editor on that cell's double-click, `F2`, or `Enter`
|
|
109
|
+
(one cell at a time), while `'always'` renders a persistent editor in every body cell from first paint, for a
|
|
108
110
|
settings/rate-style column meant to be typed straight into — while `editValue` supplies the editor
|
|
109
111
|
value and `editType` selects `'text'`, `'number'`, or `'select'` (a native `<select>` populated
|
|
110
112
|
from `editOptions: { value: string; label: string }[]`, one `<option>` per entry in order; a
|
|
111
113
|
`'select'` column with no `editOptions` renders an empty, valueless `<select>` instead of
|
|
112
|
-
throwing)
|
|
114
|
+
throwing); `editLabel(row) => string`, read once per row exactly like `editValue`/`cellTitle`,
|
|
115
|
+
overrides that editor's accessible name — omit it and every editor in the column shares the same
|
|
116
|
+
interpolated `tableEditCell` name instead (see the accessibility note under `editTrigger` below)
|
|
113
117
|
`cellTitle(row) => string | undefined` is the `title` analogue of `cellStyle`, applied directly to
|
|
114
118
|
the generated `<td>` — e.g. the untruncated text behind an ellipsized cell, or a formatted
|
|
115
119
|
timestamp behind a relative one;
|
|
@@ -131,8 +135,21 @@ cell: (row) => unknown }` —
|
|
|
131
135
|
Enter commits and closes, Escape cancels and closes, and blur-after-change commits. `'always'`
|
|
132
136
|
renders an editor in
|
|
133
137
|
every body cell of that column, permanently:
|
|
134
|
-
- **
|
|
135
|
-
|
|
138
|
+
- **Keyboard entry (`'double-click'` columns).** The resting (not-currently-editing) cell of a
|
|
139
|
+
`'double-click'` column is its own roving-focus stop — `tabindex="-1"`, carrying `[data-editable]`
|
|
140
|
+
— reachable once the row itself has focus: ArrowRight (ArrowLeft under RTL) enters at the first
|
|
141
|
+
editable cell in the row and steps forward through any further ones; ArrowLeft (ArrowRight under
|
|
142
|
+
RTL) steps back and, from the first editable cell, returns focus to the row. None of this is a Tab
|
|
143
|
+
stop — a table with a `'double-click'` column gains no new entry in the page's Tab order, only a
|
|
144
|
+
new arrow-reachable one — and a table with no `editTrigger` column at all renders no `tabindex`/
|
|
145
|
+
`[data-editable]` anywhere. `F2` or `Enter` on the focused cell opens its editor; `Enter` on the
|
|
146
|
+
row itself (no cell focused) still only activates the row. `editCell(rowKey, columnKey)` (see
|
|
147
|
+
Methods above) is the same open action as a public method. Closing the editor, by commit or by
|
|
148
|
+
cancel, returns focus to the cell that opened it.
|
|
149
|
+
- **Focus model (`'always'` columns).** Each editor is a plain tab stop — no `tabindex` of its own
|
|
150
|
+
— exactly like the
|
|
151
|
+
existing row-expand toggle, and stays _outside_ the header/row/cell roving-tabindex model. Tab
|
|
152
|
+
walks
|
|
136
153
|
down the column; arrow keys still navigate the grid from a row's own roving stop, and act as
|
|
137
154
|
ordinary caret movement once focus is inside a field. Non-editable columns are unaffected.
|
|
138
155
|
- **Value binding.** A persistent `'text'`/`'number'` editor binds its `value` as a **content
|
|
@@ -151,8 +168,14 @@ cell: (row) => unknown }` —
|
|
|
151
168
|
`<input>` (the typed value rides along) and the table restores focus to the same logical cell
|
|
152
169
|
afterwards. If the focused row leaves the rendered page entirely (pagination, filtering), focus
|
|
153
170
|
is simply lost rather than yanked to whichever unrelated row now sits in that position.
|
|
154
|
-
- Each editor
|
|
155
|
-
|
|
171
|
+
- **Accessible name.** Each editor's name is `columns[].editLabel(row)` when the column defines
|
|
172
|
+
it, or otherwise the interpolated `tableEditCell` string (`Edit {column}`) — identical for every
|
|
173
|
+
row in that column, since the default has no row context. That default is adequate for
|
|
174
|
+
`'double-click'`, where at most one editor is ever open, but not for `'always'`: every row's
|
|
175
|
+
editor there is a permanent, individually focusable Tab stop, so leaving `editLabel` unset on an
|
|
176
|
+
`'always'` column exposes as many identically named controls as there are rows (e.g. fifty "Edit
|
|
177
|
+
Status" comboboxes), failing WCAG 2.4.6 and 1.3.1. Define `editLabel` for any `'always'` column
|
|
178
|
+
to give each row's editor its own name.
|
|
156
179
|
- `hasHiddenPriorityColumns: boolean = false` (attribute `has-hidden-priority-columns`, reflected) —
|
|
157
180
|
computed/read-only and true only while a priority column is actually hidden. It becomes false
|
|
158
181
|
when `priorityColumnsVisible` reveals the columns. Measured via a `ResizeObserver` on
|
|
@@ -290,6 +313,14 @@ cell: (row) => unknown }` —
|
|
|
290
313
|
rendered panel anyway, `expandedContentElement(rowKey)` (below) resolves that `<td>`;
|
|
291
314
|
`rowElement(rowKey)` does not, because the panel is a sibling `<tr>` rather than part of the row
|
|
292
315
|
- `canExpand?: (row: T) => boolean` (attribute: false) — optional per-row gate for expansion
|
|
316
|
+
- `rowExpandLabel?: (row: T, expanded: boolean) => string | undefined` (attribute: false) —
|
|
317
|
+
accessible name for one row's expand/collapse chevron, read once per render for that row,
|
|
318
|
+
exactly like a column's `editLabel`/`cellTitle`; consumer-owned text used verbatim, never
|
|
319
|
+
passed through localization. Omit it and every chevron shares the same localized
|
|
320
|
+
`expand`/`collapse` name, which carries no row context — fine for a handful of rows, but each
|
|
321
|
+
chevron is its own Tab stop, so a long table otherwise announces the same two names over and
|
|
322
|
+
over with no way to tell the rows apart. There is no default row context to derive one from
|
|
323
|
+
here: this component has no row-header notion (`rowKey` is an opaque identity, not a label)
|
|
293
324
|
- `expansionMode: 'none'|'single'|'multiple' = 'none'` (attribute `expansion-mode`, reflected) —
|
|
294
325
|
mirrors `selectionMode` member for member, for expansion. The default `'none'` keeps
|
|
295
326
|
`expandedRowKeys` fully consumer-controlled: an activation only reports `lr-row-expand-toggle`.
|
|
@@ -396,8 +427,14 @@ cell: (row) => unknown }` —
|
|
|
396
427
|
- `expandedContentElement(rowKey)` — the rendered `[part='expanded-cell']` holding that row's
|
|
397
428
|
`expandedContent(row)` output, or `null` when the row is not currently rendered, is not expanded,
|
|
398
429
|
or the table sets no `expandedContent`
|
|
430
|
+
- `editCell(rowKey, columnKey)` — opens the inline editor at that row/column pair, exactly as a
|
|
431
|
+
double-click, `F2`, or `Enter` on the cell's own focus stop would (see `columns[].editTrigger`
|
|
432
|
+
below) — the entry point for a consumer's own key binding or menu action. A no-op for an unknown
|
|
433
|
+
row key, an unknown column key, or a column with no `editTrigger`. For an `editTrigger: 'always'`
|
|
434
|
+
column (already open from first paint) it moves focus into that editor instead of opening
|
|
435
|
+
anything.
|
|
399
436
|
|
|
400
|
-
|
|
437
|
+
The first three exist for code that has to reach content a `cell(row)`/`expandedContent(row)` callback
|
|
401
438
|
rendered into this component's shadow root — measuring it, scrolling it into view, or applying a
|
|
402
439
|
style `::part()` cannot express, since only pseudo-classes may follow a part selector. One method per
|
|
403
440
|
callback, and the split is not cosmetic: the expansion panel is a **sibling** `<tr part='expanded-row'>`
|
|
@@ -82,7 +82,7 @@ disabled state.
|
|
|
82
82
|
| `enterKeyHint` | `enterkeyhint` | `string` | `''` | Virtual-keyboard Enter-key hint forwarded to the native `<textarea>`. |
|
|
83
83
|
| `minlength` | `minlength` | `number \| undefined` | `undefined` | Minimum text length; forwarded to the native `<textarea>` and reported as `validity.tooShort`. |
|
|
84
84
|
| `maxlength` | `maxlength` | `number \| undefined` | `undefined` | Maximum text length; forwarded to the native `<textarea>` (which also stops typing past it) and reported as `validity.tooLong`. |
|
|
85
|
-
| `debounce` | `debounce` | `number \| undefined` | `undefined` | How long (ms) to wait after the last keystroke before emitting one `lr-input-settled`, while `input`/`lr-input` keep firing per keystroke as before. Omitted, `0`, or non-finite means no debounce: `lr-input-settled` never fires. A pending debounce is flushed immediately by `change`/Enter/blur and cancelled with no stray settle by disconnection and a programmatic `value` write. Shares its `DebounceController` primitive with `lr-filter-bar`'s own per-filter `debounce` and with `lr-input`'s identical property. |
|
|
85
|
+
| `debounce` | `debounce` | `number \| undefined` | `undefined` | How long (ms) to wait after the last keystroke before emitting one `lr-input-settled`, while `input`/`lr-input` keep firing per keystroke as before. Omitted, `0`, or non-finite means no debounce: `lr-input-settled` never fires. A pending debounce is flushed immediately by `change`/Enter/blur and cancelled with no stray settle by disconnection and by a programmatic `value` write that changes the value. A write of the value already held leaves it pending, so a framework binding that writes the just-typed value back on each render (the controlled-input pattern) still settles. Shares its `DebounceController` primitive with `lr-filter-bar`'s own per-filter `debounce` and with `lr-input`'s identical property. |
|
|
86
86
|
| `name` | `name` | `string` | `''` | Form field name. |
|
|
87
87
|
| `disabled` | `disabled` | `boolean` | `false` | Disables the control. |
|
|
88
88
|
| `required` | `required` | `boolean` | `false` | Participates in native constraint validation. |
|
|
@@ -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** 23 parts,
|
|
12
|
+
- **Themeable via** 23 parts, 35 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
|
---
|
|
@@ -178,6 +178,12 @@ mode the raised tone is already distinct from the page, so this panel never had
|
|
|
178
178
|
reads-as-a-hole problem the family exists to fix. Setting `--lr-overlay-surface` still repaints it
|
|
179
179
|
along with every other popup.
|
|
180
180
|
|
|
181
|
+
`--lr-positioning-strategy` (16.0.0) — the `popup` panel reads this same cascading
|
|
182
|
+
`absolute`/`fixed` override documented on `<lr-popover>` when it is (re)positioned, falling back to
|
|
183
|
+
its own `fixed` default when nothing is set. There is no per-instance `positioning-strategy`
|
|
184
|
+
property on `<lr-time-input>`; set the custom property on `:root`, a theme, or one clipping
|
|
185
|
+
ancestor to change every unset time input beneath it.
|
|
186
|
+
|
|
181
187
|
```html
|
|
182
188
|
<lr-time-input
|
|
183
189
|
label="Start time"
|
|
@@ -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** 10 parts,
|
|
12
|
+
- **Themeable via** 10 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
|
---
|
|
@@ -86,6 +86,12 @@ The anchored detail tooltip is a floating surface and paints from the **shared o
|
|
|
86
86
|
declared on `:host`, so one declaration on `:root` — or on any ancestor, to scope it — retints this
|
|
87
87
|
surface together with every other floating surface in the library. `--lr-overlay-radius` (default `var(--lr-radius)`) is the matching corner radius.
|
|
88
88
|
|
|
89
|
+
`--lr-positioning-strategy` (16.0.0) — the detail tooltip reads this same cascading
|
|
90
|
+
`absolute`/`fixed` override documented on `<lr-popover>` when it is (re)positioned, falling back to
|
|
91
|
+
its own `fixed` default when nothing is set. There is no per-instance `positioning-strategy`
|
|
92
|
+
property on `<lr-tool-call-chip>`; set the custom property on `:root`, a theme, or one clipping
|
|
93
|
+
ancestor to change every unset chip beneath it.
|
|
94
|
+
|
|
89
95
|
**Optional peer deps:** none.
|
|
90
96
|
|
|
91
97
|
```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** 12 parts,
|
|
12
|
+
- **Themeable via** 12 parts, 7 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 @@ shared ceiling that keeps any floating surface inside a narrow viewport. `lr-tou
|
|
|
104
104
|
retuning `--lr-theme-popover-viewport-clamp` once at `:root` narrows or widens all three together
|
|
105
105
|
rather than per component.
|
|
106
106
|
|
|
107
|
+
`--lr-positioning-strategy` (16.0.0) — the step popover reads this same cascading `absolute`/`fixed`
|
|
108
|
+
override documented on `<lr-popover>` when a step is (re)positioned, falling back to its own `fixed`
|
|
109
|
+
default when nothing is set. There is no per-instance `positioning-strategy` property on `<lr-tour>`;
|
|
110
|
+
set the custom property on `:root`, a theme, or one clipping ancestor to change every unset tour
|
|
111
|
+
beneath it.
|
|
112
|
+
|
|
107
113
|
**Known gotchas:**
|
|
108
114
|
|
|
109
115
|
- By default the spotlighted target is **non-interactive**: it stays visible and announceable (not
|
|
@@ -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** 7 parts,
|
|
12
|
+
- **Themeable via** 7 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
|
---
|
|
@@ -56,6 +56,12 @@ family** (16.0.0): `--lr-overlay-surface` (default `var(--lr-color-surface-overl
|
|
|
56
56
|
ancestor, to scope it — retints this surface together with every other floating surface in the
|
|
57
57
|
library. `--lr-overlay-radius` (default `var(--lr-radius)`) is the matching corner radius.
|
|
58
58
|
|
|
59
|
+
`--lr-positioning-strategy` (16.0.0) — the breakdown tooltip 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-usage-badge>`; set the custom property on `:root`, a theme, or one clipping
|
|
63
|
+
ancestor to change every unset usage badge beneath it.
|
|
64
|
+
|
|
59
65
|
```html
|
|
60
66
|
<lr-chat-message message-role="assistant" status="sent">
|
|
61
67
|
<lr-usage-badge
|
|
@@ -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** 17 parts,
|
|
12
|
+
- **Themeable via** 17 parts, 28 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
|
---
|
|
@@ -43,8 +43,11 @@ popup. Ordinary keyboard behavior resumes after composition.
|
|
|
43
43
|
**Exported types:** `LyraVoiceCatalogEntry extends LyraCatalogEntry { language?: string;
|
|
44
44
|
description?: string; previewUrl?: string }` — `language`/`description` render as a quiet
|
|
45
45
|
`[part="option-meta"]` second line. Voice catalogs use the shared
|
|
46
|
-
`LyraCatalog<LyraVoiceCatalogEntry>` homogeneous readonly union documented under `lr-model-select
|
|
47
|
-
|
|
46
|
+
`LyraCatalog<LyraVoiceCatalogEntry>` homogeneous readonly union documented under `lr-model-select`,
|
|
47
|
+
including the shared `disabled` field: a disabled voice row cannot be selected by click or keyboard
|
|
48
|
+
and is stepped over by arrow-key/Home/End navigation, but its own `[part="option-preview"]` stays
|
|
49
|
+
independently clickable, since previewing a voice is a separate affordance from selecting it. The
|
|
50
|
+
public `size` property uses `LyraSize`, including the long-form aliases.
|
|
48
51
|
`LyraVoicePickerSelectionDirection = 'forward' | 'backward' | 'none'` is the native
|
|
49
52
|
selection direction exposed in free-text mode.
|
|
50
53
|
|
|
@@ -204,6 +207,7 @@ trigger), `expand-icon`, `empty`, `hint`, `error`.
|
|
|
204
207
|
- `--lr-voice-picker-option-selected-font-weight` — Selected option label weight. Default: `var(--lr-font-weight-semibold)`.
|
|
205
208
|
- `--lr-voice-picker-option-synthetic-border-style` — Synthetic stale-value row border style. Default: `dashed`.
|
|
206
209
|
- `--lr-voice-picker-option-synthetic-border-color` — Synthetic stale-value row border color. Default: `var(--lr-color-border)`.
|
|
210
|
+
- `--lr-voice-picker-option-disabled-opacity` — Opacity of an option row whose catalog entry sets `disabled`. Default: `0.5`.
|
|
207
211
|
- `--lr-voice-picker-option-synthetic-font-style` — Synthetic stale-value option-label font style. Default: `italic`.
|
|
208
212
|
- `--lr-voice-picker-preview-hover-bg` — Preview hover fill. Default: `var(--lr-color-brand-quiet)`.
|
|
209
213
|
- `--lr-voice-picker-preview-hover-color` — Preview hover icon. Default: `var(--lr-color-brand)`.
|