@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)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 22 parts, 13 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
|
---
|
|
@@ -69,6 +69,150 @@ turning the overlay off moves a focused cell button to the canvas application co
|
|
|
69
69
|
moves a focused canvas to the matching remembered cell, the first interactive cell, or the stable
|
|
70
70
|
base when no cell exists. A newer external focus destination is never reclaimed.
|
|
71
71
|
|
|
72
|
+
Calendar mode can summarize a complete large event population through host-side daily aggregation.
|
|
73
|
+
Combine repeated events into one `{ date, value }` record per day before assigning
|
|
74
|
+
`data = { kind: 'calendar', days }`: duplicate day records use first-valid identity rather than
|
|
75
|
+
summation. A 365-day contribution view can therefore cover one million events while retaining
|
|
76
|
+
365 daily totals. Keep the full event count and aggregation provenance beside the visualization;
|
|
77
|
+
the heatmap's day count describes day records. A million distinct dates exceed the limits on day
|
|
78
|
+
count and date span below. Query another bounded date window when needed.
|
|
79
|
+
|
|
80
|
+
**Complete matrix source:** `matrixSource: LyraHeatmapMatrixSource | null = null`
|
|
81
|
+
(attribute: false) opts into provider-owned indexed storage and aggregation. It takes precedence
|
|
82
|
+
over legacy matrix arrays and requires `data.kind === 'matrix'`; a source with calendar data shows
|
|
83
|
+
a localized error. Set `matrixSource = null` to restore the current legacy input. The provider is
|
|
84
|
+
retained by identity. Reassign even the same object, or call a keyless `requestUpdate()`, after
|
|
85
|
+
revision/state changes. Named presentation changes reuse accepted tiles; locale/lifecycle changes
|
|
86
|
+
revoke obsolete effects. Providers should honor abort signals; ignored aborts occupy their physical
|
|
87
|
+
request permits until settlement.
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
import type {
|
|
91
|
+
LyraHeatmapMatrixSource, LyraHeatmapMatrixViewport, LyraHeatmapMatrixReducer,
|
|
92
|
+
LyraHeatmapTile, LyraHeatmapMatrixRangeSelectDetail,
|
|
93
|
+
} from "@aceshooting/lyra-ui/components/data/heatmap/heatmap.class.js";
|
|
94
|
+
import type { LyraSourceRequest, LyraSourceValue, LyraNumericDomain } from
|
|
95
|
+
"@aceshooting/lyra-ui/utilities/data-preparation.js";
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
The source supplies immutable `revision` (a nonempty string or finite number), safe nonnegative integer `rowCount`/`columnCount`
|
|
99
|
+
(with a safe integer product), and `domain: LyraNumericDomain | null`. This domain describes all
|
|
100
|
+
finite source values; `null` means none. A valid explicit `domain` property still overrides the
|
|
101
|
+
paint scale while the summary reports the provider's complete domain. Signed finite values are
|
|
102
|
+
valid; only `null` represents a missing exact value. Methods may return a value or PromiseLike:
|
|
103
|
+
|
|
104
|
+
- `query(request)` receives `{ signal, rowStart, rowEnd, columnStart, columnEnd, maxCells }` and
|
|
105
|
+
returns readonly `LyraHeatmapTile[]`. The host must supply an aggregation index, pyramid or server;
|
|
106
|
+
the component does not scan raw source cells to create tiles.
|
|
107
|
+
- `getCell(row, column, { signal })` returns `{ value: number | null, rowLabel: string,
|
|
108
|
+
columnLabel: string }` for that exact absolute coordinate. Labels are each at most 1,024 UTF-16
|
|
109
|
+
units; malformed or oversized replies fail visibly without truncation.
|
|
110
|
+
|
|
111
|
+
`matrixViewport: LyraHeatmapMatrixViewport | null = null` (attribute: false) is the zero-based,
|
|
112
|
+
half-open rectangle `{ rowStart, rowEnd, columnStart, columnEnd }`; `null` covers the full matrix.
|
|
113
|
+
Explicit axes must be nonempty, ordered safe integers contained in the source. Invalid new
|
|
114
|
+
rectangles fail visibly without clamping or fallback. On source shrink, an unchanged previously
|
|
115
|
+
accepted viewport keeps its span up to the new dimensions and clamps its origin; a newly assigned
|
|
116
|
+
rectangle is validated afresh. Empty dimensions render an empty state without provider reads.
|
|
117
|
+
`matrixReducer: LyraHeatmapMatrixReducer = 'mean'` (`matrix-reducer`) chooses `'mean' | 'min' | 'max'`
|
|
118
|
+
for tile color; unsupported values fail visibly. Reducer changes repaint accepted tiles.
|
|
119
|
+
|
|
120
|
+
Each tile supplies the viewport fields plus `{ count, validCount, min, max, sum }`. Tiles must
|
|
121
|
+
partition the requested rectangle exactly once, without gaps or overlaps. `count` equals rectangle
|
|
122
|
+
area, `validCount` is a safe integer from zero to `count`, and all statistics are finite and
|
|
123
|
+
consistent with the complete domain. An empty-valid tile has `min: null`, `max: null`, `sum: 0`;
|
|
124
|
+
otherwise extrema are ordered and `sum / validCount` lies within them, allowing a normalized
|
|
125
|
+
`32 * Number.EPSILON` floating tolerance. Admission checks a bounded partition and arithmetic
|
|
126
|
+
consistency; the provider owns the truth of aggregation over unseen records.
|
|
127
|
+
|
|
128
|
+
The square overview allocates from available inline size, with tile budget
|
|
129
|
+
`T = min(normalized maxCells, max(1, floor(plotWidth) ** 2))`; zero-width layouts defer requests.
|
|
130
|
+
The existing `maxCells` default 10,000 and hard ceiling 100,000 apply to tiles here. The component
|
|
131
|
+
retains bounded current/replacement tiles and O(T) partition-validation storage, without geometry
|
|
132
|
+
or occupancy arrays proportional to logical cell count. One physical tile query and only the
|
|
133
|
+
latest queued replacement are allowed. Exact reads share two physical permits, with current and
|
|
134
|
+
pending windows of at most 400 records each plus at most one separately selected record (801 total,
|
|
135
|
+
at most 1,640,448 retained exact-label units). A pending window replaces the old pane atomically;
|
|
136
|
+
obsolete pending buffers are released. Canvas limits remain 16,384 per side and 16,777,216 pixels.
|
|
137
|
+
|
|
138
|
+
`revealSourceCell(row: number, col: number): Promise<boolean>` resolves and focuses an exact source
|
|
139
|
+
coordinate without changing controlled selection or emitting activation. Invalid/out-of-range
|
|
140
|
+
coordinates make no provider call; absent, failed, noninteractive or revoked targets resolve
|
|
141
|
+
`false`. Revealing outside an explicit viewport silently pans a same-size clamped rectangle by
|
|
142
|
+
updating `matrixViewport`; a null/full viewport stays full. Focus restoration respects intervening
|
|
143
|
+
user movement. Arrow keys move exact coordinates using physical left/right even under RTL;
|
|
144
|
+
Home/End reach row endpoints, Ctrl+Home/Ctrl+End source endpoints, and PageUp/PageDown move up to
|
|
145
|
+
20 rows. Each action examines at most 32 excluded candidates. With `accessibleCells: true`,
|
|
146
|
+
`source-exact-window` is a separate at-most-20×20 exact grid below the overview, with full logical
|
|
147
|
+
ARIA counts and absolute one-based row/column indices; the overview canvas is hidden from assistive
|
|
148
|
+
technology. Without it, the named canvas owns the exact cursor.
|
|
149
|
+
|
|
150
|
+
**Events:** Exact Enter/Space and singleton-tile pointer activation resolve `getCell` and emit the existing
|
|
151
|
+
`lr-cell-activate` `{ row, col, value }` with absolute coordinates; missing `null` maps to `NaN`.
|
|
152
|
+
`cellText`, `cellInteractive` and `cellColor` receive exact values and absolute coordinates, never
|
|
153
|
+
aggregate means. Multi-cell tile pointer activation or Shift+Enter emits noncancelable
|
|
154
|
+
`lr-matrix-range-select` with frozen `LyraHeatmapMatrixRangeSelectDetail`:
|
|
155
|
+
`{ revision, rowStart, rowEnd, columnStart, columnEnd, count, validCount, min, max, sum }`.
|
|
156
|
+
It proposes an aggregate without expanding `selectedCells` or synthesizing exact activation.
|
|
157
|
+
`selectedCell`/bounded `selectedCells` stay controlled and programmatic assignments are silent;
|
|
158
|
+
row/column, drag and Shift-range expansion remain legacy-only. Source geometry is proportional:
|
|
159
|
+
`matrixGeometry` is `undefined` and source paints emit no `lr-matrix-geometry-change`.
|
|
160
|
+
|
|
161
|
+
Source `exportData('csv')` exports the complete current accepted viewport's aggregate tile snapshot,
|
|
162
|
+
with header `rowStart,rowEnd,columnStart,columnEnd,count,validCount,min,max,sum,reducer,value`.
|
|
163
|
+
Coordinates are half-open and zero-based; numbers are unlocalized and missing extrema/reducer
|
|
164
|
+
values are blank. It performs no provider reads and is not a raw-cell export. Loading, error or
|
|
165
|
+
obsolete snapshots export `''`. PNG follows the current bounded overview and existing canvas
|
|
166
|
+
readiness gates. Additional parts are `source-status`, `source-error`, `source-summary`, and
|
|
167
|
+
`source-exact-window`; existing `base`, `canvas`, `cell`, `tooltip` and legend parts apply where
|
|
168
|
+
rendered. The following dense matrix/calendar limits and geometry descriptions apply with
|
|
169
|
+
`matrixSource` unset.
|
|
170
|
+
|
|
171
|
+
**Exported matrix-source declarations:**
|
|
172
|
+
|
|
173
|
+
Inherited viewport/tile fields are repeated to show the complete effective contracts. `HeatmapSourceCell { readonly value: number | null; readonly rowLabel: string; readonly columnLabel: string }` is the exact-cell reply described above.
|
|
174
|
+
|
|
175
|
+
`LyraHeatmapMatrixViewport {
|
|
176
|
+
readonly rowStart: number;
|
|
177
|
+
readonly rowEnd: number;
|
|
178
|
+
readonly columnStart: number;
|
|
179
|
+
readonly columnEnd: number;
|
|
180
|
+
}`
|
|
181
|
+
|
|
182
|
+
`LyraHeatmapTile extends LyraHeatmapMatrixViewport {
|
|
183
|
+
readonly count: number;
|
|
184
|
+
readonly validCount: number;
|
|
185
|
+
readonly min: number | null;
|
|
186
|
+
readonly max: number | null;
|
|
187
|
+
readonly sum: number;
|
|
188
|
+
readonly rowStart: number;
|
|
189
|
+
readonly rowEnd: number;
|
|
190
|
+
readonly columnStart: number;
|
|
191
|
+
readonly columnEnd: number;
|
|
192
|
+
}`
|
|
193
|
+
|
|
194
|
+
`LyraHeatmapMatrixRangeSelectDetail extends LyraHeatmapTile {
|
|
195
|
+
readonly revision: LyraSourceRevision;
|
|
196
|
+
readonly count: number;
|
|
197
|
+
readonly validCount: number;
|
|
198
|
+
readonly min: number | null;
|
|
199
|
+
readonly max: number | null;
|
|
200
|
+
readonly sum: number;
|
|
201
|
+
readonly rowStart: number;
|
|
202
|
+
readonly rowEnd: number;
|
|
203
|
+
readonly columnStart: number;
|
|
204
|
+
readonly columnEnd: number;
|
|
205
|
+
}`
|
|
206
|
+
|
|
207
|
+
`LyraHeatmapMatrixSource {
|
|
208
|
+
readonly revision: LyraSourceRevision;
|
|
209
|
+
readonly rowCount: number;
|
|
210
|
+
readonly columnCount: number;
|
|
211
|
+
readonly domain: LyraNumericDomain | null;
|
|
212
|
+
query(request: LyraSourceRequest & LyraHeatmapMatrixViewport & { readonly maxCells: number }): LyraSourceValue<readonly LyraHeatmapTile[]>;
|
|
213
|
+
getCell(row: number, column: number, request: LyraSourceRequest): LyraSourceValue<HeatmapSourceCell>;
|
|
214
|
+
}`
|
|
215
|
+
|
|
72
216
|
**Properties:**
|
|
73
217
|
|
|
74
218
|
- `data: HeatmapData = { kind: 'matrix', rowLabels: [], colLabels: [], values: [] }` (attribute:
|
|
@@ -88,6 +232,11 @@ weekdayLabelWidth?: number|'auto'; weekdayLabelText?: (jsWeekday:number)=>string
|
|
|
88
232
|
pins its width, while `'auto'` measures the widest rendered weekday label without shrinking
|
|
89
233
|
below the built-in `28px` gutter or growing beyond 40% of the host. Unset preserves the original
|
|
90
234
|
`28px` geometry; malformed values are ignored.
|
|
235
|
+
- `maxCells: number = 10000` (attribute `max-cells`) — projection budget, normalized to 1–100,000.
|
|
236
|
+
Matrix projection keeps a rectangular prefix within that budget. Calendar input retains at most
|
|
237
|
+
that many days and scales its sparse span proportionally from the default 530 weeks, up to 5,300
|
|
238
|
+
weeks, with a minimum one-week span. The accessible cell overlay remains windowed to 400 buttons,
|
|
239
|
+
and canvas backing-store limits still apply.
|
|
91
240
|
- `cellSize: number = 22` (attribute `cell-size` — default `22` in matrix mode, `11` in calendar
|
|
92
241
|
mode when left unset; explicitly setting it now governs both modes' per-cell size alike, and it's
|
|
93
242
|
ignored in either mode when `fitToWidth` is set)
|
|
@@ -455,6 +604,10 @@ bar between them, while `legendStops` is supplied), `legend-stop` (one per `lege
|
|
|
455
604
|
closes the legend row, present in both the gradient and the `legendStops` branch),
|
|
456
605
|
`legend-annotation` (one per labeled `annotations` entry)
|
|
457
606
|
|
|
607
|
+
With `matrixSource` set, additional CSS parts are `source-summary` (complete matrix and displayed viewport summary),
|
|
608
|
+
`source-status` (loading text), `source-error` (localized failure), and `source-exact-window`
|
|
609
|
+
(the bounded exact grid rendered when `accessibleCells` is true).
|
|
610
|
+
|
|
458
611
|
**Themeable custom properties:** `--lr-heatmap-scale-lo` (default `var(--lr-color-brand-quiet)`),
|
|
459
612
|
`--lr-heatmap-scale-hi` (default `var(--lr-color-brand)`) — the sequential color-ramp endpoints
|
|
460
613
|
(matrix mode) or quartile-bucket ramp endpoints (calendar mode), resolved via `getComputedStyle` each
|
|
@@ -540,10 +693,13 @@ is now literal.
|
|
|
540
693
|
|
|
541
694
|
**Known gotchas:**
|
|
542
695
|
|
|
543
|
-
- Matrix
|
|
544
|
-
|
|
545
|
-
256 entries. `
|
|
546
|
-
|
|
696
|
+
- Matrix and calendar projections use `maxCells` (10,000 by default); calendar span scales from
|
|
697
|
+
the default 530 weeks with that budget. Color-step/legend-stop/annotation projections each display
|
|
698
|
+
at most 256 entries. Their owned snapshots and `selectedCells` retain at most 10,000 entries and
|
|
699
|
+
50,000 cloned values; deeply nested records can reach the value budget first.
|
|
700
|
+
`[part="projection-limit"]` and the generated accessible summary disclose visual projection and
|
|
701
|
+
input loss; changed notices are announced politely. The semantic grid mounts at most 400 cell
|
|
702
|
+
buttons while preserving full navigation.
|
|
547
703
|
- Calendar duplicates use a first-valid-wins ISO-date identity. Invalid dates are dropped. `data.columnX`
|
|
548
704
|
and `data.rowY` results must be finite, nonnegative, monotonic and non-overlapping; an invalid,
|
|
549
705
|
throwing or hostile result safely falls back to the normal coordinate for that position.
|
|
@@ -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
|
---
|
|
@@ -22,7 +22,7 @@ Bins `values` into `bins` equal-width buckets and renders as a bar chart (extend
|
|
|
22
22
|
**Properties:**
|
|
23
23
|
- `bins: number = 10` — finite values are floored and clamped to 0–1,000 before allocation;
|
|
24
24
|
non-finite values produce no buckets
|
|
25
|
-
- `values: number[] = []` (attribute: false)
|
|
25
|
+
- `values: readonly number[] = []` (attribute: false)
|
|
26
26
|
- `seriesLabel: string = ''` (attribute `series-label`) — dataset label used for the
|
|
27
27
|
legend/tooltip/table; empty falls back to localized "Frequency". Inherited `label` keeps its
|
|
28
28
|
chart-wide accessible-name meaning.
|
|
@@ -34,9 +34,10 @@ Bins `values` into `bins` equal-width buckets and renders as a bar chart (extend
|
|
|
34
34
|
bucket range strings, so different bin boundaries do not match unless their labels are exactly
|
|
35
35
|
equal. Horizontal or continuous-x raw configurations do not participate.
|
|
36
36
|
- `labels`/`datasets`/`type` are **derived, read-only** (installed as getter/setter pairs on the
|
|
37
|
-
prototype; direct writes are silently ignored) — `labels`/`datasets`
|
|
38
|
-
`values`/`bins` (memoized per instance, keyed by reference equality on `values`
|
|
39
|
-
normalized `bins`)
|
|
37
|
+
prototype; direct writes are silently ignored) — on the legacy raw route, `labels`/`datasets`
|
|
38
|
+
are computed from `values`/`bins` (memoized per instance, keyed by reference equality on `values`
|
|
39
|
+
plus the normalized `bins`). A supplied `distribution` takes precedence and supplies the exact
|
|
40
|
+
bin categories/counts instead. `type` always reads back `'bar'` regardless of any assignment. This
|
|
40
41
|
specialist owns its controller because a non-bar type would contradict the derived distribution.
|
|
41
42
|
- All other `LyraChart` properties are inherited and usable: `description`, `grid`, `axes`, `size`, `indexAxis`
|
|
42
43
|
(`index-axis`), `hiddenDatasets`, `hiddenDatums`, `legendPosition` (`legend-position`),
|
|
@@ -46,15 +47,54 @@ Bins `values` into `bins` equal-width buckets and renders as a bar chart (extend
|
|
|
46
47
|
`tooltipFooterFormatter`, `area`, `zoomable`, `config`, `height`, `xLabel` (`x-label`),
|
|
47
48
|
`yLabel` (`y-label`), `y2Label` (`y2-label`), `withoutZeroBaseline` (`without-zero-baseline`),
|
|
48
49
|
`stacked`, `stackedAxes`, `dataLabels` (`data-labels`), `stackTotals` (`stack-totals`), `withDataTable`
|
|
49
|
-
(`with-data-table`), `dataTableToggle` (`data-table-toggle`), `
|
|
50
|
+
(`with-data-table`), `dataTableToggle` (`data-table-toggle`), `maxRecords` (`max-records`, default
|
|
51
|
+
`1000`, range 2–1,000), `chartArea` (readonly).
|
|
50
52
|
|
|
51
53
|
**Methods:** `resetZoom()`, `refreshTheme()`, and `renderChart()` are inherited; `appendSamples(values,
|
|
52
54
|
maxSamples?)` appends finite raw samples and keeps a rolling window of the newest `maxSamples`
|
|
53
55
|
(at most 10,000, also the default; an assigned `values` array longer than that keeps its newest
|
|
54
|
-
10,000 samples, with a
|
|
56
|
+
10,000 samples, with a localized `limit` notice). The bounded immutable window reuses existing
|
|
57
|
+
canonical samples without re-admission. Use `distribution` below to represent a larger whole-source distribution.
|
|
58
|
+
Appends inspect newest positions first and stop once the retained window is full. Invalid-heavy
|
|
59
|
+
batches yield after 10,000 inspected positions and may finish asynchronously. Concurrent appends
|
|
60
|
+
apply in call order; assigning `values` or disconnecting cancels unfinished batches. Pending input
|
|
61
|
+
arrays remain caller-owned and must stay unchanged until their batch is applied or canceled.
|
|
62
|
+
Unreadable positions are treated as invalid and do not block later queued appends.
|
|
55
63
|
`appendData()` remains a working compatibility adapter (no longer deprecated); prefer
|
|
56
64
|
`appendSamples()` for new code.
|
|
57
65
|
|
|
66
|
+
**Prepared whole-source distribution:**
|
|
67
|
+
|
|
68
|
+
- `distribution: LyraHistogramDistribution | null = null` (attribute: false) — exact bounded
|
|
69
|
+
bins, normally from `prepareLyraHistogram`, imported from
|
|
70
|
+
`@aceshooting/lyra-ui/utilities/data-preparation.js` with its `LyraHistogramDistribution` type.
|
|
71
|
+
A supplied distribution takes precedence over `values`, `bins` and inherited `preparedData`.
|
|
72
|
+
Inherited `preparedData` alone is incompatible with histogram bin semantics and fails visibly.
|
|
73
|
+
- Own data properties supply a revision, conserving safe nonnegative source/valid/invalid counts,
|
|
74
|
+
observed `domain` (null only without valid observations), strict finite increasing `edges`,
|
|
75
|
+
exact `binCounts`, `belowCount` and `aboveCount`. There are at most 1,000 bins and 1,001 edges;
|
|
76
|
+
valid empty input may have no edges. Every occupied interval and represented extremum must
|
|
77
|
+
agree with the observed domain and counts. Accessors, sparse arrays and malformed descriptors
|
|
78
|
+
are rejected without invoking getters. All bins must fit effective `maxRecords` (2–1,000) and
|
|
79
|
+
the inherited rectangular accessible-table and metadata budgets; no bins are sampled or merged.
|
|
80
|
+
- Plot, table, CSV and `binnedBuckets()` expose the exact in-range bins. Bins are half-open except
|
|
81
|
+
the final upper edge, which is inclusive. Below/above observations stay in the full summary,
|
|
82
|
+
together with whole-source valid/invalid counts and observed range; they are not invented bars.
|
|
83
|
+
Existing point/datum activation keeps the bin index and frequency.
|
|
84
|
+
- Assignment or explicit keyless `requestUpdate()` recaptures mutable descriptors, including
|
|
85
|
+
same-reference assignments and coalesced updates. Locale and series-label changes rebuild
|
|
86
|
+
bounded labels. Replacing a same-locale catalog requires explicit `requestUpdate()`.
|
|
87
|
+
Distribution assignment cancels unfinished raw appends; raw append methods are inactive while
|
|
88
|
+
it is supplied. Clearing it restores the previous raw values without stale queued commits.
|
|
89
|
+
Disconnect retains the existing cancellation and peer lifecycle.
|
|
90
|
+
|
|
91
|
+
The component retains bounded owned copies and the property retains the caller's descriptor until
|
|
92
|
+
replaced or cleared. It never reads raw samples to render this route. `prepareLyraHistogram` scans
|
|
93
|
+
all positions in bounded yielding chunks and accepts an `AbortSignal`; its source reader execution
|
|
94
|
+
and cancellation remain host-owned. Invalid or overbudget distributions use the inherited visible
|
|
95
|
+
localized error; valid empty/all-invalid distributions remain valid. No new events or parts are
|
|
96
|
+
added; `limit` and the accessible description carry the full distribution summary.
|
|
97
|
+
|
|
58
98
|
**Events:** `lr-zoom`, `lr-datum-activate`, `lr-point-activate`, `lr-datum-visibility-change-request`
|
|
59
99
|
(cancelable), `lr-datum-visibility-change`, `lr-legend-visibility-change-request` (cancelable), and
|
|
60
100
|
`lr-legend-visibility-change` — inherited; `lr-point-activate`'s `index` is the bucket index and
|
|
@@ -65,12 +105,17 @@ the bin width, with no fraction digits once the width reaches 10 and no forced t
|
|
|
65
105
|
The inherited datum-visibility events apply only to radial controllers; the histogram keeps its
|
|
66
106
|
bar controller and dataset legend even with `legend-mode="datum"`.
|
|
67
107
|
|
|
108
|
+
**Events:** The inherited `lr-source-category-select` and `lr-source-point-select` events are not
|
|
109
|
+
emitted for histogram bins. Inherited `lr-spatial-bin-select` and `lr-spatial-point-select` are
|
|
110
|
+
also not emitted by this fixed-bar specialist: inherited spatial `preparedData` alone is rejected,
|
|
111
|
+
and `distribution` supplies bin categories rather than a spatial route.
|
|
112
|
+
|
|
68
113
|
**Slots:** default JSON configuration script, `data-table`, `center`.
|
|
69
114
|
|
|
70
115
|
**CSS parts:** `base`, `plot`, `canvas`, `legend`, `legend-item`, `legend-item-hidden`, `legend-swatch`,
|
|
71
116
|
`sync-crosshair` (inherited decorative category line during synchronization; the native canvas
|
|
72
117
|
tooltip has no CSS part),
|
|
73
|
-
`reset-zoom-button`, `description`, `notices`, `data-table`, `data-table-toggle`, `data-truncation`, `feature-warning`, `center`, `error` (neutral visible message
|
|
118
|
+
`reset-zoom-button`, `description`, `notices`, `data-table`, `data-table-toggle`, `data-truncation`, `limit`, `feature-warning`, `center`, `error` (neutral visible message
|
|
74
119
|
rendered in place of `canvas` when the optional `chart.js` peer dependency fails to load; the
|
|
75
120
|
failure transition is announced through the shared document-level light-DOM assertive sink —
|
|
76
121
|
inherited from `LyraChart`, unaffected by the binning logic).
|
|
@@ -113,7 +158,8 @@ their semantics, defaults, and gotchas.
|
|
|
113
158
|
- non-finite samples in `values` are dropped before bucketing rather than corrupting bucket-index
|
|
114
159
|
math; a constant domain produces one truthful single-value bucket, including at numeric extremes.
|
|
115
160
|
- raw `config.options` and plugins remain available, but `config.type` and `config.data` are ignored:
|
|
116
|
-
the histogram owns its bar controller and derives
|
|
161
|
+
the histogram owns its bar controller and derives categories from `values`/`bins` on the legacy
|
|
162
|
+
raw route, or from `distribution` when provided, which takes precedence.
|
|
117
163
|
- `values`/`bins`/`seriesLabel` changes join the inherited connected-and-visible redraw path. There is no
|
|
118
164
|
second post-update refresh, so a same-tick disconnect cannot recreate Chart.js on a detached
|
|
119
165
|
canvas and off-screen sample updates do not repaint it.
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [retrieval](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/retrieval.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 21 parts, 1 custom property — 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
|
---
|
|
@@ -23,6 +23,18 @@ Nonstring failure details use the localized failed-stage label for row text and
|
|
|
23
23
|
announcements. Omitted details stay omitted. Formatting uses the effective locale, and historical
|
|
24
24
|
failures remain silent on mount.
|
|
25
25
|
|
|
26
|
+
Assignment retains the first 10,000 queue items in a bounded readonly outer snapshot. Admitted
|
|
27
|
+
record identities feed a descriptor-safe copy of the closed row/document display fields rather
|
|
28
|
+
than a deep copy of arbitrary provider data, so nested input does not consume the shared
|
|
29
|
+
50,000-value deep-copy budget. Replace the collection to publish record changes. Normalized rows
|
|
30
|
+
are reused until the admitted items or the resolved localized failure label changes; replacing the
|
|
31
|
+
queue normalizes the new rows once and compares failures with the previous normalized rows.
|
|
32
|
+
|
|
33
|
+
A localized `[part="limit"]` note reports retained and assigned-source counts when the input
|
|
34
|
+
ceiling is exceeded on the legacy items route. Counts use the effective locale. Initial truncation is silent; a later
|
|
35
|
+
transition into input truncation is announced through the shared polite sink, separately from
|
|
36
|
+
failure announcements.
|
|
37
|
+
|
|
26
38
|
**Properties:**
|
|
27
39
|
|
|
28
40
|
- `items: IngestionQueueItem[] = []` (attribute: false) — `IngestionQueueItem { id: string;
|
|
@@ -47,7 +59,7 @@ embeddedChunkCount?: number; attempts?: number; error?: string }` (exported here
|
|
|
47
59
|
exactly this many items still render as a plain list. Before 9.0.0 this was spelled
|
|
48
60
|
`virtualizeThreshold`/`virtualize-threshold` _and_ compared inclusively (`>=`), so a migration
|
|
49
61
|
that only renames the attribute shifts the switchover point by one item
|
|
50
|
-
- `announce: boolean = false` (reflected) — opt-in: announce the failures the queue **already
|
|
62
|
+
- `announce: boolean = false` (reflected) — legacy items route opt-in: announce the failures the queue **already
|
|
51
63
|
carries** the first time it mounts, instead of staying silent until a row fails later. The
|
|
52
64
|
mount-time pass reuses the one announcement path a later failure takes — the same shared
|
|
53
65
|
assertive light-DOM region, the same locale-aware conjunction list of the caller-supplied
|
|
@@ -66,6 +78,44 @@ embeddedChunkCount?: number; attempts?: number; error?: string }` (exported here
|
|
|
66
78
|
Queue item ids must be nonblank and unique. Malformed rows and later duplicates are omitted
|
|
67
79
|
first-wins before empty state, counts, virtualization, failure announcements, rendering, or actions.
|
|
68
80
|
|
|
81
|
+
**Provider pages:**
|
|
82
|
+
|
|
83
|
+
- `dataSource: IngestionQueueSource | undefined` (attribute: false) —
|
|
84
|
+
`IngestionQueueSource = LyraPageSource<IngestionQueueItem, IngestionQueueSourceQuery>`, exported
|
|
85
|
+
by `@aceshooting/lyra-ui/components/retrieval/ingestion-queue/ingestion-queue.class.js`.
|
|
86
|
+
`LyraPageSource` is exported by `@aceshooting/lyra-ui/data-sources.js`. The query is one frozen
|
|
87
|
+
empty object (`readonly [key: string]: never`); the provider owns queue order and exact total.
|
|
88
|
+
A present source takes precedence over `items`, including invalid sources, which fail visibly.
|
|
89
|
+
Setting `undefined` restores the existing items route and virtualization defaults.
|
|
90
|
+
- `sourcePage: number = 0` (attribute `source-page`) — zero-based provider page, normalized to a
|
|
91
|
+
finite nonnegative safe offset for the effective page size.
|
|
92
|
+
- `sourcePageSize: number = 100` (attribute `source-page-size`) — normalized to 1–500; an effective
|
|
93
|
+
size change resets page zero. Pages above `virtualizeAt` use the existing virtual list.
|
|
94
|
+
- `readonly sourceTotal: number | null` — null without a source, while pending or after failure;
|
|
95
|
+
otherwise the exact global queue total, including settled zero. The compact child pager uses
|
|
96
|
+
one-based pages and unknown total `-1`, disables navigation pending/error, and contains its
|
|
97
|
+
events. A valid stale page corrects once and synchronizes `sourcePage`.
|
|
98
|
+
|
|
99
|
+
Only the current bounded page is retained; source mode never normalizes the legacy inventory.
|
|
100
|
+
Closed row/document display fields are frozen copies with at most 65,536 aggregate UTF-16 text
|
|
101
|
+
units per row. Required malformed records reject the whole page, rather than silently dropping
|
|
102
|
+
rows; source getters are not invoked and arbitrary nested fields are not traversed. Existing stage,
|
|
103
|
+
fallback text and action semantics apply. Historical failures stay quiet on page changes, refresh
|
|
104
|
+
and reconnect even with `announce`; loading/errors use localized source status announcements.
|
|
105
|
+
|
|
106
|
+
Same-source assignment or keyless `requestUpdate()` refreshes source/revision. Named paints and
|
|
107
|
+
string overrides reuse the current page; reconnect replays the current bounded request. Changes to
|
|
108
|
+
source, revision, refresh intent or connection revoke obsolete work. Requests receive an abort
|
|
109
|
+
signal and stale results cannot publish; the provider owns callback execution cost and cooperation
|
|
110
|
+
with cancellation. Rapid changes retain bounded active work and latest intent, without page history
|
|
111
|
+
or a complete queue cache.
|
|
112
|
+
|
|
113
|
+
Only current settled source rows can emit the existing retry/cancel details below. Pending,
|
|
114
|
+
replaced, removed or disconnected source controls cannot act on stale rows. Provider-load failure
|
|
115
|
+
shows `source-status` with a `source-retry` button: it reloads only the current failed page, emits
|
|
116
|
+
no row `lr-retry`, and obsolete load-retry controls are inert. `source-pagination` styles navigation.
|
|
117
|
+
This route adds no public event, table or CSV export.
|
|
118
|
+
|
|
69
119
|
**Events:**
|
|
70
120
|
|
|
71
121
|
- `lr-retry` (`detail: IngestionRetryEventDetail` = `RetryEventDetail & { itemId: string }` =
|
|
@@ -86,7 +136,8 @@ per-item stage label), `item-progress`,
|
|
|
86
136
|
`chunkCount` and `embeddedChunkCount` are set), `item-attempts` (only once `attempts > 0`),
|
|
87
137
|
`item-error` (only for `stage="failed"` with `error` set), `failure-live` (the visually hidden,
|
|
88
138
|
`aria-hidden` mirror of the last announced batch of fresh failures), `item-actions`,
|
|
89
|
-
`retry-button`, `cancel-button`, `empty
|
|
139
|
+
`retry-button`, `cancel-button`, `empty`, `limit` (the input-retention notice),
|
|
140
|
+
`source-status`, `source-retry`, `source-pagination`.
|
|
90
141
|
|
|
91
142
|
`failure-live` is a styling and inspection surface and carries no live-region role of its own. The
|
|
92
143
|
announcement itself goes to the library's shared **light-DOM** assertive region, appended to the
|
|
@@ -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** 17 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
|
---
|
|
@@ -33,22 +33,96 @@ Removing `query` clears matches while retaining null property readback. Before a
|
|
|
33
33
|
`searchPrevious()` selects the final match; later next/previous navigation wraps. Navigation may
|
|
34
34
|
reopen the selected match’s ancestors while unrelated manual collapse remains intact.
|
|
35
35
|
|
|
36
|
+
**Complete provider hierarchy:** `treeSource: JsonViewerTreeSource | undefined`
|
|
37
|
+
(attribute: false) supplies a complete logical hierarchy without flattening it or copying it into
|
|
38
|
+
`data`. A defined provider takes display precedence; invalid defined input shows a localized source
|
|
39
|
+
error. Setting `undefined` restores the current `data`. `maxNodes` and `expandDepth` govern only
|
|
40
|
+
the legacy `data` route; `maxHeight` also constrains the source scroller.
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
import type { JsonViewerTreeSource } from
|
|
44
|
+
"@aceshooting/lyra-ui/components/utility/json-viewer/json-viewer.class.js";
|
|
45
|
+
import type {
|
|
46
|
+
LyraHierarchyProjection, LyraHierarchyRow, LyraInspectionNode,
|
|
47
|
+
LyraSourceSearchRequest, LyraSourceSearchResult,
|
|
48
|
+
} from "@aceshooting/lyra-ui/data-sources.js";
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
`JsonViewerTreeSource` is `LyraHierarchySource<LyraInspectionNode, LyraHierarchyQuery>`.
|
|
52
|
+
Its immutable `revision` is a nonempty string or finite number identifying provider state. `project(request)` receives revision, locale,
|
|
53
|
+
abort signal, previous opaque `state` (initially `null`), `{ search: query, hiddenKinds: [] }`, and
|
|
54
|
+
an action such as `reset`, `toggle` or `reveal`. It returns `{ state, total, rows, focusIndex? }`:
|
|
55
|
+
`total` counts every logical node, including collapsed nodes; `rows.count` is the complete visible
|
|
56
|
+
preorder, with `rows.count <= total`. Counts are safe nonnegative integers. The nonempty opaque
|
|
57
|
+
state token is at most 65,536 UTF-16 units. `rows` supports indexed `itemAt`/`keyAt`/`indexOfKey`,
|
|
58
|
+
or asynchronous `read` with required `indexOfKey`; there is no full-tree lookup scan.
|
|
59
|
+
|
|
60
|
+
Each `LyraHierarchyRow<LyraInspectionNode>` supplies a globally unique nonblank `key`, `parentKey`,
|
|
61
|
+
one-based logical `level`/`position`, exact sibling `setSize`, `childCount`, `expanded`, `selected`,
|
|
62
|
+
and optional `disabled`/`selectionState`. Its closed own-data `value` supplies string `name`,
|
|
63
|
+
string `path` equal to the row key, optional string `value`, and a `kind` from
|
|
64
|
+
`'object' | 'array' | 'scalar' | 'element' | 'attribute' | 'text' | 'comment' | 'processing-instruction'`.
|
|
65
|
+
Keys and each inspection string are at most 65,536 UTF-16 units. The admitted row cache, staging,
|
|
66
|
+
one separately retained focused row and opaque state share a 2,000,000-unit payload budget;
|
|
67
|
+
oversized rows/pages fail visibly instead of clipping a result. The source view mounts at most
|
|
68
|
+
301 rows and caches four 100-row pages, plus at most one focused row. Range reads request at most
|
|
69
|
+
100 rows with at most two physical reads pending; projection calls serialize with only the latest
|
|
70
|
+
replacement queued. Global key uniqueness and immutable snapshot consistency remain provider-owned.
|
|
71
|
+
|
|
72
|
+
`revealSourceKey(key: string): Promise<boolean>` asks the provider to open ancestors and focus its
|
|
73
|
+
exact returned row. It resolves `false` for absent, failed, canceled or obsolete targets. Compact
|
|
74
|
+
keys support deeply nested sources without allocating a full ancestor path; logical ARIA depth
|
|
75
|
+
and sibling positions remain exact while visual indentation clamps at 32 levels. Provider
|
|
76
|
+
projections own expansion. Reassign even the same source object, or call a keyless
|
|
77
|
+
`requestUpdate()`, after changing its revision/state. Locale changes, reconnect and adoption refresh
|
|
78
|
+
the projection; named presentation updates reuse accepted data. Replacement, refresh, query changes
|
|
79
|
+
and lifecycle cancellation revoke older search, reveal and copy effects. Providers should honor
|
|
80
|
+
abort signals; ignored aborts retain their physical request permits until settlement.
|
|
81
|
+
|
|
82
|
+
Source `query`/`runSearch()` uses optional provider `search({ revision, locale, signal, query,
|
|
83
|
+
limit })`, which returns `{ hits: [{ key }], total, exhaustive }`. Search covers the complete
|
|
84
|
+
logical hierarchy, counts matching nodes rather than separate key/value occurrences, and retains
|
|
85
|
+
at most 10,000 hits regardless of `maxNodes`; query length is at most 4,096 UTF-16 units. Search-hit
|
|
86
|
+
keys share a separate 2,000,000-unit budget. `exhaustive` means every global hit was returned;
|
|
87
|
+
`total` is the known global total or `null`. `lr-search-change` retains
|
|
88
|
+
`{ query, matchCount, matchCountExact, activeIndex }`; unavailable, partial, invalid and over-budget
|
|
89
|
+
results never claim exactness. The initial cursor is `-1`. `searchNext()`/`searchPrevious()` reveal
|
|
90
|
+
retained hit keys without rerunning global search. `search-status` discloses unavailable/partial
|
|
91
|
+
search, and clearing the query clears its hits and cursor.
|
|
92
|
+
|
|
93
|
+
Source copy controls require both `copyable` and a callable provider `copy`. The request includes
|
|
94
|
+
revision, locale, abort signal, `key`, `scope` and `maxBytes`: scalar rows use `'node'`, containers
|
|
95
|
+
`'subtree'`, and the toolbar uses `'document'` with `key: null`. The provider must return complete
|
|
96
|
+
text within 25 MiB UTF-8; the component never serializes loaded rows as a substitute. Provider or
|
|
97
|
+
byte-budget failures show localized copy failure without clipboard events. A current platform
|
|
98
|
+
write retains the frozen `lr-copy`/`lr-copy-error` outcome and clipboard-only `lr-error` contract.
|
|
99
|
+
Source-only parts are `source-list`, `source-row`, `source-toggle`, `source-label`, `source-status`,
|
|
100
|
+
`source-error`, and `search-status`; `base`, `tree`, `toolbar`, `key`, `value`, and `copy-button`
|
|
101
|
+
also apply. The flat source rows own logical treeitem semantics.
|
|
102
|
+
|
|
36
103
|
**Properties:**
|
|
37
104
|
|
|
38
105
|
- `data: unknown` (attribute `false` — property-only, not settable via an HTML attribute)
|
|
106
|
+
- `maxNodes: number = 5000` (attribute `max-nodes`) — the shared admission, search and render
|
|
107
|
+
node budget for `data`; effective range 1–50,000. Finite fractions truncate and values clamp to that range;
|
|
108
|
+
non-finite inputs use 5,000. Changing it re-admits the retained original `data`, so raising the
|
|
109
|
+
budget does not require reassigning `data`. The depth ceiling remains 100, and the existing
|
|
110
|
+
localized `limit` part discloses traversal truncation.
|
|
39
111
|
- `expandDepth?: number` (attribute `expand-depth`) — nodes at or beyond this nesting depth
|
|
40
112
|
(root = `0`) start collapsed, so only the levels above it start expanded; omitted/`undefined`
|
|
41
113
|
means nothing auto-collapses
|
|
42
114
|
- `maxHeight: string = ''` (attribute `max-height`) — a CSS length (e.g. `"20rem"`); once set, the
|
|
43
|
-
viewer scrolls internally past this height instead of growing the page.
|
|
115
|
+
viewer scrolls internally past this height instead of growing the page. Source mode otherwise
|
|
116
|
+
uses a `var(--lr-size-20rem)` height ceiling. Values that do not parse
|
|
44
117
|
as CSS `max-height`, contain declaration breaks, or contain `url()` are ignored, leaving
|
|
45
118
|
`--lr-json-viewer-max-height` in control
|
|
46
119
|
- `copyable: boolean = false` (reflected) — shows copy-to-clipboard affordances: one for the whole
|
|
47
120
|
value, plus one per node
|
|
48
|
-
- `query: string = ''` — case-insensitive substring match against
|
|
49
|
-
highlighted and their ancestors auto-expanded
|
|
121
|
+
- `query: string = ''` — with `treeSource` unset, case-insensitive substring match against
|
|
122
|
+
keys/values; matches are highlighted and their ancestors auto-expanded. Source matching is
|
|
123
|
+
provider-owned as described above
|
|
50
124
|
|
|
51
|
-
**
|
|
125
|
+
**Search methods:** `runSearch(query)` sets the declarative `query` property and awaits the recompute,
|
|
52
126
|
resolving the match count. `searchNext()`/`searchPrevious()`
|
|
53
127
|
advance/step back a match cursor
|
|
54
128
|
(wrapping), reveal that selected match even when one of its ancestors was explicitly collapsed,
|
|
@@ -56,7 +130,7 @@ mark it as the active `aria-current` result, announce its position, and scroll i
|
|
|
56
130
|
they resolve `false` when there are no matches. `clearSearch()` resets `query` to `''`, clearing all
|
|
57
131
|
matches and the cursor.
|
|
58
132
|
|
|
59
|
-
**Events:** `lr-copy` (`detail: LyraClipboardWriteSuccess`, `{ ok: true; text: string }`) — fired by
|
|
133
|
+
**Events:** With `treeSource` unset, `lr-copy` (`detail: LyraClipboardWriteSuccess`, `{ ok: true; text: string }`) — fired by
|
|
60
134
|
the top-level copy button or a per-node one only after the owning browsing context's clipboard write
|
|
61
135
|
fulfills. `lr-error` (no detail) and `lr-copy-error` (`detail: LyraClipboardWriteFailure`) fire when
|
|
62
136
|
serialization or clipboard writing fails; the detailed frozen outcome carries `ok: false`, the
|
|
@@ -71,7 +145,7 @@ fired whenever the search query, match count, or active-match cursor changes, fr
|
|
|
71
145
|
property write. `matchCountExact` is `false` when the bounded traversal only proves a lower bound;
|
|
72
146
|
the rendered count uses an “at least” prefix in the same case.
|
|
73
147
|
|
|
74
|
-
**Slots:** none — the tree is rendered
|
|
148
|
+
**Slots:** none — the tree is rendered from `data` or `treeSource`.
|
|
75
149
|
|
|
76
150
|
**CSS parts:** `base` (root scroll container, respects `max-height`), `toolbar` (wrapper around the
|
|
77
151
|
top-level copy button, only rendered when `copyable`), `tree` (wrapper around the rendered node
|
|
@@ -88,6 +162,12 @@ clipboard") or a per-node one (aria-label `Copy ${key/type}`, e.g. "Copy age");
|
|
|
88
162
|
`copyable`), `limit` (the localized notice rendered below the tree when the depth/node traversal
|
|
89
163
|
budget truncates rendering or search — absent entirely for any document within budget)
|
|
90
164
|
|
|
165
|
+
With `treeSource` set, additional CSS parts are `source-list` (bounded provider virtual viewport), `source-row` (flat
|
|
166
|
+
logical tree item and focus owner), `source-label` (row content), `source-toggle` (expand/collapse
|
|
167
|
+
or retry button), `source-status` (loading, full-source count or empty text), and `source-error`
|
|
168
|
+
(localized projection or row failure).
|
|
169
|
+
`search-status` discloses unavailable or partial global provider search.
|
|
170
|
+
|
|
91
171
|
Collapsed arrays retain their exact safe `.length`. A broad object whose key count itself exceeds
|
|
92
172
|
the traversal budget uses an “at least” preview rather than presenting the retained prefix as a
|
|
93
173
|
false total. Per-row copy actions remain visible by default on coarse-pointer/no-hover devices;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [retrieval](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/retrieval.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 7 parts, 2 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
|
---
|
|
@@ -19,9 +19,65 @@
|
|
|
19
19
|
Tabbed operations shell composing `lr-knowledge-base` and `lr-ingestion-queue`. It forwards source
|
|
20
20
|
and ingestion actions under namespaced events; host-owned controls such as chunking, embedding,
|
|
21
21
|
permissions, and connector settings go in the `settings` slot.
|
|
22
|
+
Only the active child view is mounted. With its corresponding provider unset, if the shell's own
|
|
23
|
+
admission truncates the source or ingestion array, an `input-limit` note for the active tab reports
|
|
24
|
+
the original assigned count; it does not infer that count from the already-truncated child input. Initial and reconnect notes
|
|
25
|
+
are quiet, and later changed omissions are politely announced.
|
|
22
26
|
|
|
23
|
-
**
|
|
24
|
-
|
|
27
|
+
**Provider forwarding:** `dataSource: KnowledgeBaseSource | undefined` and
|
|
28
|
+
`ingestionSource: IngestionQueueSource | undefined` are property-only inputs
|
|
29
|
+
(attribute: false). `dataSource` supplies the Sources tab's `lr-knowledge-base.dataSource`;
|
|
30
|
+
`ingestionSource` supplies the Ingestion tab's `lr-ingestion-queue.dataSource`. Each takes
|
|
31
|
+
precedence over its matching legacy `sources`/`ingestionItems` array. Set that provider to
|
|
32
|
+
`undefined` to restore the current retained legacy collection and its original admission-loss
|
|
33
|
+
notice. Defined invalid providers keep the child's source-authoritative failure behavior when
|
|
34
|
+
activated; the shell does not replace them with the legacy array.
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
import "@aceshooting/lyra-ui/components/lr-knowledge-base-admin.js";
|
|
38
|
+
import type { KnowledgeBaseSource } from
|
|
39
|
+
"@aceshooting/lyra-ui/components/retrieval/knowledge-base/knowledge-base.class.js";
|
|
40
|
+
import type { IngestionQueueSource } from
|
|
41
|
+
"@aceshooting/lyra-ui/components/retrieval/ingestion-queue/ingestion-queue.class.js";
|
|
42
|
+
|
|
43
|
+
declare const inventoryProvider: KnowledgeBaseSource;
|
|
44
|
+
declare const queueProvider: IngestionQueueSource;
|
|
45
|
+
const admin = document.querySelector('lr-knowledge-base-admin')!;
|
|
46
|
+
admin.dataSource = inventoryProvider;
|
|
47
|
+
admin.ingestionSource = queueProvider;
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The shell stores provider references by identity without inspecting their revision, methods,
|
|
51
|
+
rows or totals, querying them or cloning them. An inactive assignment only stores the reference;
|
|
52
|
+
it neither reads that provider nor refreshes the active child. Only the mounted active child
|
|
53
|
+
receives its matching provider and owns validation, requests, bounded page data, loading, errors,
|
|
54
|
+
retry and global totals, as described by [knowledge-base](#lr-knowledge-base) and
|
|
55
|
+
[ingestion-queue](#lr-ingestion-queue). The shell adds no `sourcePage`, `sourcePageSize` or
|
|
56
|
+
`sourceTotal` API and keeps no page cache or inactive child instance.
|
|
57
|
+
|
|
58
|
+
An active provider assignment, including the same reference, synchronously forwards one refresh;
|
|
59
|
+
the following shell render does not repeat that assignment. A keyless `admin.requestUpdate()`
|
|
60
|
+
refreshes only the current child once. Named heading/label/slot paints and re-picking the active
|
|
61
|
+
tab do not refresh providers. To use a repeated `lr-activate` as a refresh intent, explicitly call
|
|
62
|
+
`requestUpdate()` in the host. Locale changes follow the active child's locale-dependent refresh
|
|
63
|
+
contract. Reassign or explicitly refresh after changing provider revision/state.
|
|
64
|
+
|
|
65
|
+
Switching tabs disconnects the old child and cancels its authority; returning mounts a new child
|
|
66
|
+
at its documented default page zero. Page navigation state does not persist across tab switches.
|
|
67
|
+
If a previous same-provider page call ignores abort, the remounted child's replacement page call
|
|
68
|
+
waits for it to settle instead of overlapping it. Providers should settle promptly after
|
|
69
|
+
cancellation. Different provider identities retain independent request capacity.
|
|
70
|
+
|
|
71
|
+
A defined provider suppresses only its active collection's legacy `input-limit` notice. The
|
|
72
|
+
inactive provider/collection is not inspected to compute that notice, and both parent-owned
|
|
73
|
+
legacy collections remain intact. Source/ingestion actions are forwarded only from the current
|
|
74
|
+
active child with their existing names, original IDs and bounded immutable detail. Provider
|
|
75
|
+
replacement, refresh, tab change, disconnect and adoption revoke old action callbacks, including
|
|
76
|
+
retained controls that reuse an ID. Ingestion retry/cancel keep their existing namespaced detail
|
|
77
|
+
and non-cancelable notification semantics; the shell never performs the operation itself.
|
|
78
|
+
|
|
79
|
+
**Properties:** `sources: readonly KnowledgeSource[] = []` (attribute: false); `ingestionItems:
|
|
80
|
+
readonly IngestionQueueItem[] = []` (attribute: false); `activeTab: 'sources' | 'ingestion' = 'sources'`;
|
|
25
81
|
`label?: string` (the visible heading and the tablist's distinct accessible name; omission uses the
|
|
26
82
|
localized admin label, while an explicit empty string empties the heading and the tablist keeps the
|
|
27
83
|
localized name; authored host `aria-label` independently names the admin component and is not
|
|
@@ -51,7 +107,7 @@ that moves an invalid or newly-hidden tab back to Sources is not a user activati
|
|
|
51
107
|
|
|
52
108
|
**Slots:** `settings` — host-owned KB configuration controls.
|
|
53
109
|
|
|
54
|
-
**CSS parts:** `base`, `heading`, `tabs`, `tab`, `panel`, `settings`.
|
|
110
|
+
**CSS parts:** `base`, `heading`, `tabs`, `tab`, `panel`, `settings`, `input-limit`.
|
|
55
111
|
|
|
56
112
|
**Themeable custom properties:** `--lr-knowledge-base-admin-tab-selected-border` (default
|
|
57
113
|
`var(--lr-color-brand)`) and `--lr-knowledge-base-admin-tab-selected-color` (default
|