@aceshooting/lyra-ui 29.0.2 → 29.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/README.md +19 -26
- package/design-tokens.json +1 -1
- package/dist/cli/migrate-wa.mjs +2 -0
- package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +5 -3
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js +4 -3
- package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +1 -1
- package/dist/components/agent-tools/agent-trace/agent-trace.class.d.ts +21 -5
- package/dist/components/agent-tools/agent-trace/agent-trace.class.js +14 -11
- package/dist/components/agent-tools/agent-trace/agent-trace.styles.js +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +34 -7
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +25 -11
- package/dist/components/agent-tools/eval-result/eval-result-source.js +1 -0
- package/dist/components/agent-tools/eval-result/eval-result.class.d.ts +31 -11
- package/dist/components/agent-tools/eval-result/eval-result.class.js +29 -15
- package/dist/components/agent-tools/eval-result/eval-result.styles.js +1 -1
- package/dist/components/agent-tools/eval-result/eval-run-result.d.ts +10 -0
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.d.ts +26 -5
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +16 -6
- package/dist/components/agent-tools/span-waterfall/span-waterfall.d.ts +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.js +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +1 -1
- package/dist/components/agent-tools/task-list/task-list.class.d.ts +29 -6
- package/dist/components/agent-tools/task-list/task-list.class.js +13 -7
- package/dist/components/agent-tools/task-list/task-list.d.ts +1 -1
- package/dist/components/agent-tools/task-list/task-list.js +1 -1
- package/dist/components/agent-tools/task-list/task-list.styles.js +1 -1
- package/dist/components/agent-tools/terminal/terminal.class.d.ts +9 -5
- package/dist/components/agent-tools/terminal/terminal.class.js +8 -8
- package/dist/components/agent-tools/test-results/test-results.class.d.ts +16 -4
- package/dist/components/agent-tools/test-results/test-results.class.js +15 -6
- package/dist/components/agent-tools/test-results/test-results.d.ts +1 -0
- package/dist/components/agent-tools/test-results/test-results.js +1 -1
- package/dist/components/agent-tools/test-results/test-results.styles.js +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts +7 -4
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +2 -1
- package/dist/components/agent-tools/trace-tree/span-projection.js +1 -0
- package/dist/components/agent-tools/trace-tree/span-shared.d.ts +29 -0
- package/dist/components/agent-tools/trace-tree/span-shared.js +1 -0
- package/dist/components/agent-tools/trace-tree/span.d.ts +5 -35
- package/dist/components/agent-tools/trace-tree/span.js +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.class.d.ts +27 -5
- package/dist/components/agent-tools/trace-tree/trace-tree.class.js +19 -9
- package/dist/components/agent-tools/trace-tree/trace-tree.d.ts +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.js +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +1 -1
- package/dist/components/charts/chart/bar-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/box-plot.class.d.ts +2 -2
- package/dist/components/charts/chart/box-plot.class.js +3 -3
- package/dist/components/charts/chart/bubble-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/chart-prepared-data.d.ts +9 -0
- package/dist/components/charts/chart/chart-prepared-data.js +1 -0
- package/dist/components/charts/chart/chart-spatial-data.js +2 -0
- package/dist/components/charts/chart/chart-sync.js +1 -1
- package/dist/components/charts/chart/chart-table-sampling.js +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +56 -6
- package/dist/components/charts/chart/chart.class.js +18 -8
- package/dist/components/charts/chart/chart.styles.js +1 -1
- package/dist/components/charts/chart/doughnut-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/histogram-buckets.d.ts +1 -1
- package/dist/components/charts/chart/histogram-buckets.js +1 -1
- package/dist/components/charts/chart/histogram.class.d.ts +19 -4
- package/dist/components/charts/chart/histogram.class.js +1 -1
- package/dist/components/charts/chart/line-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts +51 -11
- package/dist/components/charts/chart/lite-chart.class.js +33 -27
- package/dist/components/charts/chart/lite-chart.styles.js +1 -1
- package/dist/components/charts/chart/pie-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/polar-area-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/radar-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/scatter-chart.class.d.ts +5 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +6 -3
- package/dist/components/conversation/agent-workspace/agent-workspace.class.js +6 -5
- package/dist/components/conversation/agent-workspace/agent-workspace.styles.js +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +8 -0
- package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-base.class.d.ts +5 -3
- package/dist/components/conversation/code-block/code-block-base.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-core.class.d.ts +4 -1
- package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-shared.d.ts +6 -4
- package/dist/components/conversation/code-block/code-block-shared.js +3 -2
- package/dist/components/conversation/code-block/code-block.class.d.ts +11 -4
- package/dist/components/conversation/code-block/code-block.class.js +1 -1
- package/dist/components/conversation/code-block/code-block.d.ts +1 -1
- package/dist/components/conversation/code-block/code-block.styles.js +1 -1
- package/dist/components/conversation/code-block/shiki-types.d.ts +2 -0
- package/dist/components/conversation/code-block/shiki-types.js +1 -1
- package/dist/components/conversation/markdown/markdown-base.class.d.ts +6 -4
- package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
- package/dist/components/conversation/markdown/markdown-code-header.d.ts +2 -2
- package/dist/components/conversation/markdown/markdown-code-header.js +1 -1
- package/dist/components/conversation/markdown/markdown-core.class.d.ts +8 -3
- package/dist/components/conversation/markdown/markdown-progressive.js +2 -2
- package/dist/components/conversation/markdown/markdown-shared.d.ts +5 -10
- package/dist/components/conversation/markdown/markdown-shared.js +5 -5
- package/dist/components/conversation/markdown/markdown-streaming-tail.js +1 -1
- package/dist/components/conversation/markdown/markdown.class.d.ts +17 -10
- package/dist/components/conversation/markdown/markdown.class.js +1 -1
- package/dist/components/conversation/markdown/markdown.styles.js +1 -1
- package/dist/components/conversation/model-select/model-select.class.d.ts +4 -3
- package/dist/components/conversation/model-select/model-select.class.js +3 -2
- package/dist/components/conversation/model-select/model-select.styles.js +1 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.d.ts +2 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js +2 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.styles.js +1 -1
- package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +3 -2
- package/dist/components/conversation/prompt-input/prompt-input.class.js +2 -1
- package/dist/components/conversation/prompt-input/prompt-input.styles.js +1 -1
- package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts +10 -2
- package/dist/components/conversation/prompt-queue/prompt-queue.class.js +15 -6
- package/dist/components/conversation/prompt-queue/prompt-queue.styles.js +1 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.d.ts +3 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.js +2 -1
- package/dist/components/conversation/realtime-session/realtime-session.styles.js +1 -1
- package/dist/components/conversation/streaming-text/markdown-detection.d.ts +2 -0
- package/dist/components/conversation/streaming-text/markdown-detection.js +4 -1
- package/dist/components/conversation/streaming-text/streaming-text-base.class.d.ts +6 -2
- package/dist/components/conversation/streaming-text/streaming-text-base.class.js +3 -3
- package/dist/components/conversation/streaming-text/streaming-text-core.class.js +1 -1
- package/dist/components/conversation/streaming-text/streaming-text.class.js +1 -0
- package/dist/components/conversation/thread-list/thread-list.class.d.ts +34 -4
- package/dist/components/conversation/thread-list/thread-list.class.js +22 -15
- package/dist/components/conversation/thread-list/thread-list.d.ts +1 -1
- package/dist/components/conversation/thread-list/thread-list.js +1 -1
- package/dist/components/conversation/thread-list/thread-list.styles.js +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +6 -2
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js +3 -2
- package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +3 -2
- package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -2
- package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
- package/dist/components/data/calendar/calendar.class.d.ts +5 -2
- package/dist/components/data/calendar/calendar.class.js +1 -1
- package/dist/components/data/data-grid/data-grid-processing.js +2 -2
- package/dist/components/data/data-grid/data-grid.class.d.ts +22 -8
- package/dist/components/data/data-grid/data-grid.class.js +20 -19
- package/dist/components/data/data-grid/data-grid.styles.js +1 -1
- package/dist/components/data/document-library/document-library.class.d.ts +31 -4
- package/dist/components/data/document-library/document-library.class.js +25 -12
- package/dist/components/data/document-library/document-library.styles.js +1 -1
- package/dist/components/data/file-tree/file-tree.class.d.ts +30 -6
- package/dist/components/data/file-tree/file-tree.class.js +4 -3
- package/dist/components/data/file-tree/file-tree.d.ts +1 -0
- package/dist/components/data/file-tree/file-tree.js +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +31 -6
- package/dist/components/data/flow-canvas/flow-canvas.class.js +40 -19
- package/dist/components/data/flow-canvas/flow-canvas.styles.js +1 -1
- package/dist/components/data/flow-canvas/flow-model.js +1 -1
- package/dist/components/data/flow-canvas/flow-source.js +1 -0
- package/dist/components/data/flow-canvas/flow-types.d.ts +4 -2
- package/dist/components/data/flow-canvas/flow-viewport-index.js +1 -0
- package/dist/components/data/flow-minimap/flow-minimap.class.d.ts +9 -3
- package/dist/components/data/flow-minimap/flow-minimap.class.js +11 -2
- package/dist/components/data/flow-minimap/flow-minimap.styles.js +1 -1
- package/dist/components/data/funnel/funnel.class.d.ts +7 -3
- package/dist/components/data/funnel/funnel.class.js +2 -2
- package/dist/components/data/heatmap/calendar-grid.d.ts +1 -1
- package/dist/components/data/heatmap/calendar-grid.js +1 -1
- package/dist/components/data/heatmap/heatmap-grid-navigation.js +1 -1
- package/dist/components/data/heatmap/heatmap-limits.d.ts +1 -1
- package/dist/components/data/heatmap/heatmap-matrix-source-controller.js +1 -0
- package/dist/components/data/heatmap/heatmap-matrix-source.d.ts +5 -0
- package/dist/components/data/heatmap/heatmap-matrix-source.js +1 -0
- package/dist/components/data/heatmap/heatmap-scale.d.ts +0 -16
- package/dist/components/data/heatmap/heatmap-scale.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +40 -11
- package/dist/components/data/heatmap/heatmap.class.js +26 -6
- package/dist/components/data/heatmap/heatmap.styles.js +1 -1
- package/dist/components/data/pagination/pagination.class.js +1 -1
- package/dist/components/data/sequence-strip/sequence-strip-item.d.ts +17 -0
- package/dist/components/data/sequence-strip/sequence-strip-source-controller.js +1 -0
- package/dist/components/data/sequence-strip/sequence-strip-source.d.ts +5 -0
- package/dist/components/data/sequence-strip/sequence-strip-source.js +1 -0
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +24 -19
- package/dist/components/data/sequence-strip/sequence-strip.class.js +23 -4
- package/dist/components/data/sequence-strip/sequence-strip.styles.js +1 -1
- package/dist/components/data/sparkline/sparkline.class.d.ts +17 -4
- package/dist/components/data/sparkline/sparkline.class.js +3 -3
- package/dist/components/data/sparkline/sparkline.styles.js +1 -1
- package/dist/components/data/table/table.class.d.ts +14 -10
- package/dist/components/data/table/table.class.js +17 -16
- package/dist/components/data/timeline/timeline.class.d.ts +5 -2
- package/dist/components/data/timeline/timeline.class.js +1 -1
- package/dist/components/data/tree/tree-item.class.js +1 -1
- package/dist/components/data/tree/tree-owner-controller.js +1 -1
- package/dist/components/data/tree/tree.class.d.ts +28 -6
- package/dist/components/data/tree/tree.class.js +3 -3
- package/dist/components/data/tree/tree.d.ts +1 -0
- package/dist/components/data/tree/tree.js +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.d.ts +17 -7
- package/dist/components/data/word-cloud/word-cloud.class.js +6 -4
- package/dist/components/data/word-cloud/word-cloud.styles.js +1 -1
- package/dist/components/forms/catalog-picker-base.d.ts +1 -1
- package/dist/components/forms/catalog-picker-base.js +6 -6
- package/dist/components/forms/catalog-picker-base.styles.js +1 -1
- package/dist/components/forms/combobox/combobox.class.d.ts +7 -3
- package/dist/components/forms/combobox/combobox.class.js +1 -1
- package/dist/components/forms/combobox/option.class.d.ts +4 -2
- package/dist/components/forms/combobox/option.class.js +2 -2
- package/dist/components/forms/country-picker/country-picker.class.d.ts +3 -1
- package/dist/components/forms/country-picker/country-picker.class.js +1 -1
- package/dist/components/forms/currency-picker/currency-picker.class.d.ts +2 -0
- package/dist/components/forms/currency-picker/currency-picker.class.js +1 -1
- package/dist/components/forms/currency-picker/currency-presentation.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +6 -2
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +3 -2
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +8 -2
- package/dist/components/forms/locale-picker/locale-picker.class.js +5 -4
- package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
- package/dist/components/forms/select/select.class.d.ts +11 -3
- package/dist/components/forms/select/select.class.js +4 -4
- package/dist/components/forms/time-zone-picker/time-zone-picker.class.d.ts +2 -0
- package/dist/components/forms/time-zone-picker/time-zone-picker.class.js +1 -1
- package/dist/components/forms/token-input/token-input.class.d.ts +6 -1
- package/dist/components/forms/token-input/token-input.class.js +15 -13
- package/dist/components/forms/unit-picker/unit-picker.class.d.ts +2 -0
- package/dist/components/forms/unit-picker/unit-picker.class.js +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +1 -1
- package/dist/components/layout/app-rail/app-rail.class.js +1 -1
- package/dist/components/layout/command-palette/command-palette.class.d.ts +5 -2
- package/dist/components/layout/command-palette/command-palette.class.js +2 -1
- package/dist/components/layout/command-palette/command-palette.styles.js +1 -1
- package/dist/components/layout/menu/menu-item.class.d.ts +2 -2
- package/dist/components/layout/menu/menu-item.class.js +2 -2
- package/dist/components/layout/menu/menu.class.d.ts +1 -1
- package/dist/components/layout/menu/menu.class.js +1 -1
- package/dist/components/layout/menubar/menubar.class.d.ts +1 -1
- package/dist/components/layout/menubar/menubar.class.js +1 -1
- package/dist/components/layout/reorder-list/reorder-item.class.d.ts +2 -2
- package/dist/components/layout/reorder-list/reorder-item.class.js +2 -2
- package/dist/components/layout/reorder-list/reorder-list.class.d.ts +1 -1
- package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts +13 -9
- package/dist/components/layout/virtual-list/virtual-list.class.js +21 -17
- package/dist/components/media/av-player/av-cue-index.js +1 -0
- package/dist/components/media/av-player/av-cue-source.d.ts +13 -0
- package/dist/components/media/av-player/av-cue-source.js +1 -0
- package/dist/components/media/av-player/av-metadata.d.ts +2 -2
- package/dist/components/media/av-player/av-metadata.js +1 -1
- package/dist/components/media/av-player/av-player-cue-source-controller.js +1 -0
- package/dist/components/media/av-player/av-player.class.d.ts +34 -12
- package/dist/components/media/av-player/av-player.class.js +15 -10
- package/dist/components/media/flag/flag.class.js +1 -1
- package/dist/components/media/flag/language-map.js +1 -1
- package/dist/components/media/lightbox/lightbox-source.js +1 -0
- package/dist/components/media/lightbox/lightbox-types.d.ts +15 -0
- package/dist/components/media/lightbox/lightbox.class.d.ts +22 -21
- package/dist/components/media/lightbox/lightbox.class.js +6 -4
- package/dist/components/media/lightbox/lightbox.styles.js +1 -1
- package/dist/components/media/map/map-geojson-diff.d.ts +6 -6
- package/dist/components/media/map/map-geojson-diff.js +1 -1
- package/dist/components/media/map/map-loader.d.ts +5 -1
- package/dist/components/media/map/map.class.d.ts +24 -6
- package/dist/components/media/map/map.class.js +2 -2
- package/dist/components/media/map/map.styles.js +1 -1
- package/dist/components/media/video-playlist/video-playlist.class.d.ts +2 -1
- package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
- package/dist/components/overlays/chip/chip.class.d.ts +1 -1
- package/dist/components/overlays/chip/chip.class.js +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts +30 -8
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +22 -8
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +1 -1
- package/dist/components/retrieval/graph/graph-canvas.js +1 -1
- package/dist/components/retrieval/graph/graph-source-composition.js +1 -0
- package/dist/components/retrieval/graph/graph-source-controller.js +1 -0
- package/dist/components/retrieval/graph/graph-spatial-controller.js +2 -2
- package/dist/components/retrieval/graph/graph-spatial-model.js +1 -0
- package/dist/components/retrieval/graph/graph-spatial.js +1 -1
- package/dist/components/retrieval/graph/graph.class.d.ts +31 -6
- package/dist/components/retrieval/graph/graph.class.js +26 -5
- package/dist/components/retrieval/graph/graph.d.ts +1 -1
- package/dist/components/retrieval/graph/graph.js +1 -1
- package/dist/components/retrieval/graph/graph.styles.js +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +33 -4
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +27 -17
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.d.ts +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.js +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.styles.js +1 -1
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +27 -4
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +29 -14
- package/dist/components/retrieval/knowledge-base/knowledge-base.styles.js +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +17 -3
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +15 -10
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +24 -5
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +17 -10
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.d.ts +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.js +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map-layout.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map-model.js +1 -0
- package/dist/components/retrieval/mind-map/mind-map.class.d.ts +27 -4
- package/dist/components/retrieval/mind-map/mind-map.class.js +11 -7
- package/dist/components/retrieval/mind-map/mind-map.d.ts +1 -0
- package/dist/components/retrieval/mind-map/mind-map.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map.styles.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.d.ts +24 -2
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +17 -3
- package/dist/components/retrieval/neighbor-list/neighbor-list.d.ts +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +1 -1
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +8 -4
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +11 -7
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.styles.js +1 -1
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.d.ts +12 -6
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +30 -17
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results-model.js +1 -0
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +46 -5
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +31 -9
- package/dist/components/retrieval/retrieval-results/retrieval-results.d.ts +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.styles.js +1 -1
- package/dist/components/utility/diff-view/diff-view.class.d.ts +16 -8
- package/dist/components/utility/diff-view/diff-view.class.js +3 -2
- package/dist/components/utility/diff-view/diff-view.styles.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.class.d.ts +31 -3
- package/dist/components/utility/json-viewer/json-viewer.class.js +13 -4
- package/dist/components/utility/json-viewer/json-viewer.d.ts +1 -0
- package/dist/components/utility/json-viewer/json-viewer.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.styles.js +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.d.ts +6 -4
- package/dist/components/utility/mention-popover/mention-popover.class.js +6 -5
- package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +34 -7
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js +9 -7
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +28 -4
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +12 -11
- package/dist/components/viewers/geojson-view/geojson-viewer.class.d.ts +3 -1
- package/dist/components/viewers/geojson-view/geojson-viewer.class.js +17 -16
- package/dist/components/viewers/geojson-view/geojson-viewer.d.ts +1 -1
- package/dist/components/viewers/geojson-view/geojson-viewer.js +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +31 -5
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +11 -8
- package/dist/components/viewers/table-viewer-shared.js +19 -3
- package/dist/components/viewers/viewer-search-limits.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +35 -3
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js +20 -5
- package/dist/components/viewers/xml-viewer/xml-viewer.d.ts +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.styles.js +1 -1
- package/dist/countries.js +1 -1
- package/dist/data-sources.d.ts +34 -0
- package/dist/data-sources.js +1 -0
- package/dist/events.d.ts +51 -7
- package/dist/framework-types.d.ts +1 -1
- package/dist/internal/accessibility-visibility.d.ts +4 -2
- package/dist/internal/accessibility-visibility.js +1 -1
- package/dist/internal/accessible-text-controller.js +1 -1
- package/dist/internal/anchor-target.js +2 -2
- package/dist/internal/catalog-picker.d.ts +1 -7
- package/dist/internal/catalog-picker.js +1 -1
- package/dist/internal/collection-snapshot.js +1 -1
- package/dist/internal/default-strings/agent-tools.generated.js +1 -1
- package/dist/internal/default-strings/charts.generated.js +1 -1
- package/dist/internal/default-strings/conversation.generated.js +1 -1
- package/dist/internal/default-strings/data.generated.js +1 -1
- package/dist/internal/default-strings/forms.generated.js +1 -1
- package/dist/internal/default-strings/layout.generated.js +1 -1
- package/dist/internal/default-strings/media.generated.js +1 -1
- package/dist/internal/default-strings/retrieval.generated.js +1 -1
- package/dist/internal/default-strings/shared.generated.js +1 -1
- package/dist/internal/default-strings/utility.generated.js +1 -1
- package/dist/internal/delimited-data.js +1 -1
- package/dist/internal/fixed-containing-block.js +1 -1
- package/dist/internal/flow-scene-envelope.js +1 -0
- package/dist/internal/graph-scene-controller.js +1 -0
- package/dist/internal/hierarchy-source-controller.js +1 -0
- package/dist/internal/hierarchy-source-view.js +29 -0
- package/dist/internal/hierarchy-source-view.styles.js +1 -0
- package/dist/internal/inherited-attribute-hub.d.ts +6 -0
- package/dist/internal/inherited-attribute-hub.js +1 -1
- package/dist/internal/intl-cache.js +1 -1
- package/dist/internal/keyed-index.js +1 -0
- package/dist/internal/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +2 -2
- package/dist/internal/lyra-element.d.ts +2 -2
- package/dist/internal/lyra-element.js +3 -2
- package/dist/internal/native-modal-context.js +1 -1
- package/dist/internal/option-selection.js +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/positioner.js +1 -1
- package/dist/internal/resource-loader.d.ts +2 -0
- package/dist/internal/resource-loader.js +1 -1
- package/dist/internal/scoped-definitions.generated.js +1 -1
- package/dist/internal/search-haystack.js +1 -0
- package/dist/internal/selection-catalog.d.ts +5 -0
- package/dist/internal/selection-catalog.js +1 -1
- package/dist/internal/shiki-language-sources.js +1 -0
- package/dist/internal/source-page-controller.js +1 -0
- package/dist/internal/source-page-scope.js +1 -0
- package/dist/internal/source-request-controller.js +1 -0
- package/dist/internal/source-window-controller.js +1 -0
- package/dist/internal/spatial-source-controller.js +1 -0
- package/dist/internal/text-quote.d.ts +2 -6
- package/dist/internal/text-quote.js +1 -1
- package/dist/internal/theme-watcher.js +1 -1
- package/dist/internal/virtual-list-composition.js +1 -0
- package/dist/lyra.d.ts +1 -1
- package/dist/lyra.js +1 -1
- package/dist/testing/interaction-drivers.js +1 -1
- package/dist/testing/lyra-tag-event-map.js +1 -1
- package/dist/units.js +1 -1
- package/dist/utilities/data-preparation.d.ts +56 -0
- package/dist/utilities/data-preparation.js +1 -0
- package/dist/utilities/data-spatial.d.ts +26 -0
- package/dist/utilities/data-spatial.js +1 -0
- package/dist/utilities/index.d.ts +1 -1
- package/dist/utilities/index.js +1 -1
- package/llms/components/lr-activity-feed.md +7 -2
- package/llms/components/lr-agent-trace.md +49 -9
- package/llms/components/lr-agent-workspace.md +15 -8
- package/llms/components/lr-av-player.md +180 -10
- package/llms/components/lr-bar-chart.md +1 -1
- package/llms/components/lr-box-plot.md +8 -0
- package/llms/components/lr-bubble-chart.md +1 -1
- package/llms/components/lr-calendar.md +26 -3
- package/llms/components/lr-chart.md +310 -23
- package/llms/components/lr-chat-viewport.md +6 -0
- package/llms/components/lr-code-block-core.md +12 -7
- package/llms/components/lr-code-block.md +23 -9
- package/llms/components/lr-combobox.md +27 -15
- package/llms/components/lr-command-palette.md +16 -3
- package/llms/components/lr-country-picker.md +23 -6
- package/llms/components/lr-csv-viewer.md +95 -12
- package/llms/components/lr-currency-picker.md +23 -3
- package/llms/components/lr-data-grid.md +24 -6
- package/llms/components/lr-dataset-viewer.md +92 -11
- package/llms/components/lr-dialog.md +1 -1
- package/llms/components/lr-diff-view.md +19 -6
- package/llms/components/lr-document-library.md +60 -5
- package/llms/components/lr-doughnut-chart.md +1 -1
- package/llms/components/lr-embedding-explorer.md +89 -9
- package/llms/components/lr-emoji-picker.md +7 -2
- package/llms/components/lr-eval-dataset.md +56 -7
- package/llms/components/lr-eval-result.md +89 -4
- package/llms/components/lr-export-button.md +1 -1
- package/llms/components/lr-file-tree.md +60 -6
- package/llms/components/lr-flag.md +5 -2
- package/llms/components/lr-flow-canvas.md +152 -14
- package/llms/components/lr-flow-minimap.md +32 -4
- package/llms/components/lr-funnel.md +14 -0
- package/llms/components/lr-geojson-viewer.md +27 -10
- package/llms/components/lr-graph.md +43 -7
- package/llms/components/lr-heatmap.md +161 -5
- package/llms/components/lr-histogram.md +55 -9
- package/llms/components/lr-ingestion-queue.md +54 -3
- package/llms/components/lr-json-viewer.md +87 -7
- package/llms/components/lr-knowledge-base-admin.md +60 -4
- package/llms/components/lr-knowledge-base.md +121 -9
- package/llms/components/lr-knowledge-graph-explorer.md +106 -11
- package/llms/components/lr-lightbox.md +42 -6
- package/llms/components/lr-line-chart.md +28 -5
- package/llms/components/lr-lite-chart.md +96 -31
- package/llms/components/lr-locale-picker.md +6 -4
- package/llms/components/lr-map.md +67 -8
- package/llms/components/lr-markdown-core.md +10 -5
- package/llms/components/lr-markdown.md +23 -6
- package/llms/components/lr-mention-popover.md +11 -6
- package/llms/components/lr-mind-map.md +91 -10
- package/llms/components/lr-model-select.md +8 -4
- package/llms/components/lr-model-settings-panel.md +10 -2
- package/llms/components/lr-navigation-menu.md +1 -1
- package/llms/components/lr-neighbor-list.md +69 -2
- package/llms/components/lr-pie-chart.md +1 -1
- package/llms/components/lr-polar-area-chart.md +1 -1
- package/llms/components/lr-prompt-input.md +9 -2
- package/llms/components/lr-prompt-queue.md +11 -3
- package/llms/components/lr-radar-chart.md +1 -1
- package/llms/components/lr-rag-eval-dashboard.md +9 -2
- package/llms/components/lr-realtime-session.md +6 -2
- package/llms/components/lr-reorder-list.md +4 -0
- package/llms/components/lr-retrieval-compare.md +9 -4
- package/llms/components/lr-retrieval-results.md +104 -6
- package/llms/components/lr-scatter-chart.md +1 -1
- package/llms/components/lr-select.md +20 -10
- package/llms/components/lr-sequence-strip.md +92 -2
- package/llms/components/lr-span-waterfall.md +78 -8
- package/llms/components/lr-sparkline.md +42 -11
- package/llms/components/lr-spreadsheet-viewer.md +109 -14
- package/llms/components/lr-streaming-text-core.md +4 -2
- package/llms/components/lr-streaming-text.md +5 -1
- package/llms/components/lr-table.md +96 -115
- package/llms/components/lr-task-list.md +93 -9
- package/llms/components/lr-terminal.md +9 -0
- package/llms/components/lr-test-results.md +77 -3
- package/llms/components/lr-thread-list.md +86 -1
- package/llms/components/lr-time-zone-picker.md +8 -3
- package/llms/components/lr-timeline.md +5 -0
- package/llms/components/lr-token-input.md +7 -2
- package/llms/components/lr-tool-timeline.md +13 -4
- package/llms/components/lr-trace-tree.md +96 -10
- package/llms/components/lr-transcript-feed.md +9 -2
- package/llms/components/lr-tree.md +87 -15
- package/llms/components/lr-unit-picker.md +8 -3
- package/llms/components/lr-video-playlist.md +2 -0
- package/llms/components/lr-virtual-list.md +17 -8
- package/llms/components/lr-voice-picker.md +8 -3
- package/llms/components/lr-word-cloud.md +128 -12
- package/llms/components/lr-xml-viewer.md +106 -9
- package/llms/index.md +1 -1
- package/llms/peers.md +1 -1
- package/llms/shared/events-and-types.md +725 -264
- package/llms/shared/forms-and-accessibility.md +3 -17
- package/llms/shared/imports-and-registration.md +3 -17
- package/llms/shared/localization-and-rtl.md +0 -2
- package/llms/shared/styles-and-tokens.md +27 -36
- package/llms/shared/testing-and-utilities.md +4 -5
- package/llms/shared.md +770 -349
- package/llms.txt +1 -2
- package/locales.json +139 -139
- package/package.json +13 -4
- package/registrations.json +1 -1
- package/skills/compose-lyra-interfaces/SKILL.md +6 -8
- package/skills/lyra-ui/SKILL.md +20 -51
- package/skills/lyra-ui/commands/review.md +16 -33
- package/skills/lyra-ui/commands/update.md +6 -5
- package/skills/lyra-ui/online-api.md +15 -0
- package/skills/lyra-ui/reporting.md +2 -1
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [agent-tools](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/agent-tools.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 23 parts, 11 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
15
15
|
---
|
|
@@ -20,15 +20,92 @@ A collapsible span hierarchy for one agent/LLM trace (Langfuse/LangSmith run-tre
|
|
|
20
20
|
name, status, an inline duration bar on the shared trace time scale, and optional tokens/cost
|
|
21
21
|
columns. Consumes the same `LyraSpan[]` as `<lr-span-waterfall>`.
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
With `treeSource` unset, span views omit whitespace-only IDs and preserve every nonblank business ID exactly, including
|
|
24
24
|
surrounding whitespace. The first valid admitted duplicate continues to win.
|
|
25
25
|
|
|
26
|
+
**Complete provider hierarchy:** `treeSource: TraceTreeSource | undefined`
|
|
27
|
+
(attribute: false) takes display precedence over `spans`, including when a defined provider is
|
|
28
|
+
invalid. Invalid input shows a localized source failure; setting `undefined` restores current
|
|
29
|
+
legacy spans. `maxNodes` limits only the legacy span projection, not complete provider counts.
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
import type { TraceTreeSource } from
|
|
33
|
+
"@aceshooting/lyra-ui/components/agent-tools/trace-tree/trace-tree.class.js";
|
|
34
|
+
import type { LyraSpan } from
|
|
35
|
+
"@aceshooting/lyra-ui/components/agent-tools/trace-tree/span.js";
|
|
36
|
+
import type { LyraHierarchySource, LyraHierarchyQuery, LyraTraceSourceSummary } from
|
|
37
|
+
"@aceshooting/lyra-ui/data-sources.js";
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
`TraceTreeSource` is exactly
|
|
41
|
+
`LyraHierarchySource<LyraSpan, LyraHierarchyQuery, LyraTraceSourceSummary>`. Its immutable `revision`
|
|
42
|
+
is a nonempty string or finite number. `project(request)` receives revision, locale, abort signal,
|
|
43
|
+
previous opaque `state` (initially `null`), an action (`reset`, `toggle`, `reveal` or item `select`),
|
|
44
|
+
and `{ search: '', hiddenKinds }`. The provider applies kind filtering to the complete hierarchy;
|
|
45
|
+
the component has no source search or copy controls. Return
|
|
46
|
+
`{ state, total, rows, summary: { startMs, endMs }, focusIndex? }`: `total` counts every logical
|
|
47
|
+
node including collapsed nodes, and `rows.count` is the complete currently visible preorder.
|
|
48
|
+
Counts are safe nonnegative integers with `rows.count <= total`; `state` is a nonempty immutable
|
|
49
|
+
snapshot token of at most 65,536 UTF-16 units.
|
|
50
|
+
|
|
51
|
+
The required `LyraTraceSourceSummary` describes the entire trace's timing extent, independent of
|
|
52
|
+
loaded rows, collapsed branches and kind filters. Both endpoints are finite nonnegative
|
|
53
|
+
trace-relative milliseconds, `endMs >= startMs`, with finite difference. Equal endpoints remain
|
|
54
|
+
valid and reported unchanged. Missing/invalid summaries fail visibly; the component never derives
|
|
55
|
+
the global extent from the current window or legacy spans. Bars subtract the global start before
|
|
56
|
+
scaling; running spans retain a visible minimum width without rewriting the supplied extent.
|
|
57
|
+
|
|
58
|
+
`rows` is an immutable `LyraHierarchyView<LyraHierarchyRow<LyraSpan>>`, either indexed
|
|
59
|
+
`itemAt`/`keyAt`/`indexOfKey` or asynchronous `read` plus required `indexOfKey`. Each row has globally
|
|
60
|
+
unique nonblank `key === value.id`, `parentKey`, one-based `level`/`position`, exact sibling
|
|
61
|
+
`setSize`, `childCount`, `expanded`, `selected`, and optional `disabled`/`selectionState`. These
|
|
62
|
+
fields own topology, expansion and provider selection; span `parentId` and nested children never
|
|
63
|
+
rebuild a local hierarchy. Global uniqueness and immutable consistency remain provider obligations
|
|
64
|
+
beyond the bounded admitted window.
|
|
65
|
+
|
|
66
|
+
Only closed span display fields are copied: `id`, `name`, `detail`, `costText`, normalized
|
|
67
|
+
`kind`/`status`, `startMs`, optional `endMs` and valid `tokensIn`/`tokensOut`. Nonblank IDs preserve
|
|
68
|
+
surrounding whitespace. Source start must be finite/nonnegative; an explicit end must be finite
|
|
69
|
+
and at least start. Unknown kinds become `other`, absent statuses `pending`, explicit unknown
|
|
70
|
+
statuses `unknown`; invalid token metrics are omitted. Oversized display strings/rows fail without
|
|
71
|
+
clipping. Keys/state/display strings are each at most 65,536 UTF-16 units; aggregate normalized
|
|
72
|
+
row text including key/parent accounting is bounded to 65,536 units. Admitted cache/staging,
|
|
73
|
+
focused-row and projection-state payloads share 2,000,000 units. Opaque metadata is not traversed.
|
|
74
|
+
|
|
75
|
+
Four 100-row pages are retained (400 rows), plus at most one focused ready row. At most 301 rows
|
|
76
|
+
mount, including the focused row; range reads request at most 100 rows with two physically pending
|
|
77
|
+
reads. One projection call runs at a time with only the latest replacement queued. Ignored aborts
|
|
78
|
+
retain physical permits until settlement. No complete source array, ancestor index or count-sized
|
|
79
|
+
key map is built. Flat rows expose exact logical ARIA depth/sibling positions while visual
|
|
80
|
+
indentation remains bounded; source rows own one treeitem/focus target each.
|
|
81
|
+
|
|
82
|
+
`revealSourceKey(key: string): Promise<boolean>` directly resolves a global provider key, opens its
|
|
83
|
+
ancestors and focuses the returned row. Absent, disabled, invalid, failed, canceled, obsolete and
|
|
84
|
+
unset-source targets resolve `false`; there is no source-wide scan fallback. Source Home/End uses
|
|
85
|
+
the full visible preorder, parent/reveal navigation uses direct lookup and branch arrows are
|
|
86
|
+
RTL-aware. Disabled-row traversal examines at most 32 candidates. `activeSpanId` remains
|
|
87
|
+
caller-controlled: source activation emits `lr-span-select { spanId }` only after the accepted
|
|
88
|
+
item-selection action, without changing it. The active ID paints `aria-current` and reveals once
|
|
89
|
+
per binding/ID; unrelated paints do not repeatedly undo user navigation. Accepted expansion emits
|
|
90
|
+
exactly `lr-span-toggle { spanId, expanded }`. No additional source-selection event is introduced.
|
|
91
|
+
`expandAll()`/`collapseAll()` are no-ops in source mode.
|
|
92
|
+
|
|
93
|
+
Reassign even the same source, or call a keyless `requestUpdate()`, after revision/state changes.
|
|
94
|
+
Changing `hiddenKinds` refreshes the provider query; named selection/presentation paints reuse
|
|
95
|
+
accepted data. Locale/lifecycle refresh and source replacement revoke obsolete controls, requests,
|
|
96
|
+
announcements and reveal effects. Loading/error/empty/retry are localized; window movement does
|
|
97
|
+
not announce historical loaded span statuses as fresh changes. Source-only parts are `source-list`,
|
|
98
|
+
`source-row`, `source-label`, `source-toggle`, `source-status` and `source-error`; existing span
|
|
99
|
+
icon/name/detail/status/duration/token/cost/bar parts remain on their content. The following array
|
|
100
|
+
admission and local hierarchy rules apply with `treeSource` unset.
|
|
101
|
+
|
|
26
102
|
**Properties:** `spans: LyraSpan[] = []` (attribute: false) — the same `LyraSpan` shape documented
|
|
27
103
|
under `lr-span-waterfall` above (exported from `trace-tree/span.ts`); hierarchy comes from
|
|
28
104
|
`parentId`, and a span whose `parentId` is missing or doesn't resolve within the same array renders
|
|
29
105
|
as a root rather than being dropped. Duration bars scale to the whole trace, measured before the
|
|
30
|
-
|
|
31
|
-
tracks. `
|
|
106
|
+
configured span cap is applied, so a truncated tail never stretches the surviving bars across their
|
|
107
|
+
tracks. `maxNodes: number = 500` (attribute `max-nodes`) sets that cap, normalized to `1..5000`;
|
|
108
|
+
unset or non-finite values restore 500. `activeSpanId: string | null = null`
|
|
32
109
|
(attribute `active-span-id`), `label?: string`, `withTokens: boolean = false` (attribute
|
|
33
110
|
`with-tokens`, reflected) — surfaces `tokensIn`/`tokensOut`, `withCost: boolean = false` (attribute
|
|
34
111
|
`with-cost`, reflected) — surfaces `costText`, and `withoutBars: boolean = false` (attribute
|
|
@@ -39,26 +116,35 @@ Token counts render only when finite and non-negative; invalid metrics are omitt
|
|
|
39
116
|
reaching `Intl.NumberFormat`. A row's accessible name includes its optional `detail` text as well
|
|
40
117
|
as its name/status/metrics, and updates when the supplied span data changes. Every trace view uses
|
|
41
118
|
the same bounded runtime projection: provider records are normalized with deterministic first-wins
|
|
42
|
-
identity, then at most
|
|
43
|
-
reserve positions before ordinary input-order spans. Non-object records, empty/blank ids, non-finite
|
|
119
|
+
identity, then at most `maxNodes` mount. The controlled `activeSpanId` and its nearest resolvable
|
|
120
|
+
ancestors reserve positions inside that budget before ordinary input-order spans. Non-object records, empty/blank ids, non-finite
|
|
44
121
|
starts/ends, and later duplicate ids are omitted; negative starts clamp to zero, ends clamp to at
|
|
45
122
|
least their start, unknown kinds become `other`, and explicit unknown statuses become `unknown`;
|
|
46
123
|
an absent status defaults to `pending`. A localized
|
|
47
|
-
`[part="limit"]` note exposes truncation.
|
|
124
|
+
`[part="limit"]` note exposes source or projection truncation. The first 10,000 outer input entries
|
|
125
|
+
are admitted by identity; canonical display fields are copied without traversing opaque provider
|
|
126
|
+
metadata. The active span cannot reserve an entry excluded by source admission. Initial limit
|
|
127
|
+
notices are silent; a later transition into truncation is announced politely.
|
|
48
128
|
|
|
49
|
-
**Methods:** `expandAll()` and `collapseAll()` set every row's expanded
|
|
129
|
+
**Methods:** with `treeSource` unset, `expandAll()` and `collapseAll()` set every row's expanded
|
|
130
|
+
state at once; `revealSourceKey(key)` is the provider navigation method described above.
|
|
50
131
|
|
|
51
132
|
**Events:** `lr-span-select` (`detail: { spanId: string }`, a row was activated) and `lr-span-toggle`
|
|
52
133
|
(`detail: { spanId: string; expanded: boolean }`, a row was expanded or collapsed).
|
|
53
134
|
|
|
54
|
-
**Hidden kinds and focus:** `hiddenKinds: readonly LyraSpan['kind'][] = []` (attribute: false) leaves those kinds out of the tree; a span whose parent is hidden becomes a root, and the duration bars and
|
|
135
|
+
**Hidden kinds and focus with `treeSource` unset:** `hiddenKinds: readonly LyraSpan['kind'][] = []` (attribute: false) leaves those kinds out of the tree; a span whose parent is hidden becomes a root, and the duration bars and configured limit notice keep following the whole admitted trace (`lr-agent-trace` forwards its own `hiddenKinds` here). Opaque provider metadata does not consume a deep-field budget. The browsed row stays the tab stop across `spans`/collapse changes, and the active row scrolls into view only when `active-span-id` changes.
|
|
55
136
|
|
|
56
137
|
**CSS parts:** `base` (`role="tree"`), `header` (the column-header row, only when
|
|
57
138
|
`with-tokens`/`with-cost`), `row` (`role="treeitem"`), `toggle`, `icon`, `name`, `detail`, `status-text`,
|
|
58
139
|
`duration`, `tokens-in`, `tokens-out` (when `with-tokens`), `cost` (when `with-cost`), `bar-track`,
|
|
59
|
-
`bar`, `empty` (shown when `spans` is empty), `limit` (
|
|
140
|
+
`bar`, `empty` (shown when `spans` is empty), `limit` (source or projection truncation notice), and
|
|
60
141
|
`live-region`.
|
|
61
142
|
|
|
143
|
+
With `treeSource` set, additional CSS parts are `source-list` (bounded provider virtual viewport), `source-row` (flat
|
|
144
|
+
logical tree item and focus owner), `source-label` (row content), `source-toggle` (expand/collapse
|
|
145
|
+
or retry button), `source-status` (loading, full-source count or empty text), and `source-error`
|
|
146
|
+
(localized projection or row failure).
|
|
147
|
+
|
|
62
148
|
**Themeable custom properties:** `--lr-trace-tree-row-active-bg` (default
|
|
63
149
|
`var(--lr-color-brand-quiet)`) — the background of the active (`activeSpanId`) row, and the base
|
|
64
150
|
its hover/press mixes from — and
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [conversation](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/conversation.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 11 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
|
---
|
|
@@ -21,6 +21,12 @@ with in-place upgrades keyed by `id`, and a stick-to-bottom auto-scroll with rel
|
|
|
21
21
|
`follow`/`lr-follow-change` contract `<lr-terminal>` uses. Live captions only — recorded-media
|
|
22
22
|
transcript sync is a separate concern.
|
|
23
23
|
|
|
24
|
+
`entries` retains the newest 10,000 records within the shared 50,000-value deep snapshot budget.
|
|
25
|
+
The visible `limit` part discloses omitted input through `transcriptFeedInputLimit`, with `count`
|
|
26
|
+
and `total` placeholders. Final-caption replay suppression keeps up to 10,000 recent IDs, always
|
|
27
|
+
preserving currently retained captions. An ID evicted from that history may be announced if later
|
|
28
|
+
reintroduced.
|
|
29
|
+
|
|
24
30
|
Activating the focused jump action resumes follow and transfers focus to the scroll base when the
|
|
25
31
|
action disappears, unless a newer outside focus move takes precedence.
|
|
26
32
|
|
|
@@ -63,4 +69,5 @@ state or the built-in jump action re-engages it. Direct `follow` assignments and
|
|
|
63
69
|
only), `entry`, `speaker` (omitted for a row repeating the previous row's speaker), `text`
|
|
64
70
|
(`dir="auto"`), `timestamp` (only while `with-timestamps`), `interim` (present alongside `entry` on
|
|
65
71
|
an interim row), `interim-area` (the wrapper holding interim rows, rendered only while at least one
|
|
66
|
-
interim entry exists), `jump-button` (shown only while `follow` is `false`), and `
|
|
72
|
+
interim entry exists), `jump-button` (shown only while `follow` is `false`), `empty`, and `limit`
|
|
73
|
+
(input-loss notice).
|
|
@@ -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** 10 parts, 5 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
13
13
|
- **Documented with** `lr-tree-item` (same section below)
|
|
14
14
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
15
15
|
|
|
@@ -39,7 +39,55 @@ with `badges: [{ text: String(value) }]`. The former item-controller fields (`ac
|
|
|
39
39
|
`depth`, `setSize`, `posInSet`) and context setters were never consumer state; they are now private
|
|
40
40
|
owner context maintained by `<lr-tree>`.
|
|
41
41
|
|
|
42
|
-
**
|
|
42
|
+
**Provider hierarchy:** `treeSource: TreeSource | undefined` (attribute: false) is an
|
|
43
|
+
identity-owned full-source route. `TreeSource` is
|
|
44
|
+
`LyraHierarchySource<LyraTreeNodeData, LyraHierarchyQuery>` from
|
|
45
|
+
`@aceshooting/lyra-ui/data-sources.js`. A defined source takes precedence over `data` and authored
|
|
46
|
+
items; invalid defined input shows a localized source error instead of restoring legacy rows.
|
|
47
|
+
Setting `undefined` restores the current authored-over-data precedence below. Source descriptors
|
|
48
|
+
are never assigned to `data`, and author-written items are retained without being rendered in
|
|
49
|
+
source mode. Reassign the source, including the same object, or call a keyless `requestUpdate()`
|
|
50
|
+
after revision or provider-state changes. Locale changes and reconnect/adoption refresh the
|
|
51
|
+
projection; unrelated named display updates do not.
|
|
52
|
+
|
|
53
|
+
The provider's `project(request)` handles `reset`, `toggle`, `reveal` and `select` actions and returns
|
|
54
|
+
an immutable `{ state, total, rows, focusIndex? }` projection. Requests include revision, locale,
|
|
55
|
+
abort signal, previous opaque `state` (initially `null`), and the fixed query
|
|
56
|
+
`{ search: '', hiddenKinds: [] }`. `total` counts all logical nodes, including collapsed nodes;
|
|
57
|
+
`rows.count` counts the complete currently visible preorder. Both are nonnegative safe integers,
|
|
58
|
+
with `rows.count <= total`. The summary reports those logical counts, not mounted rows. A million
|
|
59
|
+
nodes can remain in host-owned storage without a library-wide flattening or ancestor index.
|
|
60
|
+
|
|
61
|
+
`rows` is a `LyraHierarchyView<LyraHierarchyRow<LyraTreeNodeData>>`: either indexed
|
|
62
|
+
`itemAt`/`keyAt`/`indexOfKey`, or asynchronous `read` plus required `indexOfKey`. There is no scan
|
|
63
|
+
fallback for key lookup. Each row supplies its global unique `key`, matching `value.id`, plus
|
|
64
|
+
`parentKey`, one-based `level`/`position`, exact sibling `setSize`, `childCount`, `expanded`,
|
|
65
|
+
`selected`, and optional
|
|
66
|
+
`disabled`/`selectionState`. Hierarchy metadata owns those states; nested `value.children` is never
|
|
67
|
+
read. Keys must be nonblank strings of at most 65,536 UTF-16 units and are preserved verbatim.
|
|
68
|
+
The opaque state token must be a nonempty string of at most 65,536 units. Display values use own
|
|
69
|
+
data properties, at most 100 badges and 65,536 aggregate display-text units per row; malformed or
|
|
70
|
+
oversized rows fail visibly without compacting logical indices. The provider owns global key
|
|
71
|
+
uniqueness and immutable snapshot consistency; validation covers the bounded admitted window.
|
|
72
|
+
|
|
73
|
+
The source view mounts at most 301 rows, retaining four 100-row pages plus at most one focused
|
|
74
|
+
ready row (401 total). Range requests contain at most 100 rows, with at most two physically pending
|
|
75
|
+
reads. One projection call runs at a time with only the latest replacement queued. Loading/error
|
|
76
|
+
rows are not selectable records; localized retry preserves their logical position. Empty is a
|
|
77
|
+
separate valid state. Providers should honor abort signals; revoked results cannot commit, but an
|
|
78
|
+
ignored abort does not release a physical request until it settles.
|
|
79
|
+
|
|
80
|
+
Source keyboard navigation uses the full visible count for Home/End, direct provider lookup for
|
|
81
|
+
parents/reveal, and RTL-aware branch arrows. Disabled-row navigation examines at most 32 candidates
|
|
82
|
+
and keeps current focus if none can be resolved. Logical ARIA depth/sibling positions remain exact
|
|
83
|
+
while visual indentation clamps at 32 levels. A bounded roving row or root entry stop remains
|
|
84
|
+
available as rows scroll; an off-window focused row is retained within the same mount bound.
|
|
85
|
+
The provider owns selection/cascade/partial state: `single` selects an item, `leaf` permits only
|
|
86
|
+
leaves, `multiple` toggles an item or a branch's `subtree`, and `leaf-multiple` toggles leaves only.
|
|
87
|
+
These adapters expose exploration and selection, with no component source search/copy controls.
|
|
88
|
+
`maxNodes` governs the legacy data model, not the source total or its fixed window bounds.
|
|
89
|
+
|
|
90
|
+
**With `treeSource` undefined, two legacy child models are accepted and never interleave.**
|
|
43
91
|
|
|
44
92
|
- **Declarative** (mirrors the upstream markup, so a tag rename is the whole migration): write
|
|
45
93
|
nested `<lr-tree-item>` elements as light-DOM children, each carrying its own
|
|
@@ -56,6 +104,7 @@ owner context maintained by `<lr-tree>`.
|
|
|
56
104
|
|
|
57
105
|
A tree containing any author-written `<lr-tree-item>` child is read purely as the declarative model
|
|
58
106
|
and `data` is ignored. The empty state renders only when neither model has any items.
|
|
107
|
+
Author-written light-DOM items have no total-node cap; traversal still stops at 64 descendant levels.
|
|
59
108
|
|
|
60
109
|
Both child models use the same selection, roving-focus, checkbox-cascade, icon, and lazy-loading
|
|
61
110
|
engine. The upstream lifecycle names are normalized to the library-wide `lr-` prefix;
|
|
@@ -80,10 +129,10 @@ deeply-nested node's own shadow root still reaches it).
|
|
|
80
129
|
after changes (rebinding the same array is a no-op). A refresh is diffed by id: a node whose
|
|
81
130
|
fields (including an icon template from the same literal with equal values) and children are
|
|
82
131
|
unchanged keeps its previous object, so its row neither re-renders nor re-seeds element state.
|
|
83
|
-
Normalization accepts at most
|
|
132
|
+
Normalization accepts at most `maxNodes` valid nodes (default 1,000) and 64 descendant levels, and lazily
|
|
84
133
|
inspects at most 10,000 root/child array positions globally in depth-first order. It never
|
|
85
134
|
invokes caller accessors and exposes `dataTruncated = true` when malformed or over-budget input
|
|
86
|
-
was omitted or the inspected-position ceiling was reached. When more than
|
|
135
|
+
was omitted or the inspected-position ceiling was reached. When more than `maxNodes` valid nodes are
|
|
87
136
|
supplied, the localized `limit` part reports the retained-node cap; malformed input alone does
|
|
88
137
|
not show that cap notice. Collapsed branches do not instantiate descendants; disclosure projects only normalized
|
|
89
138
|
children while `aria-setsize` preserves the declared sibling count. `LyraTreeNodeData` is
|
|
@@ -100,6 +149,9 @@ LyraVariant; readonly label?: string }`. `badges` renders tone-mapped chips in o
|
|
|
100
149
|
removed by later object refreshes; removing the author attribute restores the current data name.
|
|
101
150
|
`id` is the event, roving-focus, reconciliation, and reorder identity and must be unique across
|
|
102
151
|
the complete reachable hierarchy; malformed rows, blank IDs and later duplicates are omitted as described above
|
|
152
|
+
- `maxNodes: number = 1000` (attribute `max-nodes`) — the object-data node budget, normalized to
|
|
153
|
+
`1..10000`; unset or non-finite values restore 1,000. Set it before assigning `data`. Raising it
|
|
154
|
+
does not recover excluded input automatically: reassign the original source after raising the cap.
|
|
103
155
|
- `selection: 'single'|'multiple'|'leaf'|'leaf-multiple' = 'single'` — self-managed selection for
|
|
104
156
|
both child models. `single` selects one item; `leaf` selects one loaded leaf; `multiple` displays
|
|
105
157
|
checkboxes and cascades through enabled descendants; `leaf-multiple` applies that cascade only
|
|
@@ -114,7 +166,9 @@ LyraVariant; readonly label?: string }`. `badges` renders tone-mapped chips in o
|
|
|
114
166
|
|
|
115
167
|
**Read-only getters:** `selectedItems: readonly LyraTreeItem[]` returns a new frozen snapshot of
|
|
116
168
|
selected item elements in document order, including derived fully-selected parents in either
|
|
117
|
-
multiple mode.
|
|
169
|
+
multiple mode. It returns an empty frozen array in source mode; it never enumerates unmounted
|
|
170
|
+
provider selection. `dataTruncated: boolean` reports legacy bounded/malformed normalization as
|
|
171
|
+
described above.
|
|
118
172
|
|
|
119
173
|
**Keyboard:** ArrowDown/ArrowUp move the roving focus to the next/previous _visible_ node.
|
|
120
174
|
ArrowRight expands a collapsed node (focus stays put; a second ArrowRight then steps into the first
|
|
@@ -148,10 +202,22 @@ roving stop to the next reachable row instead of stranding it, and the state is
|
|
|
148
202
|
`selectedItems` and the multiple-mode cascade are unchanged and a modal that inerts the page can
|
|
149
203
|
never silently wipe a tree's selection.
|
|
150
204
|
|
|
151
|
-
**Methods:** `
|
|
152
|
-
and
|
|
153
|
-
|
|
154
|
-
|
|
205
|
+
**Methods:** `revealSourceKey(key: string): Promise<boolean>` asks the source to reveal a global
|
|
206
|
+
key and focuses its current visible row; it resolves `false` for absent, invalid, obsolete or
|
|
207
|
+
unset-source requests. Source `reveal` responses need a valid `focusIndex` to resolve successfully.
|
|
208
|
+
`expandAll(): Promise<void>`, `collapseAll(): Promise<void>` (both iterative, bounded
|
|
209
|
+
by hierarchy depth, and resolved only after the affected rendered item cascade settles). Items at
|
|
210
|
+
each depth expand together, preserving their individual lifecycle events, motion durations and lazy
|
|
211
|
+
loading behavior.
|
|
212
|
+
|
|
213
|
+
Both bulk methods are no-ops in source mode, and `reorderable` has no source-mode effect. Expansion
|
|
214
|
+
and selection use provider projection actions rather than legacy item/lazy lifecycle events.
|
|
215
|
+
|
|
216
|
+
**Events:** source mode emits `lr-source-selection-change` only after a current user selection
|
|
217
|
+
projection commits: frozen readonly `detail: { key: string; selected: boolean;
|
|
218
|
+
scope: 'item' | 'subtree'; state: string }`. It reports the accepted global-key intent and new
|
|
219
|
+
opaque state, without constructing a DOM selection array. The following events are legacy-only:
|
|
220
|
+
`lr-selection-change` (`detail: { selection }`, where both the detail and selection
|
|
155
221
|
snapshot are frozen; fired for user selection and when a `data` refresh removes or re-seeds selected
|
|
156
222
|
rows) and `lr-reorder` (`detail: { nodeId, parentNodeId, fromIndex, toIndex }`, only while `reorderable`).
|
|
157
223
|
Like every other event here it is a **request**: `data` is host-owned and is never mutated by this
|
|
@@ -175,7 +241,11 @@ icons; an item-level slot with the same name takes precedence.
|
|
|
175
241
|
|
|
176
242
|
**CSS parts:** `base` and `tree` are aliases on the same `role="tree"` root; `empty` is the
|
|
177
243
|
empty-state message shown when neither child model has any items; `limit` is the localized
|
|
178
|
-
retained-node cap notice when
|
|
244
|
+
retained-node cap notice when valid object-data nodes exceed `maxNodes`.
|
|
245
|
+
Source mode adds `source-list`, `source-row`, `source-toggle` (branch and retry buttons),
|
|
246
|
+
`source-label`, `source-status`, and `source-error`, retaining the `base`/`tree` aliases. Its tree
|
|
247
|
+
root owns the accessible name, busy state and multiselectability; flat source rows own their
|
|
248
|
+
treeitem metadata. Source rows are not `<lr-tree-item>` instances and do not use its item slots.
|
|
179
249
|
|
|
180
250
|
**Themeable custom properties:** shared tokens `--lr-space-xs`/`-s`, `--lr-color-brand-quiet`,
|
|
181
251
|
`--lr-color-text-quiet`, `--lr-color-border`, `--lr-color-border-subtle`, `--lr-color-text`,
|
|
@@ -187,7 +257,8 @@ since the host itself is the focusable `role="treeitem"`), plus `--indent-size`,
|
|
|
187
257
|
|
|
188
258
|
### `lr-tree-item`
|
|
189
259
|
|
|
190
|
-
One row of the tree, in either child model
|
|
260
|
+
One row of the tree, in either legacy child model; provider source mode renders its own bounded
|
|
261
|
+
flat rows instead. `role="treeitem"` (plus
|
|
191
262
|
`aria-expanded`/`aria-level`/`aria-setsize`/`aria-posinset`/`aria-selected` and the roving
|
|
192
263
|
`tabindex`, driven by `<lr-tree>`) live on the _host_ element itself, not an internal row `<div>` —
|
|
193
264
|
so this node's own nested children (whether rendered in its own shadow root or projected from the
|
|
@@ -364,13 +435,14 @@ The declarative model — the same shape a renamed `wa-tree`/`sl-tree` subtree l
|
|
|
364
435
|
- `lr-tree`'s `getUpdateComplete()` cascades through owner-controlled descendants
|
|
365
436
|
`<lr-tree-item>`'s own `updateComplete` (see `update-cascade.ts`) so that code awaiting the
|
|
366
437
|
tree's `updateComplete` does not run before a reachable nested node has finished rendering its
|
|
367
|
-
roving `tabIndex`.
|
|
368
|
-
|
|
438
|
+
roving `tabIndex`. Context, selection and disclosure walks retain the 64-level depth guard;
|
|
439
|
+
object data also retains its configured node cap. Moving focus patches the previous and next
|
|
440
|
+
item without rebuilding the hierarchy.
|
|
369
441
|
- row enrichment is intentionally structured rather than an unrestricted renderer: use `icon`,
|
|
370
442
|
`label`, `description`, `badges`, and `accessibleLabel`. This keeps the host as the single
|
|
371
443
|
`role="treeitem"` interaction target and preserves the APG keyboard model.
|
|
372
|
-
- `lr-file-tree` does **not** forward `reorderable`, and deliberately so: its `LyraTreeNodeData[]` is
|
|
373
|
-
from `nodes`
|
|
444
|
+
- `lr-file-tree` does **not** forward `reorderable`, and deliberately so: its `LyraTreeNodeData[]` is
|
|
445
|
+
derived from `nodes` and keyed by filesystem path, an order it does not own.
|
|
374
446
|
- in the declarative model, appending a child while the parent is collapsed still registers: a
|
|
375
447
|
`childList` MutationObserver assigns the `children` slot and requests an update, because
|
|
376
448
|
`slotchange` alone cannot see a child added to a slot that is not currently rendered. Editing a
|
|
@@ -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
|
---
|
|
@@ -30,6 +30,11 @@ symbols. Selection edits no amount and performs no unit conversion. Catalog type
|
|
|
30
30
|
resolution are documented in the
|
|
31
31
|
[catalog helper reference](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/forms.md#country-time-zone-and-unit-catalog-helpers).
|
|
32
32
|
|
|
33
|
+
The shared `part="limit"` notice uses `catalogPickerInputLimit` for original input omitted beyond
|
|
34
|
+
the 1,024-position catalog ceiling. It remains separate from popup row overflow. Snapshot rebinds,
|
|
35
|
+
fresh replacement/default clearing, quiet mounting/reconnection, and later polite announcements
|
|
36
|
+
follow the shared field contract.
|
|
37
|
+
|
|
33
38
|
**Field API:** `label`, `hint`, `errorText` (`error-text`), `placeholder`, `accessibleLabel`
|
|
34
39
|
(`aria-label`), `name`, `form`, `value`, `defaultValue`, `required`, `disabled`, `customError`
|
|
35
40
|
(`custom-error`), `size`, `clearable`, `searchable`, `topLayer` (`top-layer`),
|
|
@@ -42,8 +47,8 @@ Defaults and form/editing methods follow the
|
|
|
42
47
|
|
|
43
48
|
**Events:** `input`, `lr-input`, `change`, `lr-change`, `focus`, `blur`, `lr-invalid`.
|
|
44
49
|
**Slots:** `label`, `hint`, `error`.
|
|
45
|
-
**CSS parts:** `form-control`, `form-control-label`, `hint`, `error`, `select-trigger`,
|
|
46
|
-
`select-display-input`, `select-listbox`, `select-option`, `select-option-sub`, `select-group-label`,
|
|
50
|
+
**CSS parts:** `form-control`, `form-control-label`, `hint`, `error`, `limit`, `select-trigger`,
|
|
51
|
+
`select-display-input`, `select-listbox`, `select-option`, `select-option-overflow`, `select-option-sub`, `select-group-label`,
|
|
47
52
|
`select-clear-button`.
|
|
48
53
|
|
|
49
54
|
```html
|
|
@@ -34,6 +34,8 @@ visible but disabled while live children are unavailable; after hydration, each
|
|
|
34
34
|
title/poster/duration and native `inert` state become authoritative in a corrective update that
|
|
35
35
|
reuses the server-rendered row nodes. Once live children have been observed, later removal does not
|
|
36
36
|
make stale seed rows reappear.
|
|
37
|
+
Live-child updates no longer scan the superseded seed metadata. Removing every adopted child
|
|
38
|
+
keeps live-child ownership; it does not reactivate the original seed rows.
|
|
37
39
|
|
|
38
40
|
**Methods:** `goTo(index)` selects a finite integer direct-child index; invalid, fractional, and
|
|
39
41
|
inert-child indexes are no-ops. Calling it for the current index still emits `lr-video-change`, matching
|
|
@@ -46,7 +46,9 @@ indexOfKey?(key): number }`. When set it takes precedence over `items`. The inde
|
|
|
46
46
|
target an indexed source: the list never performs a count-sized fallback scan; invalid or
|
|
47
47
|
out-of-range results mean no match. An array source receives the same clone-owned frozen sequence
|
|
48
48
|
and row-identity contract as `items`; an indexed-source object passes through by identity and is
|
|
49
|
-
not capped, so use one beyond 10,000 rows.
|
|
49
|
+
not capped, so use one beyond 10,000 rows. After changing an indexed count or callback closure,
|
|
50
|
+
call `requestUpdate()` to refresh the source and active-key lookup; this also works when a
|
|
51
|
+
named property update is pending. `groups` keeps at most 10,000 entries and 50,000 nested values.
|
|
50
52
|
- `renderItem: (item: unknown, index: number) => unknown = () => nothing` (attribute: false) — renders
|
|
51
53
|
one row's content, typically returning a `lit-html` `TemplateResult`. JS-only. The returned value
|
|
52
54
|
is stamped inside `<lr-virtual-list>`'s own shadow root, not the caller's light DOM, so
|
|
@@ -189,18 +191,25 @@ In auto-height mode, estimate-based jumps are corrected as row and group-marker
|
|
|
189
191
|
That correction is bound to the source, key function, and target identity and is canceled on a new
|
|
190
192
|
target, data replacement, manual scroll intent, or disconnect, so late observations cannot pull a
|
|
191
193
|
newer view back to stale content.
|
|
192
|
-
`offsetForIndex(index)` returns the pixel top row `index
|
|
193
|
-
|
|
194
|
+
`offsetForIndex(index)` returns the logical pixel top of row `index`; under an external
|
|
195
|
+
`scrollElement` that space is unchanged — it
|
|
194
196
|
measures from the top of the list itself, not from the top of the external scroller's content, and
|
|
195
197
|
the component converts between the two. It is clamped to `0…count`, so `offsetForIndex(count)`
|
|
196
|
-
is the total content height and an empty list is always `0`. `indexAtOffset(px)` is its inverse — the
|
|
198
|
+
is the logical total content height and an empty list is always `0`. `indexAtOffset(px)` is its inverse — the
|
|
197
199
|
row whose box contains that offset, clamped at both ends, `-1` for an empty list — so
|
|
198
|
-
`indexAtOffset(offsetForIndex(i)) === i
|
|
199
|
-
|
|
200
|
+
`indexAtOffset(offsetForIndex(i)) === i`. Native `scrollTop` shares this logical space only while
|
|
201
|
+
scrollbar scaling is inactive. In `row-height="auto"` mode both are estimate-based for any row that (or
|
|
200
202
|
above which) has not been measured yet, and converge as those `ResizeObserver` measurements land;
|
|
201
203
|
fixed numeric `row-height` offsets are exact from the first render. Both read the most recent render,
|
|
202
204
|
so `await el.updateComplete` after assigning `items` or `source` before querying.
|
|
203
205
|
|
|
206
|
+
Above 8,000,000 logical pixels, the list scales native scrollbar travel below browser layout limits.
|
|
207
|
+
Visible row heights and adjacent spacing remain unchanged. Position methods, `active-item-id` and
|
|
208
|
+
`lr-virtual-scroll` use logical pixels; native `scrollContainer.scrollTop` uses compressed scrollbar
|
|
209
|
+
space. Scaling emits a one-time development warning and also applies with an external
|
|
210
|
+
`scrollElement`. Use the component's position methods for large indexed sources instead of assigning
|
|
211
|
+
logical offsets to native `scrollTop`.
|
|
212
|
+
|
|
204
213
|
**Getters:** `scrollContainer: HTMLElement | undefined` — the real scroll container (`[part="base"]`),
|
|
205
214
|
`undefined` before the first render; for a host that needs the live scroll position or wants to scroll
|
|
206
215
|
the list itself without reaching into the shadow root. While `scrollElement` is set this element
|
|
@@ -235,8 +244,8 @@ changes, this reports _sub-row_ movement, which is what scroll-linked layout nee
|
|
|
235
244
|
**CSS parts:** `base` (the scrollable container, `role="list"` — or `role="rowgroup"` in
|
|
236
245
|
`item-role="row"` mode — `tabindex="0"`; under an external `scrollElement` it stops scrolling, drops
|
|
237
246
|
that `tabindex` and its hover outline, and sizes itself to the list's full virtual extent instead of
|
|
238
|
-
`--lr-virtual-list-height`), `spacer` (the
|
|
239
|
-
|
|
247
|
+
`--lr-virtual-list-height`), `spacer` (the inner element establishing the physical scroll extent,
|
|
248
|
+
compressed for very large sources; `role="presentation"` in `item-role="row"` mode), `row` (one
|
|
240
249
|
rendered row's absolutely-positioned wrapper, `role="listitem"` — or `role="row"` with
|
|
241
250
|
`aria-rowindex` in `item-role="row"` mode), `group` (a `groups` entry's positioned marker; not
|
|
242
251
|
rendered for an entry whose `label` is the empty string), `sticky-group` (the pinned copy of the
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [conversation](https://github.com/aceshooting/lyra-ui/blob/main/packages/lyra-ui/llms/conversation.md)
|
|
10
10
|
- **Deprecations** none
|
|
11
11
|
- **Optional peers** none
|
|
12
|
-
- **Themeable via**
|
|
12
|
+
- **Themeable via** 19 parts, 34 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
|
---
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
Override `--lr-voice-picker-trigger-padding`, `--lr-voice-picker-font-size`, and `--lr-voice-picker-expand-size` for trigger spacing, text size, and the expand control’s minimum target cap.
|
|
20
20
|
|
|
21
|
-
The voice list follows the [shared surface treatment](shared/styles-and-tokens.md);
|
|
21
|
+
The voice list follows the [shared surface treatment](../shared/styles-and-tokens.md);
|
|
22
22
|
its editing field retains an opaque fill.
|
|
23
23
|
|
|
24
24
|
A TTS voice selector over a host-supplied `catalog`, mirroring `lr-model-select`'s
|
|
@@ -64,6 +64,11 @@ voice list; omit (or leave empty) to fall back to plain free-text entry; replaci
|
|
|
64
64
|
internal preview before the rendered candidate changes. Ids use the shared unique, nonempty,
|
|
65
65
|
first-wins catalog rule documented under `lr-model-select`, including preview lookup. Assignments
|
|
66
66
|
become bounded clone-owned frozen snapshots; create and reassign a new array after row changes.
|
|
67
|
+
Admission retains the first 1,024 source rows within the shared 50,000-value deep snapshot budget;
|
|
68
|
+
normalization examines that admitted prefix. The localized `limit` part reports omitted input
|
|
69
|
+
through `catalogPickerInputLimit`. A synthetic row for a committed value outside the catalog can
|
|
70
|
+
still be appended. Closed listboxes contain no option rows after their exit transition; trigger
|
|
71
|
+
labels and free-text behavior remain available.
|
|
67
72
|
`allowCustom: boolean = false` (attribute
|
|
68
73
|
`allow-custom`, reflected) — let the user type/commit a value that isn't in `catalog`.
|
|
69
74
|
`withoutPreview: boolean = false` (attribute `without-preview`, reflected) — renders no preview
|
|
@@ -141,7 +146,7 @@ constraint validation (own `disabled` or `readonly`, or an ancestor `<fieldset d
|
|
|
141
146
|
reports no violation and publishes neither `:state(invalid)` nor
|
|
142
147
|
`:state(user-invalid)`.
|
|
143
148
|
|
|
144
|
-
**CSS parts:** `form-control` (the complete field frame), `form-control-label`, `trigger` (closed-dropdown mode), `combobox`/`combobox-input`
|
|
149
|
+
**CSS parts:** `limit` (input-loss notice), `form-control` (the complete field frame), `form-control-label`, `trigger` (closed-dropdown mode), `combobox`/`combobox-input`
|
|
145
150
|
(free-text mode), `provider-badge`, `listbox`, `option`, `option-icon` (an object-shaped catalog
|
|
146
151
|
row's optional decorative leading icon), `option-label`, `option-meta` (the quiet
|
|
147
152
|
`language · description` second line), `option-badge` (the "not in catalog" badge on a synthetic
|