@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
|
@@ -45,18 +45,25 @@ over each rendered line's own text, one match per line ordered by that same op i
|
|
|
45
45
|
the same diff alignment. Unsupported attributes and untyped property writes normalize to
|
|
46
46
|
reflected `unified`.
|
|
47
47
|
- `language: string = ''` — a shiki-recognized language id. Highlighting activates only when this
|
|
48
|
-
has a matching entry in `languages` — there is deliberately no default full-table
|
|
48
|
+
has a matching entry in `languages` or `languageLoaders` — there is deliberately no default full-table
|
|
49
49
|
`lr-code-block`-style fallback, so this component never reaches shiki's ~200-language
|
|
50
50
|
dynamic-import table.
|
|
51
|
-
- `languages?: Record<string, ShikiLanguageInput
|
|
52
|
-
|
|
51
|
+
- `languages?: Readonly<Record<string, ShikiLanguageInput>>` (attribute: false) — resolved grammar
|
|
52
|
+
definitions.
|
|
53
|
+
- `languageLoaders?: Readonly<Record<string, ShikiLanguageLoader>>` (attribute: false) — lazy
|
|
54
|
+
grammar loaders. Concrete `languages` entries take priority on duplicate keys. Only the requested
|
|
55
|
+
loader runs; unused loader entries stay unresolved. Unset preserves concrete-grammar behavior.
|
|
56
|
+
Assign new map objects after editing entries.
|
|
53
57
|
- `contextLines: number | undefined` (attribute: `context-lines`) — keeps this many unchanged
|
|
54
58
|
lines around each change and collapses longer unchanged runs into a localized fold marker. The
|
|
55
59
|
default `undefined` shows every line; negative and non-finite values also disable folding.
|
|
56
60
|
- `maxLines: number = 5000` (attribute `max-lines`) — maximum logical lines accepted on either
|
|
57
61
|
side. Larger input renders the localized `diffViewTooLarge` fallback without computing or
|
|
58
62
|
highlighting the diff. `Infinity` relaxes this line-count ceiling, but the fixed aggregate
|
|
59
|
-
character and comparison-work ceilings remain in force.
|
|
63
|
+
character and comparison-work ceilings remain in force. Every value, including `Infinity`,
|
|
64
|
+
also enforces a hard 10,000-diff-operation render ceiling: at most 10,000 unified lines or
|
|
65
|
+
20,000 split cells, including empty cells. Larger diffs show the localized `limit` fallback.
|
|
66
|
+
Offscreen rows use `content-visibility: auto` to defer paint.
|
|
60
67
|
- `anchorKinds: readonly LyraAnchorKind[] = ['line-range']` (this viewer's supported
|
|
61
68
|
`LyraAnchor.kind` values for the shared anchor-target contract).
|
|
62
69
|
|
|
@@ -66,6 +73,12 @@ later valid grammar from being used; grammar values themselves remain opaque to
|
|
|
66
73
|
Non-enumerable names do not consume language slots, but every inspected name counts toward the
|
|
67
74
|
20,000 structural ceiling.
|
|
68
75
|
|
|
76
|
+
Syntax highlighting accepts up to 8,192 UTF-16 code units on each input, inclusive. If either side
|
|
77
|
+
exceeds that ceiling, both sides use plain text with a localized `[part="limit"]` notice when
|
|
78
|
+
`language` is set. This highlighting fallback preserves admitted source text; the separate input,
|
|
79
|
+
comparison, and diff-operation limits still apply. The fine-grained highlighter path does not
|
|
80
|
+
import the default full-language-table loader.
|
|
81
|
+
|
|
69
82
|
**Methods:** `search(query)` resolves the match count via a case-insensitive substring match over
|
|
70
83
|
each rendered line's own text, ordered by `line-range` op index (empty/whitespace query behaves like
|
|
71
84
|
`clearSearch()`); `searchNext()`/`searchPrevious()` advance/step back through matches (wrapping,
|
|
@@ -106,8 +119,8 @@ marker — plus `data-match`/`data-active-match` while a search result covers it
|
|
|
106
119
|
technology exposes the change), `line-highlight-action` (the focusable button a resolved
|
|
107
120
|
`highlights` entry adds to the line it first covers; emits `lr-highlight-activate`), `copy-button`
|
|
108
121
|
(the copy affordance, only rendered while `copyable`; it stays pinned at the top while the view
|
|
109
|
-
scrolls), `limit` (the localized
|
|
110
|
-
|
|
122
|
+
scrolls), `limit` (the localized input/render-limit fallback or syntax-highlighting ceiling
|
|
123
|
+
notice), `side` (one column in `layout="split"`, `data-side="old"|"new"`), `anchor-live-region`
|
|
111
124
|
(an aria-hidden, non-live shadow mirror of the latest anchor-jump message; the spoken copy is
|
|
112
125
|
appended to the shared document-level polite sink only while the viewer and its composed ancestors
|
|
113
126
|
are exposed to the accessibility tree).
|
|
@@ -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** 24 parts, 0 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
|
---
|
|
@@ -20,6 +20,13 @@ Controlled searchable and filterable document inventory with versions, tags, own
|
|
|
20
20
|
sorting, and bulk selection. It composes the table's bounded 100-row default, so a large document
|
|
21
21
|
collection stays reachable through pagination without mounting an unbounded grid.
|
|
22
22
|
|
|
23
|
+
With `dataSource` unset, the tag facet displays the first 500 locale-sorted distinct tags. A localized `[part="limit"]`
|
|
24
|
+
note reports the omitted count. Search and a controlled `tagFilter` continue to match all admitted
|
|
25
|
+
document tags, including tags outside the facet window. Matching rows, sorting, and folded search
|
|
26
|
+
fields are reused when their inputs are unchanged; loading and selection updates reuse the current
|
|
27
|
+
row projection. A custom `filter` that depends on mutable closure state can be refreshed with a
|
|
28
|
+
keyless `requestUpdate()`. Publish document edits with a new outer array as described below.
|
|
29
|
+
|
|
23
30
|
Own `tags: undefined` is treated like omitted tags; malformed tag arrays and entries remain invalid.
|
|
24
31
|
Removing `search-term` clears search filtering without rewriting its `null` property readback; an
|
|
25
32
|
explicitly empty query also clears filtering and a later query applies normally.
|
|
@@ -56,6 +63,53 @@ table. Omitted localizes the table's own `tableLoadFailed` default.
|
|
|
56
63
|
`errorDescription: string = ''` (`error-description`) — failed-load supporting copy, forwarded to
|
|
57
64
|
the nested table.
|
|
58
65
|
|
|
66
|
+
The provider query type is `DocumentLibrarySourceQuery { readonly searchTerm: string;
|
|
67
|
+
readonly tagFilter: readonly string[]; readonly sortKey: LibraryDocumentSortKey;
|
|
68
|
+
readonly sortDir: 'asc' | 'desc'; readonly filter: LyraDocumentLibrary['filter'] }`.
|
|
69
|
+
|
|
70
|
+
**Full-source paging:** Set property-only `dataSource: DocumentLibrarySource | undefined`
|
|
71
|
+
(default `undefined`) to browse a host-owned logical collection. `DocumentLibrarySource` is
|
|
72
|
+
`LyraPageSource<LibraryDocument, DocumentLibrarySourceQuery>`; both types are exported by the
|
|
73
|
+
component entry and package root. The query contains `searchTerm`, readonly `tagFilter`,
|
|
74
|
+
`sortKey`, `sortDir`, and the current `filter` callback. The provider applies AND-tag filtering
|
|
75
|
+
and ordering to the complete collection. A custom `filter` replaces the default text predicate;
|
|
76
|
+
they are not applied cumulatively. The query forwards `searchTerm` verbatim (null becomes empty).
|
|
77
|
+
The provider supplies the callback's trimmed, request-locale-folded text argument and owns any
|
|
78
|
+
remote translation of that callback. It must not filter only the returned page. Source-mode
|
|
79
|
+
`tagFilter` accepts at most 500 keys; its legacy 10,000-key allowance applies only without a source.
|
|
80
|
+
|
|
81
|
+
`sourcePage: number = 0` (`source-page`) is zero-based; `sourcePageSize: number = 100`
|
|
82
|
+
(`source-page-size`) normalizes to 1–500. Readonly `sourceTotal: number | null` is the exact
|
|
83
|
+
accepted query total, or `null` before a current authoritative result. The nested table converts
|
|
84
|
+
to its one-based page convention, shows unknown-total/loading/error states, and delegates sorting
|
|
85
|
+
to the source. Query or page-size changes reset to source page zero. An out-of-range page receives
|
|
86
|
+
one corrective last-page request. No complete array, row index or full-source search corpus is
|
|
87
|
+
built by the component.
|
|
88
|
+
|
|
89
|
+
The provider implements the shared `query`, global `lookup` and `locate` contract from
|
|
90
|
+
`@aceshooting/lyra-ui/data-sources.js`. Each accepted page must include `tags`, even when its
|
|
91
|
+
catalogue is empty: bounded `{ values, total, unavailableSelected }` facets describe the global
|
|
92
|
+
catalogue and supplied labels. Missing rows on the current page never prove a filter is absent;
|
|
93
|
+
only `unavailableSelected` removes a controlled tag. Facet values are bounded to 500 and source
|
|
94
|
+
rows to 500 tags and 65,536 display-text UTF-16 units each. Source-row tags render as complete text
|
|
95
|
+
lists rather than one chip per tag. Malformed or oversized replies show a localized error.
|
|
96
|
+
|
|
97
|
+
Bulk selection still contains up to 10,000 global IDs. The provider resolves them in sequential
|
|
98
|
+
batches of at most 500; only authoritative global lookup absence removes an ID. The header
|
|
99
|
+
checkbox selects or clears the loaded page while preserving off-page selections. Selection
|
|
100
|
+
changes wait for lookup to complete; failures expose `selection-status` and `selection-retry`.
|
|
101
|
+
User `lr-selection-change` carries the complete accepted ID list, and programmatic assignments
|
|
102
|
+
remain silent. Page/query changes and page retry reuse the independent selected-record cache.
|
|
103
|
+
`lr-filter-change.matchCount` reports the accepted global query total.
|
|
104
|
+
|
|
105
|
+
A defined source takes display precedence over `documents`; it never overwrites that legacy
|
|
106
|
+
getter. Invalid defined sources fail visibly. Setting `dataSource = undefined` restores the
|
|
107
|
+
current legacy documents and their existing limits. The source remains host-owned by identity;
|
|
108
|
+
after changing its contents or revision, reassign it (including the same object) or call unnamed
|
|
109
|
+
`requestUpdate()`. Replacement, explicit refresh, locale change, disconnect and adoption revoke
|
|
110
|
+
obsolete work. Named presentation updates reuse accepted data. Both source and legacy routes
|
|
111
|
+
forward instance `strings` to the composed table.
|
|
112
|
+
|
|
59
113
|
**Events:**
|
|
60
114
|
|
|
61
115
|
- `lr-filter-change` — non-cancelable; fresh frozen readonly `{ searchTerm, tags, matchCount }`.
|
|
@@ -64,17 +118,18 @@ the nested table.
|
|
|
64
118
|
- `lr-selection-change` — non-cancelable; fresh frozen readonly `{ documentIds }`.
|
|
65
119
|
- `lr-open` — non-cancelable; frozen readonly `{ documentId }`.
|
|
66
120
|
- `lr-retry-request` — cancelable, `detail: null`; the nested table's built-in retry button was
|
|
67
|
-
activated
|
|
121
|
+
activated while a host or provider load error is shown. The library contains the child's request, then
|
|
68
122
|
emits its own canonical request. Preventing it leaves both library and table errors set; otherwise
|
|
69
|
-
the default clears
|
|
123
|
+
the default clears the host error and retries the current provider page when a source is set.
|
|
70
124
|
|
|
71
125
|
**Slots:** `error` — replaces the nested table's built-in failed-load state, including its retry
|
|
72
|
-
button, while
|
|
126
|
+
button, while a host or provider load error is shown.
|
|
73
127
|
|
|
74
128
|
**CSS parts:** `base`, `toolbar`, `search`, `tag-filter`, `selection-bar`, `selection-count`,
|
|
75
129
|
`clear-selection`, `table`, `row`, `cell`, `header-cell`, `document-name`, `error-row`, `error-cell`,
|
|
76
130
|
`error` (the nested table's built-in `lr-empty` host), `error-base`, `error-icon`, `error-heading`,
|
|
77
|
-
`error-description`, `error-actions`, `retry-button
|
|
131
|
+
`error-description`, `error-actions`, `retry-button`, `limit` (the count of distinct tags omitted
|
|
132
|
+
from the facet), `selection-status` (source selection loading/error), and `selection-retry`.
|
|
78
133
|
|
|
79
134
|
`selection-bar` is visible ordinary content, not a shadow live region. `selectedDocumentIds`
|
|
80
135
|
assignments stay silent; each selection change the user makes (row or select-all checkbox, "Clear
|
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [charts](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/charts.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 18 parts, 39 custom properties — see `lr-line-chart.md`
|
|
13
13
|
- **Documented with** `lr-line-chart`: see [lr-line-chart.md](./lr-line-chart.md).
|
|
14
14
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); 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** 11 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
|
---
|
|
@@ -19,6 +19,76 @@
|
|
|
19
19
|
Dependency-free accessible 2D embedding projection viewer. Coordinates are projected by the host;
|
|
20
20
|
the component only normalizes them into SVG, colors optional clusters, and emits selection events.
|
|
21
21
|
|
|
22
|
+
**Complete spatial source:** `source: LyraSpatialPointSource<EmbeddingPoint & LyraSpatialPoint>
|
|
23
|
+
| null = null` (attribute: false) takes precedence over `points` without copying the complete
|
|
24
|
+
population. Setting `null` restores the legacy point-array route. `viewport: LyraSpatialBounds
|
|
25
|
+
| null = null` (attribute: false) uses `{ minX, maxX, minY, maxY }`; `null` shows the complete global
|
|
26
|
+
domain. Source storage, indexing and aggregation remain host-owned.
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
import type { EmbeddingPoint } from
|
|
30
|
+
"@aceshooting/lyra-ui/components/retrieval/embedding-explorer/embedding-explorer.class.js";
|
|
31
|
+
import type {
|
|
32
|
+
LyraSpatialBounds, LyraSpatialPoint, LyraSpatialBin, LyraSpatialQuery,
|
|
33
|
+
LyraSpatialPointSource, LyraSpatialBinSelectDetail,
|
|
34
|
+
} from "@aceshooting/lyra-ui/utilities/data-spatial.js";
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The provider has immutable `revision`, safe nonnegative integer `count`, and complete global
|
|
38
|
+
`bounds: LyraSpatialBounds | null`; bounds are null exactly for an empty source. Revision is a
|
|
39
|
+
nonempty string of at most 256 UTF-16 units or a finite number. `query({ signal, bounds, maxPoints,
|
|
40
|
+
maxBins })` returns `{ points, bins, matchedCount }`; `getPoint(id, { signal })` returns the exact
|
|
41
|
+
original point or `null`. Both methods may return values or PromiseLike results. Source metadata,
|
|
42
|
+
methods and payload fields must be own data properties; accessor-backed or sparse replies reject.
|
|
43
|
+
Unknown point fields are excluded from the closed projection.
|
|
44
|
+
|
|
45
|
+
Each exact/representative point supplies `{ id, sourceIndex, x, y, label?, sourceId?, cluster? }`.
|
|
46
|
+
`sourceIndex` is a safe original zero-based index below `count`, independent of the representative
|
|
47
|
+
array position; coordinates are finite and within global bounds. IDs are globally unique,
|
|
48
|
+
nonblank and at most 256 UTF-16 units; `label` is at most 1,024 units, `sourceId` and string `cluster`
|
|
49
|
+
at most 256 units, and numeric clusters must be finite. Query representatives and exact lookups
|
|
50
|
+
must agree within a revision. Admission detects bounded duplicate/conflicting identities; global
|
|
51
|
+
uniqueness and unseen data truth remain provider obligations.
|
|
52
|
+
|
|
53
|
+
Each `LyraSpatialBin` has `{ bounds, count }` with positive safe `count`. Bin counts sum exactly
|
|
54
|
+
to `matchedCount <= source.count`, covering every match in the current viewport. Representative
|
|
55
|
+
points overlay that population and never add to its total. Bins may leave spatial holes but cannot
|
|
56
|
+
overlap in their interiors; normal-axis ownership is half-open with inclusive final viewport
|
|
57
|
+
edges. Representatives must belong to a bin and cannot outnumber its population. Collapsed global
|
|
58
|
+
axes stay exactly collapsed and project at the center; a noncollapsed axis requires a positive
|
|
59
|
+
viewport span contained in the global domain. No fabricated domain expansion is applied.
|
|
60
|
+
|
|
61
|
+
Source mode requires normalized `maxRenderedPoints >= 3`, including for an empty source;
|
|
62
|
+
smaller budgets show an error. The default remains 1,000 and ceiling 10,000. Two slots within that
|
|
63
|
+
budget are reserved for independent controlled-selected and imperative-revealed exact points.
|
|
64
|
+
For `A = maxRenderedPoints - 2`, `maxBins = ceil(A / 2)` and `maxPoints = A - maxBins`: default
|
|
65
|
+
499 bins + 499 representatives + two exact slots. Unused capacity is not borrowed. Exact overlays
|
|
66
|
+
deduplicate against representatives and each other. Each query admits at most 997,000 UTF-16
|
|
67
|
+
metadata units; current/pending queries, exact records and bounded intent/revision strings share
|
|
68
|
+
a 2,000,000-unit envelope. No full point array or all-ID map is retained.
|
|
69
|
+
|
|
70
|
+
`revealSourcePoint(id: string): Promise<boolean>` resolves an exact original ID, minimally pans an
|
|
71
|
+
explicit viewport while preserving its representable span/clamping to global bounds, waits for
|
|
72
|
+
current query/rendering and focuses that point. A null viewport stays global. It leaves
|
|
73
|
+
`selectedPointId` unchanged and emits no selection. Missing, invalid, obsolete, disconnected or
|
|
74
|
+
unrepresentable-pan requests resolve `false`. Selected and revealed records have independent slots;
|
|
75
|
+
a selected record may remain retained outside the visible viewport. Accessible point ordinals use
|
|
76
|
+
original `sourceIndex + 1`, not representative order.
|
|
77
|
+
|
|
78
|
+
**Events:** `lr-point-select` retains `{ point }` for exact original immutable point data, including ID and
|
|
79
|
+
sourceIndex. Activating a density bin emits noncancelable `lr-spatial-bin-select` with frozen
|
|
80
|
+
`LyraSpatialBinSelectDetail { revision, bounds, count }`, never an exact-point event. Source mode
|
|
81
|
+
adds `bin` and `error` parts; `limit` reports the complete global count/domain and current viewport
|
|
82
|
+
count/domain with density and overlay counts distinguished. The cluster legend describes retained
|
|
83
|
+
point overlays rather than certifying all global clusters.
|
|
84
|
+
|
|
85
|
+
Reassign even the same source, or call a keyless `requestUpdate()`, after revision/state changes.
|
|
86
|
+
Named style/strings updates reuse admitted data. Replacement, refresh, disconnect and adoption
|
|
87
|
+
revoke older controls, reveal promises and visible effects. Query and exact lookup each allow one
|
|
88
|
+
physically unsettled call plus only the latest desired intent; ignored aborts hold that lane until
|
|
89
|
+
settlement. Providers should honor the abort signal. The following sampling and last-completed-view
|
|
90
|
+
activation behavior describes the legacy route with `source` null.
|
|
91
|
+
|
|
22
92
|
**Properties:** `points: EmbeddingPoint[] = []` (attribute: false), where each point is `{ id, x,
|
|
23
93
|
y, label?, sourceId?, cluster? }`; `selectedPointId: string = ''` (attribute
|
|
24
94
|
`selected-point-id`); `height: string = '360px'` (any CSS length valid for `block-size`,
|
|
@@ -29,25 +99,35 @@ including `auto` for `viewBox`-derived aspect-ratio sizing; applied on the host
|
|
|
29
99
|
attribute or `label`, `accessibleLabel` names the plot. An authored host `aria-label` governs the plot name too (including an
|
|
30
100
|
explicitly empty value), so a competing internal generic label is not exposed. Non-finite
|
|
31
101
|
coordinates are omitted.
|
|
102
|
+
`maxRenderedPoints: number = 1000` (attribute `max-rendered-points`) controls the evenly sampled
|
|
103
|
+
point budget. Finite values clamp to 1–10,000; invalid values use 1,000. A selected point outside
|
|
104
|
+
the sample is additionally retained. Replace `points` to change the owned input.
|
|
32
105
|
Blank point ids and later duplicates are also omitted first-wins before empty state, roving focus,
|
|
33
106
|
selection, rendering, or events.
|
|
34
107
|
Pointer and programmatic focus synchronize the single roving tab stop, and every point keeps at
|
|
35
108
|
least a 24×24 CSS px pointer target at narrow allocations without enlarging its marker. Optional
|
|
36
109
|
cluster membership is exposed as each option's description and in a visible text legend, so the
|
|
37
110
|
grouping never depends on color alone.
|
|
38
|
-
Above 1,000
|
|
111
|
+
Above `maxRenderedPoints` (1,000 by default), the plot renders a deterministic, evenly spaced sample of the whole array
|
|
39
112
|
(spanning the full input, not a leading run) instead of every point, keeping DOM node and listener
|
|
40
|
-
count bounded
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
113
|
+
count bounded. This index sample does not guarantee spatial extrema or every cluster. A localized
|
|
114
|
+
"showing N of M" notice appears in `[part="limit"]`. Bounds and the cluster legend derive from the
|
|
115
|
+
admitted snapshot; a selected point in that snapshot is drawn even when the render sample skipped
|
|
116
|
+
it. An assignment too large for one collection snapshot (10,000 entries / 50,000 values) first
|
|
117
|
+
selects a bounded set of evenly spaced candidate identities across its whole length, then resolves
|
|
118
|
+
each candidate's first valid occurrence in cancelable chunks. The notice counts the full input,
|
|
119
|
+
but bounds, clusters, and selectable identities remain limited to that admitted snapshot.
|
|
120
|
+
The last completed view stays visible with `aria-busy` until the replacement is ready; activating
|
|
121
|
+
one of its points still emits that displayed point. Keep pending source arrays and records stable,
|
|
122
|
+
or reassign/explicitly call `requestUpdate()` to restart inspection. Replacement and disconnect
|
|
123
|
+
cancel unfinished work, and reconnect resumes from the current source.
|
|
46
124
|
|
|
47
125
|
**Events:** `lr-point-select` (`{ point }`), activated by click or Enter/Space (not on key repeat).
|
|
48
126
|
|
|
49
127
|
**CSS parts:** `base`, `plot`, `point`, `legend`, `legend-item`, `legend-swatch`, `legend-label`,
|
|
50
|
-
`limit` (the "showing N of M"
|
|
128
|
+
`limit` (the "showing N of M" sampling notice), `empty`.
|
|
129
|
+
Spatial-source parts: `bin` (a focusable density region, separate from representative point
|
|
130
|
+
overlays) and `error` (invalid or unavailable spatial-source feedback).
|
|
51
131
|
|
|
52
132
|
**Themeable custom properties:** `--lr-embedding-explorer-selected-stroke` (default
|
|
53
133
|
`var(--lr-color-brand)`) — stroke color of the selected point; `--lr-embedding-explorer-height`
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `emoji-picker-element-data` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 19 parts, 28 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
|
---
|
|
@@ -28,6 +28,11 @@ reloads it. This only applies to the built-in dataset, never to a consumer-suppl
|
|
|
28
28
|
When the filtered set reaches 200 items, the grid automatically windows its visible rows while
|
|
29
29
|
preserving the full option count through `aria-setsize`/`aria-posinset`.
|
|
30
30
|
|
|
31
|
+
`groups` retains at most 64 groups, 20,000 emoji items in total and 64 shortcodes per item. The
|
|
32
|
+
localized `limit` part reports omitted input through `emojiPickerInputLimit`. Built-in datasets
|
|
33
|
+
are admitted once per loaded dataset and shared as frozen snapshots; caller assignments retain
|
|
34
|
+
their owned snapshot behavior.
|
|
35
|
+
|
|
31
36
|
Removing `label`, `hint`, or `error-text` treats the removed value as absent for rendering while
|
|
32
37
|
preserving native attribute-removal property readback. Host `aria-describedby` references resolve in
|
|
33
38
|
the host root onto the value-owning listbox before its local error/hint guidance. Target
|
|
@@ -107,7 +112,7 @@ transferring focus, so End and long row jumps never strand focus on a removed vi
|
|
|
107
112
|
**Slots:** `label` (custom label content), `hint` (custom hint content), `error` (custom error
|
|
108
113
|
content, overrides the `errorText` attribute when provided).
|
|
109
114
|
|
|
110
|
-
**CSS parts:** `form-control` (the outer wrapper around label, `base`, error and hint),
|
|
115
|
+
**CSS parts:** `limit` (input-loss notice), `form-control` (the outer wrapper around label, `base`, error and hint),
|
|
111
116
|
`form-control-label` (the visible label), `base`, `search-wrapper` (the row wrapper around
|
|
112
117
|
`search` and `search-clear`), `search` (`role="combobox"`), `search-clear` (clears the search
|
|
113
118
|
field, replacing the native search-cancel glyph the component resets; rendered only while it has a
|
|
@@ -19,20 +19,37 @@
|
|
|
19
19
|
Its native search field honors the shared `--lr-input-*` search hooks and `--lr-icon-button-*` action hooks listed in the component reference.
|
|
20
20
|
|
|
21
21
|
Filterable and taggable evaluation-example list with add, remove, import, and export affordances.
|
|
22
|
-
|
|
22
|
+
With `dataSource` unset, if the public collection boundary truncates an oversized dataset, `[part="limit"]` names the
|
|
23
23
|
number of retained examples. Pagination within those examples remains available in the table.
|
|
24
24
|
|
|
25
25
|
**Properties:**
|
|
26
26
|
|
|
27
|
+
- `dataSource: EvalDatasetSource | undefined` (property only) — a host-owned full
|
|
28
|
+
logical source; takes display precedence over `examples`. Invalid defined sources fail visibly;
|
|
29
|
+
unsetting restores the current legacy examples without overwriting their getter.
|
|
30
|
+
- `sourcePage: number = 0` (`source-page`) — zero-based source page.
|
|
31
|
+
- `sourcePageSize: number = 100` (`source-page-size`) — source page size, normalized to 1–500.
|
|
32
|
+
- readonly `sourceTotal: number | null` — exact accepted query total, or `null` until a current
|
|
33
|
+
authoritative result is available.
|
|
34
|
+
|
|
27
35
|
- `examples: readonly EvalExample[] = []` (attribute: false) — `EvalExample { id: string; input: string;
|
|
28
36
|
expectedOutput?: string; tags?: readonly string[]; metadata?: Record<string, unknown> }` (exported here).
|
|
29
37
|
It is a dedicated dataset-row shape; no shared agent type models a labeled evaluation row.
|
|
30
38
|
`input`/`expectedOutput` are plain
|
|
31
39
|
strings (not structured payloads), rendered as plain text by every column's `cell()`. Fully
|
|
32
40
|
controlled: add/remove/import/export are all _requests_; the host mutates and passes the array
|
|
33
|
-
back.
|
|
41
|
+
back. The bounded readonly outer snapshot retains at most the first 10,000 examples; records and
|
|
42
|
+
opaque `metadata` retain identity. Reassign `examples` after editing records, including when
|
|
43
|
+
reusing the same source array. A keyless `requestUpdate()` also refreshes the normalized rows and
|
|
44
|
+
search corpus. Other clone-owned collections retain the 10,000-entry/50,000-node safety budgets.
|
|
45
|
+
Empty/blank ids and later duplicate ids are omitted before selection, filtering, mutation requests, and the
|
|
34
46
|
nested grid are derived. Distinct tag chips are ordered with the component's effective-locale
|
|
35
|
-
collation
|
|
47
|
+
collation; at most 500 distinct tags render. Active tags reserve places within that budget so
|
|
48
|
+
their deselection controls remain visible; the remaining places show the earliest unselected
|
|
49
|
+
tags. A localized `limit` note reports the omitted count. Search and tag filtering still use all
|
|
50
|
+
admitted examples and tags, including tags
|
|
51
|
+
outside the displayed facet window. Filtering and the tag corpus are reused across unrelated
|
|
52
|
+
disabled or selection changes
|
|
36
53
|
- `searchable: boolean = false` (reflected) — built-in free-text search over `input`,
|
|
37
54
|
`expectedOutput`, and `tags` (case-insensitive substring)
|
|
38
55
|
- `autocomplete: string = ''`, `spellcheck: boolean = true`, `autocapitalize: string = ''`,
|
|
@@ -50,6 +67,38 @@ expectedOutput?: string; tags?: readonly string[]; metadata?: Record<string, unk
|
|
|
50
67
|
localized `evalDatasetLabel`. A host `aria-label` remains on the custom-element host as its
|
|
51
68
|
overall name and is not cloned onto the independently interactive grid
|
|
52
69
|
|
|
70
|
+
The provider query type is `EvalDatasetSourceQuery { readonly search: string;
|
|
71
|
+
readonly tags: readonly string[]; readonly sortKey: string | null;
|
|
72
|
+
readonly sortDir: 'asc' | 'desc' }`.
|
|
73
|
+
|
|
74
|
+
**Full-source paging:** `EvalDatasetSource = LyraPageSource<EvalExample, EvalDatasetSourceQuery>`;
|
|
75
|
+
both types are exported from the component entry and package root. `EvalDatasetSourceQuery`
|
|
76
|
+
contains `search`, readonly `tags`, `sortKey: string | null`, and `sortDir: 'asc' | 'desc'`.
|
|
77
|
+
The provider owns complete-source text filtering, OR-tag filtering combined with that text query,
|
|
78
|
+
and ordering. The nested table uses server sorting and one-based paging while `sourcePage` remains
|
|
79
|
+
zero-based. Query and page-size changes reset source page zero; an invalid page receives at most
|
|
80
|
+
one corrective last-page request. Loading, unknown totals and failures use the composed table's
|
|
81
|
+
localized states; stale rows cannot be activated.
|
|
82
|
+
|
|
83
|
+
The shared `LyraPageSource` contract comes from `@aceshooting/lyra-ui/data-sources.js`. Its page
|
|
84
|
+
must include explicit global `tags` metadata, even for an empty catalogue. Facets have
|
|
85
|
+
`{ values, total, unavailableSelected }`; at most 500 values retain global labels and counts.
|
|
86
|
+
Available active tags must reserve positions in that budget so they remain removable. Only
|
|
87
|
+
`unavailableSelected`, not absence from one page, removes an active filter. Source rows allow at
|
|
88
|
+
most 500 tags and 65,536 display-text UTF-16 units per row; opaque `metadata` is not traversed or
|
|
89
|
+
rendered. Invalid or oversized responses fail visibly rather than becoming a partial dataset.
|
|
90
|
+
|
|
91
|
+
Source page/query transitions clear the private selected example once, keeping Remove restricted
|
|
92
|
+
to a visible current row. Existing import/export/add events remain requests for the host; export
|
|
93
|
+
does not silently serialize just the loaded page. A source-mode sort both issues the provider
|
|
94
|
+
query and preserves the single existing `lr-sort` pass-through event. `disabled` also prevents
|
|
95
|
+
source sorting and mutations. Instance `strings` reach the composed table.
|
|
96
|
+
|
|
97
|
+
The source is retained by identity. Reassign it, including the same object, or call unnamed
|
|
98
|
+
`requestUpdate()` after source/revision mutation. Replacement, explicit refresh, locale change,
|
|
99
|
+
disconnect and adoption revoke obsolete responses; unrelated named presentation updates reuse
|
|
100
|
+
the current data. No million-row snapshot or whole-source filter/index is created by this route.
|
|
101
|
+
|
|
53
102
|
**Events:** `lr-example-select` (`detail: { exampleId: string | null }`),
|
|
54
103
|
`lr-example-add-request` (`detail: null` — no payload; `emit()`
|
|
55
104
|
normalizes an omitted detail to `null`, never `undefined`), `lr-example-remove-request` (`detail: { exampleId:
|
|
@@ -59,12 +108,12 @@ format: string }`), and the deliberate nested-table pass-through `lr-sort` (`det
|
|
|
59
108
|
re-dispatched (no detail) when the internal search field (only rendered while `searchable`) gains or
|
|
60
109
|
loses focus, since native focus neither bubbles nor crosses the shadow boundary.
|
|
61
110
|
All three built-in columns are sortable; activating one of their headers produces that commit for
|
|
62
|
-
the host to apply to its controlled `examples` array.
|
|
111
|
+
the host to apply to its controlled `examples` array, or for the source to order its query result.
|
|
63
112
|
|
|
64
113
|
**CSS parts:** `base`, `toolbar`, `search`, `search-input` (the composed `lr-input type="search"`),
|
|
65
114
|
`search-input-field` (its native `<input>`), `search-clear` (its clear button, rendered only while the field has text), `tag-filter`,
|
|
66
|
-
`grid`, `add-button`, `remove-button`, `limit` (shown
|
|
67
|
-
cap), `import` (the internal `compact` `lr-file-input`; its
|
|
115
|
+
`grid`, `add-button`, `remove-button`, `limit` (shown for source examples beyond the snapshot
|
|
116
|
+
cap or distinct tags beyond the 500-facet ceiling), `import` (the internal `compact` `lr-file-input`; its
|
|
68
117
|
dropzone text and accessible name are the localized `evalDatasetImportLabel`), `export`.
|
|
69
118
|
|
|
70
119
|
**Themeable custom properties:** the built-in search field is a composed `lr-input`, so it is themed through the shared `--lr-input-*` and `--lr-form-control-*` tokens (the former `--lr-eval-dataset-search-*` hooks are removed).
|
|
@@ -72,7 +121,7 @@ The search field remains a filter toolbar, with the native editing hints listed
|
|
|
72
121
|
|
|
73
122
|
**Known gotchas:**
|
|
74
123
|
|
|
75
|
-
-
|
|
124
|
+
- With `dataSource` unset, shrinking `examples` out from under live UI state is handled: a `selectedId` that no longer matches
|
|
76
125
|
any row resets to `null`, and an active tag filter that no longer matches any row's `tags` is
|
|
77
126
|
dropped rather than silently matching zero rows forever.
|
|
78
127
|
- A search or tag filter that hides the selected row also clears that selection and emits
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [agent-tools](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/agent-tools.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `shiki` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 12 parts, 0 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
@@ -30,6 +30,85 @@ The table uses `label` or the localized purpose-specific evaluation-runs name. A
|
|
|
30
30
|
on `<lr-eval-result>` remains the overall host name and is not cloned onto the independently
|
|
31
31
|
interactive table; use `label` to distinguish several comparison grids on one page.
|
|
32
32
|
|
|
33
|
+
**Full-source comparison runs:** `dataSource: EvalResultSource | undefined`
|
|
34
|
+
(attribute: false) takes precedence over `runs`; invalid defined providers fail visibly.
|
|
35
|
+
Setting `undefined` restores current legacy runs. `sourcePage: number = 0` (`source-page`) is
|
|
36
|
+
zero-based; `sourcePageSize: number = 100` (`source-page-size`) normalizes to 1–500. Readonly
|
|
37
|
+
`sourceTotal: number | null` is the accepted current-query total, or null while unavailable/without
|
|
38
|
+
a source. Page-size and accepted sort changes reset page zero. An out-of-range page receives at
|
|
39
|
+
most one corrective last-page request.
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
import type { EvalResultSource, EvalResultSourceQuery, EvalRunResult } from
|
|
43
|
+
"@aceshooting/lyra-ui/components/agent-tools/eval-result/eval-result.class.js";
|
|
44
|
+
import type { LyraPageSource, LyraPageResult, LyraSourceRecord } from
|
|
45
|
+
"@aceshooting/lyra-ui/data-sources.js";
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
`EvalResultSource` is `LyraPageSource<EvalRunResult, EvalResultSourceQuery>`. The immutable provider
|
|
49
|
+
revision is a nonempty string or finite number. `query({ revision, locale, signal, page, pageSize,
|
|
50
|
+
query })` returns `{ rows, total }`; query is `{ sortKey: string | null, sortDir: 'asc' | 'desc' }`,
|
|
51
|
+
initially null/asc. Each record is `{ key, order, value }`, with `key === value.id`, nonblank original
|
|
52
|
+
ID and safe canonical source `order`; page keys/orders are unique and rows exactly fill the
|
|
53
|
+
requested in-bounds page. `lookup(keys, context)` returns complete globally present requested
|
|
54
|
+
records, omitting absent IDs; `locate(key, query, context)` supplies the shared page-source
|
|
55
|
+
contract but ordinary comparison paging does not use it. Provider order/sorting applies globally,
|
|
56
|
+
without sorting a partial page locally.
|
|
57
|
+
|
|
58
|
+
Source mode forwards the table's original cancelable `lr-sort-request`
|
|
59
|
+
`{ phase: 'request', sortKey, sortDir }` and accepted `lr-sort`
|
|
60
|
+
`{ phase: 'commit', sortKey, sortDir }` once. Veto prevents a source order change; only a current
|
|
61
|
+
commit updates the server query and resets page zero. These sort events remain contained in the
|
|
62
|
+
legacy route. Existing columns define the sorting choices rather than a new sort property API.
|
|
63
|
+
|
|
64
|
+
`selectedRunId` and `baselineRunId` stay fully controlled and are never rewritten. A null ID means
|
|
65
|
+
the first global row of the current query, not the first row of whichever page is displayed.
|
|
66
|
+
Starting on a nonzero page can therefore request a size-one page-zero primer before the requested
|
|
67
|
+
page; only its fallback key is retained and its row/total never becomes the displayed page.
|
|
68
|
+
Paging preserves that fallback; sort/locale/source refresh recomputes it. Explicit selected and
|
|
69
|
+
baseline IDs resolve off-page through one deduplicated lookup of at most two keys. A missing
|
|
70
|
+
explicit ID does not fall back to the first row; an absent selection suppresses review/diff, while
|
|
71
|
+
missing baseline retains the existing selected-output comparison behavior. Empty-source success
|
|
72
|
+
and failed lookup remain distinct. Controlled ID changes and fallback resolution emit no activation.
|
|
73
|
+
Same-revision paging/sorting and locale-only formatting retain explicit comparison records;
|
|
74
|
+
source revision/rebind/lifecycle changes revoke old pair data before it can drive review/diff.
|
|
75
|
+
|
|
76
|
+
The current page holds at most 500 rows and the selected/baseline cache at most two records;
|
|
77
|
+
pending replacement work is separately bounded by those same limits. There is no full runs array
|
|
78
|
+
or secondary corpus. Page, selected-pair and locate work share the source's existing fixed
|
|
79
|
+
lanes: one physical call per lane plus only the latest queued intent. The primer uses the same
|
|
80
|
+
page lane, and ignored aborts keep physical permits until settlement. Fixed own-data fields
|
|
81
|
+
`id`, `label`, optional `model`/`promptVersion` and `output` share a 65,536 UTF-16-unit row budget;
|
|
82
|
+
a missing streaming output becomes `''`. Oversized/accessor-backed rows reject without clipping.
|
|
83
|
+
Keys are at most 65,536 units and share the page helper's 2,000,000-unit key admission budget.
|
|
84
|
+
|
|
85
|
+
Source `scores`/`review` dictionaries remain complete opaque provider references. Custom column
|
|
86
|
+
cell/style/title/value callbacks and footers receive borrowed original provider records; built-in
|
|
87
|
+
identity/diff/review uses closed frozen projections. Source `lr-run-activate { runId, run }`
|
|
88
|
+
freezes the event envelope/run shell while preserving the complete scores/review identities,
|
|
89
|
+
without deeply cloning or freezing those maps. Legacy activation retains its whole-detail deep
|
|
90
|
+
snapshot and existing exhaustion-to-null behavior. Built-in review reads only configured
|
|
91
|
+
`rubricKeys`, bounded to 10,000 combined scalar/category entries and 65,536 UTF-16 text units;
|
|
92
|
+
it never JSON-serializes the complete source review dictionary. Existing review events retain
|
|
93
|
+
original run IDs and their current selected-pair ownership. Disabled review stays inactive while
|
|
94
|
+
the comparison grid remains usable.
|
|
95
|
+
|
|
96
|
+
Initial source loading uses `source-status`. Current page errors/retry use the composed table;
|
|
97
|
+
selected/baseline or review-projection failure uses `selection-status`/`selection-retry` and retries
|
|
98
|
+
the pair without refetching the page. Initial failure is quiet; later page failures are announced
|
|
99
|
+
by the table and pair failures by the parent, without duplicated announcements. Reassign even the
|
|
100
|
+
same source, or call a keyless `requestUpdate()`, after revision/state changes. Named presentation
|
|
101
|
+
updates reuse accepted records. Source/lifecycle replacement and obsolete page/pair changes revoke
|
|
102
|
+
old controls, callbacks and review effects. The following run-array normalization/fallback details
|
|
103
|
+
apply to the legacy route; columns/rubric/presentation contracts apply to both.
|
|
104
|
+
|
|
105
|
+
**Exported source query declaration:**
|
|
106
|
+
|
|
107
|
+
`EvalResultSourceQuery {
|
|
108
|
+
readonly sortKey: string | null;
|
|
109
|
+
readonly sortDir: 'asc' | 'desc';
|
|
110
|
+
}`
|
|
111
|
+
|
|
33
112
|
**Properties:**
|
|
34
113
|
|
|
35
114
|
- `runs: EvalRunResult[] = []` (attribute: false) — `EvalRunResult { id: string; label: string;
|
|
@@ -47,9 +126,10 @@ model?: string; promptVersion?: string; output: string; scores?: RubricValue; re
|
|
|
47
126
|
- `label: string = ''` — accessible name for the independently interactive comparison grid;
|
|
48
127
|
falls back to the localized evaluation-runs name when unset
|
|
49
128
|
- `selectedRunId: string | null = null` (attribute `selected-run-id`) — the run open for review and the diff's
|
|
50
|
-
**new** side; falls back to
|
|
129
|
+
**new** side; null falls back to the first legacy run, or the first global current-query run
|
|
130
|
+
in source mode
|
|
51
131
|
- `baselineRunId: string | null = null` (attribute `baseline-run-id`) — the run compared against and the
|
|
52
|
-
diff's **old** side;
|
|
132
|
+
diff's **old** side; null uses the same first-run fallback described above
|
|
53
133
|
- `reviewSkippable: boolean = false` (attribute `review-skippable`) — shows a Skip control on the
|
|
54
134
|
review form (forwarded to `lr-rubric-form.skippable`)
|
|
55
135
|
- `disabled: boolean = false` (reflected) — disables the review form's controls only; the comparison
|
|
@@ -59,6 +139,11 @@ model?: string; promptVersion?: string; output: string; scores?: RubricValue; re
|
|
|
59
139
|
string; value: RubricValue }`), `lr-review-validity-change` (`detail: { runId: string; valid:
|
|
60
140
|
boolean; errors: Record<string, string> }`), `lr-review-submit` (`detail: { runId: string; value:
|
|
61
141
|
RubricValue }`), `lr-review-skip` (`detail: { runId: string }`).
|
|
142
|
+
In source mode, `lr-sort-request` is the original cancelable table proposal with frozen
|
|
143
|
+
`TableSortRequestDetail { phase: 'request', sortKey, sortDir }`; `sortDir` is `'asc' | 'desc'`.
|
|
144
|
+
`lr-sort` is the accepted, noncancelable table commit with frozen
|
|
145
|
+
`TableSortCommitDetail { phase: 'commit', sortKey, sortDir }`. Preventing the request suppresses
|
|
146
|
+
the commit and leaves the current source sort unchanged.
|
|
62
147
|
|
|
63
|
-
**CSS parts:** `base`, `empty`, `grid`, `diff`, `diff-view`,
|
|
148
|
+
**CSS parts:** `base`, `empty`, `grid`, `source-status`, `selection-status`, `selection-retry`, `diff`, `diff-view`,
|
|
64
149
|
`diff-labels`, `diff-label-old`, `diff-label-new`, `review`.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
CSV/JSON download button with extensible event-driven formats — either single-format (click exports
|
|
20
20
|
immediately) or multi-format (click opens a small menu).
|
|
21
21
|
|
|
22
|
-
The format menu follows the [shared surface treatment](shared/styles-and-tokens.md).
|
|
22
|
+
The format menu follows the [shared surface treatment](../shared/styles-and-tokens.md).
|
|
23
23
|
|
|
24
24
|
**Properties:**
|
|
25
25
|
|