@aceshooting/lyra-ui 7.2.0 → 7.4.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 +94 -0
- package/custom-elements.json +1723 -379
- package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts.map +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js +1 -0
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js.map +1 -1
- package/dist/components/agent-tools/approval-queue/approval-queue.class.d.ts.map +1 -1
- package/dist/components/agent-tools/approval-queue/approval-queue.class.js +1 -0
- package/dist/components/agent-tools/approval-queue/approval-queue.class.js.map +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.styles.js +3 -0
- package/dist/components/agent-tools/browser-frame/browser-frame.styles.js.map +1 -1
- package/dist/components/agent-tools/commit-card/commit-card.class.d.ts +3 -0
- package/dist/components/agent-tools/commit-card/commit-card.class.d.ts.map +1 -1
- package/dist/components/agent-tools/commit-card/commit-card.class.js +21 -1
- package/dist/components/agent-tools/commit-card/commit-card.class.js.map +1 -1
- package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts.map +1 -1
- package/dist/components/agent-tools/compare-panel/compare-panel.class.js +7 -1
- package/dist/components/agent-tools/compare-panel/compare-panel.class.js.map +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +4 -0
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts.map +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +4 -0
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js.map +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.styles.js +2 -2
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts +2 -0
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts.map +1 -1
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +24 -9
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js.map +1 -1
- package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.js +23 -2
- package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.js.map +1 -1
- package/dist/components/agent-tools/result-card/result-card.class.d.ts +4 -0
- package/dist/components/agent-tools/result-card/result-card.class.d.ts.map +1 -1
- package/dist/components/agent-tools/result-card/result-card.class.js +4 -0
- package/dist/components/agent-tools/result-card/result-card.class.js.map +1 -1
- package/dist/components/agent-tools/result-card/result-card.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/result-card/result-card.styles.js +2 -0
- package/dist/components/agent-tools/result-card/result-card.styles.js.map +1 -1
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +2 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts.map +1 -1
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +2 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js.map +1 -1
- package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.js +4 -0
- package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.js.map +1 -1
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.d.ts +6 -1
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.d.ts.map +1 -1
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +61 -3
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js.map +1 -1
- package/dist/components/agent-tools/task-list/task-list.class.d.ts +2 -0
- package/dist/components/agent-tools/task-list/task-list.class.d.ts.map +1 -1
- package/dist/components/agent-tools/task-list/task-list.class.js +2 -0
- package/dist/components/agent-tools/task-list/task-list.class.js.map +1 -1
- package/dist/components/agent-tools/task-list/task-list.styles.d.ts.map +1 -1
- package/dist/components/agent-tools/task-list/task-list.styles.js +1 -0
- package/dist/components/agent-tools/task-list/task-list.styles.js.map +1 -1
- package/dist/components/agent-tools/test-results/test-results.class.d.ts.map +1 -1
- package/dist/components/agent-tools/test-results/test-results.class.js +15 -10
- package/dist/components/agent-tools/test-results/test-results.class.js.map +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +3 -0
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts.map +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +5 -0
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js.map +1 -1
- package/dist/components/charts/chart/box-plot.class.d.ts.map +1 -1
- package/dist/components/charts/chart/box-plot.class.js +31 -0
- package/dist/components/charts/chart/box-plot.class.js.map +1 -1
- package/dist/components/charts/chart/chart-loader.d.ts +2 -2
- package/dist/components/charts/chart/chart-loader.d.ts.map +1 -1
- package/dist/components/charts/chart/chart-loader.js +7 -1
- package/dist/components/charts/chart/chart-loader.js.map +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +5 -1
- package/dist/components/charts/chart/chart.class.d.ts.map +1 -1
- package/dist/components/charts/chart/chart.class.js +17 -2
- package/dist/components/charts/chart/chart.class.js.map +1 -1
- package/dist/components/charts/chart/chart.styles.d.ts.map +1 -1
- package/dist/components/charts/chart/chart.styles.js +5 -1
- package/dist/components/charts/chart/chart.styles.js.map +1 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts.map +1 -1
- package/dist/components/charts/chart/lite-chart.class.js +2 -0
- package/dist/components/charts/chart/lite-chart.class.js.map +1 -1
- package/dist/components/conversation/code-block/code-block-core.class.d.ts +7 -8
- package/dist/components/conversation/code-block/code-block-core.class.d.ts.map +1 -1
- package/dist/components/conversation/code-block/code-block-core.class.js +75 -227
- package/dist/components/conversation/code-block/code-block-core.class.js.map +1 -1
- package/dist/components/conversation/code-block/code-block-shared.d.ts +173 -7
- package/dist/components/conversation/code-block/code-block-shared.d.ts.map +1 -1
- package/dist/components/conversation/code-block/code-block-shared.js +312 -6
- package/dist/components/conversation/code-block/code-block-shared.js.map +1 -1
- package/dist/components/conversation/code-block/code-block.class.d.ts +6 -7
- package/dist/components/conversation/code-block/code-block.class.d.ts.map +1 -1
- package/dist/components/conversation/code-block/code-block.class.js +70 -231
- package/dist/components/conversation/code-block/code-block.class.js.map +1 -1
- package/dist/components/conversation/markdown/markdown-core.class.d.ts +9 -22
- package/dist/components/conversation/markdown/markdown-core.class.d.ts.map +1 -1
- package/dist/components/conversation/markdown/markdown-core.class.js +87 -314
- package/dist/components/conversation/markdown/markdown-core.class.js.map +1 -1
- package/dist/components/conversation/markdown/markdown-shared.d.ts +213 -9
- package/dist/components/conversation/markdown/markdown-shared.d.ts.map +1 -1
- package/dist/components/conversation/markdown/markdown-shared.js +362 -8
- package/dist/components/conversation/markdown/markdown-shared.js.map +1 -1
- package/dist/components/conversation/markdown/markdown.class.d.ts +9 -22
- package/dist/components/conversation/markdown/markdown.class.d.ts.map +1 -1
- package/dist/components/conversation/markdown/markdown.class.js +81 -311
- package/dist/components/conversation/markdown/markdown.class.js.map +1 -1
- package/dist/components/conversation/message-feedback/message-feedback.class.d.ts.map +1 -1
- package/dist/components/conversation/message-feedback/message-feedback.class.js +4 -1
- package/dist/components/conversation/message-feedback/message-feedback.class.js.map +1 -1
- package/dist/components/conversation/prompt-input/prompt-input.styles.d.ts.map +1 -1
- package/dist/components/conversation/prompt-input/prompt-input.styles.js +9 -2
- package/dist/components/conversation/prompt-input/prompt-input.styles.js.map +1 -1
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts.map +1 -1
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +8 -1
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js.map +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.d.ts.map +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.js +5 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.js.map +1 -1
- package/dist/components/data/document-library/document-library.class.d.ts.map +1 -1
- package/dist/components/data/document-library/document-library.class.js +4 -1
- package/dist/components/data/document-library/document-library.class.js.map +1 -1
- package/dist/components/data/env-list/env-list.styles.d.ts.map +1 -1
- package/dist/components/data/env-list/env-list.styles.js +5 -0
- package/dist/components/data/env-list/env-list.styles.js.map +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.js +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.js.map +1 -1
- package/dist/components/data/flow-minimap/flow-minimap.styles.d.ts.map +1 -1
- package/dist/components/data/flow-minimap/flow-minimap.styles.js +6 -0
- package/dist/components/data/flow-minimap/flow-minimap.styles.js.map +1 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts.map +1 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.class.js +10 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.class.js.map +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts.map +1 -1
- package/dist/components/data/heatmap/heatmap.class.js +17 -2
- package/dist/components/data/heatmap/heatmap.class.js.map +1 -1
- package/dist/components/data/pagination/pagination.class.d.ts +2 -0
- package/dist/components/data/pagination/pagination.class.d.ts.map +1 -1
- package/dist/components/data/pagination/pagination.class.js +2 -0
- package/dist/components/data/pagination/pagination.class.js.map +1 -1
- package/dist/components/data/pagination/pagination.styles.d.ts.map +1 -1
- package/dist/components/data/pagination/pagination.styles.js +7 -2
- package/dist/components/data/pagination/pagination.styles.js.map +1 -1
- package/dist/components/data/table/table.class.d.ts +7 -2
- package/dist/components/data/table/table.class.d.ts.map +1 -1
- package/dist/components/data/table/table.class.js +40 -6
- package/dist/components/data/table/table.class.js.map +1 -1
- package/dist/components/data/tree/tree-node.class.d.ts +2 -0
- package/dist/components/data/tree/tree-node.class.d.ts.map +1 -1
- package/dist/components/data/tree/tree-node.class.js +2 -0
- package/dist/components/data/tree/tree-node.class.js.map +1 -1
- package/dist/components/forms/color-picker/color-picker.class.d.ts.map +1 -1
- package/dist/components/forms/color-picker/color-picker.class.js +9 -0
- package/dist/components/forms/color-picker/color-picker.class.js.map +1 -1
- package/dist/components/forms/date-picker/date-picker.class.d.ts +2 -0
- package/dist/components/forms/date-picker/date-picker.class.d.ts.map +1 -1
- package/dist/components/forms/date-picker/date-picker.class.js +2 -0
- package/dist/components/forms/date-picker/date-picker.class.js.map +1 -1
- package/dist/components/forms/date-picker/date-picker.styles.d.ts.map +1 -1
- package/dist/components/forms/date-picker/date-picker.styles.js +8 -3
- package/dist/components/forms/date-picker/date-picker.styles.js.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-data-loader.js +28 -2
- package/dist/components/forms/emoji-picker/emoji-data-loader.js.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +4 -0
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +8 -2
- package/dist/components/forms/emoji-picker/emoji-picker.class.js.map +1 -1
- package/dist/components/forms/emoji-picker/emoji-types.d.ts +9 -0
- package/dist/components/forms/emoji-picker/emoji-types.d.ts.map +1 -1
- package/dist/components/forms/input/input.styles.d.ts.map +1 -1
- package/dist/components/forms/input/input.styles.js +17 -4
- package/dist/components/forms/input/input.styles.js.map +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts.map +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.js +3 -1
- package/dist/components/forms/locale-picker/locale-picker.class.js.map +1 -1
- package/dist/components/forms/radio/radio.class.d.ts +5 -0
- package/dist/components/forms/radio/radio.class.d.ts.map +1 -1
- package/dist/components/forms/radio/radio.class.js +5 -0
- package/dist/components/forms/radio/radio.class.js.map +1 -1
- package/dist/components/forms/radio/radio.styles.d.ts.map +1 -1
- package/dist/components/forms/radio/radio.styles.js +5 -2
- package/dist/components/forms/radio/radio.styles.js.map +1 -1
- package/dist/components/forms/select/select.class.d.ts +9 -1
- package/dist/components/forms/select/select.class.d.ts.map +1 -1
- package/dist/components/forms/select/select.class.js +9 -1
- package/dist/components/forms/select/select.class.js.map +1 -1
- package/dist/components/forms/slider/slider.class.d.ts +8 -0
- package/dist/components/forms/slider/slider.class.d.ts.map +1 -1
- package/dist/components/forms/slider/slider.class.js +14 -0
- package/dist/components/forms/slider/slider.class.js.map +1 -1
- package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +12 -0
- package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts.map +1 -1
- package/dist/components/forms/swatch-picker/swatch-picker.class.js +22 -0
- package/dist/components/forms/swatch-picker/swatch-picker.class.js.map +1 -1
- package/dist/components/forms/time-range/time-range.class.d.ts +9 -0
- package/dist/components/forms/time-range/time-range.class.d.ts.map +1 -1
- package/dist/components/forms/time-range/time-range.class.js +15 -0
- package/dist/components/forms/time-range/time-range.class.js.map +1 -1
- package/dist/components/layout/button-group/button-group.styles.d.ts.map +1 -1
- package/dist/components/layout/button-group/button-group.styles.js +10 -1
- package/dist/components/layout/button-group/button-group.styles.js.map +1 -1
- package/dist/components/layout/drilldown-panel/drilldown-panel.class.d.ts.map +1 -1
- package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +5 -1
- package/dist/components/layout/drilldown-panel/drilldown-panel.class.js.map +1 -1
- package/dist/components/layout/filter-bar/filter-bar.class.d.ts.map +1 -1
- package/dist/components/layout/filter-bar/filter-bar.class.js +4 -1
- package/dist/components/layout/filter-bar/filter-bar.class.js.map +1 -1
- package/dist/components/layout/split/split.class.d.ts +8 -0
- package/dist/components/layout/split/split.class.d.ts.map +1 -1
- package/dist/components/layout/split/split.class.js +8 -0
- package/dist/components/layout/split/split.class.js.map +1 -1
- package/dist/components/layout/split/split.styles.d.ts.map +1 -1
- package/dist/components/layout/split/split.styles.js +26 -10
- package/dist/components/layout/split/split.styles.js.map +1 -1
- package/dist/components/layout/stepper/stepper.class.d.ts +4 -0
- package/dist/components/layout/stepper/stepper.class.d.ts.map +1 -1
- package/dist/components/layout/stepper/stepper.class.js +7 -0
- package/dist/components/layout/stepper/stepper.class.js.map +1 -1
- package/dist/components/layout/stepper/stepper.styles.d.ts.map +1 -1
- package/dist/components/layout/stepper/stepper.styles.js +13 -0
- package/dist/components/layout/stepper/stepper.styles.js.map +1 -1
- package/dist/components/layout/widget/widget.class.d.ts +4 -0
- package/dist/components/layout/widget/widget.class.d.ts.map +1 -1
- package/dist/components/layout/widget/widget.class.js +4 -0
- package/dist/components/layout/widget/widget.class.js.map +1 -1
- package/dist/components/layout/widget/widget.styles.d.ts.map +1 -1
- package/dist/components/layout/widget/widget.styles.js +9 -3
- package/dist/components/layout/widget/widget.styles.js.map +1 -1
- package/dist/components/media/flag/flag.class.d.ts +1 -1
- package/dist/components/media/flag/flag.class.d.ts.map +1 -1
- package/dist/components/media/flag/flag.class.js +2 -1
- package/dist/components/media/flag/flag.class.js.map +1 -1
- package/dist/components/media/image-viewer/image-viewer.styles.d.ts.map +1 -1
- package/dist/components/media/image-viewer/image-viewer.styles.js +1 -0
- package/dist/components/media/image-viewer/image-viewer.styles.js.map +1 -1
- package/dist/components/overlays/chip/chip-group.class.d.ts +4 -0
- package/dist/components/overlays/chip/chip-group.class.d.ts.map +1 -1
- package/dist/components/overlays/chip/chip-group.class.js +4 -0
- package/dist/components/overlays/chip/chip-group.class.js.map +1 -1
- package/dist/components/overlays/chip/chip-group.styles.d.ts.map +1 -1
- package/dist/components/overlays/chip/chip-group.styles.js +7 -2
- package/dist/components/overlays/chip/chip-group.styles.js.map +1 -1
- package/dist/components/overlays/rating/rating.styles.d.ts.map +1 -1
- package/dist/components/overlays/rating/rating.styles.js +11 -4
- package/dist/components/overlays/rating/rating.styles.js.map +1 -1
- package/dist/components/retrieval/claim-evidence/claim-evidence.class.d.ts.map +1 -1
- package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +4 -1
- package/dist/components/retrieval/claim-evidence/claim-evidence.class.js.map +1 -1
- package/dist/components/retrieval/graph/graph-canvas.d.ts +25 -0
- package/dist/components/retrieval/graph/graph-canvas.d.ts.map +1 -1
- package/dist/components/retrieval/graph/graph-canvas.js +30 -1
- package/dist/components/retrieval/graph/graph-canvas.js.map +1 -1
- package/dist/components/retrieval/graph/graph.class.d.ts +2 -1
- package/dist/components/retrieval/graph/graph.class.d.ts.map +1 -1
- package/dist/components/retrieval/graph/graph.class.js +12 -1
- package/dist/components/retrieval/graph/graph.class.js.map +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +5 -0
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts.map +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +5 -0
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js.map +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.d.ts.map +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js +7 -3
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js.map +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts.map +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +10 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js.map +1 -1
- package/dist/components/utility/diff-view/diff-view.styles.d.ts.map +1 -1
- package/dist/components/utility/diff-view/diff-view.styles.js +11 -0
- package/dist/components/utility/diff-view/diff-view.styles.js.map +1 -1
- package/dist/components/viewers/archive-viewer/archive-viewer-register.js +16 -3
- package/dist/components/viewers/archive-viewer/archive-viewer-register.js.map +1 -1
- package/dist/components/viewers/document-viewer/document-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/document-viewer/document-viewer.class.js +1 -0
- package/dist/components/viewers/document-viewer/document-viewer.class.js.map +1 -1
- package/dist/components/viewers/docx-viewer/docx-viewer.js +6 -1
- package/dist/components/viewers/docx-viewer/docx-viewer.js.map +1 -1
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts +10 -4
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +31 -6
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js.map +1 -1
- package/dist/components/viewers/html-viewer/html-viewer.js +7 -0
- package/dist/components/viewers/html-viewer/html-viewer.js.map +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts +3 -0
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +7 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js.map +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +4 -0
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +8 -4
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js.map +1 -1
- package/dist/components/viewers/pptx-viewer/pptx-viewer.js +11 -1
- package/dist/components/viewers/pptx-viewer/pptx-viewer.js.map +1 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts +29 -17
- package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts.map +1 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.class.js +27 -22
- package/dist/components/viewers/svg-viewer/svg-viewer.class.js.map +1 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.d.ts.map +1 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.js +7 -6
- package/dist/components/viewers/svg-viewer/svg-viewer.js.map +1 -1
- package/dist/internal/form-associated.d.ts +21 -0
- package/dist/internal/form-associated.d.ts.map +1 -1
- package/dist/internal/form-associated.js +25 -8
- package/dist/internal/form-associated.js.map +1 -1
- package/dist/internal/localization.d.ts +1 -1
- package/dist/internal/localization.d.ts.map +1 -1
- package/dist/internal/localization.js +17 -0
- package/dist/internal/localization.js.map +1 -1
- package/llms/components/lr-agent-run.md +3 -2
- package/llms/components/lr-approval-queue.md +6 -1
- package/llms/components/lr-archive-viewer.md +6 -2
- package/llms/components/lr-artifact-panel.md +7 -3
- package/llms/components/lr-attachment-chip.md +8 -6
- package/llms/components/lr-avatar.md +6 -4
- package/llms/components/lr-bar-chart.md +4 -2
- package/llms/components/lr-bubble-chart.md +4 -2
- package/llms/components/lr-button-group.md +10 -0
- package/llms/components/lr-button.md +11 -6
- package/llms/components/lr-chart.md +8 -2
- package/llms/components/lr-chip-group.md +9 -2
- package/llms/components/lr-chip.md +8 -1
- package/llms/components/lr-commit-card.md +11 -3
- package/llms/components/lr-confirm-bar.md +9 -1
- package/llms/components/lr-date-input.md +4 -0
- package/llms/components/lr-date-picker.md +5 -1
- package/llms/components/lr-document-viewer.md +1 -1
- package/llms/components/lr-doughnut-chart.md +4 -2
- package/llms/components/lr-emoji-picker.md +16 -4
- package/llms/components/lr-export-button.md +2 -1
- package/llms/components/lr-flag.md +9 -5
- package/llms/components/lr-graph-query-builder.md +6 -5
- package/llms/components/lr-heatmap.md +12 -7
- package/llms/components/lr-histogram.md +3 -2
- package/llms/components/lr-html-viewer.md +4 -1
- package/llms/components/lr-json-viewer.md +2 -1
- package/llms/components/lr-knowledge-base-admin.md +10 -1
- package/llms/components/lr-known-date.md +8 -4
- package/llms/components/lr-line-chart.md +4 -2
- package/llms/components/lr-locale-picker.md +1 -1
- package/llms/components/lr-model-select.md +3 -0
- package/llms/components/lr-notebook-viewer.md +4 -2
- package/llms/components/lr-pagination.md +6 -3
- package/llms/components/lr-pdf-viewer.md +5 -2
- package/llms/components/lr-pie-chart.md +4 -2
- package/llms/components/lr-polar-area-chart.md +4 -2
- package/llms/components/lr-pptx-viewer.md +3 -1
- package/llms/components/lr-push-to-talk.md +4 -0
- package/llms/components/lr-radar-chart.md +4 -2
- package/llms/components/lr-radio.md +7 -1
- package/llms/components/lr-result-card.md +9 -3
- package/llms/components/lr-result-field.md +8 -2
- package/llms/components/lr-retrieval-results.md +12 -7
- package/llms/components/lr-scatter-chart.md +4 -2
- package/llms/components/lr-schema-viewer.md +13 -1
- package/llms/components/lr-sequence-strip.md +21 -16
- package/llms/components/lr-slider.md +4 -0
- package/llms/components/lr-split.md +9 -1
- package/llms/components/lr-stepper.md +9 -3
- package/llms/components/lr-svg-viewer.md +24 -8
- package/llms/components/lr-table.md +21 -3
- package/llms/components/lr-task-list.md +7 -3
- package/llms/components/lr-terminal.md +10 -4
- package/llms/components/lr-time-range.md +6 -0
- package/llms/components/lr-tool-call-chip.md +4 -3
- package/llms/components/lr-tool-param-form.md +7 -2
- package/llms/components/lr-tool-result-dialog.md +2 -1
- package/llms/components/lr-tree-node.md +1 -1
- package/llms/components/lr-widget.md +6 -1
- package/llms/shared.md +1 -1
- package/llms-full.txt +357 -117
- package/package.json +7 -4
- package/vscode-css-data.json +141 -1
- package/vscode-html-data.json +36 -36
- package/web-types.json +120 -35
package/llms-full.txt
CHANGED
|
@@ -381,7 +381,7 @@ The side-effect-free `@aceshooting/lyra-ui/localization.js` entry exports
|
|
|
381
381
|
`LYRA_DEFAULT_STRINGS`, and the types `LyraLocaleStrings` / `LyraMessageKey`. The package root
|
|
382
382
|
continues to re-export the same surface for compatibility, but it also registers the non-peer-gated
|
|
383
383
|
component graph; use the dedicated entry when the application only needs locale setup.
|
|
384
|
-
**`LYRA_DEFAULT_STRINGS` is the authoritative key list** (
|
|
384
|
+
**`LYRA_DEFAULT_STRINGS` is the authoritative key list** (1170 keys, matching the
|
|
385
385
|
`LyraMessageKey` union) — read it to find the key to override rather than guessing one. Lookup
|
|
386
386
|
falls back exact locale → base language → English. Date, number, byte, relative-time and calendar
|
|
387
387
|
output goes through `Intl`.
|
|
@@ -1291,6 +1291,10 @@ and `dateTimeFormat(locale, options)`.
|
|
|
1291
1291
|
- `--lr-date-picker-month-gap` — Gap between visible months. Default: `var(--lr-space-l)`.
|
|
1292
1292
|
- `--lr-date-picker-header-gap` — Month-header child gap. Default: `var(--lr-space-s)`.
|
|
1293
1293
|
- `--lr-date-picker-radius` — Calendar and control corner radius. Default: `var(--lr-radius)`.
|
|
1294
|
+
- `--lr-date-picker-nav-hover-bg` — Hover background of the previous/next month-navigation buttons.
|
|
1295
|
+
Default: `var(--lr-color-brand-quiet)`. An inline `var()` fallback rather than a `:host`
|
|
1296
|
+
declaration, and the rule wraps its selector in `:where()` so a consumer's own
|
|
1297
|
+
`::part(previous):hover` still wins without `!important`.
|
|
1294
1298
|
- `--lr-date-input-placeholder-color` — Placeholder text color. Default: `var(--lr-color-text-quiet)`.
|
|
1295
1299
|
- `--lr-date-input-gap` — Gap between input-row children. Default: `var(--lr-space-xs)`.
|
|
1296
1300
|
- `--lr-date-input-radius` — Input-row corner radius. Default: `var(--lr-radius)`.
|
|
@@ -1500,18 +1504,23 @@ loud fill token), `--lr-button-outlined-border` (default `--lr-color-border-stro
|
|
|
1500
1504
|
`--lr-color-border`) — the `appearance="quiet"` foreground/border pair, also variant-independent,
|
|
1501
1505
|
`--lr-button-hover-brightness` (default `1.08`, the `:hover` filter intensity),
|
|
1502
1506
|
`--lr-button-active-scale` (default `0.9875`, the `:active` press-scale, disabled under
|
|
1503
|
-
`prefers-reduced-motion`), `--lr-button-spinner-duration` (default `
|
|
1504
|
-
rotation period;
|
|
1507
|
+
`prefers-reduced-motion`), `--lr-button-spinner-duration` (default `var(--lr-transition-ambient)`, i.e.
|
|
1508
|
+
`1.8s ease-in-out`, the `loading` spinner's rotation period; that token itself collapses to
|
|
1509
|
+
`0.001ms linear` under `prefers-reduced-motion`, so the spinner effectively stops),
|
|
1505
1510
|
`--lr-button-outlined-fill` (default `transparent`, the `appearance="outlined"` background — also
|
|
1506
1511
|
variant-independent; set it to tint an outlined button with, say, a faint surface wash behind the
|
|
1507
1512
|
outline, without a `::part(base)` rule. Note that the `:hover` `filter: brightness()` applies to
|
|
1508
1513
|
whatever fill is set, so a tinted outlined button visibly brightens on hover where a transparent
|
|
1509
1514
|
one did not),
|
|
1510
1515
|
and the per-`size`
|
|
1511
|
-
`min-block-size` floors `--lr-button-size-2xs` (`
|
|
1512
|
-
`--lr-button-size-
|
|
1513
|
-
`--lr-button-size-
|
|
1514
|
-
|
|
1516
|
+
`min-block-size` floors `--lr-button-size-2xs` (`var(--lr-size-1-25rem)`, 1.25rem),
|
|
1517
|
+
`--lr-button-size-xs` (`var(--lr-size-1-5rem)`, 1.5rem), `--lr-button-size-s`
|
|
1518
|
+
(`var(--lr-size-1-875rem)`, 1.875rem), `--lr-button-size-m` (`var(--lr-size-2-5rem)`, 2.5rem),
|
|
1519
|
+
`--lr-button-size-l` (`var(--lr-size-3rem)`, 3rem), `--lr-button-size-xl`
|
|
1520
|
+
(`var(--lr-size-3-5rem)`, 3.5rem) — each read only by its own `size` tier, and all ignored by
|
|
1521
|
+
`appearance="link"`. The `s`/`m`/`l`/`xl` floors are deliberately at or above the
|
|
1522
|
+
`--lr-icon-button-size` (2.5rem) hit-area minimum from `m` upward; they resolve through shared
|
|
1523
|
+
`--lr-size-*` tokens rather than literal rem values, so a retheme moves them together. `--lr-button-gap` (default `--lr-space-2xs`, the gap between the icon/label
|
|
1515
1524
|
and any slotted content) and `--lr-button-radius` (default `--lr-radius`, the corner radius) are
|
|
1516
1525
|
both retunable without a `::part(base)` rule but — unlike the four size knobs below — do not vary
|
|
1517
1526
|
by `size` tier; `appearance="link"` ignores `--lr-button-radius` (it renders with zero radius).
|
|
@@ -2098,6 +2107,12 @@ consumer-facing `disabled` property/attribute itself.
|
|
|
2098
2107
|
PageDown key press, `detail: { start, end }`), `lr-change` (fired on pointer release /
|
|
2099
2108
|
key-up-commit, or when a preset button is clicked, `detail: { start, end }`)
|
|
2100
2109
|
|
|
2110
|
+
**Methods:** `focus(options?)`, `blur()`, and `click()` forward to `[part="handle-start"]`. A
|
|
2111
|
+
two-handle control has no single canonical target, so the start handle is the one they address —
|
|
2112
|
+
call `.focus()` on `::part(handle-end)` yourself if you need the other. Without these overrides the
|
|
2113
|
+
host's own `focus()`/`blur()`/`click()` are no-ops, because the real control lives in the shadow
|
|
2114
|
+
root.
|
|
2115
|
+
|
|
2101
2116
|
**Slots:** none.
|
|
2102
2117
|
|
|
2103
2118
|
**CSS parts:** `base`, `track`, `range`, `handle-start`, `handle-end`, `presets`, `preset-button`
|
|
@@ -2514,6 +2529,10 @@ pointerup for a drag, or on keyup for a keyboard step, so a single Arrow/Home/En
|
|
|
2514
2529
|
fires both `lr-input` and `lr-change`, mirroring native `<input type=range>`'s own `change`-on-every-
|
|
2515
2530
|
committed-step behavior)
|
|
2516
2531
|
|
|
2532
|
+
**Methods:** `focus(options?)`, `blur()`, and `click()` forward to the internal `[part="thumb"]`
|
|
2533
|
+
control — without them the host's own `focus()`/`blur()`/`click()` would be no-ops, because the
|
|
2534
|
+
`role="slider"` element they need to reach lives in the shadow root.
|
|
2535
|
+
|
|
2517
2536
|
**Slots:** none.
|
|
2518
2537
|
|
|
2519
2538
|
**CSS parts:** `base` (row wrapping the track and optional value readout), `track`, `fill` (filled
|
|
@@ -2586,6 +2605,12 @@ element (or on `lr-radio` in your own stylesheet) moves the label. Exactly the s
|
|
|
2586
2605
|
purpose, and sideways-inheritance caveat as `--lr-checkbox-label-indent` — see `lr-checkbox` above
|
|
2587
2606
|
for the formula to align a sibling hint element.
|
|
2588
2607
|
|
|
2608
|
+
`--lr-radio-checked-border-color` (default `var(--lr-color-brand)`) and `--lr-radio-checked-dot-color`
|
|
2609
|
+
(default `var(--lr-color-brand)`) recolor `[part='circle']`'s border and `[part='dot']`'s background
|
|
2610
|
+
while `checked` — a component-scoped indirection (the same pattern `lr-checkbox`'s own
|
|
2611
|
+
`--lr-checkbox-checked-bg`/`-border` pair uses) so a consumer can retint just this control's checked
|
|
2612
|
+
ring/dot without hijacking the shared `--lr-color-brand` token everything else reads.
|
|
2613
|
+
|
|
2589
2614
|
```html
|
|
2590
2615
|
<lr-radio name="format" value="json">JSON</lr-radio>
|
|
2591
2616
|
```
|
|
@@ -2810,9 +2835,14 @@ Ships the same opt-in `label`/`hint`/`errorText` form-control chrome as `lr-sele
|
|
|
2810
2835
|
`error` CSS parts) — left unset, none of that chrome renders.
|
|
2811
2836
|
|
|
2812
2837
|
**Properties:** the shared form properties `name`, `value`, `disabled`, and `required`, plus
|
|
2813
|
-
`groups: EmojiPickerGroup[] = []` (attribute: false) — `EmojiPickerGroup { key, label,
|
|
2814
|
-
EmojiPickerItem[] }`, `EmojiPickerItem { emoji, name, shortcodes? }`; the search field matches
|
|
2815
|
-
and every `shortcodes` entry, case-insensitively.
|
|
2838
|
+
`groups: EmojiPickerGroup[] = []` (attribute: false) — `EmojiPickerGroup { key, label, labelKey?,
|
|
2839
|
+
emojis: EmojiPickerItem[] }`, `EmojiPickerItem { emoji, name, shortcodes? }`; the search field matches
|
|
2840
|
+
`name` and every `shortcodes` entry, case-insensitively. `labelKey` is an optional `LyraMessageKey`
|
|
2841
|
+
naming `label`'s localized form — set only by the built-in `emoji-picker-element-data` adapter, whose
|
|
2842
|
+
headings come from emojibase's fixed group ids, so an auto-loaded emoji set's group headings follow
|
|
2843
|
+
`registerLyraLocale()`/`.strings` instead of staying English. A hand-authored group leaves it unset
|
|
2844
|
+
and its `label` renders verbatim, because a consumer-supplied heading is caller-owned content this
|
|
2845
|
+
library never translates. Empty (the default, before the auto-loader
|
|
2816
2846
|
resolves) renders just the search input and the empty state. `accessibleLabel` (`aria-label`)
|
|
2817
2847
|
forwards a host-supplied accessible name to the internal `role="listbox"` grid; empty falls back to
|
|
2818
2848
|
the localized default grid label. `label: string = ''` — visible label rendered above the
|
|
@@ -2884,7 +2914,14 @@ windowed row are additionally capped at 20 regardless of available width.
|
|
|
2884
2914
|
**Optional peer dependency:** install `emoji-picker-element-data` with
|
|
2885
2915
|
`pnpm add emoji-picker-element-data` for the built-in auto-loaded default emoji set — omit it and
|
|
2886
2916
|
supply `groups` directly instead. The loader never throws; a missing or failed peer logs one
|
|
2887
|
-
`console.warn` and simply leaves `groups` empty.
|
|
2917
|
+
`console.warn` and simply leaves `groups` empty. The adapter buckets the peer's flat entry list by
|
|
2918
|
+
its numeric `group` id and tags each bucket with both the English `label` and the matching
|
|
2919
|
+
`labelKey` — `emojiPickerGroupSmileysEmotion`, `emojiPickerGroupPeopleBody`,
|
|
2920
|
+
`emojiPickerGroupComponent`, `emojiPickerGroupAnimalsNature`, `emojiPickerGroupFoodDrink`,
|
|
2921
|
+
`emojiPickerGroupTravelPlaces`, `emojiPickerGroupActivities`, `emojiPickerGroupObjects`,
|
|
2922
|
+
`emojiPickerGroupSymbols`, `emojiPickerGroupFlags` (group ids 0–9, in that order). Override any of
|
|
2923
|
+
them through `registerLyraLocale()` or a `.strings` object to translate the headings. An unknown
|
|
2924
|
+
future group id gets no `labelKey` and falls back to a generated `Group {id}` label.
|
|
2888
2925
|
|
|
2889
2926
|
**Additional API surface:**
|
|
2890
2927
|
|
|
@@ -2989,7 +3026,7 @@ peer warning duplication; `lr-flag` itself already logs one) when the optional
|
|
|
2989
3026
|
```html
|
|
2990
3027
|
<lr-locale-picker label="Language"></lr-locale-picker>
|
|
2991
3028
|
<script type="module">
|
|
2992
|
-
import { registerLyraLocale } from '@aceshooting/lyra-ui';
|
|
3029
|
+
import { registerLyraLocale } from '@aceshooting/lyra-ui/localization.js';
|
|
2993
3030
|
registerLyraLocale('fr', { close: 'Fermer' });
|
|
2994
3031
|
document
|
|
2995
3032
|
.querySelector('lr-locale-picker')
|
|
@@ -3209,7 +3246,8 @@ own "consumer computes/renders" contract rather than assuming addition.
|
|
|
3209
3246
|
via the retheme-able `--lr-table-heat-tint-lo`/`-hi` custom properties, matching `lr-heatmap`'s
|
|
3210
3247
|
own ramp-token convention; `cellStyle` is applied directly to the generated `<td>` via `styleMap` — e.g. a computed heat-tint
|
|
3211
3248
|
background a `cell()`-returned inner element can't paint into the cell's own padding — omit it for
|
|
3212
|
-
no per-cell style override (the default, unchanged output);
|
|
3249
|
+
no per-cell style override (the default, unchanged output);
|
|
3250
|
+
`editable` enables inline editing —
|
|
3213
3251
|
`true` opens a native editor on that cell's double-click (one cell at a time), `'always'` instead
|
|
3214
3252
|
renders a persistent editor in every body cell of the column from first paint, for a
|
|
3215
3253
|
settings/rate-style column meant to be typed straight into — while `editValue` supplies the editor
|
|
@@ -3221,7 +3259,16 @@ own "consumer computes/renders" contract rather than assuming addition.
|
|
|
3221
3259
|
the live width in CSS pixels. Drag it, or use logical ArrowLeft/ArrowRight for 10px steps (mirrored
|
|
3222
3260
|
under RTL), Shift+Arrow for 50px steps, Home for the minimum, and End for an explicit pixel
|
|
3223
3261
|
`maxWidth`; explicit pixel `minWidth`/`maxWidth` values bound both input paths. The separator
|
|
3224
|
-
exposes its current/minimum/bounded-maximum pixel width through ARIA value attributes.
|
|
3262
|
+
exposes its current/minimum/bounded-maximum pixel width through ARIA value attributes. Only the
|
|
3263
|
+
*commit* is vetoable — see `lr-column-resize` under Events.
|
|
3264
|
+
- **`cellStyle` beats `heatValue`, always.** `styleMap` writes an inline `style=` attribute, and an
|
|
3265
|
+
inline style outranks any stylesheet rule in the cascade regardless of specificity, while the heat
|
|
3266
|
+
tint is painted by a shadow-stylesheet rule. So a `cellStyle` returning
|
|
3267
|
+
`background`/`backgroundColor` on a column that also defines `heatValue` silently and completely
|
|
3268
|
+
erases that column's tint — no warning, and the cell still contributes to the shared domain, so the
|
|
3269
|
+
*other* tinted columns' scale shifts around a cell that shows no tint at all. Define both on one
|
|
3270
|
+
column only when that override is the intent; to tint *and* style, return only non-background
|
|
3271
|
+
declarations (`color`, `fontWeight`, `textAlign`, …) from `cellStyle`.
|
|
3225
3272
|
- `columns[].editable: boolean | 'always'` — a widening of the original `boolean`, non-breaking.
|
|
3226
3273
|
`true` is unchanged: double-click a cell to open its editor, one at a time, Enter commits and
|
|
3227
3274
|
closes, Escape cancels and closes, blur-after-change commits. `'always'` renders an editor in
|
|
@@ -3382,7 +3429,15 @@ own "consumer computes/renders" contract rather than assuming addition.
|
|
|
3382
3429
|
`lr-selection-change` (`detail: { keys }`) when selection is enabled, `lr-filter-change`
|
|
3383
3430
|
(`detail: { text }`), and `lr-page-change` (`detail: { page }`) from the controlled
|
|
3384
3431
|
filter/pagination surfaces, and `lr-cell-edit` (`detail: { row, key, value }`) for editable
|
|
3385
|
-
columns, and `lr-column-resize` (`detail: { key, width }`) on every pointer or
|
|
3432
|
+
columns, and `lr-column-resize` (`detail: { key, width }`, `width` in CSS pixels) on every pointer or
|
|
3433
|
+
keyboard resize step. **Only the commit is cancelable.** A pointer drag fires the event once per
|
|
3434
|
+
pixel of movement as non-cancelable live feedback, then exactly once more — `cancelable: true` — for
|
|
3435
|
+
the width committed at drag-end (and only when that width actually differs from the pre-drag one).
|
|
3436
|
+
A keyboard step (Arrow/Shift+Arrow/Home/End) is already one discrete action, so it fires that single
|
|
3437
|
+
cancelable commit directly, with no live-feedback stream. Calling `preventDefault()` on a cancelable
|
|
3438
|
+
emission reverts the column to its pre-gesture width (or removes the override entirely if the column
|
|
3439
|
+
had never been resized); calling it on a mid-drag step does nothing, by design — a veto is a decision
|
|
3440
|
+
about the final width, not about every pixel the pointer passes through.
|
|
3386
3441
|
The internal filter/cell-editor native inputs' `focus` and `blur` are also re-dispatched from the
|
|
3387
3442
|
host as bubbling, composed events (the native ones are neither).
|
|
3388
3443
|
|
|
@@ -3583,8 +3638,11 @@ The internal page input's `focus` and `blur` are also bridged as bubbling, compo
|
|
|
3583
3638
|
`--lr-pagination-font-size` (both default from `size`), `--lr-pagination-control-padding` (default
|
|
3584
3639
|
`var(--lr-space-xs)`) — inner padding of the previous/next buttons and the page input, deliberately
|
|
3585
3640
|
uniform across every `size` tier because the control's outer footprint is already fixed by
|
|
3586
|
-
`--lr-pagination-control-size`, so this only adjusts the icon/digit inset —
|
|
3587
|
-
|
|
3641
|
+
`--lr-pagination-control-size`, so this only adjusts the icon/digit inset —
|
|
3642
|
+
`--lr-pagination-invalid-border` (default `var(--lr-color-danger)`) — border color of
|
|
3643
|
+
`[part="page-input"]` while the typed page is out of range (`aria-invalid="true"`); a state hook
|
|
3644
|
+
declared as an inline `var()` fallback, since `::part(page-input)[aria-invalid='true']` is invalid
|
|
3645
|
+
CSS — plus shared color, spacing, border, radius, disabled-opacity, and focus-ring tokens.
|
|
3588
3646
|
|
|
3589
3647
|
**Optional peer deps:** none.
|
|
3590
3648
|
|
|
@@ -3940,13 +3998,18 @@ bar between them, while `legendStops` is supplied), `legend-stop` (one per `lege
|
|
|
3940
3998
|
closes the legend row, present in both the gradient and the `legendStops` branch),
|
|
3941
3999
|
`legend-annotation` (one per labeled `annotations` entry)
|
|
3942
4000
|
|
|
3943
|
-
**Themeable custom properties:** `--lr-heatmap-scale-lo` (default
|
|
3944
|
-
`--lr-heatmap-scale-hi` (default
|
|
3945
|
-
quartile-bucket ramp endpoints (calendar mode), resolved via `getComputedStyle` each
|
|
3946
|
-
CSS color syntax — hex/rgb/hsl/oklch/named — works, resolved through a scratch
|
|
3947
|
-
|
|
3948
|
-
|
|
3949
|
-
|
|
4001
|
+
**Themeable custom properties:** `--lr-heatmap-scale-lo` (default `var(--lr-color-brand-quiet)`),
|
|
4002
|
+
`--lr-heatmap-scale-hi` (default `var(--lr-color-brand)`) — the sequential color-ramp endpoints
|
|
4003
|
+
(matrix mode) or quartile-bucket ramp endpoints (calendar mode), resolved via `getComputedStyle` each
|
|
4004
|
+
draw (any valid CSS color syntax — hex/rgb/hsl/oklch/named — works, resolved through a scratch
|
|
4005
|
+
canvas). These defaults are declared on `:host`, so they follow the theme (including dark mode)
|
|
4006
|
+
rather than being pinned to a literal color; the hard-coded `#cde2fb`/`#0969da` pair in the source is
|
|
4007
|
+
only a last-resort constant for the case where the custom property resolves to an empty string (no
|
|
4008
|
+
stylesheet applied at all), not the shipped default.
|
|
4009
|
+
`--lr-heatmap-no-data-fill` (default `var(--lr-color-no-data)` — the no-data cell fill, same
|
|
4010
|
+
resolve-via-`getComputedStyle` pattern), `--lr-heatmap-label-font` (default
|
|
4011
|
+
`var(--lr-size-10px) var(--lr-font)` — the canvas-drawn axis/month/weekday label font),
|
|
4012
|
+
`--lr-heatmap-focus-ring-color` (default
|
|
3950
4013
|
`var(--lr-focus-ring-color)` — the canvas-drawn ring stroked around the keyboard-focused cell;
|
|
3951
4014
|
also reused by `[part="canvas"]`'s own `:focus-visible` outline so the two stay visually in sync),
|
|
3952
4015
|
`--lr-heatmap-color-steps-gradient` (default
|
|
@@ -4030,20 +4093,24 @@ same color as `--lr-heatmap-focus-ring-color`).
|
|
|
4030
4093
|
|
|
4031
4094
|
A compact, one-thin-cell-per-item strip visualizing a sequence of categorical states, with an
|
|
4032
4095
|
optional secondary per-cell marker. Pure CSS/flex — no chart.js, no SVG, no canvas — sized/named
|
|
4033
|
-
consistently with the sparkline/heatmap family,
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4096
|
+
consistently with the sparkline/heatmap family, and read as a glanceable aggregate. `[part="base"]`
|
|
4097
|
+
is a labeled `role="list"` and each cell a named `role="listitem"` (`aria-label`, `aria-posinset`,
|
|
4098
|
+
`aria-setsize`), so the sequence is walkable item by item rather than collapsed into one summary
|
|
4099
|
+
string. Exactly one cell is tabbable at a time (roving `tabindex`); ArrowLeft/ArrowRight and
|
|
4100
|
+
Home/End move the stop — direction-aware, so the arrows swap under RTL — and focusing a cell shows
|
|
4101
|
+
the same `[part="tooltip"]` detail that pointer hover does, wired through `aria-describedby`. Cells
|
|
4102
|
+
are inspectable, not actionable: there is no per-cell click/activation event, so unlike
|
|
4103
|
+
`<lr-heatmap>` there is nothing to fire on Enter/Space. Setting `showLegend` additionally renders a
|
|
4104
|
+
static `[part="legend"]` key below the strip, so the color-to-category mapping is readable without
|
|
4105
|
+
visiting each cell.
|
|
4040
4106
|
|
|
4041
4107
|
**Properties:**
|
|
4042
4108
|
- `items: SequenceStripItem[] = []` (attribute: false) — `{ id, category, marker?, label? }`;
|
|
4043
4109
|
`marker` renders a small bottom marker on that cell independent of the category color (e.g. a
|
|
4044
|
-
subagent-dispatched turn); `label` is per-item hover
|
|
4045
|
-
category's own `label` (or its
|
|
4046
|
-
|
|
4110
|
+
subagent-dispatched turn); `label` is per-item hover/focus tooltip text *and* that cell's own
|
|
4111
|
+
`role="listitem"` accessible name, falling back to the matching category's own `label` (or its
|
|
4112
|
+
`key`) when unset — it is not read by `[part="base"]`'s auto-generated `aria-label`, which
|
|
4113
|
+
summarizes by category/count only
|
|
4047
4114
|
- `categories: SequenceStripCategory[] = []` (attribute: false) — `{ key, color, label? }`; `color`
|
|
4048
4115
|
is the cell background for every item whose `category` matches `key` (an item whose `category`
|
|
4049
4116
|
matches no entry renders `transparent`); `label` is used in the auto-generated `aria-label` summary
|
|
@@ -4058,9 +4125,9 @@ mapping is readable without hovering each cell.
|
|
|
4058
4125
|
order. The key describes the *scheme*, not the current data: a category with no matching item
|
|
4059
4126
|
still gets a row, and an item whose `category` matches no entry adds none. Deliberately
|
|
4060
4127
|
non-interactive — it toggles nothing and emits nothing (`lr-graph-legend` is the interactive,
|
|
4061
|
-
filtering legend). Because it only repeats the category names `[part="base"]`
|
|
4062
|
-
|
|
4063
|
-
|
|
4128
|
+
filtering legend). Because it only repeats the category names `[part="base"]`'s own `aria-label`
|
|
4129
|
+
summary already announces, the legend is `aria-hidden` — visible on screen, announced exactly
|
|
4130
|
+
once — and it wraps onto further rows in a narrow allocation rather than overflowing
|
|
4064
4131
|
- `markerLabel?: string` (attribute `marker-label`) — names what an item's `marker` *means* (e.g.
|
|
4065
4132
|
`"Subagent"`). Setting it does two things: with `showLegend` on it adds one trailing
|
|
4066
4133
|
`[part="legend-item"]`, whose `[part="legend-marker-swatch"]` reproduces the cell's own marker
|
|
@@ -4072,9 +4139,10 @@ mapping is readable without hovering each cell.
|
|
|
4072
4139
|
|
|
4073
4140
|
**Slots:** none.
|
|
4074
4141
|
|
|
4075
|
-
**CSS parts:** `base` (the root strip, `role="
|
|
4076
|
-
by its category), `marker` (the small bottom
|
|
4077
|
-
|
|
4142
|
+
**CSS parts:** `base` (the root strip, `role="list"`), `cell` (each item's `role="listitem"` cell,
|
|
4143
|
+
background-colored by its category and carrying the roving `tabindex`), `marker` (the small bottom
|
|
4144
|
+
marker on a cell whose item sets `marker: true`), `tooltip` (the detail tooltip showing the active
|
|
4145
|
+
item's label, hidden until a cell is hovered or focused),
|
|
4078
4146
|
`legend` (the static category key rendered below the strip when `showLegend` is set — `aria-hidden`,
|
|
4079
4147
|
as it repeats the strip's own `aria-label`), `legend-item` (one swatch + label pair, one per
|
|
4080
4148
|
`categories` entry, plus one trailing marker row when `markerLabel` is set), `legend-swatch` (the
|
|
@@ -4860,11 +4928,12 @@ relationship and node-type filters, hop limits, validation, and saved queries.
|
|
|
4860
4928
|
`validationMessage`, `willValidate`, `checkValidity`, `reportValidity`, `formDisabledCallback`,
|
|
4861
4929
|
`formResetCallback`, `formStateRestoreCallback`. **Events:** `lr-input`, `lr-validity-change`,
|
|
4862
4930
|
`lr-query-run`, `lr-query-save`, `lr-query-load`, `lr-query-delete`. **Slots:** `actions`. **CSS
|
|
4863
|
-
parts:** `base`, `
|
|
4864
|
-
|
|
4865
|
-
`
|
|
4866
|
-
`
|
|
4867
|
-
`saved-
|
|
4931
|
+
parts:** `base`, `label`, `hint`, `error` (the three form-control chrome parts every
|
|
4932
|
+
form-associated control in this library exposes — see `lr-select`), `path-fields`, `start-input`,
|
|
4933
|
+
`end-input`, `relationship-picker`, `relationship-chips`, `node-type-picker`, `node-type-chips`,
|
|
4934
|
+
`direction`, `filter-group`, `min-hops`, `max-hops`, `footer`, `run-button`, `save-button`,
|
|
4935
|
+
`save-row`, `save-name-input`, `saved-queries`, `saved-queries-label`, `saved-list`, `saved-item`,
|
|
4936
|
+
`saved-load-button`, `saved-delete-button`, `saved-empty`.
|
|
4868
4937
|
|
|
4869
4938
|
**Additional API surface:**
|
|
4870
4939
|
|
|
@@ -5042,6 +5111,14 @@ fired only when an enabled `orientationBreakpoint` actually changes `effectiveOr
|
|
|
5042
5111
|
|
|
5043
5112
|
**Themeable custom properties:** `--lr-split-overlay-color` (default `var(--lr-color-overlay)`) —
|
|
5044
5113
|
the `'floating'` drawer's `[part='backdrop']` scrim; scoped to `[part='base']`, not the viewport.
|
|
5114
|
+
`--lr-split-divider-hit-slop` (default `calc((var(--lr-size-3px) - var(--lr-icon-button-size)) / 2)`,
|
|
5115
|
+
i.e. `-18.5px` at the shipped token values) — the per-side inset of `[part='divider']`'s invisible
|
|
5116
|
+
`::before` hit area along the resize axis. It is negative on purpose: the `::before` box extends past
|
|
5117
|
+
the divider's own edges so the *effective* pointer/touch target reaches the shared
|
|
5118
|
+
`--lr-icon-button-size` WCAG 2.5.8 floor (40px) while the divider anyone can see stays 3px. Unlike
|
|
5119
|
+
most properties here it is **declared on `:host`**, so an override has to target the element itself —
|
|
5120
|
+
an ancestor rule is shadowed. Overriding it directly is rarely the right move: retheme
|
|
5121
|
+
`--lr-size-3px` or `--lr-icon-button-size` and the slop recomputes to keep exactly closing the gap.
|
|
5045
5122
|
Otherwise shared tokens only.
|
|
5046
5123
|
|
|
5047
5124
|
**Optional peer deps:** none.
|
|
@@ -5202,6 +5279,11 @@ override the library-wide `--lr-color-brand-quiet`/`--lr-color-brand` tokens, re
|
|
|
5202
5279
|
element that reads them. Left unset, each falls back to exactly the token the rule used before, so
|
|
5203
5280
|
rendering is unchanged.
|
|
5204
5281
|
|
|
5282
|
+
`--lr-widget-view-toggle-hover-bg` (default `var(--lr-color-brand-quiet)`) and
|
|
5283
|
+
`--lr-widget-view-toggle-hover-color` (default `var(--lr-color-text)`) are the same shape for the
|
|
5284
|
+
*hover* state, and the `:hover` rule wraps its selector in `:where()` so a consumer's own
|
|
5285
|
+
`::part(view-toggle):hover` override wins without `!important`.
|
|
5286
|
+
|
|
5205
5287
|
**Optional peer deps:** none.
|
|
5206
5288
|
|
|
5207
5289
|
```html
|
|
@@ -5322,6 +5404,16 @@ container inline-size).
|
|
|
5322
5404
|
**Themeable custom properties:** `--lr-button-group-gap` (default `var(--lr-space-2xs)`) — gap
|
|
5323
5405
|
between slotted controls on both axes.
|
|
5324
5406
|
|
|
5407
|
+
**Sizing gotcha — give it an explicit width.** `:host` is `display: inline-flex` *and* declares
|
|
5408
|
+
`container-type: inline-size` unconditionally (that is what makes the 20rem `@container` rule above
|
|
5409
|
+
fire at all). Inline-size containment means the box's own content can no longer contribute to its
|
|
5410
|
+
width, so in any context where the host would otherwise be shrink-to-fit — plain block flow, an
|
|
5411
|
+
`inline-flex`/`flex` parent, anywhere with no definite width — the group collapses to its
|
|
5412
|
+
`min-inline-size` floor of `var(--lr-icon-button-size)` (2.5rem) instead of growing to fit the
|
|
5413
|
+
slotted buttons. Give `<lr-button-group>` a definite width (`inline-size`, `width: 100%`, `flex: 1`,
|
|
5414
|
+
or a grid track) whenever it isn't already in a layout that supplies one. The floor itself is the
|
|
5415
|
+
safeguard: without it the same shape rendered at literally `0px`.
|
|
5416
|
+
|
|
5325
5417
|
---
|
|
5326
5418
|
|
|
5327
5419
|
## `lr-scroller`
|
|
@@ -5487,6 +5579,10 @@ decides whether/how `steps` changes in response.
|
|
|
5487
5579
|
identically-named contract.
|
|
5488
5580
|
- `narrowOrientation: 'horizontal' | 'vertical' = 'vertical'` (reflected, attribute
|
|
5489
5581
|
`narrow-orientation`)
|
|
5582
|
+
- `wrapLabels: boolean = false` (reflected, attribute `wrap-labels`) — when true, allows long
|
|
5583
|
+
labels to wrap when the effective orientation is vertical. The default preserves single-line
|
|
5584
|
+
labels, and horizontal labels remain single-line even when this is enabled. Set this when a
|
|
5585
|
+
narrow or localized vertical stepper would otherwise clip labels or overflow its allocation.
|
|
5490
5586
|
- `effectiveOrientation: 'horizontal' | 'vertical'` (readonly getter) — the live layout/navigation
|
|
5491
5587
|
axis actually in effect; identical to `orientation` whenever `orientationBreakpoint` is unset or
|
|
5492
5588
|
doesn't resolve to a length. Also reflected as `data-effective-orientation` (only present while
|
|
@@ -5516,8 +5612,10 @@ text color of the `current` step. `--lr-stepper-current-font-weight` (default
|
|
|
5516
5612
|
`var(--lr-font-weight-semibold)`) — font weight of the `current` step's label.
|
|
5517
5613
|
`--lr-stepper-error-color` (default `var(--lr-color-danger)`) —
|
|
5518
5614
|
text color of an `error` step. `--lr-stepper-current-index-bg` (default `var(--lr-color-brand)`) and
|
|
5519
|
-
`--lr-stepper-current-index-color` (default `var(--lr-color-
|
|
5520
|
-
of the `current` step's numbered `step-index` chip.
|
|
5615
|
+
`--lr-stepper-current-index-color` (default `var(--lr-color-on-brand)`) — background and text color
|
|
5616
|
+
of the `current` step's numbered `step-index` chip. The text color reads the dedicated on-brand
|
|
5617
|
+
foreground token, not `--lr-color-surface`, so the chip stays legible in dark mode and under forced
|
|
5618
|
+
colors, where surface and on-brand diverge. Each is an inline `var()` fallback at the point
|
|
5521
5619
|
of use, never declared on `:host`, so it can be set on the element or on any ancestor; and each is
|
|
5522
5620
|
scoped to its own `data-state`, so recoloring the current step leaves `pending`/`completed`/`error`
|
|
5523
5621
|
steps alone. The hooks exist because `::part(step)[data-state='current']` is invalid CSS — Shadow
|
|
@@ -5525,7 +5623,7 @@ Parts forbids an attribute selector after `::part()` — so state-specific themi
|
|
|
5525
5623
|
overriding a library-wide `--lr-color-*` token and repainting everything else that read it. Unset,
|
|
5526
5624
|
each falls back to the token its rule used before. Otherwise shared tokens —
|
|
5527
5625
|
`--lr-space-m`/`-xs`/`-2xs`,
|
|
5528
|
-
`--lr-color-text-quiet`/`-text`/`-danger`/`-brand`/`-
|
|
5626
|
+
`--lr-color-text-quiet`/`-text`/`-danger`/`-brand`/`-on-brand`, `--lr-radius`/`-pill`,
|
|
5529
5627
|
`--lr-font-size-xs`, `--lr-font-weight-semibold`, `--lr-opacity-disabled`,
|
|
5530
5628
|
`--lr-focus-ring-*`.
|
|
5531
5629
|
|
|
@@ -7491,7 +7589,14 @@ usage)
|
|
|
7491
7589
|
`overflow-indicator` (the "+N" / "Show less" toggle button; only rendered while `max-visible` is
|
|
7492
7590
|
actively causing an overflow — a locally-styled pill, not an instantiated real `<lr-chip>`)
|
|
7493
7591
|
|
|
7494
|
-
**Themeable custom properties:**
|
|
7592
|
+
**Themeable custom properties:** `--lr-chip-group-overflow-expanded-color` (default
|
|
7593
|
+
`var(--lr-color-text)`) — text color of `[part="overflow-indicator"]` while expanded
|
|
7594
|
+
(`aria-expanded="true"`). A state hook: an inline `var()` fallback at the point of use, never a
|
|
7595
|
+
`:host` declaration, so it can be set on the element *or on any ancestor*. It exists because
|
|
7596
|
+
`::part(overflow-indicator)[aria-expanded='true']` is invalid CSS — Shadow Parts forbids an attribute
|
|
7597
|
+
selector after `::part()` — so retinting only the expanded state otherwise meant re-pointing the
|
|
7598
|
+
library-wide `--lr-color-text` token. Left unset, rendering is unchanged. Otherwise shared tokens
|
|
7599
|
+
(`--lr-space-xs`, `--lr-space-s`,
|
|
7495
7600
|
`--lr-color-border`, `--lr-color-surface`, `--lr-color-text-quiet`, `--lr-color-text`,
|
|
7496
7601
|
`--lr-color-brand`, `--lr-focus-ring-width`, `--lr-focus-ring-color`,
|
|
7497
7602
|
`--lr-focus-ring-offset`, `--lr-transition-fast`).
|
|
@@ -7883,7 +7988,8 @@ shared-clamp note.
|
|
|
7883
7988
|
```
|
|
7884
7989
|
|
|
7885
7990
|
Package-level CSV utilities (used internally, also exported for standalone use — `import {
|
|
7886
|
-
escapeCsvField, buildCsv, downloadBlob } from
|
|
7991
|
+
escapeCsvField, buildCsv, downloadBlob } from
|
|
7992
|
+
'@aceshooting/lyra-ui/components/utility/export-button/csv.js'`):
|
|
7887
7993
|
```ts
|
|
7888
7994
|
escapeCsvField(value: unknown): string // quotes/escapes; neutralizes formula-injection (=,+,@,tab,CR) with a leading apostrophe — a bare leading '-' is deliberately left alone (OWASP guidance: it's not itself formula syntax, and guarding it would mangle ordinary negative numbers)
|
|
7889
7995
|
buildCsv(rows: Record<string, unknown>[], columns: CsvColumn[]): string // CRLF-joined, header row included
|
|
@@ -8048,7 +8154,8 @@ while it matches `search`, and `data-active` while it is the current cursor posi
|
|
|
8048
8154
|
present for row alignment on leaf/empty nodes),
|
|
8049
8155
|
`copy-button` (a copy-to-clipboard button — the top-level one in `toolbar` (aria-label "Copy JSON to
|
|
8050
8156
|
clipboard") or a per-node one (aria-label `Copy ${key/type}`, e.g. "Copy age"); only rendered when
|
|
8051
|
-
`copyable`)
|
|
8157
|
+
`copyable`), `limit` (the localized notice rendered below the tree when the depth/node traversal
|
|
8158
|
+
budget truncates rendering or search — absent entirely for any document within budget)
|
|
8052
8159
|
|
|
8053
8160
|
**Themeable custom properties:** `--lr-json-viewer-max-height` (default `none` — grows with content
|
|
8054
8161
|
until `max-height` is set), `--lr-json-viewer-font` (default `var(--lr-font-mono)`),
|
|
@@ -8712,10 +8819,14 @@ The two height knobs work as a pair on `[part='field-input']`, the same way
|
|
|
8712
8819
|
- Auto-advance (typing a field's last digit moves to the next) and backspace-into-the-previous-field
|
|
8713
8820
|
are this library's own additions, not Web Awesome parity. Auto-advance is purely digit-count
|
|
8714
8821
|
based, never value based.
|
|
8715
|
-
- Each `<input>`
|
|
8716
|
-
composite `value` is zero-padded.
|
|
8717
|
-
- Non-digit
|
|
8718
|
-
|
|
8822
|
+
- Each `<input>` keeps exactly the digits that were typed — never zero-padded, range-clamped, or
|
|
8823
|
+
reverted to a previous value; only the composite `value` is normalized to zero-padded ISO.
|
|
8824
|
+
- Non-digit characters are stripped in the `input` handler before they reach field state (the
|
|
8825
|
+
native `<input>`'s own value is rewritten in the same tick). Locale-specific numerals *are*
|
|
8826
|
+
accepted and transliterated to ASCII, not rejected: Arabic-Indic (`٠`–`٩`) and Extended
|
|
8827
|
+
Arabic-Indic/Persian (`۰`–`۹`) digits are mapped unconditionally, and the digits of
|
|
8828
|
+
`effectiveLocale`'s own numbering system are added on top via `Intl.NumberFormat`, so typing
|
|
8829
|
+
`٢٠٢٦` into the year field commits `2026`.
|
|
8719
8830
|
- ArrowLeft/ArrowRight cross fields at a field's text boundary, and the *physical* key meaning
|
|
8720
8831
|
"next field" flips under an inherited `dir="rtl"`; the locale-derived field order itself does not.
|
|
8721
8832
|
- A blank composite is `valueMissing` only when **all three** fields are blank; a partially typed
|
|
@@ -8916,7 +9027,8 @@ Country/language flag image. Flag artwork ships in a **separate, optional peer p
|
|
|
8916
9027
|
|
|
8917
9028
|
**Slots:** none.
|
|
8918
9029
|
|
|
8919
|
-
**CSS parts:** `image`
|
|
9030
|
+
**CSS parts:** `image` (the underlying `<img>`, present only once a URL has resolved), `error`
|
|
9031
|
+
(the localized `role="alert"` rendered instead when the peer resolver is unavailable or rejects)
|
|
8920
9032
|
|
|
8921
9033
|
**Themeable custom properties:** `--lr-flag-radius` (default `calc(var(--lr-radius) * 0.33)` —
|
|
8922
9034
|
non-`round` corner radius), `--lr-flag-aspect-ratio` (default `4 / 3`), and
|
|
@@ -8925,7 +9037,7 @@ non-`round` corner radius), `--lr-flag-aspect-ratio` (default `4 / 3`), and
|
|
|
8925
9037
|
**Optional peer deps:** `@aceshooting/lyra-flags` — required for the component to actually render an
|
|
8926
9038
|
image when `country` or `language` is used. Import `components/flag/flag-peer.js` once to opt into
|
|
8927
9039
|
that resolver; a pre-resolved `src` works without the peer registration entry. If the peer is not
|
|
8928
|
-
installed,
|
|
9040
|
+
installed, the component fails closed with a localized `[part="error"]` alert (see gotchas).
|
|
8929
9041
|
|
|
8930
9042
|
Also exported from the package root:
|
|
8931
9043
|
`languageToCountry(language: string): string | undefined` and the `LANGUAGE_TO_COUNTRY` lookup
|
|
@@ -8965,7 +9077,7 @@ pronounces the endonym in its own language, and use `variant="compact"` at icon
|
|
|
8965
9077
|
```
|
|
8966
9078
|
|
|
8967
9079
|
```js
|
|
8968
|
-
import { localeNativeName, languageToCountry } from '@aceshooting/lyra-ui';
|
|
9080
|
+
import { localeNativeName, languageToCountry } from '@aceshooting/lyra-ui/components/media/flag/language-map.js';
|
|
8969
9081
|
|
|
8970
9082
|
const rows = ['en', 'fr', 'de', 'pt-BR', 'ja', 'ar'].map((tag) => ({
|
|
8971
9083
|
tag,
|
|
@@ -8994,9 +9106,12 @@ import '@aceshooting/lyra-ui/components/media/flag/flag-peer.js';
|
|
|
8994
9106
|
registers the component without importing the optional flag asset graph. Requires the optional
|
|
8995
9107
|
peer `@aceshooting/lyra-flags` to actually render an image; without it the component still shows a
|
|
8996
9108
|
`<lr-skeleton variant="rect">` placeholder (with `aria-busy="true"` on
|
|
8997
|
-
the host) while resolving, then
|
|
9109
|
+
the host) while resolving, then **fails closed** into a localized `<span part="error" role="alert">`
|
|
9110
|
+
(the `flagLoadError` message key, `"Flag unavailable"` by default) plus a one-time `console.warn`
|
|
8998
9111
|
once the resolver rejects (lazy `import()`, cached module-wide so the warning fires only once per
|
|
8999
|
-
page even with many `<lr-flag>` instances).
|
|
9112
|
+
page even with many `<lr-flag>` instances). An *empty* template is a different, non-error outcome:
|
|
9113
|
+
the peer resolved fine but returned no URL for that code (e.g. `country="zz"`) — no `[part="error"]`,
|
|
9114
|
+
no `<img>`, no warning.
|
|
9000
9115
|
- Rendering is async even when the peer *is* installed: `src` resolves after an `import()` +
|
|
9001
9116
|
resolver call, so there's a brief loading-skeleton window on first paint/attribute change — don't
|
|
9002
9117
|
assume the `<img>` exists synchronously right after setting `country`/`language`.
|
|
@@ -9515,7 +9630,7 @@ size renders nothing instead of `"NaN B"`.
|
|
|
9515
9630
|
<lr-attachment-chip name="report.pdf" size="245000" mime-type="application/pdf" status="done"></lr-attachment-chip>
|
|
9516
9631
|
<lr-attachment-chip id="att-2" status="uploading" progress="42"></lr-attachment-chip>
|
|
9517
9632
|
<script type="module">
|
|
9518
|
-
import { formatFileSize } from '@aceshooting/lyra-ui';
|
|
9633
|
+
import { formatFileSize } from '@aceshooting/lyra-ui/components/media/attachment-chip/file-size.js';
|
|
9519
9634
|
|
|
9520
9635
|
const chip = document.createElement('lr-attachment-chip');
|
|
9521
9636
|
chip.file = pickedFile; // name/size/mime-type/thumbnail all derived from the File
|
|
@@ -9526,11 +9641,13 @@ size renders nothing instead of `"NaN B"`.
|
|
|
9526
9641
|
</script>
|
|
9527
9642
|
```
|
|
9528
9643
|
|
|
9529
|
-
The image thumbnail for a real `File` is a
|
|
9530
|
-
|
|
9531
|
-
|
|
9532
|
-
`
|
|
9533
|
-
|
|
9644
|
+
The image thumbnail for a real `File` is a cached `URL.createObjectURL()` blob URL, allocated in
|
|
9645
|
+
`willUpdate()` — the update lifecycle, deliberately **never** from `render()`, so rendering stays a
|
|
9646
|
+
pure projection of already-prepared state and URL allocation never happens as a render side effect.
|
|
9647
|
+
It is created only when `file` is an image (or `previewable` is set), reused for as long as the same
|
|
9648
|
+
`File` object stays assigned, and revoked when `file` changes to a different `File`, to a non-image,
|
|
9649
|
+
or to `undefined`, and again on disconnect. Because the same pass that allocates also revokes the
|
|
9650
|
+
previous entry, reassigning `file` several times before the next paint leaks nothing.
|
|
9534
9651
|
|
|
9535
9652
|
**Known gotchas:**
|
|
9536
9653
|
- `file` always wins over `name`/`size`/`mimeType` when both are set — assigning those props while
|
|
@@ -9793,10 +9910,12 @@ icon/glyph, only shown while the slot has assigned content), `image` (the `<img>
|
|
|
9793
9910
|
while `src` is set, hasn't failed to load, and no icon is slotted), `initials` (the fallback
|
|
9794
9911
|
initials text, rendered whenever neither `icon` nor `image` is).
|
|
9795
9912
|
|
|
9796
|
-
**Themeable custom properties:** `--lr-avatar-size` (default `2rem`, swapped to
|
|
9797
|
-
per `size="sm"`/`"lg"`), `--lr-avatar-bg` (default
|
|
9798
|
-
var(--lr-color-border)
|
|
9799
|
-
|
|
9913
|
+
**Themeable custom properties:** `--lr-avatar-size` (default `var(--lr-size-2rem)`, swapped to
|
|
9914
|
+
`var(--lr-size-1-5rem)`/`var(--lr-size-2-5rem)` per `size="sm"`/`"lg"`), `--lr-avatar-bg` (default
|
|
9915
|
+
`var(--lr-color-border)`, swapped per non-neutral `tone` to that tone's `-quiet` fill; there is no
|
|
9916
|
+
`--lr-color-surface-alt` token in this library, despite what older copies of this page claimed),
|
|
9917
|
+
`--lr-avatar-color` (default `var(--lr-color-text)`, swapped per non-neutral `tone` to that tone's
|
|
9918
|
+
loud color), `--lr-avatar-font-size` (default
|
|
9800
9919
|
`var(--lr-font-size-sm)`) — the font size of the initials fallback, and of any `em`-sized slotted
|
|
9801
9920
|
glyph. `size` swaps it per tier too (`var(--lr-font-size-xs)` at `sm`, `var(--lr-font-size-md)` at
|
|
9802
9921
|
`lg`), so the initials track the circle instead of staying one fixed size across every tier;
|
|
@@ -10334,7 +10453,13 @@ properties only cascade downward); `--lr-chart-grid-color` (default `var(--lr-co
|
|
|
10334
10453
|
`getComputedStyle` on every draw (Chart.js renders to canvas, not the DOM, so it can't consume CSS
|
|
10335
10454
|
`var()` directly), driving the grid lines, tick labels **and axis titles** (`xLabel`/`yLabel`/
|
|
10336
10455
|
`y2Label` title text reuses `--lr-chart-tick-color` too — there's no separate title-color token),
|
|
10337
|
-
legend text, and tooltip background/text respectively; plus
|
|
10456
|
+
legend text, and tooltip background/text respectively; plus
|
|
10457
|
+
`--lr-chart-canvas-hover-outline-width` (default `var(--lr-border-width-thin)`) — the width of
|
|
10458
|
+
`[part="canvas"]`'s own `:hover` outline. Unlike the tokens above, this one is a real CSS
|
|
10459
|
+
declaration on a DOM element (the outline is painted by the stylesheet, not by Chart.js), so it is
|
|
10460
|
+
consumed directly with no `getComputedStyle` bridging; it is an inline `var()` fallback at the point
|
|
10461
|
+
of use, so it can be set on the element or any ancestor, and left unset the outline is exactly the
|
|
10462
|
+
`--lr-border-width-thin` it always was. Plus shared `--lr-space-xs`.
|
|
10338
10463
|
|
|
10339
10464
|
**Optional peer deps:** `chart.js` (mandatory peer, lazy-imported on every `connectedCallback()`
|
|
10340
10465
|
regardless of `zoom`), `chartjs-plugin-zoom` (lazy-imported *additionally* only when `zoom` is — or
|
|
@@ -10591,7 +10716,9 @@ dependency fails to load — see `llms/components/lr-chart.md`).
|
|
|
10591
10716
|
|
|
10592
10717
|
**Themeable custom properties:** `--lr-chart-height`, `--lr-chart-grid-color`,
|
|
10593
10718
|
`--lr-chart-tick-color`, `--lr-chart-legend-color`, `--lr-chart-tooltip-bg`,
|
|
10594
|
-
`--lr-chart-tooltip-text
|
|
10719
|
+
`--lr-chart-tooltip-text`, `--lr-chart-canvas-hover-outline-width` — all inherited from `LyraChart`,
|
|
10720
|
+
identical in meaning and default (see `lr-chart` above); each of the eight variants below reads the
|
|
10721
|
+
same set, so one rule retunes them together.
|
|
10595
10722
|
|
|
10596
10723
|
**Optional peer deps:** same as `lr-chart` — `chart.js`, plus `chartjs-plugin-zoom` only once
|
|
10597
10724
|
`zoom` is set, and `chartjs-plugin-datalabels` only once `data-labels`/`stack-totals` is set.
|
|
@@ -10655,7 +10782,8 @@ dependency fails to load — inherited from `LyraChart`, unaffected by the binni
|
|
|
10655
10782
|
|
|
10656
10783
|
**Themeable custom properties:** `--lr-chart-height`, `--lr-chart-grid-color`,
|
|
10657
10784
|
`--lr-chart-tick-color`, `--lr-chart-legend-color`, `--lr-chart-tooltip-bg`,
|
|
10658
|
-
`--lr-chart-tooltip-text` — inherited from `LyraChart`,
|
|
10785
|
+
`--lr-chart-tooltip-text`, `--lr-chart-canvas-hover-outline-width` — inherited from `LyraChart`,
|
|
10786
|
+
identical in meaning.
|
|
10659
10787
|
|
|
10660
10788
|
**Optional peer deps:** the same `chart.js` (+ `chartjs-plugin-zoom` when `zoom` is set) peers.
|
|
10661
10789
|
|
|
@@ -10996,7 +11124,7 @@ Register a renderer once during application setup. The definition may load a hea
|
|
|
10996
11124
|
only when a matching document is opened:
|
|
10997
11125
|
|
|
10998
11126
|
```ts
|
|
10999
|
-
import { registerDocumentRenderer } from '@aceshooting/lyra-ui';
|
|
11127
|
+
import { registerDocumentRenderer } from '@aceshooting/lyra-ui/components/viewers/document-viewer/registry.js';
|
|
11000
11128
|
|
|
11001
11129
|
registerDocumentRenderer('application/x-example', {
|
|
11002
11130
|
render: (file) => `Preview: ${file.name}`,
|
|
@@ -11171,8 +11299,12 @@ stylesheet.
|
|
|
11171
11299
|
|
|
11172
11300
|
**Optional peer dependency:** install `jszip` with `pnpm add jszip`. The lazy registry registers
|
|
11173
11301
|
`application/zip` and `application/x-zip-compressed`, with a `.zip` filename fallback, and imports
|
|
11174
|
-
the viewer only when a matching archive is opened.
|
|
11175
|
-
|
|
11302
|
+
the viewer only when a matching archive is opened. Both registrations declare
|
|
11303
|
+
`capabilities: { anchors: ['text-quote', 'fragment'], search: true, textSelect: true }` — sibling to
|
|
11304
|
+
`load`, not inside it, so feature detection can read the capabilities without paying for the lazy
|
|
11305
|
+
import. Opening a `.zip` through `<lr-document-viewer>` forwards `anchor`/`highlights` to the mounted
|
|
11306
|
+
viewer, so a deep link into an entry name survives the registry hop. `.tar`, `.rar`, and other
|
|
11307
|
+
archive formats fall through to `<lr-document-preview>`'s generic download fallback.
|
|
11176
11308
|
|
|
11177
11309
|
Remote resources are capped at 25 MB; exceeding it surfaces the localized
|
|
11178
11310
|
`documentPreviewResourceTooLarge` message instead of the entry listing.
|
|
@@ -11253,7 +11385,9 @@ and `lr-render-error` with `detail.error`.
|
|
|
11253
11385
|
|
|
11254
11386
|
**Optional peer dependency:** install `@aiden0z/pptx-renderer` with
|
|
11255
11387
|
`pnpm add @aiden0z/pptx-renderer`. The registry matches the official PPTX MIME type and `.pptx`
|
|
11256
|
-
filenames
|
|
11388
|
+
filenames, declaring `{ anchors: ['text-quote', 'fragment'], search: true, textSelect: true }`
|
|
11389
|
+
capabilities and forwarding `anchor`/`highlights` to the mounted viewer, so a deep link opened
|
|
11390
|
+
through `<lr-document-viewer>` survives the registry hop.
|
|
11257
11391
|
|
|
11258
11392
|
Remote resources are capped at 25 MB; exceeding it surfaces the localized
|
|
11259
11393
|
`documentPreviewResourceTooLarge` message instead of the presentation.
|
|
@@ -11262,26 +11396,42 @@ Remote resources are capped at 25 MB; exceeding it surfaces the localized
|
|
|
11262
11396
|
|
|
11263
11397
|
Fetches an SVG document, sanitizes it with the optional `dompurify` peer, and renders it inline.
|
|
11264
11398
|
|
|
11399
|
+
Adopts `DocumentAnchorTarget` (the same shared mixin `lr-pdf-viewer`/`lr-csv-viewer` use): a `region`
|
|
11400
|
+
anchor addresses one `highlights` entry, matched by reference or by structural equality of its `rect`
|
|
11401
|
+
(and optional `page`). Assigning `anchor` or calling `scrollToAnchor()` scrolls the matching
|
|
11402
|
+
`[part="region-highlight"]` into view and fires `lr-anchor-result`. No other anchor kind resolves
|
|
11403
|
+
here — a sanitized SVG document has neither pages nor extractable text to quote, which is also why
|
|
11404
|
+
its registry entry declares `capabilities: { anchors: ['region'], search: false, textSelect: false }`.
|
|
11405
|
+
|
|
11265
11406
|
**Properties:** `src`, `name`, and `maxHeight` (attribute `max-height`) are strings. `maxHeight` caps
|
|
11266
11407
|
the scrollable body. `zoomable: boolean = false` (reflected) — wraps the rendered content in an
|
|
11267
11408
|
internal `<lr-zoomable-frame>`. `false` (the default) preserves the exact pre-`zoomable` DOM — an
|
|
11268
11409
|
inline thumbnail (e.g. in a chat stream) must not unexpectedly grow a focusable zoom-chrome viewport;
|
|
11269
|
-
an inspection surface opts in. `
|
|
11270
|
-
|
|
11410
|
+
an inspection surface opts in. `anchor: LyraAnchor | string | null = null` (attribute: false) —
|
|
11411
|
+
declaratively jump to an anchor (a `LyraAnchor` object, or a `highlights` entry's `id`). Assigning it
|
|
11412
|
+
calls `scrollToAnchor()` and fires `lr-anchor-result`; re-assigning the same value re-triggers the
|
|
11413
|
+
scroll, it is not reference-gated. `highlights: LyraHighlight[] = []` (attribute: false) —
|
|
11414
|
+
display-only `region` highlights painted over the rendered SVG; unchanged behavior, now inherited
|
|
11415
|
+
from `DocumentAnchorTarget` rather than declared locally. `activeHighlightId: string | null = null`
|
|
11271
11416
|
(attribute `active-highlight-id`) — the `highlights` entry, if any, currently treated as active
|
|
11272
11417
|
(`data-active` on its `region-highlight`). `anchorKinds` is a readonly `['region']` (this viewer's
|
|
11273
11418
|
supported `LyraAnchor.kind` values for the shared anchor-target contract).
|
|
11274
11419
|
|
|
11275
|
-
**Methods:** `scrollToAnchor(target)
|
|
11276
|
-
|
|
11277
|
-
|
|
11278
|
-
`
|
|
11420
|
+
**Methods:** `scrollToAnchor(target): Promise<boolean>` — scrolls the `highlights` entry matching
|
|
11421
|
+
`target` (a `region`-kind `LyraAnchor`, matched by reference or by structural equality of
|
|
11422
|
+
`rect`/`page`; or a `highlights[].id` string) into view, honoring `prefers-reduced-motion`. Resolves
|
|
11423
|
+
`true` when a match was found and scrolled, `false` otherwise, and always fires `lr-anchor-result`
|
|
11424
|
+
carrying the same boolean. Called before the SVG has finished loading it retries for up to 5s (real
|
|
11425
|
+
timers) rather than failing immediately.
|
|
11279
11426
|
|
|
11280
11427
|
**Events:** `lr-render-error` with `detail.error` when fetching or sanitizing fails.
|
|
11281
11428
|
`lr-highlight-activate` (`detail: { id }`) — a region highlight was clicked or activated via
|
|
11282
|
-
Enter/Space.
|
|
11429
|
+
Enter/Space. `lr-anchor-result` (`detail: { found: boolean }`) — fired after an `anchor` assignment
|
|
11430
|
+
or a `scrollToAnchor()` call is applied, whether or not a match was found.
|
|
11283
11431
|
|
|
11284
|
-
**CSS parts:** `base`, `body`, `svg`, `spinner`, `error`, `
|
|
11432
|
+
**CSS parts:** `base`, `body`, `svg`, `spinner`, `error`, `anchor-live-region` (the visually-hidden
|
|
11433
|
+
`role="status"` element announcing anchor-jump results to assistive tech),
|
|
11434
|
+
`highlight-layer` (wrapper around every
|
|
11285
11435
|
rendered region highlight), `region-highlight` (one region highlight, `data-tone`, `data-active`),
|
|
11286
11436
|
`region-highlight-target` (transparent activation geometry with an independent minimum hit area),
|
|
11287
11437
|
`highlight-actions` (non-overlapping actions for multiple highlights), `region-highlight-action`
|
|
@@ -11328,7 +11478,10 @@ inside a bounded, scrollable body.
|
|
|
11328
11478
|
**Themeable custom properties:** `--lr-html-viewer-max-height` (default `none`) — maximum block size
|
|
11329
11479
|
of `[part="body"]`; also settable via the `max-height` property, which writes this token inline.
|
|
11330
11480
|
|
|
11331
|
-
**Optional peer dependency:** `dompurify`.
|
|
11481
|
+
**Optional peer dependency:** `dompurify`. The registry matches `text/html` and `.htm`/`.html`
|
|
11482
|
+
filenames, declaring `{ anchors: ['text-quote', 'fragment'], search: true, textSelect: true }`
|
|
11483
|
+
capabilities and forwarding `anchor`/`highlights` onto the created element, so a deep link opened
|
|
11484
|
+
through `<lr-document-viewer>` survives the registry hop.
|
|
11332
11485
|
|
|
11333
11486
|
Remote resources are capped at 25 MB; exceeding it surfaces the localized
|
|
11334
11487
|
`documentPreviewResourceTooLarge` message instead of the document.
|
|
@@ -11464,7 +11617,10 @@ table of contents as `PdfOutlineItem[]` (`{ title, page?, children? }`), `[]` wh
|
|
|
11464
11617
|
`clearSearch()`); `searchNext()` and `searchPrevious()` advance/step back through matches (wrapping,
|
|
11465
11618
|
resolving `false` when there are none); `clearSearch()` clears the query, matches, and painted marks.
|
|
11466
11619
|
|
|
11467
|
-
**CSS parts:** `base`, `toolbar`, `
|
|
11620
|
+
**CSS parts:** `base`, `toolbar`, `previous-button`, `next-button`, `zoom-out-button`,
|
|
11621
|
+
`zoom-in-button` (the four toolbar controls — previously reachable only through `::part(toolbar)
|
|
11622
|
+
button`, which is invalid: a descendant combinator after `::part()` never matches, so each button now
|
|
11623
|
+
carries its own part name), `page-indicator`, `zoom-indicator`, `pages`, `page`, `page-canvas`
|
|
11468
11624
|
(the canvas one page's content is painted onto), `text-layer`, `text-span` (one generated text run
|
|
11469
11625
|
inside a page's text layer — PDF.js creates these imperatively, and they carry the part so a rule can
|
|
11470
11626
|
reach them without a descendant combinator), `search-match` (a `<mark>` painted into a mounted page's
|
|
@@ -11722,8 +11878,10 @@ Execution is a hard non-goal. Markdown cells render through `lr-markdown`, code
|
|
|
11722
11878
|
`lr-code-block` (using the notebook's kernel language for syntax highlighting), and raw cells as
|
|
11723
11879
|
plain preformatted text. A code cell's `execute_result`/`display_data` outputs prefer, in order,
|
|
11724
11880
|
`image/png`, `image/jpeg`, `image/svg+xml` (sanitized), `text/html` (sanitized), `application/json`
|
|
11725
|
-
(via `lr-json-viewer`), then `text/plain`. Stream/error outputs render as
|
|
11726
|
-
|
|
11881
|
+
(via `lr-json-viewer`), then `text/plain`. Stream/error outputs render as preformatted text (tinted
|
|
11882
|
+
`danger` for stderr/tracebacks) with embedded ANSI SGR color/style escapes interpreted through the
|
|
11883
|
+
same shared `internal/ansi.ts` parser `lr-terminal` uses — a traceback keeps its coloring instead of
|
|
11884
|
+
showing raw `ESC[` sequences. Sanitizing raw HTML/SVG output markup lazy-loads the
|
|
11727
11885
|
optional peer `dompurify`; without it, the output renders a localized notice instead of raw markup.
|
|
11728
11886
|
Cells are virtualized through `lr-virtual-list`. `node-path` anchors resolve `path[0]` as a cell
|
|
11729
11887
|
index; `fragment` anchors resolve a cell's own `id`. No execution, no kernels, no editing, no
|
|
@@ -12947,6 +13105,9 @@ visually-distinct row (dashed border, italic label, "not in catalog" badge) comp
|
|
|
12947
13105
|
from the listbox or committed in free-text mode; `inCatalog` reflects whether that value was
|
|
12948
13106
|
actually present in `normalizedCatalog`, so a consumer can flag a freshly-typed custom value
|
|
12949
13107
|
distinctly from a real catalog pick)
|
|
13108
|
+
- `change` (`Event`, no detail) — fired alongside `lr-change`, mirroring `<lr-select>`/
|
|
13109
|
+
`<lr-combobox>`'s native-style value-change pair so native form bindings/framework `v-model`
|
|
13110
|
+
handlers behave consistently across the picker family.
|
|
12950
13111
|
- `blur` (no detail) — re-dispatched from the free-text mode's internal `<input>`'s own `blur`,
|
|
12951
13112
|
bubbling and composed unlike the native event. Closed-dropdown mode's trigger `<button>` has no
|
|
12952
13113
|
equivalent re-dispatch, matching `<lr-select>`'s own trigger.
|
|
@@ -13738,6 +13899,10 @@ and it repainted every other danger surface with it.
|
|
|
13738
13899
|
|
|
13739
13900
|
- `blur()` — Forwards host blur to the internal push-to-talk control.
|
|
13740
13901
|
- `focus()` — Forwards host focus to the internal push-to-talk control.
|
|
13902
|
+
- `click()` — Programmatically starts or stops a take, mirroring a real pointer/keyboard
|
|
13903
|
+
activation: in `mode="toggle"` it forwards to the trigger's native `click()`; otherwise it calls
|
|
13904
|
+
`stop()` while `state` is `recording` or `start()` otherwise. A no-op while `disabled` or
|
|
13905
|
+
unsupported.
|
|
13741
13906
|
|
|
13742
13907
|
## `lr-transcript-feed`
|
|
13743
13908
|
|
|
@@ -14587,9 +14752,10 @@ the built-in glyph for the current `status` is used)
|
|
|
14587
14752
|
`summary`), `category`, `name`, `summary`, `meta` (wrapper around `status-text` and `duration`),
|
|
14588
14753
|
`status-text`, `duration`, `tooltip` (the floating detail popup, only meaningful while open)
|
|
14589
14754
|
|
|
14590
|
-
**Themeable custom properties:** `--lr-tool-call-chip-spin` (default `
|
|
14591
|
-
|
|
14592
|
-
|
|
14755
|
+
**Themeable custom properties:** `--lr-tool-call-chip-spin` (default `var(--lr-transition-ambient)`,
|
|
14756
|
+
i.e. `1.8s ease-in-out` at the shipped token value and `0.001ms linear` under
|
|
14757
|
+
`prefers-reduced-motion` — running-icon animation duration/timing) and `--lr-transition-ambient`
|
|
14758
|
+
(default `1.8s ease-in-out` — pending-icon pulse duration/timing). `--lr-tool-call-chip-accent`, `--lr-tool-call-chip-bg`, and
|
|
14593
14759
|
`--lr-tool-call-chip-border` are internal per-status variables reassigned by this component's own
|
|
14594
14760
|
`:host([status="…"])` rules (e.g. `pending` → `--lr-color-text-quiet`/`--lr-color-surface`/
|
|
14595
14761
|
`--lr-color-border`; `running` → brand; `success` → success; `error` → danger; `denied` → warning),
|
|
@@ -14888,7 +15054,8 @@ tool name/status/duration), `tool-name`, `status`, `duration`, `header-actions`,
|
|
|
14888
15054
|
0.5)` — the backdrop scrim color; component-specific since no shared overlay token exists),
|
|
14889
15055
|
`--lr-tool-result-dialog-maximized-inset` (default `var(--lr-space-l)` — inset applied to the
|
|
14890
15056
|
panel while `[maximized]`, overridable e.g. to leave a persistent app rail visible), and
|
|
14891
|
-
`--lr-tool-result-dialog-spin` (default `
|
|
15057
|
+
`--lr-tool-result-dialog-spin` (default `var(--lr-transition-ambient)`, i.e. `1.8s ease-in-out`,
|
|
15058
|
+
and effectively stopped under reduced motion because that token collapses to `0.001ms linear`), plus shared
|
|
14892
15059
|
tokens `--lr-color-surface/-border/-text-quiet/-brand/-brand-quiet/-success/-success-quiet/
|
|
14893
15060
|
-danger/-danger-quiet/-warning/-warning-quiet`, `--lr-space-*`, `--lr-radius`, `--lr-shadow`,
|
|
14894
15061
|
`--lr-icon-button-size`, `--lr-focus-ring-*`, `--lr-transition-base`.
|
|
@@ -15422,7 +15589,12 @@ set `valid: false` while `formError`, rather than a fabricated field key, carrie
|
|
|
15422
15589
|
|
|
15423
15590
|
**Slots:** none.
|
|
15424
15591
|
|
|
15425
|
-
**CSS parts:** `base`, `field`, `label`, `description`, `error`, `unsupported`, `empty
|
|
15592
|
+
**CSS parts:** `base`, `field`, `label`, `control`, `description`, `error`, `unsupported`, `empty`.
|
|
15593
|
+
`control` is the native `<input>` for a `'string'` (non-enum) or `'number'`/`'integer'` field — one
|
|
15594
|
+
shared part name across both the text and number inputs, and deliberately *not* present on the
|
|
15595
|
+
`'boolean'` (`<lr-checkbox>`), enum (`<lr-select>`), or unsupported-type fallback branches, which are
|
|
15596
|
+
composed components with their own part surfaces rather than raw natives. It is purely an additive
|
|
15597
|
+
external theming hook: the internal `.control` class the stylesheet targets is unchanged.
|
|
15426
15598
|
|
|
15427
15599
|
**Themeable custom properties:** no component-specific custom properties; shared tokens only —
|
|
15428
15600
|
`--lr-space-l/-xs/-s`, `--lr-color-border`, `--lr-radius`, `--lr-color-surface`,
|
|
@@ -15537,8 +15709,14 @@ whenever the slot has no assigned content), `body`.
|
|
|
15537
15709
|
|
|
15538
15710
|
**Themeable custom properties:** `--lr-result-card-compact-header-padding` (default
|
|
15539
15711
|
`var(--lr-space-xs)`) — `[part="header"]` block/inline padding while `compact`;
|
|
15540
|
-
`--lr-result-card-compact-
|
|
15541
|
-
while `compact
|
|
15712
|
+
`--lr-result-card-compact-header-gap` (default `var(--lr-space-xs)`) — gap between
|
|
15713
|
+
`[part="header"]`'s title and actions while `compact`, one step tighter than the uncompacted
|
|
15714
|
+
`--lr-space-s`; `--lr-result-card-compact-body-padding` (default `var(--lr-space-xs)`) —
|
|
15715
|
+
`[part="body"]` padding while `compact`; `--lr-result-card-compact-body-gap` (default
|
|
15716
|
+
`var(--lr-space-2xs)`) — gap between `[part="body"]`'s children while `compact`, one step tighter
|
|
15717
|
+
than the uncompacted `--lr-space-xs`. The two gap knobs mean `compact` now tightens interior spacing,
|
|
15718
|
+
not only the padding box — a compact card no longer keeps full-size gaps inside a shrunken frame.
|
|
15719
|
+
Plus shared tokens — `--lr-space-2xs`/`-xs`/`-s`, `--lr-color-border`/`-surface`/`-text`,
|
|
15542
15720
|
`--lr-radius`.
|
|
15543
15721
|
|
|
15544
15722
|
### `lr-result-field`
|
|
@@ -15688,9 +15866,13 @@ indicator, only rendered when `collapsible`), `body` (the list of items, `hidden
|
|
|
15688
15866
|
`item-detail`, and `item-children` (the nested `role="list"` wrapper around a top-level item's
|
|
15689
15867
|
children).
|
|
15690
15868
|
|
|
15691
|
-
**Themeable custom properties:** `--lr-task-list-spin` (default `
|
|
15692
|
-
|
|
15869
|
+
**Themeable custom properties:** `--lr-task-list-spin` (default `var(--lr-transition-ambient)`, i.e.
|
|
15870
|
+
`1.8s ease-in-out`, collapsing to `0.001ms linear` under `prefers-reduced-motion`) — running-status
|
|
15871
|
+
icon spin animation duration/timing; `--lr-task-list-compact-header-padding` (default
|
|
15693
15872
|
`var(--lr-space-2xs) var(--lr-space-s)`) — `[part="header"]` padding while `compact`;
|
|
15873
|
+
`--lr-task-list-compact-header-gap` (default `var(--lr-space-2xs)`) — gap between `[part="header"]`'s
|
|
15874
|
+
label/summary/toggle while `compact`, one step tighter than the header's uncompacted
|
|
15875
|
+
`--lr-space-xs`, so `compact` tightens the header's *interior* spacing and not just its padding;
|
|
15694
15876
|
`--lr-task-list-compact-gap` (default `var(--lr-space-2xs)`) — gap between `[part="body"]`'s item
|
|
15695
15877
|
rows while `compact`; `--lr-task-list-compact-body-padding` (default `var(--lr-space-2xs)
|
|
15696
15878
|
var(--lr-space-s) var(--lr-space-s)`) — `[part="body"]` padding while `compact`.
|
|
@@ -15707,12 +15889,18 @@ codes. `maxScrollback: number = 5000` (attribute `max-scrollback`), `follow: boo
|
|
|
15707
15889
|
string = 'terminal.log'`, `announceOutput: boolean = false` (attribute `announce-output`),
|
|
15708
15890
|
`accessibleLabel: string = ''` (attribute `aria-label`), `highlights: LyraHighlight[] = []` (attribute:
|
|
15709
15891
|
false), and `activeHighlightId: string | null = null` (attribute: false). `anchorKinds` is a readonly
|
|
15710
|
-
`['
|
|
15892
|
+
`['line-range']` — a scrollback buffer addresses positions by line number, so `line-range` is the
|
|
15893
|
+
only kind `scrollToAnchor()` resolves; `page`/`text-quote`/`region` belong to the paginated document
|
|
15894
|
+
viewers, not here. `<lr-terminal>` is not registered in the document-renderer registry, so this field
|
|
15895
|
+
is a plain readonly property rather than the `DocumentAnchorTarget` mixin's `override readonly` one.
|
|
15711
15896
|
|
|
15712
15897
|
**Methods:** `write(text)` appends ANSI-parsed text to the buffer. `clear()` empties the buffer.
|
|
15713
|
-
`scrollToBottom()` and `scrollToAnchor(anchor)
|
|
15714
|
-
`
|
|
15715
|
-
|
|
15898
|
+
`scrollToBottom()` and `scrollToAnchor(anchor): Promise<boolean>` control scroll position.
|
|
15899
|
+
`search(query): Promise<number>` (resolves the match count after the resulting render),
|
|
15900
|
+
`searchNext()`, `searchPrevious()`, and `clearSearch()` drive in-buffer text search — matching is
|
|
15901
|
+
line-granular (a match identifies a whole line, not a character range) and capped, so `matchCount`
|
|
15902
|
+
stops climbing on a pathologically repetitive buffer. `getPlainText()` returns the SGR-stripped
|
|
15903
|
+
plain text of the whole buffer.
|
|
15716
15904
|
|
|
15717
15905
|
**Events:** `lr-copy` (`detail: { text }`), `lr-download` (`detail: { filename }`),
|
|
15718
15906
|
`lr-follow-change` (`detail: { following }`), `lr-search-change` (`detail: { query, matchCount,
|
|
@@ -15872,8 +16060,16 @@ when both are set.
|
|
|
15872
16060
|
}`), and `lr-copy` (`detail: { text: string }`, the full hash was copied).
|
|
15873
16061
|
|
|
15874
16062
|
**CSS parts:** `base`, `subject`, `body`, `hash`, `meta`, `author`, `time`, `diffstat`, `additions`,
|
|
15875
|
-
`deletions`, `files-toggle`, `file` (carries `data-status`), `file-path`, `file-
|
|
15876
|
-
`file-deletions`, `copy-button`, and `actions`.
|
|
16063
|
+
`deletions`, `files-toggle`, `file` (carries `data-status`), `file-path`, `file-status`,
|
|
16064
|
+
`file-additions`, `file-deletions`, `copy-button`, and `actions`.
|
|
16065
|
+
|
|
16066
|
+
`file-status` is the one-letter git-status badge (`A`/`M`/`D`/`R`/`U`/`C`/`!`) rendered inside
|
|
16067
|
+
`[part="file-path"]`, present only for a file that has a `status`. The letter alone is meaningless to
|
|
16068
|
+
a screen reader, so the element carries the localized expansion as its `aria-label` — "Modified",
|
|
16069
|
+
"Added", … — reusing `<lr-file-tree>`'s shared `gitStatusAdded`/`gitStatusModified`/
|
|
16070
|
+
`gitStatusDeleted`/`gitStatusRenamed`/`gitStatusUntracked`/`gitStatusConflicted`/`gitStatusIgnored`
|
|
16071
|
+
message keys, so one `registerLyraLocale()` registration (or one `.strings` override) translates the
|
|
16072
|
+
badge in both components at once.
|
|
15877
16073
|
|
|
15878
16074
|
**Themeable custom properties:** `--lr-commit-card-compact-padding` (default `var(--lr-space-s)`) —
|
|
15879
16075
|
`[part="base"]` padding while `compact`.
|
|
@@ -15972,6 +16168,14 @@ They are inline `var()` fallbacks at their point of use rather than `:host` decl
|
|
|
15972
16168
|
them can be set on the element *or on any ancestor*, which is what makes "give every compact confirm
|
|
15973
16169
|
bar in this panel a hairline border" a one-rule change on the panel.
|
|
15974
16170
|
|
|
16171
|
+
Two further properties recolor the decided state: `--lr-confirm-bar-approved-color` (default
|
|
16172
|
+
`var(--lr-color-success)`) and `--lr-confirm-bar-denied-color` (default `var(--lr-color-danger)`) —
|
|
16173
|
+
`[part="status"]`'s text/icon color under `:host([decision='approved'])` and
|
|
16174
|
+
`:host([decision='denied'])` respectively. Same inline-`var()`-fallback shape as the compact set.
|
|
16175
|
+
They exist because `::part(status)[decision]` is invalid CSS, so recoloring just this component's
|
|
16176
|
+
decided state previously meant re-pointing the library-wide `--lr-color-success`/`-danger` tokens and
|
|
16177
|
+
repainting everything else that reads them.
|
|
16178
|
+
|
|
15975
16179
|
**Known gotchas:**
|
|
15976
16180
|
- `[part="status"]` is always rendered and must never be given `display: none`. Deciding moves focus
|
|
15977
16181
|
to it synchronously, before the Deny/Approve buttons unmount, so hiding it would drop focus to
|
|
@@ -16072,9 +16276,13 @@ entry is the latest version. `activeVersionId: string | null = null` (attribute
|
|
|
16072
16276
|
`aria-busy` on the body and shows a text indicator (not animated, so it stays legible under reduced
|
|
16073
16277
|
motion). `copyText: string = ''` (attribute `copy-text`) — the text copied to the clipboard by the
|
|
16074
16278
|
copy button; empty hides the button. `downloadSrc: string = ''` (attribute `download-src`) — the
|
|
16075
|
-
download URL, sanitized through `
|
|
16076
|
-
|
|
16077
|
-
|
|
16279
|
+
download URL, sanitized through `safeDownloadHref()` (`http:`/`https:`/`blob:` only — narrower than
|
|
16280
|
+
the media/resource allowlist, which also permits `data:`); an empty value hides the button. The
|
|
16281
|
+
sanitizer runs at click time, not render time, so a *non-empty but rejected* URL still renders the
|
|
16282
|
+
button and simply emits nothing when pressed. The component never navigates on its own: it emits
|
|
16283
|
+
`lr-download` with the sanitized `src` and leaves the actual download to the host.
|
|
16284
|
+
`downloadName: string = ''` (attribute `download-name`) — the suggested filename reported in the
|
|
16285
|
+
`lr-download` event detail.
|
|
16078
16286
|
|
|
16079
16287
|
**Slots:** default — preview-view content (markdown/html-viewer/browser-frame/image). `code` —
|
|
16080
16288
|
code-view content (typically a `lr-code-block`); the preview/code toggle only renders once this
|
|
@@ -16175,8 +16383,9 @@ this component's own retry counter, reset when `run.id` changes).
|
|
|
16175
16383
|
`reasoning`, `output`, `actions`, `cancel-button`, `retry-button`, `metric-label`, `metric-value`
|
|
16176
16384
|
(carries `data-variant`), `empty`.
|
|
16177
16385
|
|
|
16178
|
-
**Themeable custom properties:** `--lr-agent-run-spin` (default `
|
|
16179
|
-
|
|
16386
|
+
**Themeable custom properties:** `--lr-agent-run-spin` (default `var(--lr-transition-ambient)`, i.e.
|
|
16387
|
+
`1.8s ease-in-out`, collapsing to `0.001ms linear` under `prefers-reduced-motion`) — the
|
|
16388
|
+
current-step icon's rotation duration/timing. `--lr-agent-run-compact-padding` (default
|
|
16180
16389
|
`var(--lr-space-s)`) and `--lr-agent-run-compact-gap` (default `var(--lr-space-s)`) — `[part="base"]`'s
|
|
16181
16390
|
padding, and the gap between its header and body, while `compact`; both are ignored while `compact`
|
|
16182
16391
|
is unset. Like the other density/state properties in this family they are inline `var()` fallbacks at
|
|
@@ -16509,7 +16718,12 @@ It never executes tools or persists decisions.
|
|
|
16509
16718
|
approved, args? }`), and `lr-approval-close` (`{ invocationId, reason }`).
|
|
16510
16719
|
|
|
16511
16720
|
**CSS parts:** `base`, `heading-row`, `heading`, `count`, `list`, `request`, `request-info`,
|
|
16512
|
-
`tool-name`, `request-id`, `status`, `empty`.
|
|
16721
|
+
`tool-name`, `request-id`, `status`, `empty`. The `[part='request']` row matching `selectedId`
|
|
16722
|
+
carries both `data-selected` (the styling hook) and `aria-current="true"` (the semantic one), so the
|
|
16723
|
+
selection is announced, not merely painted. Following this library's convention for `aria-current` —
|
|
16724
|
+
and unlike `aria-pressed`/`aria-expanded`/`aria-selected`, which must render both states — an
|
|
16725
|
+
unselected row omits the attribute rather than writing `"false"`, because ARIA already defines
|
|
16726
|
+
`aria-current`'s own default as false.
|
|
16513
16727
|
|
|
16514
16728
|
**Additional API surface:**
|
|
16515
16729
|
|
|
@@ -16615,6 +16829,18 @@ keywords. `SchemaValidationIssue = { path: string; message: string; severity?: '
|
|
|
16615
16829
|
**CSS parts:** `base`, `tree`, `node`, `node-selected`, `node-trigger`, `name`, `type`, `required`,
|
|
16616
16830
|
`description`, `constraints`, `issue`, `limit`, `empty`.
|
|
16617
16831
|
|
|
16832
|
+
`[part='issue']` carries `data-severity` and each severity has its own styling: `error` reads the
|
|
16833
|
+
danger tokens, `warning` the warning tokens, and `info` its own pair —
|
|
16834
|
+
`--lr-schema-viewer-info-border` (default `var(--lr-color-brand)`) and `--lr-schema-viewer-info-bg`
|
|
16835
|
+
(default `var(--lr-color-brand-quiet)`). Brand rather than a dedicated info palette because this
|
|
16836
|
+
library has no `--lr-color-info-*` token; before these existed an `info` issue rendered identically
|
|
16837
|
+
to an `error`, which read as a false alarm. Both are inline `var()` fallbacks at their point of use,
|
|
16838
|
+
so either can be set on the element or on any ancestor — `::part(issue)[data-severity='info']` is
|
|
16839
|
+
invalid CSS, so this is the only way to recolor one severity without touching the others.
|
|
16840
|
+
|
|
16841
|
+
**Themeable custom properties:** `--lr-schema-viewer-info-border`, `--lr-schema-viewer-info-bg` (see
|
|
16842
|
+
above); otherwise shared tokens only.
|
|
16843
|
+
|
|
16618
16844
|
Rendering is capped at 500 schema nodes; `limit` reports truncation. Cycles stop at the repeated
|
|
16619
16845
|
node rather than recursing. **Slots:** none. **Optional peer deps:** none.
|
|
16620
16846
|
|
|
@@ -18098,19 +18324,24 @@ Large sets window through an internal `lr-virtual-list`.
|
|
|
18098
18324
|
**Properties:**
|
|
18099
18325
|
- `chunks: RetrievalChunk[] = []` (attribute: false) — **`RetrievalChunk`, imported from
|
|
18100
18326
|
`@aceshooting/lyra-ui/ai`** (`src/ai/types.ts`): `{ id: string; text: string; score: number;
|
|
18101
|
-
source: DocumentRef; metadata?: Record<string, unknown
|
|
18102
|
-
|
|
18103
|
-
|
|
18104
|
-
|
|
18327
|
+
source: DocumentRef; metadata?: Record<string, unknown>; rank?: number; locator?: DocumentLocator;
|
|
18328
|
+
queryId?: string; stage?: string; traceId?: string; scores?: RetrievalScoreBreakdown }`. The raw,
|
|
18329
|
+
un-deduplicated/unsorted/ungrouped result set; host-owned. Internally mapped to
|
|
18330
|
+
`lr-chunk-inspector`'s flatter `LyraChunk` via `source.id → sourceId`, `source.name → title`, and
|
|
18331
|
+
`locator → anchor`; a `page`-kind `locator` additionally supplies the inspector's visible `page`.
|
|
18332
|
+
Nothing is ever guessed from `metadata` — a chunk with no `locator` simply leaves `anchor`/`page`
|
|
18333
|
+
unset
|
|
18105
18334
|
- `selectedIds: string[] = []` (attribute: false) — controlled selection by chunk `id`. The component
|
|
18106
18335
|
updates its own copy on toggle *then* emits `lr-select`; reassign to control. An id with no
|
|
18107
18336
|
matching chunk is harmless
|
|
18108
18337
|
- `selectable: boolean = true` (reflected) — shows a per-row `lr-checkbox`
|
|
18109
18338
|
- `dedupe: boolean = true` (reflected) — drops duplicate `id`s, keeping the higher `score`
|
|
18110
18339
|
- `sort: 'score' | 'none' = 'score'` — `'score'` sorts descending; `'none'` preserves given order
|
|
18111
|
-
- `grouping: 'source' | 'none' = 'none'` — `'source'` buckets rows under a header per `source.id
|
|
18112
|
-
|
|
18113
|
-
`
|
|
18340
|
+
- `grouping: 'source' | 'none' = 'none'` — `'source'` buckets rows under a header per `source.id`
|
|
18341
|
+
(the header text is that source's `name`, or a localized "untitled source" when it has none).
|
|
18342
|
+
Buckets appear in order of first appearance in the already-`sort`ed list, so with the default
|
|
18343
|
+
`sort="score"` that is best-scoring-chunk order, and with `sort="none"` it is the order the chunks
|
|
18344
|
+
arrived in. Grouping **always** virtualizes, regardless of `virtualizeAt`
|
|
18114
18345
|
- `presentation: 'compact' | 'expanded' = 'expanded'` — `'expanded'` shows each chunk's full row
|
|
18115
18346
|
(score bar, text preview with its own toggle) plus any `metadata`; `'compact'` shows title + score
|
|
18116
18347
|
bar only and omits `metadata` entirely
|
|
@@ -18357,6 +18588,15 @@ correlated ids/details from their composed primitives).
|
|
|
18357
18588
|
|
|
18358
18589
|
**CSS parts:** `base`, `heading`, `tabs`, `tab`, `panel`, `settings`.
|
|
18359
18590
|
|
|
18591
|
+
**Themeable custom properties:** `--lr-knowledge-base-admin-tab-selected-border` (default
|
|
18592
|
+
`var(--lr-color-brand)`) and `--lr-knowledge-base-admin-tab-selected-color` (default
|
|
18593
|
+
`var(--lr-color-text)`) — the bottom-border and text color of the selected `[part="tab"]`. State
|
|
18594
|
+
hooks: inline `var()` fallbacks at the point of use rather than `:host` declarations, so either can
|
|
18595
|
+
be set on the element *or on any ancestor*, and the rule wraps its `[aria-selected='true']` qualifier
|
|
18596
|
+
in `:where()` so a consumer's own `::part(tab)` override still wins. They exist because
|
|
18597
|
+
`::part(tab)[aria-selected='true']` is invalid CSS — Shadow Parts forbids an attribute selector after
|
|
18598
|
+
`::part()`. Left unset, rendering is unchanged.
|
|
18599
|
+
|
|
18360
18600
|
## `lr-claim-evidence`
|
|
18361
18601
|
|
|
18362
18602
|
Controlled claim-by-claim grounding audit relating `GroundedClaim[]` to complete `Citation[]`
|