@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,6 +9,6 @@
|
|
|
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** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 18 parts, 39 custom properties — see `lr-line-chart.md`
|
|
13
13
|
- **Documented with** `lr-line-chart`: see [lr-line-chart.md](./lr-line-chart.md).
|
|
14
14
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
@@ -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** 20 parts, 12 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
|
---
|
|
@@ -30,7 +30,10 @@ title, readonly color?, readonly data? }`; `date` accepts an ISO `YYYY-MM-DD` st
|
|
|
30
30
|
milliseconds, or a valid `Date`, then normalizes to the displayed ISO day. Invalid date/title rows
|
|
31
31
|
are omitted; `lr-event-select.detail.event` remains the original admitted object. `color` is
|
|
32
32
|
sanitized before use as the marker background. The former ignored `start`/`end` fields are not
|
|
33
|
-
part of the contract; use one event per displayed date
|
|
33
|
+
part of the contract; use one event per displayed date. Input retains the first 10,000 events
|
|
34
|
+
while preserving event identity. A localized `limit` part discloses omitted input in month and
|
|
35
|
+
agenda views; provide a smaller date range to include other events. Changed loss notices are
|
|
36
|
+
announced politely after mount
|
|
34
37
|
- `value: string = ''` — the selected ISO date
|
|
35
38
|
- `viewDate: string` (attribute `view-date`, defaults to the 1st of the current month) — the visible
|
|
36
39
|
month; an unparseable value falls back to the current month
|
|
@@ -55,6 +58,25 @@ events render as `agenda-event` buttons in agenda view; either ceiling past that
|
|
|
55
58
|
localized `event-limit`/`agenda-limit` "+N more" notice rather than mounting an unbounded number of
|
|
56
59
|
buttons.
|
|
57
60
|
|
|
61
|
+
For a large event archive, let the host query the displayed month and replace `events` with a
|
|
62
|
+
bounded result. Listen for `lr-view-change.detail.viewDate` from the previous/next buttons and
|
|
63
|
+
out-of-grid keyboard moves. Assigning `viewDate` programmatically does not emit that event, so the
|
|
64
|
+
host must also call its loader for a programmatic jump. The host owns request cancellation and
|
|
65
|
+
obsolete-result checks: abort superseded month/page fetches and ignore results whose date window
|
|
66
|
+
or request generation is no longer current.
|
|
67
|
+
|
|
68
|
+
Keep each assigned window within the 10,000-event input bound and treat the four-per-day or
|
|
69
|
+
500-entry agenda as previews when the selected period is dense. Show an explicit host total and
|
|
70
|
+
preview count for server-omitted events; native calendar overflow counts only admitted events.
|
|
71
|
+
For complete dense-event traversal, compose a configured `lr-table` with
|
|
72
|
+
`paginationMode = 'server'`, `pageSize`, `totalItems`, controlled one-based `page`, and the current
|
|
73
|
+
page's `rows`. Set `totalItems` to the full event count for the selected month or date. Handle
|
|
74
|
+
`lr-page-change.detail.page` by querying that page, then assigning `page` and `rows`; use stable
|
|
75
|
+
`rowKey` identities across pages.
|
|
76
|
+
`lr-row-activate.detail.row` identifies an event reached through the table, while
|
|
77
|
+
`lr-event-select.detail.event` identifies a calendar preview action. Complete traversal comes
|
|
78
|
+
from the paged table; the calendar remains a bounded month/day preview.
|
|
79
|
+
|
|
58
80
|
**Keyboard:** the month grid is a fixed 6×7 matrix (leading/trailing days of adjacent months fill it
|
|
59
81
|
out) with one roving tab stop — `focusedDate`, else `value`, else today, else the first rendered day.
|
|
60
82
|
Arrows move by 1 day (Left/Right swapped under RTL) or 7, PageUp/PageDown by one month (clamping
|
|
@@ -72,7 +94,8 @@ month-navigation buttons; `previous-button` and `next-button` identify each dire
|
|
|
72
94
|
`grid`, `week` (`display: contents`), `day`, `date`, `event` (a month-view marker), `event-limit`
|
|
73
95
|
(localized "+N more" notice shown in a day cell whose events exceed the 4-event per-cell render
|
|
74
96
|
ceiling), `agenda`, `agenda-event`, `agenda-limit` (localized "+N more" notice shown in agenda
|
|
75
|
-
view when the visible month's events exceed the 500-event render ceiling),
|
|
97
|
+
view when the visible month's events exceed the 500-event render ceiling), `limit` (input-admission
|
|
98
|
+
notice), and `empty` (the agenda
|
|
76
99
|
view's localized "no events" message).
|
|
77
100
|
|
|
78
101
|
**Themeable custom properties:** `--lr-calendar-day-min-block-size` (default `var(--lr-size-6rem)`)
|
|
@@ -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** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 18 parts, 39 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
|
---
|
|
@@ -32,6 +32,11 @@ Changing the data or calling `refreshTheme()` retries rendering, so the plot rec
|
|
|
32
32
|
canvas capability becomes available.
|
|
33
33
|
|
|
34
34
|
**Properties:**
|
|
35
|
+
- `maxRecords: number = 1000` (`max-records`) — rendered record budget, normalized to 2–1,000.
|
|
36
|
+
With `preparedData = null`, allocated chart width can reduce the rendered row count further;
|
|
37
|
+
the limit also applies to raw `config.data`. Prepared summaries instead undergo aggregate
|
|
38
|
+
admission, including gap and exact-point overlay capacity, without width-based resampling
|
|
39
|
+
(see below). The eight typed aliases and `lr-histogram` inherit this property.
|
|
35
40
|
- `axes: LyraChartAxes = 'both'` — `'x' | 'y' | 'both' | 'none'`, controlling complete cartesian
|
|
36
41
|
axes: labels, ticks, borders and grid lines. The `y` setting includes `y2`; invalid values use
|
|
37
42
|
`both`. Radial charts ignore this setting. Use `grid` when only grid lines should disappear.
|
|
@@ -56,6 +61,10 @@ canvas capability becomes available.
|
|
|
56
61
|
'radar' | 'polarArea' | 'bubble'` — every named default used by a typed `lr-*-chart` is
|
|
57
62
|
already a first-class member, so `<lr-chart type="pie">` needs no subclass or cast to work;
|
|
58
63
|
unknown runtime attribute/property values fall back to `bar` before reaching Chart.js
|
|
64
|
+
- `preparedData: LyraChartPreparedData | null = null` (property only) — a whole-source prepared
|
|
65
|
+
summary or indexed spatial source; `LyraChartPreparedData = LyraPreparedSeriesData |
|
|
66
|
+
LyraPreparedCategoryData | LyraSpatialChartSource`. Takes
|
|
67
|
+
precedence over `labels`, `datasets` and `config.data`; see the prepared-data contract below.
|
|
59
68
|
- `description: string | null = null` — accessible chart description
|
|
60
69
|
- `grid: 'x'|'y'|'both'|'none' = 'both'` — controls cartesian grid lines. On a radial chart, `x`
|
|
61
70
|
controls angle lines and `y` controls concentric grid lines
|
|
@@ -168,7 +177,7 @@ canvas capability becomes available.
|
|
|
168
177
|
Simplified pie/doughnut datasets with magnitudes above `Number.MAX_SAFE_INTEGER` are uniformly
|
|
169
178
|
rescaled for finite canvas geometry. Lyra tooltips, data labels, legends, events and CSV retain
|
|
170
179
|
original values; direct Chart.js callbacks see the rescaled peer data. Explicit `config.data`
|
|
171
|
-
|
|
180
|
+
keeps its authored numeric values; the shared rendering sample still applies.
|
|
172
181
|
- `legendPosition: LyraChartLegendPosition = 'top'` (attribute `legend-position`) — accepts the
|
|
173
182
|
Chart.js `left|top|right|bottom|center|chartArea|{ [scaleId]: number }` positions plus logical
|
|
174
183
|
`start`/`end`; the additive `auto` chooses right above 480px and bottom below that allocation
|
|
@@ -269,7 +278,8 @@ canvas capability becomes available.
|
|
|
269
278
|
compatible with Chart.js's `ChartConfiguration`, deep-merged over the generated
|
|
270
279
|
config; any nested key wins without clobbering sibling generated keys. This is the raw Chart.js
|
|
271
280
|
escape hatch, so a caller-supplied `config.type` is passed through rather than normalized.
|
|
272
|
-
|
|
281
|
+
With `preparedData = null`, explicit `config.data.labels` and `config.data.datasets` arrays are
|
|
282
|
+
authoritative independently:
|
|
273
283
|
an omitted member still comes from the simplified `labels`/`datasets` properties, while an
|
|
274
284
|
explicit array replaces that generated member rather than concatenating with it. This effective
|
|
275
285
|
model drives canvas rendering, `appendData()`, export, the accessible name/summary, keyboard
|
|
@@ -279,7 +289,7 @@ canvas capability becomes available.
|
|
|
279
289
|
`options.elements.bar`, or root `options` are left for Chart.js to resolve, including scriptable,
|
|
280
290
|
indexable and `barBorderWidth`/`barBorderRadius` forms. Unset values retain Lyra's `--border-width`
|
|
281
291
|
and `--border-radius` defaults; removing config restores those defaults. Raw `config.data.datasets`
|
|
282
|
-
remain authoritative. Dense charts with transparent borders should set
|
|
292
|
+
remain authoritative on that legacy route. Dense charts with transparent borders should set
|
|
283
293
|
`config.options.datasets.bar.borderWidth = 0` (or the public `--border-width: 0` CSS hook):
|
|
284
294
|
a one-pixel transparent stroke can consume the fill of a bar narrower than two pixels.
|
|
285
295
|
As a declarative alternative, place one `<script type="application/json">` in the default slot;
|
|
@@ -307,12 +317,244 @@ canvas capability becomes available.
|
|
|
307
317
|
the live Chart.js instance; absent before load and after disconnect
|
|
308
318
|
- `appendData(label, values, maxPoints?)` — appends one aligned numeric category and keeps a
|
|
309
319
|
rolling window of the newest `maxPoints` (at most 10,000, also the default: `labels` and each
|
|
310
|
-
series keep only the first 10,000 entries of a longer assigned array, with a
|
|
311
|
-
|
|
320
|
+
series keep only the first 10,000 entries of a longer assigned array, with a localized `limit`
|
|
321
|
+
notice). Existing canonical points are reused without re-admission. Each labels/datasets member is written back to the surface
|
|
312
322
|
that owns it: an explicitly overridden `config.data` member stays in `config`, while an omitted
|
|
313
323
|
member continues through the simplified property and retains its generated Chart.js styling.
|
|
314
324
|
Point-based scatter/bubble series are left unchanged because appending their x/y/r coordinates
|
|
315
|
-
needs a richer caller-defined contract.
|
|
325
|
+
needs a richer caller-defined contract. `appendData()` is inactive while `preparedData` is set.
|
|
326
|
+
|
|
327
|
+
**Prepared whole-source data:** The full chart and its eight typed subclasses accept prepared
|
|
328
|
+
series/category summaries or a spatial source. Compatibility follows the effective type (`config.type` when supplied,
|
|
329
|
+
otherwise writable `type`), including after changing a typed tag's default:
|
|
330
|
+
|
|
331
|
+
| Effective type | Accepted prepared kind |
|
|
332
|
+
| --- | --- |
|
|
333
|
+
| `line` | `series` |
|
|
334
|
+
| `bar` | `series` or `categories` |
|
|
335
|
+
| `pie`, `doughnut`, `radar`, `polarArea` | `categories` |
|
|
336
|
+
| `scatter`, `bubble` | `spatial`, with linear scales; see the spatial contract below |
|
|
337
|
+
|
|
338
|
+
The following summary admission rules describe `series` and `categories`. A series descriptor supplies `revision`, series IDs/labels, whole-source `counts`
|
|
339
|
+
(`sourceCount`, `validCount`, `invalidCount`), full `xDomain`/`yDomain`, ordered `samples`, and an
|
|
340
|
+
exact `getPoint(ref, { signal })` reader. Samples carry `x`, `y`, original `sourceIndex` and
|
|
341
|
+
`breakBefore`; domains may be `null` for an all-invalid series. A category descriptor supplies
|
|
342
|
+
`revision`, whole-source `counts`, category IDs/labels, `categoryCounts`, aligned numeric series
|
|
343
|
+
values, and `aggregation: 'count' | 'sum' | 'mean' | 'host-defined'`. Category counts must conserve
|
|
344
|
+
the full valid observation count. Rendering and export do not enumerate or read the original
|
|
345
|
+
source. The generated accessible table and localized summary disclose that displayed values are
|
|
346
|
+
a summary and report whole-source valid/invalid counts. Series scales retain the supplied whole
|
|
347
|
+
domains; endpoint trend remains based on the original overview after an interior point reveal.
|
|
348
|
+
|
|
349
|
+
Admission copies the bounded summary and validates own data fields, unique IDs, safe counts,
|
|
350
|
+
finite domains/coordinates, sample order and gap flags. Sparse or accessor-backed descriptor
|
|
351
|
+
arrays are invalid; their accessors are not invoked. Each series/category collection admits at
|
|
352
|
+
most 1,000 entries before aggregate limits apply. IDs are limited to 256 UTF-16 units, labels to
|
|
353
|
+
1,024, and their combined metadata to 65,536. Malformed, incompatible or oversized summaries show
|
|
354
|
+
a localized visible error rather than falling back to legacy input or silently resampling.
|
|
355
|
+
|
|
356
|
+
`maxRecords` (normalized to 2–1,000) is a global peer-entry capacity across all series, not a
|
|
357
|
+
per-series sample target. Every line-gap separator consumes an entry. Series input requires
|
|
358
|
+
`maxRecords >= 5` and reserves two additional entries for an isolating separator and one exact
|
|
359
|
+
point: four overview points without gaps need at least six entries. Semantic samples including
|
|
360
|
+
the selected overlay stay within 9,000; rectangular generated-table data cells stay within 1,000,
|
|
361
|
+
including the overlay reservation across every series. Category values also share the global
|
|
362
|
+
peer-entry and rectangular-cell limits. An admitted descriptor reaches the plot and table without
|
|
363
|
+
a second sampling stage; line gaps stay disconnected.
|
|
364
|
+
|
|
365
|
+
The host owns the descriptor and its readers. After changing a host-authored descriptor or its
|
|
366
|
+
revision, assign `preparedData` again (the same identity is accepted) or call the chart's unnamed
|
|
367
|
+
`requestUpdate()`. The chart revalidates and captures a fresh bounded snapshot; unrelated
|
|
368
|
+
presentation changes reuse it. Setting `preparedData = null` cancels source work and restores the
|
|
369
|
+
current legacy inputs. Source replacement, explicit refresh, disconnect and adoption invalidate
|
|
370
|
+
pending readers; late replies cannot replace the current view. The chart retains one bounded
|
|
371
|
+
overview and one displayed refinement/overlay, while reader closures may retain host-owned source
|
|
372
|
+
data. These bounds do not release data retained by the host.
|
|
373
|
+
|
|
374
|
+
**Complete spatial scatter/bubble source:** supply `preparedData: LyraSpatialChartSource` to
|
|
375
|
+
`lr-chart`, `lr-scatter-chart` or `lr-bubble-chart` with an effective scatter/bubble type and
|
|
376
|
+
`scaleType: 'linear'` (the default). Other effective types, logarithmic scales and
|
|
377
|
+
`lr-lite-chart` reject this kind visibly; invalid spatial input never restores raw data silently.
|
|
378
|
+
`labels`, raw `datasets` and `config.data` are inactive. Effective `config.type` still has its
|
|
379
|
+
established precedence over writable `type`. Clearing `preparedData` restores the current raw
|
|
380
|
+
route. Existing series/category preparation and histogram distribution contracts are separate.
|
|
381
|
+
|
|
382
|
+
```ts
|
|
383
|
+
import type { LyraChartPreparedData } from
|
|
384
|
+
"@aceshooting/lyra-ui/components/charts/chart/chart.class.js";
|
|
385
|
+
import type {
|
|
386
|
+
LyraSpatialChartSource, LyraSpatialChartSeries, LyraSpatialChartPoint,
|
|
387
|
+
LyraSpatialBounds, LyraSpatialBin, LyraChartSpatialPointSelectDetail,
|
|
388
|
+
LyraSpatialBinSelectDetail,
|
|
389
|
+
} from "@aceshooting/lyra-ui/utilities/data-spatial.js";
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
`LyraSpatialChartSource` extends `LyraSpatialPointSource<LyraSpatialChartPoint>` with
|
|
393
|
+
`kind: 'spatial'`, readonly `series`, and optional `radiusDomain`. It supplies immutable `revision`
|
|
394
|
+
(nonempty string at most 256 UTF-16 units or finite number), safe nonnegative global `count`, and
|
|
395
|
+
complete `bounds: { minX, maxX, minY, maxY } | null`; bounds are finite/ordered and null exactly for
|
|
396
|
+
an empty source. Methods/metadata and returned payload fields must be own data properties:
|
|
397
|
+
`query({ signal, bounds, maxPoints, maxBins })` returns `{ points, bins, matchedCount }`, and
|
|
398
|
+
`getPoint(id, { signal })` returns an exact original point or `null`. Both accept synchronous or
|
|
399
|
+
PromiseLike results. Indexing, aggregation and provider backing storage remain host-owned.
|
|
400
|
+
|
|
401
|
+
A `LyraSpatialChartPoint` is `{ id, sourceIndex, seriesId, x, y, radius?, label? }`. ID is globally
|
|
402
|
+
unique across series, nonblank and at most 256 UTF-16 units. Original `sourceIndex` is a safe
|
|
403
|
+
zero-based index below `count`; x/y are finite within global bounds. Required `seriesId` names one
|
|
404
|
+
of 1–1,000 declared `LyraSpatialChartSeries { id, label, color? }` records. Series IDs are unique,
|
|
405
|
+
nonblank and at most 256 units, labels at most 1,024, optional scalar colors at most 256, and all
|
|
406
|
+
series metadata together at most 65,536. Point labels are at most 1,024 units. Every declared
|
|
407
|
+
series gets a stable dataset/legend position, including empty series; no per-series population is
|
|
408
|
+
inferred from representatives. Source colors/labels govern these datasets; missing colors use the
|
|
409
|
+
existing series palette. Bounded duplicate/conflicting records reject, while global uniqueness
|
|
410
|
+
and complete-source consistency remain provider obligations.
|
|
411
|
+
|
|
412
|
+
A `LyraSpatialBin` is `{ bounds, count }` with positive safe count. All bin counts sum exactly to
|
|
413
|
+
`matchedCount <= source.count`, accounting for every matching observation across all series.
|
|
414
|
+
Representatives are point overlays of that same population and never increase the total. Bins
|
|
415
|
+
can leave spatial holes but cannot overlap interiors; normal-axis ownership is half-open with
|
|
416
|
+
inclusive final viewport edges. Representatives must belong to a bin and cannot outnumber its
|
|
417
|
+
population. Empty/collapsed global axes retain their exact semantics; no artificial domain extent
|
|
418
|
+
is added. The summary exposes global count/bounds, current viewport count/bounds and, for bubbles,
|
|
419
|
+
the complete radius domain. It distinguishes complete all-series density from bounded overlays.
|
|
420
|
+
|
|
421
|
+
Bubble sources require an own `radiusDomain`: finite nonnegative `{ min, max }` for a nonempty
|
|
422
|
+
source, exactly `null` for an empty source. Every bubble point requires finite nonnegative
|
|
423
|
+
`radius` within that complete domain; missing radius rejects instead of borrowing a raw-point
|
|
424
|
+
default. Scatter permits absent/null radius metadata and absent radius; a supplied radius requires
|
|
425
|
+
a valid containing domain. Scatter still paints ordinary markers. Semantic radius, including very
|
|
426
|
+
large finite values, remains unchanged in events/table/export; only bubble paint radius is bounded
|
|
427
|
+
to finite plot geometry. Density count controls its separate fill, never bubble radius.
|
|
428
|
+
|
|
429
|
+
`viewport: LyraSpatialBounds | null = null` (property only) uses global bounds when null. An explicit
|
|
430
|
+
viewport must lie within them with positive span on each noncollapsed global axis; collapsed axes
|
|
431
|
+
stay exactly collapsed. `selectedPointId: string = ''` (property only) controls one exact overlay,
|
|
432
|
+
independently of imperative reveal. For normalized `M = maxRecords` (default/maximum 1,000), spatial
|
|
433
|
+
mode requires `M >= 3`. Two exact slots fit inside M; the remaining `A = M - 2` permits
|
|
434
|
+
`ceil(A / 2)` bins and `A - ceil(A / 2)` representatives: default 499 + 499 + two exact slots.
|
|
435
|
+
Unused quotas are not borrowed. Exact selected/revealed points deduplicate against representatives
|
|
436
|
+
and each other. The source is never width-resampled after admission. Per-query metadata is at most
|
|
437
|
+
997,000 UTF-16 units; series metadata, current/pending responses, exact records and bounded intent
|
|
438
|
+
strings share the existing 2,000,000-unit envelope. Query and exact lookup each allow one physically
|
|
439
|
+
unsettled call plus only the latest desired intent; ignored abort holds its permit until settlement.
|
|
440
|
+
No full point array, per-cell occupancy map or all-ID index is retained.
|
|
441
|
+
|
|
442
|
+
Source geometry uses private normalized linear peer axes to handle extreme finite coordinates
|
|
443
|
+
without overflow; displayed ticks, formatters, semantic data, table and events retain original
|
|
444
|
+
units. A collapsed axis paints at its center with its actual coordinate as the tick. Source data,
|
|
445
|
+
axes, linear type and x/y orientation cannot be overridden by geometry-changing raw config.
|
|
446
|
+
Existing `zoomable` x-axis wheel/drag/pinch interaction updates semantic x viewport bounds and
|
|
447
|
+
queries that viewport; y stays current. `resetZoom()` sets viewport null. Programmatic viewport
|
|
448
|
+
supports both axes; no pan interface is added.
|
|
449
|
+
|
|
450
|
+
`hiddenDatasets`/legend toggles hide declared-series point overlays only. Complete all-series density
|
|
451
|
+
and its counts remain unchanged, and the summary/legend explains this distinction. Hidden or
|
|
452
|
+
outside-viewport exact records can stay retained without drawing. The bounded table/CSV include
|
|
453
|
+
admitted records from hidden series; spoken table text marks those point series hidden.
|
|
454
|
+
`revealSourcePoint(id: string): Promise<boolean>` directly resolves an exact original ID, minimally
|
|
455
|
+
pans an explicit viewport while preserving its representable size, then makes that point keyboard
|
|
456
|
+
current and focuses the canvas. Null viewport stays global. It does not select, change controlled
|
|
457
|
+
visibility or emit activation. Hidden-series, missing, invalid, disconnected, canceled, obsolete or
|
|
458
|
+
unrepresentable-pan targets resolve `false`. The existing `LyraSeriesPointRef` overload remains for
|
|
459
|
+
ordered-series data and returns false for spatial input.
|
|
460
|
+
|
|
461
|
+
**Events:** Canvas keyboard navigation visits visible points, then density bins, using arrows/Home/End and
|
|
462
|
+
RTL-aware horizontal movement; Enter/Space activates the current bounded item. Point hits win over
|
|
463
|
+
density underneath. Exact/representative point activation emits noncancelable immutable
|
|
464
|
+
`lr-spatial-point-select` with `LyraChartSpatialPointSelectDetail`, shaped as `{ revision, point }`, preserving
|
|
465
|
+
original ID/sourceIndex/series/x/y/radius/label. Only admitted
|
|
466
|
+
representatives additionally emit `lr-point-activate`/`lr-datum-activate` with declared-series index
|
|
467
|
+
and current plotted point offset. Exact-only overlays do not invent plotted-record events.
|
|
468
|
+
Bin activation emits noncancelable immutable `lr-spatial-bin-select` with
|
|
469
|
+
`LyraSpatialBinSelectDetail { revision, bounds, count }`; bins never synthesize point events. `selectedPointId` stays controlled and programmatic writes are silent.
|
|
470
|
+
|
|
471
|
+
The generated long-form table uses one data cell per distinct admitted point or bin, plus its row
|
|
472
|
+
header; bins + points + exact overlays stay within M and the existing 1,000-cell bound. Point text
|
|
473
|
+
includes original source position/coordinates/radius; bin text includes count and bounds. Existing
|
|
474
|
+
data-table disclosure, fallback and slot behavior apply. Spatial `exportData('csv')` synchronously
|
|
475
|
+
exports only this bounded admitted snapshot, with header
|
|
476
|
+
`kind,seriesId,seriesLabel,id,sourceIndex,label,x,y,radius,minX,maxX,minY,maxY,count`.
|
|
477
|
+
Point rows leave bin fields blank; bin rows leave point fields blank. Hidden-series records remain
|
|
478
|
+
included. Numeric precision stays unlocalized by default; existing export formatters receive
|
|
479
|
+
original values and source index/label metadata for points, and strings remain formula-safe. No provider reads or full raw-source CSV is
|
|
480
|
+
implied. PNG follows the current rendered plot.
|
|
481
|
+
|
|
482
|
+
Same-reference `preparedData` assignment or keyless `requestUpdate()` refreshes the immutable
|
|
483
|
+
source; named presentation changes reuse accepted results. Replacement, type/budget/viewport
|
|
484
|
+
changes and lifecycle cancellation revoke obsolete requests/actions/reveals. Disconnect/adoption
|
|
485
|
+
clear ownership and reconnect uses current input. Provider closures may retain their own storage.
|
|
486
|
+
Appending remains inactive while preparedData is supplied.
|
|
487
|
+
|
|
488
|
+
**Exported spatial declarations:**
|
|
489
|
+
|
|
490
|
+
Inherited fields are repeated below to show each complete effective contract.
|
|
491
|
+
|
|
492
|
+
`LyraSpatialBounds {
|
|
493
|
+
readonly minX: number;
|
|
494
|
+
readonly maxX: number;
|
|
495
|
+
readonly minY: number;
|
|
496
|
+
readonly maxY: number;
|
|
497
|
+
}`
|
|
498
|
+
|
|
499
|
+
`LyraSpatialPoint {
|
|
500
|
+
readonly id: string;
|
|
501
|
+
readonly sourceIndex: number;
|
|
502
|
+
readonly x: number;
|
|
503
|
+
readonly y: number;
|
|
504
|
+
}`
|
|
505
|
+
|
|
506
|
+
`LyraSpatialBin {
|
|
507
|
+
readonly bounds: LyraSpatialBounds;
|
|
508
|
+
readonly count: number;
|
|
509
|
+
}`
|
|
510
|
+
|
|
511
|
+
`LyraSpatialQuery<T extends LyraSpatialPoint> {
|
|
512
|
+
readonly points: readonly T[];
|
|
513
|
+
readonly bins: readonly LyraSpatialBin[];
|
|
514
|
+
readonly matchedCount: number;
|
|
515
|
+
}`
|
|
516
|
+
|
|
517
|
+
`LyraSpatialPointSource<T extends LyraSpatialPoint> {
|
|
518
|
+
readonly revision: LyraSourceRevision;
|
|
519
|
+
readonly count: number;
|
|
520
|
+
readonly bounds: LyraSpatialBounds | null;
|
|
521
|
+
query(request: LyraSourceRequest & {
|
|
522
|
+
readonly bounds: LyraSpatialBounds;
|
|
523
|
+
readonly maxPoints: number;
|
|
524
|
+
readonly maxBins: number;
|
|
525
|
+
}): LyraSourceValue<LyraSpatialQuery<T>>;
|
|
526
|
+
getPoint(id: string, request: LyraSourceRequest): LyraSourceValue<T | null>;
|
|
527
|
+
}`
|
|
528
|
+
|
|
529
|
+
`LyraSpatialChartPoint extends LyraSpatialPoint {
|
|
530
|
+
readonly seriesId: string;
|
|
531
|
+
readonly radius?: number;
|
|
532
|
+
readonly label?: string;
|
|
533
|
+
readonly id: string;
|
|
534
|
+
readonly sourceIndex: number;
|
|
535
|
+
readonly x: number;
|
|
536
|
+
readonly y: number;
|
|
537
|
+
}`
|
|
538
|
+
|
|
539
|
+
`LyraSpatialChartSource extends LyraSpatialPointSource<LyraSpatialChartPoint> {
|
|
540
|
+
readonly kind: 'spatial';
|
|
541
|
+
readonly series: readonly LyraSpatialChartSeries[];
|
|
542
|
+
readonly radiusDomain?: LyraNumericDomain | null;
|
|
543
|
+
readonly revision: LyraSourceRevision;
|
|
544
|
+
readonly count: number;
|
|
545
|
+
readonly bounds: LyraSpatialBounds | null;
|
|
546
|
+
query(request: LyraSourceRequest & {
|
|
547
|
+
readonly bounds: LyraSpatialBounds;
|
|
548
|
+
readonly maxPoints: number;
|
|
549
|
+
readonly maxBins: number;
|
|
550
|
+
}): LyraSourceValue<LyraSpatialQuery<LyraSpatialChartPoint>>;
|
|
551
|
+
getPoint(id: string, request: LyraSourceRequest): LyraSourceValue<LyraSpatialChartPoint | null>;
|
|
552
|
+
}`
|
|
553
|
+
|
|
554
|
+
`LyraChartSpatialPointSelectDetail {
|
|
555
|
+
readonly revision: LyraSourceRevision;
|
|
556
|
+
readonly point: LyraSpatialChartPoint;
|
|
557
|
+
}`
|
|
316
558
|
|
|
317
559
|
**Methods:** `renderChart()` requests a connected/visibility-gated render or incremental update.
|
|
318
560
|
`resetZoom()` resets any active zoom/pan to the original view. `refreshTheme()` forces
|
|
@@ -325,7 +567,29 @@ when a DOM legend is present its computed swatch colors are refreshed too.
|
|
|
325
567
|
`exportData('csv' | 'png')` returns a spreadsheet-safe CSV snapshot or the current PNG data URL
|
|
326
568
|
when Chart.js is loaded. Numeric datasets retain the compact one-column-per-series CSV shape.
|
|
327
569
|
Point datasets expand into `<series> x`, `<series> y`, and, when present, `<series> r` and
|
|
328
|
-
`<series> label` columns so radius and per-point labels are not flattened away.
|
|
570
|
+
`<series> label` columns so radius and per-point labels are not flattened away. CSV keeps its
|
|
571
|
+
existing leading `label` column and series-column schema outside spatial mode. With nonspatial
|
|
572
|
+
prepared data it synchronously
|
|
573
|
+
exports only the current displayed bounded summary, refinement or exact overlay: series use x/y
|
|
574
|
+
columns and categories use numeric columns. It does not fetch full-source values, call a reader,
|
|
575
|
+
or add revision/source-ID columns.
|
|
576
|
+
|
|
577
|
+
`revealSourcePoint(ref: LyraSeriesPointRef): Promise<boolean>` resolves one original series
|
|
578
|
+
position, where `LyraSeriesPointRef { readonly seriesId: string; readonly sourceIndex: number }`.
|
|
579
|
+
`sourceIndex` is the original zero-based position, never a plotted offset. The chart calls
|
|
580
|
+
`getPoint(ref, { signal })` directly without scanning the source; the `prepareLyraSeriesData`
|
|
581
|
+
helper's reader performs one exact `[sourceIndex, 1]` read. A host may additionally supply
|
|
582
|
+
`queryRange({ seriesId, startIndex, endIndex, maxPoints, signal })` for a bounded original-index
|
|
583
|
+
neighborhood, with exclusive `endIndex`. Its allowance accounts for peer gaps, the overlay and
|
|
584
|
+
rectangular table expansion; returned indices, coordinates, order and capacity are validated. The
|
|
585
|
+
helper does not invent this optional capability. A revealed point is isolated from omitted path
|
|
586
|
+
segments and preserves full counts/domains. The promise resolves `false` for disconnected,
|
|
587
|
+
incompatible, missing, invalid, canceled or obsolete results, including readers that ignore abort.
|
|
588
|
+
Calling this method alone emits no activation event.
|
|
589
|
+
|
|
590
|
+
For ordered-series data, zoom and pan remain summary-only. They never infer a source-index range from an x-axis interval or
|
|
591
|
+
call `queryRange` automatically, even when it is supplied; refinement is requested only by an
|
|
592
|
+
explicit `revealSourcePoint()` call.
|
|
329
593
|
|
|
330
594
|
**The categorical series ramp.** Eight tokens, `--lr-color-chart-1` … `--lr-color-chart-8`, with a
|
|
331
595
|
separate set of values for light and dark mode. A series that sets no `color` of its own is assigned
|
|
@@ -412,9 +676,27 @@ Also emitted: `lr-legend-visibility-change-request` (cancelable proposal), and
|
|
|
412
676
|
`{ datasetIndex: number, visible: boolean, hiddenDatasets: readonly number[] }`; the latter is the
|
|
413
677
|
complete, sorted, valid next snapshot. Call `preventDefault()` on the proposal to veto the toggle;
|
|
414
678
|
then no property change or commit event occurs.
|
|
415
|
-
|
|
416
|
-
`lr-
|
|
417
|
-
|
|
679
|
+
Prepared datum activation additionally emits `lr-source-point-select` for series or
|
|
680
|
+
`lr-source-category-select` for categories. Their immutable details carry the committed original
|
|
681
|
+
revision and series/category identity, rather than a plotted offset:
|
|
682
|
+
|
|
683
|
+
- `LyraChartSourcePointSelectDetail { readonly revision: LyraSourceRevision; readonly seriesId:
|
|
684
|
+
string; readonly sourceIndex: number; readonly point: LyraSeriesObservation }`, where `point`
|
|
685
|
+
is a frozen coordinate snapshot with `readonly x: number` and `readonly y: number | null`.
|
|
686
|
+
- `LyraChartSourceCategorySelectDetail { readonly revision: LyraSourceRevision; readonly seriesId:
|
|
687
|
+
string; readonly categoryId: string; readonly value: number; readonly observationCount: number }`.
|
|
688
|
+
|
|
689
|
+
Existing `lr-point-activate` and `lr-datum-activate` still accompany activation and retain their
|
|
690
|
+
plotted-index meanings. While replacement/refinement is pending, actions on the committed visible
|
|
691
|
+
view retain its revision; obsolete callbacks cannot activate replacement data. The alias
|
|
692
|
+
`LyraChartPreparedData` and both source-event interfaces are exported from the chart component
|
|
693
|
+
entry and package root; the component entry also re-exports `LyraPreparedSeriesData`,
|
|
694
|
+
`LyraPreparedCategoryData` and `LyraSeriesPointRef`.
|
|
695
|
+
|
|
696
|
+
**Events:** Category toggles use a separate pair, `lr-datum-visibility-change-request` (cancelable proposal) and
|
|
697
|
+
`lr-datum-visibility-change` (accepted noncancelable commit), carrying
|
|
698
|
+
`LyraChartDatumVisibilityChangeDetail { index: number, visible: boolean, hiddenDatums: readonly number[] }`.
|
|
699
|
+
Both details and their
|
|
418
700
|
complete, sorted index snapshots are frozen. `index` is the source category index, including when
|
|
419
701
|
the displayed data is sampled; it applies across all rings. Programmatic assignments emit neither
|
|
420
702
|
pair. `preventDefault()` leaves both controlled state and the chart unchanged.
|
|
@@ -435,17 +717,21 @@ pair. `preventDefault()` leaves both controlled state and the chart unchanged.
|
|
|
435
717
|
alternative; `center` —
|
|
436
718
|
optional overlay content positioned at the chart area's center, useful for doughnut and pie totals.
|
|
437
719
|
|
|
438
|
-
**Bounded rendering and data alternative
|
|
720
|
+
**Bounded rendering and data alternative (with `preparedData = null`):** simplified and raw
|
|
721
|
+
`config.data` canvas rendering, the
|
|
439
722
|
DOM legend, generated table, keyboard-operable datum model, generated point-details in the summary,
|
|
440
|
-
and automatic canvas name
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
723
|
+
and automatic canvas name share a sample bounded by `maxRecords` and the allocated width. Numeric
|
|
724
|
+
sampling keeps endpoints and bucket extrema, plus representative gaps when the budget permits;
|
|
725
|
+
canvas, keyboard datums and accessible sampled rows share source indexes. Per-record styles retain
|
|
726
|
+
their source-index meaning. A localized `data-truncation` notice is shown and announced. A bounded
|
|
727
|
+
sample cannot preserve every local extremum; pre-aggregate when every spike must remain represented.
|
|
728
|
+
Supplying `slot="data-table"` suppresses the generated detailed sample and changes the notice to
|
|
729
|
+
say only the plot is sampled. Use that slot for a complete, paginated or virtualized presentation.
|
|
730
|
+
Export retains the full admitted semantic dataset. Input admission is separate: at most the first
|
|
731
|
+
10,000 entries of each input collection are retained, and a localized `limit` notice discloses
|
|
732
|
+
omitted input. Hidden streamed tables refresh during idle, with a 250ms timeout; visible tables,
|
|
733
|
+
including canvas-failure fallbacks, refresh immediately. Explicit content refreshes invalidate any
|
|
734
|
+
pending streamed snapshot.
|
|
449
735
|
|
|
450
736
|
**CSS parts:** `base`, `plot` (the fixed-height canvas/overlay region), `canvas`,
|
|
451
737
|
`sync-crosshair` (decorative category line during an admitted synchronized interaction; the native
|
|
@@ -454,7 +740,7 @@ wrapping DOM legend), `legend-item` (a dataset/category visibility button), `leg
|
|
|
454
740
|
(added while the dataset/category is hidden), `legend-swatch`,
|
|
455
741
|
`reset-zoom-button`, `description`, `notices` (wrapper for nonfatal feature warnings and
|
|
456
742
|
bounded-alternative truncation notices), `data-table`, `data-table-toggle` (the `dataTableToggle` disclosure button), `data-truncation` (the bounded-alternative
|
|
457
|
-
notice), `feature-warning` (a nonfatal missing optional-feature warning), `center` (the
|
|
743
|
+
notice), `limit` (input-admission notice), `feature-warning` (a nonfatal missing optional-feature warning), `center` (the
|
|
458
744
|
chart-area-centered wrapper for the `center` slot), `error` (neutral visible message rendered in
|
|
459
745
|
place of `canvas` when the optional `chart.js` peer dependency fails to load; the failure transition
|
|
460
746
|
is announced through the shared document-level light-DOM assertive sink)
|
|
@@ -611,7 +897,8 @@ announced. In particular, unavailable data labels do not remove generated table
|
|
|
611
897
|
`stacked`, `stackedAxes`, any `without*` control, `dataLabels`, `stackTotals`, `config`, the parsed
|
|
612
898
|
slotted config, `zoomable`, `locale`, `strings`, or the internal loading state actually changed in
|
|
613
899
|
that update (so an
|
|
614
|
-
unrelated property/state update
|
|
900
|
+
unrelated property/state update draws nothing; an unnamed `requestUpdate()` also refreshes
|
|
901
|
+
prepared input when set). Resize callbacks
|
|
615
902
|
ignore unchanged inline sizes and coalesce into one animation-frame task; a responsive legend
|
|
616
903
|
position change and its reactive update share that same single redraw. `refreshTheme()`, resize,
|
|
617
904
|
optional-plugin completion, and histogram data changes all use the same connected/visible gate.
|
|
@@ -22,6 +22,12 @@ children (typically `lr-chat-message`s — _slotted mode_), or exactly one `lr-v
|
|
|
22
22
|
(_virtual mode_, detected by its `scrollToIndex()`/`scrollContainer` API, so custom prefixes and
|
|
23
23
|
other realms work). In virtual mode this component defers all scrolling to the slotted list's own
|
|
24
24
|
`scrollToIndex()` and follows its content extent (`items` or `source`) as rows are appended or grow.
|
|
25
|
+
The viewport owns no message array. A slotted virtual-list's `items` binding retains its first
|
|
26
|
+
10,000 identities; provide a bounded newest chronological window or an indexed `source` to expose
|
|
27
|
+
a larger or latest stream.
|
|
28
|
+
Logical count changes update following and unread counts even after the virtual list reaches
|
|
29
|
+
its capped native scroll extent. Reconnecting refreshes the unread count, while growth preserves
|
|
30
|
+
an explicitly released follow state.
|
|
25
31
|
Follow/release state machine: while `follow` is engaged, content growth re-scrolls to the end;
|
|
26
32
|
release happens only on a user-intent gesture (wheel, touchmove, scrollbar-drag, or
|
|
27
33
|
PageUp/ArrowUp/Home/Shift+Space while the log region has focus) that leaves the
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [conversation](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/conversation.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `shiki` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 16 parts, 9 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
|
---
|
|
@@ -17,12 +17,13 @@
|
|
|
17
17
|
## `lr-code-block-core`
|
|
18
18
|
|
|
19
19
|
A build-lean sibling of `<lr-code-block>` above, for a consumer whose `languages` map already
|
|
20
|
-
covers every language it will ever render. Where `<lr-code-block>`
|
|
20
|
+
covers every language it will ever render. Where `<lr-code-block>` can call
|
|
21
21
|
`loadShikiHighlighter()` — the default ~200-language dynamic-import table loader, whose bundled
|
|
22
22
|
lookup table a bundler can't statically narrow away even when a consumer never actually uses it —
|
|
23
23
|
this component's own module never imports or calls that function at all. It only ever calls
|
|
24
24
|
`loadShikiHighlighterCore(languages)` (shiki's "fine-grained bundle" recipe: `createHighlighterCore()`
|
|
25
|
-
plus an explicit oniguruma engine, seeded with
|
|
25
|
+
plus an explicit oniguruma engine, seeded with the resolved grammars in `languages`; a lazy grammar
|
|
26
|
+
is loaded only when requested), so a consumer
|
|
26
27
|
importing this entry point instead of `code-block.js` gets a build genuinely free of shiki's full
|
|
27
28
|
language table.
|
|
28
29
|
|
|
@@ -42,7 +43,10 @@ same as `<lr-code-block>`'s own plain-text fallback. Everything else — `code`/
|
|
|
42
43
|
`filename`/`withoutCopyButton`/`collapsible`/`collapsed`/`maxHeight`, the copy button, the collapse header
|
|
43
44
|
toggle, the loading-skeleton behavior while the fine-grained highlighter resolves — matches
|
|
44
45
|
`<lr-code-block>` exactly, including its CSS parts, themeable custom properties, and stylesheet
|
|
45
|
-
(this component reuses `code-block.styles.ts` directly).
|
|
46
|
+
(this component reuses `code-block.styles.ts` directly). Its inclusive syntax-highlighting ceiling
|
|
47
|
+
of 8,192 UTF-16 code units also matches: larger source stays fully readable as plain text with a
|
|
48
|
+
localized `limit` notice when `language` is set, without a loading skeleton. Highlight changes
|
|
49
|
+
patch existing lines without retokenizing, and gutter navigation reuses the source lines.
|
|
46
50
|
|
|
47
51
|
**Properties:**
|
|
48
52
|
|
|
@@ -76,10 +80,11 @@ toggle, the loading-skeleton behavior while the fine-grained highlighter resolve
|
|
|
76
80
|
entry, if any, currently treated as active (`data-active` on its lines).
|
|
77
81
|
- `anchorKinds: LyraAnchor['kind'][] = ['line-range']` — readonly, for the shared anchor-target
|
|
78
82
|
contract, identical to `<lr-code-block>`.
|
|
79
|
-
- `languages: Record<string, ShikiLanguageSource
|
|
83
|
+
- `languages: Readonly<Record<string, ShikiLanguageSource>> = {}` (attribute: false) — grammar definitions this
|
|
80
84
|
instance can highlight, e.g. `{ json: jsonGrammar }` (import from `shiki/langs/<name>.mjs`), or a
|
|
81
85
|
lazy loader per key, e.g. `{ bash: () => import('@shikijs/langs/bash') }` — called at most once
|
|
82
|
-
per key, memoized, the first time
|
|
86
|
+
per highlighter/key pair, memoized, the first time this code block requests that language;
|
|
87
|
+
unused loaders do not run. Empty
|
|
83
88
|
(the default) never highlights at all — every `language` renders the plain-text fallback, and so
|
|
84
89
|
does a key whose lazy loader rejects.
|
|
85
90
|
If `languages` changes while highlighting is loading, only results for the current map can update
|
|
@@ -105,7 +110,7 @@ body ended; `anchor` is a `line-range` anchor covering the selected lines).
|
|
|
105
110
|
**Slots:** `header-actions` — identical to `<lr-code-block>`'s own slot.
|
|
106
111
|
|
|
107
112
|
**CSS parts:** `base`, `header`, `filename`, `language`, `copy-button`, `copy-button-text`,
|
|
108
|
-
`copy-button-icon`, `copy-button-control`, `header-actions`, `toggle`, `body`, `pre`, `code`, `line-highlight`, `line-button` —
|
|
113
|
+
`copy-button-icon`, `copy-button-control`, `header-actions`, `toggle`, `body`, `pre`, `code`, `line-highlight`, `line-button`, `limit` —
|
|
109
114
|
identical set to `<lr-code-block>`.
|
|
110
115
|
|
|
111
116
|
**Themeable custom properties:** identical to `<lr-code-block>` — `--lr-code-block-max-height`
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [conversation](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/conversation.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `shiki` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 16 parts, 9 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
|
---
|
|
@@ -39,6 +39,12 @@ resumes normal rendering. Highlighted gutter labels and locale-formatted line nu
|
|
|
39
39
|
`.strings` and inherited or explicit locale changes. Unrelated updates retain the existing
|
|
40
40
|
highlighted markup.
|
|
41
41
|
|
|
42
|
+
Syntax highlighting accepts source up to 8,192 UTF-16 code units, inclusive. Larger source remains
|
|
43
|
+
fully readable as plain text; when `language` is set, a localized `[part="limit"]` notice explains
|
|
44
|
+
the fallback, and no loading skeleton appears. Changing `highlightLines`, `highlights`, or
|
|
45
|
+
`activeHighlightId` patches the existing line state without tokenizing the source again. Moving
|
|
46
|
+
through an activatable gutter reuses the source lines and updates the previous and next tab stops.
|
|
47
|
+
|
|
42
48
|
**Properties:**
|
|
43
49
|
|
|
44
50
|
- `code: string = ''` — the raw source text
|
|
@@ -75,21 +81,29 @@ highlighted markup.
|
|
|
75
81
|
entry, if any, currently treated as active (`data-active` on its lines).
|
|
76
82
|
- `anchorKinds: LyraAnchor['kind'][] = ['line-range']` — readonly, for the shared anchor-target
|
|
77
83
|
contract.
|
|
78
|
-
- `languages?: Record<string, ShikiLanguageInput
|
|
79
|
-
|
|
80
|
-
`import bash from 'shiki/langs/bash.mjs'`). When `language`
|
|
81
|
-
|
|
84
|
+
- `languages?: Readonly<Record<string, ShikiLanguageInput>>` (attribute: false) — a map of language
|
|
85
|
+
id to a resolved shiki grammar (e.g. `{ bash: bashGrammar }` from a module-scope
|
|
86
|
+
`import bash from 'shiki/langs/bash.mjs'`). When `language`
|
|
87
|
+
matches a key here, highlighting uses that grammar via a fine-grained `createHighlighterCore()`
|
|
82
88
|
highlighter, bypassing the default ~200-language dynamic-import path (`loadShikiHighlighter()`)
|
|
83
89
|
for that language — an additive, opt-in escape hatch for a build scoped to just the languages a
|
|
84
|
-
consumer actually needs. A `language` absent from this map
|
|
90
|
+
consumer actually needs. A `language` absent from both this map and `languageLoaders` falls back
|
|
85
91
|
to the default dynamic-import path unchanged. For a TypeScript annotation, use
|
|
86
|
-
`import type { ShikiLanguageInput } from
|
|
87
|
-
|
|
92
|
+
`import type { ShikiLanguageInput } from
|
|
93
|
+
'@aceshooting/lyra-ui/components/lr-code-block.js'` for resolved-grammar annotations.
|
|
94
|
+
The type-only granular import emits no registration side effect.
|
|
88
95
|
The map key need not be the grammar module's own registered name or one of its declared
|
|
89
96
|
aliases — Lyra derives the Shiki `langAlias` mapping this needs automatically, so a key such as
|
|
90
97
|
`tsx` reusing a differently-named grammar (e.g. TypeScript's own module, to avoid bundling a
|
|
91
98
|
second near-identical grammar) still highlights under that key, for a lazy loader entry too.
|
|
92
99
|
|
|
100
|
+
- `languageLoaders?: Readonly<Record<string, ShikiLanguageLoader>>` (attribute: false) — lazy
|
|
101
|
+
grammar loaders, e.g. `{ bash: () => import('shiki/langs/bash.mjs') }`. Concrete `languages`
|
|
102
|
+
entries take priority for the requested language; otherwise only its loader executes. Leaving
|
|
103
|
+
this unset preserves the concrete-grammar and default highlighter paths. `ShikiLanguageLoader`
|
|
104
|
+
is exported from the same entry and returns
|
|
105
|
+
`Promise<ShikiLanguageInput | { default: ShikiLanguageInput }>`; assign new map objects after edits.
|
|
106
|
+
|
|
93
107
|
- `copyAppearance: 'text' | 'icon' = 'text'` (attribute `copy-appearance`, reflected) — how the
|
|
94
108
|
header's copy control presents itself. `'text'` is the labelled button this component has always
|
|
95
109
|
rendered; `'icon'` swaps the visible label for a compact glyph and promotes the same localized
|
|
@@ -125,7 +139,7 @@ control in each appearance), `copy-button-control` (the copy control's own nativ
|
|
|
125
139
|
`header-actions` (the wrapper around the `header-actions` slot; it carries the `hidden` attribute
|
|
126
140
|
and computes to `display: none` whenever nothing is assigned, so an empty slot contributes no
|
|
127
141
|
header gap — a rule that sets `display` on it must qualify itself with `:not([hidden])`),
|
|
128
|
-
`toggle`, `body`, `pre`,
|
|
142
|
+
`toggle`, `body`, `pre`, `limit` (the syntax-highlighting ceiling notice),
|
|
129
143
|
`code`, `line-highlight` (a line marked by `highlightLines` or a `line-range` entry in `highlights`),
|
|
130
144
|
`line-button` (a gutter line-number button, only rendered while `activatableLines` and `lineNumbers`
|
|
131
145
|
are both set)
|