@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
|
@@ -21,12 +21,11 @@ Filterable single/multi-select combining a text input with a listbox. Mirrors th
|
|
|
21
21
|
`<wa-combobox>` API under the `lr-` prefix. **Form-associated**, with shared internals and validation plumbing while retaining its own
|
|
22
22
|
single/multiple value and option synchronization.
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
immediately, including deselection and equal-value writes; it emits no user input/change event.
|
|
24
|
+
Programmatic `option.selected` writes update the option immediately, including deselection and
|
|
25
|
+
equal-value writes. The owning combobox reconciles selection and form state once in the next
|
|
26
|
+
microtask; await one microtask before reading settled parent state. These writes do not change the
|
|
27
|
+
reset default or emit picker input/change events. Assign the parent value array for a bulk
|
|
28
|
+
replacement. Owner synchronization does not echo as a consumer selected write.
|
|
30
29
|
|
|
31
30
|
When `multiple` becomes false, the public value, live option flags, popup `aria-selected`,
|
|
32
31
|
`selectedRows`, event `data` and `with-unknown-option` rows expose one selected occurrence. The
|
|
@@ -139,7 +138,8 @@ other value (a plain object, a function) is dropped from the row instead of reac
|
|
|
139
138
|
- `hint: string = ''`
|
|
140
139
|
- `errorText: string = ''` (attribute `error-text` — static error copy shown below the hint;
|
|
141
140
|
overridden by slotted `error` content when provided)
|
|
142
|
-
- `open: boolean = false` (reflected). Rows mount
|
|
141
|
+
- `open: boolean = false` (reflected). Rows mount when the listbox opens and are removed after it
|
|
142
|
+
closes; reopening restores them. Disabling the
|
|
143
143
|
combobox, making it `readonly` or disabling its fieldset closes an open listbox at once; that
|
|
144
144
|
close is policy, so it emits no `lr-hide`/`lr-after-hide` and cannot be vetoed.
|
|
145
145
|
- `allowCreate: boolean = false` (attribute `allow-create`) — a nonmatching query renders a
|
|
@@ -290,10 +290,12 @@ AbortSignal; limit: number }) => Promise<readonly ComboboxSourceRow[] | { rows,
|
|
|
290
290
|
- `sourceDelay: number = 200` (attribute `source-delay` — debounce in ms between the last keystroke
|
|
291
291
|
and the `source` call; `0` fires on every keystroke. Sanitized to a finite non-negative duration,
|
|
292
292
|
falling back to `200` for a non-finite value)
|
|
293
|
-
- `maxRender: number = 200` (attribute `max-render` —
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
293
|
+
- `maxRender: number = 200` (attribute `max-render`) — ordinary suggestion-prefix size, retaining
|
|
294
|
+
active and selected options within an absolute 1,000-row ceiling. The active option has priority;
|
|
295
|
+
selections remain committed even when every selected row cannot mount. Zero omits the ordinary
|
|
296
|
+
prefix while retaining active/selected rows; non-finite values use 200. Rows keep source order,
|
|
297
|
+
and excess options are summarized by `overflowText`. See "Large option lists" below for sizing
|
|
298
|
+
and the async `source` alternative
|
|
297
299
|
- `sourceTotal: number` (read-only) — provider-side total for the latest accepted response
|
|
298
300
|
- `sourceTruncated: boolean` (read-only) — whether the response reported or contained more rows
|
|
299
301
|
than the bounded retained snapshot; the overflow row includes that hidden count
|
|
@@ -469,6 +471,14 @@ element-reflection replacement can reach — element reflection resolves same-ro
|
|
|
469
471
|
`<lr-virtual-list>` stays `role="list"`/`role="listitem"` and is the right tool for feeds and
|
|
470
472
|
viewers, not for a listbox whose active row must stay addressable.
|
|
471
473
|
|
|
474
|
+
A remote `source` can search a backend containing millions of records without supplying that entire
|
|
475
|
+
collection to the component. Keep the search index on the host or server, return at most
|
|
476
|
+
`options.limit` candidate rows, and include `total` to disclose omitted matches. A discriminating
|
|
477
|
+
query can select an identity anywhere in the backend; selected labels and data survive later
|
|
478
|
+
result windows. This is bounded search, with no paging or cursor for traversing every match of a
|
|
479
|
+
broad query. Refine the query to reach the desired record, or use a paged or indexed data browser
|
|
480
|
+
when complete match traversal is required.
|
|
481
|
+
|
|
472
482
|
What that means in practice:
|
|
473
483
|
|
|
474
484
|
- **Up to a few hundred rows, raise `maxRender` and move on.** A few hundred flex rows is an
|
|
@@ -480,9 +490,10 @@ What that means in practice:
|
|
|
480
490
|
rendering everything and asking the browser to lay it out. Pair it with `sourceDelay` to debounce.
|
|
481
491
|
- **Leave the overflow row doing its job.** When the cap does bite, the excess collapses into one
|
|
482
492
|
`overflowText` row (default `"+{n} more — refine your search"`) rather than disappearing
|
|
483
|
-
silently
|
|
484
|
-
|
|
485
|
-
|
|
493
|
+
silently. Active and selected rows reserve space inside the absolute 1,000-row ceiling;
|
|
494
|
+
oversized selections remain selected even when some selected rows cannot mount.
|
|
495
|
+
Increasing `maxRender` can expose more rows only within the absolute 1,000-row ceiling;
|
|
496
|
+
use filtering or `source` to narrow larger catalogs.
|
|
486
497
|
|
|
487
498
|
**Slots:** default (`<lr-option>` children), `label`, `hint`, `error` (overrides the `errorText`
|
|
488
499
|
attribute when provided), plus two adornment slots:
|
|
@@ -621,7 +632,8 @@ box visibly (nothing is clipped or made unreachable), so leave it unset there.
|
|
|
621
632
|
baseline without overwriting a dirty live selection
|
|
622
633
|
- `selected: boolean = false` (property only) — live selectedness. The parent combobox/select
|
|
623
634
|
updates it as the current value changes; those live writes never rewrite the `selected`
|
|
624
|
-
attribute or `defaultSelected
|
|
635
|
+
attribute or `defaultSelected`. Consumer writes update the option immediately and reconcile
|
|
636
|
+
parent selection/form state once in the next microtask, without parent input/change events
|
|
625
637
|
- `title: string = ''` — tooltip text forwarded to the row the owning `lr-select`/`lr-combobox` renders
|
|
626
638
|
for this option and to its multiple-mode tag; never part of the accessible name; omitted when empty
|
|
627
639
|
- `group: string = ''` (section header)
|
|
@@ -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** 16 parts, 16 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,6 +34,14 @@ Valid string keywords still participate in search alongside the command's label,
|
|
|
34
34
|
group. Unsafe keyword entries are skipped without invoking accessors, and selection returns the
|
|
35
35
|
original command object.
|
|
36
36
|
|
|
37
|
+
`commands` admits the first 10,000 input positions; invalid or duplicate records inside that prefix
|
|
38
|
+
do not extend the admission window. In the open dialog, `part="limit"` shows the localized
|
|
39
|
+
`commandPaletteInputLimit` notice when the original assignment lost entries. This is independent
|
|
40
|
+
of the search-result count and the virtual result window. Rebinding the retained snapshot
|
|
41
|
+
preserves the notice while refreshing live command records; a fresh input below the limit clears
|
|
42
|
+
it. Initial mounting and reconnecting are quiet. Later changed input loss is politely announced
|
|
43
|
+
while open; changes made while closed remain quiet, and the notice appears on the next opening.
|
|
44
|
+
|
|
37
45
|
**Properties:**
|
|
38
46
|
|
|
39
47
|
- `open: boolean = false` (reflected) — after the initial silent render, property and attribute
|
|
@@ -66,7 +74,11 @@ shortcut?, keywords?: readonly string[], disabled?, icon?, onSelect? }`. The seq
|
|
|
66
74
|
**Methods:** `openPalette()` (after an accepted open, clears the query and resets the active row;
|
|
67
75
|
no-op if already open),
|
|
68
76
|
`close()`, `show()`/`hide()` (aliases of `openPalette()`/`close('api')`, the surface every Lyra
|
|
69
|
-
overlay exposes), `registerCommand(command)` —
|
|
77
|
+
overlay exposes), `registerCommand(command)` — queues an addition to `commands` and returns an
|
|
78
|
+
unregister function. Calls in the same turn are admitted together in a microtask; await
|
|
79
|
+
`updateComplete` after that turn before inspecting rendered commands. The disposer also cancels a
|
|
80
|
+
pending registration. Assign `commands` for an immediate bulk update; replacing it before a queued
|
|
81
|
+
batch flush supersedes that older batch.
|
|
70
82
|
|
|
71
83
|
**Keyboard:** ArrowUp/ArrowDown move the active option, skipping `disabled` rows and clamping (not
|
|
72
84
|
cycling) at the ends; Home/End jump to the first/last enabled row and PageUp/PageDown by one visible
|
|
@@ -99,7 +111,8 @@ replacing the native search-cancel glyph the component resets; rendered only whi
|
|
|
99
111
|
value), `list` (the `role="listbox"`), `group` (a group
|
|
100
112
|
heading), `command-group` (a labeled ARIA group of commands), `command` (a `role="option"` button),
|
|
101
113
|
`icon` (a command's leading icon glyph; only rendered when the command has one), `label`,
|
|
102
|
-
`description`, `shortcut`, `list-spacer` (the virtual result extent), `empty
|
|
114
|
+
`description`, `shortcut`, `list-spacer` (the virtual result extent), `empty`, `limit` (original
|
|
115
|
+
command input-loss notice).
|
|
103
116
|
|
|
104
117
|
The palette dialog paints with the shared overlay-surface family, like `lr-dialog`:
|
|
105
118
|
`--lr-overlay-surface` (default `var(--lr-color-surface-container-highest)`), `--lr-overlay-border`,
|
|
@@ -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** 14 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
|
---
|
|
@@ -44,9 +44,25 @@ rows, `disabled` prevents selection, and literal `label` overrides include expli
|
|
|
44
44
|
A nonempty unknown, malformed or disabled selected value stays visible and invalid until cleared
|
|
45
45
|
or replaced. It is never silently replaced or added as a selectable row.
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
A localized `catalogPickerInputLimit` notice in `part="limit"` reports original catalog positions
|
|
48
|
+
omitted beyond the 1,024-position inspection ceiling. Invalid and duplicate positions inside the
|
|
49
|
+
prefix still consume that allowance. This notice is separate from `select-option-overflow`, which
|
|
50
|
+
counts admitted rows outside the popup's render window. Search covers only admitted entries;
|
|
51
|
+
provide a narrower or replacement catalog to include omitted input. Rebinding the picker's retained
|
|
52
|
+
catalog snapshot preserves the notice; a fresh below-limit catalog, `[]`, or restoring defaults
|
|
53
|
+
clears it. Initial mounting and reconnecting are quiet; later changed input loss is politely
|
|
54
|
+
announced. The message supports the usual per-instance `.strings` override.
|
|
55
|
+
|
|
56
|
+
All four regional pickers mount only the committed option before first focus or opening, then
|
|
57
|
+
reuse the initialized catalog until its inputs change. An explicit `requestUpdate()` refreshes
|
|
58
|
+
consumer presentation overrides. Popup rendering is capped at 1,000 options, with omitted rows
|
|
59
|
+
reported through `select-option-overflow`; source admission still accepts up to 1,024 rows.
|
|
60
|
+
Built-in catalogs remain fully available. Enable `searchable` to filter admitted custom catalog
|
|
61
|
+
entries outside the initial popup window; committed tail values remain represented.
|
|
62
|
+
|
|
63
|
+
**SSR:** All three render declarative shadow DOM with the committed option and identifier, without
|
|
64
|
+
browser globals. Country flag emoji need no asset loader. Interactive selection and the remaining
|
|
65
|
+
catalog require hydration; use the same explicit catalog and locale on server and client.
|
|
50
66
|
|
|
51
67
|
`label=''`, `hint=''`, `errorText=''` (`error-text`) and the `label`, `hint`, `error` slots supply
|
|
52
68
|
field chrome. `accessibleLabel=null` (attribute `aria-label`) overrides the actual control's name;
|
|
@@ -88,8 +104,9 @@ and `LyraUnitChangeDetail` from their respective component modules. Reselecting
|
|
|
88
104
|
programmatic updates, catalog/locale changes and resets emit no selection events. Native `focus`
|
|
89
105
|
and `blur` relay once; canceling `lr-invalid` suppresses native validation UI.
|
|
90
106
|
|
|
91
|
-
**CSS parts:** `form-control`, `form-control-label`, `hint`, `error`, `
|
|
92
|
-
|
|
107
|
+
**CSS parts:** `form-control`, `form-control-label`, `hint`, `error`, `limit` (original catalog
|
|
108
|
+
input-loss notice), `select-trigger`,
|
|
109
|
+
`select-display-input`, `select-listbox`, `select-option`, `select-option-overflow`, `select-option-sub`, `select-group-label`
|
|
93
110
|
and `select-clear-button`; country additionally exposes `flag`. The three field slots are the only content slots; supply options through
|
|
94
111
|
the catalog property. Shared form-control and surface tokens apply, including RTL and dark themes.
|
|
95
112
|
|
|
@@ -9,20 +9,21 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `papaparse` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 13 parts, 2 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
## `lr-csv-viewer`
|
|
18
18
|
|
|
19
|
-
Fetches CSV text
|
|
19
|
+
Fetches CSV text with the optional `papaparse` peer, or reads a host-owned `dataSource`, and
|
|
20
|
+
virtualizes body rows.
|
|
20
21
|
|
|
21
22
|
Adopts `DocumentAnchorTarget`: a `cell-range` anchor addresses the raw file grid, 1-based, with the
|
|
22
23
|
header row included unless `without-header-row` is set; `scrollToAnchor()` scrolls the addressed
|
|
23
24
|
row/column into view via the virtualized list's `active-item-id`. `highlights` paint as a focusable
|
|
24
|
-
`part="cell-highlight"`. A jump whose document is replaced by a concurrent `src`
|
|
25
|
-
mid-flight reports `found: false` rather than a phantom success.
|
|
25
|
+
`part="cell-highlight"`. A jump whose document is replaced by a concurrent `src`, `rows`, or
|
|
26
|
+
`dataSource` reassignment mid-flight reports `found: false` rather than a phantom success.
|
|
26
27
|
|
|
27
28
|
**Properties:** `src: string = ''` and `name: string = ''`. `withoutHeaderRow: boolean = false`
|
|
28
29
|
(attribute `without-header-row`) renders the first parsed row as an ordinary data row instead of the
|
|
@@ -35,13 +36,92 @@ values, declaration breaks, and `url()` are ignored. `anchorKinds: readonly Lyra
|
|
|
35
36
|
['cell-range']` (this viewer's supported `LyraAnchor.kind` values for the shared anchor-target
|
|
36
37
|
contract).
|
|
37
38
|
|
|
38
|
-
|
|
39
|
+
Input properties and legacy limits:
|
|
40
|
+
|
|
41
|
+
- `maxRows: number = 10000` (attribute `max-rows`) — raw rows, including the first row whether it
|
|
42
|
+
is displayed as a header or a body row; effective range 1–100,000.
|
|
43
|
+
- `maxColumns: number = 1000` (attribute `max-columns`) — columns in any row;
|
|
44
|
+
effective range 1–10,000.
|
|
45
|
+
- `maxBytes: number = 26214400` (attribute `max-bytes`) — source bytes, default 25 MiB;
|
|
46
|
+
effective range 1–262,144,000 bytes (250 MiB).
|
|
47
|
+
- `rows: unknown[][] | undefined` (property only, default `undefined`) — an already parsed grid,
|
|
48
|
+
including its first row. `withoutHeaderRow` still controls whether that row is a header.
|
|
49
|
+
|
|
50
|
+
- `dataSource: CsvViewerSource | undefined` (property only, default `undefined`) — a host-owned
|
|
51
|
+
logical source, described below; `CsvViewerSource = LyraTabularSource`.
|
|
52
|
+
|
|
53
|
+
Limits truncate finite fractions and clamp to their effective ranges; non-finite inputs use the
|
|
54
|
+
stated defaults. Set limits before assigning `rows`. In-memory input bypasses fetching and
|
|
55
|
+
PapaParse, takes precedence over `src` even when empty, and setting it to `undefined` restores
|
|
56
|
+
the configured URL source. Admission reads own data properties and rejects accessors in those
|
|
57
|
+
fields without invoking them; cells may be strings, numbers, booleans, `null` or `undefined`.
|
|
58
|
+
The outer grid and rows are frozen snapshots. Reassigning the accepted caller array or getter
|
|
59
|
+
snapshot is a no-op while effective limits are unchanged; replace the outer array after caller
|
|
60
|
+
mutation. Limit changes revalidate the current snapshot. Byte admission counts UTF-8 cell text,
|
|
61
|
+
with nullish cells contributing empty text; the independent 1,000,000-cell ceiling includes the
|
|
62
|
+
first row. Malformed or over-limit input displays a localized error and emits `lr-render-error`.
|
|
63
|
+
|
|
64
|
+
**Host-owned source input:** A defined `dataSource` takes precedence over `rows` and `src`,
|
|
65
|
+
bypassing file fetching and parsing. Invalid defined sources show a localized error and emit
|
|
66
|
+
`lr-render-error`; they do not fall back to legacy input. Setting `dataSource = undefined` cancels
|
|
67
|
+
source work and restores the current `rows` or URL input. Source pages never overwrite the
|
|
68
|
+
legacy `rows` getter. The source remains host-owned by identity rather than being cloned. After
|
|
69
|
+
changing its data or revision, reassign it (the same identity is accepted) or call the viewer's
|
|
70
|
+
unnamed `requestUpdate()`. Source replacement, refresh and locale changes invalidate stale reads,
|
|
71
|
+
search results and navigation. Unrelated presentation updates reuse source data.
|
|
72
|
+
|
|
73
|
+
The source supplies `revision`, full logical body `rowCount`, `columnCount` and `columnAt(index)`
|
|
74
|
+
returning `{ key, label }`, plus either synchronous scalar `cellAt(row, column)` or asynchronous
|
|
75
|
+
`readCells(request)`. Requests carry revision, locale, an `AbortSignal`, and an absolute zero-based
|
|
76
|
+
rectangle; return exactly its requested rows and columns. Accepted cells are strings, finite
|
|
77
|
+
numbers, booleans, `null` or `undefined`, with nullish values displaying empty text.
|
|
78
|
+
Logical body rows are not truncated by `maxRows` or materialized as a complete array. Each active
|
|
79
|
+
source's `columnCount` must fit `maxColumns` (default 1,000, effective hard maximum 10,000); an
|
|
80
|
+
oversized column count is an error. Reads remain bounded to at most 500 rows, 100 columns and
|
|
81
|
+
10,000 cells per rectangle, with two retained rectangles. Each scalar's display text and each
|
|
82
|
+
column key/label is limited to 65,536 UTF-16 units. Retained cell and column metadata text shares a
|
|
83
|
+
2,000,000-unit ceiling.
|
|
84
|
+
Malformed or oversized replies fail visibly instead of silently clipping source values.
|
|
85
|
+
|
|
86
|
+
Only source mode uses fixed row boxes and matching virtual-list row geometry, both resolved live
|
|
87
|
+
from `--lr-size-3rem` (3rem, or 48px at a 16px root font). Oversized cell display stays within that
|
|
88
|
+
row box without changing the source scalar. Legacy file and in-memory rows keep their automatic
|
|
89
|
+
heights. Column windows retain absolute `aria-colindex` values; anchors still use one-based display
|
|
90
|
+
coordinates and can reveal unloaded rows and offscreen columns.
|
|
91
|
+
Source column labels are separate metadata: hit `row: -1` is the header and body row `0` appears
|
|
92
|
+
at display row 2 by default, or row 1 with `withoutHeaderRow`. Hidden header hits are omitted from
|
|
93
|
+
search results and make the retained count nonexact. Changing `withoutHeaderRow` in source mode
|
|
94
|
+
clears search results and pending navigation because displayed coordinates change; cached cells
|
|
95
|
+
remain available.
|
|
96
|
+
|
|
97
|
+
In source mode, `search(query)` delegates to the source's global search capability rather than
|
|
98
|
+
scanning loaded rectangles or an admitted prefix. The viewer requests at most 1,000 hits and keeps
|
|
99
|
+
`matchCount` equal to retained, cursor-addressable hits. A larger known provider total does not
|
|
100
|
+
replace that count; `matchCountExact` is true only for exhaustive, fully retained results. Without
|
|
101
|
+
that capability, a nonempty query returns 0 with `matchCountExact: false` and `part="search-status"`
|
|
102
|
+
shows the localized `sourceSearchUnavailable` message. This adds no local search toolbar or event
|
|
103
|
+
fields. `searchNext()`/`searchPrevious()` report whether the target was actually revealed;
|
|
104
|
+
`clearSearch()` cancels pending search and dependent navigation.
|
|
105
|
+
`LyraTabularHit` coordinates use zero-based body `row` (or -1 for labels) and zero-based `column`.
|
|
106
|
+
|
|
107
|
+
`CsvViewerSource` is available from the component entry and package root. The component entry also
|
|
108
|
+
re-exports `LyraSourceCell`, `LyraTabularColumn`, `LyraTabularHit`, `LyraTabularReadRequest`,
|
|
109
|
+
`LyraSourceSearchRequest` and `LyraSourceSearchResult`. Shared contracts can be imported with
|
|
110
|
+
`import type` from `@aceshooting/lyra-ui/data-sources.js`.
|
|
111
|
+
|
|
112
|
+
Body rows and columns are windowed. Header and body share the visible column window, with
|
|
113
|
+
`aria-colindex` preserving full-grid positions. Search and anchors reveal offscreen columns
|
|
114
|
+
before navigating; admitted row/column counts and raw-grid anchor coordinates remain complete.
|
|
115
|
+
|
|
116
|
+
**Methods:** With `dataSource` undefined, `search(query)` resolves the match count via a
|
|
117
|
+
case-insensitive substring match over
|
|
39
118
|
the same stringified cell values `cell()` renders, ordered row then column (empty/whitespace query
|
|
40
119
|
behaves like `clearSearch()`); `searchNext()`/`searchPrevious()` advance/step back through matches
|
|
41
120
|
(wrapping, resolving `false` when there are none); `clearSearch()` clears the query, matches, and
|
|
42
121
|
painted marks.
|
|
43
122
|
|
|
44
|
-
**Events:** `lr-render-error` with `detail.error` when fetching
|
|
123
|
+
**Events:** `lr-render-error` with `detail.error` when fetching, parsing, in-memory admission, or
|
|
124
|
+
data-source validation/read/search fails.
|
|
45
125
|
`lr-viewer-diagnostic` reports up to 100 recoverable PapaParse errors in one
|
|
46
126
|
`detail.diagnostic` (`code: 'delimited-parse-diagnostic'`, `source: 'papaparse'`,
|
|
47
127
|
`severity: 'warning'`, `fatal: false`, `cause: errors`) while the partial grid remains rendered.
|
|
@@ -59,7 +139,7 @@ cell covered by a `highlights` entry), `cell-highlight-action` (the native butto
|
|
|
59
139
|
highlighted cell; emits `lr-highlight-activate`; its complete accessible name uses the localized
|
|
60
140
|
`cellHighlightWithLabel` message with independent `{value}` and `{label}` placeholders; this action,
|
|
61
141
|
not the structural `cell-highlight`, owns keyboard focus and its focus ring), `rows`,
|
|
62
|
-
`spinner`, `error`, and `anchor-live-region` (an aria-hidden, non-live shadow mirror of the latest
|
|
142
|
+
`spinner`, `error`, `search-status` (global source-search unavailable notice), and `anchor-live-region` (an aria-hidden, non-live shadow mirror of the latest
|
|
63
143
|
anchor-jump message; the spoken copy is appended to the shared document-level polite sink only while
|
|
64
144
|
the viewer and its composed ancestors are exposed to the accessibility tree). `data-row`,
|
|
65
145
|
`cell`, `cell-highlight`, and `cell-highlight-action` are rendered inside the internal
|
|
@@ -85,10 +165,13 @@ that deferred too can instead import
|
|
|
85
165
|
same registration lazily and exports `CSV_VIEWER_TAG` (`'lr-csv-viewer'`) as a stable reference to
|
|
86
166
|
the tag it eventually registers.
|
|
87
167
|
|
|
88
|
-
Remote resources
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
168
|
+
Remote resources use `maxBytes`. By default, a quote-aware scan stops before PapaParse at 10,000
|
|
169
|
+
raw rows and 1,000 columns in any row; `maxRows` and `maxColumns` configure those limits. The
|
|
170
|
+
first row consumes the row budget whether displayed as the header or as a body row. The
|
|
171
|
+
1,000,000 aggregate-cell ceiling and 100-parser-diagnostic budget remain independent. Streaming
|
|
172
|
+
row callbacks enforce the same ceilings again. Exceeding a ceiling surfaces the localized
|
|
173
|
+
`documentPreviewResourceTooLarge` message instead of a partial grid. The fetched-text path yields
|
|
174
|
+
between dialect detection, structural admission and materialization; each parse pass remains
|
|
175
|
+
synchronous.
|
|
93
176
|
|
|
94
177
|
---
|
|
@@ -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** 13 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
|
---
|
|
@@ -37,6 +37,25 @@ to change options. At most 1024 rows are examined, invalid rows are skipped, and
|
|
|
37
37
|
entry for each normalized code wins. Caller order is preserved. Names and symbols resolve once per
|
|
38
38
|
catalog and locale and are shared by every picker using that catalog.
|
|
39
39
|
|
|
40
|
+
A localized `catalogPickerInputLimit` notice in `part="limit"` reports original catalog positions
|
|
41
|
+
omitted beyond the 1,024-position inspection ceiling. Invalid and duplicate positions inside the
|
|
42
|
+
prefix still consume that allowance. This notice is separate from `select-option-overflow`, which
|
|
43
|
+
counts admitted rows outside the popup's render window. Search covers only admitted entries;
|
|
44
|
+
provide a narrower or replacement catalog to include omitted input. Rebinding the picker's retained
|
|
45
|
+
catalog snapshot preserves the notice; a fresh below-limit catalog, `[]`, or restoring defaults
|
|
46
|
+
clears it. Initial mounting and reconnecting are quiet; later changed input loss is politely
|
|
47
|
+
announced. The message supports the usual per-instance `.strings` override.
|
|
48
|
+
|
|
49
|
+
Country, currency, time-zone and unit pickers defer their option catalog until first focus or
|
|
50
|
+
opening. Before that, only the committed option is mounted to preserve its label; an unset picker
|
|
51
|
+
mounts none. Programmatic option inspection should await that interaction and update completion.
|
|
52
|
+
After initialization, unchanged option presentations are reused; explicit `requestUpdate()`
|
|
53
|
+
refreshes consumer presentation overrides. Each popup renders at most 1,000 options, exposing
|
|
54
|
+
omitted rows through `select-option-overflow`. Built-in catalogs remain fully available. For an
|
|
55
|
+
admitted catalog larger than the popup window, enable `searchable` and filter to entries outside
|
|
56
|
+
that initial window;
|
|
57
|
+
a committed tail value remains represented within the bounded popup.
|
|
58
|
+
|
|
40
59
|
**Unavailable values stay visible.** A value outside the configured catalog, a malformed nonempty
|
|
41
60
|
value, or a selected entry that becomes disabled is retained and marked unavailable. It fails
|
|
42
61
|
validation until cleared or replaced; it is never silently switched to another currency. Such a
|
|
@@ -83,8 +102,9 @@ updates, resets, locale changes and catalog replacements emit no change event. N
|
|
|
83
102
|
**Slots:** `label`, `hint`, `error` — custom field copy. There is no option/default content slot;
|
|
84
103
|
bind `currencies` to supply rows.
|
|
85
104
|
|
|
86
|
-
**CSS parts:** `form-control`, `form-control-label`, `hint`, `error
|
|
87
|
-
|
|
105
|
+
**CSS parts:** `form-control`, `form-control-label`, `hint`, `error`, `limit` (original catalog
|
|
106
|
+
input-loss notice);
|
|
107
|
+
`select-trigger`, `select-display-input`, `select-listbox`, `select-option`, `select-option-overflow`, `select-option-sub`,
|
|
88
108
|
`select-clear-button`, `select-group-label`. Both composed controls preserve these part names
|
|
89
109
|
and inherit shared form-control and surface tokens.
|
|
90
110
|
|
|
@@ -45,18 +45,34 @@ only that page plus the header. In server mode, `total` still drives `pageCount`
|
|
|
45
45
|
does not inflate `aria-rowcount` while `aria-rowindex` restarts for each loaded page. Treat these
|
|
46
46
|
ARIA values as page-local positions rather than as the dataset-wide total.
|
|
47
47
|
|
|
48
|
+
Row details remain virtualized as part of their owning row's measured block. `--max-height: none`
|
|
49
|
+
still opts out of row virtualization. Wide grids mount columns intersecting the inline viewport
|
|
50
|
+
plus overscan, pinned columns, and the focused column; ARIA column positions refer to the complete
|
|
51
|
+
visible column sequence. Above 50 columns, CSS-resolved widths stay stable while scrolling; newly
|
|
52
|
+
mounted content fits those widths. Column definitions/widths, row projection, allocation, font
|
|
53
|
+
changes and explicit refresh recalculate them. Header, body and footer share these tracks.
|
|
54
|
+
Search and text filters reuse folded cells, sorting is independent of query changes, and
|
|
55
|
+
footers/aggregates reuse results until their row/column inputs change. Call `requestUpdate()` after
|
|
56
|
+
changing borrowed row content or callback-dependent external state in place.
|
|
57
|
+
|
|
48
58
|
**Properties:**
|
|
49
59
|
|
|
50
60
|
- `appearance: 'outlined' | 'plain' = 'outlined'` (`appearance`, reflected).
|
|
51
61
|
- `childRows: string | ((row) => readonly Row[] | undefined) | null = null` (`child-rows`) — dot path or
|
|
52
62
|
callback for nested rows. Tree sorting stays within each parent and paging keeps a subtree with
|
|
53
|
-
its top-level parent. Projection is iterative, cycle-safe, and bounded to
|
|
63
|
+
its top-level parent. Projection is iterative, cycle-safe, and bounded to `maxRows` total rows and
|
|
54
64
|
64 descendant levels; exceeding a budget renders the localized `tree-limit` notice.
|
|
55
65
|
- `columnOrder: readonly string[] = []` (JS-only) — empty preserves declaration order.
|
|
56
66
|
- `columns: readonly DataGridColumn<Row>[] = []` (JS-only).
|
|
57
67
|
- `data: readonly Row[] = []` (JS-only) — client rows, or the currently loaded server page.
|
|
58
|
-
Flat input beyond
|
|
68
|
+
Flat input beyond `maxRows` rows shows the localized `row-limit` notice; nested input retains its
|
|
59
69
|
`tree-limit` notice when the node or depth budget is reached.
|
|
70
|
+
- `maxRows: number = 10000` (`max-rows`) — client-row and tree-descendant admission limit,
|
|
71
|
+
normalized to 1–100,000. Set it before assigning `data`; after raising it, reassign the source
|
|
72
|
+
array to restore excluded rows. Admission reads at most `maxRows` source positions through own
|
|
73
|
+
data descriptors while preserving row object identities. Tree depth remains bounded to 64
|
|
74
|
+
descendant levels, and column definitions retain at most 10,000 entries. Controlled selected
|
|
75
|
+
and expanded keys remain independent of this row-admission cap.
|
|
60
76
|
- `dataSource: ((request) => Promise<{ rows, total }>) | null = null` (JS-only) — providing it
|
|
61
77
|
enables server behavior.
|
|
62
78
|
- `error: boolean = false` (`error`, reflected) — replaces the body row with the failed-load
|
|
@@ -71,7 +87,7 @@ ARIA values as page-local positions rather than as the dataset-wide total.
|
|
|
71
87
|
The mirrored `expandedKeys` spelling remains a compatibility alias for this same state.
|
|
72
88
|
- `filterDebounce: number = 250` (`filter-debounce`) — finite server search/filter delay.
|
|
73
89
|
- `filteredCount: number` (read-only, JS-only) — matching client rows before paging.
|
|
74
|
-
- `dataTruncated: boolean` (read-only, JS-only) — true when projection drops input over
|
|
90
|
+
- `dataTruncated: boolean` (read-only, JS-only) — true when projection drops input over `maxRows` rows
|
|
75
91
|
or 64 nesting levels; controlled `selectedRowKeys` remain because omitted keys may exist.
|
|
76
92
|
- `filterFromLeafRows: boolean = false` (`filter-from-leaf-rows`) — retains ancestors of matching
|
|
77
93
|
tree descendants.
|
|
@@ -180,9 +196,11 @@ are `text`, `equals`, `number-range`, `date-range`, `set`, `includes-any`, and `
|
|
|
180
196
|
group/tree/detail display rows, and scrolls with `align: 'start' | 'center' | 'end'`. A row hidden
|
|
181
197
|
in a collapsed branch is a no-op.
|
|
182
198
|
|
|
183
|
-
**Server mode:** `dataSource` receives `{ sort, filters, search, page, pageSize, signal }`. A
|
|
184
|
-
|
|
185
|
-
`
|
|
199
|
+
**Server mode:** `dataSource` receives `{ sort, filters, search, page, pageSize, signal }`. A new
|
|
200
|
+
query immediately aborts and supersedes the previous request, including while its replacement
|
|
201
|
+
waits for `filterDebounce`. Obsolete results and errors cannot update the grid even when a loader
|
|
202
|
+
ignores the signal. A rejected current request keeps prior rows and emits `lr-data-error`.
|
|
203
|
+
Filter/search requests use `filterDebounce`; sorting and paging load immediately.
|
|
186
204
|
For event-driven loading, set `server`, listen to the mirrored `request` event, and assign `data`,
|
|
187
205
|
`total`, and `loading` yourself. The redundant Lyra-only `lr-data-request` event was removed in
|
|
188
206
|
9.0.0; rename that listener to `request`. Each dispatch carries a fresh frozen detail that cannot
|
|
@@ -9,15 +9,15 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `papaparse` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 13 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
|
---
|
|
16
16
|
|
|
17
17
|
## `lr-dataset-viewer`
|
|
18
18
|
|
|
19
|
-
Fetches tab-, pipe-, or delimiter-separated text
|
|
20
|
-
`role="table"` container with a sticky `role="row"` header, composed with `<lr-virtual-list
|
|
19
|
+
Fetches tab-, pipe-, or delimiter-separated text, or reads a host-owned `dataSource`, and renders a
|
|
20
|
+
virtualized, accessible table (a `role="table"` container with a sticky `role="row"` header, composed with `<lr-virtual-list
|
|
21
21
|
item-role="row">` for the body) using the optional `papaparse` peer. The document registry matches
|
|
22
22
|
`.tsv`, `.psv`, and `.dat` filenames.
|
|
23
23
|
|
|
@@ -26,7 +26,7 @@ header row always occupying row 1 (this component always parses with a header ro
|
|
|
26
26
|
is never part of the virtualized body); `scrollToAnchor()` scrolls the addressed row into view via
|
|
27
27
|
the virtualized list's `active-item-id`. `highlights` paint as a `part="cell-highlight"` cell wrapping a
|
|
28
28
|
focusable `part="cell-highlight-action"` native button, keeping the ARIA table tree intact. A jump
|
|
29
|
-
whose document is replaced by a concurrent `src` reassignment mid-flight reports `found: false`
|
|
29
|
+
whose document is replaced by a concurrent `src`, `table`, or `dataSource` reassignment mid-flight reports `found: false`
|
|
30
30
|
rather than a phantom success, and a header-row target scrolls with the same
|
|
31
31
|
`prefers-reduced-motion`-gated smooth behavior every other row uses.
|
|
32
32
|
|
|
@@ -50,12 +50,90 @@ complementary, matching `lr-csv-viewer`/`lr-archive-viewer`'s base-vs-content sp
|
|
|
50
50
|
`anchorKinds: readonly LyraAnchorKind[] = ['cell-range']` (this viewer's supported `LyraAnchor.kind`
|
|
51
51
|
values for the shared anchor-target contract).
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
Input properties and legacy limits:
|
|
54
|
+
|
|
55
|
+
- `maxRows: number = 10000` (attribute `max-rows`) — data rows, excluding the separate header;
|
|
56
|
+
effective range 1–100,000.
|
|
57
|
+
- `maxColumns: number = 1000` (attribute `max-columns`) — fields; effective range 1–10,000.
|
|
58
|
+
- `maxBytes: number = 26214400` (attribute `max-bytes`) — source bytes, default 25 MiB;
|
|
59
|
+
effective range 1–262,144,000 bytes (250 MiB).
|
|
60
|
+
- `table: DatasetTable | undefined` (property only, default `undefined`) — an already parsed
|
|
61
|
+
`{ fields: string[]; rows: Record<string, string>[] }` table, with the header in `fields` rather
|
|
62
|
+
than in `rows`. Field names must be unique strings. Runtime scalar cell values are normalized to
|
|
63
|
+
strings, with `null` and `undefined` becoming empty text.
|
|
64
|
+
|
|
65
|
+
- `dataSource: DatasetViewerSource | undefined` (property only, default `undefined`) — a host-owned
|
|
66
|
+
logical source, described below; `DatasetViewerSource = LyraTabularSource`.
|
|
67
|
+
|
|
68
|
+
Limits truncate finite fractions and clamp to their effective ranges; non-finite inputs use the
|
|
69
|
+
stated defaults. Set limits before assigning `table`. In-memory input bypasses fetching and
|
|
70
|
+
PapaParse, takes precedence over `src` even when empty, and setting it to `undefined` restores
|
|
71
|
+
the configured URL source. Admission reads own data properties, rejecting accessors in those
|
|
72
|
+
fields without invoking them, and accepts only string, number, boolean, `null` or `undefined`
|
|
73
|
+
cells. The table, rows and records are frozen snapshots. Reassigning the accepted caller object or
|
|
74
|
+
getter snapshot is a no-op while effective limits are unchanged; replace the outer table after
|
|
75
|
+
caller mutation. Limit changes revalidate the current snapshot. Byte admission counts the UTF-8
|
|
76
|
+
text of cells and field names; the independent 1,000,000-cell budget includes the header.
|
|
77
|
+
Malformed or over-limit input displays a localized error and emits `lr-render-error`.
|
|
78
|
+
|
|
79
|
+
**Host-owned source input:** A defined `dataSource` takes precedence over `table` and `src`,
|
|
80
|
+
bypassing file fetching and parsing. Invalid defined sources show a localized error and emit
|
|
81
|
+
`lr-render-error`; they do not fall back to legacy input. Setting `dataSource = undefined` cancels
|
|
82
|
+
source work and restores the current `table` or URL input. Source pages never overwrite the
|
|
83
|
+
legacy `table` getter. The source remains host-owned by identity rather than being cloned. After
|
|
84
|
+
changing its data or revision, reassign it (the same identity is accepted) or call the viewer's
|
|
85
|
+
unnamed `requestUpdate()`. Source replacement, refresh and locale changes invalidate stale reads,
|
|
86
|
+
search results and navigation. Unrelated presentation updates reuse source data.
|
|
87
|
+
|
|
88
|
+
The source supplies `revision`, full logical body `rowCount`, `columnCount` and `columnAt(index)`
|
|
89
|
+
returning `{ key, label }`, plus either synchronous scalar `cellAt(row, column)` or asynchronous
|
|
90
|
+
`readCells(request)`. Requests carry revision, locale, an `AbortSignal`, and an absolute zero-based
|
|
91
|
+
rectangle; return exactly its requested rows and columns. Accepted cells are strings, finite
|
|
92
|
+
numbers, booleans, `null` or `undefined`, with nullish values displaying empty text.
|
|
93
|
+
Logical body rows are not truncated by `maxRows` or materialized as a complete array. Each active
|
|
94
|
+
source's `columnCount` must fit `maxColumns` (default 1,000, effective hard maximum 10,000); an
|
|
95
|
+
oversized column count is an error. Reads remain bounded to at most 500 rows, 100 columns and
|
|
96
|
+
10,000 cells per rectangle, with two retained rectangles. Each scalar's display text and each
|
|
97
|
+
column key/label is limited to 65,536 UTF-16 units. Retained cell and column metadata text shares a
|
|
98
|
+
2,000,000-unit ceiling.
|
|
99
|
+
Malformed or oversized replies fail visibly instead of silently clipping source values.
|
|
100
|
+
|
|
101
|
+
Only source mode uses fixed row boxes and matching virtual-list row geometry, both resolved live
|
|
102
|
+
from `--lr-size-3rem` (3rem, or 48px at a 16px root font). Oversized cell display stays within that
|
|
103
|
+
row box without changing the source scalar. Legacy file and in-memory rows keep their automatic
|
|
104
|
+
heights. Column windows retain absolute `aria-colindex` values; anchors still use one-based display
|
|
105
|
+
coordinates and can reveal unloaded rows and offscreen columns.
|
|
106
|
+
Source column labels always occupy display row 1; hit `row: -1` addresses those labels and body
|
|
107
|
+
row `0` appears at display row 2. The same mapping applies in both `scrollMode` values.
|
|
108
|
+
|
|
109
|
+
In source mode, `search(query)` delegates to the source's global search capability rather than
|
|
110
|
+
scanning loaded rectangles or an admitted prefix. The viewer requests at most 1,000 hits and keeps
|
|
111
|
+
`matchCount` equal to retained, cursor-addressable hits. A larger known provider total does not
|
|
112
|
+
replace that count; `matchCountExact` is true only for exhaustive, fully retained results. Without
|
|
113
|
+
that capability, a nonempty query returns 0 with `matchCountExact: false` and `part="search-status"`
|
|
114
|
+
shows the localized `sourceSearchUnavailable` message. This adds no local search toolbar or event
|
|
115
|
+
fields. `searchNext()`/`searchPrevious()` report whether the target was actually revealed;
|
|
116
|
+
`clearSearch()` cancels pending search and dependent navigation.
|
|
117
|
+
`LyraTabularHit` coordinates use zero-based body `row` (or -1 for labels) and zero-based `column`.
|
|
118
|
+
|
|
119
|
+
`DatasetViewerSource` is available from the component entry and package root. The component entry also
|
|
120
|
+
re-exports `LyraSourceCell`, `LyraTabularColumn`, `LyraTabularHit`, `LyraTabularReadRequest`,
|
|
121
|
+
`LyraSourceSearchRequest` and `LyraSourceSearchResult`. Shared contracts can be imported with
|
|
122
|
+
`import type` from `@aceshooting/lyra-ui/data-sources.js`.
|
|
123
|
+
|
|
124
|
+
Both body rows and columns are windowed. Header and body share the visible column window, with
|
|
125
|
+
`aria-colindex` retaining each cell's full-grid position. Search and anchors reveal offscreen
|
|
126
|
+
columns before navigating; admitted row/column counts and raw-grid anchor coordinates remain
|
|
127
|
+
complete. This also applies to the page scroll mode.
|
|
128
|
+
|
|
129
|
+
**Methods:** With `dataSource` undefined, `search(query)` resolves the match count via a
|
|
130
|
+
case-insensitive substring search over header fields followed by every body cell's raw string
|
|
131
|
+
value, ordered row then column (empty/whitespace query behaves like
|
|
55
132
|
`clearSearch()`); `searchNext()`/`searchPrevious()` advance/step back through matches (wrapping,
|
|
56
133
|
resolving `false` when there are none); `clearSearch()` clears the query, matches, and cursor.
|
|
57
134
|
|
|
58
|
-
**Events:** `lr-render-error` with `detail.error` when fetching
|
|
135
|
+
**Events:** `lr-render-error` with `detail.error` when fetching, parsing, in-memory admission, or
|
|
136
|
+
data-source validation/read/search fails.
|
|
59
137
|
`lr-viewer-diagnostic` reports up to 100 recoverable PapaParse errors in one
|
|
60
138
|
`detail.diagnostic` (`code: 'delimited-parse-diagnostic'`, `source: 'papaparse'`,
|
|
61
139
|
`severity: 'warning'`, `fatal: false`, `cause: errors`) while the partial table remains rendered.
|
|
@@ -73,7 +151,7 @@ every fetch state), `body`, `table`, `header-row`, `header-cell`, `data-row`, `c
|
|
|
73
151
|
`cell-highlight-action` (the native button filling a highlighted cell — focusable, emits
|
|
74
152
|
`lr-highlight-activate` on click or Enter/Space; its complete accessible name uses the localized
|
|
75
153
|
`cellHighlightWithLabel` message with independent `{value}` and `{label}` placeholders), `spinner`,
|
|
76
|
-
`error`, and `anchor-live-region` (an aria-hidden, non-live shadow mirror of the latest anchor-jump
|
|
154
|
+
`error`, `search-status` (global source-search unavailable notice), and `anchor-live-region` (an aria-hidden, non-live shadow mirror of the latest anchor-jump
|
|
77
155
|
message; the spoken copy is appended to the shared document-level polite sink only while the viewer
|
|
78
156
|
and its composed ancestors are exposed to the accessibility tree). `data-row`, `cell`,
|
|
79
157
|
`cell-highlight` and `cell-highlight-action` render inside the internal `<lr-virtual-list>` and are
|
|
@@ -96,7 +174,10 @@ sticky header row, independent of the highlight outline above.
|
|
|
96
174
|
|
|
97
175
|
**Optional peer dependency:** `papaparse`.
|
|
98
176
|
|
|
99
|
-
Remote resources
|
|
100
|
-
1,000 fields in any row
|
|
101
|
-
|
|
177
|
+
Remote resources use `maxBytes`. By default, a quote-aware scan stops before PapaParse at 10,000
|
|
178
|
+
data rows and 1,000 fields in any row; `maxRows` and `maxColumns` configure those limits. The
|
|
179
|
+
1,000,000 aggregate-cell ceiling (including the header) and 100-parser-diagnostic budget remain
|
|
180
|
+
independent. Streaming record callbacks enforce the same ceilings again. Exceeding a ceiling
|
|
102
181
|
surfaces the localized `documentPreviewResourceTooLarge` message instead of a partial table.
|
|
182
|
+
The fetched-text path yields between dialect detection, structural admission and materialization;
|
|
183
|
+
each parse pass remains synchronous.
|
|
@@ -24,7 +24,7 @@ nested and `slot=""` headings remain outside automatic discovery.
|
|
|
24
24
|
|
|
25
25
|
### `lr-dialog`
|
|
26
26
|
|
|
27
|
-
Dialog and drawer panels follow the [shared surface treatment](shared/styles-and-tokens.md).
|
|
27
|
+
Dialog and drawer panels follow the [shared surface treatment](../shared/styles-and-tokens.md).
|
|
28
28
|
The public panel and body retain their scrolling and focus behavior.
|
|
29
29
|
|
|
30
30
|
A modal/overlay: `role="dialog"`, focus-trapped while open, dismissible via Escape or (opt-in) a
|