@aceshooting/lyra-ui 29.0.2 → 29.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/README.md +19 -26
- package/design-tokens.json +1 -1
- package/dist/cli/migrate-wa.mjs +2 -0
- package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +5 -3
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js +4 -3
- package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +1 -1
- package/dist/components/agent-tools/agent-trace/agent-trace.class.d.ts +21 -5
- package/dist/components/agent-tools/agent-trace/agent-trace.class.js +14 -11
- package/dist/components/agent-tools/agent-trace/agent-trace.styles.js +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +34 -7
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +25 -11
- package/dist/components/agent-tools/eval-result/eval-result-source.js +1 -0
- package/dist/components/agent-tools/eval-result/eval-result.class.d.ts +31 -11
- package/dist/components/agent-tools/eval-result/eval-result.class.js +29 -15
- package/dist/components/agent-tools/eval-result/eval-result.styles.js +1 -1
- package/dist/components/agent-tools/eval-result/eval-run-result.d.ts +10 -0
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.d.ts +26 -5
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +16 -6
- package/dist/components/agent-tools/span-waterfall/span-waterfall.d.ts +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.js +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +1 -1
- package/dist/components/agent-tools/task-list/task-list.class.d.ts +29 -6
- package/dist/components/agent-tools/task-list/task-list.class.js +13 -7
- package/dist/components/agent-tools/task-list/task-list.d.ts +1 -1
- package/dist/components/agent-tools/task-list/task-list.js +1 -1
- package/dist/components/agent-tools/task-list/task-list.styles.js +1 -1
- package/dist/components/agent-tools/terminal/terminal.class.d.ts +9 -5
- package/dist/components/agent-tools/terminal/terminal.class.js +8 -8
- package/dist/components/agent-tools/test-results/test-results.class.d.ts +16 -4
- package/dist/components/agent-tools/test-results/test-results.class.js +15 -6
- package/dist/components/agent-tools/test-results/test-results.d.ts +1 -0
- package/dist/components/agent-tools/test-results/test-results.js +1 -1
- package/dist/components/agent-tools/test-results/test-results.styles.js +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts +7 -4
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +2 -1
- package/dist/components/agent-tools/trace-tree/span-projection.js +1 -0
- package/dist/components/agent-tools/trace-tree/span-shared.d.ts +29 -0
- package/dist/components/agent-tools/trace-tree/span-shared.js +1 -0
- package/dist/components/agent-tools/trace-tree/span.d.ts +5 -35
- package/dist/components/agent-tools/trace-tree/span.js +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.class.d.ts +27 -5
- package/dist/components/agent-tools/trace-tree/trace-tree.class.js +19 -9
- package/dist/components/agent-tools/trace-tree/trace-tree.d.ts +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.js +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +1 -1
- package/dist/components/charts/chart/bar-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/box-plot.class.d.ts +2 -2
- package/dist/components/charts/chart/box-plot.class.js +3 -3
- package/dist/components/charts/chart/bubble-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/chart-prepared-data.d.ts +9 -0
- package/dist/components/charts/chart/chart-prepared-data.js +1 -0
- package/dist/components/charts/chart/chart-spatial-data.js +2 -0
- package/dist/components/charts/chart/chart-sync.js +1 -1
- package/dist/components/charts/chart/chart-table-sampling.js +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +56 -6
- package/dist/components/charts/chart/chart.class.js +18 -8
- package/dist/components/charts/chart/chart.styles.js +1 -1
- package/dist/components/charts/chart/doughnut-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/histogram-buckets.d.ts +1 -1
- package/dist/components/charts/chart/histogram-buckets.js +1 -1
- package/dist/components/charts/chart/histogram.class.d.ts +19 -4
- package/dist/components/charts/chart/histogram.class.js +1 -1
- package/dist/components/charts/chart/line-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts +51 -11
- package/dist/components/charts/chart/lite-chart.class.js +33 -27
- package/dist/components/charts/chart/lite-chart.styles.js +1 -1
- package/dist/components/charts/chart/pie-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/polar-area-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/radar-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/scatter-chart.class.d.ts +5 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +6 -3
- package/dist/components/conversation/agent-workspace/agent-workspace.class.js +6 -5
- package/dist/components/conversation/agent-workspace/agent-workspace.styles.js +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +8 -0
- package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-base.class.d.ts +5 -3
- package/dist/components/conversation/code-block/code-block-base.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-core.class.d.ts +4 -1
- package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-shared.d.ts +6 -4
- package/dist/components/conversation/code-block/code-block-shared.js +3 -2
- package/dist/components/conversation/code-block/code-block.class.d.ts +11 -4
- package/dist/components/conversation/code-block/code-block.class.js +1 -1
- package/dist/components/conversation/code-block/code-block.d.ts +1 -1
- package/dist/components/conversation/code-block/code-block.styles.js +1 -1
- package/dist/components/conversation/code-block/shiki-types.d.ts +2 -0
- package/dist/components/conversation/code-block/shiki-types.js +1 -1
- package/dist/components/conversation/markdown/markdown-base.class.d.ts +6 -4
- package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
- package/dist/components/conversation/markdown/markdown-code-header.d.ts +2 -2
- package/dist/components/conversation/markdown/markdown-code-header.js +1 -1
- package/dist/components/conversation/markdown/markdown-core.class.d.ts +8 -3
- package/dist/components/conversation/markdown/markdown-progressive.js +2 -2
- package/dist/components/conversation/markdown/markdown-shared.d.ts +5 -10
- package/dist/components/conversation/markdown/markdown-shared.js +5 -5
- package/dist/components/conversation/markdown/markdown-streaming-tail.js +1 -1
- package/dist/components/conversation/markdown/markdown.class.d.ts +17 -10
- package/dist/components/conversation/markdown/markdown.class.js +1 -1
- package/dist/components/conversation/markdown/markdown.styles.js +1 -1
- package/dist/components/conversation/model-select/model-select.class.d.ts +4 -3
- package/dist/components/conversation/model-select/model-select.class.js +3 -2
- package/dist/components/conversation/model-select/model-select.styles.js +1 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.d.ts +2 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js +2 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.styles.js +1 -1
- package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +3 -2
- package/dist/components/conversation/prompt-input/prompt-input.class.js +2 -1
- package/dist/components/conversation/prompt-input/prompt-input.styles.js +1 -1
- package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts +10 -2
- package/dist/components/conversation/prompt-queue/prompt-queue.class.js +15 -6
- package/dist/components/conversation/prompt-queue/prompt-queue.styles.js +1 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.d.ts +3 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.js +2 -1
- package/dist/components/conversation/realtime-session/realtime-session.styles.js +1 -1
- package/dist/components/conversation/streaming-text/markdown-detection.d.ts +2 -0
- package/dist/components/conversation/streaming-text/markdown-detection.js +4 -1
- package/dist/components/conversation/streaming-text/streaming-text-base.class.d.ts +6 -2
- package/dist/components/conversation/streaming-text/streaming-text-base.class.js +3 -3
- package/dist/components/conversation/streaming-text/streaming-text-core.class.js +1 -1
- package/dist/components/conversation/streaming-text/streaming-text.class.js +1 -0
- package/dist/components/conversation/thread-list/thread-list.class.d.ts +34 -4
- package/dist/components/conversation/thread-list/thread-list.class.js +22 -15
- package/dist/components/conversation/thread-list/thread-list.d.ts +1 -1
- package/dist/components/conversation/thread-list/thread-list.js +1 -1
- package/dist/components/conversation/thread-list/thread-list.styles.js +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +6 -2
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js +3 -2
- package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +3 -2
- package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -2
- package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
- package/dist/components/data/calendar/calendar.class.d.ts +5 -2
- package/dist/components/data/calendar/calendar.class.js +1 -1
- package/dist/components/data/data-grid/data-grid-processing.js +2 -2
- package/dist/components/data/data-grid/data-grid.class.d.ts +22 -8
- package/dist/components/data/data-grid/data-grid.class.js +20 -19
- package/dist/components/data/data-grid/data-grid.styles.js +1 -1
- package/dist/components/data/document-library/document-library.class.d.ts +31 -4
- package/dist/components/data/document-library/document-library.class.js +25 -12
- package/dist/components/data/document-library/document-library.styles.js +1 -1
- package/dist/components/data/file-tree/file-tree.class.d.ts +30 -6
- package/dist/components/data/file-tree/file-tree.class.js +4 -3
- package/dist/components/data/file-tree/file-tree.d.ts +1 -0
- package/dist/components/data/file-tree/file-tree.js +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +31 -6
- package/dist/components/data/flow-canvas/flow-canvas.class.js +40 -19
- package/dist/components/data/flow-canvas/flow-canvas.styles.js +1 -1
- package/dist/components/data/flow-canvas/flow-model.js +1 -1
- package/dist/components/data/flow-canvas/flow-source.js +1 -0
- package/dist/components/data/flow-canvas/flow-types.d.ts +4 -2
- package/dist/components/data/flow-canvas/flow-viewport-index.js +1 -0
- package/dist/components/data/flow-minimap/flow-minimap.class.d.ts +9 -3
- package/dist/components/data/flow-minimap/flow-minimap.class.js +11 -2
- package/dist/components/data/flow-minimap/flow-minimap.styles.js +1 -1
- package/dist/components/data/funnel/funnel.class.d.ts +7 -3
- package/dist/components/data/funnel/funnel.class.js +2 -2
- package/dist/components/data/heatmap/calendar-grid.d.ts +1 -1
- package/dist/components/data/heatmap/calendar-grid.js +1 -1
- package/dist/components/data/heatmap/heatmap-grid-navigation.js +1 -1
- package/dist/components/data/heatmap/heatmap-limits.d.ts +1 -1
- package/dist/components/data/heatmap/heatmap-matrix-source-controller.js +1 -0
- package/dist/components/data/heatmap/heatmap-matrix-source.d.ts +5 -0
- package/dist/components/data/heatmap/heatmap-matrix-source.js +1 -0
- package/dist/components/data/heatmap/heatmap-scale.d.ts +0 -16
- package/dist/components/data/heatmap/heatmap-scale.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +40 -11
- package/dist/components/data/heatmap/heatmap.class.js +26 -6
- package/dist/components/data/heatmap/heatmap.styles.js +1 -1
- package/dist/components/data/pagination/pagination.class.js +1 -1
- package/dist/components/data/sequence-strip/sequence-strip-item.d.ts +17 -0
- package/dist/components/data/sequence-strip/sequence-strip-source-controller.js +1 -0
- package/dist/components/data/sequence-strip/sequence-strip-source.d.ts +5 -0
- package/dist/components/data/sequence-strip/sequence-strip-source.js +1 -0
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +24 -19
- package/dist/components/data/sequence-strip/sequence-strip.class.js +23 -4
- package/dist/components/data/sequence-strip/sequence-strip.styles.js +1 -1
- package/dist/components/data/sparkline/sparkline.class.d.ts +17 -4
- package/dist/components/data/sparkline/sparkline.class.js +3 -3
- package/dist/components/data/sparkline/sparkline.styles.js +1 -1
- package/dist/components/data/table/table.class.d.ts +14 -10
- package/dist/components/data/table/table.class.js +17 -16
- package/dist/components/data/timeline/timeline.class.d.ts +5 -2
- package/dist/components/data/timeline/timeline.class.js +1 -1
- package/dist/components/data/tree/tree-item.class.js +1 -1
- package/dist/components/data/tree/tree-owner-controller.js +1 -1
- package/dist/components/data/tree/tree.class.d.ts +28 -6
- package/dist/components/data/tree/tree.class.js +3 -3
- package/dist/components/data/tree/tree.d.ts +1 -0
- package/dist/components/data/tree/tree.js +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.d.ts +17 -7
- package/dist/components/data/word-cloud/word-cloud.class.js +6 -4
- package/dist/components/data/word-cloud/word-cloud.styles.js +1 -1
- package/dist/components/forms/catalog-picker-base.d.ts +1 -1
- package/dist/components/forms/catalog-picker-base.js +6 -6
- package/dist/components/forms/catalog-picker-base.styles.js +1 -1
- package/dist/components/forms/combobox/combobox.class.d.ts +7 -3
- package/dist/components/forms/combobox/combobox.class.js +1 -1
- package/dist/components/forms/combobox/option.class.d.ts +4 -2
- package/dist/components/forms/combobox/option.class.js +2 -2
- package/dist/components/forms/country-picker/country-picker.class.d.ts +3 -1
- package/dist/components/forms/country-picker/country-picker.class.js +1 -1
- package/dist/components/forms/currency-picker/currency-picker.class.d.ts +2 -0
- package/dist/components/forms/currency-picker/currency-picker.class.js +1 -1
- package/dist/components/forms/currency-picker/currency-presentation.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +6 -2
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +3 -2
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +8 -2
- package/dist/components/forms/locale-picker/locale-picker.class.js +5 -4
- package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
- package/dist/components/forms/select/select.class.d.ts +11 -3
- package/dist/components/forms/select/select.class.js +4 -4
- package/dist/components/forms/time-zone-picker/time-zone-picker.class.d.ts +2 -0
- package/dist/components/forms/time-zone-picker/time-zone-picker.class.js +1 -1
- package/dist/components/forms/token-input/token-input.class.d.ts +6 -1
- package/dist/components/forms/token-input/token-input.class.js +15 -13
- package/dist/components/forms/unit-picker/unit-picker.class.d.ts +2 -0
- package/dist/components/forms/unit-picker/unit-picker.class.js +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +1 -1
- package/dist/components/layout/app-rail/app-rail.class.js +1 -1
- package/dist/components/layout/command-palette/command-palette.class.d.ts +5 -2
- package/dist/components/layout/command-palette/command-palette.class.js +2 -1
- package/dist/components/layout/command-palette/command-palette.styles.js +1 -1
- package/dist/components/layout/menu/menu-item.class.d.ts +2 -2
- package/dist/components/layout/menu/menu-item.class.js +2 -2
- package/dist/components/layout/menu/menu.class.d.ts +1 -1
- package/dist/components/layout/menu/menu.class.js +1 -1
- package/dist/components/layout/menubar/menubar.class.d.ts +1 -1
- package/dist/components/layout/menubar/menubar.class.js +1 -1
- package/dist/components/layout/reorder-list/reorder-item.class.d.ts +2 -2
- package/dist/components/layout/reorder-list/reorder-item.class.js +2 -2
- package/dist/components/layout/reorder-list/reorder-list.class.d.ts +1 -1
- package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts +13 -9
- package/dist/components/layout/virtual-list/virtual-list.class.js +21 -17
- package/dist/components/media/av-player/av-cue-index.js +1 -0
- package/dist/components/media/av-player/av-cue-source.d.ts +13 -0
- package/dist/components/media/av-player/av-cue-source.js +1 -0
- package/dist/components/media/av-player/av-metadata.d.ts +2 -2
- package/dist/components/media/av-player/av-metadata.js +1 -1
- package/dist/components/media/av-player/av-player-cue-source-controller.js +1 -0
- package/dist/components/media/av-player/av-player.class.d.ts +34 -12
- package/dist/components/media/av-player/av-player.class.js +15 -10
- package/dist/components/media/flag/flag.class.js +1 -1
- package/dist/components/media/flag/language-map.js +1 -1
- package/dist/components/media/lightbox/lightbox-source.js +1 -0
- package/dist/components/media/lightbox/lightbox-types.d.ts +15 -0
- package/dist/components/media/lightbox/lightbox.class.d.ts +22 -21
- package/dist/components/media/lightbox/lightbox.class.js +6 -4
- package/dist/components/media/lightbox/lightbox.styles.js +1 -1
- package/dist/components/media/map/map-geojson-diff.d.ts +6 -6
- package/dist/components/media/map/map-geojson-diff.js +1 -1
- package/dist/components/media/map/map-loader.d.ts +5 -1
- package/dist/components/media/map/map.class.d.ts +24 -6
- package/dist/components/media/map/map.class.js +2 -2
- package/dist/components/media/map/map.styles.js +1 -1
- package/dist/components/media/video-playlist/video-playlist.class.d.ts +2 -1
- package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
- package/dist/components/overlays/chip/chip.class.d.ts +1 -1
- package/dist/components/overlays/chip/chip.class.js +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts +30 -8
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +22 -8
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +1 -1
- package/dist/components/retrieval/graph/graph-canvas.js +1 -1
- package/dist/components/retrieval/graph/graph-source-composition.js +1 -0
- package/dist/components/retrieval/graph/graph-source-controller.js +1 -0
- package/dist/components/retrieval/graph/graph-spatial-controller.js +2 -2
- package/dist/components/retrieval/graph/graph-spatial-model.js +1 -0
- package/dist/components/retrieval/graph/graph-spatial.js +1 -1
- package/dist/components/retrieval/graph/graph.class.d.ts +31 -6
- package/dist/components/retrieval/graph/graph.class.js +26 -5
- package/dist/components/retrieval/graph/graph.d.ts +1 -1
- package/dist/components/retrieval/graph/graph.js +1 -1
- package/dist/components/retrieval/graph/graph.styles.js +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +33 -4
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +27 -17
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.d.ts +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.js +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.styles.js +1 -1
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +27 -4
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +29 -14
- package/dist/components/retrieval/knowledge-base/knowledge-base.styles.js +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +17 -3
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +15 -10
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +24 -5
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +17 -10
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.d.ts +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.js +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map-layout.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map-model.js +1 -0
- package/dist/components/retrieval/mind-map/mind-map.class.d.ts +27 -4
- package/dist/components/retrieval/mind-map/mind-map.class.js +11 -7
- package/dist/components/retrieval/mind-map/mind-map.d.ts +1 -0
- package/dist/components/retrieval/mind-map/mind-map.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map.styles.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.d.ts +24 -2
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +17 -3
- package/dist/components/retrieval/neighbor-list/neighbor-list.d.ts +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +1 -1
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +8 -4
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +11 -7
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.styles.js +1 -1
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.d.ts +12 -6
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +30 -17
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results-model.js +1 -0
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +46 -5
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +31 -9
- package/dist/components/retrieval/retrieval-results/retrieval-results.d.ts +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.styles.js +1 -1
- package/dist/components/utility/diff-view/diff-view.class.d.ts +16 -8
- package/dist/components/utility/diff-view/diff-view.class.js +3 -2
- package/dist/components/utility/diff-view/diff-view.styles.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.class.d.ts +31 -3
- package/dist/components/utility/json-viewer/json-viewer.class.js +13 -4
- package/dist/components/utility/json-viewer/json-viewer.d.ts +1 -0
- package/dist/components/utility/json-viewer/json-viewer.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.styles.js +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.d.ts +6 -4
- package/dist/components/utility/mention-popover/mention-popover.class.js +6 -5
- package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +34 -7
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js +9 -7
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +28 -4
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +12 -11
- package/dist/components/viewers/geojson-view/geojson-viewer.class.d.ts +3 -1
- package/dist/components/viewers/geojson-view/geojson-viewer.class.js +17 -16
- package/dist/components/viewers/geojson-view/geojson-viewer.d.ts +1 -1
- package/dist/components/viewers/geojson-view/geojson-viewer.js +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +31 -5
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +11 -8
- package/dist/components/viewers/table-viewer-shared.js +19 -3
- package/dist/components/viewers/viewer-search-limits.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +35 -3
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js +20 -5
- package/dist/components/viewers/xml-viewer/xml-viewer.d.ts +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.styles.js +1 -1
- package/dist/countries.js +1 -1
- package/dist/data-sources.d.ts +34 -0
- package/dist/data-sources.js +1 -0
- package/dist/events.d.ts +51 -7
- package/dist/framework-types.d.ts +1 -1
- package/dist/internal/accessibility-visibility.d.ts +4 -2
- package/dist/internal/accessibility-visibility.js +1 -1
- package/dist/internal/accessible-text-controller.js +1 -1
- package/dist/internal/anchor-target.js +2 -2
- package/dist/internal/catalog-picker.d.ts +1 -7
- package/dist/internal/catalog-picker.js +1 -1
- package/dist/internal/collection-snapshot.js +1 -1
- package/dist/internal/default-strings/agent-tools.generated.js +1 -1
- package/dist/internal/default-strings/charts.generated.js +1 -1
- package/dist/internal/default-strings/conversation.generated.js +1 -1
- package/dist/internal/default-strings/data.generated.js +1 -1
- package/dist/internal/default-strings/forms.generated.js +1 -1
- package/dist/internal/default-strings/layout.generated.js +1 -1
- package/dist/internal/default-strings/media.generated.js +1 -1
- package/dist/internal/default-strings/retrieval.generated.js +1 -1
- package/dist/internal/default-strings/shared.generated.js +1 -1
- package/dist/internal/default-strings/utility.generated.js +1 -1
- package/dist/internal/delimited-data.js +1 -1
- package/dist/internal/fixed-containing-block.js +1 -1
- package/dist/internal/flow-scene-envelope.js +1 -0
- package/dist/internal/graph-scene-controller.js +1 -0
- package/dist/internal/hierarchy-source-controller.js +1 -0
- package/dist/internal/hierarchy-source-view.js +29 -0
- package/dist/internal/hierarchy-source-view.styles.js +1 -0
- package/dist/internal/inherited-attribute-hub.d.ts +6 -0
- package/dist/internal/inherited-attribute-hub.js +1 -1
- package/dist/internal/intl-cache.js +1 -1
- package/dist/internal/keyed-index.js +1 -0
- package/dist/internal/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +2 -2
- package/dist/internal/lyra-element.d.ts +2 -2
- package/dist/internal/lyra-element.js +3 -2
- package/dist/internal/native-modal-context.js +1 -1
- package/dist/internal/option-selection.js +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/positioner.js +1 -1
- package/dist/internal/resource-loader.d.ts +2 -0
- package/dist/internal/resource-loader.js +1 -1
- package/dist/internal/scoped-definitions.generated.js +1 -1
- package/dist/internal/search-haystack.js +1 -0
- package/dist/internal/selection-catalog.d.ts +5 -0
- package/dist/internal/selection-catalog.js +1 -1
- package/dist/internal/shiki-language-sources.js +1 -0
- package/dist/internal/source-page-controller.js +1 -0
- package/dist/internal/source-page-scope.js +1 -0
- package/dist/internal/source-request-controller.js +1 -0
- package/dist/internal/source-window-controller.js +1 -0
- package/dist/internal/spatial-source-controller.js +1 -0
- package/dist/internal/text-quote.d.ts +2 -6
- package/dist/internal/text-quote.js +1 -1
- package/dist/internal/theme-watcher.js +1 -1
- package/dist/internal/virtual-list-composition.js +1 -0
- package/dist/lyra.d.ts +1 -1
- package/dist/lyra.js +1 -1
- package/dist/testing/interaction-drivers.js +1 -1
- package/dist/testing/lyra-tag-event-map.js +1 -1
- package/dist/units.js +1 -1
- package/dist/utilities/data-preparation.d.ts +56 -0
- package/dist/utilities/data-preparation.js +1 -0
- package/dist/utilities/data-spatial.d.ts +26 -0
- package/dist/utilities/data-spatial.js +1 -0
- package/dist/utilities/index.d.ts +1 -1
- package/dist/utilities/index.js +1 -1
- package/llms/components/lr-activity-feed.md +7 -2
- package/llms/components/lr-agent-trace.md +49 -9
- package/llms/components/lr-agent-workspace.md +15 -8
- package/llms/components/lr-av-player.md +180 -10
- package/llms/components/lr-bar-chart.md +1 -1
- package/llms/components/lr-box-plot.md +8 -0
- package/llms/components/lr-bubble-chart.md +1 -1
- package/llms/components/lr-calendar.md +26 -3
- package/llms/components/lr-chart.md +310 -23
- package/llms/components/lr-chat-viewport.md +6 -0
- package/llms/components/lr-code-block-core.md +12 -7
- package/llms/components/lr-code-block.md +23 -9
- package/llms/components/lr-combobox.md +27 -15
- package/llms/components/lr-command-palette.md +16 -3
- package/llms/components/lr-country-picker.md +23 -6
- package/llms/components/lr-csv-viewer.md +95 -12
- package/llms/components/lr-currency-picker.md +23 -3
- package/llms/components/lr-data-grid.md +24 -6
- package/llms/components/lr-dataset-viewer.md +92 -11
- package/llms/components/lr-dialog.md +1 -1
- package/llms/components/lr-diff-view.md +19 -6
- package/llms/components/lr-document-library.md +60 -5
- package/llms/components/lr-doughnut-chart.md +1 -1
- package/llms/components/lr-embedding-explorer.md +89 -9
- package/llms/components/lr-emoji-picker.md +7 -2
- package/llms/components/lr-eval-dataset.md +56 -7
- package/llms/components/lr-eval-result.md +89 -4
- package/llms/components/lr-export-button.md +1 -1
- package/llms/components/lr-file-tree.md +60 -6
- package/llms/components/lr-flag.md +5 -2
- package/llms/components/lr-flow-canvas.md +152 -14
- package/llms/components/lr-flow-minimap.md +32 -4
- package/llms/components/lr-funnel.md +14 -0
- package/llms/components/lr-geojson-viewer.md +27 -10
- package/llms/components/lr-graph.md +43 -7
- package/llms/components/lr-heatmap.md +161 -5
- package/llms/components/lr-histogram.md +55 -9
- package/llms/components/lr-ingestion-queue.md +54 -3
- package/llms/components/lr-json-viewer.md +87 -7
- package/llms/components/lr-knowledge-base-admin.md +60 -4
- package/llms/components/lr-knowledge-base.md +121 -9
- package/llms/components/lr-knowledge-graph-explorer.md +106 -11
- package/llms/components/lr-lightbox.md +42 -6
- package/llms/components/lr-line-chart.md +28 -5
- package/llms/components/lr-lite-chart.md +96 -31
- package/llms/components/lr-locale-picker.md +6 -4
- package/llms/components/lr-map.md +67 -8
- package/llms/components/lr-markdown-core.md +10 -5
- package/llms/components/lr-markdown.md +23 -6
- package/llms/components/lr-mention-popover.md +11 -6
- package/llms/components/lr-mind-map.md +91 -10
- package/llms/components/lr-model-select.md +8 -4
- package/llms/components/lr-model-settings-panel.md +10 -2
- package/llms/components/lr-navigation-menu.md +1 -1
- package/llms/components/lr-neighbor-list.md +69 -2
- package/llms/components/lr-pie-chart.md +1 -1
- package/llms/components/lr-polar-area-chart.md +1 -1
- package/llms/components/lr-prompt-input.md +9 -2
- package/llms/components/lr-prompt-queue.md +11 -3
- package/llms/components/lr-radar-chart.md +1 -1
- package/llms/components/lr-rag-eval-dashboard.md +9 -2
- package/llms/components/lr-realtime-session.md +6 -2
- package/llms/components/lr-reorder-list.md +4 -0
- package/llms/components/lr-retrieval-compare.md +9 -4
- package/llms/components/lr-retrieval-results.md +104 -6
- package/llms/components/lr-scatter-chart.md +1 -1
- package/llms/components/lr-select.md +20 -10
- package/llms/components/lr-sequence-strip.md +92 -2
- package/llms/components/lr-span-waterfall.md +78 -8
- package/llms/components/lr-sparkline.md +42 -11
- package/llms/components/lr-spreadsheet-viewer.md +109 -14
- package/llms/components/lr-streaming-text-core.md +4 -2
- package/llms/components/lr-streaming-text.md +5 -1
- package/llms/components/lr-table.md +96 -115
- package/llms/components/lr-task-list.md +93 -9
- package/llms/components/lr-terminal.md +9 -0
- package/llms/components/lr-test-results.md +77 -3
- package/llms/components/lr-thread-list.md +86 -1
- package/llms/components/lr-time-zone-picker.md +8 -3
- package/llms/components/lr-timeline.md +5 -0
- package/llms/components/lr-token-input.md +7 -2
- package/llms/components/lr-tool-timeline.md +13 -4
- package/llms/components/lr-trace-tree.md +96 -10
- package/llms/components/lr-transcript-feed.md +9 -2
- package/llms/components/lr-tree.md +87 -15
- package/llms/components/lr-unit-picker.md +8 -3
- package/llms/components/lr-video-playlist.md +2 -0
- package/llms/components/lr-virtual-list.md +17 -8
- package/llms/components/lr-voice-picker.md +8 -3
- package/llms/components/lr-word-cloud.md +128 -12
- package/llms/components/lr-xml-viewer.md +106 -9
- package/llms/index.md +1 -1
- package/llms/peers.md +1 -1
- package/llms/shared/events-and-types.md +725 -264
- package/llms/shared/forms-and-accessibility.md +3 -17
- package/llms/shared/imports-and-registration.md +3 -17
- package/llms/shared/localization-and-rtl.md +0 -2
- package/llms/shared/styles-and-tokens.md +27 -36
- package/llms/shared/testing-and-utilities.md +4 -5
- package/llms/shared.md +770 -349
- package/llms.txt +1 -2
- package/locales.json +139 -139
- package/package.json +13 -4
- package/registrations.json +1 -1
- package/skills/compose-lyra-interfaces/SKILL.md +6 -8
- package/skills/lyra-ui/SKILL.md +20 -51
- package/skills/lyra-ui/commands/review.md +16 -33
- package/skills/lyra-ui/commands/update.md +6 -5
- package/skills/lyra-ui/online-api.md +15 -0
- package/skills/lyra-ui/reporting.md +2 -1
|
@@ -9,22 +9,22 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** `xlsx` — see `llms/peers.md`
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 14 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-spreadsheet-viewer`
|
|
18
18
|
|
|
19
|
-
Fetches
|
|
20
|
-
worksheets render through a `<lr-tab-group>` switcher, and body rows use `<lr-virtual-list>`.
|
|
19
|
+
Fetches `.xlsx` and `.xls` workbooks with the optional `xlsx` (SheetJS) peer, or reads a host-owned
|
|
20
|
+
`dataSource`. Multiple worksheets render through a `<lr-tab-group>` switcher, and body rows use `<lr-virtual-list>`.
|
|
21
21
|
|
|
22
22
|
Adopts `DocumentAnchorTarget`: a `cell-range` anchor addresses one sheet's raw grid, 1-based, with
|
|
23
23
|
its header row included, resolving the target sheet from the anchor's own `sheet` field (falling
|
|
24
24
|
back to a `Sheet!`-prefixed `range`, then the active sheet); `scrollToAnchor()` switches
|
|
25
25
|
`<lr-tab-group>`'s active tab first when needed, then scrolls the addressed row/column into view.
|
|
26
26
|
`highlights` paint as a focusable `part="cell-highlight"`. A jump whose workbook is replaced by a
|
|
27
|
-
concurrent `src` reassignment mid-flight reports `found: false` rather than a phantom success —
|
|
27
|
+
concurrent `src`, `workbook`, or `dataSource` reassignment mid-flight reports `found: false` rather than a phantom success —
|
|
28
28
|
matching `lr-csv-viewer`/`lr-dataset-viewer` (it wrongly reported `found: true` before 9.0.0).
|
|
29
29
|
|
|
30
30
|
**Properties:** `src: string = ''` and `name: string = ''`. `maxHeight: string = ''` (attribute
|
|
@@ -33,13 +33,103 @@ matching `lr-csv-viewer`/`lr-dataset-viewer` (it wrongly reported `found: true`
|
|
|
33
33
|
ignored. `anchorKinds: readonly LyraAnchorKind[] = ['cell-range']` (this viewer's supported
|
|
34
34
|
`LyraAnchor.kind` values for the shared anchor-target contract).
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
Input properties and legacy limits:
|
|
37
|
+
|
|
38
|
+
- `maxRows: number = 10000` (attribute `max-rows`) — rows per sheet, including its header;
|
|
39
|
+
effective range 1–100,000. For fetched ZIP workbooks, this also bounds the total row elements
|
|
40
|
+
encountered across inspected archive parts before SheetJS parsing.
|
|
41
|
+
- `maxColumns: number = 1000` (attribute `max-columns`) — columns per sheet;
|
|
42
|
+
effective range 1–10,000.
|
|
43
|
+
- `maxBytes: number = 26214400` (attribute `max-bytes`) — source bytes, default 25 MiB;
|
|
44
|
+
effective range 1–262,144,000 bytes (250 MiB).
|
|
45
|
+
- `workbook: SpreadsheetViewerWorkbook | undefined` (property only, default `undefined`) —
|
|
46
|
+
`{ sheets: { name: string; rows: unknown[][] }[] }`. Each grid includes its header row and
|
|
47
|
+
accepts string, number, boolean, `null` or `undefined` cells.
|
|
48
|
+
|
|
49
|
+
- `dataSource: SpreadsheetViewerSource | undefined` (property only, default `undefined`) — a host-owned
|
|
50
|
+
logical source, described below; `SpreadsheetViewerSource = LyraWorkbookSource`.
|
|
51
|
+
|
|
52
|
+
Limits truncate finite fractions and clamp to their effective ranges; non-finite inputs use the
|
|
53
|
+
stated defaults. Set limits before assigning `workbook`. In-memory input bypasses fetching and
|
|
54
|
+
SheetJS, takes precedence over `src` even when empty, and setting it to `undefined` restores the
|
|
55
|
+
configured URL source. Admission reads own data properties and rejects accessors in those fields
|
|
56
|
+
without invoking them. The workbook, sheet records and row arrays are frozen snapshots.
|
|
57
|
+
Reassigning the accepted caller object or getter snapshot is a no-op while effective limits are
|
|
58
|
+
unchanged; replace the outer workbook after caller mutation. Limit changes revalidate the current
|
|
59
|
+
snapshot. Byte admission counts UTF-8 cell text and sheet names, with nullish cells contributing
|
|
60
|
+
empty text. Workbooks remain bounded to 256 sheets and 1,000,000 aggregate cells, counting headers.
|
|
61
|
+
Malformed or over-limit input displays a localized error and emits `lr-render-error`.
|
|
62
|
+
|
|
63
|
+
**Host-owned source input:** A defined `dataSource` takes precedence over `workbook` and `src`,
|
|
64
|
+
bypassing file fetching and parsing. Invalid defined sources show a localized error and emit
|
|
65
|
+
`lr-render-error`; they do not fall back to legacy input. Setting `dataSource = undefined` cancels
|
|
66
|
+
source work and restores the current `workbook` or URL input. Source pages never overwrite the
|
|
67
|
+
legacy `workbook` getter. The source remains host-owned by identity rather than being cloned. After
|
|
68
|
+
changing its data or revision, reassign it (the same identity is accepted) or call the viewer's
|
|
69
|
+
unnamed `requestUpdate()`. Source replacement, refresh and locale changes invalidate stale reads,
|
|
70
|
+
search results and navigation. Unrelated presentation updates reuse source data.
|
|
71
|
+
|
|
72
|
+
The source supplies a `revision` and at most 256 sheet descriptors with unique nonempty `key`
|
|
73
|
+
and `name` values and a `data: LyraTabularSource` for each sheet. Sheet keys and names are each
|
|
74
|
+
limited to 65,536 UTF-16 units. Each sheet exposes full logical
|
|
75
|
+
body `rowCount`, `columnCount`, separate `columnAt(index)` labels, and either scalar `cellAt` or
|
|
76
|
+
asynchronous rectangular `readCells`. Only the active sheet's cells are read for viewport
|
|
77
|
+
rendering. Read requests carry revision, locale and an `AbortSignal`; replies must match the
|
|
78
|
+
requested rectangle. Cells are strings, finite numbers, booleans, `null` or `undefined`, with
|
|
79
|
+
nullish values displaying empty text.
|
|
80
|
+
Logical body rows are not truncated by `maxRows` or materialized as a complete array. Each active
|
|
81
|
+
source's `columnCount` must fit `maxColumns` (default 1,000, effective hard maximum 10,000); an
|
|
82
|
+
oversized column count is an error. Reads remain bounded to at most 500 rows, 100 columns and
|
|
83
|
+
10,000 cells per rectangle, with two retained rectangles. Each scalar's display text and each
|
|
84
|
+
column key/label is limited to 65,536 UTF-16 units. Retained cell and column metadata text shares a
|
|
85
|
+
2,000,000-unit ceiling.
|
|
86
|
+
Malformed or oversized replies fail visibly instead of silently clipping source values.
|
|
87
|
+
|
|
88
|
+
Only source mode uses fixed row boxes and matching virtual-list row geometry, both resolved live
|
|
89
|
+
from `--lr-size-3rem` (3rem, or 48px at a 16px root font). Oversized cell display stays within that
|
|
90
|
+
row box without changing the source scalar. Legacy file and in-memory rows keep their automatic
|
|
91
|
+
heights. Column windows retain absolute `aria-colindex` values; anchors still use one-based display
|
|
92
|
+
coordinates and can reveal unloaded rows and offscreen columns.
|
|
93
|
+
Source column labels always occupy display row 1; hit `row: -1` addresses those labels and body
|
|
94
|
+
row `0` appears at display row 2. Source search hits use stable `sheetKey` values; existing anchors
|
|
95
|
+
continue to use sheet names in `sheet` or a `Sheet!` range prefix. There is no headerless source
|
|
96
|
+
option.
|
|
97
|
+
|
|
98
|
+
In source mode, `search(query)` delegates to the source's global search capability rather than
|
|
99
|
+
scanning loaded rectangles or an admitted prefix. The viewer requests at most 1,000 hits and keeps
|
|
100
|
+
`matchCount` equal to retained, cursor-addressable hits. A larger known provider total does not
|
|
101
|
+
replace that count; `matchCountExact` is true only for exhaustive, fully retained results. Without
|
|
102
|
+
that capability, a nonempty query returns 0 with `matchCountExact: false` and `part="search-status"`
|
|
103
|
+
shows the localized `sourceSearchUnavailable` message. This adds no local search toolbar or event
|
|
104
|
+
fields. `searchNext()`/`searchPrevious()` report whether the target was actually revealed;
|
|
105
|
+
`clearSearch()` cancels pending search and dependent navigation.
|
|
106
|
+
Global search comes from `LyraWorkbookSource.search`, not a fanout over sheet search callbacks;
|
|
107
|
+
its `LyraWorkbookHit` records include `sheetKey`, zero-based body `row` (or -1 for labels), and
|
|
108
|
+
zero-based `column`.
|
|
109
|
+
|
|
110
|
+
`SpreadsheetViewerSource` is available from the component entry and package root. The component entry also
|
|
111
|
+
re-exports `LyraSourceCell`, `LyraTabularColumn`, `LyraTabularHit`, `LyraTabularReadRequest`,
|
|
112
|
+
`LyraSourceSearchRequest` and `LyraSourceSearchResult` plus `LyraWorkbookHit`. Shared contracts can be imported with
|
|
113
|
+
`import type` from `@aceshooting/lyra-ui/data-sources.js`.
|
|
114
|
+
|
|
115
|
+
Body rows and columns are windowed, with the header using the same column window and
|
|
116
|
+
`aria-colindex` preserving full-sheet positions. Search and anchors switch sheets and reveal
|
|
117
|
+
offscreen columns before navigating. Public counts and raw-grid coordinates still describe the
|
|
118
|
+
complete admitted sheet.
|
|
119
|
+
|
|
120
|
+
**Exports:** `SpreadsheetViewerWorkbook` is the exact workbook type above, available from the
|
|
121
|
+
component entry and as a type export from the package root. Its declared arrays are mutable types;
|
|
122
|
+
the viewer's admitted runtime snapshot is frozen.
|
|
123
|
+
|
|
124
|
+
**Methods:** With `dataSource` undefined, `search(query)` resolves the match count across every
|
|
125
|
+
sheet's stringified cell values,
|
|
37
126
|
ordered sheet then row then column, switching tabs as navigation crosses sheets (empty/whitespace
|
|
38
127
|
query behaves like `clearSearch()`); `searchNext()`/`searchPrevious()` advance/step back through
|
|
39
128
|
matches (wrapping, resolving `false` when there are none); `clearSearch()` clears the query,
|
|
40
129
|
matches, and painted marks.
|
|
41
130
|
|
|
42
|
-
**Events:** `lr-render-error` with `detail.error` when fetching
|
|
131
|
+
**Events:** `lr-render-error` with `detail.error` when fetching, parsing, in-memory admission, or
|
|
132
|
+
data-source validation/read/search fails.
|
|
43
133
|
`lr-highlight-activate` (`detail: { highlightId }`) — a `highlights` cell was clicked or activated via
|
|
44
134
|
Enter/Space. `lr-anchor-result` (`detail: { found }`) — fired after an `anchor` assignment or a
|
|
45
135
|
`scrollToAnchor()` call. `lr-search-change` (`detail: { query, matchCount, matchCountExact, activeIndex }`) — from
|
|
@@ -51,7 +141,7 @@ grid viewer's event contract; its registry capabilities advertise `textSelect: f
|
|
|
51
141
|
structural cell covered by a `highlights` entry), `cell-highlight-action` (the native button
|
|
52
142
|
filling a highlighted cell; focusable and emits `lr-highlight-activate`; its complete accessible
|
|
53
143
|
name uses the localized `cellHighlightWithLabel` message with independent `{value}` and `{label}`
|
|
54
|
-
placeholders), `rows`, `spinner`, `error`, and `anchor-live-region` (an aria-hidden, non-live shadow
|
|
144
|
+
placeholders), `rows`, `spinner`, `error`, `search-status` (global source-search unavailable notice), and `anchor-live-region` (an aria-hidden, non-live shadow
|
|
55
145
|
mirror of the latest anchor-jump message; the spoken copy is appended to the shared document-level
|
|
56
146
|
polite sink only while the viewer and its composed ancestors are exposed to the accessibility tree).
|
|
57
147
|
`data-row`, `cell`, `cell-highlight`, and `cell-highlight-action` are rendered inside the internal
|
|
@@ -81,13 +171,18 @@ Importing `spreadsheet-viewer.js` (this component's own registration entry) load
|
|
|
81
171
|
installs the same registration lazily and exports `SPREADSHEET_VIEWER_TAG`
|
|
82
172
|
(`'lr-spreadsheet-viewer'`) as a stable reference to the tag it eventually registers.
|
|
83
173
|
|
|
84
|
-
|
|
174
|
+
Fetched cells render through their workbook number formats: date and time cells localize with the
|
|
85
175
|
effective locale, other formatted numbers (percent, currency, zero-padded codes) show the
|
|
86
176
|
workbook's formatted text, and General numbers use locale digits without grouping.
|
|
87
177
|
|
|
88
|
-
Remote resources
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
178
|
+
Remote resources use `maxBytes`. By default, each sheet's used range is bounded to 10,000 rows
|
|
179
|
+
and 1,000 columns; `maxRows` and `maxColumns` configure those limits. Every workbook remains
|
|
180
|
+
bounded to 256 sheets and 1,000,000 aggregate cells in those ranges, checked before grid expansion.
|
|
181
|
+
In-memory row limits apply per sheet. Fetched ZIP workbooks additionally enforce `maxRows` across
|
|
182
|
+
row elements encountered by the archive-wide XML admission scan. Archive-entry, expanded-byte,
|
|
183
|
+
aggregate-cell and XML-node budgets also remain in force. Exceeding a ceiling surfaces
|
|
184
|
+
the localized `documentPreviewResourceTooLarge` message instead of the workbook. ZIP input must
|
|
185
|
+
be an Office Open XML workbook: OpenDocument and Numbers packages are refused, and binary
|
|
186
|
+
(`.bin`) parts count against the cell ceiling by size. The fetched-workbook path yields after
|
|
187
|
+
archive admission before SheetJS parsing, and between sheet projections; each parse/projection
|
|
188
|
+
pass remains synchronous.
|
|
@@ -25,7 +25,7 @@ surface (`tabSize`, `htmlMode`, `withoutGfm`, `linkTarget`, `internalLinkPrefix`
|
|
|
25
25
|
only which Markdown element Markdown mode composes differs: this variant renders
|
|
26
26
|
`<lr-markdown-core>` (`../markdown/markdown-core.js`) instead of `<lr-markdown>`, so importing this
|
|
27
27
|
entry point instead of `streaming-text.js` never references `<lr-markdown>`'s ~200-language
|
|
28
|
-
dynamic-import table at all. A fenced code block whose language
|
|
28
|
+
dynamic-import table at all. A fenced code block whose language is absent from both `languages` and `languageLoaders`
|
|
29
29
|
renders the plain-text fallback — there is no default/full-table highlighter here to fall back to,
|
|
30
30
|
mirroring `<lr-markdown-core>`'s own contract.
|
|
31
31
|
|
|
@@ -39,7 +39,9 @@ Direction behaves exactly as described for `<lr-streaming-text>` (**Direction**
|
|
|
39
39
|
uses `looksLikeMarkdown`, `plain`/`markdown` force their named paths; `languages?:
|
|
40
40
|
Readonly<Record<string, ShikiLanguageInput>>` (property only) — forwarded verbatim to the composed
|
|
41
41
|
`<lr-markdown-core>`'s own `languages` instead of `<lr-markdown>`'s (defaulting the composed
|
|
42
|
-
element's own `languages` to `{}` when unset, unlike the full variant's `undefined`).
|
|
42
|
+
element's own `languages` to `{}` when unset, unlike the full variant's `undefined`).
|
|
43
|
+
`languageLoaders?: Readonly<Record<string, ShikiLanguageLoader>>` adds lazy loaders with the same
|
|
44
|
+
concrete-grammar priority and combined-map reuse as `<lr-streaming-text>`. The rest of
|
|
43
45
|
`<lr-markdown-core>`'s configuration surface forwards verbatim too, sharing the same properties,
|
|
44
46
|
attribute names, and defaults described under `<lr-streaming-text>`'s own **Properties** above:
|
|
45
47
|
`tabSize: number = 4` (attribute `tab-size`); `htmlMode: 'sanitize' | 'escape' | 'trusted' =
|
|
@@ -41,7 +41,11 @@ streaming.
|
|
|
41
41
|
- `languages?: Readonly<Record<string, ShikiLanguageInput>>` (property only) — forwarded verbatim to
|
|
42
42
|
the composed `<lr-markdown>`'s own `languages`, the same fine-grained language-grammar scoping
|
|
43
43
|
`<lr-code-block>`/`<lr-markdown>` support. Unset leaves the composed element's own default
|
|
44
|
-
untouched.
|
|
44
|
+
untouched when `languageLoaders` is unset.
|
|
45
|
+
- `languageLoaders?: Readonly<Record<string, ShikiLanguageLoader>>` (property only) — lazy grammar
|
|
46
|
+
loaders forwarded separately from concrete `languages` to the composed Markdown element.
|
|
47
|
+
Concrete entries win on duplicate keys; only requested loaders execute. The composed element
|
|
48
|
+
reuses its combined map until either property receives a new map object.
|
|
45
49
|
|
|
46
50
|
The rest of `<lr-markdown>`'s configuration surface forwards verbatim too, each defaulting to
|
|
47
51
|
exactly `<lr-markdown>`'s own default so leaving it unset renders identically to before these
|
|
@@ -120,51 +120,35 @@ cell: (row) => unknown }` — `cell` is required for every `editTrigger` except
|
|
|
120
120
|
_other_ tinted columns' scale shifts around a cell that shows no tint at all. Define both on one
|
|
121
121
|
column only when that override is the intent; to tint _and_ style, return only non-background
|
|
122
122
|
declarations (`color`, `fontWeight`, `textAlign`, …) from `cellStyle`.
|
|
123
|
-
- `columns[].editTrigger: 'double-click' | 'always'` — `'double-click'` opens one transient editor
|
|
124
|
-
Enter commits
|
|
125
|
-
|
|
126
|
-
every body cell of that column
|
|
127
|
-
- **Keyboard entry (`'double-click'`
|
|
128
|
-
`
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
- **Keys.** Enter commits (emits `lr-cell-edit`) and _keeps focus_ in the field, since there is no
|
|
153
|
-
closed state to fall back to. `change` (blur after a modification) commits in both modes.
|
|
154
|
-
Escape is **not** cancelled and does nothing to the editor — there is nothing to cancel back to
|
|
155
|
-
— so an ancestor dialog/popover still acts on it.
|
|
156
|
-
- **Focus across re-sorts and pagination.** Rows are keyed, so a re-sort _moves_ the editor's
|
|
157
|
-
`<input>` (the typed value rides along) and the table restores focus to the same logical cell
|
|
158
|
-
afterwards. If the focused row leaves the rendered page entirely (pagination, filtering), focus
|
|
159
|
-
is simply lost rather than yanked to whichever unrelated row now sits in that position.
|
|
160
|
-
- **Accessible name.** Each editor's name is `columns[].editLabel(row)` when the column defines
|
|
161
|
-
it, or otherwise the interpolated `tableEditCell` string (`Edit {column}`) — identical for every
|
|
162
|
-
row in that column, since the default has no row context. That default is adequate for
|
|
163
|
-
`'double-click'`, where at most one editor is ever open, but not for `'always'`: every row's
|
|
164
|
-
editor there is a permanent, individually focusable Tab stop, so leaving `editLabel` unset on an
|
|
165
|
-
`'always'` column exposes as many identically named controls as there are rows (e.g. fifty "Edit
|
|
166
|
-
Status" comboboxes), failing WCAG 2.4.6 and 1.3.1. Define `editLabel` for any `'always'` column
|
|
167
|
-
to give each row's editor its own name.
|
|
123
|
+
- `columns[].editTrigger: 'double-click' | 'always'` — `'double-click'` opens one transient editor:
|
|
124
|
+
Enter commits/closes, Escape cancels/closes, and native `change` commits (including blur after
|
|
125
|
+
a text edit). `'always'` renders
|
|
126
|
+
persistent editors in every body cell of that column.
|
|
127
|
+
- **Keyboard entry (`'double-click'`).** Resting editable cells carry `tabindex="-1"` and
|
|
128
|
+
`[data-editable]`. From the focused row, ArrowRight enters the first editable cell and advances;
|
|
129
|
+
ArrowLeft moves back, returning to the row from the first cell (directions reverse under RTL).
|
|
130
|
+
These arrow-reachable cells add no page Tab stops. Without an `editTrigger` column, no editable
|
|
131
|
+
cell `tabindex`/`[data-editable]` is rendered. `F2`/`Enter` on the cell or
|
|
132
|
+
`editCell(rowKey, columnKey)` opens its editor; Enter on the row still activates the row.
|
|
133
|
+
Commit/cancel restores focus to the opening cell.
|
|
134
|
+
- **Focus (`'always'`).** Editors have no explicit `tabindex`: like row-expand toggles, they are
|
|
135
|
+
ordinary Tab stops outside header/row/cell roving focus. Tab walks down the column; arrows
|
|
136
|
+
navigate from the row stop but move the caret inside fields. Non-editable columns are unchanged.
|
|
137
|
+
- **Value binding.** Persistent text/number editors bind the `value` content attribute, not
|
|
138
|
+
`.value`, preserving native dirty-value semantics: new `rows` values update untouched editors
|
|
139
|
+
but cannot replace a typed draft. Persistent selects have no equivalent protection;
|
|
140
|
+
refreshed rows re-apply their selection even over an uncommitted choice. `lr-cell-edit` is
|
|
141
|
+
the only mutation channel; the table never mutates `row`.
|
|
142
|
+
- **Keys (`'always'`).** Enter emits `lr-cell-edit` and keeps field focus. `change` commits in
|
|
143
|
+
both modes. Escape neither changes the persistent editor nor cancels
|
|
144
|
+
the event, so ancestor dialogs/popovers can handle it.
|
|
145
|
+
- **Re-sorts/pages.** Keyed rows move the existing input with its draft; focus is restored to the
|
|
146
|
+
same logical cell after sorting. If filtering/pagination removes that row from the page, focus
|
|
147
|
+
is lost rather than moved to an unrelated replacement row.
|
|
148
|
+
- **Accessible names.** `editLabel(row)` overrides the default localized `tableEditCell`
|
|
149
|
+
(`Edit {column}`), which has no row context. The default is adequate for the single transient
|
|
150
|
+
editor. Always define `editLabel` for persistent editors: repeated identical names (e.g. fifty
|
|
151
|
+
“Edit Status” comboboxes) fail WCAG 2.4.6 and 1.3.1; each row needs a distinct editor name.
|
|
168
152
|
- `hasHiddenPriorityColumns: boolean = false` (attribute `has-hidden-priority-columns`, reflected) —
|
|
169
153
|
computed/read-only and true only while a priority column is actually hidden. It becomes false
|
|
170
154
|
when `priorityColumnsVisible` reveals the columns. Measured via a `ResizeObserver` on
|
|
@@ -174,10 +158,20 @@ cell: (row) => unknown }` — `cell` is required for every `editTrigger` except
|
|
|
174
158
|
lasting effect; it is recomputed on the next render or resize. The toggle remains available while
|
|
175
159
|
a narrow table is revealed, even though this property truthfully reports false
|
|
176
160
|
- `rows: readonly T[] = []` (attribute: false; clone-owned frozen collection bounded to the first
|
|
177
|
-
10,000
|
|
161
|
+
`maxRows` rows, 10,000 by default; reassign a new array to update — rebinding the array `rows`, `columns`,
|
|
178
162
|
`selectedRowKeys` or `expandedRowKeys` last received is a no-op). Records are retained
|
|
179
163
|
here; one canonical `rowKey` projection omits blank and later-duplicate identities first-wins
|
|
180
164
|
before filtering, counts, pagination, focus, actions, and events
|
|
165
|
+
- `maxRows: number = 10000` (attribute `max-rows`) — row and controlled-key admission limit,
|
|
166
|
+
normalized to 1–100,000; non-finite values use the default. Configure it before assigning `rows`.
|
|
167
|
+
After changing it, assign a new row collection to deterministically supply rows excluded by the
|
|
168
|
+
previous cap. A cap change can also reread the original collection while the caller retains it;
|
|
169
|
+
recovery does not depend on keeping that source alive. Column inspection remains bounded to
|
|
170
|
+
10,000 source positions. Pagination still renders 100 rows by default and at most 500 per page.
|
|
171
|
+
Lowering the cap also trims retained selected and expanded key sets without emitting selection
|
|
172
|
+
or expansion events. Reassign controlled key collections after raising it to restore excluded keys.
|
|
173
|
+
At the key cap, existing keys retain priority over a newly toggled key; selection and expansion
|
|
174
|
+
events report the actual retained state.
|
|
181
175
|
- `layout: 'auto'|'fixed' = 'auto'` (reflected) — a **floor** on the `<table>`'s `table-layout`, not
|
|
182
176
|
an override. `'fixed'` forces the fixed algorithm even when no column declares a `width`, so every
|
|
183
177
|
column shares the available width evenly and long cell content is clipped/wrapped instead of
|
|
@@ -211,13 +205,14 @@ cell: (row) => unknown }` — `cell` is required for every `editTrigger` except
|
|
|
211
205
|
(client-mode) sorting, ignoring pagination — the same set `columns[].footer(rows)`/
|
|
212
206
|
`grandTotal(rows)`/the heat-tint domain already compute over. Read this instead of
|
|
213
207
|
re-implementing filtering/sorting in a consumer that needs "what the grid currently shows" (e.g.
|
|
214
|
-
to export it).
|
|
215
|
-
|
|
208
|
+
to export it). The frozen projection retains its identity until row, sort or filter inputs change.
|
|
209
|
+
Row objects retain their existing identity contract
|
|
216
210
|
- `pageRows: readonly T[]` (readonly; computed, no attribute) — `viewRows` sliced to the page
|
|
217
|
-
currently rendered in `<tbody>`.
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
`row-limit` part
|
|
211
|
+
currently rendered in `<tbody>`. This frozen projection retains its identity until its row,
|
|
212
|
+
sort, filter or page inputs change
|
|
213
|
+
- `rowsTruncated: boolean` (readonly) — `true` when the assigned rows exceed admission capacity;
|
|
214
|
+
excluded rows are not shown, counted, paged or exported. The localized `row-limit` part reports
|
|
215
|
+
the number actually retained, and post-mount truncation changes are announced politely.
|
|
221
216
|
- `rowKey?: (row: T) => K` (attribute: false) — derives each row's stable identity for
|
|
222
217
|
DOM-reconciliation and the delegated row click/keydown lookup; falls back to the row's array index
|
|
223
218
|
when omitted, which is only safe while `rows` never reorders — set it whenever `rows` can be
|
|
@@ -228,7 +223,7 @@ cell: (row) => unknown }` — `cell` is required for every `editTrigger` except
|
|
|
228
223
|
- `selectionMode: 'none'|'single'|'multiple' = 'none'` (attribute `selection-mode`, reflected) —
|
|
229
224
|
opt-in self-managed row selection; the default remains presentational
|
|
230
225
|
- `selectedRowKeys: ReadonlySet<string | number> = new Set()` (attribute: false) — the single selection
|
|
231
|
-
store in every mode, bounded to
|
|
226
|
+
store in every mode, bounded to `maxRows` keys. Single mode enforces at most one key; multiple mode
|
|
232
227
|
toggles membership. Malformed and whitespace-only string keys are omitted, while valid
|
|
233
228
|
unmatched/off-page keys remain controlled state for server pagination. Reads return immutable detached `ReadonlySet`
|
|
234
229
|
facades; reassign a new set to update
|
|
@@ -238,7 +233,10 @@ cell: (row) => unknown }` — `cell` is required for every `editTrigger` except
|
|
|
238
233
|
attribute clears the effective filter safely while retaining native removal readback; a later
|
|
239
234
|
supplied value filters normally.
|
|
240
235
|
- `filter?: (row: T, text: string) => boolean` (attribute: false) — typed predicate used by the
|
|
241
|
-
filter field; when omitted, rows are matched against their JSON representation
|
|
236
|
+
filter field; when omitted, rows are matched against their JSON representation. Default search
|
|
237
|
+
reuses locale-folded text for primitive and frozen scalar records. Mutable rows, nested containers,
|
|
238
|
+
accessors and custom `toJSON` retain per-query reads; reassign collections after data changes to
|
|
239
|
+
invalidate sorted and aggregate projections
|
|
242
240
|
- `filterLabel?: string` (attribute `filter-label`) and `filterPlaceholder?: string`
|
|
243
241
|
(attribute `filter-placeholder`) — omission localizes `tableFilterLabel`/
|
|
244
242
|
`tableFilterPlaceholder`; any supplied string, including the built-in English text or `''`, is
|
|
@@ -329,7 +327,7 @@ cell: (row) => unknown }` — `cell` is required for every `editTrigger` except
|
|
|
329
327
|
for the detail to carry and is reported through `expandedRowKeys` alone. An unrecognized attribute
|
|
330
328
|
value falls back to the controlled behaviour rather than self-managing
|
|
331
329
|
- `expandedRowKeys: ReadonlySet<string | number> = new Set()` (attribute: false; `ReadonlySet<K>` on a
|
|
332
|
-
parameterized element) — expanded state bounded to
|
|
330
|
+
parameterized element) — expanded state bounded to `maxRows` keys. Who writes it depends on
|
|
333
331
|
`expansionMode`: under the default `'none'` the table never mutates it and consumers reassign it
|
|
334
332
|
after `lr-row-expand-toggle`; under `'single'`/`'multiple'` the table writes it on each accepted
|
|
335
333
|
activation, and a `preventDefault()` on `lr-row-expand-request` hands that one change back.
|
|
@@ -500,7 +498,7 @@ button, while `error` is set. Left unfilled, the built-in `[part='error']` `<lr-
|
|
|
500
498
|
this slot's fallback content.
|
|
501
499
|
|
|
502
500
|
**CSS parts:** `base`, `table`, `caption`, `head`, `header-cell`, `row`, `row-limit` (localized
|
|
503
|
-
notice when the assigned row collection exceeds
|
|
501
|
+
notice when the assigned row collection exceeds admission capacity), `cell`, `more-button`, `sort-icon`
|
|
504
502
|
(each sort indicator), `sort-icon-active` (the active chevron, rotated per `sortDir`),
|
|
505
503
|
`sort-icon-inactive` (the muted bidirectional indicator under `sort-indicators="all"`), `reveal-columns-button`
|
|
506
504
|
(shown when priority columns are hidden or when a narrow allocation is currently force-visible),
|
|
@@ -648,65 +646,48 @@ declaration to retheme every internal scroll container in the library, including
|
|
|
648
646
|
|
|
649
647
|
**Known gotchas:**
|
|
650
648
|
|
|
651
|
-
-
|
|
652
|
-
|
|
653
|
-
- `sortValue`/`cell`
|
|
654
|
-
|
|
655
|
-
-
|
|
656
|
-
|
|
657
|
-
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
no host `aria-label` is present the caption also names the grid via
|
|
649
|
+
- Sorting toggles `asc`/`desc`; consumers own any third, unsorted state. Veto `lr-sort-request`
|
|
650
|
+
to prevent state change and commit.
|
|
651
|
+
- `sortValue`/`cell` use column identity. In-place mutation (`t.columns[0].sortValue = …`)
|
|
652
|
+
neither renders nor re-sorts; assign a new `columns` array.
|
|
653
|
+
- Single/multiple selection both use `selectedRowKeys`. No checkbox column is synthesized;
|
|
654
|
+
implement bulk selection through `headerCell()`/`cell()`.
|
|
655
|
+
- Host `aria-label` (or native `ariaLabel`) names the internal `<table role="grid">` verbatim,
|
|
656
|
+
bypassing localization; its presence wins even when empty. `caption: string = ''` supplies an
|
|
657
|
+
optional visible `<caption>` (`caption` part); without a host label it also names the grid through
|
|
661
658
|
`aria-labelledby`.
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
`
|
|
680
|
-
`
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
Initial declarative loading stays silent; every later transition into either loading appearance
|
|
696
|
-
appends the localized loading text to the document's shared light-DOM polite sink, including
|
|
697
|
-
repeated cycles. `[part="base"]` exposes `aria-busy`, `[part="loading"]` is an `aria-hidden`
|
|
698
|
-
mirror rather than a live region, and every placeholder opts out of `<lr-skeleton>`'s own
|
|
699
|
-
announcement, so a skeleton table never announces once per placeholder row.
|
|
700
|
-
- `columns[].cellTitle` returning an empty string **or** `undefined` omits the `title` attribute
|
|
701
|
-
entirely rather than rendering `title=""` — an empty `title` would suppress an ancestor element's
|
|
702
|
-
own tooltip. The attribute is also suppressed while that cell is in inline-edit mode, so the
|
|
703
|
-
tooltip can't shadow the editor. Accessibility caveat: some screen readers announce a `<td title>`
|
|
704
|
-
as the cell's accessible _name_, replacing the cell's content rather than supplementing it (the
|
|
705
|
-
same caveat `lr-stat`'s `exactValue` carries). Use it for a longer form of what the cell already
|
|
706
|
-
shows, never for information that exists nowhere else.
|
|
707
|
-
- For an externally authoritative value, re-key the row (`rowKey`) to recreate an `'always'`
|
|
708
|
-
editor, or use the transient `editTrigger: 'double-click'` editor. Persistent text/number editors
|
|
709
|
-
otherwise retain dirty drafts; persistent select editors re-apply refreshed selections, as
|
|
710
|
-
described under `columns[].editTrigger` above.
|
|
659
|
+
Without either name, first render issues one development-only `console.warn`; production and
|
|
660
|
+
unknown/unbundled runtimes stay silent.
|
|
661
|
+
- `revealColumnsLabel`/`columnsHideLabel` only label `[part='reveal-columns-button']`, which
|
|
662
|
+
requires a `priority` column. Setting either without one is inert and issues the same one-time,
|
|
663
|
+
development-only warning; production and unknown/unbundled runtimes stay silent.
|
|
664
|
+
- Headers and body rows each have one roving `tabindex="0"`. Left/Right/Home/End navigate headers;
|
|
665
|
+
Up/Down/Home/End navigate rows. Down enters the body from a header; Up from the first row
|
|
666
|
+
returns to the header. Enter/Space sort or activate. Priority-hidden columns are skipped.
|
|
667
|
+
- `cell()` controls retain their actions. Delegated clicks/Enter/Space inspect the composed path
|
|
668
|
+
for buttons, links, inputs, selects, textareas, summaries, media with controls, editable content,
|
|
669
|
+
non-negative `tabindex`, or roles `button`, `checkbox`, `combobox`, `listbox`, `menu`, `menuitem`,
|
|
670
|
+
`option`, `radio`, `separator`, `slider`, `spinbutton`, `switch`, `tab`, `textbox`.
|
|
671
|
+
Open-shadow controls expose these semantics. Passive custom elements (formatters/badges) remain
|
|
672
|
+
row activation surfaces; a hyphenated tag alone is not an exemption. Closed-shadow controls can
|
|
673
|
+
opt out with `data-table-interactive` on their visible host.
|
|
674
|
+
- Fixed layout (explicit or resolved from `'auto'`) uses the first row, including headers, to
|
|
675
|
+
determine widths when none are declared. Revealing priority columns through
|
|
676
|
+
`[part='reveal-columns-button']` can therefore resize every column. Fixed layout ignores
|
|
677
|
+
`columns[].minWidth`/`maxWidth`; declare `width` for a specific size.
|
|
678
|
+
- Skeletons cannot stabilize content-sized columns: default `table-layout: auto` placeholders
|
|
679
|
+
lack intrinsic width, so arriving data re-measures columns as any data change can. Declare
|
|
680
|
+
`columns[].width` or `layout="fixed"` for identical loading/loaded widths. Initial declarative
|
|
681
|
+
loading is silent; each later transition into either loading appearance, including repeated
|
|
682
|
+
cycles, appends localized loading text to the shared light-DOM polite sink. `base` exposes
|
|
683
|
+
`aria-busy`; `loading` is an `aria-hidden` mirror, not a live region. Placeholders disable their
|
|
684
|
+
own `<lr-skeleton>` announcements to avoid one announcement per row.
|
|
685
|
+
- `cellTitle` returning `''`/`undefined` omits `title`, preserving ancestor tooltips; inline editing
|
|
686
|
+
also suppresses it. Some screen readers replace the cell's accessible name with `<td title>`
|
|
687
|
+
rather than supplementing its content (also a caveat of `lr-stat`'s `exactValue`). Use it only
|
|
688
|
+
to expand visible information, never as the sole source of information.
|
|
689
|
+
- To replace a persistent editor with an externally authoritative value, re-key its row (`rowKey`)
|
|
690
|
+
or use transient `editTrigger: 'double-click'`. Otherwise text/number editors retain dirty
|
|
691
|
+
drafts, while persistent selects re-apply refreshed selections (see `editTrigger`).
|
|
711
692
|
|
|
712
693
|
---
|