@aceshooting/lyra-ui 29.0.2 → 29.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/README.md +19 -26
- package/design-tokens.json +1 -1
- package/dist/cli/migrate-wa.mjs +2 -0
- package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +5 -3
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js +4 -3
- package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +1 -1
- package/dist/components/agent-tools/agent-trace/agent-trace.class.d.ts +21 -5
- package/dist/components/agent-tools/agent-trace/agent-trace.class.js +14 -11
- package/dist/components/agent-tools/agent-trace/agent-trace.styles.js +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +34 -7
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +25 -11
- package/dist/components/agent-tools/eval-result/eval-result-source.js +1 -0
- package/dist/components/agent-tools/eval-result/eval-result.class.d.ts +31 -11
- package/dist/components/agent-tools/eval-result/eval-result.class.js +29 -15
- package/dist/components/agent-tools/eval-result/eval-result.styles.js +1 -1
- package/dist/components/agent-tools/eval-result/eval-run-result.d.ts +10 -0
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.d.ts +26 -5
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +16 -6
- package/dist/components/agent-tools/span-waterfall/span-waterfall.d.ts +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.js +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +1 -1
- package/dist/components/agent-tools/task-list/task-list.class.d.ts +29 -6
- package/dist/components/agent-tools/task-list/task-list.class.js +13 -7
- package/dist/components/agent-tools/task-list/task-list.d.ts +1 -1
- package/dist/components/agent-tools/task-list/task-list.js +1 -1
- package/dist/components/agent-tools/task-list/task-list.styles.js +1 -1
- package/dist/components/agent-tools/terminal/terminal.class.d.ts +9 -5
- package/dist/components/agent-tools/terminal/terminal.class.js +8 -8
- package/dist/components/agent-tools/test-results/test-results.class.d.ts +16 -4
- package/dist/components/agent-tools/test-results/test-results.class.js +15 -6
- package/dist/components/agent-tools/test-results/test-results.d.ts +1 -0
- package/dist/components/agent-tools/test-results/test-results.js +1 -1
- package/dist/components/agent-tools/test-results/test-results.styles.js +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts +7 -4
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +2 -1
- package/dist/components/agent-tools/trace-tree/span-projection.js +1 -0
- package/dist/components/agent-tools/trace-tree/span-shared.d.ts +29 -0
- package/dist/components/agent-tools/trace-tree/span-shared.js +1 -0
- package/dist/components/agent-tools/trace-tree/span.d.ts +5 -35
- package/dist/components/agent-tools/trace-tree/span.js +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.class.d.ts +27 -5
- package/dist/components/agent-tools/trace-tree/trace-tree.class.js +19 -9
- package/dist/components/agent-tools/trace-tree/trace-tree.d.ts +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.js +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +1 -1
- package/dist/components/charts/chart/bar-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/box-plot.class.d.ts +2 -2
- package/dist/components/charts/chart/box-plot.class.js +3 -3
- package/dist/components/charts/chart/bubble-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/chart-prepared-data.d.ts +9 -0
- package/dist/components/charts/chart/chart-prepared-data.js +1 -0
- package/dist/components/charts/chart/chart-spatial-data.js +2 -0
- package/dist/components/charts/chart/chart-sync.js +1 -1
- package/dist/components/charts/chart/chart-table-sampling.js +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +56 -6
- package/dist/components/charts/chart/chart.class.js +18 -8
- package/dist/components/charts/chart/chart.styles.js +1 -1
- package/dist/components/charts/chart/doughnut-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/histogram-buckets.d.ts +1 -1
- package/dist/components/charts/chart/histogram-buckets.js +1 -1
- package/dist/components/charts/chart/histogram.class.d.ts +19 -4
- package/dist/components/charts/chart/histogram.class.js +1 -1
- package/dist/components/charts/chart/line-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts +51 -11
- package/dist/components/charts/chart/lite-chart.class.js +33 -27
- package/dist/components/charts/chart/lite-chart.styles.js +1 -1
- package/dist/components/charts/chart/pie-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/polar-area-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/radar-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/scatter-chart.class.d.ts +5 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +6 -3
- package/dist/components/conversation/agent-workspace/agent-workspace.class.js +6 -5
- package/dist/components/conversation/agent-workspace/agent-workspace.styles.js +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +8 -0
- package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-base.class.d.ts +5 -3
- package/dist/components/conversation/code-block/code-block-base.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-core.class.d.ts +4 -1
- package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-shared.d.ts +6 -4
- package/dist/components/conversation/code-block/code-block-shared.js +3 -2
- package/dist/components/conversation/code-block/code-block.class.d.ts +11 -4
- package/dist/components/conversation/code-block/code-block.class.js +1 -1
- package/dist/components/conversation/code-block/code-block.d.ts +1 -1
- package/dist/components/conversation/code-block/code-block.styles.js +1 -1
- package/dist/components/conversation/code-block/shiki-types.d.ts +2 -0
- package/dist/components/conversation/code-block/shiki-types.js +1 -1
- package/dist/components/conversation/markdown/markdown-base.class.d.ts +6 -4
- package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
- package/dist/components/conversation/markdown/markdown-code-header.d.ts +2 -2
- package/dist/components/conversation/markdown/markdown-code-header.js +1 -1
- package/dist/components/conversation/markdown/markdown-core.class.d.ts +8 -3
- package/dist/components/conversation/markdown/markdown-progressive.js +2 -2
- package/dist/components/conversation/markdown/markdown-shared.d.ts +5 -10
- package/dist/components/conversation/markdown/markdown-shared.js +5 -5
- package/dist/components/conversation/markdown/markdown-streaming-tail.js +1 -1
- package/dist/components/conversation/markdown/markdown.class.d.ts +17 -10
- package/dist/components/conversation/markdown/markdown.class.js +1 -1
- package/dist/components/conversation/markdown/markdown.styles.js +1 -1
- package/dist/components/conversation/model-select/model-select.class.d.ts +4 -3
- package/dist/components/conversation/model-select/model-select.class.js +3 -2
- package/dist/components/conversation/model-select/model-select.styles.js +1 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.d.ts +2 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js +2 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.styles.js +1 -1
- package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +3 -2
- package/dist/components/conversation/prompt-input/prompt-input.class.js +2 -1
- package/dist/components/conversation/prompt-input/prompt-input.styles.js +1 -1
- package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts +10 -2
- package/dist/components/conversation/prompt-queue/prompt-queue.class.js +15 -6
- package/dist/components/conversation/prompt-queue/prompt-queue.styles.js +1 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.d.ts +3 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.js +2 -1
- package/dist/components/conversation/realtime-session/realtime-session.styles.js +1 -1
- package/dist/components/conversation/streaming-text/markdown-detection.d.ts +2 -0
- package/dist/components/conversation/streaming-text/markdown-detection.js +4 -1
- package/dist/components/conversation/streaming-text/streaming-text-base.class.d.ts +6 -2
- package/dist/components/conversation/streaming-text/streaming-text-base.class.js +3 -3
- package/dist/components/conversation/streaming-text/streaming-text-core.class.js +1 -1
- package/dist/components/conversation/streaming-text/streaming-text.class.js +1 -0
- package/dist/components/conversation/thread-list/thread-list.class.d.ts +34 -4
- package/dist/components/conversation/thread-list/thread-list.class.js +22 -15
- package/dist/components/conversation/thread-list/thread-list.d.ts +1 -1
- package/dist/components/conversation/thread-list/thread-list.js +1 -1
- package/dist/components/conversation/thread-list/thread-list.styles.js +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +6 -2
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js +3 -2
- package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +3 -2
- package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -2
- package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
- package/dist/components/data/calendar/calendar.class.d.ts +5 -2
- package/dist/components/data/calendar/calendar.class.js +1 -1
- package/dist/components/data/data-grid/data-grid-processing.js +2 -2
- package/dist/components/data/data-grid/data-grid.class.d.ts +22 -8
- package/dist/components/data/data-grid/data-grid.class.js +20 -19
- package/dist/components/data/data-grid/data-grid.styles.js +1 -1
- package/dist/components/data/document-library/document-library.class.d.ts +31 -4
- package/dist/components/data/document-library/document-library.class.js +25 -12
- package/dist/components/data/document-library/document-library.styles.js +1 -1
- package/dist/components/data/file-tree/file-tree.class.d.ts +30 -6
- package/dist/components/data/file-tree/file-tree.class.js +4 -3
- package/dist/components/data/file-tree/file-tree.d.ts +1 -0
- package/dist/components/data/file-tree/file-tree.js +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +31 -6
- package/dist/components/data/flow-canvas/flow-canvas.class.js +40 -19
- package/dist/components/data/flow-canvas/flow-canvas.styles.js +1 -1
- package/dist/components/data/flow-canvas/flow-model.js +1 -1
- package/dist/components/data/flow-canvas/flow-source.js +1 -0
- package/dist/components/data/flow-canvas/flow-types.d.ts +4 -2
- package/dist/components/data/flow-canvas/flow-viewport-index.js +1 -0
- package/dist/components/data/flow-minimap/flow-minimap.class.d.ts +9 -3
- package/dist/components/data/flow-minimap/flow-minimap.class.js +11 -2
- package/dist/components/data/flow-minimap/flow-minimap.styles.js +1 -1
- package/dist/components/data/funnel/funnel.class.d.ts +7 -3
- package/dist/components/data/funnel/funnel.class.js +2 -2
- package/dist/components/data/heatmap/calendar-grid.d.ts +1 -1
- package/dist/components/data/heatmap/calendar-grid.js +1 -1
- package/dist/components/data/heatmap/heatmap-grid-navigation.js +1 -1
- package/dist/components/data/heatmap/heatmap-limits.d.ts +1 -1
- package/dist/components/data/heatmap/heatmap-matrix-source-controller.js +1 -0
- package/dist/components/data/heatmap/heatmap-matrix-source.d.ts +5 -0
- package/dist/components/data/heatmap/heatmap-matrix-source.js +1 -0
- package/dist/components/data/heatmap/heatmap-scale.d.ts +0 -16
- package/dist/components/data/heatmap/heatmap-scale.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +40 -11
- package/dist/components/data/heatmap/heatmap.class.js +26 -6
- package/dist/components/data/heatmap/heatmap.styles.js +1 -1
- package/dist/components/data/pagination/pagination.class.js +1 -1
- package/dist/components/data/sequence-strip/sequence-strip-item.d.ts +17 -0
- package/dist/components/data/sequence-strip/sequence-strip-source-controller.js +1 -0
- package/dist/components/data/sequence-strip/sequence-strip-source.d.ts +5 -0
- package/dist/components/data/sequence-strip/sequence-strip-source.js +1 -0
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +24 -19
- package/dist/components/data/sequence-strip/sequence-strip.class.js +23 -4
- package/dist/components/data/sequence-strip/sequence-strip.styles.js +1 -1
- package/dist/components/data/sparkline/sparkline.class.d.ts +17 -4
- package/dist/components/data/sparkline/sparkline.class.js +3 -3
- package/dist/components/data/sparkline/sparkline.styles.js +1 -1
- package/dist/components/data/table/table.class.d.ts +14 -10
- package/dist/components/data/table/table.class.js +17 -16
- package/dist/components/data/timeline/timeline.class.d.ts +5 -2
- package/dist/components/data/timeline/timeline.class.js +1 -1
- package/dist/components/data/tree/tree-item.class.js +1 -1
- package/dist/components/data/tree/tree-owner-controller.js +1 -1
- package/dist/components/data/tree/tree.class.d.ts +28 -6
- package/dist/components/data/tree/tree.class.js +3 -3
- package/dist/components/data/tree/tree.d.ts +1 -0
- package/dist/components/data/tree/tree.js +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.d.ts +17 -7
- package/dist/components/data/word-cloud/word-cloud.class.js +6 -4
- package/dist/components/data/word-cloud/word-cloud.styles.js +1 -1
- package/dist/components/forms/catalog-picker-base.d.ts +1 -1
- package/dist/components/forms/catalog-picker-base.js +6 -6
- package/dist/components/forms/catalog-picker-base.styles.js +1 -1
- package/dist/components/forms/combobox/combobox.class.d.ts +7 -3
- package/dist/components/forms/combobox/combobox.class.js +1 -1
- package/dist/components/forms/combobox/option.class.d.ts +4 -2
- package/dist/components/forms/combobox/option.class.js +2 -2
- package/dist/components/forms/country-picker/country-picker.class.d.ts +3 -1
- package/dist/components/forms/country-picker/country-picker.class.js +1 -1
- package/dist/components/forms/currency-picker/currency-picker.class.d.ts +2 -0
- package/dist/components/forms/currency-picker/currency-picker.class.js +1 -1
- package/dist/components/forms/currency-picker/currency-presentation.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +6 -2
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +3 -2
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +8 -2
- package/dist/components/forms/locale-picker/locale-picker.class.js +5 -4
- package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
- package/dist/components/forms/select/select.class.d.ts +11 -3
- package/dist/components/forms/select/select.class.js +4 -4
- package/dist/components/forms/time-zone-picker/time-zone-picker.class.d.ts +2 -0
- package/dist/components/forms/time-zone-picker/time-zone-picker.class.js +1 -1
- package/dist/components/forms/token-input/token-input.class.d.ts +6 -1
- package/dist/components/forms/token-input/token-input.class.js +15 -13
- package/dist/components/forms/unit-picker/unit-picker.class.d.ts +2 -0
- package/dist/components/forms/unit-picker/unit-picker.class.js +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +1 -1
- package/dist/components/layout/app-rail/app-rail.class.js +1 -1
- package/dist/components/layout/command-palette/command-palette.class.d.ts +5 -2
- package/dist/components/layout/command-palette/command-palette.class.js +2 -1
- package/dist/components/layout/command-palette/command-palette.styles.js +1 -1
- package/dist/components/layout/menu/menu-item.class.d.ts +2 -2
- package/dist/components/layout/menu/menu-item.class.js +2 -2
- package/dist/components/layout/menu/menu.class.d.ts +1 -1
- package/dist/components/layout/menu/menu.class.js +1 -1
- package/dist/components/layout/menubar/menubar.class.d.ts +1 -1
- package/dist/components/layout/menubar/menubar.class.js +1 -1
- package/dist/components/layout/reorder-list/reorder-item.class.d.ts +2 -2
- package/dist/components/layout/reorder-list/reorder-item.class.js +2 -2
- package/dist/components/layout/reorder-list/reorder-list.class.d.ts +1 -1
- package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts +13 -9
- package/dist/components/layout/virtual-list/virtual-list.class.js +21 -17
- package/dist/components/media/av-player/av-cue-index.js +1 -0
- package/dist/components/media/av-player/av-cue-source.d.ts +13 -0
- package/dist/components/media/av-player/av-cue-source.js +1 -0
- package/dist/components/media/av-player/av-metadata.d.ts +2 -2
- package/dist/components/media/av-player/av-metadata.js +1 -1
- package/dist/components/media/av-player/av-player-cue-source-controller.js +1 -0
- package/dist/components/media/av-player/av-player.class.d.ts +34 -12
- package/dist/components/media/av-player/av-player.class.js +15 -10
- package/dist/components/media/flag/flag.class.js +1 -1
- package/dist/components/media/flag/language-map.js +1 -1
- package/dist/components/media/lightbox/lightbox-source.js +1 -0
- package/dist/components/media/lightbox/lightbox-types.d.ts +15 -0
- package/dist/components/media/lightbox/lightbox.class.d.ts +22 -21
- package/dist/components/media/lightbox/lightbox.class.js +6 -4
- package/dist/components/media/lightbox/lightbox.styles.js +1 -1
- package/dist/components/media/map/map-geojson-diff.d.ts +6 -6
- package/dist/components/media/map/map-geojson-diff.js +1 -1
- package/dist/components/media/map/map-loader.d.ts +5 -1
- package/dist/components/media/map/map.class.d.ts +24 -6
- package/dist/components/media/map/map.class.js +2 -2
- package/dist/components/media/map/map.styles.js +1 -1
- package/dist/components/media/video-playlist/video-playlist.class.d.ts +2 -1
- package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
- package/dist/components/overlays/chip/chip.class.d.ts +1 -1
- package/dist/components/overlays/chip/chip.class.js +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts +30 -8
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +22 -8
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +1 -1
- package/dist/components/retrieval/graph/graph-canvas.js +1 -1
- package/dist/components/retrieval/graph/graph-source-composition.js +1 -0
- package/dist/components/retrieval/graph/graph-source-controller.js +1 -0
- package/dist/components/retrieval/graph/graph-spatial-controller.js +2 -2
- package/dist/components/retrieval/graph/graph-spatial-model.js +1 -0
- package/dist/components/retrieval/graph/graph-spatial.js +1 -1
- package/dist/components/retrieval/graph/graph.class.d.ts +31 -6
- package/dist/components/retrieval/graph/graph.class.js +26 -5
- package/dist/components/retrieval/graph/graph.d.ts +1 -1
- package/dist/components/retrieval/graph/graph.js +1 -1
- package/dist/components/retrieval/graph/graph.styles.js +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +33 -4
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +27 -17
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.d.ts +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.js +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.styles.js +1 -1
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +27 -4
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +29 -14
- package/dist/components/retrieval/knowledge-base/knowledge-base.styles.js +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +17 -3
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +15 -10
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +24 -5
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +17 -10
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.d.ts +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.js +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map-layout.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map-model.js +1 -0
- package/dist/components/retrieval/mind-map/mind-map.class.d.ts +27 -4
- package/dist/components/retrieval/mind-map/mind-map.class.js +11 -7
- package/dist/components/retrieval/mind-map/mind-map.d.ts +1 -0
- package/dist/components/retrieval/mind-map/mind-map.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map.styles.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.d.ts +24 -2
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +17 -3
- package/dist/components/retrieval/neighbor-list/neighbor-list.d.ts +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +1 -1
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +8 -4
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +11 -7
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.styles.js +1 -1
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.d.ts +12 -6
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +30 -17
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results-model.js +1 -0
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +46 -5
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +31 -9
- package/dist/components/retrieval/retrieval-results/retrieval-results.d.ts +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.styles.js +1 -1
- package/dist/components/utility/diff-view/diff-view.class.d.ts +16 -8
- package/dist/components/utility/diff-view/diff-view.class.js +3 -2
- package/dist/components/utility/diff-view/diff-view.styles.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.class.d.ts +31 -3
- package/dist/components/utility/json-viewer/json-viewer.class.js +13 -4
- package/dist/components/utility/json-viewer/json-viewer.d.ts +1 -0
- package/dist/components/utility/json-viewer/json-viewer.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.styles.js +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.d.ts +6 -4
- package/dist/components/utility/mention-popover/mention-popover.class.js +6 -5
- package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +34 -7
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js +9 -7
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +28 -4
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +12 -11
- package/dist/components/viewers/geojson-view/geojson-viewer.class.d.ts +3 -1
- package/dist/components/viewers/geojson-view/geojson-viewer.class.js +17 -16
- package/dist/components/viewers/geojson-view/geojson-viewer.d.ts +1 -1
- package/dist/components/viewers/geojson-view/geojson-viewer.js +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +31 -5
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +11 -8
- package/dist/components/viewers/table-viewer-shared.js +19 -3
- package/dist/components/viewers/viewer-search-limits.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +35 -3
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js +20 -5
- package/dist/components/viewers/xml-viewer/xml-viewer.d.ts +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.styles.js +1 -1
- package/dist/countries.js +1 -1
- package/dist/data-sources.d.ts +34 -0
- package/dist/data-sources.js +1 -0
- package/dist/events.d.ts +51 -7
- package/dist/framework-types.d.ts +1 -1
- package/dist/internal/accessibility-visibility.d.ts +4 -2
- package/dist/internal/accessibility-visibility.js +1 -1
- package/dist/internal/accessible-text-controller.js +1 -1
- package/dist/internal/anchor-target.js +2 -2
- package/dist/internal/catalog-picker.d.ts +1 -7
- package/dist/internal/catalog-picker.js +1 -1
- package/dist/internal/collection-snapshot.js +1 -1
- package/dist/internal/default-strings/agent-tools.generated.js +1 -1
- package/dist/internal/default-strings/charts.generated.js +1 -1
- package/dist/internal/default-strings/conversation.generated.js +1 -1
- package/dist/internal/default-strings/data.generated.js +1 -1
- package/dist/internal/default-strings/forms.generated.js +1 -1
- package/dist/internal/default-strings/layout.generated.js +1 -1
- package/dist/internal/default-strings/media.generated.js +1 -1
- package/dist/internal/default-strings/retrieval.generated.js +1 -1
- package/dist/internal/default-strings/shared.generated.js +1 -1
- package/dist/internal/default-strings/utility.generated.js +1 -1
- package/dist/internal/delimited-data.js +1 -1
- package/dist/internal/fixed-containing-block.js +1 -1
- package/dist/internal/flow-scene-envelope.js +1 -0
- package/dist/internal/graph-scene-controller.js +1 -0
- package/dist/internal/hierarchy-source-controller.js +1 -0
- package/dist/internal/hierarchy-source-view.js +29 -0
- package/dist/internal/hierarchy-source-view.styles.js +1 -0
- package/dist/internal/inherited-attribute-hub.d.ts +6 -0
- package/dist/internal/inherited-attribute-hub.js +1 -1
- package/dist/internal/intl-cache.js +1 -1
- package/dist/internal/keyed-index.js +1 -0
- package/dist/internal/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +2 -2
- package/dist/internal/lyra-element.d.ts +2 -2
- package/dist/internal/lyra-element.js +3 -2
- package/dist/internal/native-modal-context.js +1 -1
- package/dist/internal/option-selection.js +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/positioner.js +1 -1
- package/dist/internal/resource-loader.d.ts +2 -0
- package/dist/internal/resource-loader.js +1 -1
- package/dist/internal/scoped-definitions.generated.js +1 -1
- package/dist/internal/search-haystack.js +1 -0
- package/dist/internal/selection-catalog.d.ts +5 -0
- package/dist/internal/selection-catalog.js +1 -1
- package/dist/internal/shiki-language-sources.js +1 -0
- package/dist/internal/source-page-controller.js +1 -0
- package/dist/internal/source-page-scope.js +1 -0
- package/dist/internal/source-request-controller.js +1 -0
- package/dist/internal/source-window-controller.js +1 -0
- package/dist/internal/spatial-source-controller.js +1 -0
- package/dist/internal/text-quote.d.ts +2 -6
- package/dist/internal/text-quote.js +1 -1
- package/dist/internal/theme-watcher.js +1 -1
- package/dist/internal/virtual-list-composition.js +1 -0
- package/dist/lyra.d.ts +1 -1
- package/dist/lyra.js +1 -1
- package/dist/testing/interaction-drivers.js +1 -1
- package/dist/testing/lyra-tag-event-map.js +1 -1
- package/dist/units.js +1 -1
- package/dist/utilities/data-preparation.d.ts +56 -0
- package/dist/utilities/data-preparation.js +1 -0
- package/dist/utilities/data-spatial.d.ts +26 -0
- package/dist/utilities/data-spatial.js +1 -0
- package/dist/utilities/index.d.ts +1 -1
- package/dist/utilities/index.js +1 -1
- package/llms/components/lr-activity-feed.md +7 -2
- package/llms/components/lr-agent-trace.md +49 -9
- package/llms/components/lr-agent-workspace.md +15 -8
- package/llms/components/lr-av-player.md +180 -10
- package/llms/components/lr-bar-chart.md +1 -1
- package/llms/components/lr-box-plot.md +8 -0
- package/llms/components/lr-bubble-chart.md +1 -1
- package/llms/components/lr-calendar.md +26 -3
- package/llms/components/lr-chart.md +310 -23
- package/llms/components/lr-chat-viewport.md +6 -0
- package/llms/components/lr-code-block-core.md +12 -7
- package/llms/components/lr-code-block.md +23 -9
- package/llms/components/lr-combobox.md +27 -15
- package/llms/components/lr-command-palette.md +16 -3
- package/llms/components/lr-country-picker.md +23 -6
- package/llms/components/lr-csv-viewer.md +95 -12
- package/llms/components/lr-currency-picker.md +23 -3
- package/llms/components/lr-data-grid.md +24 -6
- package/llms/components/lr-dataset-viewer.md +92 -11
- package/llms/components/lr-dialog.md +1 -1
- package/llms/components/lr-diff-view.md +19 -6
- package/llms/components/lr-document-library.md +60 -5
- package/llms/components/lr-doughnut-chart.md +1 -1
- package/llms/components/lr-embedding-explorer.md +89 -9
- package/llms/components/lr-emoji-picker.md +7 -2
- package/llms/components/lr-eval-dataset.md +56 -7
- package/llms/components/lr-eval-result.md +89 -4
- package/llms/components/lr-export-button.md +1 -1
- package/llms/components/lr-file-tree.md +60 -6
- package/llms/components/lr-flag.md +5 -2
- package/llms/components/lr-flow-canvas.md +152 -14
- package/llms/components/lr-flow-minimap.md +32 -4
- package/llms/components/lr-funnel.md +14 -0
- package/llms/components/lr-geojson-viewer.md +27 -10
- package/llms/components/lr-graph.md +43 -7
- package/llms/components/lr-heatmap.md +161 -5
- package/llms/components/lr-histogram.md +55 -9
- package/llms/components/lr-ingestion-queue.md +54 -3
- package/llms/components/lr-json-viewer.md +87 -7
- package/llms/components/lr-knowledge-base-admin.md +60 -4
- package/llms/components/lr-knowledge-base.md +121 -9
- package/llms/components/lr-knowledge-graph-explorer.md +106 -11
- package/llms/components/lr-lightbox.md +42 -6
- package/llms/components/lr-line-chart.md +28 -5
- package/llms/components/lr-lite-chart.md +96 -31
- package/llms/components/lr-locale-picker.md +6 -4
- package/llms/components/lr-map.md +67 -8
- package/llms/components/lr-markdown-core.md +10 -5
- package/llms/components/lr-markdown.md +23 -6
- package/llms/components/lr-mention-popover.md +11 -6
- package/llms/components/lr-mind-map.md +91 -10
- package/llms/components/lr-model-select.md +8 -4
- package/llms/components/lr-model-settings-panel.md +10 -2
- package/llms/components/lr-navigation-menu.md +1 -1
- package/llms/components/lr-neighbor-list.md +69 -2
- package/llms/components/lr-pie-chart.md +1 -1
- package/llms/components/lr-polar-area-chart.md +1 -1
- package/llms/components/lr-prompt-input.md +9 -2
- package/llms/components/lr-prompt-queue.md +11 -3
- package/llms/components/lr-radar-chart.md +1 -1
- package/llms/components/lr-rag-eval-dashboard.md +9 -2
- package/llms/components/lr-realtime-session.md +6 -2
- package/llms/components/lr-reorder-list.md +4 -0
- package/llms/components/lr-retrieval-compare.md +9 -4
- package/llms/components/lr-retrieval-results.md +104 -6
- package/llms/components/lr-scatter-chart.md +1 -1
- package/llms/components/lr-select.md +20 -10
- package/llms/components/lr-sequence-strip.md +92 -2
- package/llms/components/lr-span-waterfall.md +78 -8
- package/llms/components/lr-sparkline.md +42 -11
- package/llms/components/lr-spreadsheet-viewer.md +109 -14
- package/llms/components/lr-streaming-text-core.md +4 -2
- package/llms/components/lr-streaming-text.md +5 -1
- package/llms/components/lr-table.md +96 -115
- package/llms/components/lr-task-list.md +93 -9
- package/llms/components/lr-terminal.md +9 -0
- package/llms/components/lr-test-results.md +77 -3
- package/llms/components/lr-thread-list.md +86 -1
- package/llms/components/lr-time-zone-picker.md +8 -3
- package/llms/components/lr-timeline.md +5 -0
- package/llms/components/lr-token-input.md +7 -2
- package/llms/components/lr-tool-timeline.md +13 -4
- package/llms/components/lr-trace-tree.md +96 -10
- package/llms/components/lr-transcript-feed.md +9 -2
- package/llms/components/lr-tree.md +87 -15
- package/llms/components/lr-unit-picker.md +8 -3
- package/llms/components/lr-video-playlist.md +2 -0
- package/llms/components/lr-virtual-list.md +17 -8
- package/llms/components/lr-voice-picker.md +8 -3
- package/llms/components/lr-word-cloud.md +128 -12
- package/llms/components/lr-xml-viewer.md +106 -9
- package/llms/index.md +1 -1
- package/llms/peers.md +1 -1
- package/llms/shared/events-and-types.md +725 -264
- package/llms/shared/forms-and-accessibility.md +3 -17
- package/llms/shared/imports-and-registration.md +3 -17
- package/llms/shared/localization-and-rtl.md +0 -2
- package/llms/shared/styles-and-tokens.md +27 -36
- package/llms/shared/testing-and-utilities.md +4 -5
- package/llms/shared.md +770 -349
- package/llms.txt +1 -2
- package/locales.json +139 -139
- package/package.json +13 -4
- package/registrations.json +1 -1
- package/skills/compose-lyra-interfaces/SKILL.md +6 -8
- package/skills/lyra-ui/SKILL.md +20 -51
- package/skills/lyra-ui/commands/review.md +16 -33
- package/skills/lyra-ui/commands/update.md +6 -5
- package/skills/lyra-ui/online-api.md +15 -0
- package/skills/lyra-ui/reporting.md +2 -1
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [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** 30 parts, 10 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,9 +22,113 @@ Controlled source list for a retrieval knowledge base: sync status, indexing hea
|
|
|
22
22
|
per-row create/sync/pause/delete requests. Composes `lr-table`, `lr-badge`, `lr-stat`, and a per-row
|
|
23
23
|
`lr-dropdown` containing `lr-menu`. Never syncs or indexes anything itself.
|
|
24
24
|
|
|
25
|
+
**Full-source inventory:** `dataSource: KnowledgeBaseSource | undefined`
|
|
26
|
+
(attribute: false) takes precedence over `sources`. Only `undefined` restores the current legacy
|
|
27
|
+
array; invalid defined providers, including untyped null, fail visibly. The provider stays
|
|
28
|
+
caller-owned by identity, with an immutable revision and records for that revision.
|
|
29
|
+
`sourcePage: number = 0` (`source-page`) is zero-based; `sourcePageSize: number = 100`
|
|
30
|
+
(`source-page-size`) normalizes to 1–500. Readonly `sourceTotal: number | null` is the accepted
|
|
31
|
+
global total, or null outside source mode and while the current provider page is pending or failed.
|
|
32
|
+
Page indices truncate/clamp to a safe nonnegative offset; nonfinite page/size inputs use 0/100.
|
|
33
|
+
Page-size and accepted sort changes reset page zero. An out-of-range page receives at most one
|
|
34
|
+
corrective last-page request; controlled page writes and correction emit no user page event.
|
|
35
|
+
The table's compact server pagination navigates global pages; its internal one-based page-change
|
|
36
|
+
event is consumed to update `sourcePage`.
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
import "@aceshooting/lyra-ui/components/lr-knowledge-base.js";
|
|
40
|
+
import type { KnowledgeBaseSource, KnowledgeBaseSourceQuery, KnowledgeBaseSourceSummary,
|
|
41
|
+
KnowledgeSource } from
|
|
42
|
+
"@aceshooting/lyra-ui/components/retrieval/knowledge-base/knowledge-base.class.js";
|
|
43
|
+
import type { LyraPageSource, LyraPageResult, LyraSourceRecord } from
|
|
44
|
+
"@aceshooting/lyra-ui/data-sources.js";
|
|
45
|
+
|
|
46
|
+
declare const provider: KnowledgeBaseSource;
|
|
47
|
+
const inventory = document.querySelector('lr-knowledge-base')!;
|
|
48
|
+
inventory.dataSource = provider;
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Exported source declarations:**
|
|
52
|
+
|
|
53
|
+
`KnowledgeBaseSource = LyraPageSource<KnowledgeSource, KnowledgeBaseSourceQuery, KnowledgeBaseSourceSummary>`.
|
|
54
|
+
|
|
55
|
+
`KnowledgeBaseSourceQuery {
|
|
56
|
+
readonly sortKey: string | null;
|
|
57
|
+
readonly sortDir: 'asc' | 'desc';
|
|
58
|
+
}`
|
|
59
|
+
|
|
60
|
+
`KnowledgeBaseSourceSummary {
|
|
61
|
+
readonly total: number;
|
|
62
|
+
readonly synced: number;
|
|
63
|
+
readonly syncing: number;
|
|
64
|
+
readonly attention: number;
|
|
65
|
+
}`
|
|
66
|
+
|
|
67
|
+
`query({ revision, locale, signal, page, pageSize, query })` returns a promise for
|
|
68
|
+
`{ rows, total, summary }`; each row is `{ key, order, value: KnowledgeSource }`.
|
|
69
|
+
The revision is a nonempty string or finite number. Counts/orders are safe nonnegative integers,
|
|
70
|
+
`key === value.id` is nonblank, and keys/orders are unique within a page. Rows must exactly fill
|
|
71
|
+
the requested in-bounds page, including its short final page; rejected or duplicate records fail
|
|
72
|
+
the response rather than being omitted. `order` is stable canonical source order, independent
|
|
73
|
+
of query sorting. The shared page-source contract also requires `lookup(keys, context)` and
|
|
74
|
+
`locate(key, query, context)`; this component uses only `query` and exposes no selection/lookup UI.
|
|
75
|
+
Query ordering describes the complete inventory; the component does not sort or filter an
|
|
76
|
+
accepted page locally.
|
|
77
|
+
|
|
78
|
+
The required summary describes the complete inventory on every page, even with `withoutSummary`.
|
|
79
|
+
`summary.total` must equal the response `total`; every count is at most total, and
|
|
80
|
+
`synced + syncing <= total`. Attention counts each source with sync status `'error'` or indexing
|
|
81
|
+
health `'degraded'`/`'failed'`, and may overlap synced or syncing. For example, total 10, synced 8,
|
|
82
|
+
syncing 2 and attention 4 is valid. Loaded-page category counts cannot exceed the corresponding
|
|
83
|
+
global counts. Empty total requires all counts zero. Missing, malformed or inconsistent summaries
|
|
84
|
+
fail visibly; page rows never supply a substitute global summary. These checks detect local
|
|
85
|
+
contradictions but cannot verify unseen provider records.
|
|
86
|
+
|
|
87
|
+
Only the current page, at most 500 projected rows, is retained; historic pages and the complete
|
|
88
|
+
inventory are not cached. There is one physical page request plus the latest queued intent;
|
|
89
|
+
an aborted provider call keeps its permit until it settles, including when it ignores abort.
|
|
90
|
+
Providers should settle promptly after cancellation. The fixed display fields are `id`, `name`,
|
|
91
|
+
`type`, `syncStatus`, `indexingHealth`, `permission`, `documentCount`, `lastSyncedAt` and
|
|
92
|
+
`errorMessage`, read as own data properties without enumerating extra fields. Accessor-backed,
|
|
93
|
+
oversized or invalid required fields fail the page. Their text shares a 65,536 UTF-16-unit budget
|
|
94
|
+
per row; individual page metadata strings are at most 65,536 units and share a 2,000,000-unit
|
|
95
|
+
page metadata budget. Source enums must match the declared unions and optional `documentCount`
|
|
96
|
+
must be a safe nonnegative integer. Blank string names retain the untitled-source presentation;
|
|
97
|
+
invalid string dates retain “never synced”, while valid Date values are copied into owned dates.
|
|
98
|
+
|
|
99
|
+
The source-only sortable headers are `name`, `sync`, `health` and `permission`; `actions` stays
|
|
100
|
+
unsortable. Query sort state starts at `{ sortKey: null, sortDir: 'asc' }`. The table's original
|
|
101
|
+
cancelable `lr-sort-request { phase: 'request', sortKey, sortDir }` and accepted
|
|
102
|
+
`lr-sort { phase: 'commit', sortKey, sortDir }` bubble once with their frozen readonly detail.
|
|
103
|
+
A veto prevents a query change. Only a current accepted commit updates the global server order
|
|
104
|
+
and resets page zero; synchronous source/page replacement prevents an obsolete commit from
|
|
105
|
+
changing the replacement view. These headers remain unsortable in the legacy route.
|
|
106
|
+
|
|
107
|
+
Pending and failed pages clear accepted rows/counts and show localized `source-status`, including
|
|
108
|
+
with `withoutSummary`; they do not paint invented zeros, stale stats or successful-empty copy.
|
|
109
|
+
A successful empty result keeps the toolbar and existing empty state. Current page failures use
|
|
110
|
+
the nested table's error/retry surface; `error`, `errorHeading`, `errorDescription` and the `error`
|
|
111
|
+
slot keep their existing precedence. The canonical cancelable `lr-retry-request` is proposed once;
|
|
112
|
+
a veto prevents both refresh and error clearing. An accepted current provider-failure retry clears
|
|
113
|
+
the host error and retries that page; an external-error-only retry just clears the host error.
|
|
114
|
+
Retained old retry controls cannot refresh a replacement source. Initial failure is quiet;
|
|
115
|
+
later page failures have one localized light-DOM announcement owned by the table.
|
|
116
|
+
|
|
117
|
+
Open row menus belong to the particular admitted row and current page. Page/sort/revision/source
|
|
118
|
+
replacement, refresh, disconnect and adoption close/release them; retained callbacks cannot act
|
|
119
|
+
on a replacement record that happens to reuse the same ID. Existing sync/pause/delete requests
|
|
120
|
+
retain original source IDs and remain host-owned actions. Create remains independent of a loaded
|
|
121
|
+
row and available unless `withoutCreate` is set. Reassign even the same provider,
|
|
122
|
+
or call a keyless `requestUpdate()`, after revision/state changes. Ordinary named presentation
|
|
123
|
+
updates reuse admitted data unless revision or effective locale has changed. Reconnect requests
|
|
124
|
+
the current source anew; obsolete replies and controls cannot publish rows or actions.
|
|
125
|
+
|
|
126
|
+
The following array normalization and unknown-enum fallback rules apply with `dataSource` unset;
|
|
127
|
+
row presentation, action enablement and host error contracts apply to both routes.
|
|
128
|
+
|
|
25
129
|
**Properties:**
|
|
26
130
|
|
|
27
|
-
- `sources: KnowledgeSource[] = []` (attribute: false) — `KnowledgeSource { id: string; name: string;
|
|
131
|
+
- `sources: readonly KnowledgeSource[] = []` (attribute: false) — `KnowledgeSource { id: string; name: string;
|
|
28
132
|
type?: string; syncStatus: KnowledgeSourceSyncStatus; indexingHealth?: KnowledgeSourceIndexingHealth;
|
|
29
133
|
permission?: KnowledgeSourcePermission; documentCount?: number; lastSyncedAt?: Date | string;
|
|
30
134
|
errorMessage?: string }` (all four types exported here), where
|
|
@@ -33,7 +137,8 @@ errorMessage?: string }` (all four types exported here), where
|
|
|
33
137
|
as `'unknown'`), and `KnowledgeSourcePermission = 'owner' | 'editor' | 'viewer' | 'restricted'`.
|
|
34
138
|
`type` is a free-form connector kind (`'drive'`, `'notion'`, `'upload'`, `'url'`, …) rendered
|
|
35
139
|
as-is. `lastSyncedAt` follows this library's `Date | string` timestamp convention (a `Date` or an
|
|
36
|
-
ISO-8601 string); absent/unparseable renders "never synced".
|
|
140
|
+
ISO-8601 string); absent/unparseable renders "never synced". With `dataSource` unset, a
|
|
141
|
+
`syncStatus`, `indexingHealth` or
|
|
37
142
|
`permission` outside these unions renders a neutral localized "Unknown" badge, offers no "Sync now",
|
|
38
143
|
and is left out of the synced/syncing/needs-attention counts. `errorMessage` shows only while
|
|
39
144
|
`syncStatus === 'error'`. `id`/`name` follow `DocumentRef`'s spirit, but a source is a _connector
|
|
@@ -55,8 +160,8 @@ errorMessage?: string }` (all four types exported here), where
|
|
|
55
160
|
- `errorDescription: string = ''` (attribute `error-description`) — failed-load supporting copy,
|
|
56
161
|
forwarded to the nested table
|
|
57
162
|
|
|
58
|
-
|
|
59
|
-
before summary totals, empty state, table rows, or source actions. A retained source whose `name` is
|
|
163
|
+
With `dataSource` unset, source ids must be nonblank and unique. Malformed rows and later duplicates
|
|
164
|
+
are omitted first-wins before summary totals, empty state, table rows, or source actions. A retained source whose `name` is
|
|
60
165
|
missing, blank, or nonstring uses the localized “untitled source” label in both the row and its action
|
|
61
166
|
names. Row action triggers stay mounted; their three menu items mount only while the dropdown is
|
|
62
167
|
open and clear after it closes.
|
|
@@ -70,15 +175,22 @@ re-emitted them under the `lr-source-*` names, so a host listening on the admin
|
|
|
70
175
|
change; a host listening directly on `<lr-knowledge-base>` renames its four listeners.
|
|
71
176
|
`lr-retry-request` (`detail: null`, cancelable) proposes a retry when the nested table's built-in
|
|
72
177
|
retry button is activated. Preventing it keeps both the parent and table in the error state.
|
|
73
|
-
Without a veto, the default action clears `error
|
|
74
|
-
and re-proposes its own canonical request,
|
|
178
|
+
Without a veto, the default action clears `error` and, for a current provider failure, retries its
|
|
179
|
+
page. This component contains the nested table request and re-proposes its own canonical request,
|
|
180
|
+
so hosts receive the parent event once.
|
|
181
|
+
In source mode, `lr-sort-request` is the original cancelable table proposal with frozen
|
|
182
|
+
`TableSortRequestDetail { phase: 'request', sortKey, sortDir }`; `sortDir` is `'asc' | 'desc'`.
|
|
183
|
+
`lr-sort` is the accepted, noncancelable table commit with frozen
|
|
184
|
+
`TableSortCommitDetail { phase: 'commit', sortKey, sortDir }`. Preventing the request suppresses
|
|
185
|
+
the commit and leaves the current source sort unchanged.
|
|
75
186
|
|
|
76
187
|
**Slots:** `error` — replaces the nested table's built-in failed-load state, including its retry
|
|
77
|
-
button, while
|
|
188
|
+
button, while the host error or a current provider failure is shown.
|
|
78
189
|
|
|
79
190
|
**CSS parts:** `base`, `toolbar` (heading + "Add source" row), `heading` (the heading text),
|
|
80
191
|
`create-button` (omitted while `without-create` is set), `summary` (omitted while `without-summary`
|
|
81
|
-
is set or
|
|
192
|
+
is set or the accepted current collection is empty; provider pending/failure uses `source-status`),
|
|
193
|
+
`summary-stat`, `source-status` (localized provider loading/failed-summary status), `table`, `name-cell`, `source-name`, `source-type` (omitted when `type` is
|
|
82
194
|
unset), `sync-cell`, `sync-badge`, `sync-timestamp`, `sync-error`, `health-cell`, `health-badge`,
|
|
83
195
|
`document-count` (omitted when unset), `permission-badge` (omitted when `permission` is unset),
|
|
84
196
|
`actions-menu`, `actions-trigger` (the kebab `<button>`), `error-row`, `error-cell`, `error` (the
|
|
@@ -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** `d3-drag`, `d3-force`, `d3-selection`, `d3-zoom` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 19 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
|
---
|
|
@@ -28,6 +28,10 @@ focus and details flow as other entity activations, emitting one `lr-selection-c
|
|
|
28
28
|
`lr-relation-activate` continues to pass through unchanged. The canonical search event fields remain
|
|
29
29
|
`query`, `matchCount`, `matchCountExact`, and `activeIndex: -1`.
|
|
30
30
|
|
|
31
|
+
With `graphSource` unset, the `input-limit` part preserves the outer `nodes` and `edges` admission counts before the
|
|
32
|
+
bounded model is passed to the graph. Counts describe retained/source root entries, independently
|
|
33
|
+
of filtering, search limits and child rendering.
|
|
34
|
+
|
|
31
35
|
`view: LyraGraphView = '2d'` and `camera?: LyraGraphCamera` forward the graph's spatial/list
|
|
32
36
|
options. `nodes[].position` supplies real x/y/z coordinates. The default remains the existing 2D
|
|
33
37
|
view; spatial/list views need no d3 peer. Search, filtering, selection, pinning and neighborhood
|
|
@@ -37,6 +41,86 @@ popovers use `getNodeScreenPosition()` so their viewport anchor follows the proj
|
|
|
37
41
|
orbit, pan, dolly or focus. Spatial node activation includes optional world `z`; it never substitutes
|
|
38
42
|
screen pixels for the existing event's coordinate domain.
|
|
39
43
|
|
|
44
|
+
**Complete graph provider:** `graphSource: KnowledgeGraphExplorerSource | undefined`
|
|
45
|
+
(attribute: false) takes precedence over legacy `nodes`/`edges`; invalid defined providers fail
|
|
46
|
+
visibly. Setting `undefined` restores the current legacy model and local search/details behavior.
|
|
47
|
+
`KnowledgeGraphExplorerSource` is exactly the public `GraphSource` alias, forwarded unchanged to
|
|
48
|
+
the existing single `lr-graph` child.
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
import type { KnowledgeGraphExplorerSource } from
|
|
52
|
+
"@aceshooting/lyra-ui/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js";
|
|
53
|
+
import type { GraphSource } from
|
|
54
|
+
"@aceshooting/lyra-ui/components/retrieval/graph/graph.class.js";
|
|
55
|
+
import type { LyraGraphSourceQuery, LyraGraphSourceSummary } from
|
|
56
|
+
"@aceshooting/lyra-ui/data-sources.js";
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The child owns global record pages, accepted bounded diagram scenes, camera/focus and bounded
|
|
60
|
+
exact selection lookup; the explorer adds no second source controller or loaded graph cache.
|
|
61
|
+
The source has immutable `revision`, same-revision `records` with `query`/`lookup`/`locate`, required
|
|
62
|
+
`scene(request)` and optional `overview(request)`. Record/scene summaries report complete
|
|
63
|
+
`{ nodes, edges }` counts. Global record keys are `'node:' + node.id` and `'edge:' + edge.id`, with
|
|
64
|
+
explicit stable edge IDs; user event payloads keep original entity/edge IDs. Full-source record
|
|
65
|
+
navigation is separate from the bounded accepted canvas scene: a source does not imply every
|
|
66
|
+
record is drawn simultaneously or that a global minimap is available. Source editing remains
|
|
67
|
+
read-only; existing editing/drag mutation controls do not become provider write operations.
|
|
68
|
+
|
|
69
|
+
`sourcePage: number = 0` (`source-page`) is the child's zero-based global record page;
|
|
70
|
+
`sourcePageSize: number = 100` (`source-page-size`) normalizes to 1–500, and size changes reset page
|
|
71
|
+
zero. Readonly `sourceTotal: number | null` is the exact active filtered node/edge record total,
|
|
72
|
+
distinct from the complete graph summary. It is null without an accepted current total, without a
|
|
73
|
+
source, or for an invalid type catalog. The child retains at most 500 page records, diagram scenes
|
|
74
|
+
of at most 500 nodes/1,000 edges, and at most 32 active/focused lookup reservations. Lookup for
|
|
75
|
+
explorer selection shares that child lane rather than enumerating the graph. Source pagination,
|
|
76
|
+
node/edge kind and incident/global navigation remain available in the child.
|
|
77
|
+
|
|
78
|
+
The explorer toolbar is the sole search input in source mode; its legacy local match list is
|
|
79
|
+
absent. `query` supplies global provider search, with at most 65,536 UTF-16 units forwarded.
|
|
80
|
+
Toolbar query/type changes reset the child to global node scope rather than leaving an unrelated
|
|
81
|
+
edge/incident filter active. `lr-search-change` waits for the latest user query's accepted exact
|
|
82
|
+
source total, not a page-local count. It retains `{ query, matchCount, matchCountExact: true,
|
|
83
|
+
activeIndex: -1 }`; empty query reports zero. Direct controlled query assignments remain silent.
|
|
84
|
+
|
|
85
|
+
When `hiddenTypes` is nonempty, configured `nodeTypes` must describe the provider's complete type
|
|
86
|
+
catalog, with at most 500 canonical nonblank IDs, each at most 65,536 UTF-16 units and together at
|
|
87
|
+
most 2,000,000. The source query receives the positive complement of those IDs. With no hidden
|
|
88
|
+
types, no positive filter applies and unknown provider types remain navigable. A partial catalog
|
|
89
|
+
cannot represent a correct hidden-type complement. Hiding every configured type intentionally
|
|
90
|
+
suppresses/revokes record, scene and neighbor requests and reports zero scoped matches; it never
|
|
91
|
+
sends an empty positive array as a false claim that the entire graph is empty. The complete source
|
|
92
|
+
summary stays distinct. `source-status` explains all-hidden/invalid catalog state and `source-clear`
|
|
93
|
+
clears hidden types to restore the unfiltered scope. Existing `lr-hidden-types-change` reports
|
|
94
|
+
user commits; controlled assignments remain silent.
|
|
95
|
+
|
|
96
|
+
Controlled `selectedNodeId` resolves an off-scene original ID through exact lookup without moving
|
|
97
|
+
the record page, opening details or emitting selection. Only a current authoritative global
|
|
98
|
+
absence proof clears it silently. User entity activation resolves the exact original ID, updates
|
|
99
|
+
selection and emits the existing `lr-selection-change` once, then requires an accepted scene and
|
|
100
|
+
real mounted list-row or projected camera anchor before opening the details popover. Reentrant
|
|
101
|
+
selection listeners can revoke that continuation. The details `lr-neighbor-list` binds its source
|
|
102
|
+
only after actual opening and is synchronously unbound on close/source change; hidden closed
|
|
103
|
+
details do not fetch neighbors. Unknown degree is omitted unless `entityDetails` supplies it,
|
|
104
|
+
rather than inferred from the partial scene. Pins and `path` remain bounded host configuration;
|
|
105
|
+
the explorer does not look up every configured ID or compute a full graph traversal.
|
|
106
|
+
|
|
107
|
+
`revealSourceKey(key: string): Promise<boolean>` clears toolbar query/hidden types and delegates
|
|
108
|
+
global node/edge reveal to the sole child, without selection or detail activation. Keys retain the
|
|
109
|
+
canonical node/edge prefixes above. Missing, invalid, failed, obsolete, disconnected or unset-source
|
|
110
|
+
requests resolve `false`. Off-page list entity activation likewise clears toolbar scope before
|
|
111
|
+
its global focus/details flow. `fit`, `resetView` and `focusNode` retain the child's bounded current
|
|
112
|
+
scene semantics; they do not promise a full-source canvas fit.
|
|
113
|
+
|
|
114
|
+
Reassign even the same source, or call a keyless `requestUpdate()`, after revision/state changes.
|
|
115
|
+
Named presentation changes reuse accepted data. Source replacement/removal and lifecycle
|
|
116
|
+
transitions revoke obsolete controls, focus/selection continuations and popover/neighbor bindings.
|
|
117
|
+
Changed scope invalidates obsolete child requests and controls. The child's fixed page/scene/lookup scheduling keeps ignored-abort
|
|
118
|
+
physical calls occupied until settlement and coalesces newer intent. Existing original-ID
|
|
119
|
+
activation/expansion/path/pin/camera/view events keep their payloads and ownership; there is no
|
|
120
|
+
new source selection or editing event. `detail-neighbors` identifies the open-details neighborhood;
|
|
121
|
+
existing graph/legend/details parts remain applicable. The following local-array lookup/search
|
|
122
|
+
rules describe the legacy route unless a source qualification is stated.
|
|
123
|
+
|
|
40
124
|
**Properties:** (host-supplied data, identity-normalized before rendering)
|
|
41
125
|
|
|
42
126
|
- `nodes: LyraGraphNode[] = []`, `edges: LyraGraphEdge[] = []`, `nodeTypes: LyraNodeTypeStyle[] = []`,
|
|
@@ -56,10 +140,13 @@ screen pixels for the existing event's coordinate domain.
|
|
|
56
140
|
`{ description?: string; properties?: Record<string, string | number>; degree?: number }`, keyed by
|
|
57
141
|
node id. Merged onto the matching `LyraGraphNode` to build the entity shown in the details popover and
|
|
58
142
|
neighbor rows. A node with no entry still renders: `degree` falls back to a live count derived from
|
|
59
|
-
`edges
|
|
143
|
+
`edges` in the legacy route; source mode leaves unknown degree omitted.
|
|
144
|
+
`description`/`properties` are omitted
|
|
60
145
|
- `path: LyraPathElement[] = []` (attribute: false) — host-supplied path-finding _result_, rendered
|
|
61
146
|
via `lr-path-strip` (`{ kind: 'node'; node: LyraEntity } | { kind: 'edge'; relation: string;
|
|
62
|
-
directed?: boolean; reverse?: boolean }`). Empty renders no strip
|
|
147
|
+
directed?: boolean; reverse?: boolean }`). Empty renders no strip. The child registers on the
|
|
148
|
+
first nonempty path; await `updateComplete` before accessing it. The `path` part shows localized
|
|
149
|
+
loading or error status while unavailable. Clearing and replacing the path retries a failed load.
|
|
63
150
|
|
|
64
151
|
(self-managed but presettable/observable — this component toggles its own copy on interaction, the
|
|
65
152
|
same self-toggle-then-emit contract `lr-graph-legend` uses, so every feature works with zero host wiring)
|
|
@@ -67,8 +154,10 @@ same self-toggle-then-emit contract `lr-graph-legend` uses, so every feature wor
|
|
|
67
154
|
- `hiddenTypes: string[] = []` (attribute: false) — forwarded to both `lr-graph.hiddenTypes` and
|
|
68
155
|
`lr-graph-legend.hiddenTypes`; hidden nodes are also excluded from explorer search results,
|
|
69
156
|
neighbor rows, and activation
|
|
70
|
-
- `selectedNodeId: string | null = null` (attribute `selected-node-id`) — drives
|
|
71
|
-
|
|
157
|
+
- `selectedNodeId: string | null = null` (attribute `selected-node-id`) — drives
|
|
158
|
+
`lr-graph.selectedNodeIds`; legacy selection drives the details popover, while controlled source
|
|
159
|
+
selection resolves silently and user activation opens it. `null` shows no selection and keeps
|
|
160
|
+
the popover closed
|
|
72
161
|
- `pinnedNodeIds: string[] = []` (attribute: false) — exactly two pinned nodes reveals the "Find
|
|
73
162
|
path" action
|
|
74
163
|
- `query: string = ''` — the filter applied to the visible node
|
|
@@ -107,7 +196,7 @@ same self-toggle-then-emit contract `lr-graph-legend` uses, so every feature wor
|
|
|
107
196
|
`graphExplorerLabel`. A non-empty host `aria-label` makes the host the sole overall owner; an
|
|
108
197
|
explicitly empty host label stays empty on the group
|
|
109
198
|
|
|
110
|
-
**Methods:** `fit(options?: { padding?: number })` frames every visible node in the composed
|
|
199
|
+
**Methods:** `fit(options?: { padding?: number })` frames every currently visible node in the composed
|
|
111
200
|
graph (forwards to `lr-graph.fit()`); `resetView()` is `fit()` with the default padding, for a
|
|
112
201
|
reset-view action; `focusNode(id, options?: { zoom? }): Promise<boolean>` centers a visible node
|
|
113
202
|
without selecting it or opening the details popover (resolves `false` for an unknown or
|
|
@@ -136,8 +225,9 @@ filtered-out id). None change `selectedNodeId` or filters.
|
|
|
136
225
|
- `lr-search-change` (`detail: { query: string; matchCount: number; matchCountExact: boolean }`) —
|
|
137
226
|
the user typed in the toolbar's search box. `query` is the canonical `LyraSearchChangeDetail`
|
|
138
227
|
field name. `matchCount` is the same live node-filter total the result list and its live-region
|
|
139
|
-
announcement
|
|
140
|
-
|
|
228
|
+
announcement compute in the legacy route (`0` while the query is empty). In source mode the
|
|
229
|
+
event waits for the accepted global query total described above. `matchCountExact` is `true`
|
|
230
|
+
for emitted accepted results.
|
|
141
231
|
`activeIndex` is `-1`: this is a live node filter with no search cursor. The component
|
|
142
232
|
has already applied the query to its own `query` property before emitting, so reassigning
|
|
143
233
|
it back is optional and a direct host assignment stays silent.
|
|
@@ -149,7 +239,7 @@ filtered-out id). None change `selectedNodeId` or filters.
|
|
|
149
239
|
**Slots:** `details` — overrides the details popover's default content (an `lr-entity-card` with a
|
|
150
240
|
nested `lr-neighbor-list` and a pin toggle) entirely, including the two additive slots below.
|
|
151
241
|
Receives no data; an overriding consumer reads the selected entity from `selectedNodeId`/`nodes`
|
|
152
|
-
|
|
242
|
+
in the legacy route, or resolves the controlled original ID from its own provider in source mode. `detail-body` — additive content appended inside the default `lr-entity-card`'s body,
|
|
153
243
|
alongside its `lr-neighbor-list`; no effect while `details` is overridden. `detail-actions` —
|
|
154
244
|
additive content appended into the default `lr-entity-card`'s `actions` slot, beside its built-in
|
|
155
245
|
pin toggle; no effect while `details` is overridden.
|
|
@@ -159,9 +249,13 @@ pin toggle; no effect while `details` is overridden.
|
|
|
159
249
|
composed `lr-graph-legend`), `search-results` (only while `query` is non-empty; at most 50 rows,
|
|
160
250
|
one tab stop moved with ArrowUp/ArrowDown/Home/End, while the announced count covers every match),
|
|
161
251
|
`search-result` (`role="listitem"` wrapping a `<button>`), `search-empty`, `search-limit` (a localized
|
|
162
|
-
shown/total notice when more than 50 nodes match), `
|
|
252
|
+
shown/total notice when more than 50 nodes match), `input-limit` (outer node/edge admission notice),
|
|
253
|
+
`details-limit` (a localized shown/total notice when `entityDetails` is too large to keep), `pinned` (only while
|
|
163
254
|
`pinnedNodeIds` is non-empty), `pinned-heading`, `graph` (the composed `lr-graph`), `path` (only
|
|
164
255
|
while `path` is non-empty), `detail-popover`, `detail-card`.
|
|
256
|
+
Source-mode parts: `source-status` (filter error or all-types-hidden feedback) and `source-clear`
|
|
257
|
+
(the action that clears hidden types). `detail-neighbors` is the details neighborhood;
|
|
258
|
+
its provider binding is active only while source-mode details are open.
|
|
165
259
|
|
|
166
260
|
**Themeable custom properties:** `--lr-canvas-reserved-height` (default
|
|
167
261
|
`var(--lr-size-24rem)`) sets the explorer's host block size and matches its pre-upgrade
|
|
@@ -197,6 +291,7 @@ the composed graph too. Retheme the composed graph through `lr-graph`'s own cust
|
|
|
197
291
|
- Selecting a node any _other_ way (search result, neighbor row, path element, keyboard Enter/Space
|
|
198
292
|
on a graph node — which dispatches no native `click`) has no rect to read, so it calls
|
|
199
293
|
`lr-graph.focusNode(id)` and anchors at the graph element's own bounding-box center instead; no
|
|
200
|
-
continuous tracking applies on that path.
|
|
294
|
+
continuous tracking applies on that legacy path. Source activation instead waits for the
|
|
295
|
+
authoritative scene and real row/projected anchor described above.
|
|
201
296
|
|
|
202
297
|
---
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [media](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/media.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 20 parts, 3 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
|
---
|
|
@@ -34,8 +34,15 @@ A lightbox opened outside an existing native `dialog.showModal()` stays interact
|
|
|
34
34
|
Assignment clones/freezes the records and inspects at most 10,000 candidates; malformed records
|
|
35
35
|
are omitted and updates require a new collection assignment. `src` is passed to the embedded
|
|
36
36
|
frame, which runs it through `safeMediaSrc()`. `alt`/`caption` are caller data, never localized.
|
|
37
|
+
- `imageSource: LyraLightboxSource | undefined` (attribute: false) — identity-owned
|
|
38
|
+
access to the complete ordered collection, taking precedence over `images` while defined.
|
|
39
|
+
Invalid defined sources show a localized error and retry action; they never fall back to the
|
|
40
|
+
legacy array. Setting `undefined` restores the current `images` input. Reassign the source,
|
|
41
|
+
including the same object, or call a keyless `requestUpdate()` after changing its revision or
|
|
42
|
+
mutable provider state. Unrelated named display updates do not refresh the source.
|
|
37
43
|
- `index: number = 0` (reflected) — clamped defensively for rendering and re-synced (emitting
|
|
38
|
-
`lr-index-change`) when
|
|
44
|
+
`lr-index-change`) when the active collection shrinks. In source mode, it retains the requested
|
|
45
|
+
logical index while its descriptor and image load.
|
|
39
46
|
- `loop: boolean = false` (reflected) — wraps prev/next past the ends.
|
|
40
47
|
- `lightDismiss: boolean = false` (attribute `light-dismiss`) — opt in to backdrop dismissal. Off by default, matching `lr-dialog`.
|
|
41
48
|
- `withoutCounter: boolean = false` (attribute `without-counter`, **not reflected**) — hides the
|
|
@@ -63,9 +70,36 @@ A lightbox opened outside an existing native `dialog.showModal()` stays interact
|
|
|
63
70
|
without changing state. `goTo()` ignores a non-finite
|
|
64
71
|
index without changing state or emitting `lr-index-change`. A finite fractional index is truncated
|
|
65
72
|
toward zero before clamping or loop wrapping, so `lr-index-change.detail.index` is always the
|
|
66
|
-
|
|
73
|
+
accepted logical integer index, including while a source image is loading; `reason` defaults to
|
|
74
|
+
`'api'` and is forwarded as the close event's
|
|
67
75
|
detail.
|
|
68
76
|
|
|
77
|
+
**Full image collections:** `LyraLightboxSource` has `revision` and
|
|
78
|
+
`images: LyraIndexedView<LyraSourceRecord<LyraLightboxImage>>`, using the types from
|
|
79
|
+
`@aceshooting/lyra-ui/data-sources.js`. The host supplies a nonnegative safe-integer `images.count`
|
|
80
|
+
and either synchronous indexed access or asynchronous bounded range reads. Each record supplies
|
|
81
|
+
a stable global `key`, canonical nonnegative safe-integer `order`, and image `value`. Keep the view
|
|
82
|
+
stable within a revision; publish a new revision and refresh when its contents change. Navigation,
|
|
83
|
+
clamping, looping and the localized counter use the full logical count, so first, middle and final
|
|
84
|
+
images remain reachable in a million-image host collection without copying it into `images`.
|
|
85
|
+
Current navigation emits `lr-index-change` for the logical destination before its image finishes
|
|
86
|
+
loading; direct consumer `index` writes stay event-silent. Source mode adds no new event.
|
|
87
|
+
|
|
88
|
+
Only the current image loads, after resolving its descriptor. The component retains at most three
|
|
89
|
+
descriptors in one-record pages, with one range read physically pending and no neighbour prefetch.
|
|
90
|
+
Supplied record and image fields must be own data properties; accessors are rejected without
|
|
91
|
+
invocation. Each key, `src`, `alt` and `caption` admits at most 65,536 UTF-16 units; oversized or
|
|
92
|
+
malformed values fail visibly instead of being clipped. URLs pass `safeMediaSrc()` before loading.
|
|
93
|
+
The host owns provider storage and response allocations; actual image decode/pixel memory belongs
|
|
94
|
+
to the browser and is not bounded by the descriptor cache.
|
|
95
|
+
|
|
96
|
+
Source loading clears the old image/caption, marks the stage busy and leaves logical navigation
|
|
97
|
+
available. Descriptor or image-load failure shows localized retry chrome; a valid empty collection
|
|
98
|
+
is a separate state. Replacing a source, navigating, refreshing, disconnecting or changing owner
|
|
99
|
+
document revokes obsolete work, so a late completion cannot display an old image. The same
|
|
100
|
+
pan/zoom frame stays mounted and retains focus. The provider should honor the request's abort
|
|
101
|
+
signal; stale-result protection does not make an abort-ignoring provider settle promptly.
|
|
102
|
+
|
|
69
103
|
**Events:** cancelable `lr-show`, followed after a successful open render by `lr-after-show`;
|
|
70
104
|
conditionally cancelable `lr-hide` (`detail: LyraLightboxHideDetail = { source: Element }`):
|
|
71
105
|
cancelable before a requested close, non-cancelable when an open instance unmounts. A requested
|
|
@@ -76,7 +110,7 @@ object. Use
|
|
|
76
110
|
`lr-after-hide` follows the closed render. Removal while open cannot be vetoed and reports reason
|
|
77
111
|
`unmount`. `lr-index-change` (`detail: { index }`, fired
|
|
78
112
|
for internally-driven navigation — a button, a keyboard shortcut, or `next()`/`previous()`/
|
|
79
|
-
`goTo()` — and when a shrinking
|
|
113
|
+
`goTo()` — and when a shrinking active collection normalizes the index; **not** when a consumer sets
|
|
80
114
|
`index` directly); `lr-zoom-change` (`detail: {
|
|
81
115
|
zoom }`) is not emitted by the lightbox itself — it bubbles up composed from the embedded frame.
|
|
82
116
|
|
|
@@ -93,7 +127,9 @@ including a consumer-driven one, appends the localized position to the document'
|
|
|
93
127
|
embedded `<lr-pan-zoom>`), forwarded aliases `frame-viewport`, `frame-content`, `frame-controls`,
|
|
94
128
|
`previous-button`,
|
|
95
129
|
`previous-glyph`, `next-button`, `next-glyph`, `caption` (only when the current image has one; its
|
|
96
|
-
`id` is the panel's `aria-describedby` target)
|
|
130
|
+
`id` is the panel's `aria-describedby` target), `source-loading`, `source-error`, and `source-retry`
|
|
131
|
+
(the current source image's retry button). `stage` exposes `aria-busy="true"` while source
|
|
132
|
+
descriptor or native image loading is pending.
|
|
97
133
|
|
|
98
134
|
**Themeable custom properties:** `--lr-lightbox-overlay-color` (default
|
|
99
135
|
`var(--lr-color-overlay-strong)` — the backdrop scrim), `--lr-lightbox-control-bg` (default
|
|
@@ -118,6 +154,6 @@ photo content.
|
|
|
118
154
|
measured by the lightbox, so stale load events cannot apply a previous image's size. The fit
|
|
119
155
|
policy covers the painted image only; the lightbox's DOM caption, toolbar, legend-like actions,
|
|
120
156
|
and tooltip content remain outside that image surface.
|
|
121
|
-
- scope for v1: no per-image slotted content (data-driven via `images`
|
|
157
|
+
- scope for v1: no per-image slotted content (data-driven via `images` or `imageSource`), no dot indicators, no
|
|
122
158
|
visual open/close animation, no click-image-to-navigate, no touch-swipe. Lifecycle phases are
|
|
123
159
|
still observable through the before/after events and methods above.
|
|
@@ -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
|
- **Documented with** `lr-bar-chart`, `lr-pie-chart`, `lr-doughnut-chart`, `lr-radar-chart`, `lr-polar-area-chart`, `lr-bubble-chart`, `lr-scatter-chart` (same section below)
|
|
14
14
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
15
15
|
|
|
@@ -28,6 +28,19 @@ types leave it inert; changing `type` or raw `config` to an admitted vertical ca
|
|
|
28
28
|
configuration enables participation regardless of the tag. Horizontal or continuous-x
|
|
29
29
|
configurations remain outside synchronization.
|
|
30
30
|
|
|
31
|
+
`preparedData: LyraChartPreparedData | null = null` is inherited as a property-only input. Its
|
|
32
|
+
compatibility follows the effective writable type: ordered series for `line`/`bar`, categories for
|
|
33
|
+
`bar`/`pie`/`doughnut`/`radar`/`polarArea`, and `LyraSpatialChartSource` (`kind: 'spatial'`)
|
|
34
|
+
for `scatter`/`bubble` with linear scales. Changing `type`
|
|
35
|
+
can therefore make a previously admitted descriptor incompatible; it does not convert the
|
|
36
|
+
descriptor. Whole-source counts/domains, aggregate gap/overlay/table admission, explicit exact
|
|
37
|
+
point reveal, bounded displayed CSV export and refresh/unset behavior follow the core contract.
|
|
38
|
+
Series/category zoom stays summary-only; spatial zoom updates and queries its explicit viewport.
|
|
39
|
+
The spatial contract includes complete all-series density, bounded representatives plus independent
|
|
40
|
+
selected/revealed exact overlays, semantic radius/original coordinates, and the spatial event/table/CSV
|
|
41
|
+
routes described above. Scatter/bubble typed class entries re-export spatial source/point/series,
|
|
42
|
+
viewport and immutable spatial event-detail types; import them from their granular class routes.
|
|
43
|
+
|
|
31
44
|
Everything else is inherited verbatim from `lr-chart`; each name below has the same type, default,
|
|
32
45
|
and behavior there. **See `llms/components/lr-chart.md` for the details, code example, and gotchas
|
|
33
46
|
of every entry in these lists.**
|
|
@@ -38,19 +51,29 @@ of every entry in these lists.**
|
|
|
38
51
|
`stacked`, `stackedAxes`, `withoutAnimation` (`without-animation`),
|
|
39
52
|
`withoutLegend` (`without-legend`), `withoutTooltip` (`without-tooltip`), `xLabel` (`x-label`),
|
|
40
53
|
`yLabel` (`y-label`), plus additive `labels`, `datasets`, `valueFormatter`, `formatter`,
|
|
41
|
-
`tooltipTitleFormatter`, `tooltipFooterFormatter`, `area`, `zoomable`,
|
|
54
|
+
`tooltipTitleFormatter`, `tooltipFooterFormatter`, `area`, `zoomable`, `preparedData`,
|
|
55
|
+
`viewport` (property only, default null), `selectedPointId` (property only, default ''),
|
|
42
56
|
`height`, `y2Label` (`y2-label`), `withoutZeroBaseline` (`without-zero-baseline`), `dataLabels`
|
|
43
57
|
(`data-labels`), `stackTotals` (`stack-totals`), `config`, `withDataTable`
|
|
44
|
-
(`with-data-table`), `dataTableToggle` (`data-table-toggle`), `
|
|
58
|
+
(`with-data-table`), `dataTableToggle` (`data-table-toggle`), `maxRecords` (`max-records`, default
|
|
59
|
+
`1000`, range 2–1,000), `chartArea` (readonly), and `chart`.
|
|
45
60
|
`type` differs only in its initial value.
|
|
46
61
|
|
|
47
62
|
**Methods:** `appendData(label, values, maxPoints?)`, `exportData('csv' | 'png')`, `renderChart()`, `resetZoom()`,
|
|
48
|
-
`refreshTheme()
|
|
63
|
+
`refreshTheme()`, `revealSourcePoint(ref: LyraSeriesPointRef): Promise<boolean>` and
|
|
64
|
+
`revealSourcePoint(id: string): Promise<boolean>` (spatial only).
|
|
49
65
|
|
|
50
66
|
**Events:** `lr-zoom` (`detail: { zoomed: boolean }`), `lr-datum-activate`, `lr-point-activate` (`detail: { datasetIndex,
|
|
51
67
|
index, label, value }`), `lr-legend-visibility-change-request` (cancelable), and
|
|
52
68
|
`lr-legend-visibility-change` (commit; both legend events carry `datasetIndex`, `visible`, and the
|
|
53
69
|
complete `hiddenDatasets` snapshot).
|
|
70
|
+
Prepared activation additionally emits `lr-source-point-select` or `lr-source-category-select`
|
|
71
|
+
with the core chart's immutable original-reference details. Spatial activation uses
|
|
72
|
+
`lr-spatial-point-select`/`lr-spatial-bin-select` with the exact core source semantics;
|
|
73
|
+
existing activation events retain
|
|
74
|
+
plotted indices. The typed component entries re-export `LyraChartPreparedData`,
|
|
75
|
+
`LyraChartSourcePointSelectDetail`, `LyraChartSourceCategorySelectDetail`, `LyraPreparedSeriesData`,
|
|
76
|
+
`LyraPreparedCategoryData` and `LyraSeriesPointRef`.
|
|
54
77
|
Radial category legends additionally emit `lr-datum-visibility-change-request` (cancelable) and
|
|
55
78
|
`lr-datum-visibility-change`, carrying `index`, `visible` and the frozen `hiddenDatums` snapshot.
|
|
56
79
|
|
|
@@ -60,7 +83,7 @@ Radial category legends additionally emit `lr-datum-visibility-change-request` (
|
|
|
60
83
|
**CSS parts:** `base`, `plot`, `canvas`, `legend`, `legend-item`, `legend-item-hidden`, `legend-swatch`,
|
|
61
84
|
`sync-crosshair` (inherited decorative category line, rendered only for an admitted synchronized
|
|
62
85
|
configuration; the native canvas tooltip has no CSS part),
|
|
63
|
-
`reset-zoom-button`, `description`, `notices`, `data-table`, `data-table-toggle`, `data-truncation`, `feature-warning`, `center`, `error` (neutral visible message
|
|
86
|
+
`reset-zoom-button`, `description`, `notices`, `data-table`, `data-table-toggle`, `data-truncation`, `limit`, `feature-warning`, `center`, `error` (neutral visible message
|
|
64
87
|
rendered in place of `canvas` when the optional `chart.js` peer dependency fails to load; the
|
|
65
88
|
failure transition is announced through the shared document-level light-DOM assertive sink — see
|
|
66
89
|
`llms/components/lr-chart.md`).
|