@aceshooting/lyra-ui 29.0.2 → 29.1.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 +37 -0
- package/README.md +19 -26
- package/design-tokens.json +1 -1
- package/dist/cli/migrate-wa.mjs +2 -0
- package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +5 -3
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js +4 -3
- package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +1 -1
- package/dist/components/agent-tools/agent-trace/agent-trace.class.d.ts +21 -5
- package/dist/components/agent-tools/agent-trace/agent-trace.class.js +14 -11
- package/dist/components/agent-tools/agent-trace/agent-trace.styles.js +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +34 -7
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +25 -11
- package/dist/components/agent-tools/eval-result/eval-result-source.js +1 -0
- package/dist/components/agent-tools/eval-result/eval-result.class.d.ts +31 -11
- package/dist/components/agent-tools/eval-result/eval-result.class.js +29 -15
- package/dist/components/agent-tools/eval-result/eval-result.styles.js +1 -1
- package/dist/components/agent-tools/eval-result/eval-run-result.d.ts +10 -0
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.d.ts +26 -5
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +16 -6
- package/dist/components/agent-tools/span-waterfall/span-waterfall.d.ts +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.js +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +1 -1
- package/dist/components/agent-tools/task-list/task-list.class.d.ts +29 -6
- package/dist/components/agent-tools/task-list/task-list.class.js +13 -7
- package/dist/components/agent-tools/task-list/task-list.d.ts +1 -1
- package/dist/components/agent-tools/task-list/task-list.js +1 -1
- package/dist/components/agent-tools/task-list/task-list.styles.js +1 -1
- package/dist/components/agent-tools/terminal/terminal.class.d.ts +9 -5
- package/dist/components/agent-tools/terminal/terminal.class.js +8 -8
- package/dist/components/agent-tools/test-results/test-results.class.d.ts +16 -4
- package/dist/components/agent-tools/test-results/test-results.class.js +15 -6
- package/dist/components/agent-tools/test-results/test-results.d.ts +1 -0
- package/dist/components/agent-tools/test-results/test-results.js +1 -1
- package/dist/components/agent-tools/test-results/test-results.styles.js +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts +7 -4
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +2 -1
- package/dist/components/agent-tools/trace-tree/span-projection.js +1 -0
- package/dist/components/agent-tools/trace-tree/span-shared.d.ts +29 -0
- package/dist/components/agent-tools/trace-tree/span-shared.js +1 -0
- package/dist/components/agent-tools/trace-tree/span.d.ts +5 -35
- package/dist/components/agent-tools/trace-tree/span.js +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.class.d.ts +27 -5
- package/dist/components/agent-tools/trace-tree/trace-tree.class.js +19 -9
- package/dist/components/agent-tools/trace-tree/trace-tree.d.ts +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.js +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +1 -1
- package/dist/components/charts/chart/bar-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/box-plot.class.d.ts +2 -2
- package/dist/components/charts/chart/box-plot.class.js +3 -3
- package/dist/components/charts/chart/bubble-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/chart-prepared-data.d.ts +9 -0
- package/dist/components/charts/chart/chart-prepared-data.js +1 -0
- package/dist/components/charts/chart/chart-spatial-data.js +2 -0
- package/dist/components/charts/chart/chart-sync.js +1 -1
- package/dist/components/charts/chart/chart-table-sampling.js +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +56 -6
- package/dist/components/charts/chart/chart.class.js +18 -8
- package/dist/components/charts/chart/chart.styles.js +1 -1
- package/dist/components/charts/chart/doughnut-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/histogram-buckets.d.ts +1 -1
- package/dist/components/charts/chart/histogram-buckets.js +1 -1
- package/dist/components/charts/chart/histogram.class.d.ts +19 -4
- package/dist/components/charts/chart/histogram.class.js +1 -1
- package/dist/components/charts/chart/line-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts +51 -11
- package/dist/components/charts/chart/lite-chart.class.js +33 -27
- package/dist/components/charts/chart/lite-chart.styles.js +1 -1
- package/dist/components/charts/chart/pie-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/polar-area-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/radar-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/scatter-chart.class.d.ts +5 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +6 -3
- package/dist/components/conversation/agent-workspace/agent-workspace.class.js +6 -5
- package/dist/components/conversation/agent-workspace/agent-workspace.styles.js +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +8 -0
- package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-base.class.d.ts +5 -3
- package/dist/components/conversation/code-block/code-block-base.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-core.class.d.ts +4 -1
- package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-shared.d.ts +6 -4
- package/dist/components/conversation/code-block/code-block-shared.js +3 -2
- package/dist/components/conversation/code-block/code-block.class.d.ts +11 -4
- package/dist/components/conversation/code-block/code-block.class.js +1 -1
- package/dist/components/conversation/code-block/code-block.d.ts +1 -1
- package/dist/components/conversation/code-block/code-block.styles.js +1 -1
- package/dist/components/conversation/code-block/shiki-types.d.ts +2 -0
- package/dist/components/conversation/code-block/shiki-types.js +1 -1
- package/dist/components/conversation/markdown/markdown-base.class.d.ts +6 -4
- package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
- package/dist/components/conversation/markdown/markdown-code-header.d.ts +2 -2
- package/dist/components/conversation/markdown/markdown-code-header.js +1 -1
- package/dist/components/conversation/markdown/markdown-core.class.d.ts +8 -3
- package/dist/components/conversation/markdown/markdown-progressive.js +2 -2
- package/dist/components/conversation/markdown/markdown-shared.d.ts +5 -10
- package/dist/components/conversation/markdown/markdown-shared.js +5 -5
- package/dist/components/conversation/markdown/markdown-streaming-tail.js +1 -1
- package/dist/components/conversation/markdown/markdown.class.d.ts +17 -10
- package/dist/components/conversation/markdown/markdown.class.js +1 -1
- package/dist/components/conversation/markdown/markdown.styles.js +1 -1
- package/dist/components/conversation/model-select/model-select.class.d.ts +4 -3
- package/dist/components/conversation/model-select/model-select.class.js +3 -2
- package/dist/components/conversation/model-select/model-select.styles.js +1 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.d.ts +2 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js +2 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.styles.js +1 -1
- package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +3 -2
- package/dist/components/conversation/prompt-input/prompt-input.class.js +2 -1
- package/dist/components/conversation/prompt-input/prompt-input.styles.js +1 -1
- package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts +10 -2
- package/dist/components/conversation/prompt-queue/prompt-queue.class.js +15 -6
- package/dist/components/conversation/prompt-queue/prompt-queue.styles.js +1 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.d.ts +3 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.js +2 -1
- package/dist/components/conversation/realtime-session/realtime-session.styles.js +1 -1
- package/dist/components/conversation/streaming-text/markdown-detection.d.ts +2 -0
- package/dist/components/conversation/streaming-text/markdown-detection.js +4 -1
- package/dist/components/conversation/streaming-text/streaming-text-base.class.d.ts +6 -2
- package/dist/components/conversation/streaming-text/streaming-text-base.class.js +3 -3
- package/dist/components/conversation/streaming-text/streaming-text-core.class.js +1 -1
- package/dist/components/conversation/streaming-text/streaming-text.class.js +1 -0
- package/dist/components/conversation/thread-list/thread-list.class.d.ts +34 -4
- package/dist/components/conversation/thread-list/thread-list.class.js +22 -15
- package/dist/components/conversation/thread-list/thread-list.d.ts +1 -1
- package/dist/components/conversation/thread-list/thread-list.js +1 -1
- package/dist/components/conversation/thread-list/thread-list.styles.js +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +6 -2
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js +3 -2
- package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +3 -2
- package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -2
- package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
- package/dist/components/data/calendar/calendar.class.d.ts +5 -2
- package/dist/components/data/calendar/calendar.class.js +1 -1
- package/dist/components/data/data-grid/data-grid-processing.js +2 -2
- package/dist/components/data/data-grid/data-grid.class.d.ts +22 -8
- package/dist/components/data/data-grid/data-grid.class.js +20 -19
- package/dist/components/data/data-grid/data-grid.styles.js +1 -1
- package/dist/components/data/document-library/document-library.class.d.ts +31 -4
- package/dist/components/data/document-library/document-library.class.js +25 -12
- package/dist/components/data/document-library/document-library.styles.js +1 -1
- package/dist/components/data/file-tree/file-tree.class.d.ts +30 -6
- package/dist/components/data/file-tree/file-tree.class.js +4 -3
- package/dist/components/data/file-tree/file-tree.d.ts +1 -0
- package/dist/components/data/file-tree/file-tree.js +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +31 -6
- package/dist/components/data/flow-canvas/flow-canvas.class.js +40 -19
- package/dist/components/data/flow-canvas/flow-canvas.styles.js +1 -1
- package/dist/components/data/flow-canvas/flow-model.js +1 -1
- package/dist/components/data/flow-canvas/flow-source.js +1 -0
- package/dist/components/data/flow-canvas/flow-types.d.ts +4 -2
- package/dist/components/data/flow-canvas/flow-viewport-index.js +1 -0
- package/dist/components/data/flow-minimap/flow-minimap.class.d.ts +9 -3
- package/dist/components/data/flow-minimap/flow-minimap.class.js +11 -2
- package/dist/components/data/flow-minimap/flow-minimap.styles.js +1 -1
- package/dist/components/data/funnel/funnel.class.d.ts +7 -3
- package/dist/components/data/funnel/funnel.class.js +2 -2
- package/dist/components/data/heatmap/calendar-grid.d.ts +1 -1
- package/dist/components/data/heatmap/calendar-grid.js +1 -1
- package/dist/components/data/heatmap/heatmap-grid-navigation.js +1 -1
- package/dist/components/data/heatmap/heatmap-limits.d.ts +1 -1
- package/dist/components/data/heatmap/heatmap-matrix-source-controller.js +1 -0
- package/dist/components/data/heatmap/heatmap-matrix-source.d.ts +5 -0
- package/dist/components/data/heatmap/heatmap-matrix-source.js +1 -0
- package/dist/components/data/heatmap/heatmap-scale.d.ts +0 -16
- package/dist/components/data/heatmap/heatmap-scale.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +40 -11
- package/dist/components/data/heatmap/heatmap.class.js +26 -6
- package/dist/components/data/heatmap/heatmap.styles.js +1 -1
- package/dist/components/data/pagination/pagination.class.js +1 -1
- package/dist/components/data/sequence-strip/sequence-strip-item.d.ts +17 -0
- package/dist/components/data/sequence-strip/sequence-strip-source-controller.js +1 -0
- package/dist/components/data/sequence-strip/sequence-strip-source.d.ts +5 -0
- package/dist/components/data/sequence-strip/sequence-strip-source.js +1 -0
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +24 -19
- package/dist/components/data/sequence-strip/sequence-strip.class.js +23 -4
- package/dist/components/data/sequence-strip/sequence-strip.styles.js +1 -1
- package/dist/components/data/sparkline/sparkline.class.d.ts +17 -4
- package/dist/components/data/sparkline/sparkline.class.js +3 -3
- package/dist/components/data/sparkline/sparkline.styles.js +1 -1
- package/dist/components/data/table/table.class.d.ts +14 -10
- package/dist/components/data/table/table.class.js +17 -16
- package/dist/components/data/timeline/timeline.class.d.ts +5 -2
- package/dist/components/data/timeline/timeline.class.js +1 -1
- package/dist/components/data/tree/tree-item.class.js +1 -1
- package/dist/components/data/tree/tree-owner-controller.js +1 -1
- package/dist/components/data/tree/tree.class.d.ts +28 -6
- package/dist/components/data/tree/tree.class.js +3 -3
- package/dist/components/data/tree/tree.d.ts +1 -0
- package/dist/components/data/tree/tree.js +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.d.ts +17 -7
- package/dist/components/data/word-cloud/word-cloud.class.js +6 -4
- package/dist/components/data/word-cloud/word-cloud.styles.js +1 -1
- package/dist/components/forms/catalog-picker-base.d.ts +1 -1
- package/dist/components/forms/catalog-picker-base.js +6 -6
- package/dist/components/forms/catalog-picker-base.styles.js +1 -1
- package/dist/components/forms/combobox/combobox.class.d.ts +7 -3
- package/dist/components/forms/combobox/combobox.class.js +1 -1
- package/dist/components/forms/combobox/option.class.d.ts +4 -2
- package/dist/components/forms/combobox/option.class.js +2 -2
- package/dist/components/forms/country-picker/country-picker.class.d.ts +3 -1
- package/dist/components/forms/country-picker/country-picker.class.js +1 -1
- package/dist/components/forms/currency-picker/currency-picker.class.d.ts +2 -0
- package/dist/components/forms/currency-picker/currency-picker.class.js +1 -1
- package/dist/components/forms/currency-picker/currency-presentation.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +6 -2
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +3 -2
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +8 -2
- package/dist/components/forms/locale-picker/locale-picker.class.js +5 -4
- package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
- package/dist/components/forms/select/select.class.d.ts +11 -3
- package/dist/components/forms/select/select.class.js +4 -4
- package/dist/components/forms/time-zone-picker/time-zone-picker.class.d.ts +2 -0
- package/dist/components/forms/time-zone-picker/time-zone-picker.class.js +1 -1
- package/dist/components/forms/token-input/token-input.class.d.ts +6 -1
- package/dist/components/forms/token-input/token-input.class.js +15 -13
- package/dist/components/forms/unit-picker/unit-picker.class.d.ts +2 -0
- package/dist/components/forms/unit-picker/unit-picker.class.js +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +1 -1
- package/dist/components/layout/app-rail/app-rail.class.js +1 -1
- package/dist/components/layout/command-palette/command-palette.class.d.ts +5 -2
- package/dist/components/layout/command-palette/command-palette.class.js +2 -1
- package/dist/components/layout/command-palette/command-palette.styles.js +1 -1
- package/dist/components/layout/menu/menu-item.class.d.ts +2 -2
- package/dist/components/layout/menu/menu-item.class.js +2 -2
- package/dist/components/layout/menu/menu.class.d.ts +1 -1
- package/dist/components/layout/menu/menu.class.js +1 -1
- package/dist/components/layout/menubar/menubar.class.d.ts +1 -1
- package/dist/components/layout/menubar/menubar.class.js +1 -1
- package/dist/components/layout/reorder-list/reorder-item.class.d.ts +2 -2
- package/dist/components/layout/reorder-list/reorder-item.class.js +2 -2
- package/dist/components/layout/reorder-list/reorder-list.class.d.ts +1 -1
- package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts +13 -9
- package/dist/components/layout/virtual-list/virtual-list.class.js +21 -17
- package/dist/components/media/av-player/av-cue-index.js +1 -0
- package/dist/components/media/av-player/av-cue-source.d.ts +13 -0
- package/dist/components/media/av-player/av-cue-source.js +1 -0
- package/dist/components/media/av-player/av-metadata.d.ts +2 -2
- package/dist/components/media/av-player/av-metadata.js +1 -1
- package/dist/components/media/av-player/av-player-cue-source-controller.js +1 -0
- package/dist/components/media/av-player/av-player.class.d.ts +34 -12
- package/dist/components/media/av-player/av-player.class.js +15 -10
- package/dist/components/media/flag/flag.class.js +1 -1
- package/dist/components/media/flag/language-map.js +1 -1
- package/dist/components/media/lightbox/lightbox-source.js +1 -0
- package/dist/components/media/lightbox/lightbox-types.d.ts +15 -0
- package/dist/components/media/lightbox/lightbox.class.d.ts +22 -21
- package/dist/components/media/lightbox/lightbox.class.js +6 -4
- package/dist/components/media/lightbox/lightbox.styles.js +1 -1
- package/dist/components/media/map/map-geojson-diff.d.ts +6 -6
- package/dist/components/media/map/map-geojson-diff.js +1 -1
- package/dist/components/media/map/map-loader.d.ts +5 -1
- package/dist/components/media/map/map.class.d.ts +24 -6
- package/dist/components/media/map/map.class.js +2 -2
- package/dist/components/media/map/map.styles.js +1 -1
- package/dist/components/media/video-playlist/video-playlist.class.d.ts +2 -1
- package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
- package/dist/components/overlays/chip/chip.class.d.ts +1 -1
- package/dist/components/overlays/chip/chip.class.js +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts +30 -8
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +22 -8
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +1 -1
- package/dist/components/retrieval/graph/graph-canvas.js +1 -1
- package/dist/components/retrieval/graph/graph-source-composition.js +1 -0
- package/dist/components/retrieval/graph/graph-source-controller.js +1 -0
- package/dist/components/retrieval/graph/graph-spatial-controller.js +2 -2
- package/dist/components/retrieval/graph/graph-spatial-model.js +1 -0
- package/dist/components/retrieval/graph/graph-spatial.js +1 -1
- package/dist/components/retrieval/graph/graph.class.d.ts +31 -6
- package/dist/components/retrieval/graph/graph.class.js +26 -5
- package/dist/components/retrieval/graph/graph.d.ts +1 -1
- package/dist/components/retrieval/graph/graph.js +1 -1
- package/dist/components/retrieval/graph/graph.styles.js +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +33 -4
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +27 -17
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.d.ts +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.js +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.styles.js +1 -1
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +27 -4
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +29 -14
- package/dist/components/retrieval/knowledge-base/knowledge-base.styles.js +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +17 -3
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +15 -10
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +24 -5
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +17 -10
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.d.ts +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.js +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map-layout.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map-model.js +1 -0
- package/dist/components/retrieval/mind-map/mind-map.class.d.ts +27 -4
- package/dist/components/retrieval/mind-map/mind-map.class.js +11 -7
- package/dist/components/retrieval/mind-map/mind-map.d.ts +1 -0
- package/dist/components/retrieval/mind-map/mind-map.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map.styles.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.d.ts +24 -2
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +17 -3
- package/dist/components/retrieval/neighbor-list/neighbor-list.d.ts +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +1 -1
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +8 -4
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +11 -7
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.styles.js +1 -1
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.d.ts +12 -6
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +30 -17
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results-model.js +1 -0
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +46 -5
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +31 -9
- package/dist/components/retrieval/retrieval-results/retrieval-results.d.ts +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.styles.js +1 -1
- package/dist/components/utility/diff-view/diff-view.class.d.ts +16 -8
- package/dist/components/utility/diff-view/diff-view.class.js +3 -2
- package/dist/components/utility/diff-view/diff-view.styles.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.class.d.ts +31 -3
- package/dist/components/utility/json-viewer/json-viewer.class.js +13 -4
- package/dist/components/utility/json-viewer/json-viewer.d.ts +1 -0
- package/dist/components/utility/json-viewer/json-viewer.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.styles.js +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.d.ts +6 -4
- package/dist/components/utility/mention-popover/mention-popover.class.js +6 -5
- package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +34 -7
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js +9 -7
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +28 -4
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +12 -11
- package/dist/components/viewers/geojson-view/geojson-viewer.class.d.ts +3 -1
- package/dist/components/viewers/geojson-view/geojson-viewer.class.js +17 -16
- package/dist/components/viewers/geojson-view/geojson-viewer.d.ts +1 -1
- package/dist/components/viewers/geojson-view/geojson-viewer.js +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +31 -5
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +11 -8
- package/dist/components/viewers/table-viewer-shared.js +19 -3
- package/dist/components/viewers/viewer-search-limits.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +35 -3
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js +20 -5
- package/dist/components/viewers/xml-viewer/xml-viewer.d.ts +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.styles.js +1 -1
- package/dist/countries.js +1 -1
- package/dist/data-sources.d.ts +34 -0
- package/dist/data-sources.js +1 -0
- package/dist/events.d.ts +51 -7
- package/dist/framework-types.d.ts +1 -1
- package/dist/internal/accessibility-visibility.d.ts +4 -2
- package/dist/internal/accessibility-visibility.js +1 -1
- package/dist/internal/accessible-text-controller.js +1 -1
- package/dist/internal/anchor-target.js +2 -2
- package/dist/internal/catalog-picker.d.ts +1 -7
- package/dist/internal/catalog-picker.js +1 -1
- package/dist/internal/collection-snapshot.js +1 -1
- package/dist/internal/default-strings/agent-tools.generated.js +1 -1
- package/dist/internal/default-strings/charts.generated.js +1 -1
- package/dist/internal/default-strings/conversation.generated.js +1 -1
- package/dist/internal/default-strings/data.generated.js +1 -1
- package/dist/internal/default-strings/forms.generated.js +1 -1
- package/dist/internal/default-strings/layout.generated.js +1 -1
- package/dist/internal/default-strings/media.generated.js +1 -1
- package/dist/internal/default-strings/retrieval.generated.js +1 -1
- package/dist/internal/default-strings/shared.generated.js +1 -1
- package/dist/internal/default-strings/utility.generated.js +1 -1
- package/dist/internal/delimited-data.js +1 -1
- package/dist/internal/fixed-containing-block.js +1 -1
- package/dist/internal/flow-scene-envelope.js +1 -0
- package/dist/internal/graph-scene-controller.js +1 -0
- package/dist/internal/hierarchy-source-controller.js +1 -0
- package/dist/internal/hierarchy-source-view.js +29 -0
- package/dist/internal/hierarchy-source-view.styles.js +1 -0
- package/dist/internal/inherited-attribute-hub.d.ts +6 -0
- package/dist/internal/inherited-attribute-hub.js +1 -1
- package/dist/internal/intl-cache.js +1 -1
- package/dist/internal/keyed-index.js +1 -0
- package/dist/internal/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +2 -2
- package/dist/internal/lyra-element.d.ts +2 -2
- package/dist/internal/lyra-element.js +3 -2
- package/dist/internal/native-modal-context.js +1 -1
- package/dist/internal/option-selection.js +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/positioner.js +1 -1
- package/dist/internal/resource-loader.d.ts +2 -0
- package/dist/internal/resource-loader.js +1 -1
- package/dist/internal/scoped-definitions.generated.js +1 -1
- package/dist/internal/search-haystack.js +1 -0
- package/dist/internal/selection-catalog.d.ts +5 -0
- package/dist/internal/selection-catalog.js +1 -1
- package/dist/internal/shiki-language-sources.js +1 -0
- package/dist/internal/source-page-controller.js +1 -0
- package/dist/internal/source-page-scope.js +1 -0
- package/dist/internal/source-request-controller.js +1 -0
- package/dist/internal/source-window-controller.js +1 -0
- package/dist/internal/spatial-source-controller.js +1 -0
- package/dist/internal/text-quote.d.ts +2 -6
- package/dist/internal/text-quote.js +1 -1
- package/dist/internal/theme-watcher.js +1 -1
- package/dist/internal/virtual-list-composition.js +1 -0
- package/dist/lyra.d.ts +1 -1
- package/dist/lyra.js +1 -1
- package/dist/testing/interaction-drivers.js +1 -1
- package/dist/testing/lyra-tag-event-map.js +1 -1
- package/dist/units.js +1 -1
- package/dist/utilities/data-preparation.d.ts +56 -0
- package/dist/utilities/data-preparation.js +1 -0
- package/dist/utilities/data-spatial.d.ts +26 -0
- package/dist/utilities/data-spatial.js +1 -0
- package/dist/utilities/index.d.ts +1 -1
- package/dist/utilities/index.js +1 -1
- package/llms/components/lr-activity-feed.md +7 -2
- package/llms/components/lr-agent-trace.md +49 -9
- package/llms/components/lr-agent-workspace.md +15 -8
- package/llms/components/lr-av-player.md +180 -10
- package/llms/components/lr-bar-chart.md +1 -1
- package/llms/components/lr-box-plot.md +8 -0
- package/llms/components/lr-bubble-chart.md +1 -1
- package/llms/components/lr-calendar.md +26 -3
- package/llms/components/lr-chart.md +310 -23
- package/llms/components/lr-chat-viewport.md +6 -0
- package/llms/components/lr-code-block-core.md +12 -7
- package/llms/components/lr-code-block.md +23 -9
- package/llms/components/lr-combobox.md +27 -15
- package/llms/components/lr-command-palette.md +16 -3
- package/llms/components/lr-country-picker.md +23 -6
- package/llms/components/lr-csv-viewer.md +95 -12
- package/llms/components/lr-currency-picker.md +23 -3
- package/llms/components/lr-data-grid.md +24 -6
- package/llms/components/lr-dataset-viewer.md +92 -11
- package/llms/components/lr-dialog.md +1 -1
- package/llms/components/lr-diff-view.md +19 -6
- package/llms/components/lr-document-library.md +60 -5
- package/llms/components/lr-doughnut-chart.md +1 -1
- package/llms/components/lr-embedding-explorer.md +89 -9
- package/llms/components/lr-emoji-picker.md +7 -2
- package/llms/components/lr-eval-dataset.md +56 -7
- package/llms/components/lr-eval-result.md +89 -4
- package/llms/components/lr-export-button.md +1 -1
- package/llms/components/lr-file-tree.md +60 -6
- package/llms/components/lr-flag.md +5 -2
- package/llms/components/lr-flow-canvas.md +152 -14
- package/llms/components/lr-flow-minimap.md +32 -4
- package/llms/components/lr-funnel.md +14 -0
- package/llms/components/lr-geojson-viewer.md +27 -10
- package/llms/components/lr-graph.md +43 -7
- package/llms/components/lr-heatmap.md +161 -5
- package/llms/components/lr-histogram.md +55 -9
- package/llms/components/lr-ingestion-queue.md +54 -3
- package/llms/components/lr-json-viewer.md +87 -7
- package/llms/components/lr-knowledge-base-admin.md +60 -4
- package/llms/components/lr-knowledge-base.md +121 -9
- package/llms/components/lr-knowledge-graph-explorer.md +106 -11
- package/llms/components/lr-lightbox.md +42 -6
- package/llms/components/lr-line-chart.md +28 -5
- package/llms/components/lr-lite-chart.md +96 -31
- package/llms/components/lr-locale-picker.md +6 -4
- package/llms/components/lr-map.md +67 -8
- package/llms/components/lr-markdown-core.md +10 -5
- package/llms/components/lr-markdown.md +23 -6
- package/llms/components/lr-mention-popover.md +11 -6
- package/llms/components/lr-mind-map.md +91 -10
- package/llms/components/lr-model-select.md +8 -4
- package/llms/components/lr-model-settings-panel.md +10 -2
- package/llms/components/lr-navigation-menu.md +1 -1
- package/llms/components/lr-neighbor-list.md +69 -2
- package/llms/components/lr-pie-chart.md +1 -1
- package/llms/components/lr-polar-area-chart.md +1 -1
- package/llms/components/lr-prompt-input.md +9 -2
- package/llms/components/lr-prompt-queue.md +11 -3
- package/llms/components/lr-radar-chart.md +1 -1
- package/llms/components/lr-rag-eval-dashboard.md +9 -2
- package/llms/components/lr-realtime-session.md +6 -2
- package/llms/components/lr-reorder-list.md +4 -0
- package/llms/components/lr-retrieval-compare.md +9 -4
- package/llms/components/lr-retrieval-results.md +104 -6
- package/llms/components/lr-scatter-chart.md +1 -1
- package/llms/components/lr-select.md +20 -10
- package/llms/components/lr-sequence-strip.md +92 -2
- package/llms/components/lr-span-waterfall.md +78 -8
- package/llms/components/lr-sparkline.md +42 -11
- package/llms/components/lr-spreadsheet-viewer.md +109 -14
- package/llms/components/lr-streaming-text-core.md +4 -2
- package/llms/components/lr-streaming-text.md +5 -1
- package/llms/components/lr-table.md +96 -115
- package/llms/components/lr-task-list.md +93 -9
- package/llms/components/lr-terminal.md +9 -0
- package/llms/components/lr-test-results.md +77 -3
- package/llms/components/lr-thread-list.md +86 -1
- package/llms/components/lr-time-zone-picker.md +8 -3
- package/llms/components/lr-timeline.md +5 -0
- package/llms/components/lr-token-input.md +7 -2
- package/llms/components/lr-tool-timeline.md +13 -4
- package/llms/components/lr-trace-tree.md +96 -10
- package/llms/components/lr-transcript-feed.md +9 -2
- package/llms/components/lr-tree.md +87 -15
- package/llms/components/lr-unit-picker.md +8 -3
- package/llms/components/lr-video-playlist.md +2 -0
- package/llms/components/lr-virtual-list.md +17 -8
- package/llms/components/lr-voice-picker.md +8 -3
- package/llms/components/lr-word-cloud.md +128 -12
- package/llms/components/lr-xml-viewer.md +106 -9
- package/llms/index.md +1 -1
- package/llms/peers.md +1 -1
- package/llms/shared/events-and-types.md +725 -264
- package/llms/shared/forms-and-accessibility.md +3 -17
- package/llms/shared/imports-and-registration.md +3 -17
- package/llms/shared/localization-and-rtl.md +0 -2
- package/llms/shared/styles-and-tokens.md +27 -36
- package/llms/shared/testing-and-utilities.md +4 -5
- package/llms/shared.md +770 -349
- package/llms.txt +1 -2
- package/locales.json +139 -139
- package/package.json +13 -4
- package/registrations.json +1 -1
- package/skills/compose-lyra-interfaces/SKILL.md +6 -8
- package/skills/lyra-ui/SKILL.md +20 -51
- package/skills/lyra-ui/commands/review.md +16 -33
- package/skills/lyra-ui/commands/update.md +6 -5
- package/skills/lyra-ui/online-api.md +15 -0
- package/skills/lyra-ui/reporting.md +2 -1
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [charts](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/charts.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 21 parts, 23 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
@@ -42,6 +42,16 @@ is no "every item in the tooltip" surface to hook a title or footer formatter on
|
|
|
42
42
|
|
|
43
43
|
**Properties:**
|
|
44
44
|
- `type: LyraLiteChartType = 'bar'` — `'bar' | 'line'`
|
|
45
|
+
- `maxRecords: number = 1000` (attribute `max-records`) — rendered record budget, normalized to
|
|
46
|
+
2–1,000; invalid values or a removed attribute use the default. With `preparedData = null`, fit
|
|
47
|
+
layouts also sample to the measured allocation width; callbacks and events retain original
|
|
48
|
+
source category indexes, and scroll category widths follow the sampled categories. Prepared
|
|
49
|
+
input instead uses the global entry and table-cell admission limits described below.
|
|
50
|
+
- `preparedData: LyraChartPreparedData | null = null` (property only) — a bounded whole-source
|
|
51
|
+
series or category summary. It takes precedence over `labels` and `datasets`; see the prepared
|
|
52
|
+
route below for original coordinates, activation identities and exact-point lookup. The shared
|
|
53
|
+
union also names `LyraSpatialChartSource`; lite rejects that kind visibly and has no spatial
|
|
54
|
+
density, ID-reveal or scatter/bubble route.
|
|
45
55
|
- `labels: readonly string[] = []` (attribute: false)
|
|
46
56
|
- `datasets: readonly LyraLiteChartSeries[] = []` (attribute: false) —
|
|
47
57
|
`LyraLiteChartSeries { readonly label: string; readonly data: readonly (number|null)[];
|
|
@@ -65,7 +75,9 @@ is no "every item in the tooltip" surface to hook a title or footer formatter on
|
|
|
65
75
|
- `withoutZeroBaseline: boolean = false` (attribute `without-zero-baseline`) — lets the value axis
|
|
66
76
|
start at the data minimum instead of always including zero.
|
|
67
77
|
- `stacked: boolean = false` — sums each category's bars into one segmented bar instead of grouping
|
|
68
|
-
them side by side; ignored for `type="line"`
|
|
78
|
+
them side by side; ignored for legacy `type="line"`. Prepared ordered series reject `stacked`
|
|
79
|
+
in either chart type because their source indexes are independent; prepared categories retain
|
|
80
|
+
category stacking.
|
|
69
81
|
- `tickFormat?: (value: number) => string` (attribute: false) — formats a y-axis tick value for
|
|
70
82
|
display (e.g. `(v) => \`$${v.toFixed(2)}\`` for currency, or a duration formatter for `"42s"`).
|
|
71
83
|
Falls back to the built-in "nice numbers" formatter when unset. The returned string is painted
|
|
@@ -127,9 +139,9 @@ is no "every item in the tooltip" surface to hook a title or footer formatter on
|
|
|
127
139
|
negative values fall back to it, and a finite value is capped so the category run stays within
|
|
128
140
|
1,000,000px.
|
|
129
141
|
- `maxLabels?: number | 'auto'` (attribute `max-labels`) — decimates which category axis labels
|
|
130
|
-
actually render *text*: after
|
|
131
|
-
categories, always shows the first and last
|
|
132
|
-
rest between them. A number is authoritative up to the
|
|
142
|
+
actually render *text*: after legacy sampling or prepared-summary admission, it selects from
|
|
143
|
+
those retained categories, always shows the first and last retained label, and roughly evenly
|
|
144
|
+
distributes the rest between them. A number is authoritative up to the retained category count. `'auto'`
|
|
133
145
|
re-selects after each resize from the resolved tick positions and the widest rendered caller
|
|
134
146
|
label, using the same deterministic 7px-per-character estimate as label ellipsis. Whenever the
|
|
135
147
|
first and last labels fit side by side, it keeps at least 10px of breathing room between every
|
|
@@ -142,8 +154,8 @@ is no "every item in the tooltip" surface to hook a title or footer formatter on
|
|
|
142
154
|
It therefore responds to either `layout` mode without DOM text measurement or browser-specific
|
|
143
155
|
font metrics. Unset (the default) renders every label, unchanged. Each rendered category label
|
|
144
156
|
is allocation-aware: narrow/long text is ellipsized before paint, with the complete caller label
|
|
145
|
-
retained as its accessible name.
|
|
146
|
-
|
|
157
|
+
retained as its accessible name. With `preparedData = null`, the global 1,000-record safety
|
|
158
|
+
sampler may independently bound marks and labels for very large category×series input.
|
|
147
159
|
- `barX?: (index: number) => number` (attribute: false, bar type only) — overrides the internal
|
|
148
160
|
per-category x-origin formula (`plotX + i * slot`) used by both bars and their axis labels, so a
|
|
149
161
|
consumer can pixel-align this chart's bars with a sibling `<lr-heatmap>` calendar's week columns
|
|
@@ -164,8 +176,9 @@ is no "every item in the tooltip" surface to hook a title or footer formatter on
|
|
|
164
176
|
the label alone when unset; no-op while `withLegend` is `false`.
|
|
165
177
|
- `axisLabelText?: (label: string, index: number) => string | null` (attribute: false) — a
|
|
166
178
|
display-only override for one category-axis tick's text; returning `null` renders no tick there at
|
|
167
|
-
all. `labels`
|
|
168
|
-
headers,
|
|
179
|
+
all. Effective category labels (`labels` for legacy input, descriptor labels for prepared
|
|
180
|
+
categories) remain authoritative for table row headers, per-mark `<title>`/accessible names,
|
|
181
|
+
live announcements and CSV export, so blanking
|
|
169
182
|
a tick never blanks the same category where a reader or a spreadsheet needs it. Complements
|
|
170
183
|
`maxLabels` rather than replacing it: that even decimation is applied FIRST, so a category it
|
|
171
184
|
already dropped never reaches this callback — use this one for ticks that must line up with an
|
|
@@ -226,7 +239,8 @@ is no "every item in the tooltip" surface to hook a title or footer formatter on
|
|
|
226
239
|
in the bounded rendered sample select matching bars and line points, which receive
|
|
227
240
|
`data-selected` and explicit `aria-pressed="true"`; all other marks render `aria-pressed="false"`.
|
|
228
241
|
For a multi-series chart, a selected source category selects the matching rendered mark in every
|
|
229
|
-
dataset. Empty is the default.
|
|
242
|
+
dataset. Empty is the default. For prepared input, these remain plotted indexes (including
|
|
243
|
+
separator offsets), not original source indexes; use `revealSourcePoint()` for source lookup.
|
|
230
244
|
Style the built-in highlight through `--lr-lite-chart-selected-outline-color` and
|
|
231
245
|
`--lr-lite-chart-selected-outline-width`. Note
|
|
232
246
|
`::part(bar)[data-selected]` and `::part(point)[data-selected]` are **invalid CSS** — Shadow Parts
|
|
@@ -235,15 +249,64 @@ is no "every item in the tooltip" surface to hook a title or footer formatter on
|
|
|
235
249
|
- `labels`, `datasets`, and `selectedIndices` are clone-owned, bounded, frozen snapshots. Mutating
|
|
236
250
|
a previously assigned array or nested series data has no effect; create and reassign a new
|
|
237
251
|
collection. `labels` keeps its first 10,000 entries; each series keeps its first 10,000 values,
|
|
238
|
-
fewer when more than four series share the 45,000-value bound
|
|
239
|
-
|
|
252
|
+
fewer when more than four series share the 45,000-value bound, so a long series is shortened
|
|
253
|
+
rather than dropped. A localized `limit` notice discloses input loss separately from the
|
|
254
|
+
`data-truncation` rendering notice.
|
|
240
255
|
- `minBarHeight?: number` (attribute `min-bar-height`) — optional minimum visible bar height for
|
|
241
256
|
small non-zero values; finite input is capped at 1,000,000px before derived SVG geometry is
|
|
242
257
|
calculated. Authored floors can exceed the available plot height. Linear and logarithmic stacks
|
|
243
258
|
push subsequent segments along their signed pixel cursor; zero values remain unfloored.
|
|
244
259
|
- `appendData(label, values, maxPoints?)` — appends one aligned category and keeps a rolling window
|
|
245
260
|
of the newest `maxPoints` categories, never more than the `datasets` bound above (also the
|
|
246
|
-
default)
|
|
261
|
+
default). The immutable window copy remains proportional to the retained window; existing
|
|
262
|
+
canonical points are not re-admitted. Hidden generated multi-series table formatting coalesces
|
|
263
|
+
append-only updates during idle, with a 250ms timeout. Visible tables, single-series data lists,
|
|
264
|
+
keyboard announcements and exports remain immediate. External data, formatter or locale changes
|
|
265
|
+
and explicit refreshes cancel deferred work. `appendData()` is inactive while `preparedData`
|
|
266
|
+
is supplied.
|
|
267
|
+
|
|
268
|
+
**Prepared whole-source data:** use `prepareLyraSeriesData` or `prepareLyraCategoryData` from
|
|
269
|
+
`@aceshooting/lyra-ui/utilities/data-preparation.js`, or supply a compatible bounded descriptor.
|
|
270
|
+
Ordered series support `line` and `bar`; category aggregates support `bar`. The shared descriptor
|
|
271
|
+
contract and validation limits are described under `lr-chart` above. Invalid, incompatible or
|
|
272
|
+
over-budget input shows a localized visible message instead of reading legacy arrays or sampling
|
|
273
|
+
again. `maxRecords` bounds entries across all series, and every line-gap separator costs an entry.
|
|
274
|
+
Ordered-series admission additionally reserves two render entries for an isolating separator and
|
|
275
|
+
one exact point. The 9,000 semantic-sample ceiling includes that one extra observation, and the
|
|
276
|
+
1,000 rectangular-cell ceiling includes the reserved rows across all series. Category aggregates
|
|
277
|
+
use the global entry/cell limits without an exact-point reservation.
|
|
278
|
+
|
|
279
|
+
Each ordered series retains its own original x coordinates, source indexes and disconnected gaps;
|
|
280
|
+
nonmonotonic x remains in source order. Full x domains drive horizontal positions; full y domains
|
|
281
|
+
drive value geometry and the accessible min/max/trend summary, with the existing value-scale and
|
|
282
|
+
zero-baseline settings. Categorical synchronization,
|
|
283
|
+
`barX` and `barSlotWidth` are inactive for ordered series. Their accessible alternative uses a
|
|
284
|
+
bounded list even with multiple series, naming each observation's original index and x/y values.
|
|
285
|
+
Category input retains the category table/list behavior. The summary reports complete valid and
|
|
286
|
+
invalid observation counts as well as the displayed count.
|
|
287
|
+
|
|
288
|
+
The host owns the descriptor and reader closures. Reassign `preparedData` (including the same
|
|
289
|
+
identity), or call unnamed `requestUpdate()`, after changing a descriptor or its revision.
|
|
290
|
+
Presentation changes reuse the captured summary. Replacement, explicit refresh, disconnection and
|
|
291
|
+
adoption cancel pending source work and prevent obsolete replies from replacing the current view.
|
|
292
|
+
Setting `preparedData = null` restores the current legacy arrays. Reader closures may retain
|
|
293
|
+
host-owned backing data; component admission does not release that storage.
|
|
294
|
+
|
|
295
|
+
`revealSourcePoint(ref: LyraSeriesPointRef): Promise<boolean>` looks up an original series ID and
|
|
296
|
+
source index. It may refine a bounded source-index neighborhood through an optional host
|
|
297
|
+
`queryRange`; it never guesses an index from x or scans the full source. The component retains one
|
|
298
|
+
bounded overview and one current refinement/overlay. Pending work exposes busy/loading state;
|
|
299
|
+
invalid replies retain the completed view and show a localized failure. Revealing does not select
|
|
300
|
+
or activate a point. There is no zoom API on this component.
|
|
301
|
+
|
|
302
|
+
**Events:** Prepared activation additionally emits noncancelable `lr-source-point-select` with
|
|
303
|
+
`LyraChartSourcePointSelectDetail { revision, seriesId, sourceIndex, point: { x, y } }`, or
|
|
304
|
+
noncancelable `lr-source-category-select` with
|
|
305
|
+
`LyraChartSourceCategorySelectDetail { revision, seriesId, categoryId, value, observationCount }`.
|
|
306
|
+
These carry original source identity;
|
|
307
|
+
the existing point/datum events retain plotted-index meaning. Actions on the displayed view stay
|
|
308
|
+
bound to its committed revision while a replacement is pending; obsolete detached marks cannot
|
|
309
|
+
act on the new model.
|
|
247
310
|
|
|
248
311
|
**Events:** `lr-datum-activate` — canonical family activation with `kind: 'bar'|'point'`,
|
|
249
312
|
`datasetIndex`, `index`, `label`, and `value`. `lr-point-activate` is emitted for the same pointer
|
|
@@ -253,10 +316,15 @@ rendered point in two-dimensional screen space; an exact distance tie retains th
|
|
|
253
316
|
target received the click.
|
|
254
317
|
|
|
255
318
|
**Methods:** `exportData('csv' | 'svg')` returns a spreadsheet-safe CSV snapshot or the current SVG
|
|
256
|
-
markup. CSV rows cover the canonical record count — the maximum of `labels.length` and every
|
|
319
|
+
markup. With `preparedData = null`, CSV rows cover the canonical record count — the maximum of `labels.length` and every
|
|
257
320
|
`dataset.data.length` — and use empty cells for missing labels/values, so a longer or ragged series
|
|
258
321
|
is never truncated or shifted. The method does not download a file; pair it with
|
|
259
|
-
`lr-export-button` for download UX.
|
|
322
|
+
`lr-export-button` for download UX. Prepared exports synchronously serialize the current bounded
|
|
323
|
+
summary/refinement and start no source reads. Ordered-series CSV keeps the label-plus-series
|
|
324
|
+
column schema: each observation gets a row labelled with its original index and localized x/y
|
|
325
|
+
coordinates, a value in its own series column, and empty cells for other series. `skipZero` may
|
|
326
|
+
hide a zero bar but does not omit that admitted value from CSV. SVG exports the current rendered
|
|
327
|
+
view. Complete raw-source export remains host-owned.
|
|
260
328
|
|
|
261
329
|
Axis titles retain their complete `xLabel`/`yLabel` values and accessible names. In the browser,
|
|
262
330
|
visible titles fit their plot allocation using the rendered SVG font; long titles end with an
|
|
@@ -273,33 +341,30 @@ anchoring keeps working correctly under RTL without inverting which rendered cat
|
|
|
273
341
|
keyword. Built-in mark summaries are complete localized templates and format values with
|
|
274
342
|
`effectiveLocale`.
|
|
275
343
|
|
|
276
|
-
**Performance:**
|
|
277
|
-
content
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
the axis maximum when the spike that set it falls between samples. Pre-aggregate (for example a
|
|
284
|
-
minimum and maximum per bucket) when every spike must be drawn.
|
|
344
|
+
**Performance:** focus movement patches the active marks without rebuilding the SVG. Derived table
|
|
345
|
+
content reuses canonical input identity; arbitrary formatter callback results are not cached by a
|
|
346
|
+
serialized content fingerprint. With `preparedData = null`, the shared sampling plan bounds marks, keyboard records and
|
|
347
|
+
generated alternatives by `maxRecords`, retaining endpoints and bucket extrema within the available
|
|
348
|
+
budget. Fit layouts also use allocation width. The value axis still spans admitted data; a finite
|
|
349
|
+
sample cannot retain every extremum from arbitrarily many series, so pre-aggregate when every spike
|
|
350
|
+
must be represented.
|
|
285
351
|
|
|
286
352
|
**Slots:** `data-table` — optional consumer-provided complete, paginated, or virtualized accessible
|
|
287
353
|
data alternative.
|
|
288
354
|
|
|
289
|
-
**CSS parts:** `base`, `description
|
|
355
|
+
**CSS parts:** `base`, `description` (accessible summary and visible prepared loading/error text), `grid-line`, `axis-label`, `axis-title`,
|
|
290
356
|
`sync-crosshair` (decorative synchronized category line), `sync-tooltip` (noninteractive positioned
|
|
291
357
|
text tooltip while `syncGroup` is active), `bar` and `point` (each carries
|
|
292
358
|
`data-selected` when its category index is in `selectedIndices`, with explicit pressed state on every
|
|
293
359
|
mark), `line`, `legend`, `legend-item`, `legend-swatch`, `legend-text` (extra per-item text after
|
|
294
360
|
the series label, rendered only when `legendText` is set), `live-region` (the current mark
|
|
295
361
|
announcement for keyboard users), `data-list` (a visually hidden sampled list of plotted data
|
|
296
|
-
points — single-series
|
|
362
|
+
points — single-series legacy/category input or any prepared ordered series), `data-table` (the generated/slotted alternative container),
|
|
297
363
|
`data-table-toggle` (the `dataTableToggle` disclosure button), `table`
|
|
298
|
-
(the generated semantic category×series table
|
|
299
|
-
`data-truncation` (the
|
|
300
|
-
visible/announced sampling notice).
|
|
364
|
+
(the generated semantic category×series table for multi-series legacy/category input), and
|
|
365
|
+
`data-truncation` (the visible/announced sampling notice), and `limit` (the input-admission notice).
|
|
301
366
|
|
|
302
|
-
**Screen-reader data alternative:** a single dataset renders the flat `data-list` (one `<li>` per
|
|
367
|
+
**Screen-reader data alternative (legacy or prepared categories):** a single dataset renders the flat `data-list` (one `<li>` per
|
|
303
368
|
plotted point, matching the roving-tabindex mark order). More than one dataset instead renders a
|
|
304
369
|
`data-table` — a category-labelled `<caption>` (the shared localized `chartData` string), one
|
|
305
370
|
`<th scope="col">` per series (plus a leading `chartCategory` corner header), and one
|
|
@@ -309,7 +374,7 @@ Finite table cells use `tableCellFormatter` when supplied and otherwise use the
|
|
|
309
374
|
effective locale. A stacked multi-series bar chart with `tableTotals` adds a localized total
|
|
310
375
|
column; null/non-finite inputs are skipped, while an all-missing category leaves the total cell
|
|
311
376
|
blank instead of reporting a misleading zero. Built-in SVG marks, keyboard targets, and this data
|
|
312
|
-
alternative share
|
|
377
|
+
alternative share the same endpoint/extremum sample bounded by `maxRecords`. When
|
|
313
378
|
sampling occurs, a localized `data-truncation` notice is shown and announced; provide
|
|
314
379
|
`slot="data-table"` for a complete paginated, virtualized, or application-owned alternative, which
|
|
315
380
|
suppresses the generated sample; the notice then says only the plot is sampled.
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 18 parts, 25 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
@@ -47,8 +47,10 @@ readonly LyraLocaleEntry[]`, `LyraLocaleEntry { tag: string; label?: string; cou
|
|
|
47
47
|
the derived `localeNativeName(tag)` endonym only when it is non-blank; an explicitly blank (or
|
|
48
48
|
whitespace-only) `label` is treated the same as an omitted one and still falls back to
|
|
49
49
|
`localeNativeName(tag)`. Explicit catalogs are
|
|
50
|
-
capped, cloned and frozen at assignment; mutate a new array/entry
|
|
51
|
-
|
|
50
|
+
capped at the first 512 source entries, cloned and frozen at assignment; mutate a new array/entry
|
|
51
|
+
and reassign it to update the list. The localized `limit` part reports omitted input through
|
|
52
|
+
`localePickerInputLimit`. Closed listboxes contain no option rows after their exit transition;
|
|
53
|
+
the trigger still resolves the selected label. `country` (ISO 3166-1 alpha-2 or alpha-3) overrides a row's derived flag — e.g.
|
|
52
54
|
showing Lebanon's flag for an `'ar'` row instead of the library's default Saudi Arabia mapping;
|
|
53
55
|
only available on the `{tag,label,country}` object form, not the bare `string[]` form. Replacing
|
|
54
56
|
the catalog while the listbox is open keeps keyboard navigation valid: an active row beyond the
|
|
@@ -191,7 +193,7 @@ priority until cleared.
|
|
|
191
193
|
|
|
192
194
|
**Slots:** `label`, `hint`, `error`.
|
|
193
195
|
|
|
194
|
-
**CSS parts:** `form-control`, `form-control-label`, `trigger`,
|
|
196
|
+
**CSS parts:** `limit` (input-loss notice), `form-control`, `form-control-label`, `trigger`,
|
|
195
197
|
`trigger-flag` (the trigger's leading `<lr-flag>` for the current value, present only while
|
|
196
198
|
`withoutFlags` is off and `triggerDisplay` is not `label`), `trigger-label` (the current language,
|
|
197
199
|
visually hidden in flag-only mode), `listbox`, `option`, `option-flag` (present only while `withoutFlags` is off),
|
|
@@ -23,6 +23,31 @@ plus a peer-neutral `map` getter for common imperative operations. Its runtime v
|
|
|
23
23
|
underlying MapLibre map. The component observes its own map-container allocation and calls the
|
|
24
24
|
peer's `resize()` when that allocation changes.
|
|
25
25
|
|
|
26
|
+
**Large spatial sources:** a catalog of a million logical geospatial records can stay in a
|
|
27
|
+
host-owned spatial service. Supply a hosted vector style URL, or a style object with vector tile
|
|
28
|
+
sources and layers, through `mapStyle`; the selected peer requests and renders tiles for the
|
|
29
|
+
viewport. The host owns durable records, spatial indexing, identity lookup, global bounds and
|
|
30
|
+
total counts. Keep those totals beside the map: a rendered-feature query describes the current
|
|
31
|
+
viewport, not the complete catalog. Tile density, zoom range and service response sizes remain
|
|
32
|
+
application decisions. This route does not require a million-feature inline GeoJSON collection.
|
|
33
|
+
|
|
34
|
+
Configure the selected engine's worker before constructing the map, as described below. For a
|
|
35
|
+
custom tile protocol, register `addProtocol()` from that same engine package before assigning a
|
|
36
|
+
style that uses its scheme (`@aceshooting/lyra-map` for the default, `maplibre-gl` for explicit
|
|
37
|
+
`engine="maplibre"`). The host protocol handler supplies real tile bytes and owns its transport,
|
|
38
|
+
authorization and cancellation. Remove registrations with `removeProtocol()` when no remaining
|
|
39
|
+
map uses them. A protocol registration is peer setup, not an `lr-map` provider property.
|
|
40
|
+
|
|
41
|
+
Use bounded `dataLayers` for changing selections or local overlays fetched by identity or spatial
|
|
42
|
+
query. Only the first 100 descriptors are inspected, and `markers` inspects at most 2,000 entries;
|
|
43
|
+
neither is a complete catalog browser. Stable unique feature IDs allow
|
|
44
|
+
`updateSourceData(sourceId, diff)` to update an applied generated GeoJSON source without replacing
|
|
45
|
+
the whole collection. Check its boolean result and retain the host's authoritative state; a later
|
|
46
|
+
controlled `dataLayers` assignment replaces imperative changes. Opaque GeoJSON handoff and
|
|
47
|
+
uncloned diffs avoid a Lyra deep copy, while the peer still parses, indexes, transfers and caches
|
|
48
|
+
data. The tile cache belongs to the peer; bounded wrapper DOM does not establish a bound on worker
|
|
49
|
+
heap or guarantee constant rendering cost as the source grows.
|
|
50
|
+
|
|
26
51
|
Markers and popups use the physical top-left origin required by MapLibre's projected transforms in
|
|
27
52
|
both LTR and RTL. Their text and surrounding controls retain logical direction-aware layout.
|
|
28
53
|
|
|
@@ -195,7 +220,9 @@ string; geojson: GeoJSON.FeatureCollection; field: string; stops: [number, strin
|
|
|
195
220
|
- `markers: LyraMapMarker[] = []` (attribute: false) — `LyraMapMarker { id?: string; lngLat:
|
|
196
221
|
[number, number]; color?: string; label?: string; unsafeHtml?: string }`; an explicit `id` is
|
|
197
222
|
trimmed and must be nonempty, and the first successfully admitted marker for an explicit ID wins.
|
|
198
|
-
|
|
223
|
+
Only the first 2,000 authored entries are inspected; `markersTruncated` reports an omitted
|
|
224
|
+
suffix. Use clustered `dataLayers` for larger point collections. A malformed earlier row does
|
|
225
|
+
not reserve that ID. Markers are reconciled
|
|
199
226
|
by that explicit ID (falling back
|
|
200
227
|
to a `lng,lat` key, disambiguated by occurrence order for duplicate-coordinate id-less markers,
|
|
201
228
|
when `id` is omitted) so an unchanged marker isn't torn down and recreated on every `markers`
|
|
@@ -206,12 +233,14 @@ string; geojson: GeoJSON.FeatureCollection; field: string; stops: [number, strin
|
|
|
206
233
|
escaped) when the content is plain text. For marker/popup naming, visible text is extracted from
|
|
207
234
|
trusted markup while `script`, `style`, `template`, `[hidden]`, and `aria-hidden="true"` subtrees
|
|
208
235
|
are excluded; an explicitly supplied `label` remains the more predictable accessible name. A
|
|
209
|
-
marker whose `color` changes for a persisting `id`
|
|
236
|
+
marker whose authored `color` changes for a persisting `id`
|
|
210
237
|
can't be recolored in place (no `Marker.setColor()`) and is torn down/reconstructed instead — see
|
|
211
238
|
gotchas. Entries with non-finite coordinates, latitude outside `[-90, 90]`, or a runtime
|
|
212
239
|
non-string `label` are skipped without aborting valid siblings. `color` is used only when the
|
|
213
240
|
browser accepts it as CSS `color`;
|
|
214
|
-
declaration breaks and `url()` paint servers fall back to
|
|
241
|
+
declaration breaks and `url()` paint servers fall back to the default color. Without an authored
|
|
242
|
+
color, markers follow `--lr-color-brand` through CSS `currentColor`; rethemes preserve marker and
|
|
243
|
+
popup identity, including an open popup. Explicit authored color changes still reconstruct markers.
|
|
215
244
|
Every retained marker is a named `role="button"` tab stop, including one without a popup. Click,
|
|
216
245
|
Enter, and Space emit `lr-map-marker-activate`; Space suppresses its page-scroll default while
|
|
217
246
|
preserving MapLibre's popup toggle. A popup-bearing marker additionally exposes
|
|
@@ -222,7 +251,8 @@ GeoJSON.FeatureCollection; tone?: 'accent' | 'success' | 'warning' |
|
|
|
222
251
|
'danger' | 'neutral'; color?: string; strokeColor?: string; line?: LyraMapLineOptions;
|
|
223
252
|
point?: LyraMapPointOptions; kind?: LyraMapDataLayerKind;
|
|
224
253
|
heatmap?: LyraMapHeatmapOptions; cluster?: LyraMapClusterOptions }`. `sourceId` is trimmed and must be nonempty; the first layer for a
|
|
225
|
-
`sourceId` that is successfully admitted wins
|
|
254
|
+
`sourceId` that is successfully admitted wins. Only the first 100 entries are inspected; blank,
|
|
255
|
+
malformed, and later duplicate records are
|
|
226
256
|
ignored without reserving an identity for a valid later sibling. Each retained entry adds one
|
|
227
257
|
GeoJSON source plus three geometry-filtered layers
|
|
228
258
|
(fill, line, and circle, so a mixed `FeatureCollection` renders correctly), colored from the
|
|
@@ -253,6 +283,12 @@ heatmap?: LyraMapHeatmapOptions; cluster?: LyraMapClusterOptions }`. `sourceId`
|
|
|
253
283
|
The component snapshots the configuration it reads. It passes `choropleth.geojson` and
|
|
254
284
|
`dataLayers[].geojson` through to MapLibre; assign a new `choropleth`, `dataLayers`, or `markers`
|
|
255
285
|
value after changing configuration, because mutating an assigned value is not observed.
|
|
286
|
+
For an in-place change to pass-through GeoJSON, call `requestUpdate()` explicitly to refresh its
|
|
287
|
+
comparison snapshot. This refresh still applies when coalesced with a named presentation update.
|
|
288
|
+
Changed geometry or bounding boxes replace the peer source data. For comparable feature
|
|
289
|
+
collections, unchanged snapshots avoid a redundant write; eligible property-only changes keep
|
|
290
|
+
the incremental update path. A refreshed standalone feature or over-limit collection uses a
|
|
291
|
+
full replacement even when its data is unchanged.
|
|
256
292
|
|
|
257
293
|
`cluster` and `kind` (both new in 12.0.0) opt one entry out of that three-layer geometry split.
|
|
258
294
|
**Both are strictly additive: an entry that sets neither renders exactly what it rendered before,
|
|
@@ -436,8 +472,12 @@ features keep semantically unchanged geometry/bbox values, the component emits M
|
|
|
436
472
|
incremental `updateData()` for property changes, additions, removals, and order changes. The exact
|
|
437
473
|
next order is preserved: an unchanged prefix stays in place and only the invalidated suffix is
|
|
438
474
|
removed and re-added. Lyra snapshots control and projection data while retaining opaque GeoJSON
|
|
439
|
-
identity at the MapLibre boundary
|
|
440
|
-
|
|
475
|
+
identity at the MapLibre boundary. Immutable admitted geometry and bbox identities reuse their
|
|
476
|
+
validated comparison projections; replace those identities when their contents change. Otherwise,
|
|
477
|
+
a bounded, accessor-free comparison verifies the JSON geometry graph. Automatic comparison
|
|
478
|
+
supports at most 10,000 features, with a work budget of at least 50,000 values or 4,096 values per
|
|
479
|
+
feature, whichever is larger, capped at 10,000,000 values. A missing/duplicate ID, changed geometry,
|
|
480
|
+
exceeded bound, or uncertain
|
|
441
481
|
comparison falls back to `setData()` with no change in rendered behaviour. Peers without
|
|
442
482
|
`updateData()` always take the old path.
|
|
443
483
|
|
|
@@ -463,7 +503,8 @@ payload beside the map.
|
|
|
463
503
|
`LyraMapPointRadiusInterpolation`, `LyraMapPointIcon`, `LyraMapPointIconMode`,
|
|
464
504
|
`LyraMapPointIconLineCap`, `LyraMapPointIconLineJoin`, `LyraMapMarker`, `LyraMapMarkerActivationDetail`,
|
|
465
505
|
`LyraMapMarkerActivationSource`, `LyraMapLegendToggleDetail`, `LyraMapLegendPanelToggleDetail`,
|
|
466
|
-
`LyraMapStyleSpecification`, `LyraMapEngine`, `LyraMapFeatureRequirements`,
|
|
506
|
+
`LyraMapStyleSpecification`, `LyraMapEngine`, `LyraMapFeatureRequirements`, `LyraMapSourceDataDiff`,
|
|
507
|
+
and `LyraMapInstance`.
|
|
467
508
|
|
|
468
509
|
**Getters:** `map: LyraMapInstance | undefined` → the underlying runtime `maplibregl.Map`, exposed
|
|
469
510
|
through the peer-neutral `getCanvas()`, `getCenter()`, `getZoom()`, `setCenter()`, `setZoom()`, and
|
|
@@ -473,6 +514,15 @@ value to the selected engine's `Map` type. `LyraMapInstance.prepareFeatures?()`
|
|
|
473
514
|
modular engine and absent on canonical MapLibre, so guard it or narrow to the companion `Map`
|
|
474
515
|
before calling. Identity is preserved: `.map` is the engine instance, not a proxy.
|
|
475
516
|
|
|
517
|
+
After `lr-map-load`, use the narrowed peer's `queryRenderedFeatures(point, { layers: [...] })`
|
|
518
|
+
for identities painted by style-owned vector layers; `point` is a screen position, which can be
|
|
519
|
+
obtained with the peer's `project([longitude, latitude])`. Attach peer interaction listeners when
|
|
520
|
+
the host needs those layers' hits. `lr-map-click` queries only the component-generated choropleth
|
|
521
|
+
and `dataLayers` layers described below; it does not query arbitrary layer IDs from `mapStyle`.
|
|
522
|
+
|
|
523
|
+
`markersTruncated: boolean` (read-only) is true when authored marker entries exceed the 2,000-entry
|
|
524
|
+
inspection ceiling; it does not count malformed rows skipped within that prefix.
|
|
525
|
+
|
|
476
526
|
The modular engine automatically prepares initial and replacement style requirements, including
|
|
477
527
|
projection and terrain. `<lr-map>` additionally awaits per-map main-thread and worker readiness
|
|
478
528
|
before adding generated choropleth or `dataLayers` sources and layers. New heatmap, clustering, and
|
|
@@ -491,6 +541,15 @@ optional-peer import without constructing a map or allocating a WebGL context. P
|
|
|
491
541
|
for an explicitly native element. It resolves to `false` when the selected peer is unavailable,
|
|
492
542
|
allowing an application to choose a fallback before connecting an element.
|
|
493
543
|
|
|
544
|
+
`updateSourceData(sourceId: string, diff: LyraMapSourceDataDiff): boolean` forwards a caller-authored
|
|
545
|
+
incremental GeoJSON diff to an applied `dataLayers` or choropleth public `sourceId`. It returns
|
|
546
|
+
`false` before the source is ready, after disconnect, for an unknown source, or when the engine
|
|
547
|
+
lacks `updateData()`. Feature IDs must be stable and unique; the caller owns diff validity. The
|
|
548
|
+
diff is forwarded without cloning, and peer exceptions propagate. It does not change the controlled
|
|
549
|
+
properties. Automatic comparison history is invalidated before forwarding, so a later controlled
|
|
550
|
+
GeoJSON reassignment replaces the imperative state in full. Use this route for changes beyond the
|
|
551
|
+
automatic comparison ceiling.
|
|
552
|
+
|
|
494
553
|
`fitBounds(bounds: LyraMapBounds, options?: LyraMapFitBoundsOptions): boolean` frames a box
|
|
495
554
|
`[[west, south], [east, north]]` in the viewport: the way to show every current marker, or a
|
|
496
555
|
selected region, whenever the data set changes. Use it instead of calling the peer's own
|
|
@@ -820,7 +879,7 @@ undefined`, or changing `choropleth.sourceId` to a different value, now calls `r
|
|
|
820
879
|
- Ancestor theme-attribute and custom-property changes repaint the already-applied choropleth and
|
|
821
880
|
data-layer colors/opacities in place. This does not recreate MapLibre sources/layers, replace the
|
|
822
881
|
style, or reset the current viewport.
|
|
823
|
-
- a marker whose `color` changes for a persisting `id` is torn down and reconstructed (maplibre-gl's
|
|
882
|
+
- a marker whose authored `color` changes for a persisting `id` is torn down and reconstructed (maplibre-gl's
|
|
824
883
|
`Marker` has no `setColor()`) rather than mutated in place — this also closes any popup the user
|
|
825
884
|
currently has open on that marker (a fresh, closed `Popup` is built for the new instance); an
|
|
826
885
|
accepted side effect of the reconstruction fallback, not a bug.
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
|
|
19
19
|
A build-lean sibling of `<lr-markdown>` above, for a consumer whose `languages` map already covers
|
|
20
20
|
every language it will ever render — mirrors `<lr-code-block-core>`'s relationship to
|
|
21
|
-
`<lr-code-block>`.
|
|
22
|
-
default ~200-language dynamic-import table
|
|
23
|
-
statically narrow away
|
|
24
|
-
|
|
21
|
+
`<lr-code-block>`. The full `<lr-markdown>` module references `loadShikiHighlighter()` for languages
|
|
22
|
+
absent from its explicit map. That loader includes the default ~200-language dynamic-import table,
|
|
23
|
+
whose bundled lookup table a bundler cannot statically narrow away.
|
|
24
|
+
This component's own module never imports or calls that function; it only calls
|
|
25
25
|
`loadShikiHighlighterCore(languages)`, so a consumer importing this entry point instead of
|
|
26
26
|
`markdown.js` gets a build genuinely free of shiki's full language table.
|
|
27
27
|
|
|
@@ -43,6 +43,10 @@ support (`highlights`, `activeHighlightId`, `scrollToAnchor()`, the `lr-highligh
|
|
|
43
43
|
`htmlMode`/streaming fallback matrix and known gotchas — is identical to `<lr-markdown>`; see that
|
|
44
44
|
section above for the full write-up of shared behavior.
|
|
45
45
|
|
|
46
|
+
During progressive streaming, the complete plain-text tail stays in the DOM; its offscreen height
|
|
47
|
+
is estimated until revealed, so the scroll extent can adjust as pending text comes into view or
|
|
48
|
+
becomes settled Markdown.
|
|
49
|
+
|
|
46
50
|
**Properties:** `content: string = ''`, `tabSize: number = 4` (attribute `tab-size`) — the same
|
|
47
51
|
finite-integer-guarded leading-indentation expansion used by `<lr-markdown>`; finite values are
|
|
48
52
|
clamped to `[1, 32]` (`0` becomes `1`, `33` becomes `32`), and only non-finite values (`NaN`,
|
|
@@ -55,7 +59,7 @@ instance's isolated peer-neutral configurable parser; `htmlMode: 'sanitize' | 'e
|
|
|
55
59
|
`streamingRender: MarkdownStreamingRender = 'plain'` (attribute `streaming-render`, not reflected),
|
|
56
60
|
`codeBlockHeader: boolean = false` (attribute `code-block-header`),
|
|
57
61
|
`withoutSyntaxHighlighting: boolean = false` (attribute `without-syntax-highlighting`),
|
|
58
|
-
`languages: Record<string, ShikiLanguageSource
|
|
62
|
+
`languages: Readonly<Record<string, ShikiLanguageSource>> = {}` (attribute: false) —
|
|
59
63
|
required, unlike `<lr-markdown>`'s optional `languages?:`; empty (the default) means every fenced
|
|
60
64
|
block stays unhighlighted permanently. Each value is either an already-resolved grammar or a lazy
|
|
61
65
|
loader (`() => Promise<ShikiLanguageInput | { default: ShikiLanguageInput }>`, e.g.
|
|
@@ -70,6 +74,7 @@ The same 1,000,000-code-unit/20,000-node corpus ceiling, 4,096-code-unit quote-f
|
|
|
70
74
|
4,000,000-code-unit work ceiling, 10,000-record admission ceiling, 1,000-candidate window, and
|
|
71
75
|
100-painted-highlight limit documented for `<lr-markdown>` apply here too, including active-first
|
|
72
76
|
retention from anywhere in the admitted snapshot.
|
|
77
|
+
The same syntax-highlighting admission, source-size and cache bounds documented above also apply.
|
|
73
78
|
|
|
74
79
|
**Methods:** `renderMarkdown(): void` — immediately reruns the current content through the parse,
|
|
75
80
|
sanitize, highlight, and fallback pipeline after changing this instance's `marked` configuration;
|
|
@@ -116,7 +116,10 @@ uses for its own `[part="body"]`.
|
|
|
116
116
|
use plain streaming; inline extensions and renderer overrides remain supported. A text tail
|
|
117
117
|
follows the surrounding direction, while its open-fence preview uses code direction. Work is
|
|
118
118
|
bounded per animation frame; after 2,000 settled groups the remaining source stays plain until
|
|
119
|
-
completion. Large code blocks defer highlighting until completion.
|
|
119
|
+
completion. Large code blocks defer highlighting until completion. The offscreen plain-text tail
|
|
120
|
+
uses native rendering containment: its complete text stays in the DOM, but its height is estimated
|
|
121
|
+
until it is revealed, then remembered by the browser. The scroll extent can adjust as pending text
|
|
122
|
+
comes into view or becomes settled Markdown. This applies to both Markdown variants.
|
|
120
123
|
Known limits of progressive mode: an in-progress list or table stays plain text until another
|
|
121
124
|
block follows it (and a code fence inside it reads in page direction until then); raw HTML or a
|
|
122
125
|
consumer renderer override that leaves an element open, and a reference definition whose title is
|
|
@@ -136,14 +139,18 @@ uses for its own `[part="body"]`.
|
|
|
136
139
|
the header also removes authored style elements and their CSS text to prevent visual copy
|
|
137
140
|
deception. Trusted mode provides no such guarantee.
|
|
138
141
|
- `withoutSyntaxHighlighting: boolean = false` (attribute `without-syntax-highlighting`) — turns off
|
|
139
|
-
fenced-code syntax highlighting. Unset (the default),
|
|
142
|
+
fenced-code syntax highlighting. Unset (the default), eligible fenced blocks are upgraded via the
|
|
140
143
|
optional `shiki` peer once it is available; set it to keep plain output even when `shiki` is
|
|
141
144
|
installed. In progressive mode, a block can be highlighted after it settles; the mutable tail
|
|
142
145
|
remains unhighlighted.
|
|
143
|
-
- `languages?: Record<string, ShikiLanguageInput
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
146
|
+
- `languages?: Readonly<Record<string, ShikiLanguageInput>>` (attribute: false) — explicit
|
|
147
|
+
resolved grammars. Languages absent from both this map and `languageLoaders` use the full
|
|
148
|
+
loader's built-in fallback. Replace the map identity when changing its grammars.
|
|
149
|
+
- `languageLoaders?: Readonly<Record<string, ShikiLanguageLoader>>` (attribute: false) — lazy
|
|
150
|
+
grammars such as `{ json: () => import('shiki/langs/json.mjs') }`. Only a matching fenced
|
|
151
|
+
language invokes its loader; concrete `languages` entries take priority on duplicate keys.
|
|
152
|
+
Unset preserves concrete-grammar readback and the default loader. Assign a new map object after
|
|
153
|
+
edits; changing either map invalidates pending highlights and isolates cached output.
|
|
147
154
|
- `headingAnchors: boolean = false` (attribute `heading-anchors`) — stamps a computed
|
|
148
155
|
GitHub-slugger-style slug as `id` on every rendered heading.
|
|
149
156
|
- `math: boolean = false` — renders `$inline$` and `$$block$$` TeX via the optional `katex` peer,
|
|
@@ -170,6 +177,16 @@ pass. It reuses that index across navigation and painting. Host-highlight admiss
|
|
|
170
177
|
1,000 candidates and paints at most 100, with an active entry anywhere in the admitted snapshot
|
|
171
178
|
placed first and preserved inside both ceilings.
|
|
172
179
|
|
|
180
|
+
Syntax highlighting admits the first 100 distinct language/code pairs in a document, or across a
|
|
181
|
+
progressive session. Each eligible block is limited to 8,192 UTF-16 code units, including its
|
|
182
|
+
terminal newline. Later or larger blocks remain readable plain code. Both Markdown tags share a
|
|
183
|
+
content-addressed cache, partitioned by the supplied `languages` map identity, with at most 100
|
|
184
|
+
entries and 2 MiB of retained key/output storage (two bytes per UTF-16 code unit); each entry is
|
|
185
|
+
limited to 512 KiB. Matching authored grammars share cached output across the full and core tags;
|
|
186
|
+
full-tag fallback languages do not populate the core tag's cache. When highlighted output exceeds
|
|
187
|
+
the byte budget, evicted blocks may remain plain instead of repeatedly tokenizing. Plain streaming
|
|
188
|
+
defers highlighting until completion; progressive streaming highlights settled blocks.
|
|
189
|
+
|
|
173
190
|
**Methods:**
|
|
174
191
|
|
|
175
192
|
- `renderMarkdown(): void` — immediately reruns the current content through the parse, selected
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 8 parts, 8 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
The `more-results` CSS part exposes the additional-results message.
|
|
20
20
|
|
|
21
|
-
Suggestion listboxes follow the [shared surface treatment](shared/styles-and-tokens.md);
|
|
21
|
+
Suggestion listboxes follow the [shared surface treatment](../shared/styles-and-tokens.md);
|
|
22
22
|
the caller-owned message field retains its fill.
|
|
23
23
|
|
|
24
24
|
A caret-anchored, keyboard-navigable popover for `@`-mention and `/`-slash-command autocomplete
|
|
@@ -43,7 +43,9 @@ preserving null readback; an explicitly empty query remains empty.
|
|
|
43
43
|
plain `<textarea>` or single-line text `<input type="text"|"search">` gets caret-precise
|
|
44
44
|
positioning; any other element anchors the whole popup under that element's own box.
|
|
45
45
|
- `items: readonly Readonly<LyraMentionItem>[] = []` (attribute: false) — the full candidate set,
|
|
46
|
-
pre-`query`-filtering. Assignment
|
|
46
|
+
pre-`query`-filtering. Assignment admits the first 10,000 array positions into a shallow frozen
|
|
47
|
+
snapshot; `items` readback exposes that admitted prefix. Additional input is omitted with a
|
|
48
|
+
localized notice in `part="limit"`. Runtime rows without a string
|
|
47
49
|
`label` remain in that diagnostic snapshot but are omitted from filtering/rendering before the
|
|
48
50
|
built-in or custom predicate runs, so one malformed provider row cannot take down valid siblings.
|
|
49
51
|
An entry's `disabled` marks that row non-actionable: `aria-disabled="true"` replaces its
|
|
@@ -55,7 +57,8 @@ preserving null readback; an explicitly empty query remains empty.
|
|
|
55
57
|
(see `filter`).
|
|
56
58
|
- `open: boolean = false` (reflected)
|
|
57
59
|
- `filter: LyraMentionFilter | null = null` (attribute: false) — overrides the built-in
|
|
58
|
-
case-insensitive `label`/`description` substring match entirely.
|
|
60
|
+
case-insensitive `label`/`description` substring match entirely. Replacing `items` refreshes
|
|
61
|
+
candidate search text; an explicit `requestUpdate()` refreshes a filter whose closure changed.
|
|
59
62
|
- `emptyText?: string` (attribute `empty-text`) — `undefined` uses localized `noMatches`; every
|
|
60
63
|
supplied string, including `''` and `'No matches'`, is caller-owned
|
|
61
64
|
- `label?: string` — accessible name for the `role="listbox"` popup. `undefined` uses localized
|
|
@@ -67,7 +70,8 @@ preserving null readback; an explicitly empty query remains empty.
|
|
|
67
70
|
filtered by `query` via `filter` (or the built-in default). An empty `query` skips the query
|
|
68
71
|
predicate but still omits malformed-label rows. This getter retains every match; the popup
|
|
69
72
|
renders and navigates the first 50, then adds a localized, non-option count of remaining matches
|
|
70
|
-
as the listbox description.
|
|
73
|
+
as the listbox description. This visible-match limit is separate from source admission. Closed
|
|
74
|
+
popups contain no suggestion rows after their exit transition settles.
|
|
71
75
|
- `activeDescendantId: string | null` — read-only getter; the `id` of the currently-highlighted
|
|
72
76
|
internal row, or `null` while closed or when `filteredItems` is empty. Useful for diagnostics and
|
|
73
77
|
same-tree consumers; do not copy it to an external control as a string IDREF.
|
|
@@ -115,7 +119,8 @@ renders `open="false"` on first paint)
|
|
|
115
119
|
|
|
116
120
|
**CSS parts:** `listbox`, `option`, `option-icon` (when `icon` is set), `option-label`,
|
|
117
121
|
`option-description` (when `description` is set), `empty`, `more-results` (the localized count
|
|
118
|
-
shown when more suggestions match than the list renders)
|
|
122
|
+
shown when more suggestions match than the list renders), and `limit` (localized notice when
|
|
123
|
+
source admission omits candidates).
|
|
119
124
|
|
|
120
125
|
**Themeable custom properties:** `--lr-mention-popover-option-active-bg` (default
|
|
121
126
|
`var(--lr-color-brand-quiet)`) — background of the hovered or `[data-active]`
|