@aceshooting/lyra-ui 9.1.1 → 10.0.1
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 +597 -0
- package/custom-elements.json +1 -1
- package/dist/cli/migrate-wa.mjs +52 -0
- package/dist/cli/migration-contract.json +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +0 -16
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js +1 -1
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.styles.js +7 -5
- package/dist/components/agent-tools/agent-run/agent-run.class.js +2 -2
- package/dist/components/agent-tools/agent-run/agent-run.styles.js +0 -13
- package/dist/components/agent-tools/agent-trace/agent-trace.styles.js +7 -4
- package/dist/components/agent-tools/approval-queue/approval-queue.styles.js +7 -5
- package/dist/components/agent-tools/artifact-panel/artifact-panel.styles.js +0 -3
- package/dist/components/agent-tools/browser-frame/browser-frame.styles.js +3 -5
- package/dist/components/agent-tools/commit-card/commit-card.styles.js +0 -10
- package/dist/components/agent-tools/compare-panel/compare-panel.styles.js +11 -6
- package/dist/components/agent-tools/confirm-bar/confirm-bar.styles.js +0 -46
- package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +0 -7
- package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +2 -2
- package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.js +0 -15
- package/dist/components/agent-tools/result-card/result-card.styles.js +0 -7
- package/dist/components/agent-tools/result-card/result-field.styles.js +0 -5
- package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.js +0 -3
- package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +0 -15
- package/dist/components/agent-tools/stack-trace/stack-trace.styles.js +0 -20
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +2 -2
- package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.js +0 -3
- package/dist/components/agent-tools/task-list/task-list.styles.js +0 -15
- package/dist/components/agent-tools/terminal/terminal.class.d.ts +11 -6
- package/dist/components/agent-tools/terminal/terminal.class.js +4 -4
- package/dist/components/agent-tools/terminal/terminal.styles.js +0 -46
- package/dist/components/agent-tools/test-results/test-results.class.js +2 -2
- package/dist/components/agent-tools/test-results/test-results.styles.js +0 -5
- package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js +0 -41
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.styles.js +0 -41
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.js +0 -30
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +6 -6
- package/dist/components/agent-tools/tool-param-form/tool-param-form.styles.js +0 -5
- package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js +0 -20
- package/dist/components/agent-tools/tool-result-view/tool-result-view.styles.js +0 -4
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.styles.js +0 -21
- package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +7 -31
- package/dist/components/charts/chart/box-plot.styles.js +0 -20
- package/dist/components/charts/chart/chart-colors.d.ts +1 -1
- package/dist/components/charts/chart/chart-colors.js +1 -1
- package/dist/components/charts/chart/chart-core-loader.d.ts +1 -0
- package/dist/components/charts/chart/chart-core-loader.js +1 -1
- package/dist/components/charts/chart/chart-feature-loader.d.ts +35 -0
- package/dist/components/charts/chart/chart-feature-loader.js +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +93 -0
- package/dist/components/charts/chart/chart.class.js +3 -3
- package/dist/components/charts/chart/chart.styles.js +0 -27
- package/dist/components/charts/chart/lite-chart.class.d.ts +20 -1
- package/dist/components/charts/chart/lite-chart.class.js +4 -4
- package/dist/components/charts/chart/lite-chart.styles.js +0 -27
- package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +20 -0
- package/dist/components/conversation/agent-workspace/agent-workspace.class.js +3 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.styles.js +3 -0
- package/dist/components/conversation/audio-visualizer/audio-visualizer.styles.js +0 -7
- package/dist/components/conversation/branch-picker/branch-picker.styles.js +0 -3
- package/dist/components/conversation/chat-composer/chat-composer.styles.js +0 -51
- package/dist/components/conversation/chat-message/chat-message.styles.js +7 -35
- package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.styles.js +0 -33
- package/dist/components/conversation/checkpoint/checkpoint.class.js +1 -1
- package/dist/components/conversation/checkpoint/checkpoint.styles.js +0 -3
- package/dist/components/conversation/code-block/code-block-shared.d.ts +5 -2
- package/dist/components/conversation/code-block/code-block.class.js +1 -1
- package/dist/components/conversation/code-block/code-block.styles.js +4 -95
- package/dist/components/conversation/code-block/code-loader.d.ts +11 -0
- package/dist/components/conversation/code-block/code-loader.js +1 -1
- package/dist/components/conversation/code-block/shiki-types.d.ts +12 -0
- package/dist/components/conversation/code-block/shiki-types.js +1 -1
- package/dist/components/conversation/conversation-item/conversation-item.styles.js +8 -54
- package/dist/components/conversation/generation-metrics/generation-metrics.class.js +2 -2
- package/dist/components/conversation/generation-metrics/generation-metrics.styles.js +0 -17
- package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
- package/dist/components/conversation/markdown/markdown.styles.js +0 -41
- package/dist/components/conversation/message-actions/message-actions.styles.js +0 -3
- package/dist/components/conversation/message-feedback/message-feedback.styles.js +0 -35
- package/dist/components/conversation/message-parts/message-parts.class.d.ts +1 -1
- package/dist/components/conversation/message-parts/message-parts.styles.js +0 -5
- package/dist/components/conversation/model-select/model-select.class.js +3 -3
- package/dist/components/conversation/model-select/model-select.styles.js +12 -47
- package/dist/components/conversation/model-settings-panel/model-settings-panel.styles.js +0 -6
- package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +3 -0
- package/dist/components/conversation/prompt-input/prompt-input.styles.js +0 -10
- package/dist/components/conversation/push-to-talk/push-to-talk.styles.js +0 -8
- package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.js +1 -11
- package/dist/components/conversation/stream-status/stream-status.styles.js +0 -16
- package/dist/components/conversation/streaming-text/streaming-text.styles.js +0 -15
- package/dist/components/conversation/suggestion-chips/suggestion-chips.styles.js +0 -5
- package/dist/components/conversation/thread-list/thread-list.styles.js +0 -23
- package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +16 -4
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +0 -1
- package/dist/components/conversation/typing-indicator/typing-indicator.styles.js +0 -23
- package/dist/components/conversation/usage-badge/usage-badge.styles.js +0 -3
- package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -3
- package/dist/components/conversation/voice-picker/voice-picker.styles.js +9 -29
- package/dist/components/conversation/widget-renderer/resolve.d.ts +2 -0
- package/dist/components/conversation/widget-renderer/resolve.js +1 -1
- package/dist/components/data/calendar/calendar.class.d.ts +15 -2
- package/dist/components/data/calendar/calendar.class.js +2 -2
- package/dist/components/data/calendar/calendar.styles.js +2 -28
- package/dist/components/data/condition-builder/condition-builder.class.d.ts +10 -6
- package/dist/components/data/condition-builder/condition-builder.class.js +2 -2
- package/dist/components/data/condition-builder/condition-builder.styles.js +0 -6
- package/dist/components/data/context-meter/context-meter.styles.js +0 -24
- package/dist/components/data/data-grid/data-grid.class.js +3 -3
- package/dist/components/data/data-grid/data-grid.styles.js +0 -22
- package/dist/components/data/document-library/document-library.class.js +2 -2
- package/dist/components/data/document-library/document-library.styles.js +0 -4
- package/dist/components/data/env-list/env-list.class.js +1 -1
- package/dist/components/data/env-list/env-list.styles.js +7 -4
- package/dist/components/data/file-tree/file-tree.class.d.ts +12 -0
- package/dist/components/data/flow-canvas/flow-canvas.styles.js +12 -19
- package/dist/components/data/flow-controls/flow-controls.class.js +2 -2
- package/dist/components/data/flow-controls/flow-controls.styles.js +3 -36
- package/dist/components/data/flow-minimap/flow-minimap.class.js +1 -1
- package/dist/components/data/flow-minimap/flow-minimap.styles.js +0 -9
- package/dist/components/data/flow-node/flow-node.styles.js +0 -23
- package/dist/components/data/flow-run-status/flow-run-status.class.js +1 -1
- package/dist/components/data/flow-run-status/flow-run-status.styles.js +0 -7
- package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +0 -7
- package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.styles.js +0 -10
- package/dist/components/data/heatmap/heatmap-scale.d.ts +20 -0
- package/dist/components/data/heatmap/heatmap-scale.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +84 -1
- package/dist/components/data/heatmap/heatmap.class.js +2 -2
- package/dist/components/data/heatmap/heatmap.styles.js +0 -54
- package/dist/components/data/pagination/pagination.styles.js +23 -46
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +34 -1
- package/dist/components/data/sequence-strip/sequence-strip.class.js +5 -2
- package/dist/components/data/sequence-strip/sequence-strip.styles.js +14 -20
- package/dist/components/data/sparkline/sparkline.class.js +1 -1
- package/dist/components/data/stat/stat.styles.js +0 -67
- package/dist/components/data/table/table.class.d.ts +42 -3
- package/dist/components/data/table/table.class.js +4 -4
- package/dist/components/data/table/table.styles.js +20 -91
- package/dist/components/data/timeline/timeline-item.styles.js +0 -30
- package/dist/components/data/timeline/timeline.class.d.ts +89 -1
- package/dist/components/data/timeline/timeline.class.js +2 -2
- package/dist/components/data/timeline/timeline.styles.js +111 -31
- package/dist/components/data/tree/tree-item.styles.js +1 -28
- package/dist/components/data/tree/tree.class.js +2 -2
- package/dist/components/data/tree/tree.styles.js +0 -6
- package/dist/components/data/word-cloud/word-cloud.styles.js +0 -5
- package/dist/components/forms/button/button.class.js +1 -1
- package/dist/components/forms/button/button.styles.js +0 -105
- package/dist/components/forms/checkbox/checkbox.class.d.ts +3 -0
- package/dist/components/forms/checkbox/checkbox.class.js +1 -1
- package/dist/components/forms/checkbox/checkbox.styles.js +0 -39
- package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +21 -2
- package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
- package/dist/components/forms/checkbox-group/checkbox-group.styles.js +0 -18
- package/dist/components/forms/code-editor/code-editor.styles.js +0 -30
- package/dist/components/forms/color-picker/color-picker.class.js +2 -2
- package/dist/components/forms/color-picker/color-picker.styles.js +0 -69
- package/dist/components/forms/combobox/combobox.class.js +2 -2
- package/dist/components/forms/combobox/combobox.styles.js +22 -111
- package/dist/components/forms/combobox/option.styles.js +7 -1
- package/dist/components/forms/date-picker/date-input.class.js +1 -1
- package/dist/components/forms/date-picker/date-input.styles.js +12 -67
- package/dist/components/forms/date-picker/date-picker.class.d.ts +1 -0
- package/dist/components/forms/date-picker/date-picker.class.js +22 -20
- package/dist/components/forms/date-picker/date-picker.styles.js +36 -29
- package/dist/components/forms/emoji-picker/emoji-data-loader.d.ts +6 -3
- package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +8 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js +3 -41
- package/dist/components/forms/icon-button/icon-button.class.js +1 -1
- package/dist/components/forms/icon-button/icon-button.styles.js +0 -16
- package/dist/components/forms/input/input.styles.js +0 -54
- package/dist/components/forms/input/number-input.styles.d.ts +4 -5
- package/dist/components/forms/input/number-input.styles.js +0 -11
- package/dist/components/forms/input/time-input-shared.d.ts +11 -0
- package/dist/components/forms/input/time-input-shared.js +1 -1
- package/dist/components/forms/input/time-input.class.d.ts +11 -2
- package/dist/components/forms/input/time-input.class.js +1 -1
- package/dist/components/forms/input/time-input.styles.js +0 -6
- package/dist/components/forms/locale-picker/locale-picker.class.js +2 -2
- package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -26
- package/dist/components/forms/otp-input/otp-input.class.js +3 -3
- package/dist/components/forms/otp-input/otp-input.styles.js +0 -16
- package/dist/components/forms/phone-input/phone-input.class.d.ts +9 -1
- package/dist/components/forms/phone-input/phone-input.class.js +2 -2
- package/dist/components/forms/phone-input/phone-input.styles.js +0 -37
- package/dist/components/forms/radio/radio-button.styles.js +1 -30
- package/dist/components/forms/radio/radio-group.styles.js +0 -4
- package/dist/components/forms/radio/radio.styles.js +0 -44
- package/dist/components/forms/rubric-form/rubric-form.styles.js +0 -5
- package/dist/components/forms/select/select.class.js +1 -1
- package/dist/components/forms/select/select.styles.js +14 -114
- package/dist/components/forms/slider/slider.styles.js +0 -55
- package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +0 -11
- package/dist/components/forms/swatch-picker/swatch-picker.class.js +2 -2
- package/dist/components/forms/swatch-picker/swatch-picker.styles.js +0 -77
- package/dist/components/forms/switch/switch.class.d.ts +3 -0
- package/dist/components/forms/switch/switch.class.js +1 -1
- package/dist/components/forms/switch/switch.styles.js +0 -37
- package/dist/components/forms/textarea/textarea.styles.js +0 -28
- package/dist/components/forms/time-range/time-range.styles.js +12 -84
- package/dist/components/forms/token-input/token-input.class.d.ts +23 -9
- package/dist/components/forms/token-input/token-input.class.js +1 -1
- package/dist/components/forms/token-input/token-input.styles.js +1 -54
- package/dist/components/layout/app-rail/app-rail-item.class.js +2 -2
- package/dist/components/layout/app-rail/app-rail-item.styles.js +0 -13
- package/dist/components/layout/app-rail/app-rail.class.d.ts +5 -0
- package/dist/components/layout/app-rail/app-rail.class.js +1 -1
- package/dist/components/layout/app-rail/app-rail.styles.js +0 -46
- package/dist/components/layout/button-group/button-group.styles.js +0 -6
- package/dist/components/layout/card/card.class.d.ts +12 -0
- package/dist/components/layout/card/card.styles.js +3 -11
- package/dist/components/layout/carousel/carousel.styles.js +0 -1
- package/dist/components/layout/command-palette/command-palette.class.d.ts +8 -0
- package/dist/components/layout/command-palette/command-palette.class.js +3 -1
- package/dist/components/layout/command-palette/command-palette.styles.js +1 -13
- package/dist/components/layout/control-group/control-group.styles.js +0 -7
- package/dist/components/layout/dashboard-grid/dashboard-grid.styles.js +6 -25
- package/dist/components/layout/details/accordion.class.d.ts +13 -0
- package/dist/components/layout/details/accordion.class.js +1 -1
- package/dist/components/layout/details/details.class.js +1 -1
- package/dist/components/layout/details/details.styles.js +0 -12
- package/dist/components/layout/dock-panel/dock-panel.styles.js +0 -45
- package/dist/components/layout/drilldown-panel/drilldown-panel.class.d.ts +2 -0
- package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +2 -2
- package/dist/components/layout/drilldown-panel/drilldown-panel.styles.js +0 -4
- package/dist/components/layout/filter-bar/filter-bar.class.js +1 -1
- package/dist/components/layout/filter-bar/filter-bar.styles.js +0 -9
- package/dist/components/layout/menu/menu-item.class.d.ts +5 -0
- package/dist/components/layout/menu/menu-item.class.js +1 -1
- package/dist/components/layout/menu/menu-item.styles.js +0 -49
- package/dist/components/layout/menu/menu-label.styles.js +0 -2
- package/dist/components/layout/menu/menu.styles.js +0 -18
- package/dist/components/layout/multi-split/multi-split.styles.js +0 -63
- package/dist/components/layout/page/page.class.d.ts +4 -0
- package/dist/components/layout/page/page.class.js +1 -1
- package/dist/components/layout/reorder-list/reorder-item.styles.js +0 -4
- package/dist/components/layout/responsive-panel/responsive-panel.styles.js +0 -27
- package/dist/components/layout/scroller/scroller.styles.js +0 -20
- package/dist/components/layout/segmented/segmented.class.d.ts +7 -1
- package/dist/components/layout/segmented/segmented.class.js +1 -1
- package/dist/components/layout/segmented/segmented.styles.js +69 -37
- package/dist/components/layout/split-panel/split-panel.styles.js +1 -7
- package/dist/components/layout/stepper/stepper.class.d.ts +8 -1
- package/dist/components/layout/stepper/stepper.class.js +1 -1
- package/dist/components/layout/stepper/stepper.styles.js +140 -41
- package/dist/components/layout/tab-group/tab-group.class.d.ts +4 -1
- package/dist/components/layout/tab-group/tab-group.styles.js +9 -75
- package/dist/components/layout/tab-group/tab.styles.js +0 -2
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts +4 -4
- package/dist/components/layout/virtual-list/virtual-list.class.js +1 -1
- package/dist/components/layout/virtual-list/virtual-list.styles.js +0 -68
- package/dist/components/layout/widget/widget.class.d.ts +5 -1
- package/dist/components/layout/widget/widget.class.js +1 -1
- package/dist/components/layout/widget/widget.styles.js +97 -40
- package/dist/components/media/animated-image/animated-image.class.d.ts +3 -0
- package/dist/components/media/animated-image/animated-image.class.js +1 -1
- package/dist/components/media/animated-image/animated-image.styles.js +0 -28
- package/dist/components/media/attachment-chip/attachment-chip.class.d.ts +1 -1
- package/dist/components/media/attachment-chip/attachment-chip.class.js +1 -1
- package/dist/components/media/attachment-chip/attachment-chip.styles.js +0 -31
- package/dist/components/media/attachment-trigger/attachment-trigger.class.js +3 -3
- package/dist/components/media/attachment-trigger/attachment-trigger.styles.js +0 -40
- package/dist/components/media/av-player/av-player.class.d.ts +5 -6
- package/dist/components/media/av-player/av-player.class.js +1 -1
- package/dist/components/media/av-player/av-player.styles.js +0 -45
- package/dist/components/media/avatar/avatar.styles.js +3 -16
- package/dist/components/media/file-icon/file-icon.class.d.ts +1 -2
- package/dist/components/media/file-icon/file-icon.class.js +1 -1
- package/dist/components/media/file-input/file-input.class.d.ts +12 -0
- package/dist/components/media/file-input/file-input.styles.js +3 -24
- package/dist/components/media/flag/flag.class.d.ts +20 -0
- package/dist/components/media/flag/flag.class.js +4 -2
- package/dist/components/media/flag/flag.styles.js +7 -1
- package/dist/components/media/flag/language-map.d.ts +10 -0
- package/dist/components/media/flag/language-map.js +1 -1
- package/dist/components/media/image-comparer/image-comparer.styles.js +4 -33
- package/dist/components/media/image-viewer/image-viewer.class.js +0 -2
- package/dist/components/media/image-viewer/image-viewer.styles.js +7 -27
- package/dist/components/media/lightbox/lightbox.class.js +0 -2
- package/dist/components/media/lightbox/lightbox.styles.js +0 -21
- package/dist/components/media/map/map-loader.d.ts +19 -1
- package/dist/components/media/map/map-loader.js +1 -1
- package/dist/components/media/map/map.class.d.ts +141 -1
- package/dist/components/media/map/map.class.js +15 -3
- package/dist/components/media/map/map.styles.js +20 -17
- package/dist/components/media/media-card/media-card.class.d.ts +14 -3
- package/dist/components/media/media-card/media-card.class.js +1 -1
- package/dist/components/media/media-card/media-card.styles.js +2 -28
- package/dist/components/media/pan-zoom/pan-zoom.styles.js +0 -3
- package/dist/components/media/qr-code/qr-code.class.d.ts +3 -2
- package/dist/components/media/qr-code/qr-code.class.js +2 -2
- package/dist/components/media/qr-code/qr-code.styles.js +0 -3
- package/dist/components/media/sequence-playback/sequence-playback.class.d.ts +2 -0
- package/dist/components/media/sequence-playback/sequence-playback.class.js +2 -1
- package/dist/components/media/sequence-playback/sequence-playback.styles.js +0 -19
- package/dist/components/media/video/video.class.d.ts +23 -2
- package/dist/components/media/video/video.class.js +3 -3
- package/dist/components/media/video/video.styles.js +4 -2
- package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +3 -2
- package/dist/components/media/zoomable-frame/zoomable-frame.class.js +2 -2
- package/dist/components/media/zoomable-frame/zoomable-frame.styles.js +0 -5
- package/dist/components/overlays/alert/alert.styles.js +4 -2
- package/dist/components/overlays/badge/badge.styles.js +4 -48
- package/dist/components/overlays/badge/tag.styles.js +0 -14
- package/dist/components/overlays/callout/callout.styles.js +0 -11
- package/dist/components/overlays/chip/chip-group.styles.js +0 -18
- package/dist/components/overlays/chip/chip.styles.js +6 -69
- package/dist/components/overlays/dialog/confirm.d.ts +1 -4
- package/dist/components/overlays/dialog/confirm.js +1 -1
- package/dist/components/overlays/dialog/dialog.class.d.ts +12 -9
- package/dist/components/overlays/dialog/dialog.class.js +1 -1
- package/dist/components/overlays/dialog/dialog.styles.js +0 -43
- package/dist/components/overlays/drawer/drawer.class.d.ts +2 -2
- package/dist/components/overlays/drawer/drawer.styles.js +0 -9
- package/dist/components/overlays/empty/empty.styles.js +0 -12
- package/dist/components/overlays/kbd/kbd.styles.js +0 -8
- package/dist/components/overlays/overlay/dropdown.class.d.ts +1 -6
- package/dist/components/overlays/overlay/dropdown.class.js +2 -2
- package/dist/components/overlays/overlay/overlay.styles.js +0 -28
- package/dist/components/overlays/overlay/popover.class.d.ts +9 -1
- package/dist/components/overlays/overlay/popover.class.js +2 -2
- package/dist/components/overlays/overlay/tooltip.class.d.ts +10 -0
- package/dist/components/overlays/overlay/tooltip.class.js +1 -1
- package/dist/components/overlays/popup/popup.class.d.ts +1 -0
- package/dist/components/overlays/popup/popup.class.js +1 -1
- package/dist/components/overlays/popup/popup.styles.js +0 -15
- package/dist/components/overlays/progress/progress-ring.class.d.ts +9 -1
- package/dist/components/overlays/progress/progress-ring.class.js +3 -3
- package/dist/components/overlays/progress/progress.styles.js +0 -21
- package/dist/components/overlays/rating/rating.styles.js +0 -25
- package/dist/components/overlays/skeleton/skeleton.styles.js +0 -4
- package/dist/components/overlays/spinner/spinner.styles.js +0 -3
- package/dist/components/overlays/toast/toast-item.styles.js +3 -45
- package/dist/components/retrieval/chunk-inspector/chunk-inspector.styles.js +0 -35
- package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +2 -2
- package/dist/components/retrieval/citation-badge/citation-badge.class.js +3 -3
- package/dist/components/retrieval/citation-badge/citation-badge.styles.js +0 -20
- package/dist/components/retrieval/claim-evidence/claim-evidence.styles.js +0 -8
- package/dist/components/retrieval/community-card/community-card.class.d.ts +1 -0
- package/dist/components/retrieval/community-card/community-card.styles.js +0 -6
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +8 -12
- package/dist/components/retrieval/entity-card/entity-card.class.d.ts +4 -3
- package/dist/components/retrieval/entity-card/entity-card.class.js +1 -1
- package/dist/components/retrieval/entity-card/entity-card.styles.js +0 -12
- package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +10 -4
- package/dist/components/retrieval/entity-chip/entity-chip.class.js +3 -3
- package/dist/components/retrieval/entity-chip/entity-chip.styles.js +6 -9
- package/dist/components/retrieval/entity-dossier/entity-dossier.class.d.ts +19 -5
- package/dist/components/retrieval/graph/graph.class.d.ts +5 -0
- package/dist/components/retrieval/graph/graph.class.js +1 -1
- package/dist/components/retrieval/graph/graph.styles.js +0 -30
- package/dist/components/retrieval/graph-legend/graph-legend.styles.js +0 -3
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.styles.js +0 -25
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +2 -0
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js +0 -7
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +20 -6
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +2 -2
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +0 -16
- package/dist/components/retrieval/mind-map/mind-map.class.d.ts +5 -3
- package/dist/components/retrieval/mind-map/mind-map.class.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map.styles.js +0 -2
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.d.ts +3 -2
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +0 -30
- package/dist/components/retrieval/node-palette/node-palette.styles.js +0 -11
- package/dist/components/retrieval/path-strip/path-strip.styles.js +0 -10
- package/dist/components/retrieval/provenance-panel/provenance-panel.class.d.ts +12 -3
- package/dist/components/retrieval/provenance-panel/provenance-panel.styles.js +0 -2
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +3 -2
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +2 -2
- package/dist/components/retrieval/retrieval-results/retrieval-results.styles.js +0 -28
- package/dist/components/retrieval/retrieval-search/retrieval-search.styles.js +0 -4
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.styles.js +0 -2
- package/dist/components/retrieval/source-card/source-card.styles.js +0 -13
- package/dist/components/retrieval/source-list/source-list.styles.js +0 -7
- package/dist/components/retrieval/source-picker/source-picker.styles.js +0 -7
- package/dist/components/utility/copy-button/copy-button.styles.js +0 -10
- package/dist/components/utility/diff-view/diff-view.styles.js +0 -14
- package/dist/components/utility/export-button/export-button.styles.js +0 -22
- package/dist/components/utility/icon/icon.styles.js +0 -6
- package/dist/components/utility/json-viewer/json-viewer.styles.js +2 -48
- package/dist/components/utility/known-date/known-date.class.d.ts +7 -3
- package/dist/components/utility/known-date/known-date.styles.js +10 -51
- package/dist/components/utility/live-region/live-region.styles.js +0 -4
- package/dist/components/utility/mention-popover/mention-popover.styles.js +0 -25
- package/dist/components/utility/poll-status/poll-status.styles.js +0 -4
- package/dist/components/utility/random-content/random-content.class.d.ts +22 -0
- package/dist/components/utility/random-content/random-content.class.js +3 -2
- package/dist/components/utility/random-content/random-content.styles.js +6 -13
- package/dist/components/utility/tour/tour.class.d.ts +4 -2
- package/dist/components/utility/tour/tour.class.js +3 -3
- package/dist/components/utility/tour/tour.styles.js +0 -13
- package/dist/components/utility/visually-hidden/visually-hidden.styles.js +0 -5
- package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
- package/dist/components/viewers/archive-viewer/archive-viewer.styles.d.ts +2 -2
- package/dist/components/viewers/archive-viewer/archive-viewer.styles.js +0 -10
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js +1 -1
- package/dist/components/viewers/csv-viewer/csv-viewer.styles.js +0 -19
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +0 -15
- package/dist/components/viewers/document-compare/document-compare.styles.js +0 -3
- package/dist/components/viewers/document-preview/document-preview.styles.js +0 -25
- package/dist/components/viewers/document-viewer/document-viewer.class.d.ts +2 -1
- package/dist/components/viewers/document-viewer/document-viewer.class.js +1 -1
- package/dist/components/viewers/document-viewer/document-viewer.styles.js +0 -5
- package/dist/components/viewers/docx-viewer/docx-viewer.styles.js +0 -17
- package/dist/components/viewers/ebook-viewer/ebook-viewer.styles.js +0 -4
- package/dist/components/viewers/email-viewer/email-viewer.styles.js +0 -7
- package/dist/components/viewers/geojson-view/geojson-view.styles.js +0 -5
- package/dist/components/viewers/highlight-layer/highlight-layer.styles.js +0 -3
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.styles.js +0 -38
- package/dist/components/viewers/page-rail/page-rail.class.js +1 -1
- package/dist/components/viewers/page-rail/page-rail.styles.js +0 -13
- package/dist/components/viewers/pdf-viewer/pdf-loader.d.ts +13 -2
- package/dist/components/viewers/pdf-viewer/pdf-loader.js +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +32 -2
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +4 -4
- package/dist/components/viewers/pdf-viewer/pdf-viewer.styles.js +1 -27
- package/dist/components/viewers/pptx-viewer/pptx-viewer.styles.js +0 -3
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.styles.js +0 -14
- package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +0 -7
- package/dist/components/viewers/xml-viewer/xml-viewer.styles.js +2 -24
- package/dist/custom-elements-jsx.d.ts +56 -37
- package/dist/events.d.ts +43 -33
- package/dist/internal/agent-status-variants.d.ts +18 -0
- package/dist/internal/agent-status-variants.js +1 -0
- package/dist/internal/announcer.d.ts +8 -3
- package/dist/internal/announcer.js +1 -1
- package/dist/internal/autoloader-manifest.js +1 -1
- package/dist/internal/canvas-color.d.ts +16 -0
- package/dist/internal/canvas-color.js +1 -1
- package/dist/internal/catalog-picker.d.ts +0 -1
- package/dist/internal/catalog-picker.js +1 -1
- package/dist/internal/default-strings.generated.d.ts +1 -0
- package/dist/internal/default-strings.generated.js +1 -1
- package/dist/internal/dev-mode-attribute-warning.d.ts +27 -4
- package/dist/internal/dev-mode-attribute-warning.js +1 -1
- package/dist/internal/localization-runtime.js +1 -1
- package/dist/internal/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +1 -1
- package/dist/internal/lyra-element.d.ts +13 -0
- package/dist/internal/lyra-element.js +1 -1
- package/dist/internal/media-controller.js +1 -1
- package/dist/internal/package-metadata.d.ts +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/scroll-overflow.d.ts +35 -13
- package/dist/internal/scroll-overflow.js +1 -1
- package/dist/internal/sizes.styles.js +0 -2
- package/dist/internal/specialist-tokens.styles.js +6 -11
- package/dist/internal/text-highlights.d.ts +4 -1
- package/dist/internal/text-highlights.js +1 -1
- package/dist/internal/tokens/palette.styles.js +0 -15
- package/dist/internal/tokens.styles.js +19 -113
- package/dist/lyra.d.ts +8 -5
- package/dist/styles/reservations.css +82 -0
- package/dist/svelte.d.ts +56 -37
- package/dist/translations/ar.js +1 -1
- package/dist/translations/de.js +1 -1
- package/dist/translations/es.js +1 -1
- package/dist/translations/fa.js +1 -1
- package/dist/translations/fr.js +1 -1
- package/dist/translations/he.js +1 -1
- package/dist/translations/ja.js +1 -1
- package/dist/translations/pt-BR.js +1 -1
- package/dist/translations/ru.js +1 -1
- package/dist/translations/zh-CN.js +1 -1
- package/dist/vue.d.ts +56 -37
- package/llms/components/lr-accordion-item.md +12 -3
- package/llms/components/lr-accordion.md +11 -2
- package/llms/components/lr-agent-eval-dashboard.md +1 -1
- package/llms/components/lr-agent-trace.md +3 -1
- package/llms/components/lr-agent-workspace.md +20 -0
- package/llms/components/lr-artifact-panel.md +10 -4
- package/llms/components/lr-attachment-chip.md +7 -4
- package/llms/components/lr-attachment-trigger.md +7 -4
- package/llms/components/lr-av-player.md +3 -1
- package/llms/components/lr-avatar.md +6 -6
- package/llms/components/lr-bar-chart.md +4 -3
- package/llms/components/lr-box-plot.md +1 -1
- package/llms/components/lr-browser-frame.md +7 -3
- package/llms/components/lr-bubble-chart.md +4 -3
- package/llms/components/lr-calendar.md +9 -2
- package/llms/components/lr-card.md +24 -0
- package/llms/components/lr-chart.md +32 -8
- package/llms/components/lr-chat-viewport.md +7 -2
- package/llms/components/lr-checkbox-group.md +13 -5
- package/llms/components/lr-checkbox.md +5 -2
- package/llms/components/lr-checkpoint.md +6 -2
- package/llms/components/lr-combobox.md +5 -2
- package/llms/components/lr-command-palette.md +4 -1
- package/llms/components/lr-confirm-bar.md +7 -3
- package/llms/components/lr-context-meter.md +12 -11
- package/llms/components/lr-conversation-item.md +7 -4
- package/llms/components/lr-details.md +11 -2
- package/llms/components/lr-dialog.md +15 -10
- package/llms/components/lr-dock-panel.md +7 -10
- package/llms/components/lr-document-preview.md +6 -1
- package/llms/components/lr-document-viewer.md +3 -2
- package/llms/components/lr-doughnut-chart.md +4 -3
- package/llms/components/lr-drawer.md +3 -3
- package/llms/components/lr-entity-card.md +3 -3
- package/llms/components/lr-entity-chip.md +1 -1
- package/llms/components/lr-entity-dossier.md +4 -1
- package/llms/components/lr-file-input.md +2 -2
- package/llms/components/lr-flag.md +20 -5
- package/llms/components/lr-heatmap.md +28 -0
- package/llms/components/lr-histogram.md +3 -1
- package/llms/components/lr-icon.md +1 -1
- package/llms/components/lr-json-schema-viewer.md +2 -1
- package/llms/components/lr-knowledge-graph-explorer.md +8 -3
- package/llms/components/lr-known-date.md +4 -2
- package/llms/components/lr-line-chart.md +4 -3
- package/llms/components/lr-lite-chart.md +16 -6
- package/llms/components/lr-map.md +72 -8
- package/llms/components/lr-markdown-core.md +3 -2
- package/llms/components/lr-media-card.md +28 -12
- package/llms/components/lr-message-parts.md +2 -1
- package/llms/components/lr-model-select.md +9 -10
- package/llms/components/lr-model-settings-panel.md +9 -9
- package/llms/components/lr-neighbor-list.md +1 -1
- package/llms/components/lr-notebook-viewer.md +6 -3
- package/llms/components/lr-option.md +5 -2
- package/llms/components/lr-pdf-viewer.md +62 -2
- package/llms/components/lr-pie-chart.md +4 -3
- package/llms/components/lr-polar-area-chart.md +4 -3
- package/llms/components/lr-popover.md +5 -0
- package/llms/components/lr-progress-ring.md +8 -1
- package/llms/components/lr-prompt-studio.md +1 -1
- package/llms/components/lr-provenance-panel.md +4 -2
- package/llms/components/lr-qr-code.md +1 -1
- package/llms/components/lr-radar-chart.md +4 -3
- package/llms/components/lr-rag-eval-dashboard.md +2 -2
- package/llms/components/lr-random-content.md +13 -0
- package/llms/components/lr-reorder-item.md +6 -1
- package/llms/components/lr-reorder-list.md +6 -1
- package/llms/components/lr-responsive-panel.md +11 -7
- package/llms/components/lr-scatter-chart.md +4 -3
- package/llms/components/lr-sequence-strip.md +16 -2
- package/llms/components/lr-slider.md +12 -5
- package/llms/components/lr-sparkline.md +1 -1
- package/llms/components/lr-suggestion-chips.md +7 -2
- package/llms/components/lr-swatch-picker.md +5 -5
- package/llms/components/lr-switch.md +5 -2
- package/llms/components/lr-table.md +30 -4
- package/llms/components/lr-terminal.md +3 -1
- package/llms/components/lr-thread-list.md +8 -8
- package/llms/components/lr-time-input.md +6 -1
- package/llms/components/lr-timeline-item.md +24 -0
- package/llms/components/lr-timeline.md +25 -1
- package/llms/components/lr-token-input.md +7 -2
- package/llms/components/lr-tool-approval-dialog.md +7 -8
- package/llms/components/lr-tool-call-chip.md +5 -1
- package/llms/components/lr-tool-param-form.md +14 -12
- package/llms/components/lr-tool-result-dialog.md +11 -9
- package/llms/components/lr-tool-result-view.md +7 -6
- package/llms/components/lr-tool-select-dialog.md +18 -16
- package/llms/components/lr-trace-tree.md +3 -1
- package/llms/components/lr-usage-badge.md +4 -1
- package/llms/components/lr-video-playlist.md +1 -1
- package/llms/components/lr-virtual-list.md +22 -14
- package/llms/components/lr-voice-picker.md +8 -5
- package/llms/components/lr-widget-renderer.md +3 -3
- package/llms/components/lr-widget.md +1 -1
- package/llms/components/lr-word-cloud.md +6 -2
- package/llms/peers.md +12 -2
- package/llms/shared.md +70 -2
- package/llms-full.txt +1143 -285
- package/package.json +17 -5
- package/vscode-css-data.json +37 -2
- package/vscode-html-data.json +401 -44
- package/web-types.json +299 -55
|
@@ -5,10 +5,6 @@ import{css}from"lit";const styles=css`
|
|
|
5
5
|
max-inline-size: 100%;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
/* [part="base"] is display:none whenever the panel isn't open, in both
|
|
9
|
-
presentations -- a docked (inline) panel can be toggled closed just like
|
|
10
|
-
an overlay one, it just doesn't need backdrop/focus-trap/scroll-lock
|
|
11
|
-
mechanics to do it. */
|
|
12
8
|
[part='base'] {
|
|
13
9
|
display: none;
|
|
14
10
|
min-inline-size: 0;
|
|
@@ -23,8 +19,6 @@ import{css}from"lit";const styles=css`
|
|
|
23
19
|
inset: 0;
|
|
24
20
|
z-index: var(--lr-overlay-stack-index, var(--lr-layer-modal));
|
|
25
21
|
}
|
|
26
|
-
/* Bottom-sheet anchors its panel to the block-end edge instead of
|
|
27
|
-
stretching it full-height like fullscreen does. */
|
|
28
22
|
:host([variant='bottom-sheet'][open]) [part='base'].overlay {
|
|
29
23
|
align-items: flex-end;
|
|
30
24
|
}
|
|
@@ -45,18 +39,12 @@ import{css}from"lit";const styles=css`
|
|
|
45
39
|
background: var(--lr-color-surface);
|
|
46
40
|
}
|
|
47
41
|
|
|
48
|
-
/* Inline (docked) presentation: a normal panel in the page's layout flow,
|
|
49
|
-
bordered like a card so it reads as a distinct region. */
|
|
50
42
|
[part='base']:not(.overlay) [part='panel'] {
|
|
51
43
|
border: var(--lr-border-width-thin) solid var(--lr-color-border);
|
|
52
44
|
border-radius: var(--lr-radius);
|
|
53
45
|
overflow: auto;
|
|
54
46
|
}
|
|
55
47
|
|
|
56
|
-
/* Overlay/fullscreen (default variant): the panel fills the entire
|
|
57
|
-
viewport edge-to-edge -- no backdrop is visible around it, but the
|
|
58
|
-
backdrop element still renders/still matters for the shared
|
|
59
|
-
Escape/backdrop-click dismissal wiring described on the class. */
|
|
60
48
|
[part='base'].overlay [part='panel'] {
|
|
61
49
|
inline-size: 100%;
|
|
62
50
|
block-size: 100%;
|
|
@@ -65,16 +53,10 @@ import{css}from"lit";const styles=css`
|
|
|
65
53
|
padding-block-end: var(--lr-safe-area-bottom);
|
|
66
54
|
padding-inline-start: var(--lr-safe-area-inline-start);
|
|
67
55
|
padding-inline-end: var(--lr-safe-area-inline-end);
|
|
68
|
-
/* Only the OVERLAY presentations repaint the panel: docked/inline is resting chrome in the
|
|
69
|
-
page's own flow and must keep the page surface, while an overlay sits over a scrim and in
|
|
70
|
-
dark mode would otherwise be the same near-black as the page behind it. The bottom-sheet
|
|
71
|
-
rule below narrows this same selector, so it inherits both declarations. */
|
|
72
56
|
background: var(
|
|
73
57
|
--lr-responsive-panel-overlay-panel-bg,
|
|
74
58
|
var(--lr-color-surface-overlay)
|
|
75
59
|
);
|
|
76
|
-
/* Modal layer, lower step: the panel is flush with every viewport edge (bottom-sheet with all
|
|
77
|
-
but one), so there is no free edge for a deeper shadow to read against. */
|
|
78
60
|
box-shadow: var(
|
|
79
61
|
--lr-responsive-panel-overlay-panel-shadow,
|
|
80
62
|
var(--lr-shadow-l)
|
|
@@ -82,21 +64,12 @@ import{css}from"lit";const styles=css`
|
|
|
82
64
|
overflow: auto;
|
|
83
65
|
}
|
|
84
66
|
|
|
85
|
-
/* Overlay/bottom-sheet: a partial-height sheet, rounded only on the top
|
|
86
|
-
edge, that leaves the backdrop (and whatever page content sits behind
|
|
87
|
-
it) visible above it. */
|
|
88
67
|
:host([variant='bottom-sheet']) [part='base'].overlay [part='panel'] {
|
|
89
68
|
block-size: auto;
|
|
90
69
|
max-block-size: var(--lr-responsive-panel-sheet-max-block-size, 85vh);
|
|
91
70
|
border-start-start-radius: var(--lr-radius);
|
|
92
71
|
border-start-end-radius: var(--lr-radius);
|
|
93
72
|
}
|
|
94
|
-
/* Dynamic-viewport refinement of the clamp above, so a mobile browser's
|
|
95
|
-
collapsing address bar doesn't leave the sheet taller than the visible
|
|
96
|
-
viewport. Guarded by @supports rather than written as a second plain
|
|
97
|
-
declaration: once the value comes from a custom property, an unsupported
|
|
98
|
-
dvh unit fails at computed-value time and resets max-block-size to none
|
|
99
|
-
instead of falling back to the preceding vh declaration. */
|
|
100
73
|
@supports (max-block-size: 1dvh) {
|
|
101
74
|
:host([variant='bottom-sheet']) [part='base'].overlay [part='panel'] {
|
|
102
75
|
max-block-size: var(--lr-responsive-panel-sheet-max-block-size, 85dvh);
|
|
@@ -3,11 +3,6 @@ import{css}from"lit";const styles=css`
|
|
|
3
3
|
display: block;
|
|
4
4
|
min-inline-size: 0;
|
|
5
5
|
max-inline-size: 100%;
|
|
6
|
-
/* --lr-scroller-shadow-color/-size are the Lyra-prefixed aliases of the upstream
|
|
7
|
-
--shadow-color/--shadow-size cssprops (see the class JSDoc) -- resolved once here so every
|
|
8
|
-
edge-shadow rule below reads one effective value instead of repeating the full three-level
|
|
9
|
-
fallback chain at each use site, same indirection lr-split-panel/lr-dock-panel already use
|
|
10
|
-
for their own component-scoped tokens. */
|
|
11
6
|
--_lr-scroller-effective-shadow-color: var(
|
|
12
7
|
--lr-scroller-shadow-color,
|
|
13
8
|
var(--shadow-color, var(--lr-color-surface))
|
|
@@ -113,11 +108,6 @@ import{css}from"lit";const styles=css`
|
|
|
113
108
|
}
|
|
114
109
|
|
|
115
110
|
[part~="control"] {
|
|
116
|
-
/* Keep the glyph-sized control compact by default (--lr-scroller-control-size
|
|
117
|
-
is a consumer-tunable custom property, not this floor) while still giving the
|
|
118
|
-
interactive box the shared minimum target size -- same "small glyph, padded hit
|
|
119
|
-
box" pattern as lr-code-block's/lr-json-viewer's [part='toggle']. Covers
|
|
120
|
-
both previous and next (the shared part on both, per csspart doc above). */
|
|
121
111
|
display: inline-grid;
|
|
122
112
|
place-items: center;
|
|
123
113
|
inline-size: var(--lr-scroller-control-size, var(--lr-size-2rem));
|
|
@@ -136,8 +126,6 @@ import{css}from"lit";const styles=css`
|
|
|
136
126
|
background: var(--lr-color-brand-quiet);
|
|
137
127
|
}
|
|
138
128
|
|
|
139
|
-
/* Held down, the control scrolls repeatedly, so the press is the long-lived state here rather
|
|
140
|
-
than an instant -- the deeper mix of the same brand-quiet fill marks it for its duration. */
|
|
141
129
|
[part~="control"]:active:not(:disabled) {
|
|
142
130
|
background: color-mix(
|
|
143
131
|
in oklab,
|
|
@@ -146,19 +134,11 @@ import{css}from"lit";const styles=css`
|
|
|
146
134
|
);
|
|
147
135
|
}
|
|
148
136
|
|
|
149
|
-
/* no-pressed-state: the viewport is a scroll port, not a target -- pressing it activates
|
|
150
|
-
nothing, and :active matches the ancestors of whatever was pressed, so clicking any slotted
|
|
151
|
-
item would flash this outline around the whole strip. */
|
|
152
137
|
[part="viewport"]:hover {
|
|
153
138
|
outline: var(--lr-border-width-thin) solid var(--lr-color-border);
|
|
154
139
|
outline-offset: var(--lr-focus-ring-offset);
|
|
155
140
|
}
|
|
156
141
|
|
|
157
|
-
/* previous/next are the same rendered button as [part='control'] above (each
|
|
158
|
-
button's part attribute carries both tokens, e.g. part="control previous", so
|
|
159
|
-
this needs the token-matching ~= form, not =, to actually hit it) -- this
|
|
160
|
-
restates the identical floor directly against each individual part name too,
|
|
161
|
-
since a shadow-part guard lookup is per-name, not per-rendered-element. */
|
|
162
142
|
[part~="previous"],
|
|
163
143
|
[part~="next"] {
|
|
164
144
|
min-inline-size: var(--lr-icon-button-size);
|
|
@@ -98,7 +98,13 @@ export declare class LyraSegmented extends LyraElement<LyraSegmentedEventMap> {
|
|
|
98
98
|
size: LyraSize;
|
|
99
99
|
private selectedItem?;
|
|
100
100
|
private rehomeSegmentFocus;
|
|
101
|
-
|
|
101
|
+
/** Gates the [part="base"] edge fade on the track genuinely overflowing, with one-sided/RTL-aware
|
|
102
|
+
* logical-edge state -- see --lr-scroll-fade-size and segmented.styles.ts. Stored (rather than a
|
|
103
|
+
* bare statement-expression call) so `updated()` can register each segment on the controller's
|
|
104
|
+
* own `ResizeObserver` via `observeExtra()` below -- a segment's own intrinsic content (a longer
|
|
105
|
+
* localized label, an icon loading in) can grow scrollWidth without [part="base"]'s own border
|
|
106
|
+
* box changing at all, which the plain per-track observation alone cannot see. */
|
|
107
|
+
private scrollOverflow;
|
|
102
108
|
private select;
|
|
103
109
|
private segmentButtonAt;
|
|
104
110
|
private focusItem;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{repeat}from"lit/directives/repeat.js";import{LyraElement}from"../../../internal/lyra-element.js";import{sizes}from"../../../internal/sizes.styles.js";import{isRtl}from"../../../internal/rtl.js";import{prefersReducedMotion}from"../../../internal/motion.js";import{observeScrollOverflow}from"../../../internal/scroll-overflow.js";import{hostAriaLabel}from"../../../internal/a11y.js";import{styles}from"./segmented.styles.js";import{activeElementIn}from"../../../internal/active-element.js";const MAX_SEGMENTED_ITEMS=256;function snapshotSegmentedItems(value){try{if(!Array.isArray(value))return Object.freeze([])}catch{return Object.freeze([])}const seenValues=new Set,normalized=[];let length=0;try{length=Math.min(value.length,MAX_SEGMENTED_ITEMS)}catch{return Object.freeze(normalized)}for(let index=0;index<length;index+=1)try{const candidate=value[index];if(!candidate||typeof candidate!="object")continue;const record=candidate,itemValue=record.value,label=record.label,disabled=record.disabled,icon=record.icon;if(typeof itemValue!="string"||itemValue.length===0||itemValue!==itemValue.trim()||seenValues.has(itemValue)||typeof label!="string"||disabled!==void 0&&typeof disabled!="boolean")continue;seenValues.add(itemValue),normalized.push(Object.freeze({value:itemValue,label,...icon!==void 0?{icon}:{},...disabled!==void 0?{disabled}:{}}))}catch{}return Object.freeze(normalized)}class LyraSegmented extends LyraElement{
|
|
1
|
+
var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{repeat}from"lit/directives/repeat.js";import{LyraElement}from"../../../internal/lyra-element.js";import{sizes}from"../../../internal/sizes.styles.js";import{isRtl}from"../../../internal/rtl.js";import{prefersReducedMotion}from"../../../internal/motion.js";import{observeScrollOverflow}from"../../../internal/scroll-overflow.js";import{hostAriaLabel}from"../../../internal/a11y.js";import{styles}from"./segmented.styles.js";import{activeElementIn}from"../../../internal/active-element.js";const MAX_SEGMENTED_ITEMS=256;function snapshotSegmentedItems(value){try{if(!Array.isArray(value))return Object.freeze([])}catch{return Object.freeze([])}const seenValues=new Set,normalized=[];let length=0;try{length=Math.min(value.length,MAX_SEGMENTED_ITEMS)}catch{return Object.freeze(normalized)}for(let index=0;index<length;index+=1)try{const candidate=value[index];if(!candidate||typeof candidate!="object")continue;const record=candidate,itemValue=record.value,label=record.label,disabled=record.disabled,icon=record.icon;if(typeof itemValue!="string"||itemValue.length===0||itemValue!==itemValue.trim()||seenValues.has(itemValue)||typeof label!="string"||disabled!==void 0&&typeof disabled!="boolean")continue;seenValues.add(itemValue),normalized.push(Object.freeze({value:itemValue,label,...icon!==void 0?{icon}:{},...disabled!==void 0?{disabled}:{}}))}catch{}return Object.freeze(normalized)}class LyraSegmented extends LyraElement{constructor(){super(...arguments),this.effectiveItems=Object.freeze([]),this.value="",this.label="",this.size="m",this.rehomeSegmentFocus=!1,this.scrollOverflow=observeScrollOverflow(this,()=>this.renderRoot.querySelector('[part="base"]')),this.onKeyDown=e=>{const navigable=this.items.map((item,index)=>({item,index})).filter(({item})=>!item.disabled);if(navigable.length===0)return;const focusedIndex=this.keyboardOriginIndex(e),selectedIndex=this.items.indexOf(this.selectedItem),originIndex=focusedIndex>=0?focusedIndex:selectedIndex,currentIndex=selectedIndex<0&&this.segmentButtonAt(originIndex)?.tabIndex===0?-1:navigable.findIndex(({index})=>index===originIndex),rtl=isRtl(this),forwardKey=rtl?"ArrowLeft":"ArrowRight",backwardKey=rtl?"ArrowRight":"ArrowLeft";let targetIndex;switch(e.key){case forwardKey:targetIndex=currentIndex<0?0:(currentIndex+1)%navigable.length;break;case backwardKey:targetIndex=currentIndex<0?navigable.length-1:(currentIndex-1+navigable.length)%navigable.length;break;case"Home":targetIndex=0;break;case"End":targetIndex=navigable.length-1;break;default:return}e.preventDefault();const target=navigable[targetIndex];this.select(target.item),this.focusItem(target.index)}}static{this.styles=[LyraElement.styles,sizes,styles]}get items(){return this.effectiveItems}set items(value){const previous=this.effectiveItems;this.effectiveItems=snapshotSegmentedItems(value),this.requestUpdate("items",previous)}select(item){if(item.disabled||item===this.selectedItem)return;const valueChanged=item.value!==this.value;this.selectedItem=item,valueChanged&&(this.value=item.value,this.emit("lr-change",{value:item.value}))}segmentButtonAt(index){return this.renderRoot.querySelector(`[part="segment"][data-index="${index}"]`)}focusItem(index){this.segmentButtonAt(index)?.focus()}scrollToValue(value){const index=this.items.findIndex(item=>item.value===value);this.segmentButtonAt(index)?.scrollIntoView({block:"nearest",inline:"nearest",behavior:prefersReducedMotion(this.ownerDocument.defaultView)?"auto":"smooth"})}updated(changed){super.updated(changed),this.scrollOverflow.observeExtra(this.renderRoot.querySelectorAll('[part="segment"]')),this.rehomeSegmentFocus&&(this.rehomeSegmentFocus=!1,this.renderRoot.querySelector('[part="segment"][tabindex="0"]')?.focus()),changed.has("value")&&changed.get("value")!==void 0&&this.value&&this.scrollToValue(this.value)}willUpdate(changed){super.willUpdate(changed),changed.has("items")&&activeElementIn(this.renderRoot)?.getAttribute("part")==="segment"&&(this.rehomeSegmentFocus=!0),(changed.has("value")||changed.has("items")&&(!this.selectedItem||!this.items.includes(this.selectedItem)||this.selectedItem.value!==this.value||this.selectedItem.disabled))&&(this.selectedItem=this.items.find(item=>item.value===this.value&&!item.disabled))}keyboardOriginIndex(event){const fromEvent=event.composedPath().find(candidate2=>candidate2.nodeType===1&&candidate2.getAttribute?.("part")==="segment"&&candidate2.getRootNode()===this.renderRoot),focused=activeElementIn(this.renderRoot),candidate=fromEvent??(focused?.getAttribute("part")==="segment"?focused:void 0),index=Number(candidate?.dataset.index);return Number.isInteger(index)&&index>=0&&index<this.items.length?index:-1}render(){const ariaLabel=hostAriaLabel(this)??(this.label||nothing),selectedIndex=this.items.indexOf(this.selectedItem),fallbackSelectedIndex=selectedIndex>=0?selectedIndex:this.items.findIndex(item=>item.value===this.value&&!item.disabled),tabbableIndex=fallbackSelectedIndex!==-1?fallbackSelectedIndex:this.items.findIndex(item=>!item.disabled);return html`
|
|
2
2
|
<div
|
|
3
3
|
part="base"
|
|
4
4
|
role="radiogroup"
|
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
import{css}from"lit";const styles=css`
|
|
2
2
|
:host {
|
|
3
3
|
display: inline-flex;
|
|
4
|
-
/* Lets the host shrink below its row's max-content width when it's a flex/grid
|
|
5
|
-
item in a consumer's own narrow layout -- the default min-width:auto for flex
|
|
6
|
-
items would otherwise force the scroll container wide. */
|
|
7
4
|
min-inline-size: 0;
|
|
8
5
|
max-inline-size: 100%;
|
|
9
|
-
/* One ladder for the whole library (internal/sizes.styles.ts): the track floor, the segment
|
|
10
|
-
padding and the segment font size are the tier's own --lr-form-control-* values, so a toolbar
|
|
11
|
-
built with same-size controls shows this control at a matching height beside them, per the
|
|
12
|
-
class doc's own "flush beside those controls" promise. This component used to carry six
|
|
13
|
-
:host([size=...]) blocks of its own, on a scale that had drifted from that one. */
|
|
14
6
|
--_lr-segmented-track-min-height: var(--lr-form-control-height);
|
|
15
7
|
--_lr-segmented-segment-padding: var(--lr-form-control-padding-block)
|
|
16
8
|
var(--lr-form-control-padding-inline);
|
|
@@ -22,10 +14,6 @@ import{css}from"lit";const styles=css`
|
|
|
22
14
|
overflow-x: auto;
|
|
23
15
|
overflow-y: hidden;
|
|
24
16
|
min-inline-size: 0;
|
|
25
|
-
/* --lr-segmented-track-height is deliberately NEVER declared anywhere: an exact-height hatch
|
|
26
|
-
only works as an undeclared sentinel, so the fallback arm below can fall through to the
|
|
27
|
-
per-size --lr-segmented-track-min-height floor. Declaring it as "auto" on :host would be a
|
|
28
|
-
valid value that always wins, silently making the per-size floor dead code. */
|
|
29
17
|
min-block-size: var(
|
|
30
18
|
--lr-segmented-track-height,
|
|
31
19
|
var(
|
|
@@ -40,13 +28,7 @@ import{css}from"lit";const styles=css`
|
|
|
40
28
|
padding: var(--lr-segmented-track-padding, var(--lr-size-0-125rem));
|
|
41
29
|
gap: var(--lr-segmented-track-gap, var(--lr-size-0-125rem));
|
|
42
30
|
}
|
|
43
|
-
|
|
44
|
-
data-scroll-overflow from a real scrollWidth/clientWidth measurement. This used to be painted
|
|
45
|
-
unconditionally ("a low-cost affordance that needs no observers"), which is only harmless when
|
|
46
|
-
there IS overflow: at the 2rem-per-edge default a two-option row (Overall | Daily) is narrower
|
|
47
|
-
than its own two fades, so both labels rendered half-transparent and the control read as
|
|
48
|
-
disabled. */
|
|
49
|
-
[part="base"][data-scroll-overflow] {
|
|
31
|
+
[part="base"][data-scroll-overflow]:where([data-scroll-start][data-scroll-end]) {
|
|
50
32
|
-webkit-mask-image: linear-gradient(
|
|
51
33
|
to right,
|
|
52
34
|
transparent,
|
|
@@ -62,6 +44,72 @@ import{css}from"lit";const styles=css`
|
|
|
62
44
|
transparent
|
|
63
45
|
);
|
|
64
46
|
}
|
|
47
|
+
[part="base"][data-scroll-overflow]:where(
|
|
48
|
+
[data-scroll-end]:not([data-scroll-start])
|
|
49
|
+
) {
|
|
50
|
+
-webkit-mask-image: linear-gradient(
|
|
51
|
+
to right,
|
|
52
|
+
var(--lr-mask-opaque),
|
|
53
|
+
var(--lr-mask-opaque) calc(100% - var(--lr-scroll-fade-size)),
|
|
54
|
+
transparent
|
|
55
|
+
);
|
|
56
|
+
mask-image: linear-gradient(
|
|
57
|
+
to right,
|
|
58
|
+
var(--lr-mask-opaque),
|
|
59
|
+
var(--lr-mask-opaque) calc(100% - var(--lr-scroll-fade-size)),
|
|
60
|
+
transparent
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
[part="base"][data-scroll-overflow]:where(
|
|
64
|
+
[data-scroll-start]:not([data-scroll-end])
|
|
65
|
+
) {
|
|
66
|
+
-webkit-mask-image: linear-gradient(
|
|
67
|
+
to right,
|
|
68
|
+
transparent,
|
|
69
|
+
var(--lr-mask-opaque) var(--lr-scroll-fade-size),
|
|
70
|
+
var(--lr-mask-opaque)
|
|
71
|
+
);
|
|
72
|
+
mask-image: linear-gradient(
|
|
73
|
+
to right,
|
|
74
|
+
transparent,
|
|
75
|
+
var(--lr-mask-opaque) var(--lr-scroll-fade-size),
|
|
76
|
+
var(--lr-mask-opaque)
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
:host(:dir(rtl))
|
|
80
|
+
[part="base"][data-scroll-overflow]:where(
|
|
81
|
+
[data-scroll-end]:not([data-scroll-start])
|
|
82
|
+
) {
|
|
83
|
+
-webkit-mask-image: linear-gradient(
|
|
84
|
+
to right,
|
|
85
|
+
transparent,
|
|
86
|
+
var(--lr-mask-opaque) var(--lr-scroll-fade-size),
|
|
87
|
+
var(--lr-mask-opaque)
|
|
88
|
+
);
|
|
89
|
+
mask-image: linear-gradient(
|
|
90
|
+
to right,
|
|
91
|
+
transparent,
|
|
92
|
+
var(--lr-mask-opaque) var(--lr-scroll-fade-size),
|
|
93
|
+
var(--lr-mask-opaque)
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
:host(:dir(rtl))
|
|
97
|
+
[part="base"][data-scroll-overflow]:where(
|
|
98
|
+
[data-scroll-start]:not([data-scroll-end])
|
|
99
|
+
) {
|
|
100
|
+
-webkit-mask-image: linear-gradient(
|
|
101
|
+
to right,
|
|
102
|
+
var(--lr-mask-opaque),
|
|
103
|
+
var(--lr-mask-opaque) calc(100% - var(--lr-scroll-fade-size)),
|
|
104
|
+
transparent
|
|
105
|
+
);
|
|
106
|
+
mask-image: linear-gradient(
|
|
107
|
+
to right,
|
|
108
|
+
var(--lr-mask-opaque),
|
|
109
|
+
var(--lr-mask-opaque) calc(100% - var(--lr-scroll-fade-size)),
|
|
110
|
+
transparent
|
|
111
|
+
);
|
|
112
|
+
}
|
|
65
113
|
[part="segment"] {
|
|
66
114
|
min-inline-size: 0;
|
|
67
115
|
border: none;
|
|
@@ -92,22 +140,11 @@ import{css}from"lit";const styles=css`
|
|
|
92
140
|
opacity: var(--lr-opacity-disabled);
|
|
93
141
|
cursor: not-allowed;
|
|
94
142
|
}
|
|
95
|
-
/* Reads its own prop, not the shared --lr-color-text token the selected state used to share:
|
|
96
|
-
recoloring the selected pill must never repaint hovered-unselected segments with it.
|
|
97
|
-
:where() zeroes the wrapped selectors' specificity contribution, leaving only :hover itself
|
|
98
|
-
-- (0,1,0) total, functionally identical selection to the unwrapped shape but now losing (on
|
|
99
|
-
the pseudo-element tiebreak) to a consumer's own ::part(segment):hover override ((0,1,1))
|
|
100
|
-
without that consumer needing !important -- mirrors lr-attachment-trigger's identical fix. */
|
|
101
143
|
:where([part="segment"]):hover:where(
|
|
102
144
|
:not([aria-disabled="true"]):not([aria-checked="true"])
|
|
103
145
|
) {
|
|
104
146
|
color: var(--lr-segmented-hover-color, var(--lr-color-text));
|
|
105
147
|
}
|
|
106
|
-
/* Hover lifts only the label colour on this control, so the pressed state has to add a surface
|
|
107
|
-
to be a visible step past it: the segment's own transparent fill mixed toward
|
|
108
|
-
--lr-color-mix-partner, which lands as the partner colour at --lr-color-mix-active alpha over
|
|
109
|
-
whatever track colour the theme is using. Same :not() guards, and the same zeroed specificity,
|
|
110
|
-
as the hover rule it twins. */
|
|
111
148
|
:where([part="segment"]):active:where(
|
|
112
149
|
:not([aria-disabled="true"]):not([aria-checked="true"])
|
|
113
150
|
) {
|
|
@@ -128,10 +165,6 @@ import{css}from"lit";const styles=css`
|
|
|
128
165
|
outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);
|
|
129
166
|
outline-offset: var(--lr-focus-ring-offset);
|
|
130
167
|
}
|
|
131
|
-
/* Every value here is an inline var() fallback rather than a :host-declared property on purpose:
|
|
132
|
-
:host is re-declared per size tier, which would shadow any value a consumer sets on an
|
|
133
|
-
ancestor -- exactly what these hooks exist to allow. Unset, each falls back to the token the
|
|
134
|
-
rule used before the hooks existed, so the rendering is unchanged. */
|
|
135
168
|
[part="segment"][aria-checked="true"] {
|
|
136
169
|
background: var(--lr-segmented-selected-bg, var(--lr-color-surface));
|
|
137
170
|
color: var(--lr-segmented-selected-color, var(--lr-color-text));
|
|
@@ -139,12 +172,11 @@ import{css}from"lit";const styles=css`
|
|
|
139
172
|
--lr-segmented-selected-font-weight,
|
|
140
173
|
var(--lr-font-weight-semibold)
|
|
141
174
|
);
|
|
142
|
-
/* Smallest step in the scale: the checked segment is a thumb lifted a hair off its own track,
|
|
143
|
-
the shallowest piece of resting chrome the library has. */
|
|
144
175
|
box-shadow: var(--lr-segmented-selected-shadow, var(--lr-shadow-xs));
|
|
145
176
|
}
|
|
146
177
|
@media (forced-colors: active) {
|
|
147
|
-
[part="base"][data-scroll-overflow]
|
|
178
|
+
[part="base"][data-scroll-overflow],
|
|
179
|
+
:host(:dir(rtl)) [part="base"][data-scroll-overflow] {
|
|
148
180
|
-webkit-mask-image: none;
|
|
149
181
|
mask-image: none;
|
|
150
182
|
}
|
|
@@ -48,7 +48,7 @@ import{css}from"lit";const styles=css`
|
|
|
48
48
|
[part~='panel'] {
|
|
49
49
|
min-inline-size: 0;
|
|
50
50
|
min-block-size: 0;
|
|
51
|
-
overflow:
|
|
51
|
+
overflow: auto;
|
|
52
52
|
overflow-wrap: anywhere;
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -92,8 +92,6 @@ import{css}from"lit";const styles=css`
|
|
|
92
92
|
user-select: none;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
/* Transparent hit slop preserves the visible divider width while maintaining Lyra's minimum
|
|
96
|
-
interactive target. Generated content belongs to the divider's own hit-test box. */
|
|
97
95
|
[part~='divider']::before {
|
|
98
96
|
content: '';
|
|
99
97
|
position: absolute;
|
|
@@ -119,10 +117,6 @@ import{css}from"lit";const styles=css`
|
|
|
119
117
|
inset-inline: 0;
|
|
120
118
|
}
|
|
121
119
|
|
|
122
|
-
/* --lr-split-panel-divider-hover-color/-active-color deliberately don't reuse the bare
|
|
123
|
-
--lr-color-brand/--lr-color-border-strong tokens directly -- the divider's drag-affordance
|
|
124
|
-
accent is its own visual purpose that happens to default to those shared colors, not tied to
|
|
125
|
-
them by design, mirroring lr-dock-panel's [part='handle'] hover/active tokens. */
|
|
126
120
|
[part~='divider']:where(:hover) {
|
|
127
121
|
background: var(--lr-split-panel-divider-hover-color, var(--lr-color-brand));
|
|
128
122
|
}
|
|
@@ -165,7 +165,14 @@ export declare class LyraStepper extends LyraElement<LyraStepperEventMap> {
|
|
|
165
165
|
/** Owns breakpoint resolution, basis selection, and the viewport `MediaQueryList` lifecycle
|
|
166
166
|
* (including teardown on disconnect) -- see `OrientationBreakpointController`. */
|
|
167
167
|
private orientationBreakpoints;
|
|
168
|
-
|
|
168
|
+
/** Gates the horizontal [part="base"] edge fade on the track genuinely overflowing, with
|
|
169
|
+
* one-sided/RTL-aware logical-edge state -- see --lr-scroll-fade-size and stepper.styles.ts.
|
|
170
|
+
* Independent of the orientation controller above: the vertical rules zero the mask out
|
|
171
|
+
* regardless of this attribute. Stored (rather than a bare statement-expression call) so
|
|
172
|
+
* `updated()` can register each step on the controller's own `ResizeObserver` via
|
|
173
|
+
* `observeExtra()` below -- a step's own intrinsic content (a longer localized label, an icon
|
|
174
|
+
* loading in) can grow scrollWidth without [part="base"]'s own border box changing at all. */
|
|
175
|
+
private scrollOverflow;
|
|
169
176
|
/** The live layout/navigation axis after applying `orientationBreakpoint` -- identical to
|
|
170
177
|
* `orientation` whenever that's unset. See the class doc. */
|
|
171
178
|
get effectiveOrientation(): LyraOrientation;
|
|
@@ -12,7 +12,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
12
12
|
focusable="false"
|
|
13
13
|
>
|
|
14
14
|
<polyline points="5 12.5 10 17.5 19 6.5"></polyline>
|
|
15
|
-
</svg>`}class LyraStepper extends LyraElement{
|
|
15
|
+
</svg>`}class LyraStepper extends LyraElement{constructor(){super(...arguments),this.effectiveSteps=Object.freeze([]),this.orientation="horizontal",this.orientationBreakpointBasis="container",this.narrowOrientation="vertical",this.wrapLabels=!1,this.accessibleLabel=null,this._effectiveOrientation="horizontal",this.resizeObserverGeneration=0,this.measuredInlineSize=Number.POSITIVE_INFINITY,this.orientationBreakpoints=new OrientationBreakpointController(this,()=>this.updateEffectiveOrientation(this.baseEl?.clientWidth??this.measuredInlineSize,!0)),this.scrollOverflow=observeScrollOverflow(this,()=>this.baseEl),this.onKeyDown=e=>{const navigable=this.steps.map((step,index)=>({step,index})).filter(({step})=>!step.disabled);if(navigable.length===0)return;const focused=activeElementIn(this.renderRoot),focusedIndex=Number(focused?.dataset.index),currentIndex=navigable.findIndex(item=>item.index===focusedIndex),vertical=this.effectiveOrientation==="vertical",rtl=!vertical&&isRtl(this),forwardKey=vertical?"ArrowDown":rtl?"ArrowLeft":"ArrowRight",backwardKey=vertical?"ArrowUp":rtl?"ArrowRight":"ArrowLeft";let targetIndex;switch(e.key){case forwardKey:targetIndex=Math.min(navigable.length-1,(currentIndex<0?-1:currentIndex)+1);break;case backwardKey:targetIndex=Math.max(0,(currentIndex<0?1:currentIndex)-1);break;case"Home":targetIndex=0;break;case"End":targetIndex=navigable.length-1;break;case"Enter":case" ":if(e.preventDefault(),currentIndex>=0){const target=navigable[currentIndex];this.selectStep(target.step,target.index)}return;default:return}e.preventDefault(),this.focusStep(navigable[targetIndex].index)}}static{this.styles=[LyraElement.styles,styles]}get steps(){return this.effectiveSteps}set steps(value){const previous=this.effectiveSteps;this.effectiveSteps=snapshotSteps(value),this.requestUpdate("steps",previous)}get effectiveOrientation(){return this._effectiveOrientation}connectedCallback(){super.connectedCallback();const hostWidth=this.getBoundingClientRect().width;hostWidth>0&&(this.measuredInlineSize=hostWidth),this.orientationBreakpoints.containerObservationEnabled&&this.armResizeObserver()}disconnectedCallback(){super.disconnectedCallback(),this.resetResizeObserver()}adoptedCallback(){super.adoptedCallback(),this.resetResizeObserver()}firstUpdated(changed){super.firstUpdated(changed),this.orientationBreakpoints.containerObservationEnabled&&this.armResizeObserver()}willUpdate(changed){if(super.willUpdate(changed),changed.has("steps")){const focusedStep=activeElementIn(this.renderRoot);focusedStep?.getAttribute("part")==="step"&&(this.pendingStepFocus={stepId:focusedStep.dataset.stepId??"",index:Number(focusedStep.dataset.index)})}(changed.has("orientationBreakpoint")||changed.has("orientationBreakpointBasis"))&&this.orientationBreakpoints.configure(this.orientationBreakpoint,this.orientationBreakpointBasis),(changed.has("orientation")||changed.has("narrowOrientation")||changed.has("orientationBreakpoint")||changed.has("orientationBreakpointBasis"))&&this.updateEffectiveOrientation(this.baseEl?.clientWidth??this.measuredInlineSize,this.hasUpdated&&this.orientationBreakpointBasis==="viewport")}updated(changed){if(super.updated(changed),this.scrollOverflow.observeExtra(this.renderRoot.querySelectorAll('[part="step"]')),this.pendingStepFocus!==void 0){const focusedOccurrence=this.pendingStepFocus;this.pendingStepFocus=void 0;const enabledIdentityMatches=[...this.renderRoot.querySelectorAll('[part="step"]')].filter(step=>step.dataset.stepId===focusedOccurrence.stepId&&step.getAttribute("aria-disabled")!=="true");(enabledIdentityMatches.find(step=>Number(step.dataset.index)===focusedOccurrence.index)??(enabledIdentityMatches.length===1?enabledIdentityMatches[0]:void 0)??this.renderRoot.querySelector('[part="step"][tabindex="0"]'))?.focus()}(changed.has("orientationBreakpoint")||changed.has("orientationBreakpointBasis"))&&(this.orientationBreakpoints.containerObservationEnabled?this.armResizeObserver():this.resetResizeObserver())}updateEffectiveOrientation(width,emitOnChange){const next=this.orientationBreakpoints.isBelow(width)?this.narrowOrientation:this.orientation;this.orientationBreakpoints.active?this.setAttribute("data-effective-orientation",next):this.removeAttribute("data-effective-orientation"),next!==this._effectiveOrientation&&(this._effectiveOrientation=next,this.requestUpdate(),emitOnChange&&this.emit("lr-stepper-orientation-change",{orientation:next}))}armResizeObserver(){const observedElement=this.baseEl;if(!this.isConnected||!observedElement)return;const ownerDocument=this.ownerDocument;if(this.resizeObserver&&this.resizeObservedElement===observedElement&&this.resizeObserverOwnerDocument===ownerDocument)return;this.resetResizeObserver();const ResizeObserverConstructor=ownerDocument.defaultView?.ResizeObserver;if(!ResizeObserverConstructor)return;const generation=this.resizeObserverGeneration,observer=new ResizeObserverConstructor(entries=>{if(this.resizeObserver!==observer||this.resizeObserverGeneration!==generation||!this.isConnected||this.ownerDocument!==ownerDocument||this.baseEl!==observedElement)return;const box=entries[0]?.contentBoxSize?.[0],width=box?box.inlineSize:observedElement.getBoundingClientRect().width;this.measuredInlineSize=width,this.updateEffectiveOrientation(width,!0)});this.resizeObserver=observer,this.resizeObservedElement=observedElement,this.resizeObserverOwnerDocument=ownerDocument,observer.observe(observedElement)}resetResizeObserver(){this.resizeObserverGeneration+=1,this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.resizeObservedElement=void 0,this.resizeObserverOwnerDocument=void 0}selectStep(step,index){step.disabled||this.emit("lr-step-select",{stepId:step.stepId,index})}focusStep(index){this.renderRoot.querySelector(`[part="step"][data-index="${index}"]`)?.focus()}render(){const currentIndex=this.steps.findIndex(step=>step.state==="current"),rovingIndex=currentIndex>=0&&!this.steps[currentIndex].disabled?currentIndex:this.steps.findIndex(step=>!step.disabled),numberFormat=getNumberFormat(this.effectiveLocale);return html`
|
|
16
16
|
<div
|
|
17
17
|
part="base"
|
|
18
18
|
role="list"
|