@aceshooting/lyra-ui 19.0.0 → 20.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 +163 -0
- package/custom-elements.json +1 -1
- package/dist/cli/migration-contract.json +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +14 -4
- package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +1 -1
- package/dist/components/agent-tools/approval-queue/approval-queue.class.d.ts +1 -0
- package/dist/components/agent-tools/approval-queue/approval-queue.class.js +4 -3
- package/dist/components/agent-tools/approval-queue/approval-queue.styles.js +1 -1
- package/dist/components/agent-tools/artifact-panel/artifact-panel.class.d.ts +3 -1
- package/dist/components/agent-tools/context-inspector/context-inspector.class.d.ts +1 -0
- package/dist/components/agent-tools/context-inspector/context-inspector.class.js +4 -3
- package/dist/components/agent-tools/context-inspector/context-inspector.styles.js +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +1 -1
- package/dist/components/agent-tools/eval-result/eval-result.class.js +1 -1
- package/dist/components/agent-tools/evaluation-run/evaluation-run.class.d.ts +1 -0
- package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +4 -3
- package/dist/components/agent-tools/evaluation-run/evaluation-run.styles.js +1 -1
- package/dist/components/agent-tools/policy-summary/policy-summary.class.d.ts +1 -0
- package/dist/components/agent-tools/policy-summary/policy-summary.class.js +4 -3
- package/dist/components/agent-tools/policy-summary/policy-summary.styles.js +1 -1
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +1 -1
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +10 -1
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +3 -3
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +1 -1
- package/dist/components/agent-tools/thinking-panel/thinking-panel.class.d.ts +6 -3
- package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js +1 -1
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +14 -3
- 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 +12 -2
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +3 -1
- package/dist/components/charts/chart/box-plot.class.d.ts +15 -3
- package/dist/components/charts/chart/box-plot.class.js +3 -3
- package/dist/components/charts/chart/box-plot.styles.js +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +24 -6
- package/dist/components/charts/chart/chart.class.js +3 -3
- package/dist/components/charts/chart/chart.styles.js +1 -1
- package/dist/components/charts/chart/lite-chart.class.js +1 -1
- package/dist/components/charts/chart/lite-chart.styles.js +1 -1
- package/dist/components/conversation/audio-visualizer/audio-visualizer.class.d.ts +4 -2
- package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js +1 -1
- package/dist/components/conversation/branch-picker/branch-picker.class.d.ts +4 -2
- package/dist/components/conversation/branch-picker/branch-picker.class.js +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +4 -3
- package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-core.class.d.ts +6 -11
- package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-shared.d.ts +29 -1
- package/dist/components/conversation/code-block/code-block-shared.js +1 -1
- package/dist/components/conversation/code-block/code-block.class.d.ts +6 -11
- package/dist/components/conversation/code-block/code-block.class.js +1 -1
- package/dist/components/conversation/markdown/markdown-shared.js +2 -2
- package/dist/components/conversation/message-actions/message-actions.class.d.ts +4 -2
- package/dist/components/conversation/message-actions/message-actions.class.js +2 -2
- package/dist/components/conversation/message-parts/message-parts.class.d.ts +17 -2
- package/dist/components/conversation/model-select/model-select.class.js +1 -0
- package/dist/components/conversation/model-select/model-select.styles.js +1 -1
- package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +5 -1
- package/dist/components/conversation/prompt-input/prompt-input.class.js +2 -2
- package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts +6 -1
- package/dist/components/conversation/prompt-queue/prompt-queue.class.js +2 -2
- package/dist/components/conversation/realtime-session/realtime-session.class.d.ts +5 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.js +1 -1
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts +5 -1
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +13 -2
- package/dist/components/conversation/voice-picker/voice-picker.class.js +5 -3
- package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
- package/dist/components/data/calendar/calendar.class.d.ts +9 -0
- package/dist/components/data/calendar/calendar.class.js +2 -2
- package/dist/components/data/calendar/calendar.styles.js +1 -1
- package/dist/components/data/condition-builder/condition-builder.class.d.ts +5 -1
- package/dist/components/data/context-meter/context-meter.class.d.ts +4 -0
- package/dist/components/data/context-meter/context-meter.styles.js +1 -1
- package/dist/components/data/data-grid/data-grid.class.d.ts +8 -2
- package/dist/components/data/data-grid/data-grid.class.js +1 -2
- package/dist/components/data/flow-node/flow-node.class.d.ts +7 -4
- package/dist/components/data/flow-node/flow-node.styles.js +1 -1
- package/dist/components/data/funnel/funnel.class.d.ts +5 -0
- package/dist/components/data/funnel/funnel.class.js +4 -3
- package/dist/components/data/funnel/funnel.styles.js +1 -1
- package/dist/components/data/gauge/gauge.class.d.ts +12 -1
- package/dist/components/data/gauge/gauge.styles.js +1 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +50 -13
- package/dist/components/data/graph-query-builder/graph-query-builder.class.js +2 -2
- package/dist/components/data/graph-query-builder/graph-query-builder.styles.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +27 -9
- package/dist/components/data/heatmap/heatmap.class.js +5 -3
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +2 -0
- package/dist/components/data/sequence-strip/sequence-strip.styles.js +1 -1
- package/dist/components/data/table/table.class.d.ts +10 -1
- package/dist/components/data/table/table.class.js +3 -2
- package/dist/components/data/tree/tree.class.d.ts +20 -1
- package/dist/components/data/tree/tree.class.js +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.d.ts +4 -1
- package/dist/components/data/word-cloud/word-cloud.class.js +2 -2
- package/dist/components/forms/button/button.class.js +1 -1
- package/dist/components/forms/checkbox/checkbox.class.d.ts +11 -8
- package/dist/components/forms/checkbox/checkbox.class.js +1 -1
- package/dist/components/forms/checkbox/checkbox.styles.js +1 -1
- package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +2 -2
- package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
- package/dist/components/forms/code-editor/code-editor.class.d.ts +2 -0
- package/dist/components/forms/code-editor/code-editor.class.js +1 -1
- package/dist/components/forms/code-editor/code-editor.styles.js +1 -1
- package/dist/components/forms/color-picker/color-picker.class.d.ts +11 -1
- package/dist/components/forms/color-picker/color-picker.class.js +4 -3
- package/dist/components/forms/combobox/combobox.class.d.ts +69 -20
- package/dist/components/forms/combobox/combobox.class.js +8 -6
- package/dist/components/forms/combobox/combobox.styles.js +1 -1
- package/dist/components/forms/date-picker/date-input.class.d.ts +22 -2
- package/dist/components/forms/date-picker/date-input.class.js +4 -2
- package/dist/components/forms/date-picker/date-input.styles.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-data-loader.d.ts +18 -4
- package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +18 -4
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js +1 -1
- package/dist/components/forms/icon-button/icon-button.class.d.ts +1 -1
- package/dist/components/forms/input/time-input.class.d.ts +11 -1
- package/dist/components/forms/input/time-input.class.js +4 -3
- package/dist/components/forms/input/time-input.styles.js +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +17 -3
- package/dist/components/forms/locale-picker/locale-picker.class.js +3 -2
- package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
- package/dist/components/forms/otp-input/otp-input.class.d.ts +13 -5
- package/dist/components/forms/otp-input/otp-input.class.js +2 -2
- package/dist/components/forms/otp-input/otp-input.styles.js +1 -1
- package/dist/components/forms/phone-input/phone-input.class.d.ts +10 -3
- package/dist/components/forms/phone-input/phone-input.class.js +6 -2
- package/dist/components/forms/phone-input/phone-input.styles.js +1 -1
- package/dist/components/forms/radio/radio-group.class.d.ts +1 -1
- package/dist/components/forms/radio/radio-group.class.js +2 -2
- package/dist/components/forms/rubric-form/rubric-form.class.d.ts +9 -1
- package/dist/components/forms/rubric-form/rubric-form.class.js +5 -3
- package/dist/components/forms/select/select.class.d.ts +6 -2
- package/dist/components/forms/select/select.class.js +4 -2
- package/dist/components/forms/select/select.styles.js +1 -1
- package/dist/components/forms/slider/slider.class.d.ts +5 -1
- package/dist/components/forms/slider/slider.class.js +3 -3
- package/dist/components/forms/switch/switch.class.d.ts +6 -5
- package/dist/components/forms/switch/switch.class.js +1 -1
- package/dist/components/forms/time-range/time-range.class.d.ts +2 -2
- package/dist/components/forms/token-input/token-input.class.d.ts +13 -3
- package/dist/components/forms/token-input/token-input.class.js +3 -1
- package/dist/components/layout/carousel/carousel.class.d.ts +4 -1
- package/dist/components/layout/carousel/carousel.class.js +1 -1
- package/dist/components/layout/command-palette/command-palette.class.d.ts +8 -2
- package/dist/components/layout/command-palette/command-palette.class.js +1 -1
- package/dist/components/layout/command-palette/command-palette.styles.js +1 -1
- package/dist/components/layout/details/accordion.class.js +1 -1
- package/dist/components/layout/dock-panel/dock-panel.class.d.ts +10 -7
- package/dist/components/layout/dock-panel/dock-panel.class.js +2 -2
- package/dist/components/layout/dock-panel/dock-panel.styles.js +1 -1
- package/dist/components/layout/menu/menu.class.d.ts +13 -3
- package/dist/components/layout/menu/menu.class.js +4 -3
- package/dist/components/layout/menu/menu.styles.js +1 -1
- package/dist/components/layout/page/page.class.d.ts +7 -1
- package/dist/components/layout/reorder-list/reorder-list.class.d.ts +1 -1
- package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
- package/dist/components/layout/segmented/segmented.class.d.ts +2 -0
- package/dist/components/layout/segmented/segmented.styles.js +1 -1
- package/dist/components/layout/virtual-list/virtual-list.styles.js +1 -1
- package/dist/components/layout/widget/widget.class.d.ts +15 -2
- package/dist/components/layout/widget/widget.class.js +1 -1
- package/dist/components/layout/widget/widget.styles.js +1 -1
- package/dist/components/media/avatar/avatar.class.d.ts +4 -0
- package/dist/components/media/avatar/avatar.styles.js +1 -1
- package/dist/components/media/avatar-group/avatar-group.class.d.ts +8 -1
- package/dist/components/media/avatar-group/avatar-group.styles.js +1 -1
- package/dist/components/media/drop-zone/drop-zone.class.d.ts +10 -4
- package/dist/components/media/drop-zone/drop-zone.class.js +2 -2
- package/dist/components/media/drop-zone/drop-zone.styles.js +1 -1
- package/dist/components/media/flag/flag.class.js +1 -1
- package/dist/components/media/map/map.class.d.ts +19 -5
- package/dist/components/media/map/map.class.js +3 -3
- package/dist/components/media/video-playlist/video-playlist.class.d.ts +6 -3
- package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
- package/dist/components/overlays/callout/callout.class.d.ts +4 -1
- package/dist/components/overlays/dialog/dialog.class.d.ts +4 -1
- package/dist/components/overlays/overlay/overlay.styles.js +1 -1
- package/dist/components/overlays/overlay/popover.class.d.ts +9 -1
- package/dist/components/overlays/overlay/popover.class.js +3 -2
- package/dist/components/overlays/overlay/tooltip.class.d.ts +14 -4
- package/dist/components/overlays/overlay/tooltip.class.js +3 -2
- package/dist/components/overlays/popup/popup.class.d.ts +15 -1
- package/dist/components/overlays/popup/popup.class.js +3 -3
- package/dist/components/overlays/popup/popup.styles.js +1 -1
- package/dist/components/overlays/progress/progress-bar.class.d.ts +2 -0
- package/dist/components/overlays/progress/progress.styles.js +1 -1
- package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +4 -2
- package/dist/components/retrieval/citation-badge/citation-badge.class.js +1 -1
- package/dist/components/retrieval/claim-evidence/claim-evidence.class.d.ts +4 -0
- package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +4 -3
- package/dist/components/retrieval/claim-evidence/claim-evidence.styles.js +1 -1
- package/dist/components/retrieval/community-card/community-card.class.d.ts +6 -1
- package/dist/components/retrieval/community-card/community-card.styles.js +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts +9 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +4 -3
- package/dist/components/retrieval/entity-card/entity-card.styles.js +1 -1
- package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +4 -2
- package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -1
- package/dist/components/retrieval/entity-dossier/entity-dossier.class.js +2 -2
- package/dist/components/retrieval/graph-legend/graph-legend.class.d.ts +18 -4
- package/dist/components/retrieval/graph-legend/graph-legend.class.js +2 -2
- package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +7 -0
- package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +4 -3
- package/dist/components/retrieval/grounding-summary/grounding-summary.styles.js +1 -1
- package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +6 -0
- package/dist/components/retrieval/memory-panel/memory-panel.class.js +4 -3
- package/dist/components/retrieval/memory-panel/memory-panel.styles.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map-layout.d.ts +17 -1
- package/dist/components/retrieval/mind-map/mind-map-layout.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map.class.d.ts +8 -1
- package/dist/components/retrieval/mind-map/mind-map.class.js +3 -2
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +5 -0
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +6 -5
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.styles.js +1 -1
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +5 -5
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +1 -1
- package/dist/components/retrieval/source-list/source-list.class.d.ts +21 -2
- package/dist/components/retrieval/source-list/source-list.class.js +2 -2
- package/dist/components/retrieval/source-list/source-list.styles.js +1 -1
- package/dist/components/retrieval/source-picker/source-picker.class.d.ts +3 -1
- package/dist/components/retrieval/source-picker/source-picker.class.js +2 -2
- package/dist/components/utility/diff-view/diff-view.class.d.ts +105 -8
- package/dist/components/utility/diff-view/diff-view.class.js +21 -5
- package/dist/components/utility/diff-view/diff-view.styles.js +1 -1
- package/dist/components/utility/export-button/export-button.class.d.ts +26 -2
- package/dist/components/utility/export-button/export-button.class.js +4 -2
- package/dist/components/utility/export-button/export-button.styles.js +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.d.ts +19 -1
- package/dist/components/utility/mention-popover/mention-popover.class.js +3 -2
- package/dist/components/utility/mention-popover/mention-popover.styles.js +1 -1
- package/dist/components/utility/tour/tour.class.d.ts +1 -3
- package/dist/components/utility/tour/tour.class.js +1 -1
- package/dist/components/viewers/archive-viewer/archive-viewer.class.d.ts +20 -3
- package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +1 -1
- package/dist/components/viewers/geojson-view/geojson-view.styles.js +1 -1
- package/dist/components/viewers/geojson-view/geojson-viewer.class.d.ts +5 -0
- package/dist/components/viewers/geojson-view/geojson-viewer.class.js +6 -3
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +7 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +1 -1
- package/dist/components/viewers/pptx-viewer/pptx-viewer.class.d.ts +7 -1
- package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +5 -0
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js +1 -1
- package/dist/custom-elements-jsx.d.ts +1 -1
- package/dist/events.d.ts +79 -30
- package/dist/internal/accessibility-visibility.js +1 -1
- package/dist/internal/aria-reflection.js +1 -1
- package/dist/internal/catalog-picker.d.ts +14 -3
- package/dist/internal/catalog-picker.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/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +2 -2
- package/dist/internal/lyra-element.d.ts +17 -0
- package/dist/internal/lyra-element.js +2 -2
- package/dist/internal/package-metadata.d.ts +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/svelte.d.ts +1 -1
- package/dist/testing/lyra-tag-event-map.js +1 -1
- package/dist/translations/ar/agent-tools.js +1 -1
- package/dist/translations/ar/data.js +1 -1
- package/dist/translations/ar/retrieval.js +1 -1
- package/dist/translations/ar/shared.js +1 -1
- package/dist/translations/ar/viewers.js +1 -1
- package/dist/translations/de/agent-tools.js +1 -1
- package/dist/translations/de/data.js +1 -1
- package/dist/translations/de/retrieval.js +1 -1
- package/dist/translations/de/shared.js +1 -1
- package/dist/translations/de/viewers.js +1 -1
- package/dist/translations/es/agent-tools.js +1 -1
- package/dist/translations/es/data.js +1 -1
- package/dist/translations/es/retrieval.js +1 -1
- package/dist/translations/es/shared.js +1 -1
- package/dist/translations/es/viewers.js +1 -1
- package/dist/translations/fa/agent-tools.js +1 -1
- package/dist/translations/fa/data.js +1 -1
- package/dist/translations/fa/retrieval.js +1 -1
- package/dist/translations/fa/shared.js +1 -1
- package/dist/translations/fa/viewers.js +1 -1
- package/dist/translations/fr/agent-tools.js +1 -1
- package/dist/translations/fr/data.js +1 -1
- package/dist/translations/fr/retrieval.js +1 -1
- package/dist/translations/fr/shared.js +1 -1
- package/dist/translations/fr/viewers.js +1 -1
- package/dist/translations/he/agent-tools.js +1 -1
- package/dist/translations/he/data.js +1 -1
- package/dist/translations/he/retrieval.js +1 -1
- package/dist/translations/he/shared.js +1 -1
- package/dist/translations/he/viewers.js +1 -1
- package/dist/translations/it/agent-tools.js +1 -1
- package/dist/translations/it/data.js +1 -1
- package/dist/translations/it/retrieval.js +1 -1
- package/dist/translations/it/shared.js +1 -1
- package/dist/translations/it/viewers.js +1 -1
- package/dist/translations/ja/agent-tools.js +1 -1
- package/dist/translations/ja/data.js +1 -1
- package/dist/translations/ja/retrieval.js +1 -1
- package/dist/translations/ja/shared.js +1 -1
- package/dist/translations/ja/viewers.js +1 -1
- package/dist/translations/pt-BR/agent-tools.js +1 -1
- package/dist/translations/pt-BR/data.js +1 -1
- package/dist/translations/pt-BR/retrieval.js +1 -1
- package/dist/translations/pt-BR/shared.js +1 -1
- package/dist/translations/pt-BR/viewers.js +1 -1
- package/dist/translations/ro/agent-tools.js +1 -1
- package/dist/translations/ro/data.js +1 -1
- package/dist/translations/ro/retrieval.js +1 -1
- package/dist/translations/ro/shared.js +1 -1
- package/dist/translations/ro/viewers.js +1 -1
- package/dist/translations/ru/agent-tools.js +1 -1
- package/dist/translations/ru/data.js +1 -1
- package/dist/translations/ru/retrieval.js +1 -1
- package/dist/translations/ru/shared.js +1 -1
- package/dist/translations/ru/viewers.js +1 -1
- package/dist/translations/zh-CN/agent-tools.js +1 -1
- package/dist/translations/zh-CN/data.js +1 -1
- package/dist/translations/zh-CN/retrieval.js +1 -1
- package/dist/translations/zh-CN/shared.js +1 -1
- package/dist/translations/zh-CN/viewers.js +1 -1
- package/dist/vue.d.ts +1 -1
- package/llms/components/lr-activity-feed.md +20 -9
- package/llms/components/lr-approval-queue.md +3 -2
- package/llms/components/lr-archive-viewer.md +8 -1
- package/llms/components/lr-artifact-panel.md +3 -1
- package/llms/components/lr-audio-visualizer.md +3 -1
- package/llms/components/lr-avatar-group.md +13 -6
- package/llms/components/lr-avatar.md +6 -2
- package/llms/components/lr-bar-chart.md +6 -3
- package/llms/components/lr-box-plot.md +6 -2
- package/llms/components/lr-branch-picker.md +3 -1
- package/llms/components/lr-bubble-chart.md +6 -3
- package/llms/components/lr-calendar.md +10 -3
- package/llms/components/lr-carousel.md +4 -2
- package/llms/components/lr-chart.md +12 -4
- package/llms/components/lr-chat-viewport.md +3 -2
- package/llms/components/lr-checkbox.md +8 -5
- package/llms/components/lr-citation-badge.md +2 -0
- package/llms/components/lr-claim-evidence.md +6 -2
- package/llms/components/lr-code-editor.md +3 -1
- package/llms/components/lr-color-picker.md +20 -8
- package/llms/components/lr-combobox.md +26 -3
- package/llms/components/lr-command-palette.md +6 -3
- package/llms/components/lr-community-card.md +7 -4
- package/llms/components/lr-context-inspector.md +3 -2
- package/llms/components/lr-context-meter.md +13 -5
- package/llms/components/lr-data-grid.md +2 -0
- package/llms/components/lr-date-input.md +12 -3
- package/llms/components/lr-date-picker.md +11 -2
- package/llms/components/lr-diff-view.md +46 -5
- package/llms/components/lr-doughnut-chart.md +6 -3
- package/llms/components/lr-drop-zone.md +7 -3
- package/llms/components/lr-embedding-explorer.md +8 -2
- package/llms/components/lr-emoji-picker.md +5 -1
- package/llms/components/lr-entity-chip.md +2 -0
- package/llms/components/lr-eval-run.md +3 -2
- package/llms/components/lr-export-button.md +5 -2
- package/llms/components/lr-flow-node.md +7 -4
- package/llms/components/lr-funnel.md +7 -2
- package/llms/components/lr-gauge.md +7 -2
- package/llms/components/lr-geojson-view.md +10 -2
- package/llms/components/lr-geojson-viewer.md +10 -2
- package/llms/components/lr-graph-legend.md +6 -3
- package/llms/components/lr-graph-query-builder.md +21 -11
- package/llms/components/lr-grounding-summary.md +8 -2
- package/llms/components/lr-heatmap.md +5 -2
- package/llms/components/lr-histogram.md +4 -2
- package/llms/components/lr-json-schema-viewer.md +7 -5
- package/llms/components/lr-line-chart.md +6 -3
- package/llms/components/lr-locale-picker.md +4 -1
- package/llms/components/lr-map.md +5 -3
- package/llms/components/lr-memory-panel.md +6 -2
- package/llms/components/lr-mention-popover.md +7 -4
- package/llms/components/lr-message-actions.md +3 -1
- package/llms/components/lr-message-parts.md +8 -2
- package/llms/components/lr-mind-map.md +11 -2
- package/llms/components/lr-option.md +25 -2
- package/llms/components/lr-otp-input.md +3 -1
- package/llms/components/lr-phone-input.md +9 -5
- package/llms/components/lr-pie-chart.md +6 -3
- package/llms/components/lr-polar-area-chart.md +6 -3
- package/llms/components/lr-policy-summary.md +3 -2
- package/llms/components/lr-progress-bar.md +4 -1
- package/llms/components/lr-prompt-input.md +4 -1
- package/llms/components/lr-prompt-queue.md +5 -2
- package/llms/components/lr-radar-chart.md +6 -3
- package/llms/components/lr-rag-eval-dashboard.md +7 -2
- package/llms/components/lr-realtime-session.md +3 -1
- package/llms/components/lr-rubric-form.md +6 -1
- package/llms/components/lr-scatter-chart.md +6 -3
- package/llms/components/lr-segmented.md +3 -1
- package/llms/components/lr-select.md +7 -1
- package/llms/components/lr-selection-toolbar.md +4 -1
- package/llms/components/lr-sequence-strip.md +7 -3
- package/llms/components/lr-source-card.md +16 -1
- package/llms/components/lr-source-list.md +17 -2
- package/llms/components/lr-source-picker.md +3 -1
- package/llms/components/lr-subagent-panel.md +6 -3
- package/llms/components/lr-switch.md +4 -3
- package/llms/components/lr-table.md +6 -1
- package/llms/components/lr-thinking-panel.md +8 -5
- package/llms/components/lr-token-input.md +15 -1
- package/llms/components/lr-tool-call-chip.md +2 -0
- package/llms/components/lr-tool-param-form.md +15 -4
- package/llms/components/lr-tooltip.md +8 -4
- package/llms/components/lr-trace-tree.md +7 -4
- package/llms/components/lr-video-playlist.md +7 -5
- package/llms/components/lr-voice-picker.md +7 -4
- package/llms/components/lr-widget.md +15 -2
- package/llms/migration.md +4 -4
- package/llms-full.txt +552 -159
- package/package.json +10 -8
- 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
package/llms-full.txt
CHANGED
|
@@ -4963,7 +4963,22 @@ An async `source` row can carry the same two fields (`start`, `end`) alongside i
|
|
|
4963
4963
|
none. A blank return falls back to the raw value. Not consulted while an async `source` fetch has
|
|
4964
4964
|
never yet resolved for this element — see "Unknown committed values" below; `loadingText` covers
|
|
4965
4965
|
that window instead, since the value is not yet known to be unmatched at all
|
|
4966
|
-
- `
|
|
4966
|
+
- `loading: boolean = false` (reflected) — mirrors `lr-select`'s own `loading`: whether a
|
|
4967
|
+
committed value's real label may still be pending because its `<lr-option>` catalog hasn't
|
|
4968
|
+
arrived yet (e.g. mounted asynchronously with no `source` involved). While `true`, a committed
|
|
4969
|
+
value that currently matches no option/row renders the localized `loadingText` placeholder in the
|
|
4970
|
+
trigger label or the relevant `multiple` tag instead of the raw value, with no
|
|
4971
|
+
`notInCatalog`/`[part='unknown-value']` badge, and the open listbox shows the same loading row a
|
|
4972
|
+
`source` fetch in flight shows. Independent of `source`'s own async lifecycle — either condition
|
|
4973
|
+
alone suppresses the unknown-value presentation. Never mutates `value`/`selectedOptions` itself,
|
|
4974
|
+
and does not itself disable the trigger
|
|
4975
|
+
- `appearance: 'accent' | 'filled' | 'outlined' | 'filled-outlined' | 'plain' = 'outlined'`
|
|
4976
|
+
(reflected) — the library's shared field-surface vocabulary, matching `lr-select`'s trigger.
|
|
4977
|
+
`outlined` (the default) is a bordered surface; `filled` swaps the border for a raised fill;
|
|
4978
|
+
`filled-outlined` keeps both; `plain` drops both; `accent` paints the loud brand fill with
|
|
4979
|
+
on-brand text (the placeholder, expand icon, adornments and `multiple` tags all ride that
|
|
4980
|
+
on-brand color rather than the quiet-text tokens). An unsupported value, including a raw
|
|
4981
|
+
attribute/property write outside this type, clamps to the `'outlined'` default
|
|
4967
4982
|
- `placement: 'top' | 'bottom' = 'bottom'` (reflected; flip/shift can still keep the listbox in view)
|
|
4968
4983
|
- `positioningStrategy: PlaceStrategy = 'fixed'` (attribute `positioning-strategy`, reflected) —
|
|
4969
4984
|
the CSS positioning scheme the listbox is laid out with, spelled the same as on `lr-select`,
|
|
@@ -5303,6 +5318,11 @@ standard size supplies an aligned default), plus shared tokens. `--lr-combobox-g
|
|
|
5303
5318
|
`--lr-space-xs`, the gap inside `[part='combobox']`) and `--lr-combobox-radius` (default
|
|
5304
5319
|
`--lr-radius`, its corner radius) are both retunable without a `::part(combobox)` rule but, unlike
|
|
5305
5320
|
the properties above, do not vary by `size` — the same `--lr-button-gap`/`-radius` pattern.
|
|
5321
|
+
`--lr-combobox-tag-bg` (default `var(--lr-color-brand-quiet)`), `--lr-combobox-tag-color` (default
|
|
5322
|
+
`var(--lr-color-text)`) and `--lr-combobox-tag-radius` (default `var(--lr-radius)`) retint a
|
|
5323
|
+
selected tag's background, text color and corner radius without a `::part(tag)` rule; `-tag-bg` is
|
|
5324
|
+
scoped independently of `--lr-combobox-option-active-bg`/`-option-badge-bg` below, which already
|
|
5325
|
+
scope the same shared `--lr-color-brand-quiet` token for their own purposes.
|
|
5306
5326
|
|
|
5307
5327
|
The trigger row's own surface became public in 16.0.0, having been a private pair until then:
|
|
5308
5328
|
`--lr-combobox-fill` (default `var(--lr-color-surface)`) and `--lr-combobox-border-color` (default
|
|
@@ -5313,7 +5333,10 @@ here wins over every treatment. `--lr-combobox-open-border-color` (default
|
|
|
5313
5333
|
border before. Read the name as the state the listbox opens in rather than as a synonym for `open`:
|
|
5314
5334
|
it is bound to `:focus-within`, so it also paints on a focused row whose listbox is closed — after
|
|
5315
5335
|
an Escape dismissal, say. It is named for symmetry with `lr-select`'s
|
|
5316
|
-
`--lr-select-open-border-color`, which really is gated on `open`.
|
|
5336
|
+
`--lr-select-open-border-color`, which really is gated on `open`. `--lr-combobox-text-color`
|
|
5337
|
+
(default `inherit`) recolors the trigger's own text the same way; `appearance="accent"` defaults it
|
|
5338
|
+
instead to `var(--lr-color-on-brand)`, keeping placeholder, adornments and tag text readable on the
|
|
5339
|
+
loud brand fill.
|
|
5317
5340
|
|
|
5318
5341
|
The shared field halo `--lr-form-control-focus-shadow` (default `none`) paints a `box-shadow`
|
|
5319
5342
|
while this control is focused — one name for every field-shaped control in the library, so a
|
|
@@ -5894,6 +5917,12 @@ invalid CSS and never matches — which is exactly why these tokens exist.
|
|
|
5894
5917
|
`[part='option-badge']` "not in catalog" badge `show-unknown-option` renders on the synthetic
|
|
5895
5918
|
listbox row, independent of the unknown-value chip's border above.
|
|
5896
5919
|
|
|
5920
|
+
`--lr-select-tag-remove-hover-bg` (default `var(--lr-color-brand-quiet)`) retints a hovered
|
|
5921
|
+
`[part='tag__remove-button']`'s background without a `::part(tag__remove-button)` rule; the pressed
|
|
5922
|
+
state mixes from this same token. Scoped independently of `--lr-select-trigger-hover-bg` and
|
|
5923
|
+
`--lr-select-option-active-bg` above, which already scope the identical shared token for their own
|
|
5924
|
+
purposes.
|
|
5925
|
+
|
|
5897
5926
|
**Optional peer deps:** none.
|
|
5898
5927
|
|
|
5899
5928
|
```html
|
|
@@ -6139,7 +6168,13 @@ Text field + calendar popover, **form-associated** via the shared `FormAssociate
|
|
|
6139
6168
|
|
|
6140
6169
|
**Properties (44):**
|
|
6141
6170
|
|
|
6142
|
-
- `appearance: 'filled'|'outlined'|'filled-outlined' = 'outlined'`
|
|
6171
|
+
- `appearance: 'accent' | 'filled' | 'outlined' | 'filled-outlined' | 'plain' = 'outlined'`
|
|
6172
|
+
(reflected) — the library's shared field-surface vocabulary, matching `lr-select`'s trigger and
|
|
6173
|
+
`lr-combobox`'s own `appearance`. `outlined` (the default) is a bordered surface; `filled` swaps
|
|
6174
|
+
the border for a raised fill; `filled-outlined` keeps both; `plain` drops both; `accent` paints
|
|
6175
|
+
the loud brand fill with on-brand text (the placeholder, start/end adornments and clear/expand
|
|
6176
|
+
buttons all ride that on-brand color rather than the quiet-text tokens). An unsupported value,
|
|
6177
|
+
including a raw attribute/property write outside this type, clamps to the `'outlined'` default
|
|
6143
6178
|
- `appliedPreset: LyraDateRangePreset | undefined` (read-only, new in 12.0.0) — the `presets` entry
|
|
6144
6179
|
whose button produced the current `value`, or `undefined` when the value was picked on the
|
|
6145
6180
|
calendar, typed into the field, cleared, or reset. Read it inside your own `change`/`input`
|
|
@@ -6278,7 +6313,10 @@ With no label text the part is hidden and no glyph is painted.
|
|
|
6278
6313
|
`--lr-form-control-height`. All four defaults follow the shared size ladder, including
|
|
6279
6314
|
`small`/`medium`/`large` aliases and inherited `--lr-theme-form-control-height-*` overrides.
|
|
6280
6315
|
Inherited or direct public values win. `pill` changes the private radius default to
|
|
6281
|
-
`--lr-radius-pill`; a public `--lr-date-input-radius` still wins.
|
|
6316
|
+
`--lr-radius-pill`; a public `--lr-date-input-radius` still wins. `--lr-date-input-text-color`
|
|
6317
|
+
(default `inherit`) recolors the row's own text; `appearance="accent"` defaults it instead to
|
|
6318
|
+
`var(--lr-color-on-brand)`, keeping the placeholder and clear/calendar actions readable on the loud
|
|
6319
|
+
brand fill.
|
|
6282
6320
|
|
|
6283
6321
|
Calendar and clear actions fit inside the selected row height while retaining at least 24×24
|
|
6284
6322
|
CSS-pixel targets. At the default root size, rows measure 30/40/48/56px for s/m/l/xl; 2xs and xs
|
|
@@ -8236,9 +8274,13 @@ the reset default, or prior interaction state.
|
|
|
8236
8274
|
`form.reset()` restores the original declarative `value` and the default country.
|
|
8237
8275
|
|
|
8238
8276
|
**Slots:** `label`, `hint`, `error`, `country-prefix` (optional visual before the country selector,
|
|
8239
|
-
such as a consumer-owned `<lr-flag>`; no flag package is imported automatically)
|
|
8277
|
+
such as a consumer-owned `<lr-flag>`; no flag package is imported automatically), `start` (alias
|
|
8278
|
+
for `country-prefix`, matching the leading-adornment slot name every other forms/ single-line
|
|
8279
|
+
field uses — both feed the same wrapper), `end` (optional trailing adornment after the telephone
|
|
8280
|
+
input, matching the trailing-adornment slot name every other forms/ single-line field uses).
|
|
8240
8281
|
|
|
8241
|
-
**CSS parts:** `form-control`, `form-control-label`, `input-wrapper`, `country-prefix
|
|
8282
|
+
**CSS parts:** `form-control`, `form-control-label`, `input-wrapper`, `country-prefix` (also
|
|
8283
|
+
receives the `start` alias slot's content), `end`, `country`
|
|
8242
8284
|
(the selector region: invisible native select layered over the visual trigger), `country-select`,
|
|
8243
8285
|
`country-trigger` (visible, `aria-hidden` closed-state box), `flag` (the `<lr-flag>`, only with
|
|
8244
8286
|
`flags`), `country-code` (selected alpha-2 code, `data-placeholder` when no country exists),
|
|
@@ -8317,8 +8359,8 @@ import "@aceshooting/lyra-ui/components/media/flag/flag-peer.js";
|
|
|
8317
8359
|
- The component never imports `@aceshooting/lyra-flags` itself, with `flags` or without. `flags`
|
|
8318
8360
|
lazily registers only the `<lr-flag>` element; the artwork resolver comes from the consumer's own
|
|
8319
8361
|
`flag-peer.js` import (plus the installed peer package), so forgetting either shows a flagless
|
|
8320
|
-
trigger rather than erroring. `country-prefix` remains available for a
|
|
8321
|
-
adornment instead.
|
|
8362
|
+
trigger rather than erroring. `country-prefix` (or its `start` alias) remains available for a
|
|
8363
|
+
fully consumer-owned adornment instead.
|
|
8322
8364
|
- The visible trigger (`country-trigger` and everything inside it) is `aria-hidden` by design; the
|
|
8323
8365
|
layered native select is the accessible control. Don't move interactive content into those parts
|
|
8324
8366
|
via `::part` styling tricks, and don't expect the flag inside the open popup list — a native
|
|
@@ -8810,12 +8852,13 @@ Explicit empty text stays empty; later supplied text renders normally.
|
|
|
8810
8852
|
|
|
8811
8853
|
**Events:** user toggles emit, in order, bubbling/composed `input`, the compatibility `lr-input`
|
|
8812
8854
|
alias, bubbling/composed `change`, then the compatibility `lr-change` alias (both aliases carry
|
|
8813
|
-
`detail: { checked: boolean }`). Programmatic `.checked`
|
|
8814
|
-
silent. Internal `focus`/`blur` are re-dispatched as bubbling, composed host events.
|
|
8815
|
-
validity check finds the checkbox invalid.
|
|
8855
|
+
`detail: { checked: boolean, value: string }`, matching `lr-radio`'s shape). Programmatic `.checked`
|
|
8856
|
+
assignments are silent. Internal `focus`/`blur` are re-dispatched as bubbling, composed host events.
|
|
8857
|
+
`lr-invalid` (no detail) fires when a validity check finds the checkbox invalid.
|
|
8816
8858
|
**Refusing a toggle.** `lr-checkbox-toggle-request` is cancelable and fires *before* `checked`
|
|
8817
8859
|
moves, on every user path (click, Space, and the host `click()` activation it forwards).
|
|
8818
|
-
`detail: { checked: boolean }` is the state the control **would** take
|
|
8860
|
+
`detail: { checked: boolean, value: string }` is the state the control **would** take (`value` is
|
|
8861
|
+
the current `.value`, unaffected by the toggle); `checked` itself still holds
|
|
8819
8862
|
the old value while the event dispatches. `preventDefault()` keeps the current state, so the box
|
|
8820
8863
|
never flips at all rather than flipping and snapping back, and none of
|
|
8821
8864
|
`input`/`lr-input`/`change`/`lr-change` follow. A listener can instead answer by assigning `checked`
|
|
@@ -8890,6 +8933,8 @@ State paint is independently themeable through `--lr-checkbox-hover-border`,
|
|
|
8890
8933
|
`--lr-checkbox-active-border`, `--lr-checkbox-active-ring`, `--lr-checkbox-invalid-border`,
|
|
8891
8934
|
`--lr-checkbox-checked-bg`, and `--lr-checkbox-checked-border`; every default preserves the
|
|
8892
8935
|
corresponding brand/brand-quiet/danger token.
|
|
8936
|
+
`--lr-checkbox-box-radius` (default `calc(var(--lr-form-control-radius) * 0.6)`) retunes
|
|
8937
|
+
`[part='box']`'s corner radius without a `::part(box)` rule.
|
|
8893
8938
|
|
|
8894
8939
|
**`--lr-checkbox-box-size`** — the edge length of `[part='box']`, defaulting to
|
|
8895
8940
|
`min(var(--lr-icon-button-size), calc(var(--lr-form-control-height) * 0.7))`. Derived from the
|
|
@@ -9011,7 +9056,7 @@ normally.
|
|
|
9011
9056
|
**Events:** a user state change (click, Space, a logical ArrowLeft/ArrowRight change, or the
|
|
9012
9057
|
programmatic `click()` activation path) emits
|
|
9013
9058
|
`input`, then `lr-input`, then `change`, then `lr-change` (both aliases carry
|
|
9014
|
-
`detail: { checked: boolean }`) — in that order, matching
|
|
9059
|
+
`detail: { checked: boolean, value: string }`, matching `lr-radio`'s shape) — in that order, matching
|
|
9015
9060
|
the native checkbox/radio contract. The two native-style events are **new in 8.0.0**: a boolean
|
|
9016
9061
|
control that emitted only the `lr-`-prefixed alias was invisible to every form library, validation
|
|
9017
9062
|
helper, and `<form>`-level `change` listener that binds the native names, which is the ordinary way
|
|
@@ -9023,8 +9068,9 @@ assignment, `form.reset()`, or session-state restoration. The internal control's
|
|
|
9023
9068
|
check finds the switch invalid.
|
|
9024
9069
|
**Refusing a toggle.** `lr-switch-toggle-request` is cancelable and fires *before* `checked` moves,
|
|
9025
9070
|
on every user path (click, Space, a logical ArrowLeft/ArrowRight change, and the host `click()`
|
|
9026
|
-
activation it forwards). `detail: { checked: boolean }` is the state the switch
|
|
9027
|
-
`
|
|
9071
|
+
activation it forwards). `detail: { checked: boolean, value: string }` is the state the switch
|
|
9072
|
+
**would** take (`value` is the current `.value`, unaffected by the toggle); `checked` itself still
|
|
9073
|
+
holds the old value while the event dispatches. `preventDefault()` keeps the
|
|
9028
9074
|
current state, so the switch never slides at all rather than sliding and snapping back, and none of
|
|
9029
9075
|
`input`/`lr-input`/`change`/`lr-change` follow. A listener can instead answer by assigning `checked`
|
|
9030
9076
|
itself during the dispatch, which suppresses the built-in write the same way. It does not fire for a
|
|
@@ -9683,7 +9729,9 @@ Public `--lr-otp-input-*` theme inputs stay undeclared on the host, so an ancest
|
|
|
9683
9729
|
can override appearance fallbacks; a value set directly on the element still wins.
|
|
9684
9730
|
|
|
9685
9731
|
**Properties:** `label`, `hint`, `errorText` (`error-text`);
|
|
9686
|
-
`appearance: 'outlined' | 'filled' | 'filled-outlined' | 'contained' = 'outlined'` (reflected)
|
|
9732
|
+
`appearance: 'outlined' | 'filled' | 'filled-outlined' | 'contained' = 'outlined'` (reflected) —
|
|
9733
|
+
does not implement the shared vocabulary's `accent`/`plain` tiers; an unsupported value, including
|
|
9734
|
+
a raw attribute/property write outside this type, clamps to the `'outlined'` default;
|
|
9687
9735
|
`autofocus: boolean = false`; `autosubmit: boolean = false` (reflected);
|
|
9688
9736
|
`size: LyraSize = 'm'` (reflected after an explicit property/attribute write, accepting
|
|
9689
9737
|
`2xs`/`xs`/`s`/`m`/`l`/`xl` and the shared aliases). While unset, its generic font/radius/height
|
|
@@ -10055,7 +10103,12 @@ noneditable token layout remains the default.
|
|
|
10055
10103
|
**Properties:** live, non-reflecting `value`, reflected `defaultValue` (attribute `value`, encoded
|
|
10056
10104
|
as a JSON string array), `customError` (`custom-error`), `label`, `hint`, `errorText`
|
|
10057
10105
|
(`error-text`), `placeholder`, `name`,
|
|
10058
|
-
`required`, `disabled`,
|
|
10106
|
+
`required`, `disabled`,
|
|
10107
|
+
`readonly: boolean = false` (reflected — forwards native read-only behavior to the draft input and
|
|
10108
|
+
the inline token editor, and blocks adding, removing or editing a token while leaving the draft
|
|
10109
|
+
input, tokens and remove buttons focusable and the current value submitted with the form, mirroring
|
|
10110
|
+
`lr-input`'s `readonly`),
|
|
10111
|
+
`accessibleLabel` (attribute `aria-label` — forwarded to the input wrapper
|
|
10059
10112
|
and draft text input; precedence is presence-based, so `aria-label=""` remains an explicit empty
|
|
10060
10113
|
override and suppresses visible-label linkage), `spellcheck: boolean = true`, `autocapitalize: string = ''`, and `autocorrect` (read: `boolean = true`; write: `boolean | string`, attribute values
|
|
10061
10114
|
`on`/`off`) — all three native text-entry hints are forwarded to both the draft input and the inline
|
|
@@ -10139,6 +10192,15 @@ controlled `value`/pristine `defaultValue` shrink, DOM focus moves to the neares
|
|
|
10139
10192
|
equivalent surface at the clamped index. If no token remains it moves to the draft input; a newer
|
|
10140
10193
|
explicit focus destination outside the component is never reclaimed.
|
|
10141
10194
|
|
|
10195
|
+
**`readonly` — locking the committed list.** Reflects native read-only behavior onto both the draft
|
|
10196
|
+
input and the inline token editor, and blocks every other value-committing affordance: typing (or a
|
|
10197
|
+
programmatic `input`/`change` dispatch) into the draft, Enter/delimiter/Tab draft commits,
|
|
10198
|
+
Backspace-removes-last-token, clicking a remove button, and opening or committing the inline
|
|
10199
|
+
editor (`editable`). Unlike `disabled`, it never removes the draft input, a token label, or a
|
|
10200
|
+
remove button from the tab order, never blocks `focus()`, and never excludes the current value from
|
|
10201
|
+
`FormData` on submit — only `disabled` does that. Turning it on while a draft is half-typed or an
|
|
10202
|
+
inline editor is open discards that uncommitted state without moving focus.
|
|
10203
|
+
|
|
10142
10204
|
**`delimiter` is nullable, and only a single character acts as a commit key.** It does two separate
|
|
10143
10205
|
jobs: it splits a committed draft into several tokens, and — _only when it is exactly one
|
|
10144
10206
|
character_ — it is the keystroke that commits the draft. A multi-character delimiter still splits a
|
|
@@ -10309,6 +10371,8 @@ hover and invalid states below.
|
|
|
10309
10371
|
`--lr-code-editor-hover-border` (default `var(--lr-color-brand)`) and
|
|
10310
10372
|
`--lr-code-editor-invalid-border` (default `var(--lr-color-danger)`) retint those frame states
|
|
10311
10373
|
without changing brand/danger paint in sibling components.
|
|
10374
|
+
`--lr-code-editor-radius` (default `var(--lr-radius)`) retunes the editor frame's corner radius
|
|
10375
|
+
without a `::part(editor)` rule.
|
|
10312
10376
|
The `editor` scroll frame also honors the opt-in theme-level
|
|
10313
10377
|
`--lr-theme-scrollbar-width`/`--lr-theme-scrollbar-gutter` hooks (defaults `auto`/`auto`, matching
|
|
10314
10378
|
its previous unconditional `scrollbar-width: auto`) — set either on `:root` or any ancestor for one
|
|
@@ -10389,7 +10453,14 @@ designer-chosen colours; reach for this when it must not.
|
|
|
10389
10453
|
**Properties:** the shared
|
|
10390
10454
|
form properties `name`, `value`, `defaultValue` (canonical content attribute `value`),
|
|
10391
10455
|
`customError` (`custom-error`), `disabled`, and
|
|
10392
|
-
`required`,
|
|
10456
|
+
`required`,
|
|
10457
|
+
`readonly: boolean = false` (reflected — forwards native read-only behavior to the panel's value
|
|
10458
|
+
field and blocks every other value-committing affordance: the popup panel opening, the
|
|
10459
|
+
saturation/hue/opacity handles, palette swatches, the eyedropper, and Enter/blur-driven text
|
|
10460
|
+
commits; the trigger, value field and palette stay focusable, and the current value still submits
|
|
10461
|
+
with the form -- only `disabled` excludes it. Toggling it on while the panel is open closes it, and
|
|
10462
|
+
cancels an in-flight drag without committing, mirroring `disabled`'s own mid-interaction handling),
|
|
10463
|
+
plus `label`, `hint`, `errorText`
|
|
10393
10464
|
(`error-text`), `accessibleLabel` (`aria-label`), and `size: LyraSize = 'm'`
|
|
10394
10465
|
(reflected — the same visual-density scale as `lr-input`, applied to the centered visible swatch;
|
|
10395
10466
|
accepts `2xs`/`xs`/`s`/`m`/`l`/`xl` and `small`/`medium`/`large`; the interactive target
|
|
@@ -10405,15 +10476,19 @@ and:
|
|
|
10405
10476
|
applies to the whole string, function names included (`RGB(255, 0, 0)`)
|
|
10406
10477
|
- `swatches: string | string[] | LyraColorPickerSwatch[] = ''` — a predefined palette, given as a
|
|
10407
10478
|
`;`-separated string, an array of colour strings, or an array of
|
|
10408
|
-
`{ color: string; label?: string; disabled?: boolean }` objects. Any colour the
|
|
10409
|
-
is accepted; blank entries are dropped. An entry that is _not_ parseable is kept
|
|
10410
|
-
still renders a swatch — it just paints no colour (the bare checkerboard) and
|
|
10411
|
-
nothing, so filter the palette yourself if that matters. `label` becomes the
|
|
10412
|
-
name; a missing, empty, or whitespace-only label falls back to announcing the
|
|
10479
|
+
`{ color: string; label?: string; disabled?: boolean; icon?: unknown }` objects. Any colour the
|
|
10480
|
+
picker can parse is accepted; blank entries are dropped. An entry that is _not_ parseable is kept
|
|
10481
|
+
in the list and still renders a swatch — it just paints no colour (the bare checkerboard) and
|
|
10482
|
+
clicking it does nothing, so filter the palette yourself if that matters. `label` becomes the
|
|
10483
|
+
swatch's accessible name; a missing, empty, or whitespace-only label falls back to announcing the
|
|
10484
|
+
raw colour string.
|
|
10413
10485
|
`disabled` marks that one swatch non-actionable, independent of the whole control's own
|
|
10414
10486
|
`disabled`: it renders a genuinely disabled `<button>` (no tab stop, no hover/press affordance)
|
|
10415
10487
|
and clicking it commits nothing; omitted or `false` renders the swatch exactly as before this
|
|
10416
|
-
field existed.
|
|
10488
|
+
field existed. `icon` is an optional decorative custom shape rendered inside the swatch button
|
|
10489
|
+
behind the `swatch-icon` part -- inert and `aria-hidden`, matching `<lr-swatch-picker>`'s
|
|
10490
|
+
identical `SwatchPickerItem.icon` field. The palette container renders only while the normalized
|
|
10491
|
+
list is non-empty
|
|
10417
10492
|
- `withoutFormatToggle: boolean = false` (attribute `without-format-toggle`) — removes the button
|
|
10418
10493
|
that cycles between formats. `noFormatToggle` (`no-format-toggle`) is the Shoelace spelling and
|
|
10419
10494
|
reaches the same behavior; either one wins
|
|
@@ -10515,7 +10590,8 @@ absent with either format-toggle suppression property), plus `format-button__bas
|
|
|
10515
10590
|
`eyedropper-button` / `eye-dropper-button` (rendered only where the browser exposes the EyeDropper
|
|
10516
10591
|
API), with the corresponding `eyedropper-button__base|start|label|end|caret` and Shoelace
|
|
10517
10592
|
`eye-dropper-button__base|prefix|label|suffix|caret` aliases; `swatches` (the palette container, rendered only when the normalized `swatches`
|
|
10518
|
-
list is non-empty), `swatch` (one palette entry), `swatch-
|
|
10593
|
+
list is non-empty), `swatch` (one palette entry), `swatch-icon` (a swatch entry's optional
|
|
10594
|
+
decorative icon, inert and `aria-hidden`), `swatch-selected` (a token **added to** the
|
|
10519
10595
|
swatch matching the current value — state after `::part()` never matches, so write
|
|
10520
10596
|
`::part(swatch-selected)`), `hint`, `error`.
|
|
10521
10597
|
|
|
@@ -10646,7 +10722,11 @@ A searchable, keyboard-navigable, form-associated emoji picker. `groups` is full
|
|
|
10646
10722
|
— the component ships no emoji data of its own — in the same "zero/optional-peer dependency" spirit
|
|
10647
10723
|
as `<lr-lite-chart>`/`<lr-heatmap>`; an optional convenience auto-loader fetches a default set on
|
|
10648
10724
|
connect from the `emoji-picker-element-data` peer, but only when `groups` hasn't already been
|
|
10649
|
-
supplied (an explicit empty array still counts as supplied and skips the auto-load).
|
|
10725
|
+
supplied (an explicit empty array still counts as supplied and skips the auto-load). The auto-loader
|
|
10726
|
+
picks the peer's locale directory closest to `effectiveLocale` (an exact match, then the base
|
|
10727
|
+
language, else English), so each emoji's name — and therefore both its accessible name and the
|
|
10728
|
+
search index, not just the group headings — follows the page's locale; a later locale change
|
|
10729
|
+
reloads it. This only applies to the built-in dataset, never to a consumer-supplied `groups`.
|
|
10650
10730
|
When the filtered set reaches 200 items, the grid automatically windows its visible rows while
|
|
10651
10731
|
preserving the full option count through `aria-setsize`/`aria-posinset`.
|
|
10652
10732
|
|
|
@@ -10844,7 +10924,10 @@ discriminated union is `ScoreRubricKey | CategoryRubricKey | CommentRubricKey`.
|
|
|
10844
10924
|
first-wins identity and retained valid spelling is not rewritten. Shared fields are
|
|
10845
10925
|
`key`, `label?`, `description?`, and `required?`; only scores expose `min?`/`max?`/`step?`, only
|
|
10846
10926
|
categories expose readonly `RubricKeyOption[]` plus `multiple?`, and only comments expose
|
|
10847
|
-
`placeholder?`.
|
|
10927
|
+
`placeholder?`. Each `RubricKeyOption` also accepts an optional `icon?: unknown` -- a decorative
|
|
10928
|
+
leading visual rendered into `<lr-option>`'s `start` slot in the single-select branch, or inline
|
|
10929
|
+
before the label in the multiple-select `<lr-checkbox>` branch, inert and `aria-hidden` either way,
|
|
10930
|
+
matching `LyraFilterBarOption.icon`. Runtime schema normalization retains the first occurrence of each nonempty key and
|
|
10848
10931
|
rejects malformed rows. `value: RubricValue = {}` is a defensive readonly snapshot and
|
|
10849
10932
|
`defaultValue: RubricValue = {}` is its explicit form-reset baseline (both attribute: false).
|
|
10850
10933
|
`itemId: string = ''`
|
|
@@ -10891,6 +10974,8 @@ state exposed as `errors.base`, rather than being attributed to one rubric key.
|
|
|
10891
10974
|
clearing it hides that region unless the `error` slot supplies other content.
|
|
10892
10975
|
`click()` forwards to the active field (the same one a submit-and-next transition auto-focuses),
|
|
10893
10976
|
so the host behaves like a single control under both a `<label>`-driven and a programmatic click.
|
|
10977
|
+
`focus(options?)` moves focus to that same active field, matching `click()`'s target; this is also
|
|
10978
|
+
what lets the native `autofocus` attribute reach the rubric.
|
|
10894
10979
|
|
|
10895
10980
|
**CSS parts:** `base` (the outer `role="group"` wrapper), `form-control` (aggregate chrome wrapper),
|
|
10896
10981
|
`aggregate-label` / `form-control-label`, `fields` / `form-control-input`, `aggregate-hint` /
|
|
@@ -10948,7 +11033,10 @@ wrapper can override size-tier fallbacks; a value set directly on the element st
|
|
|
10948
11033
|
readonly LyraLocaleEntry[]`, `LyraLocaleEntry { tag: string; label?: string; country?: string }`.
|
|
10949
11034
|
`undefined` (the default) auto-discovers the registry; every supplied array (either form),
|
|
10950
11035
|
including an authoritative `[]`, overrides it entirely — a curated subset, custom order,
|
|
10951
|
-
custom labels, or a locale offered before its strings are registered.
|
|
11036
|
+
custom labels, or a locale offered before its strings are registered. An entry's `label` overrides
|
|
11037
|
+
the derived `localeNativeName(tag)` endonym only when it is non-blank; an explicitly blank (or
|
|
11038
|
+
whitespace-only) `label` is treated the same as an omitted one and still falls back to
|
|
11039
|
+
`localeNativeName(tag)`. Explicit catalogs are
|
|
10952
11040
|
capped, cloned and frozen at assignment; mutate a new array/entry and reassign it to update the
|
|
10953
11041
|
list. `country` (ISO 3166-1 alpha-2 or alpha-3) overrides a row's derived flag — e.g.
|
|
10954
11042
|
showing Lebanon's flag for an `'ar'` row instead of the library's default Saudi Arabia mapping;
|
|
@@ -11160,6 +11248,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
11160
11248
|
color: string;
|
|
11161
11249
|
label?: string;
|
|
11162
11250
|
disabled?: boolean;
|
|
11251
|
+
icon?: unknown;
|
|
11163
11252
|
}`
|
|
11164
11253
|
|
|
11165
11254
|
- **`components-forms-combobox-combobox-contracts`** — Supporting data types and helpers for this component family.
|
|
@@ -11330,6 +11419,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
11330
11419
|
readonly value: string;
|
|
11331
11420
|
readonly label?: string;
|
|
11332
11421
|
readonly description?: string;
|
|
11422
|
+
readonly icon?: unknown;
|
|
11333
11423
|
}`
|
|
11334
11424
|
Import: `@aceshooting/lyra-ui/components/forms/rubric-form/rubric-form.class.js`.
|
|
11335
11425
|
`ScoreRubricKey extends RubricKeyBase {
|
|
@@ -11768,6 +11858,8 @@ ARIA values as page-local positions rather than as the dataset-wide total.
|
|
|
11768
11858
|
`filterType`, `filterFn`, `hidden`, `hideable`, `resizable`, `movable`, `pinnable`, `pinned`,
|
|
11769
11859
|
`footer`, `aggregation`, and `aggregatedFormatter`. A column with neither `field` nor `value` is an
|
|
11770
11860
|
action column: its formatter receives `undefined`, and it is not sorted or searched by default.
|
|
11861
|
+
An omitted or explicitly blank (or whitespace-only) `label` both render the same humanized
|
|
11862
|
+
`field`/`id` fallback for the header cell — only a non-blank `label` overrides it.
|
|
11771
11863
|
`cellTitle(row) => string | undefined` renders as the generated cell's native `title`, symmetrical
|
|
11772
11864
|
with `<lr-table>`'s `columns[].cellTitle` — e.g. the untruncated text behind an ellipsized cell, or
|
|
11773
11865
|
a formatted timestamp behind a relative one. Returning `undefined` or `''` omits the `title`
|
|
@@ -12005,7 +12097,7 @@ unchanged.
|
|
|
12005
12097
|
|
|
12006
12098
|
- `columns: readonly TableColumn<T>[] = []` (attribute: false; clone-owned frozen collection,
|
|
12007
12099
|
bounded to the first 10,000 source positions; blank keys and later duplicates are omitted first-wins
|
|
12008
|
-
before header, cell, sort, focus, and event paths; reassign to update) — `{ key, label,
|
|
12100
|
+
before header, cell, sort, focus, and event paths; reassign to update) — `{ key, label, ariaLabel?,
|
|
12009
12101
|
headerCell?, width?, minWidth?, maxWidth?,
|
|
12010
12102
|
resizable?, sortable?, sortValue?, defaultSortDir?: 'asc'|'desc', align?: 'start'|'end',
|
|
12011
12103
|
priority?: 'medium'|'low',
|
|
@@ -12014,6 +12106,11 @@ editType?: 'text'|'number'|'select',
|
|
|
12014
12106
|
editOptions?: { value: string; label: string }[], footer?, cellStyle?, heatValue?,
|
|
12015
12107
|
cell: (row) => unknown }` — `cell` is required for every `editTrigger` except `'always'`, whose
|
|
12016
12108
|
persistent editor renders unconditionally so the table's render path never falls back to it —
|
|
12109
|
+
`ariaLabel` overrides that column header's accessible name (applied as the `<th>`'s `aria-label`
|
|
12110
|
+
whenever set) — e.g. an icon-only `headerCell` with no plain-text `label` to fall back on; when
|
|
12111
|
+
`label` is blank (or whitespace-only) and `ariaLabel` is also omitted, the header's accessible
|
|
12112
|
+
name falls back to `key` while the visible header itself stays blank, matching a deliberate
|
|
12113
|
+
icon-only column —
|
|
12017
12114
|
`sortValue(row) => string | number | null | undefined` supplies the comparable value backing
|
|
12018
12115
|
client-mode sorting for that column: a finite number sorts numerically, a string sorts through an
|
|
12019
12116
|
`Intl.Collator` built from the component's effective locale with `numeric: true` (so `item2`
|
|
@@ -13035,7 +13132,12 @@ true), `label` (rendered only while `label` is non-empty)
|
|
|
13035
13132
|
|
|
13036
13133
|
**Themeable custom properties:** `--lr-gauge-fill` (fill stroke; overrides `variant`/`thresholds`
|
|
13037
13134
|
entirely and falls back to the effective variant's shared semantic token —
|
|
13038
|
-
`--lr-color-brand` by default).
|
|
13135
|
+
`--lr-color-brand` by default). Each variant also has its own scoped fill, read as the innermost
|
|
13136
|
+
fallback before the shared token so a consumer can retint one variant without `--lr-gauge-fill`'s
|
|
13137
|
+
uniform override touching the others: `--lr-gauge-neutral-fill` (default `var(--lr-color-neutral)`),
|
|
13138
|
+
`--lr-gauge-brand-fill` (default `var(--lr-color-brand)`), `--lr-gauge-success-fill` (default
|
|
13139
|
+
`var(--lr-color-success)`), `--lr-gauge-warning-fill` (default `var(--lr-color-warning)`), and
|
|
13140
|
+
`--lr-gauge-danger-fill` (default `var(--lr-color-danger)`).
|
|
13039
13141
|
|
|
13040
13142
|
**Optional peer deps:** none.
|
|
13041
13143
|
|
|
@@ -13156,13 +13258,18 @@ interface LyraFunnelStage {
|
|
|
13156
13258
|
}
|
|
13157
13259
|
```
|
|
13158
13260
|
|
|
13261
|
+
At most 500 valid stages render, each as its own bar row; a `stages` array past that length renders
|
|
13262
|
+
a localized `limit` notice after the list rather than mounting an unbounded number of bars. Every
|
|
13263
|
+
stage's share is still measured against the true first stage regardless of truncation.
|
|
13264
|
+
|
|
13159
13265
|
**Events:** none.
|
|
13160
13266
|
|
|
13161
13267
|
**Slots:** none.
|
|
13162
13268
|
|
|
13163
13269
|
**CSS parts:** `base`, `stages` (the `<ol>`), `stage`, `dropoff`, `stage-header`, `stage-label`,
|
|
13164
13270
|
`stage-value`, `stage-share`, `comparison-value`, `track`, `bar`, `bar-overflow` (a second token on
|
|
13165
|
-
`bar` when the stage exceeds the first stage), `comparison-bar`, `empty`
|
|
13271
|
+
`bar` when the stage exceeds the first stage), `comparison-bar`, `empty`, `limit` (localized notice
|
|
13272
|
+
shown when `stages` exceeds the 500-stage render ceiling)
|
|
13166
13273
|
|
|
13167
13274
|
**Themeable custom properties:** `--lr-funnel-bar-color` (default `var(--lr-color-brand)`),
|
|
13168
13275
|
`--lr-funnel-comparison-color` (default `var(--lr-color-border-strong)`), `--lr-funnel-track-color`
|
|
@@ -13702,8 +13809,11 @@ color?: string; label?: string; partOfRamp?: boolean }`: a discrete legend key r
|
|
|
13702
13809
|
"no data" color next to an N-step ramp) to exclude just that stop from the comparison; defaults to
|
|
13703
13810
|
`true`. A caption-only stop (no `color`) is already excluded regardless of this flag.
|
|
13704
13811
|
|
|
13705
|
-
**Getters/methods:** `exportData('png')` returns a
|
|
13706
|
-
|
|
13812
|
+
**Getters/methods:** `exportData('csv'|'png')` returns a spreadsheet-safe CSV snapshot of the
|
|
13813
|
+
underlying matrix/calendar values or a PNG data URL for the most recently completed canvas paint.
|
|
13814
|
+
The CSV form reads `data` directly (not any bounded render cache) and omits no-data cells — one
|
|
13815
|
+
`row,column,value` row per real matrix cell, or `date,value` per real calendar day. The PNG form
|
|
13816
|
+
includes the painted axes, cells, focus/selection/annotation overlays, and frozen
|
|
13707
13817
|
label bands while `stickyLabels` is enabled; the DOM legend, tooltip, and accessible-cell buttons
|
|
13708
13818
|
are deliberately excluded. It returns `''` before a completed paint, while rendering is deferred or
|
|
13709
13819
|
zero-sized, after disconnect, or when the browser cannot encode the snapshot. `refreshTheme()` —
|
|
@@ -14029,8 +14139,12 @@ block-size), `--lr-sequence-strip-marker-color` (default `var(--lr-color-text)`
|
|
|
14029
14139
|
(default `0.625rem` — a legend swatch's inline- and block-size, category and marker rows alike), and
|
|
14030
14140
|
`--lr-sequence-strip-legend-marker-bg` (default `var(--lr-color-surface-raised)` — the neutral chip
|
|
14031
14141
|
background behind the marker legend row's bar; it stands in for "any cell", so it deliberately
|
|
14032
|
-
matches no category color),
|
|
14033
|
-
a cell whose activated item sets `disabled`)
|
|
14142
|
+
matches no category color), `--lr-sequence-strip-disabled-opacity` (default `var(--lr-opacity-disabled)` — opacity of
|
|
14143
|
+
a cell whose activated item sets `disabled`), `--lr-sequence-strip-selected-color` (default
|
|
14144
|
+
`var(--lr-color-text)` — colour of the persistent selection ring on a cell whose index is in
|
|
14145
|
+
`selectedIndex`), and `--lr-sequence-strip-selected-focus-color` (default
|
|
14146
|
+
`var(--lr-focus-ring-color)` — colour of that same ring while the cell also has keyboard focus); the
|
|
14147
|
+
tooltip also consumes shared tokens
|
|
14034
14148
|
`--lr-color-surface`, `--lr-color-text`, `--lr-font-size-xs`, `--lr-radius`, and `--lr-shadow`, and
|
|
14035
14149
|
the legend consumes `--lr-space-2xs`, `--lr-space-xs`, `--lr-space-s`, `--lr-font-size-xs`,
|
|
14036
14150
|
`--lr-color-text-quiet`, and `--lr-radius-xs`.
|
|
@@ -14660,8 +14774,9 @@ owns none of that.
|
|
|
14660
14774
|
- `statusDetail: string = ''` (attribute `status-detail`) — appended to the status line
|
|
14661
14775
|
- `durationMs: number | null = null` (attribute `duration-ms`) — formatted into the status line
|
|
14662
14776
|
- `selected: boolean = false` (reflected)
|
|
14663
|
-
- `compact: boolean = false` (reflected) — tighter card padding
|
|
14664
|
-
previews; the border, background, shadow and the
|
|
14777
|
+
- `compact: boolean = false` (reflected) — tighter card padding, row gap, and header icon-to-heading
|
|
14778
|
+
gap for dense canvases and palette previews; the border, background, shadow and the
|
|
14779
|
+
`selected`/`status="running"` treatments all stay
|
|
14665
14780
|
- `inputs: readonly FlowHandle[] = [{ id: 'in' }]`, `outputs: readonly FlowHandle[] = [{ id: 'out'
|
|
14666
14781
|
}]` (attribute: false) — detached, frozen snapshots of at most the first 10,000 readonly
|
|
14667
14782
|
`{ id, label? }` handles; blank ids and later duplicates are omitted first-valid/first-wins
|
|
@@ -14683,7 +14798,9 @@ carries no card chrome of its own), `card` (the bordered, filled node card), `he
|
|
|
14683
14798
|
|
|
14684
14799
|
**Themeable custom properties:** `--lr-flow-node-min-inline-size` (default `11rem`),
|
|
14685
14800
|
`--lr-flow-node-compact-padding` (default `var(--lr-space-xs)`) and `--lr-flow-node-compact-gap`
|
|
14686
|
-
(default `var(--lr-space-2xs)`) — `[part="card"]`'s padding and row gap while `compact
|
|
14801
|
+
(default `var(--lr-space-2xs)`) — `[part="card"]`'s padding and row gap while `compact`;
|
|
14802
|
+
`--lr-flow-node-compact-header-gap` (default `var(--lr-space-2xs)`) — `[part="header"]`'s own
|
|
14803
|
+
icon-to-heading gap while `compact` — and
|
|
14687
14804
|
`--lr-flow-node-selected-outline-color` (default `var(--lr-color-brand)`) — the card's outline color
|
|
14688
14805
|
while `selected`. Like the other state-scoped custom properties here, it is an inline `var()`
|
|
14689
14806
|
fallback at its point of use rather than a `:host` declaration, so it can be set on the element _or any
|
|
@@ -15057,9 +15174,15 @@ ring stays intact. `--lr-context-meter-selected-arc-stroke` (default `16`, in th
|
|
|
15057
15174
|
one bounding box, so a selected arc reports itself by thickening in place rather than by an outline
|
|
15058
15175
|
that would trace the whole ring identically for every selection.
|
|
15059
15176
|
`--lr-context-meter-disabled-opacity` (default `var(--lr-opacity-disabled)`) dims a band or legend row whose entry sets
|
|
15060
|
-
`disabled`; the band keeps its own colour, since that colour is the datum.
|
|
15177
|
+
`disabled`; the band keeps its own colour, since that colour is the datum. Each `data-tone` band
|
|
15178
|
+
color is independently retintable, scoped to just this component rather than the shared token
|
|
15179
|
+
every other component also reads: `--lr-context-meter-tone-brand-bg` (default
|
|
15180
|
+
`var(--lr-color-brand)`), `--lr-context-meter-tone-success-bg` (default `var(--lr-color-success)`),
|
|
15181
|
+
`--lr-context-meter-tone-warning-bg` (default `var(--lr-color-warning)`) and
|
|
15182
|
+
`--lr-context-meter-tone-danger-bg` (default `var(--lr-color-danger)`) — each read by the bar
|
|
15183
|
+
segment, its legend swatch, and (as the `stroke`) the ring shape's arc, so all three surfaces for a
|
|
15184
|
+
tone stay in sync. Otherwise the component consumes shared tokens
|
|
15061
15185
|
`--lr-space-xs`, `--lr-color-text-quiet`, `--lr-font`, `--lr-radius`, `--lr-color-border`,
|
|
15062
|
-
`--lr-color-brand`, `--lr-color-success`, `--lr-color-warning`, `--lr-color-danger`,
|
|
15063
15186
|
`--lr-transition-base`.
|
|
15064
15187
|
|
|
15065
15188
|
**Optional peer deps:** none.
|
|
@@ -15094,8 +15217,10 @@ bar/ring either: an over-`total` `segments` array renders as a fully (not over-)
|
|
|
15094
15217
|
later segments truncated or squeezed to zero width/arc-length as the budget runs out. `total <= 0`
|
|
15095
15218
|
(or non-finite) renders zero segments — an empty track/ring — and the announced summary falls back to
|
|
15096
15219
|
just `"{used} used"` with no `"of {total}"` clause, regardless of what's in `segments`. Ring geometry
|
|
15097
|
-
(a 40-radius circle
|
|
15098
|
-
|
|
15220
|
+
(a 40-radius circle centered at 50,50) has its RADIUS/CENTER match `lr-gauge`'s own radial numbers,
|
|
15221
|
+
so both components' rings sit on the same circle within their viewBox. The stroke does not match:
|
|
15222
|
+
at 12px it is intentionally heavier than `lr-gauge`'s 10px, since tightly-packed multi-tone arcs
|
|
15223
|
+
need more width to stay visually distinct than a gauge's single fill arc.
|
|
15099
15224
|
|
|
15100
15225
|
**Known gotchas:**
|
|
15101
15226
|
|
|
@@ -15153,6 +15278,11 @@ title, readonly color?, readonly data? }`; `date` accepts an ISO `YYYY-MM-DD` st
|
|
|
15153
15278
|
section retains the localized purpose name rather than duplicating an authored host name; when
|
|
15154
15279
|
set programmatically without a host attribute, this value names the section
|
|
15155
15280
|
|
|
15281
|
+
At most 4 events render as `event` buttons inside a single month-view day cell, and at most 500
|
|
15282
|
+
events render as `agenda-event` buttons in agenda view; either ceiling past that count renders a
|
|
15283
|
+
localized `event-limit`/`agenda-limit` "+N more" notice rather than mounting an unbounded number of
|
|
15284
|
+
buttons.
|
|
15285
|
+
|
|
15156
15286
|
**Keyboard:** the month grid is a fixed 6×7 matrix (leading/trailing days of adjacent months fill it
|
|
15157
15287
|
out) with one roving tab stop — `focusedDate`, else `value`, else today, else the first rendered day.
|
|
15158
15288
|
Arrows move by 1 day (Left/Right swapped under RTL) or 7; stepping past the rendered grid rolls
|
|
@@ -15166,8 +15296,10 @@ Arrows move by 1 day (Left/Right swapped under RTL) or 7; stepping past the rend
|
|
|
15166
15296
|
**CSS parts:** `header` and `navigation` are aliases on the header wrapper; `nav` is shared by both
|
|
15167
15297
|
month-navigation buttons; `previous-button` and `next-button` identify each direct button;
|
|
15168
15298
|
`nav-glyph` is the chevron (`scaleX(-1)`-mirrored under RTL); `title`, `weekdays`, `weekday`,
|
|
15169
|
-
`grid`, `week` (`display: contents`), `day`, `date`, `event` (a month-view marker), `
|
|
15170
|
-
|
|
15299
|
+
`grid`, `week` (`display: contents`), `day`, `date`, `event` (a month-view marker), `event-limit`
|
|
15300
|
+
(localized "+N more" notice shown in a day cell whose events exceed the 4-event per-cell render
|
|
15301
|
+
ceiling), `agenda`, `agenda-event`, and `agenda-limit` (localized "+N more" notice shown in agenda
|
|
15302
|
+
view when the visible month's events exceed the 500-event render ceiling).
|
|
15171
15303
|
|
|
15172
15304
|
**Themeable custom properties:** `--lr-calendar-day-min-block-size` (default `var(--lr-size-6rem)`)
|
|
15173
15305
|
and `--lr-calendar-day-min-block-size-narrow` (default `var(--lr-size-4rem)`, applied at container inline-size
|
|
@@ -15496,21 +15628,28 @@ visible label element, so slotted/property/localized label text is also the anno
|
|
|
15496
15628
|
effective native validity, including custom errors and own/fieldset validation barring.
|
|
15497
15629
|
`lr-invalid` is a cancelable bubbling/composed alias; vetoing it suppresses the native invalid
|
|
15498
15630
|
default. Run, save, load, and delete share one two-phase contract: cancelable
|
|
15499
|
-
`lr-
|
|
15500
|
-
`lr-
|
|
15631
|
+
`lr-query-run-request`, `lr-query-save-request`, `lr-query-load-request`, and
|
|
15632
|
+
`lr-query-delete-request` requests precede any local effect; non-cancelable `lr-query-run`,
|
|
15501
15633
|
`lr-query-save`, `lr-query-load`, and `lr-query-delete` notifications follow only when accepted.
|
|
15502
|
-
The matching
|
|
15634
|
+
The matching request/accepted pair reuses one frozen payload: `{ query }` for run,
|
|
15503
15635
|
`{ name, query }` for save, `{ queryId, query }` for load, and `{ queryId }` for delete.
|
|
15504
15636
|
Run validates before its request. Save veto preserves the draft name. Load requests frozen
|
|
15505
15637
|
`{ queryId, query }` before changing `value`, so veto preserves the current query; its accepted event
|
|
15506
15638
|
fires after the new value is applied. Delete remains controlled, so the host removes the accepted
|
|
15507
|
-
id from `savedQueries`.
|
|
15508
|
-
|
|
15509
|
-
|
|
15510
|
-
|
|
15511
|
-
`lr-query
|
|
15639
|
+
id from `savedQueries`. Each request also fires a **deprecated** `lr-before-query-run` /
|
|
15640
|
+
`lr-before-query-save` / `lr-before-query-load` / `lr-before-query-delete` alias immediately after
|
|
15641
|
+
its canonical `-request` counterpart, from the same gesture with the same frozen detail; either
|
|
15642
|
+
event may veto. The aliases are slated for removal in 21.0.0 — migrate listeners to the
|
|
15643
|
+
`lr-query-*-request` names. The full set is `lr-input`, `lr-validity-change`, `lr-invalid`, and
|
|
15644
|
+
those twelve phased action events (four requests, four deprecated aliases, four accepted
|
|
15645
|
+
notifications).
|
|
15646
|
+
|
|
15647
|
+
Migration note: veto save in `lr-query-save-request` (or its deprecated `lr-before-query-save`
|
|
15648
|
+
alias), not `lr-query-save`; the existing `lr-query-*` action events are accepted, non-cancelable
|
|
15649
|
+
notifications. **Slots:** `actions`,
|
|
15512
15650
|
`label`, `hint`, `error`. **CSS
|
|
15513
|
-
parts:** `base`, `label
|
|
15651
|
+
parts:** `base`, `form-control-label` (`label` remains as a compatibility alias on the same node),
|
|
15652
|
+
`hint`, `error` (the three form-control chrome parts every
|
|
15514
15653
|
form-associated control in this library exposes — see `lr-select`), `path-fields`, `start-input`,
|
|
15515
15654
|
`end-input`, `relationship-picker`, `relationship-chips`, `node-type-picker`, `node-type-chips`,
|
|
15516
15655
|
`direction`, `filter-group`, `min-hops`, `max-hops`, `footer`, `run-button`, `save-button`,
|
|
@@ -16838,7 +16977,9 @@ toggle button. Not emitted when a consumer assigns `fullscreen` directly), `lr-v
|
|
|
16838
16977
|
(cancelable; `detail: { viewId }` is the view proposed by a header view-toggle click. Call
|
|
16839
16978
|
`preventDefault()` to leave `activeViewId` unchanged. Not emitted when a consumer assigns
|
|
16840
16979
|
`activeViewId` directly), `lr-view-change` (non-cancelable; `detail: { viewId }`, the accepted
|
|
16841
|
-
active view's `viewId`.
|
|
16980
|
+
active view's `viewId`. Also emitted when a `views` reassignment drops the currently-active view,
|
|
16981
|
+
forcing a fallback to the first remaining view. Not emitted when a consumer sets `activeViewId`
|
|
16982
|
+
directly, even to a now-invalid id), and
|
|
16842
16983
|
`lr-activate` (non-cancelable; `detail: { value }` — note the key is `value`, not `viewId` — is the
|
|
16843
16984
|
activated view's `viewId`, fired on **every** accepted header view-toggle activation whether or not
|
|
16844
16985
|
`activeViewId` actually moved. `lr-view-request` stays the veto point, and a vetoed activation emits
|
|
@@ -16902,6 +17043,17 @@ rendering is unchanged.
|
|
|
16902
17043
|
_hover_ state, and the `:hover` rule wraps its selector in `:where()` so a consumer's own
|
|
16903
17044
|
`::part(view-toggle):hover` override wins without `!important`.
|
|
16904
17045
|
|
|
17046
|
+
`--lr-widget-collapse-button-hover-bg` (default `var(--lr-color-brand-quiet)`) and
|
|
17047
|
+
`--lr-widget-collapse-button-hover-color` (default `var(--lr-color-brand)`), plus
|
|
17048
|
+
`--lr-widget-fullscreen-button-hover-bg` (default `var(--lr-color-brand-quiet)`) and
|
|
17049
|
+
`--lr-widget-fullscreen-button-hover-color` (default `var(--lr-color-brand)`), are
|
|
17050
|
+
the same inline-`var()`-fallback shape for `[part="collapse-button"]` and `[part="fullscreen-button"]`
|
|
17051
|
+
respectively; each button's pressed fill mixes from its own `-hover-bg` token. Before these existed,
|
|
17052
|
+
both buttons read the library-wide `--lr-color-brand-quiet`/`--lr-color-brand` tokens directly, so a
|
|
17053
|
+
consumer retinting those tokens upstream to change only the view toggle's hover (the reason the
|
|
17054
|
+
view-toggle pair above exists) also silently repainted these two buttons; each now has its own scoped
|
|
17055
|
+
escape hatch, independent of the other and of the view toggle.
|
|
17056
|
+
|
|
16905
17057
|
**Optional peer deps:** none.
|
|
16906
17058
|
|
|
16907
17059
|
```html
|
|
@@ -17020,8 +17172,10 @@ retain their mapped opt-in defaults, and the autoplay interval remains 3000ms.
|
|
|
17020
17172
|
automatically
|
|
17021
17173
|
|
|
17022
17174
|
**Events:** `lr-slide-change` (`detail: { index, slide }`) — emitted after the active slide changes
|
|
17023
|
-
from a method, button, key, pagination item, autoplay tick, or settled user scroll.
|
|
17024
|
-
|
|
17175
|
+
from a method, button, key, pagination item, autoplay tick, or settled user scroll. Also emitted
|
|
17176
|
+
when a `slidesPerPage` change or a slide's removal forces the active index onto a different slide.
|
|
17177
|
+
Not emitted when a consumer sets `currentSlide` directly to an out-of-range value; that assignment
|
|
17178
|
+
is clamped silently. `slide` is the original assigned element at `index`, never a loop endcap.
|
|
17025
17179
|
|
|
17026
17180
|
**Paging and scrolling.** In non-loop mode the page count is the set of reachable starts from zero
|
|
17027
17181
|
to `slideCount - slidesPerPage`, stepping by `slidesPerMove` and always including the final start.
|
|
@@ -18130,6 +18284,8 @@ resolves.
|
|
|
18130
18284
|
|
|
18131
18285
|
- `--lr-segmented-track-gap` — Gap between segments. Default: `var(--lr-size-0-125rem)`.
|
|
18132
18286
|
- `--lr-segmented-track-radius` — Track corner radius. Default: `var(--lr-radius)`.
|
|
18287
|
+
- `--lr-segmented-segment-radius` — Each segment's own corner radius, independent of the track's.
|
|
18288
|
+
Default: `calc(var(--lr-form-control-radius) * 0.7)`.
|
|
18133
18289
|
- `--lr-segmented-track-padding` — Track inset padding. Default: `var(--lr-size-0-125rem)`.
|
|
18134
18290
|
- `--lr-segmented-track-bg` — Background of the `base` track. Undeclared by default (transparent),
|
|
18135
18291
|
matching its own current absence of a background.
|
|
@@ -19949,11 +20105,14 @@ no-op if already open),
|
|
|
19949
20105
|
cycling) at the ends; the active row is scrolled into view. Enter selects. Hovering a non-disabled
|
|
19950
20106
|
row also makes it active.
|
|
19951
20107
|
|
|
19952
|
-
**Events:** `lr-
|
|
20108
|
+
**Events:** `lr-show`, `lr-close` (both `detail: null`, cancelable — fired before the
|
|
19953
20109
|
mutation, `preventDefault()` keeps the palette in its current open state), `lr-select`
|
|
19954
20110
|
(`detail: { command }`, fired before the command's own `onSelect` runs and before the palette
|
|
19955
20111
|
closes), and no-detail `focus`/`blur` events re-dispatched from the host whenever the search input
|
|
19956
|
-
gains or loses focus.
|
|
20112
|
+
gains or loses focus. `lr-open` is a deprecated alias for `lr-show` (same `detail: null`,
|
|
20113
|
+
cancelability, and timing, fired at the same call site; either event's `preventDefault()` vetoes
|
|
20114
|
+
the open) kept for the 20.x line and removed no earlier than 21.0.0. The `focus`/`blur` bridge is
|
|
20115
|
+
new in 10.0.0: native `focus`/`blur` neither
|
|
19957
20116
|
bubble nor cross the shadow boundary, so a host-level `el.addEventListener('focus', …)` previously
|
|
19958
20117
|
never fired at all.
|
|
19959
20118
|
|
|
@@ -23674,10 +23833,14 @@ Tooltip motion resolves `tooltip.show` / `tooltip.hide` through the public anima
|
|
|
23674
23833
|
The same per-element/global precedence, RTL keyframe selection, token-timing fallback,
|
|
23675
23834
|
reduced-motion flattening, and null-disable lifecycle rules documented for `lr-popover` apply.
|
|
23676
23835
|
|
|
23677
|
-
**Slots:** both mapped shapes are supported
|
|
23678
|
-
|
|
23679
|
-
|
|
23680
|
-
|
|
23836
|
+
**Slots:** both mapped shapes are supported, plus a Lyra-original addition. `trigger` (the
|
|
23837
|
+
highest-priority interaction/ARIA owner, mirroring `<lr-popover>`'s own `trigger` slot) is not a
|
|
23838
|
+
Web Awesome shape: `wa-tooltip` has only its single unnamed default slot for tooltip content, and
|
|
23839
|
+
its own anchor mechanism is the `for` attribute plus the unrelated `trigger` activation-mode
|
|
23840
|
+
attribute documented above. Shoelace uses the default slot for the trigger and `slot="content"`
|
|
23841
|
+
(or the `content` property) for tooltip content. A named `trigger` slot always selects that shape;
|
|
23842
|
+
without one, an explicit content source (`slot="content"` or the `content` property) makes the
|
|
23843
|
+
default slot unambiguously the trigger, matching Shoelace.
|
|
23681
23844
|
|
|
23682
23845
|
**CSS parts:** `popup base tooltip base__popup` are aliases on the same wrapper; `trigger`; `body`;
|
|
23683
23846
|
and `arrow base__arrow` (rendered unless suppressed). The arrow also carries the resolved side —
|
|
@@ -23991,6 +24154,9 @@ presence-based, so an explicitly empty value remains empty rather than invoking
|
|
|
23991
24154
|
fallback, and the private `--_lr-progress-track-height` is the `size` property's own tier value,
|
|
23992
24155
|
`1rem` at the `m` default, unchanged),
|
|
23993
24156
|
`--lr-progress-track-color` (default `var(--lr-color-brand-quiet)`),
|
|
24157
|
+
`--lr-progress-track-radius` (default `var(--lr-radius-pill)`; `indicator`'s `border-radius:
|
|
24158
|
+
inherit` picks up the same value, so retuning the track retunes both without a
|
|
24159
|
+
`::part(track)`/`::part(indicator)` rule),
|
|
23994
24160
|
`--lr-progress-indicator-color` (default `var(--lr-progress-indicator-variant-color)`), and
|
|
23995
24161
|
`--lr-progress-label-color` (default `var(--lr-color-text)`). Upstream aliases are `--height` and
|
|
23996
24162
|
`--track-height`, plus `--track-color`, `--indicator-color`, and `--label-color`.
|
|
@@ -24884,7 +25050,10 @@ hover, `--lr-export-button-hover-background`, `--lr-export-button-hover-color` a
|
|
|
24884
25050
|
the current `appearance` resolves to and leaves the other paints alone, so they are also the way to
|
|
24885
25051
|
keep `appearance="outlined"` chrome while returning its label to neutral text — `outlined` paints
|
|
24886
25052
|
the label `--lr-color-brand` and, unlike `lr-button`, this component has no `variant` of its own to
|
|
24887
|
-
opt out. Before 18.4.0 none of these existed and the only lever was `::part(trigger)`.
|
|
25053
|
+
opt out. Before 18.4.0 none of these existed and the only lever was `::part(trigger)`.
|
|
25054
|
+
`--lr-export-button-gap` (default `var(--lr-space-xs)`, constant across the `size` ladder) and
|
|
25055
|
+
`--lr-export-button-radius` (default `var(--lr-radius)`) retune the trigger's icon/label gap and
|
|
25056
|
+
corner radius without a `::part(trigger)` rule. Plus shared
|
|
24888
25057
|
tokens, including `--lr-popover-viewport-clamp` (default `92vw`) — the shared narrow-viewport ceiling the `menu`'s max-inline-size is `min()`ed
|
|
24889
25058
|
against, alongside its own `20rem` cap and the positioner's available space. See `lr-tour` for the
|
|
24890
25059
|
shared-clamp note.
|
|
@@ -25750,13 +25919,16 @@ renders `open="false"` on first paint)
|
|
|
25750
25919
|
`--lr-color-brand-quiet` token, so a consumer can retheme just this highlighted/active row without
|
|
25751
25920
|
repainting every other component that reuses the same shared token.
|
|
25752
25921
|
`--lr-mention-popover-option-disabled-opacity` (default `0.5`) — opacity of a row whose `items`
|
|
25753
|
-
entry sets `disabled`.
|
|
25922
|
+
entry sets `disabled`. `--lr-mention-popover-option-active-color` (default `var(--lr-color-brand)`)
|
|
25923
|
+
— text color of the `aria-selected="true"` (keyboard-highlighted) suggestion row, independent of
|
|
25924
|
+
`--lr-mention-popover-option-active-bg`: the same component-scoped indirection over
|
|
25925
|
+
`--lr-color-brand`, applied to the row's own sibling text-color rule. Plus shared tokens —
|
|
25754
25926
|
`--lr-space-xs`/`-s`/`-m` (popup padding,
|
|
25755
25927
|
row padding/gap), `--lr-radius`
|
|
25756
25928
|
(row corners — the popup's own corner is the overlay family's, below),
|
|
25757
25929
|
`--lr-transition-fast` (open/close
|
|
25758
|
-
transition),
|
|
25759
|
-
|
|
25930
|
+
transition),
|
|
25931
|
+
`--lr-color-text-quiet`/`--lr-color-text` (description text, full-contrast on the active
|
|
25760
25932
|
row), and `--lr-popover-viewport-clamp` (default `92vw`) — the shared narrow-viewport ceiling the
|
|
25761
25933
|
popup's max-inline-size is `min()`ed against, alongside its own `24rem` cap and the positioner's
|
|
25762
25934
|
available space. See `lr-tour` for the shared-clamp note.
|
|
@@ -25890,6 +26062,14 @@ over an already-formatted string (`<lr-code-block>`'s `language="diff"` only lex
|
|
|
25890
26062
|
string the consumer already unified-diffed; it has no two-string-compare entry point of its own).
|
|
25891
26063
|
First-party invention (no Web Awesome equivalent).
|
|
25892
26064
|
|
|
26065
|
+
Adopts `DocumentAnchorTarget`: a `line-range` anchor's `start` (and, for `highlights`, the optional
|
|
26066
|
+
`end`) addresses the 0-based index into the rendered diff's own op sequence — not an old-file/
|
|
26067
|
+
new-file source line number, since those diverge on any insertion or deletion. `scrollToAnchor()`
|
|
26068
|
+
resolves it, and both it and search navigation transparently expand (and, for a `highlights` range,
|
|
26069
|
+
paint through) any `contextLines` fold currently hiding the target run instead of leaving it
|
|
26070
|
+
inaccessible behind a static marker. `search()` is a locale-aware case-insensitive substring match
|
|
26071
|
+
over each rendered line's own text, one match per line ordered by that same op index.
|
|
26072
|
+
|
|
25893
26073
|
**Properties:**
|
|
25894
26074
|
|
|
25895
26075
|
- `oldText: string = ''` (attribute: false) — the "before" text. Default `''` renders an
|
|
@@ -25917,6 +26097,8 @@ First-party invention (no Web Awesome equivalent).
|
|
|
25917
26097
|
side. Larger input renders the localized `diffViewTooLarge` fallback without computing or
|
|
25918
26098
|
highlighting the diff. `Infinity` relaxes this line-count ceiling, but the fixed aggregate
|
|
25919
26099
|
character and comparison-work ceilings remain in force.
|
|
26100
|
+
- `anchorKinds: readonly LyraAnchorKind[] = ['line-range']` (this viewer's supported
|
|
26101
|
+
`LyraAnchor.kind` values for the shared anchor-target contract).
|
|
25920
26102
|
|
|
25921
26103
|
Grammar entries are read from own enumerable data fields into a bounded frozen map. A getter,
|
|
25922
26104
|
unreadable field, non-enumerable field, or malformed proxy branch is skipped without preventing a
|
|
@@ -25924,6 +26106,13 @@ later valid grammar from being used; grammar values themselves remain opaque to
|
|
|
25924
26106
|
Non-enumerable names do not consume language slots, but every inspected name counts toward the
|
|
25925
26107
|
20,000 structural ceiling.
|
|
25926
26108
|
|
|
26109
|
+
**Methods:** `search(query)` resolves the match count via a case-insensitive substring match over
|
|
26110
|
+
each rendered line's own text, ordered by `line-range` op index (empty/whitespace query behaves like
|
|
26111
|
+
`clearSearch()`); `searchNext()`/`searchPrevious()` advance/step back through matches (wrapping,
|
|
26112
|
+
resolving `false` when there are none); `clearSearch()` clears the query, matches, and painted
|
|
26113
|
+
marks. `scrollToAnchor(target)` (inherited from `DocumentAnchorTarget`) resolves a `line-range`
|
|
26114
|
+
anchor or a `highlights` id string.
|
|
26115
|
+
|
|
25927
26116
|
**Events:**
|
|
25928
26117
|
|
|
25929
26118
|
- `lr-copy` (`detail: LyraClipboardWriteSuccess`, `{ ok: true; text: string }`) — the frozen full
|
|
@@ -25932,6 +26121,14 @@ Non-enumerable names do not consume language slots, but every inspected name cou
|
|
|
25932
26121
|
- `lr-copy-error` (`detail: LyraClipboardWriteFailure`) — the frozen failure outcome contains
|
|
25933
26122
|
`ok: false`, the text, a `LyraCopyErrorReason`, and the original error. The reason is
|
|
25934
26123
|
`'unsupported' | 'denied' | 'failed'`.
|
|
26124
|
+
- `lr-search-change` (`detail: { query, matchCount, matchCountExact, activeIndex }`) — from
|
|
26125
|
+
search/navigation/clear, and effective-locale re-evaluation. Search accepts at most 4,096 query
|
|
26126
|
+
code units, scans at most 4,000,000 line code units, and retains at most 10,000 matches;
|
|
26127
|
+
`matchCountExact=false` identifies a ceiling-truncated lower bound.
|
|
26128
|
+
- `lr-highlight-activate` (`detail: { highlightId }`) — a `highlights` entry's
|
|
26129
|
+
`[part="line-highlight-action"]` button was clicked or activated via Enter/Space.
|
|
26130
|
+
- `lr-anchor-result` (`detail: { found }`) — fired after an `anchor` assignment or a
|
|
26131
|
+
`scrollToAnchor()` call.
|
|
25935
26132
|
|
|
25936
26133
|
The copy button stays in its resting state until `writeText()` resolves. Success renders and
|
|
25937
26134
|
announces localized `copied`; failure renders and announces localized `copyFailed`. A newer
|
|
@@ -25943,13 +26140,29 @@ retires an older pending outcome, so stale writes cannot confirm or fail a hidde
|
|
|
25943
26140
|
**CSS parts:** `base` (the root wrapper), `line` (a single line; carries
|
|
25944
26141
|
`data-type="equal"|"add"|"remove"|"empty"|"fold"` — `"empty"` is an unbalanced-replace placeholder cell in
|
|
25945
26142
|
`layout="split"` and never carries a `+`/`-` prefix; `"fold"` is the localized unchanged-lines
|
|
25946
|
-
marker
|
|
25947
|
-
|
|
25948
|
-
`
|
|
26143
|
+
marker — plus `data-match`/`data-active-match` while a search result covers it, and
|
|
26144
|
+
`data-highlight` (the resolved tone, default `accent`) with `data-active-highlight` while a
|
|
26145
|
+
`highlights` entry covers it), `line-highlight-action` (the focusable button a resolved
|
|
26146
|
+
`highlights` entry adds to the line it first covers; emits `lr-highlight-activate`), `copy-button`
|
|
26147
|
+
(the copy affordance, only rendered while `copyable`), `limit` (the localized over-`maxLines`
|
|
26148
|
+
fallback), `side` (one column in `layout="split"`, `data-side="old"|"new"`), `anchor-live-region`
|
|
26149
|
+
(an aria-hidden, non-live shadow mirror of the latest anchor-jump message; the spoken copy is
|
|
26150
|
+
appended to the shared document-level polite sink only while the viewer and its composed ancestors
|
|
26151
|
+
are exposed to the accessibility tree).
|
|
25949
26152
|
|
|
25950
26153
|
**Themeable custom properties:** `--lr-diff-view-max-height` (default `none` — an independently
|
|
25951
26154
|
settable scroll cap on `[part="base"]`; the `maxHeight` property writes the same custom property
|
|
25952
|
-
inline on `[part="base"]`), `--lr-diff-view-font` (default `var(--lr-font-mono)`),
|
|
26155
|
+
inline on `[part="base"]`), `--lr-diff-view-font` (default `var(--lr-font-mono)`),
|
|
26156
|
+
`--lr-diff-view-match-color`/`--lr-diff-view-active-match-color` (default
|
|
26157
|
+
`var(--lr-color-warning)` for both — outline of a line carrying a non-active/active search match),
|
|
26158
|
+
`--lr-diff-view-highlight-accent-background` (default `var(--lr-color-brand-quiet)`),
|
|
26159
|
+
`--lr-diff-view-highlight-success-background` (default `var(--lr-color-success-quiet)`),
|
|
26160
|
+
`--lr-diff-view-highlight-warning-background` (default `var(--lr-color-warning-quiet)`),
|
|
26161
|
+
`--lr-diff-view-highlight-danger-background` (default `var(--lr-color-danger-quiet)`), and
|
|
26162
|
+
`--lr-diff-view-highlight-neutral-background` (default `var(--lr-color-surface-raised)`) —
|
|
26163
|
+
background of a `highlights` line by tone,
|
|
26164
|
+
`--lr-diff-view-highlight-active-outline` (default `var(--lr-color-brand)` — outline of the line
|
|
26165
|
+
whose covering highlight is `activeHighlightId`), plus
|
|
25953
26166
|
shared tokens `--lr-color-border`/`-surface`/`-success`/`-success-quiet`/`-danger`/
|
|
25954
26167
|
`-danger-quiet`/`-text`, `--lr-radius`, `--lr-space-xs`/`-s`, `--lr-font-size-sm`,
|
|
25955
26168
|
`--lr-line-height-snug`, `--lr-focus-ring-*`.
|
|
@@ -27689,10 +27902,12 @@ large collection is invisible until someone walks the data by hand. Both `chorop
|
|
|
27689
27902
|
reduced figure in the feature — a log, a bucket, an index — and keep the exact value in your own
|
|
27690
27903
|
payload beside the map.
|
|
27691
27904
|
|
|
27692
|
-
- `label
|
|
27905
|
+
- `label?: string` — purpose-specific accessible name for MapLibre's actual focusable canvas.
|
|
27693
27906
|
A nonempty host `aria-label` remains on the host and is not duplicated onto the canvas; the canvas
|
|
27694
|
-
uses `label` or the localized map name.
|
|
27695
|
-
empty
|
|
27907
|
+
uses `label` or the localized map name. Omitting `label` localizes the default `map` message; an
|
|
27908
|
+
explicit empty string suppresses that default and renders an empty canvas name. An explicitly
|
|
27909
|
+
empty host `aria-label` is separately preserved as an empty canvas name. The non-semantic
|
|
27910
|
+
`[part="base"]` wrapper is not named instead.
|
|
27696
27911
|
|
|
27697
27912
|
**Authoring types:** `LyraMapLegendEntry`, `LyraMapLegendPattern`, `LyraMapLegendProjection`, `LyraMapChoroplethLayer`,
|
|
27698
27913
|
`LyraMapGeoJsonDataLayer`, `LyraMapDataLayerKind`, `LyraMapClusterOptions`, `LyraMapHeatmapOptions`,
|
|
@@ -28012,6 +28227,9 @@ reimplemented.
|
|
|
28012
28227
|
behavior exactly, and a negative, `NaN`, or `Infinity` override is normalized to `0` via
|
|
28013
28228
|
`finiteCount` rather than corrupting every later comparison.
|
|
28014
28229
|
- `readonly dragging: boolean` — `true` during an active drag session
|
|
28230
|
+
- `size: LyraSize = 'm'` (reflected) — density tier for the overlay's padding, icon and
|
|
28231
|
+
instructional text; identical contract and scale to `lr-file-input`'s own `size`, so a drop-zone
|
|
28232
|
+
can match a neighboring compact `lr-file-input` in the same dense layout.
|
|
28015
28233
|
|
|
28016
28234
|
**Events:** `lr-files` (`detail: LyraDropZoneFilesDetail`, with fresh frozen readonly `files` and
|
|
28017
28235
|
`rejected` arrays and frozen rejected-file records, plus `remainingFiles`/`remainingTotalSize`
|
|
@@ -28038,8 +28256,9 @@ while one exists).
|
|
|
28038
28256
|
`--lr-drop-zone-overlay-border-color` (default `var(--lr-color-brand)`, the dashed overlay border in
|
|
28039
28257
|
its neutral drag state, before an accept/reject verdict) and `--lr-drop-zone-overlay-bg` (default
|
|
28040
28258
|
`color-mix(in srgb, var(--lr-color-brand) 8%, transparent)`, that same neutral state's fill),
|
|
28041
|
-
`--lr-drop-zone-overlay-font-size` (default `var(--lr-font-size-md-sm)`),
|
|
28042
|
-
`--lr-drop-zone-overlay-icon-size` (default `var(--lr-font-size-xl)`),
|
|
28259
|
+
`--lr-drop-zone-overlay-font-size` (default `var(--lr-font-size-md-sm)`, retuned per `size` tier),
|
|
28260
|
+
`--lr-drop-zone-overlay-icon-size` (default `var(--lr-font-size-xl)`, retuned per `size` tier),
|
|
28261
|
+
`--lr-drop-zone-overlay-padding` (default `var(--lr-space-l)`, retuned per `size` tier),
|
|
28043
28262
|
`--lr-drop-zone-overlay-gap` (default `var(--lr-space-xs)`), and the drag accept/reject highlight —
|
|
28044
28263
|
`--lr-drop-zone-accept-border-color`/`--lr-drop-zone-accept-bg` (defaults `var(--lr-color-success)`/
|
|
28045
28264
|
`color-mix(in srgb, var(--lr-color-success) 12%, transparent)`) and
|
|
@@ -29225,7 +29444,11 @@ private default changes for a non-neutral `variant` to that variant's loud color
|
|
|
29225
29444
|
and of any `em`-sized slotted glyph. Its private default follows `size` alongside the diameter
|
|
29226
29445
|
(`--lr-font-size-xs` at `2xs`, `--lr-font-size-sm` at `xs`, `--lr-font-size-md-sm` at `s`,
|
|
29227
29446
|
`--lr-font-size-m` at `m`, `--lr-font-size-lg` at `l`, and `--lr-font-size-xl` at `xl`), so the
|
|
29228
|
-
initials track the circle instead of staying one fixed size across every tier.
|
|
29447
|
+
initials track the circle instead of staying one fixed size across every tier. `--lr-avatar-radius`
|
|
29448
|
+
(default `var(--lr-radius-pill)`) — corner radius of the container. Its private default follows
|
|
29449
|
+
`shape` (`var(--lr-radius-pill)` for `circle`, `var(--lr-radius)` for `rounded`, `0` for `square`);
|
|
29450
|
+
an inherited or direct public value overrides uniformly across every shape, the same way
|
|
29451
|
+
`--lr-avatar-size` spans every size tier. Every public value
|
|
29229
29452
|
above can be inherited from an ancestor or set directly on the avatar and remains authoritative
|
|
29230
29453
|
across size/variant states. Plus shared tokens
|
|
29231
29454
|
`--lr-radius`/`-pill`, `--lr-font-weight-semibold`.
|
|
@@ -29500,11 +29723,18 @@ that follows `variant`),
|
|
|
29500
29723
|
badge label. Its private default follows `size` alongside the badge diameter, matching
|
|
29501
29724
|
`<lr-avatar>`'s own `--lr-avatar-font-size` scale (`xs`/`sm`/`md-sm`/`m`/`lg`/`xl` font tokens from
|
|
29502
29725
|
the `2xs` through `xl` size tiers), so the badge and the avatars it caps read at the same optical
|
|
29503
|
-
weight.
|
|
29504
|
-
|
|
29505
|
-
|
|
29506
|
-
|
|
29507
|
-
|
|
29726
|
+
weight. `--lr-avatar-group-radius` (default `var(--lr-radius-pill)`) — corner radius of the
|
|
29727
|
+
slotted avatars' ring and of the overflow badge's painted disc. Its private default follows
|
|
29728
|
+
`shape` (`var(--lr-radius-pill)` for `circle`, `var(--lr-radius)` for `rounded`, `0` for `square`);
|
|
29729
|
+
an inherited or direct public value overrides both uniformly, mirroring `<lr-avatar>`'s own
|
|
29730
|
+
`--lr-avatar-radius` — a per-avatar `shape` override still wins for that individual avatar's own
|
|
29731
|
+
ring, matching the existing mixed-shape-group support. An inherited or direct public value remains
|
|
29732
|
+
authoritative for every hook.
|
|
29733
|
+
|
|
29734
|
+
The overflow badge keeps a `--lr-icon-button-size` minimum activation target at every tier — a
|
|
29735
|
+
floor, not a cap, so the action surface grows past it to always contain the nested visual disc
|
|
29736
|
+
once `--lr-avatar-group-avatar-size` exceeds it (the default size and `l`/`xl`) — while small
|
|
29737
|
+
tiers still paint an exactly avatar-sized disc instead of an oversized 40px circle.
|
|
29508
29738
|
|
|
29509
29739
|
**Optional peer deps:** none.
|
|
29510
29740
|
|
|
@@ -30115,11 +30345,13 @@ convenience; every enabled row is independently reachable through ordinary seque
|
|
|
30115
30345
|
native `FocusEvent`s (bubbling and composed, preserving `relatedTarget`).
|
|
30116
30346
|
`lr-video-change` is bubbling and composed but non-cancelable, with exact
|
|
30117
30347
|
detail `{ previousIndex, currentIndex, video }`. `video` is a fresh detached, recursively frozen plain-data snapshot with
|
|
30118
|
-
exact shape `{ title, poster, sources, tracks }`, not the live child element
|
|
30119
|
-
fresh `{ src, type, media }` records for the child's direct `src` and `<source>`
|
|
30120
|
-
`tracks` contains fresh `{ src, kind, srclang, label, default }` records. A listener
|
|
30121
|
-
annotate or reshape the payload must create its own mutable copy; the dispatched
|
|
30122
|
-
nested record/array reject mutation.
|
|
30348
|
+
exact shape `{ title, poster, sources, tracks }`, not the live child element, or `null`. `sources`
|
|
30349
|
+
contains fresh `{ src, type, media }` records for the child's direct `src` and `<source>`
|
|
30350
|
+
declarations; `tracks` contains fresh `{ src, kind, srclang, label, default }` records. A listener
|
|
30351
|
+
that needs to annotate or reshape the payload must create its own mutable copy; the dispatched
|
|
30352
|
+
detail and every nested record/array reject mutation. Also fired when a light-DOM mutation (a video
|
|
30353
|
+
removed, or every remaining video made `inert`/disabled) leaves no enabled video to replace a
|
|
30354
|
+
previously active one: `video` is `null` and `currentIndex` is `-1` in that case.
|
|
30123
30355
|
|
|
30124
30356
|
**Slot:** the default slot accepts direct `<lr-video>` children. Nested videos and other elements
|
|
30125
30357
|
are not playlist items.
|
|
@@ -30646,7 +30878,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
30646
30878
|
`LyraVideoPlaylistChangeDetail {
|
|
30647
30879
|
readonly previousIndex: number;
|
|
30648
30880
|
readonly currentIndex: number;
|
|
30649
|
-
readonly video: LyraVideoPlaylistVideo;
|
|
30881
|
+
readonly video: LyraVideoPlaylistVideo | null;
|
|
30650
30882
|
}`
|
|
30651
30883
|
Import: `@aceshooting/lyra-ui/components/media/video-playlist/video-playlist.class.js`.
|
|
30652
30884
|
`LyraVideoPlaylistItem {
|
|
@@ -31096,17 +31328,24 @@ including a string or finite-number `id` when supplied; invalid ids are omitted.
|
|
|
31096
31328
|
is typed `unknown`. Validate or explicitly narrow the value itself before reading point fields;
|
|
31097
31329
|
checking `detail.kind === 'point'` alone does not narrow `detail.value` in TypeScript.
|
|
31098
31330
|
`lr-point-click` remains as a compatibility event. Also
|
|
31099
|
-
`lr-
|
|
31331
|
+
`lr-legend-visibility-change-request` (cancelable proposal), and
|
|
31100
31332
|
`lr-legend-visibility-change` (accepted commit). Both legend events carry
|
|
31101
31333
|
`{ datasetIndex: number, visible: boolean, hiddenDatasets: readonly number[] }`; the latter is the
|
|
31102
31334
|
complete, sorted, valid next snapshot. Call `preventDefault()` on the proposal to veto the toggle;
|
|
31103
|
-
then no property change or commit event occurs.
|
|
31104
|
-
|
|
31335
|
+
then no property change or commit event occurs. `lr-before-legend-visibility-change` is a
|
|
31336
|
+
**deprecated** alias of `lr-legend-visibility-change-request`, fired immediately after it from the
|
|
31337
|
+
same gesture with the same frozen detail; either event may veto. It is slated for removal in
|
|
31338
|
+
21.0.0 — migrate listeners to `lr-legend-visibility-change-request`.
|
|
31339
|
+
Category toggles use a separate pair, `lr-datum-visibility-change-request` (cancelable proposal) and
|
|
31105
31340
|
`lr-datum-visibility-change` (accepted commit), carrying
|
|
31106
31341
|
`{ index: number, visible: boolean, hiddenDatums: readonly number[] }`. Both details and their
|
|
31107
31342
|
complete, sorted index snapshots are frozen. `index` is the source category index, including when
|
|
31108
31343
|
the displayed data is sampled; it applies across all rings. Programmatic assignments emit neither
|
|
31109
31344
|
pair. `preventDefault()` leaves both controlled state and the chart unchanged.
|
|
31345
|
+
`lr-before-datum-visibility-change` is a **deprecated** alias of
|
|
31346
|
+
`lr-datum-visibility-change-request`, fired immediately after it from the same gesture with the
|
|
31347
|
+
same frozen detail; either event may veto. It is slated for removal in 21.0.0 — migrate listeners
|
|
31348
|
+
to `lr-datum-visibility-change-request`.
|
|
31110
31349
|
|
|
31111
31350
|
```html
|
|
31112
31351
|
<lr-doughnut-chart
|
|
@@ -31654,11 +31893,14 @@ of every entry in these lists.**
|
|
|
31654
31893
|
`refreshTheme()`.
|
|
31655
31894
|
|
|
31656
31895
|
**Events:** `lr-zoom` (`detail: { zoomed: boolean }`), `lr-datum-activate`, `lr-point-click` (`detail: { datasetIndex,
|
|
31657
|
-
index, label, value }`), `lr-
|
|
31896
|
+
index, label, value }`), `lr-legend-visibility-change-request` (cancelable), and
|
|
31658
31897
|
`lr-legend-visibility-change` (commit; both legend events carry `datasetIndex`, `visible`, and the
|
|
31659
|
-
complete `hiddenDatasets` snapshot).
|
|
31660
|
-
|
|
31898
|
+
complete `hiddenDatasets` snapshot). `lr-before-legend-visibility-change` is a **deprecated** alias
|
|
31899
|
+
of `lr-legend-visibility-change-request` (removal not before 21.0.0).
|
|
31900
|
+
Radial category legends additionally emit `lr-datum-visibility-change-request` (cancelable) and
|
|
31661
31901
|
`lr-datum-visibility-change`, carrying `index`, `visible` and the frozen `hiddenDatums` snapshot.
|
|
31902
|
+
`lr-before-datum-visibility-change` is a **deprecated** alias of `lr-datum-visibility-change-request`
|
|
31903
|
+
(removal not before 21.0.0).
|
|
31662
31904
|
|
|
31663
31905
|
**Slots:** default JSON configuration script, `data-table`, `center`.
|
|
31664
31906
|
|
|
@@ -31742,10 +31984,12 @@ maxSamples?)` appends finite raw samples and optionally retains only the newest
|
|
|
31742
31984
|
`appendData()` remains a working compatibility adapter (no longer deprecated); prefer
|
|
31743
31985
|
`appendSamples()` for new code.
|
|
31744
31986
|
|
|
31745
|
-
**Events:** `lr-zoom`, `lr-datum-activate`, `lr-point-click`, `lr-
|
|
31746
|
-
(cancelable), `lr-datum-visibility-change`, `lr-
|
|
31987
|
+
**Events:** `lr-zoom`, `lr-datum-activate`, `lr-point-click`, `lr-datum-visibility-change-request`
|
|
31988
|
+
(cancelable), `lr-datum-visibility-change`, `lr-legend-visibility-change-request` (cancelable), and
|
|
31747
31989
|
`lr-legend-visibility-change` — inherited; `lr-point-click`'s `index` is the bucket index and
|
|
31748
31990
|
`label` the generated bucket range string (`"lo–hi"`, both bounds at one decimal place).
|
|
31991
|
+
`lr-before-datum-visibility-change`/`lr-before-legend-visibility-change` are deprecated aliases of
|
|
31992
|
+
the two `*-request` events above (removal not before 21.0.0).
|
|
31749
31993
|
The inherited datum-visibility events apply only to radial controllers; the histogram keeps its
|
|
31750
31994
|
bar controller and dataset legend even with `legend-mode="datum"`.
|
|
31751
31995
|
|
|
@@ -31838,6 +32082,7 @@ apply when the component reconnects.
|
|
|
31838
32082
|
- `height: string = '280px'` — valid CSS height used as a private fallback only. A consumer-set
|
|
31839
32083
|
`--lr-chart-height` always wins; invalid values remove the fallback and leave the public
|
|
31840
32084
|
token/default in control.
|
|
32085
|
+
- `xLabel: string = ''` (attribute `x-label`) — category axis title, mirroring `yLabel`
|
|
31841
32086
|
- `yLabel: string = ''` (attribute `y-label`)
|
|
31842
32087
|
- `beginAtZero: boolean = true` (attribute `begin-at-zero`)
|
|
31843
32088
|
- `label: string | null = null`, `description: string | null = null` — canonical accessible name
|
|
@@ -31867,11 +32112,14 @@ change. Canvas work remains connected/visible-gated, while a rendered DOM legend
|
|
|
31867
32112
|
its computed color swatches.
|
|
31868
32113
|
|
|
31869
32114
|
**Events:** `lr-datum-activate` (canonical detail with `kind: 'box'`), `lr-point-click`
|
|
31870
|
-
(compatibility), `lr-
|
|
32115
|
+
(compatibility), `lr-legend-visibility-change-request` (cancelable proposed legend
|
|
31871
32116
|
toggle) and `lr-legend-visibility-change` (accepted commit). The two legend events carry
|
|
31872
32117
|
`{ datasetIndex: number, visible: boolean, hiddenDatasets: readonly number[] }`, where
|
|
31873
32118
|
`hiddenDatasets` is the complete sorted, valid next snapshot. Calling `preventDefault()` on the
|
|
31874
32119
|
proposal leaves state untouched and suppresses the commit event.
|
|
32120
|
+
`lr-before-legend-visibility-change` is a **deprecated** alias of
|
|
32121
|
+
`lr-legend-visibility-change-request`, fired immediately after it from the same gesture with the
|
|
32122
|
+
same detail; either event may veto (removal not before 21.0.0).
|
|
31875
32123
|
|
|
31876
32124
|
`lr-point-click` fires when pointer input lands on a box, or when Enter/Space activates the
|
|
31877
32125
|
keyboard-current box — the same event name and role `lr-chart` and `lr-lite-chart` expose. Its
|
|
@@ -32998,7 +33246,14 @@ complete entry path; both forms first mount the absolute virtualized row and onl
|
|
|
32998
33246
|
shared DOM-level anchor resolution. Rendered rows intentionally do not expose entry paths as DOM
|
|
32999
33247
|
ids; the fragment mapping is resolved against archive metadata. A jump whose archive is replaced
|
|
33000
33248
|
by a concurrent `src` reassignment mid-flight, or whose row cannot be located after the wait,
|
|
33001
|
-
reports `found: false` rather than a phantom success.
|
|
33249
|
+
reports `found: false` rather than a phantom success. A ZIP central directory may legally repeat
|
|
33250
|
+
an entry path across multiple entries; since a fragment id names only the path, it always
|
|
33251
|
+
resolves to that path's first central-directory occurrence (the same first-match precedent as
|
|
33252
|
+
`document.getElementById()`/`:target` for a duplicated DOM id) — a later duplicate is not
|
|
33253
|
+
independently addressable through the fragment/anchor API. `search()`/`searchNext()`/
|
|
33254
|
+
`searchPrevious()` are unaffected: they track each occurrence by its true row position, so
|
|
33255
|
+
navigating search matches (and the resulting active-row highlight) correctly reaches every
|
|
33256
|
+
duplicate-named entry, not just the first.
|
|
33002
33257
|
|
|
33003
33258
|
**Events:** `lr-render-error` with `detail.error` when fetching or parsing fails;
|
|
33004
33259
|
`lr-search-change` (`detail: { query, matchCount, matchCountExact, activeIndex }`) from search,
|
|
@@ -34458,7 +34713,11 @@ unbroken values from widening a 320px allocation.
|
|
|
34458
34713
|
|
|
34459
34714
|
**Properties:** `src: string = ''` — URL to fetch and parse. `name: string = ''` — accessible label,
|
|
34460
34715
|
used as `<lr-map>`'s `label` and the root's `aria-label` (falling back to the localized
|
|
34461
|
-
`geojsonViewLabel` when unset). A host `aria-label` takes precedence over `name`.
|
|
34716
|
+
`geojsonViewLabel` when unset). A host `aria-label` takes precedence over `name`.
|
|
34717
|
+
`maxHeight: string = ''` (attribute `max-height`) is a CSS length that caps `[part="base"]` —
|
|
34718
|
+
covering the loaded map, the serialized metadata, and the missing-peer fallback alike — by writing
|
|
34719
|
+
`--lr-geojson-viewer-max-height` inline on it; invalid CSS `max-height` values, declaration breaks,
|
|
34720
|
+
and `url()` are ignored. The shared
|
|
34462
34721
|
text-viewer contract adds `highlights`, `activeHighlightId`, `anchor`, and
|
|
34463
34722
|
`anchorKinds` (`['text-quote', 'fragment']`), plus `search()`, `searchNext()`, `searchPrevious()`,
|
|
34464
34723
|
`clearSearch()`, and `scrollToAnchor()` for the ordinary-DOM serialized feature metadata and status
|
|
@@ -34500,6 +34759,10 @@ body text: `error` is `--lr-color-danger` (matching `lr-docx-viewer`/`lr-email-v
|
|
|
34500
34759
|
but working state, since the `lr-json-viewer` fallback below it still renders the data, not a failure
|
|
34501
34760
|
-- and `status` is the quiet `--lr-color-text-quiet` metadata tone.
|
|
34502
34761
|
|
|
34762
|
+
**Themeable custom properties:** `--lr-geojson-viewer-max-height` (default `none`) — maximum block
|
|
34763
|
+
size of `[part="base"]`, matching every other viewer in this family. It is also settable via the
|
|
34764
|
+
`maxHeight` property, which writes this token inline on `[part="base"]`.
|
|
34765
|
+
|
|
34503
34766
|
The canonical tag is registered by importing `geojson-viewer/geojson-viewer.js`; the permanent
|
|
34504
34767
|
compatibility tag and old deep route remain available through `geojson-view/geojson-view.js`.
|
|
34505
34768
|
Remote
|
|
@@ -37341,7 +37604,9 @@ hosts that already have one (e.g. `lr-push-to-talk`'s `lr-level` detail); `state
|
|
|
37341
37604
|
animation and per-state coloring; `mode: AudioVisualizerMode = 'bars'` (`'bars' | 'waveform'`,
|
|
37342
37605
|
reflected); `barCount: number = 5` (attribute `bar-count`, normalized to an integer in `[1, 64]`);
|
|
37343
37606
|
`gain: number = 1` — multiplier applied to the resolved amplitude, with a non-finite value treated
|
|
37344
|
-
as `1`; `label
|
|
37607
|
+
as `1`; `label?: string` — accessible-name override. Omitting it auto-generates "Voice activity:
|
|
37608
|
+
{state}"; an explicit empty string suppresses that default and renders an empty accessible name.
|
|
37609
|
+
`level` is clamped to `[0, 1]`; after gain,
|
|
37345
37610
|
waveform and bar values are clamped to `[-1, 1]` and `[0, 1]` respectively. Invalid `state` or
|
|
37346
37611
|
`mode` attribute/property writes normalize to `idle` and `bars` respectively.
|
|
37347
37612
|
|
|
@@ -37379,7 +37644,9 @@ the new `index` back. Renders nothing at all while `count < 2`, so a host can bi
|
|
|
37379
37644
|
on every message regardless of whether that message actually has multiple branches yet.
|
|
37380
37645
|
|
|
37381
37646
|
**Properties:** `index: number = 0` (reflected) and `count: number = 1` (reflected) — the current
|
|
37382
|
-
0-based branch and the total branch count. `label
|
|
37647
|
+
0-based branch and the total branch count. `label?: string` — accessible name for the group.
|
|
37648
|
+
Omitting it localizes the default `branchPickerLabel` message; an explicit empty string suppresses
|
|
37649
|
+
that default and renders no label.
|
|
37383
37650
|
|
|
37384
37651
|
**Methods:** `focus(options?)` forwards to the currently enabled chevron (falling back to the first
|
|
37385
37652
|
rendered chevron), `blur()` blurs both chevrons, `click()` activates that same enabled target, and
|
|
@@ -37428,7 +37695,9 @@ opens). `feedbackPending: boolean` (read-only, nonreflecting) — true only whil
|
|
|
37428
37695
|
feedback control awaits settlement; it has no `feedback-pending` attribute or change event.
|
|
37429
37696
|
`revealOnInteraction: boolean = false` (reflected, attribute `reveal-on-interaction`) — hides
|
|
37430
37697
|
the bar until the closest `lr-chat-message` ancestor is hovered, or the toolbar contains focus.
|
|
37431
|
-
`label
|
|
37698
|
+
`label?: string` — accessible name override for the toolbar. Omitting it localizes the default
|
|
37699
|
+
`messageActionsLabel` message; an explicit empty string suppresses that default and renders no
|
|
37700
|
+
label. `accessibleLabel: string | null =
|
|
37432
37701
|
null` (attribute `aria-label`) — overrides the toolbar's computed accessible name, winning over
|
|
37433
37702
|
`label` and the localized default; attribute-reflects from a host-level `aria-label`.
|
|
37434
37703
|
|
|
@@ -37740,8 +38009,9 @@ index of the first unread item (element-child index in slotted mode, `items` ind
|
|
|
37740
38009
|
'off'` (reflected) — policy for the shared light-DOM announcement sink; the internal log itself
|
|
37741
38010
|
remains non-live. Keep `off` for token-by-token streaming and opt in only when complete messages are
|
|
37742
38011
|
appended as direct children at an announcement-safe cadence.
|
|
37743
|
-
`label
|
|
37744
|
-
for the log region
|
|
38012
|
+
`label?: string` — accessible name
|
|
38013
|
+
for the log region. Omitting it localizes the default `chatViewportLabel` message; an explicit
|
|
38014
|
+
empty string suppresses that default and renders no label. `accessibleLabel: string | null =
|
|
37745
38015
|
null` (attribute `aria-label`) — host `aria-label`, forwarded to the internal `role="log"` element
|
|
37746
38016
|
(an `aria-label` left on the host itself names nothing, since the log role lives inside the shadow
|
|
37747
38017
|
root); wins over `label` and the localized default.
|
|
@@ -38490,8 +38760,10 @@ custom-value editor: they do not navigate options, commit a selection or custom
|
|
|
38490
38760
|
popup. Ordinary keyboard behavior resumes after composition.
|
|
38491
38761
|
|
|
38492
38762
|
**Exported types:** `LyraVoiceCatalogEntry extends LyraCatalogEntry { language?: string;
|
|
38493
|
-
description?: string; previewUrl?: string }` — `language`/`description` render as a
|
|
38494
|
-
`[part="option-meta"]` second line
|
|
38763
|
+
description?: string; previewUrl?: string; icon?: string }` — `language`/`description` render as a
|
|
38764
|
+
quiet `[part="option-meta"]` second line; `icon` is an optional literal icon hint (for example, an
|
|
38765
|
+
emoji), rendered decoratively as the leading `[part="option-icon"]`, matching
|
|
38766
|
+
`lr-model-select`'s identical `LyraModelCatalogEntry.icon` field. Voice catalogs use the shared
|
|
38495
38767
|
`LyraCatalog<LyraVoiceCatalogEntry>` homogeneous readonly union documented under `lr-model-select`,
|
|
38496
38768
|
including the shared `disabled` field: a disabled voice row cannot be selected by click or keyboard
|
|
38497
38769
|
and is stepped over by arrow-key/Home/End navigation, but its own `[part="option-preview"]` stays
|
|
@@ -38582,7 +38854,8 @@ reports no violation and publishes neither `:state(invalid)` nor
|
|
|
38582
38854
|
`:state(user-invalid)`.
|
|
38583
38855
|
|
|
38584
38856
|
**CSS parts:** `form-control` (the complete field frame), `form-control-label`, `trigger` (closed-dropdown mode), `combobox`/`combobox-input`
|
|
38585
|
-
(free-text mode), `provider-badge`, `listbox`, `option`, `option-
|
|
38857
|
+
(free-text mode), `provider-badge`, `listbox`, `option`, `option-icon` (an object-shaped catalog
|
|
38858
|
+
row's optional decorative leading icon), `option-label`, `option-meta` (the quiet
|
|
38586
38859
|
`language · description` second line), `option-badge` (the "not in catalog" badge on a synthetic
|
|
38587
38860
|
stale-value row), `option-preview` (a pointer-only per-row preview icon, `tabindex="-1"`,
|
|
38588
38861
|
`aria-hidden`), `preview-button` (the standalone, keyboard-reachable preview toggle beside the
|
|
@@ -38816,8 +39089,14 @@ are still derived from the full sequence first, in the same linear prepass, so a
|
|
|
38816
39089
|
stays stable even once an earlier citation rolls out of the rendered window. Opt in for a message
|
|
38817
39090
|
that can grow an unusually large number of interleaved parts (e.g. a long agentic run with many
|
|
38818
39091
|
tool-call/tool-result pairs), where unbounded live DOM can visibly stall the main thread.
|
|
38819
|
-
`renderPart?: MessagePartRenderer` (attribute: false)
|
|
38820
|
-
|
|
39092
|
+
`renderPart?: MessagePartRenderer` (attribute: false) — returning `undefined` for a part delegates
|
|
39093
|
+
it to the built-in renderer, keeping every built-in affordance intact; any other return fully
|
|
39094
|
+
replaces that part's built-in rendering, including every interactive affordance the built-in
|
|
39095
|
+
renderer would otherwise wire up for it (the `error` part's retry button's `lr-part-retry`, a
|
|
39096
|
+
`citation` part's activation `lr-citation-select`, and the composed `<lr-tool-call-chip>`/
|
|
39097
|
+
`<lr-tool-result-view>`/`<lr-attachment-chip>`/`<lr-widget-renderer>` children's own events) — a
|
|
39098
|
+
host overriding an interactive part type must reimplement whatever of that interaction it still
|
|
39099
|
+
wants; `accessibleLabel: string | null = null` (attribute `aria-label`).
|
|
38821
39100
|
|
|
38822
39101
|
Unsupported direct or `content-mode` attribute values normalize and reflect as `markdown`.
|
|
38823
39102
|
|
|
@@ -38910,7 +39189,10 @@ LyraAttachmentCapability[] = ['files', 'image', 'audio']`, `mentionItems: readon
|
|
|
38910
39189
|
`voiceCatalog?: LyraCatalog<LyraVoiceCatalogEntry>`,
|
|
38911
39190
|
`sources: readonly LyraSourceEntry[] = []`, `selectedSourceIds: readonly string[] = []`, and `queue:
|
|
38912
39191
|
readonly PromptQueueItem[] = []` (all attribute: false); `model: string = ''`; `voice: string = ''`;
|
|
38913
|
-
`label
|
|
39192
|
+
`label?: string` — accessible name for the prompt section. Omitting it localizes the default
|
|
39193
|
+
`promptInputLabel` message; an explicit empty string suppresses that default and renders no label.
|
|
39194
|
+
`accessibleLabel: string | null = null` (attribute `aria-label`) — wins over `label` and the
|
|
39195
|
+
localized default.
|
|
38914
39196
|
Source roots and queued prompts require unique nonblank `id` values; malformed rows and later
|
|
38915
39197
|
duplicates are omitted first-wins before section gating and child forwarding. Controlled selected
|
|
38916
39198
|
source ids use the same unique nonblank projection.
|
|
@@ -38980,13 +39262,16 @@ receives focus. Removing an unfocused row does not move focus.
|
|
|
38980
39262
|
|
|
38981
39263
|
**Properties:** `items: readonly PromptQueueItem[] = []` (attribute: false); `editable: boolean = true`
|
|
38982
39264
|
(reflected, string-aware true-default converter); `disabled: boolean = false` (reflected);
|
|
38983
|
-
`label
|
|
39265
|
+
`label?: string`; `accessibleLabel: string | null = null` (attribute `aria-label`).
|
|
38984
39266
|
`PromptQueueItem = { id: string; value: string; attachments?: readonly DocumentRef[]; createdAt?: number;
|
|
38985
39267
|
metadata?: Record<string, unknown> }`.
|
|
38986
39268
|
|
|
38987
39269
|
Item ids are occurrence identities. Empty ids and later duplicates are ignored before rendering or
|
|
38988
39270
|
proposing a mutation, preserving one unambiguous `itemId`. Attachment names render visibly for both
|
|
38989
|
-
editable and read-only rows; the host `label` is also the visible queue heading.
|
|
39271
|
+
editable and read-only rows; the host `label` is also the visible queue heading. Omitting `label`
|
|
39272
|
+
localizes the default `promptQueueLabel` message; an explicit empty string suppresses that default
|
|
39273
|
+
and renders no visible heading (`accessibleLabel` still overrides the region's accessible name
|
|
39274
|
+
independently).
|
|
38990
39275
|
|
|
38991
39276
|
Supported item and attachment fields are read once when `items` is assigned; create and reassign a
|
|
38992
39277
|
new collection after changes, because changing an assigned record or reassigning the same mutated
|
|
@@ -39015,7 +39300,10 @@ Nonmodal, Escape-dismissible text-selection toolbar carrying selected text plus
|
|
|
39015
39300
|
**Properties:** `open: boolean = false` (reflected); `text: string = ''`;
|
|
39016
39301
|
clone-owned `anchor: DocumentLocator | null = null`, `rect: DOMRectReadOnly | null = null`, and
|
|
39017
39302
|
clone-owned `actions: readonly SelectionAction[] = ['ask', 'quote', 'cite', 'copy']` (attribute: false);
|
|
39018
|
-
`label
|
|
39303
|
+
`label?: string` — accessible name for the toolbar. Omitting it localizes the default
|
|
39304
|
+
`selectionToolbarLabel` message; an explicit empty string suppresses that default and renders no
|
|
39305
|
+
label. `accessibleLabel: string | null = null` (attribute `aria-label`) — wins over `label` and
|
|
39306
|
+
the localized default.
|
|
39019
39307
|
`SelectionAction = 'ask' | 'quote' | 'cite' | 'copy'`. Duplicate built-in names are omitted
|
|
39020
39308
|
first-wins before rendering, roving focus, and action events. The anchor (including any path) and
|
|
39021
39309
|
actions are bounded frozen snapshots; reassign a new record or array after changes.
|
|
@@ -39081,7 +39369,9 @@ clamped by the composed visualizer); `stream: MediaStream | null = null`; `sessi
|
|
|
39081
39369
|
entry announcement identity; `entries: LyraTranscriptEntry[] = []` (attribute: false);
|
|
39082
39370
|
`muted: boolean = false` (reflected);
|
|
39083
39371
|
`showCapture: boolean = true` (attribute `show-capture`, reflected, string-aware true-default
|
|
39084
|
-
converter); `label
|
|
39372
|
+
converter); `label?: string` — accessible name for the session shell. Omitting it localizes the
|
|
39373
|
+
default `realtimeSessionLabel` message; an explicit empty string suppresses that default and
|
|
39374
|
+
renders no label. Invalid attribute or direct-property values for `state` and
|
|
39085
39375
|
`voiceState` normalize to their safe defaults (`'disconnected'` and `'idle'`) through the same
|
|
39086
39376
|
closed-set converter.
|
|
39087
39377
|
|
|
@@ -39530,6 +39820,7 @@ These named interfaces and helper signatures are available to typed integrations
|
|
|
39530
39820
|
language?: string;
|
|
39531
39821
|
description?: string;
|
|
39532
39822
|
previewUrl?: string;
|
|
39823
|
+
icon?: string;
|
|
39533
39824
|
// Inherited from LyraCatalogEntry.
|
|
39534
39825
|
id: string;
|
|
39535
39826
|
label: string;
|
|
@@ -39699,6 +39990,8 @@ duration"`). A host `aria-label` remains on the host and is not cloned onto that
|
|
|
39699
39990
|
not place links, buttons, or other controls there; use the chip activation or detail slot instead
|
|
39700
39991
|
- Escape only dismisses the tooltip when it's open; it does not fire any event or otherwise affect
|
|
39701
39992
|
`status`/`open` state, since the chip has no "open" state of its own beyond the tooltip
|
|
39993
|
+
- An open tooltip participates in shared Escape ordering even while only hovered, deferring to a
|
|
39994
|
+
genuinely topmost overlay opened on top of it
|
|
39702
39995
|
|
|
39703
39996
|
---
|
|
39704
39997
|
|
|
@@ -40236,9 +40529,10 @@ plain text) — this component has no dependency on either.
|
|
|
40236
40529
|
- `label?: string` — omitted localizes `thinkingPanelLabel` (`'Thinking'` in the built-in English
|
|
40237
40530
|
catalog). Any supplied string is an explicit override and renders verbatim, including
|
|
40238
40531
|
`label="Thinking"` under a non-English `.strings` catalog and `label=""`.
|
|
40239
|
-
- `compact: boolean = false` (reflected) — tightens the header/body padding
|
|
40240
|
-
|
|
40241
|
-
surface remain, so use `frame="plain"` when surrounding message chrome already
|
|
40532
|
+
- `compact: boolean = false` (reflected) — tightens the header/body padding, the header's internal
|
|
40533
|
+
gap, and the header/body font size for dense transcript rows. This is only a density control: its
|
|
40534
|
+
card border and surface remain, so use `frame="plain"` when surrounding message chrome already
|
|
40535
|
+
supplies them.
|
|
40242
40536
|
- `frame: LyraFrame = 'card'` (reflected) — the library-wide container-frame vocabulary
|
|
40243
40537
|
(`'card' | 'plain'`). `'card'` keeps the bordered, filled outer container. `'plain'` removes its
|
|
40244
40538
|
border, background, and corner radius so a nested panel does not double an existing frame;
|
|
@@ -40291,7 +40585,9 @@ pending duration/toggle accent without changing the shared brand token;
|
|
|
40291
40585
|
`--lr-thinking-panel-compact-header-font-size` (default `var(--lr-font-size-sm)`) — font size of
|
|
40292
40586
|
`[part="header"]` while `compact`; and
|
|
40293
40587
|
`--lr-thinking-panel-compact-body-padding` (default `var(--lr-space-s)`) — `[part="body"]`
|
|
40294
|
-
padding while `compact
|
|
40588
|
+
padding while `compact`; and `--lr-thinking-panel-compact-body-font-size` (default
|
|
40589
|
+
`var(--lr-font-size-sm)`) — font size of `[part="body"]` while `compact`.
|
|
40590
|
+
`--lr-thinking-panel-background` (default `var(--lr-color-surface)`),
|
|
40295
40591
|
`--lr-thinking-panel-border-color` (default `var(--lr-color-border)`) and
|
|
40296
40592
|
`--lr-thinking-panel-radius` (default `var(--lr-radius)`) retune `[part="base"]`'s card chrome
|
|
40297
40593
|
without a `::part(base)` override; the border-color hook also colors the header/body divider that
|
|
@@ -40706,7 +41002,12 @@ boolean; readonly autocapitalize?: string; readonly autoCorrect?: string; readon
|
|
|
40706
41002
|
string; readonly enterKeyHint?: string }` — one `schema.properties`
|
|
40707
41003
|
entry. `enum` is only meaningful when `type` is `'string'` (rendered as a `<lr-select>`); `const`
|
|
40708
41004
|
enforces one exact primitive value; `title` is the display label; `description` is helper text;
|
|
40709
|
-
`default` pre-fills a field whenever `value` doesn't already have that key. For a
|
|
41005
|
+
`default` pre-fills a field whenever `value` doesn't already have that key. For a `'string'`
|
|
41006
|
+
(non-enum) or `'number'`/`'integer'` field, `const` also pre-fills the field (taking priority
|
|
41007
|
+
over `default` when both are present) and renders its native control `readonly` — visible,
|
|
41008
|
+
focusable and copyable, but not editable, and still submitted as the locked value. The
|
|
41009
|
+
`'boolean'`/enum `<lr-select>` fields are unaffected: `const` there remains pure post-touch
|
|
41010
|
+
validation, as before. For a free-form
|
|
40710
41011
|
string field, `autocomplete`, `spellcheck`, `autocapitalize`, `autoCorrect`, `inputMode`, and
|
|
40711
41012
|
`enterKeyHint` forward the corresponding native editing hints to the rendered text input;
|
|
40712
41013
|
`spellcheck` defaults to `true`, and the other hints are omitted unless supplied.
|
|
@@ -40730,7 +41031,9 @@ Readonly<Record<string, ToolParamFormProperty>>; readonly required?: readonly st
|
|
|
40730
41031
|
`lr-input`) as that default, but the `value` property itself is left alone until the user actually
|
|
40731
41032
|
edits that field. JSON Schema ordinarily treats `default` as an annotation; this renderer
|
|
40732
41033
|
deliberately materializes it before validation/submission, so a valid default can satisfy
|
|
40733
|
-
`required`.
|
|
41034
|
+
`required`. A `const` on a `'string'` (non-enum) or `'number'`/`'integer'` field takes priority
|
|
41035
|
+
over `default` for this same materialization, and additionally renders that field's control
|
|
41036
|
+
`readonly` so the locked value is visible and submitted but not editable.
|
|
40734
41037
|
- `name: string = ''` — submission key for optional native `<form>` participation
|
|
40735
41038
|
- `disabled: boolean = false` (reflected)
|
|
40736
41039
|
- `customError: string | null = null` (attribute `custom-error`) — reflected consumer validation
|
|
@@ -40743,9 +41046,10 @@ Readonly<Record<string, ToolParamFormProperty>>; readonly required?: readonly st
|
|
|
40743
41046
|
|
|
40744
41047
|
- `effectiveValue: ToolParamFormValue` — a detached, deeply frozen `value` snapshot with every
|
|
40745
41048
|
property missing from it filled in
|
|
40746
|
-
from `schema`'s own `default`; this is what actually renders and what
|
|
41049
|
+
from `schema`'s own `const` (when present) or `default`; this is what actually renders and what
|
|
41050
|
+
`lr-input`'s detail carries.
|
|
40747
41051
|
A key the user has explicitly cleared (a real own property set to `undefined`) stays cleared rather
|
|
40748
|
-
than snapping back to its default — only a key genuinely absent from `value` falls back.
|
|
41052
|
+
than snapping back to its `const`/default — only a key genuinely absent from `value` falls back.
|
|
40749
41053
|
- `errors: Readonly<Record<string, string>>` — a frozen effective validation-error snapshot.
|
|
40750
41054
|
Intrinsic errors use their schema property key; a schema-wide/serialization error or consumer
|
|
40751
41055
|
custom-validity message uses `base`, the whole-control part. It is independent of which fields
|
|
@@ -40777,6 +41081,9 @@ Readonly<Record<string, ToolParamFormProperty>>; readonly required?: readonly st
|
|
|
40777
41081
|
- `click(): void` — forwards a host click to the first generated field's control, so the form
|
|
40778
41082
|
behaves like a single control under both a `<label>`-driven and a programmatic click; a no-op
|
|
40779
41083
|
while `disabled`.
|
|
41084
|
+
- `focus(options?: FocusOptions): void` — moves focus to the first generated field's control,
|
|
41085
|
+
mirroring `click()`; a no-op while `disabled`.
|
|
41086
|
+
- `blur(): void` — blurs whichever generated field currently holds focus.
|
|
40780
41087
|
|
|
40781
41088
|
**Events:** `lr-input` (deeply frozen `detail: { value: ToolParamFormValue }` — the full detached
|
|
40782
41089
|
current value snapshot, every property with defaults resolved, not just the field that changed),
|
|
@@ -41418,13 +41725,16 @@ element or any ancestor, and they exist because `::part(row)[data-active]` is in
|
|
|
41418
41725
|
`--lr-trace-tree-max-indent` (default `var(--lr-size-12rem)`) caps visual nesting indentation;
|
|
41419
41726
|
semantic `aria-level` remains exact at deeper levels.
|
|
41420
41727
|
|
|
41421
|
-
**Contrast note:** the active row is more than a tint. Its secondary text would sit at ~4.
|
|
41728
|
+
**Contrast note:** the active row is more than a tint. Its secondary text would sit at ~4.17:1
|
|
41422
41729
|
against the default tint if it stayed at `--lr-color-text-quiet`, so it rises to full-strength
|
|
41423
41730
|
`--lr-color-text` while the row is active, and the semantic `status-text` labels are rendered as
|
|
41424
41731
|
`color-mix(in srgb, var(--lr-color-<tone>) 75%, var(--lr-color-text))` — keeping the status hue
|
|
41425
|
-
(an error row stays red) while clearing the 4.5:1 floor
|
|
41426
|
-
|
|
41427
|
-
|
|
41732
|
+
(an error row stays red) while clearing the 4.5:1 floor with a full point of margin or more for
|
|
41733
|
+
every currently shipped default tone. The exact ratio moves with every palette ramp revision
|
|
41734
|
+
(`src/internal/tokens/palette.styles.ts`), so no specific number is pinned here — recompute against
|
|
41735
|
+
the live tokens before quoting one. Both adjustments are theme-symmetric, because `--lr-color-text`
|
|
41736
|
+
flips with the color scheme. `[part='bar']` is deliberately untouched: it is a non-text graphic on
|
|
41737
|
+
a 3:1 floor, and its
|
|
41428
41738
|
saturation is the row's primary status signal.
|
|
41429
41739
|
|
|
41430
41740
|
The two properties are a **pair**. The defaults assume the active background stays on the same
|
|
@@ -41482,12 +41792,13 @@ plain and virtualized rendering paths while `label` remains the visible header t
|
|
|
41482
41792
|
arbitrary rich content (e.g. rendered markdown, or markdown plus a trailing tool-call chip list),
|
|
41483
41793
|
identically whether or not the feed is currently virtualized; replaces the plain text **inside**
|
|
41484
41794
|
the persistent `[part="entry-text"]` wrapper rather than removing that part, and `virtualizeAt: number = 199` (attribute
|
|
41485
|
-
`virtualize-at`). `compact: boolean = false` (reflected) — tighter header and entry-row padding
|
|
41486
|
-
dense transcript contexts, the same density-only convention `<lr-confirm-bar>`'s and
|
|
41795
|
+
`virtualize-at`). `compact: boolean = false` (reflected) — tighter header and entry-row padding and
|
|
41796
|
+
gap for dense transcript contexts, the same density-only convention `<lr-confirm-bar>`'s and
|
|
41487
41797
|
`<lr-thinking-panel>`'s own `compact` establish: the outer border and surface stay, so pair it
|
|
41488
41798
|
with `frame="plain"` to remove card chrome. Retune it through
|
|
41489
|
-
`--lr-activity-feed-compact-header-padding`, `--lr-activity-feed-compact-header-gap`,
|
|
41490
|
-
`--lr-activity-feed-compact-entry-padding
|
|
41799
|
+
`--lr-activity-feed-compact-header-padding`, `--lr-activity-feed-compact-header-gap`,
|
|
41800
|
+
`--lr-activity-feed-compact-entry-padding`, and `--lr-activity-feed-compact-entry-gap`.
|
|
41801
|
+
`frame: LyraFrame = 'card'` (reflected) — `'card' |
|
|
41491
41802
|
'plain'`, imported from the library's shared container-frame vocabulary and behaving exactly as
|
|
41492
41803
|
it does on `lr-confirm-bar`/`lr-thinking-panel`/`lr-agent-run`/etc.: `'plain'` removes the outer
|
|
41493
41804
|
border, background, and corner radius so a feed nested inside existing message chrome doesn't
|
|
@@ -41509,13 +41820,19 @@ part is reachable in both rendering paths, virtualized or not.
|
|
|
41509
41820
|
tall the expanded body grows before it scrolls internally; and
|
|
41510
41821
|
`--lr-activity-feed-live-status-color` (default `var(--lr-color-brand)`) — background color of
|
|
41511
41822
|
`status-dot` while `mode="live"`, independently retunable without changing other brand surfaces.
|
|
41512
|
-
The `compact` density is retunable through
|
|
41823
|
+
The `compact` density is retunable through four properties: `--lr-activity-feed-compact-header-padding`
|
|
41513
41824
|
(default `var(--lr-space-2xs) var(--lr-space-s)`) and `--lr-activity-feed-compact-header-gap`
|
|
41514
41825
|
(default `var(--lr-space-2xs)`) both scoped to `[part="header"]` while `compact`, and
|
|
41515
|
-
`--lr-activity-feed-compact-entry-padding` (default `var(--lr-space-2xs) var(--lr-space-s)`)
|
|
41516
|
-
|
|
41826
|
+
`--lr-activity-feed-compact-entry-padding` (default `var(--lr-space-2xs) var(--lr-space-s)`) and
|
|
41827
|
+
`--lr-activity-feed-compact-entry-gap` (default `var(--lr-space-2xs)`) both scoped to
|
|
41828
|
+
`[part="entry"]` while `compact`. All four are inline `var()` fallbacks at their point
|
|
41517
41829
|
of use, so any can be set on the element or on an ancestor, same as `lr-confirm-bar`'s and
|
|
41518
|
-
`lr-thinking-panel`'s own compact tokens.
|
|
41830
|
+
`lr-thinking-panel`'s own compact tokens. `renderText`'s returned content is otherwise unreachable
|
|
41831
|
+
by selector from outside the shadow root it renders into (the plain or the internal
|
|
41832
|
+
`<lr-virtual-list>`'s), so a returned anchor specifically is given
|
|
41833
|
+
`--lr-activity-feed-entry-text-link-color` (default `var(--lr-color-brand)`), mirroring
|
|
41834
|
+
`lr-table`'s identical `cell(row)`-anchor hook; set it to `revert` for the UA default link color.
|
|
41835
|
+
The card chrome itself is retunable the same way:
|
|
41519
41836
|
`--lr-activity-feed-background` (default `var(--lr-color-surface)`) fills `[part="base"]`,
|
|
41520
41837
|
`--lr-activity-feed-border-color` (default `var(--lr-color-border)`) colors both its border and the
|
|
41521
41838
|
header/body divider that `frame="plain"` keeps, and `--lr-activity-feed-radius` (default
|
|
@@ -41532,6 +41849,10 @@ hooks tune the card presentation rather than reinstating chrome you asked to dro
|
|
|
41532
41849
|
and the dot for DOM queries.
|
|
41533
41850
|
- `compact`/`frame` render byte-identically to the pre-existing default when unset — neither
|
|
41534
41851
|
property changes anything about the plain-card presentation.
|
|
41852
|
+
- A `renderText`-returned anchor is the only descendant markup given a default styling hook
|
|
41853
|
+
(`--lr-activity-feed-entry-text-link-color`); other rich descendants (`<code>`, `<em>`, custom
|
|
41854
|
+
chips) stay reachable only through inheritance or an inline style on the callback's own return
|
|
41855
|
+
value, since `::part(entry-text)` cannot select past the wrapper.
|
|
41535
41856
|
- Focus repair after an `entries` change is asynchronous while virtualized (it waits on the
|
|
41536
41857
|
internal `<lr-virtual-list>`'s own follow-up render before deciding whether the previously
|
|
41537
41858
|
focused row actually disappeared), but synchronous when collapsing (`expanded` going `false`)
|
|
@@ -41992,7 +42313,9 @@ slot has assigned content. Assigning `view='code'` without assigned code content
|
|
|
41992
42313
|
navigation and the built-in copy/download buttons.
|
|
41993
42314
|
|
|
41994
42315
|
**Events:** `lr-view-change` (`detail: { view }`), `lr-version-change` (`detail: { versionId }`,
|
|
41995
|
-
fired when the previous/next navigation moves to a different version
|
|
42316
|
+
fired when the previous/next navigation moves to a different version; not fired when a `versions`
|
|
42317
|
+
reassignment drops the currently-active version id — `activeVersionId` resets to `null` silently,
|
|
42318
|
+
since `null` is already a documented steady state meaning "the latest version"), `lr-restore` (`detail: {
|
|
41996
42319
|
versionId }`, fired by the restore-this-version button; mutates nothing itself), `lr-copy`
|
|
41997
42320
|
(`detail: { ok: true, text }`, after the clipboard write fulfills), `lr-error` plus
|
|
41998
42321
|
`lr-copy-error` (`detail: { ok: false, text, reason, error }`) on a localized failure, and
|
|
@@ -42228,7 +42551,8 @@ menu. These composed child events surface unchanged; the inspector does not emit
|
|
|
42228
42551
|
**CSS parts:** `base`, `toolbar`,
|
|
42229
42552
|
`segments`, `segment`, `segment-header`, `segment-label`, `segment-text`, `segment-tokens`,
|
|
42230
42553
|
`meter` (the embedded `lr-context-meter`), `citation`, `redaction` (one redaction placeholder
|
|
42231
|
-
marker), `truncation-boundary`, `copy-button`, `export-button`, `empty
|
|
42554
|
+
marker), `truncation-boundary`, `copy-button`, `export-button`, `empty`, `limit` (localized notice
|
|
42555
|
+
shown when `segments` exceeds the 500-row render ceiling).
|
|
42232
42556
|
|
|
42233
42557
|
## `lr-eval-dataset`
|
|
42234
42558
|
|
|
@@ -42392,7 +42716,8 @@ child events as `lr-example-claim-select` (`{ exampleId, claim }`),
|
|
|
42392
42716
|
`header-label`, `progress`, `summary`, `counts`, `count`, `examples`, `example`, `example-summary`,
|
|
42393
42717
|
`example-label`, `example-status`, `example-status-message`, `input-section`, `input`, `output-section`, `output`,
|
|
42394
42718
|
`grounding-section`, `grounding-summary`, `tool-trace-section`, `tool-trace`, `section-heading`,
|
|
42395
|
-
`live-region`, `empty
|
|
42719
|
+
`live-region`, `empty`, `limit` (localized notice shown when `examples` exceeds the 500-row render
|
|
42720
|
+
ceiling).
|
|
42396
42721
|
|
|
42397
42722
|
## `lr-policy-summary`
|
|
42398
42723
|
|
|
@@ -42417,7 +42742,8 @@ resolve/acknowledge action — see `lr-tool-approval-dialog`/`lr-confirm-bar` fo
|
|
|
42417
42742
|
gate.
|
|
42418
42743
|
|
|
42419
42744
|
**CSS parts:** `base`, `empty`, `summary`, `count`, `state-badge`,
|
|
42420
|
-
`list`, `decision`, `decision-header`, `category`, `label`, `detail`, `explanation
|
|
42745
|
+
`list`, `decision`, `decision-header`, `category`, `label`, `detail`, `explanation`, `limit`
|
|
42746
|
+
(localized notice shown when `decisions` exceeds the 500-row render ceiling).
|
|
42421
42747
|
|
|
42422
42748
|
**Themeable custom properties:** `--lr-policy-summary-count-allow-color` (default
|
|
42423
42749
|
`var(--lr-color-success)`), `--lr-policy-summary-count-deny-color` (default
|
|
@@ -42598,7 +42924,8 @@ resolved while open closes the dialog, and reentrant host updates during selecti
|
|
|
42598
42924
|
stale request.
|
|
42599
42925
|
|
|
42600
42926
|
**CSS parts:** `base`, `heading-row`, `heading`, `count`, `list`, `request`, `request-info`,
|
|
42601
|
-
`tool-name`, `request-id`, `status`, `empty
|
|
42927
|
+
`tool-name`, `request-id`, `status`, `empty`, `limit` (localized notice shown when `requests`
|
|
42928
|
+
exceeds the 500-row render ceiling). The `[part='request']` row matching
|
|
42602
42929
|
`selectedInvocationId`
|
|
42603
42930
|
carries both `data-selected="true"` (the styling hook) and `aria-current="true"` (the semantic
|
|
42604
42931
|
state), so the selection is announced, not merely painted. Other request rows explicitly render
|
|
@@ -42813,11 +43140,13 @@ caps visual nesting indentation while preserving complete JSON Pointer paths;
|
|
|
42813
43140
|
only.
|
|
42814
43141
|
|
|
42815
43142
|
Rendering is capped independently at 500 schema nodes and 500 validation issues; `limit` and
|
|
42816
|
-
`issue-limit` show their respective truncation as ordinary, non-live status text.
|
|
42817
|
-
|
|
42818
|
-
|
|
42819
|
-
|
|
42820
|
-
|
|
43143
|
+
`issue-limit` show their respective truncation as ordinary, non-live status text. When `selectedPath`
|
|
43144
|
+
resolves beyond the 500-node ceiling, that node and its resolvable ancestor chain reserve positions
|
|
43145
|
+
inside the cap ahead of ordinary traversal order, so the controlled selection remains visible. Newly
|
|
43146
|
+
reaching or changing either ceiling after the initial baseline appends the localized message to the
|
|
43147
|
+
shared polite light-DOM announcement sink; initial and reconnect renders stay silent. Issues are
|
|
43148
|
+
indexed by path once before recursive rendering instead of rescanning the full input for every node.
|
|
43149
|
+
Cycles stop at the repeated node rather than recursing. **Slots:** none. **Optional peer deps:** none.
|
|
42821
43150
|
|
|
42822
43151
|
```ts
|
|
42823
43152
|
import '@aceshooting/lyra-ui/components/lr-json-schema-viewer.js';
|
|
@@ -42864,9 +43193,12 @@ counts, selection, and events.
|
|
|
42864
43193
|
`task`, `model`, `progress`, `actions`, `cancel`, `retry`, `limit`, `empty`.
|
|
42865
43194
|
|
|
42866
43195
|
At most 500 runs render, and visual indentation is capped at 12 levels while ARIA hierarchy keeps
|
|
42867
|
-
the logical depth.
|
|
42868
|
-
|
|
42869
|
-
|
|
43196
|
+
the logical depth. When `selectedRunId` names a run beyond the 500-run ceiling, that run and its
|
|
43197
|
+
resolvable ancestor chain reserve positions inside the cap ahead of ordinary array order, so the
|
|
43198
|
+
controlled selection remains visible. The visible `limit` text is ordinary and non-live; newly
|
|
43199
|
+
reaching or changing the run ceiling after the initial baseline appends the localized message to the
|
|
43200
|
+
shared polite light-DOM announcement sink, while initial and reconnect renders stay silent. The
|
|
43201
|
+
roving treeitem accepts
|
|
42870
43202
|
Enter/Space as well as pointer activation for `lr-run-activate`; cancel/retry action names include the
|
|
42871
43203
|
run label so repeated row actions remain distinguishable to assistive technology. Progress is finite
|
|
42872
43204
|
and clamped. **Slots:** none.
|
|
@@ -43964,10 +44296,13 @@ string; shape?: 'circle' | 'square' | 'diamond' }`, the shared `lr-graph.nodeTyp
|
|
|
43964
44296
|
`aria-label` makes the host the sole overall owner (the wrapper omits its duplicate role/name);
|
|
43965
44297
|
an explicitly empty host label stays empty on the wrapper
|
|
43966
44298
|
|
|
43967
|
-
**Events:** cancelable `lr-
|
|
44299
|
+
**Events:** cancelable `lr-visibility-change-request` (`detail: { hiddenTypes }`, a frozen complete
|
|
43968
44300
|
next array) fires before a toggle changes state or announces it. Preventing it suppresses all three.
|
|
43969
44301
|
`lr-visibility-change` (`detail: { hiddenTypes }`, the complete updated array) fires after an
|
|
43970
|
-
accepted assignment and announcement.
|
|
44302
|
+
accepted assignment and announcement. `lr-before-visibility-change` is a **deprecated** alias of
|
|
44303
|
+
`lr-visibility-change-request`, fired immediately after it from the same gesture with the same
|
|
44304
|
+
frozen detail; either event may veto. It is slated for removal in 21.0.0 — migrate listeners to
|
|
44305
|
+
`lr-visibility-change-request`.
|
|
43971
44306
|
|
|
43972
44307
|
**Slots:** none.
|
|
43973
44308
|
|
|
@@ -44161,6 +44496,8 @@ ancestor to change every unset entity chip beneath it.
|
|
|
44161
44496
|
`lr-entity-card` as shown above, and handle the chip's own `lr-entity-select`/`lr-entity-open`
|
|
44162
44497
|
events for navigation.
|
|
44163
44498
|
- A blank `entityId` disables the chip and cannot produce an activation/open event.
|
|
44499
|
+
- An open popover participates in shared Escape ordering even while only hovered, deferring to a
|
|
44500
|
+
genuinely topmost overlay opened on top of it.
|
|
44164
44501
|
|
|
44165
44502
|
---
|
|
44166
44503
|
|
|
@@ -44296,7 +44633,8 @@ string; summary?: string; memberCount?: number }`; `memberCount` is a non-negati
|
|
|
44296
44633
|
- `members: LyraEntity[] = []` (attribute: false) — rendered as chips, up to `maxMembers`
|
|
44297
44634
|
- `maxMembers: number = 8` (attribute `max-members`) — remaining members collapse into a "+N"
|
|
44298
44635
|
overflow chip
|
|
44299
|
-
- `compact: boolean = false` (reflected) — omits the summary excerpt and member chips
|
|
44636
|
+
- `compact: boolean = false` (reflected) — omits the summary excerpt and member chips, and tightens
|
|
44637
|
+
`[part='base']`'s padding/gap — same convention as the sibling `lr-entity-card`'s `compact`
|
|
44300
44638
|
- `frame: LyraFrame = 'card'` (reflected) — container treatment, in the library-wide `frame`
|
|
44301
44639
|
vocabulary (`'card' | 'plain'`), the same property this component's sibling `lr-entity-card`
|
|
44302
44640
|
carries. `'card'` (the default) keeps the bordered, filled, padded box; `'plain'` removes the
|
|
@@ -44317,8 +44655,10 @@ activated).
|
|
|
44317
44655
|
|
|
44318
44656
|
**Themeable custom properties:** `--lr-community-card-bg` (default `var(--lr-color-surface)`) —
|
|
44319
44657
|
`[part='base']`'s RESTING background, so a panel retinting its `lr-entity-card`/`lr-source-card`
|
|
44320
|
-
siblings can retint this card with it; `frame='plain'` still drops the fill entirely.
|
|
44321
|
-
|
|
44658
|
+
siblings can retint this card with it; `frame='plain'` still drops the fill entirely.
|
|
44659
|
+
`--lr-community-card-compact-padding` (default `var(--lr-space-s)`) and
|
|
44660
|
+
`--lr-community-card-compact-gap` (default `var(--lr-space-xs)`) — `[part='base']` padding/gap
|
|
44661
|
+
while `compact`. Otherwise shared tokens.
|
|
44322
44662
|
|
|
44323
44663
|
**Optional peer deps:** none.
|
|
44324
44664
|
|
|
@@ -44503,7 +44843,9 @@ string; mimeType?: string; name?: string; children?: LyraSourceEntry[] }`; flat
|
|
|
44503
44843
|
omitted state and removes the attribute
|
|
44504
44844
|
|
|
44505
44845
|
**Events:** `lr-sources-change` (`detail: { selectedSourceIds }`, the complete updated leaf-id array,
|
|
44506
|
-
fired after every toggle including select-all
|
|
44846
|
+
fired after every toggle including select-all. Also fired when a `sources` reassignment prunes a
|
|
44847
|
+
previously-selected id that is no longer a valid leaf. Not fired when a consumer sets
|
|
44848
|
+
`selectedSourceIds` directly; that assignment is normalized silently).
|
|
44507
44849
|
|
|
44508
44850
|
**Slots:** none.
|
|
44509
44851
|
|
|
@@ -44657,6 +44999,14 @@ LyraTopic[] }`; a single root sits at the center, multiple roots hang off an imp
|
|
|
44657
44999
|
ring); expansion state afterward is component-managed per topic id and survives `topics`
|
|
44658
45000
|
reassignment
|
|
44659
45001
|
|
|
45002
|
+
Above 500 currently-visible nodes (per the current expand/collapse state), the SVG and the
|
|
45003
|
+
parallel sr-only tree both render a deterministic, connectivity-preserving, subtree-size-weighted
|
|
45004
|
+
sample instead of every node: a kept node's parent, if any, is always kept too (no floating nodes
|
|
45005
|
+
with a dangling connector or a gap in the `role="tree"` walk), and a larger branch keeps
|
|
45006
|
+
proportionally more of its own nodes than a small one, sampled evenly across a wide/flat branch's
|
|
45007
|
+
own child list rather than dropping its tail outright. A surviving node keeps the position the
|
|
45008
|
+
full layout gave it. A localized "showing N of M" notice appears in `[part="limit"]`.
|
|
45009
|
+
|
|
44660
45010
|
**Events:** `lr-topic-select` (`detail: { topicId }`, a _leaf_ topic was activated),
|
|
44661
45011
|
`lr-topic-toggle` (`detail: { topicId, expanded }`, a parent topic was activated, or auto-expanded by
|
|
44662
45012
|
keyboard descent).
|
|
@@ -44664,7 +45014,8 @@ keyboard descent).
|
|
|
44664
45014
|
**Slots:** none.
|
|
44665
45015
|
|
|
44666
45016
|
**CSS parts:** `base`, `svg` (the single-tab-stop focus target), `node`, `node-label`, `link`
|
|
44667
|
-
(parent-child connector), `focus-ring` (keyboard focus ring), `
|
|
45017
|
+
(parent-child connector), `focus-ring` (keyboard focus ring), `limit` (the "showing N of M"
|
|
45018
|
+
render-cap notice, present only above 500 currently-visible nodes), `live-region` (visually hidden
|
|
44668
45019
|
announcement region), `empty` (shown when `topics` is empty).
|
|
44669
45020
|
|
|
44670
45021
|
**Themeable custom properties:** `--lr-mind-map-ring-gap` (default `6rem`, radius step per depth
|
|
@@ -44816,6 +45167,8 @@ no background tint, for citations that carry no confidence/verification signal a
|
|
|
44816
45167
|
`lr-citation-open` instead of triggering a second `lr-citation-activate`.
|
|
44817
45168
|
- Escape closes the popover but calls `stopPropagation()`, so it won't also close a surrounding
|
|
44818
45169
|
`<lr-dialog>` that has its own Escape-to-close handler.
|
|
45170
|
+
- An open popover participates in shared Escape ordering even while only hovered, deferring to a
|
|
45171
|
+
genuinely topmost overlay opened on top of it.
|
|
44819
45172
|
- The preview slot's presence is tracked in JS (`hasPreviewSlot`), not via CSS `:empty` — the
|
|
44820
45173
|
`[part="popover"]` always contains a literal `<slot>` child, so `:empty` would never match even
|
|
44821
45174
|
with nothing assigned.
|
|
@@ -44840,6 +45193,15 @@ direct light-DOM children of the list (plain composition — no `.items` array p
|
|
|
44840
45193
|
header summary, e.g. `"3 sources"` or `"1 source"`; this component never counts or pluralizes on
|
|
44841
45194
|
its own. Takes precedence over `label` when both are set. If neither is set, the header falls back
|
|
44842
45195
|
to the localized `sourceListDefaultLabel` string (English default: `"Sources"`).
|
|
45196
|
+
- `compact: boolean = false` (reflected) — tighter header and list padding/gap, for a panel
|
|
45197
|
+
rendered repeatedly down a message transcript — same convention as this list's own slotted
|
|
45198
|
+
`lr-source-card` children's `compact`. Purely a density knob: the outer border and surface stay,
|
|
45199
|
+
so pair it with `frame="plain"` to remove card chrome.
|
|
45200
|
+
- `frame: LyraFrame = 'card'` (reflected) — container treatment, in the library-wide `frame`
|
|
45201
|
+
vocabulary (`'card' | 'plain'`). `'card'` (the default) keeps the bordered, filled outer
|
|
45202
|
+
container. `'plain'` removes that outer border, background, and corner radius so a list nested
|
|
45203
|
+
inside existing message chrome does not double it. Plain preserves the header/list divider and
|
|
45204
|
+
whichever regular or compact padding applies.
|
|
44843
45205
|
|
|
44844
45206
|
**Getters:** `sourceCount: number` — read-only, live-updated count of the currently-slotted children,
|
|
44845
45207
|
handy for building a `label-plural` string reactively, e.g. `` list.labelPlural = `${list.sourceCount} sources` ``.
|
|
@@ -44859,7 +45221,13 @@ list/listitem semantics return.
|
|
|
44859
45221
|
`toggle` (the chevron indicator inside the header), `list` (wrapper around the default slot, `hidden`
|
|
44860
45222
|
while collapsed).
|
|
44861
45223
|
|
|
44862
|
-
**Themeable custom properties:**
|
|
45224
|
+
**Themeable custom properties:** `--lr-source-list-compact-header-padding` (default
|
|
45225
|
+
`var(--lr-space-2xs) var(--lr-space-s)`) and `--lr-source-list-compact-header-gap` (default
|
|
45226
|
+
`var(--lr-space-2xs)`) — `[part="header"]` padding/gap while `compact`; `--lr-source-list-compact-gap`
|
|
45227
|
+
(default `var(--lr-space-2xs)`) and `--lr-source-list-compact-list-padding` (default
|
|
45228
|
+
`var(--lr-space-s)`) — `[part="list"]` gap/padding while `compact`. All four are inline `var()`
|
|
45229
|
+
fallbacks at their point of use, so any can be set on the element or an ancestor. Otherwise shared
|
|
45230
|
+
tokens — `--lr-color-border`, `--lr-color-surface`,
|
|
44863
45231
|
`--lr-color-text`, `--lr-color-brand` / `-brand-quiet`, `--lr-radius`, `--lr-space-xs`/`-s`/
|
|
44864
45232
|
`-m`, `--lr-transition-fast`, `--lr-focus-ring-*`.
|
|
44865
45233
|
|
|
@@ -45100,6 +45468,11 @@ rendering, or events. Usable display fields are captured once while emitted sele
|
|
|
45100
45468
|
objects retain their original identity. Malformed rows and later duplicate ids are omitted; the
|
|
45101
45469
|
first valid occurrence wins.
|
|
45102
45470
|
|
|
45471
|
+
At most 500 citations render as `evidence-item` rows; a `citations` array past that length still
|
|
45472
|
+
reports its true count in `evidence-count` but renders a localized `limit` notice after the list
|
|
45473
|
+
rather than mounting an unbounded number of rows. The full citation set is still forwarded to the
|
|
45474
|
+
composed `lr-claim-evidence` for claim-to-citation lookup, which applies its own render cap.
|
|
45475
|
+
|
|
45103
45476
|
**Events:** `lr-citation-select` (`detail: CitationSelectEventDetail` from
|
|
45104
45477
|
`@aceshooting/lyra-ui/ai` = `{ citation: Citation }`) — emitted when an evidence badge is activated.
|
|
45105
45478
|
The inner `lr-citation-badge`'s generic activation is stopped at this composition boundary; this
|
|
@@ -45116,7 +45489,8 @@ row), `warnings` (omitted when there are none), `warnings-heading`, `warnings-co
|
|
|
45116
45489
|
its semantics survive list-style resets),
|
|
45117
45490
|
`evidence-item` (one `<li>` containing a badge + always-visible label/span text),
|
|
45118
45491
|
`evidence-label` (omitted when `Citation.label` is unset), `evidence-span` (the formatted
|
|
45119
|
-
`Citation.span` range, omitted when unset), `
|
|
45492
|
+
`Citation.span` range, omitted when unset), `limit` (localized notice shown when `citations` exceeds
|
|
45493
|
+
the 500-citation render ceiling), `claims` (the claim/evidence region), `empty`
|
|
45120
45494
|
(shown when `assessment` is `null`).
|
|
45121
45495
|
|
|
45122
45496
|
**Themeable custom properties:** shared tokens only.
|
|
@@ -45503,6 +45877,9 @@ duplicates are omitted first-wins before empty state, focus/disclosure state, co
|
|
|
45503
45877
|
rendering, or actions. Rows whose `text` is missing, nonstring, blank, or whitespace-only are also
|
|
45504
45878
|
omitted without hiding later valid memories.
|
|
45505
45879
|
|
|
45880
|
+
At most 500 items per section render as `item` rows; a section's list past that length renders a
|
|
45881
|
+
localized `limit` notice after that section's list rather than mounting an unbounded number of rows.
|
|
45882
|
+
|
|
45506
45883
|
**Events:**
|
|
45507
45884
|
|
|
45508
45885
|
- `lr-add` (`detail: LyraMemoryAddDetail` = `{ memory: LyraMemoryItem }`) — a pending "promote to
|
|
@@ -45524,7 +45901,8 @@ somewhere to land after a confirmation resolves), `item-row`, `item-text`, `conf
|
|
|
45524
45901
|
`data-tone`; omitted when `confidence` is unset), `expand-toggle` / `item-body` (both omitted when
|
|
45525
45902
|
`provenance` is unset; `item-body` is `hidden` while collapsed), `item-actions`, `add-button`,
|
|
45526
45903
|
`remove-button`, `forget-all-button`, `forget-all-confirm` (the `lr-confirm-bar` that replaces
|
|
45527
|
-
`forget-all-button` while the bulk confirmation is pending)
|
|
45904
|
+
`forget-all-button` while the bulk confirmation is pending), `limit` (localized notice shown when a
|
|
45905
|
+
section's items exceed the 500-item render ceiling).
|
|
45528
45906
|
|
|
45529
45907
|
**Keyboard/focus contract:** activating an action from the keyboard replaces that control with an
|
|
45530
45908
|
`lr-confirm-bar`, and focus moves into the bar (landing on Deny, the safe action) rather than
|
|
@@ -45938,11 +46316,17 @@ Pointer and programmatic focus synchronize the single roving tab stop, and every
|
|
|
45938
46316
|
least a 24×24 CSS px pointer target at narrow allocations without enlarging its marker. Optional
|
|
45939
46317
|
cluster membership is exposed as each option's description and in a visible text legend, so the
|
|
45940
46318
|
grouping never depends on color alone.
|
|
46319
|
+
Above 1,000 points, the plot renders a deterministic, evenly spaced sample of the whole array
|
|
46320
|
+
(spanning the full input, not a leading run) instead of every point, keeping DOM node and listener
|
|
46321
|
+
count bounded while the sampled points stay representative of the full plotted distribution; a
|
|
46322
|
+
localized "showing N of M" notice appears in `[part="limit"]`. `bounds` and the cluster legend
|
|
46323
|
+
still derive from the complete `points` array, so a decimated view keeps the same scale and the
|
|
46324
|
+
same complete legend as the full plot.
|
|
45941
46325
|
|
|
45942
46326
|
**Events:** `lr-point-select` (`{ point }`), activated by click or Enter/Space.
|
|
45943
46327
|
|
|
45944
46328
|
**CSS parts:** `base`, `plot`, `point`, `legend`, `legend-item`, `legend-swatch`, `legend-label`,
|
|
45945
|
-
`empty`.
|
|
46329
|
+
`limit` (the "showing N of M" render-cap notice, present only above 1,000 points), `empty`.
|
|
45946
46330
|
|
|
45947
46331
|
**Themeable custom properties:** `--lr-embedding-explorer-selected-stroke` (default
|
|
45948
46332
|
`var(--lr-color-brand)`) — stroke color of the selected point; `--lr-embedding-explorer-height`
|
|
@@ -46019,6 +46403,9 @@ duplicates are omitted first-wins before empty state, controlled selection, evid
|
|
|
46019
46403
|
rendering, or events. An unrecognized runtime claim status renders as localized “Unsupported” with
|
|
46020
46404
|
the danger treatment instead of producing an empty or misleading badge.
|
|
46021
46405
|
|
|
46406
|
+
At most 500 claims render as `claim` rows; a `claims` array past that length renders a localized
|
|
46407
|
+
`limit` notice after the list rather than mounting an unbounded number of rows.
|
|
46408
|
+
|
|
46022
46409
|
- `compact: boolean = false` (reflected) — tighter `claim-trigger` padding and column gap, for dense
|
|
46023
46410
|
evidence lists — the same convention as `lr-source-card`'s/`lr-entity-card`'s `compact`. Purely a
|
|
46024
46411
|
density knob: each claim's border and background stay. `false` (the default) keeps the full
|
|
@@ -46035,7 +46422,8 @@ composed `lr-citation-open` event intentionally crosses `lr-claim-evidence` unch
|
|
|
46035
46422
|
`{ sourceId, index, href }` detail.
|
|
46036
46423
|
|
|
46037
46424
|
**CSS parts:** `base`, `list`, `claim`, `claim-selected`, `claim-trigger`, `status`, `claim-text`,
|
|
46038
|
-
`confidence`, `explanation`, `evidence`, `
|
|
46425
|
+
`confidence`, `explanation`, `evidence`, `limit` (localized notice shown when `claims` exceeds the
|
|
46426
|
+
500-claim render ceiling), `empty`.
|
|
46039
46427
|
|
|
46040
46428
|
**Themeable custom properties:** `--lr-claim-evidence-compact-padding` (default
|
|
46041
46429
|
`var(--lr-space-xs)`) — `[part='claim-trigger']`'s padding while `compact`;
|
|
@@ -46108,13 +46496,18 @@ Metrics and runs are canonicalized independently by nonblank `id`. Malformed row
|
|
|
46108
46496
|
duplicates are omitted first-wins before metric fallback, slice derivation/filtering, cards, charts,
|
|
46109
46497
|
history, counts, rendering, or actions.
|
|
46110
46498
|
|
|
46499
|
+
At most 500 of the currently filtered runs render as `run` buttons and feed the trend chart; a
|
|
46500
|
+
filtered set past that length renders a localized `limit` notice after the run history rather than
|
|
46501
|
+
mounting an unbounded number of rows.
|
|
46502
|
+
|
|
46111
46503
|
**Events:** `lr-metric-change` (`{ metricId }`), `lr-slice-change` (`{ slice }`), and
|
|
46112
46504
|
`lr-run-change` (`{ run }`). All are controlled intents; the component does not mutate the
|
|
46113
46505
|
corresponding selection properties.
|
|
46114
46506
|
|
|
46115
46507
|
**CSS parts:** `base`, `heading`, `slices`, `slice`, `slice-selected`, `metrics`, `metric`,
|
|
46116
46508
|
`metric-selected`, `metric-category` (the caller-supplied category rendered visibly on each metric),
|
|
46117
|
-
`chart`, `runs`, `runs-heading`, `run`, `
|
|
46509
|
+
`chart`, `runs`, `runs-heading`, `run`, `limit` (localized notice shown when the filtered runs
|
|
46510
|
+
exceed the 500-run render ceiling), `empty`.
|
|
46118
46511
|
|
|
46119
46512
|
**Themeable custom properties:** `--lr-rag-eval-dashboard-selected-border-color` (default
|
|
46120
46513
|
`var(--lr-color-brand)`) — border color shared by the controlled active slice and metric.
|