@aceshooting/lyra-ui 9.1.1 → 11.0.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 +785 -0
- package/custom-elements.json +1 -1
- package/design-tokens.json +13 -0
- package/dist/cli/migrate-wa.mjs +216 -1
- 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.class.d.ts +27 -0
- package/dist/components/charts/chart/box-plot.class.js +14 -4
- package/dist/components/charts/chart/box-plot.styles.js +28 -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 +120 -0
- package/dist/components/charts/chart/chart.class.js +16 -6
- package/dist/components/charts/chart/chart.styles.js +28 -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 +117 -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.d.ts +71 -3
- package/dist/components/forms/combobox/combobox.class.js +5 -3
- package/dist/components/forms/combobox/combobox.styles.js +31 -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 +47 -0
- package/dist/components/forms/date-picker/date-picker.class.js +36 -22
- package/dist/components/forms/date-picker/date-picker.styles.js +82 -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 +23 -1
- 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 +178 -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 +32 -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 +28 -4
- 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 +72 -40
- 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 +20 -113
- package/dist/lyra.d.ts +9 -6
- package/dist/styles/reservations.css +82 -0
- package/dist/svelte.d.ts +72 -40
- 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 +72 -40
- 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 +8 -6
- package/llms/components/lr-box-plot.md +15 -4
- package/llms/components/lr-browser-frame.md +7 -3
- package/llms/components/lr-bubble-chart.md +8 -6
- package/llms/components/lr-calendar.md +9 -2
- package/llms/components/lr-card.md +24 -0
- package/llms/components/lr-chart.md +45 -11
- 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 +47 -8
- 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-date-input.md +22 -2
- package/llms/components/lr-date-picker.md +23 -3
- package/llms/components/lr-details.md +11 -2
- package/llms/components/lr-dialog.md +16 -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 +8 -6
- 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 +30 -8
- package/llms/components/lr-heatmap.md +46 -0
- package/llms/components/lr-histogram.md +7 -4
- 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 +8 -6
- package/llms/components/lr-lite-chart.md +16 -6
- package/llms/components/lr-map.md +91 -10
- 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 +46 -7
- package/llms/components/lr-pdf-viewer.md +62 -2
- package/llms/components/lr-pie-chart.md +8 -6
- package/llms/components/lr-polar-area-chart.md +8 -6
- package/llms/components/lr-popover.md +25 -1
- 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 +8 -6
- 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 +8 -6
- 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/tokens.md +15 -1
- package/llms-full.txt +1335 -306
- package/package.json +17 -5
- package/vscode-css-data.json +93 -2
- package/vscode-html-data.json +513 -59
- package/web-types.json +457 -72
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
- **Status** `stable` since `4.0.0` — see the maturity and deprecation policy in `llms/shared.md`
|
|
9
9
|
- **Deprecations** none
|
|
10
10
|
- **Optional peers** `@aceshooting/lyra-flags` — see `llms/peers.md`
|
|
11
|
-
- **Themeable via**
|
|
11
|
+
- **Themeable via** 3 parts, 3 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
12
12
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
13
13
|
|
|
14
14
|
---
|
|
@@ -20,7 +20,16 @@ Country/language flag image. Flag artwork ships in a **separate, optional peer p
|
|
|
20
20
|
|
|
21
21
|
**Properties:**
|
|
22
22
|
|
|
23
|
-
- `country?: string` (ISO 3166-1 alpha-2
|
|
23
|
+
- `country?: string` (ISO 3166-1 **alpha-2 or alpha-3**, e.g. `"fr"` or `"FRA"` — takes
|
|
24
|
+
precedence over `language`). Length alone disambiguates the two code spaces, so no format hint
|
|
25
|
+
is needed: a 2-letter value is alpha-2, a 3-letter value is alpha-3. Alpha-3 support exists
|
|
26
|
+
because public statistical sources (World Bank, UN, IMF, most open-data portals) key country
|
|
27
|
+
records on alpha-3; the 249 officially-assigned mappings are packed as a ~1.2 KB fixed-width
|
|
28
|
+
string and expanded lazily on the first alpha-3 lookup, so an alpha-2-only app never pays for
|
|
29
|
+
them. Withdrawn and user-assigned codes deliberately do not map to a successor state — they
|
|
30
|
+
take the unresolved path below
|
|
31
|
+
- `fallback?: string` — placeholder image URL rendered when the code cannot resolve to a current
|
|
32
|
+
flag. The `fallback` slot wins over it
|
|
24
33
|
- `language?: string` (BCP-47-ish tag, e.g. `"en"`/`"en-US"`, resolved to a representative country
|
|
25
34
|
via `languageToCountry()`)
|
|
26
35
|
- `src?: string` (a pre-resolved flag image URL — takes precedence over `country`/`language` and
|
|
@@ -45,11 +54,17 @@ authoring types are `LyraFlagShape`, `LyraFlagFidelity`, and `LyraFlagUrlResolve
|
|
|
45
54
|
|
|
46
55
|
**Events:** none.
|
|
47
56
|
|
|
48
|
-
**Slots:**
|
|
57
|
+
**Slots:** `fallback` — rendered in place of the flag when `country`/`language` cannot resolve to a
|
|
58
|
+
current flag (an unassigned, historical, or malformed code). Wins over the `fallback` property.
|
|
49
59
|
|
|
50
|
-
**CSS parts:** `image` (the underlying `<img>`, exposed once native loading succeeds),
|
|
60
|
+
**CSS parts:** `image` (the underlying `<img>`, exposed once native loading succeeds),
|
|
61
|
+
`fallback-image` (the `fallback` property's placeholder, when no slot content is supplied), `error`
|
|
51
62
|
(contained localized visible text rendered when URL validation, peer resolution, or native image
|
|
52
|
-
loading fails). The host reflects the terminal error state with `data-error
|
|
63
|
+
loading fails). The host reflects the terminal error state with `data-error`, and an unresolvable
|
|
64
|
+
code with `data-unresolved`. **The two are deliberately distinct:** a dissolved federation or
|
|
65
|
+
unrecognized territory in a longitudinal dataset is *data*, not a defect, so it renders the neutral
|
|
66
|
+
fallback (occupying its normal footprint in a table or card grid) rather than localized error
|
|
67
|
+
wording that reads to a user as a bug. Style the two states apart with those attributes.
|
|
53
68
|
|
|
54
69
|
**Themeable custom properties:** `--lr-flag-radius` (default `calc(var(--lr-radius) * 0.33)` —
|
|
55
70
|
rectangular corner radius), `--lr-flag-aspect-ratio` (default `4 / 3`), and
|
|
@@ -59,8 +74,10 @@ rectangular corner radius), `--lr-flag-aspect-ratio` (default `4 / 3`), and
|
|
|
59
74
|
image when `country` or `language` is used. Import
|
|
60
75
|
`@aceshooting/lyra-ui/components/media/flag/flag-peer.js` once to opt into
|
|
61
76
|
that resolver; a pre-resolved `src` works without the peer registration entry. If the peer is not
|
|
62
|
-
installed
|
|
63
|
-
|
|
77
|
+
installed — or if `flag-peer.js` was simply never imported, which looks identical from the page —
|
|
78
|
+
the component fails closed with localized visible `[part="error"]` text, a shared light-DOM
|
|
79
|
+
assertive announcement, and a one-time `console.warn` naming the unresolved code and this import
|
|
80
|
+
(see gotchas).
|
|
64
81
|
|
|
65
82
|
Also exported from the package root:
|
|
66
83
|
`languageToCountry(language: string): string | undefined` and the `LANGUAGE_TO_COUNTRY` lookup
|
|
@@ -146,7 +163,12 @@ import "@aceshooting/lyra-ui/components/media/flag/flag-peer.js";
|
|
|
146
163
|
`[data-lr-live-region="assertive"]` sink, so the shadow chrome itself is not live and identical
|
|
147
164
|
retries remain separate additions. The failure also produces a one-time `console.warn`
|
|
148
165
|
once the resolver rejects (lazy `import()`, cached module-wide so the warning fires only once per
|
|
149
|
-
page even with many `<lr-flag>` instances).
|
|
166
|
+
page even with many `<lr-flag>` instances). A **separate** one-time `console.warn` covers the
|
|
167
|
+
commonest setup mistake — `country`/`language` set while no resolver was ever registered, i.e.
|
|
168
|
+
`flag-peer.js` was not imported. It names the offending code and that import path, because the
|
|
169
|
+
visible `[part="error"]` state alone is indistinguishable from missing flag data. It is armed
|
|
170
|
+
once per resolver-registration generation, so a table of many flags warns once.
|
|
171
|
+
An _empty_ template is a different, non-error outcome:
|
|
150
172
|
the peer resolved fine but returned no URL for that code (e.g. `country="zz"`) — no `[part="error"]`,
|
|
151
173
|
no `<img>`, no warning.
|
|
152
174
|
- Rendering is async even when the peer _is_ installed: `src` resolves after an `import()` +
|
|
@@ -69,6 +69,35 @@ weekdayLabelText?: (jsWeekday:number)=>string|undefined; monthLabelText?:
|
|
|
69
69
|
measured `clientWidth` on every draw/resize instead of the fixed `cell-size`, so the grid actually
|
|
70
70
|
fills the available width; now applies to calendar mode as well as matrix mode — see gotchas for
|
|
71
71
|
the default, non-`fit-to-width` behavior)
|
|
72
|
+
- `rowLabelWidth?: number | 'auto'` (attribute `row-label-width`, reflected) — width, in CSS px, of
|
|
73
|
+
the **matrix** row-label gutter, or `'auto'` to measure the widest label and size the gutter to
|
|
74
|
+
fit (never below the built-in `60`, never above 40% of the host width, so one long label cannot
|
|
75
|
+
squeeze out the cells it describes). Unset keeps the built-in `60`, so no existing chart reflows.
|
|
76
|
+
Independently of this, a label too wide for the resolved gutter is truncated with an ellipsis
|
|
77
|
+
rather than clipped mid-glyph — clipping read as a rendering fault, truncation reads as "there is
|
|
78
|
+
more here". `cellText` still carries the full label to the tooltip and the keyboard announcement.
|
|
79
|
+
A malformed value is ignored rather than collapsing the gutter. Calendar mode is unaffected; it
|
|
80
|
+
has its own fixed weekday gutter
|
|
81
|
+
- `colLabelHeight?: number | 'auto'` (attribute `col-label-height`, not reflected, `'auto'` new in
|
|
82
|
+
10.1.0) — height, in CSS px, of the matrix column-label band, or `'auto'` to measure the labels
|
|
83
|
+
and size the band to fit them. Under a non-zero `colLabelRotation` the measurement projects each
|
|
84
|
+
label's width through the rotation, which is what makes a rotated axis usable without hand-tuning
|
|
85
|
+
a magic number. Never below the built-in `20`, and bounded above by a sanity ceiling so a
|
|
86
|
+
pathological label cannot produce an absurd canvas. Note this deliberately does **not** use
|
|
87
|
+
`rowLabelWidth`'s "40% of the host" rule: the row gutter steals width from the cells and so must
|
|
88
|
+
be bounded relative to them, whereas the canvas simply grows taller for this band and the cells
|
|
89
|
+
keep their size. Unset keeps the built-in `20`, so no existing chart reflows. A malformed value is
|
|
90
|
+
ignored
|
|
91
|
+
- `colLabelRotation?: number` (attribute `col-label-rotation`, new in 10.1.0) — rotation, in
|
|
92
|
+
degrees, applied to matrix column labels. Unset or `0` paints them horizontally exactly as before.
|
|
93
|
+
In a dense matrix the per-column width is far narrower than a typical label, so horizontal labels
|
|
94
|
+
collide with their neighbours; `45` or `90` is the standard remedy. Each label rotates about an
|
|
95
|
+
anchor at its own column's centre with the label's *end* at that anchor, so it leans back over the
|
|
96
|
+
columns to its left and the last column's label cannot overflow the canvas. Values outside
|
|
97
|
+
`[0, 90]` clamp into that range and non-finite values normalize to `0`. Pair with
|
|
98
|
+
`colLabelHeight="auto"` to have the band size itself to the rotated extent. **Not mirrored under
|
|
99
|
+
`dir="rtl"`** — both grid modes deliberately retain physical LTR geometry, so leaning one axis'
|
|
100
|
+
labels the other way would be incoherent
|
|
72
101
|
- `maxCellSize?: number` (attribute `max-cell-size`) — ceiling, in CSS px, on the cell size
|
|
73
102
|
`fitToWidth` derives from the host width, in **both** modes. Exists because `fitToWidth` divides
|
|
74
103
|
the _whole_ host width across the grid, so a 5-week calendar or a 3-column matrix in a wide pane
|
|
@@ -86,6 +115,23 @@ weekdayLabelText?: (jsWeekday:number)=>string|undefined; monthLabelText?:
|
|
|
86
115
|
color ramp via `sqrtStep()` instead of mapping linearly; in calendar mode, the default `'linear'`
|
|
87
116
|
still buckets by quartile (`quartileBucket()`, unchanged), while `'sqrt'` instead compresses via the
|
|
88
117
|
same `sqrtStep()` magnitude compression as matrix mode, so one heavy day doesn't wash out the rest
|
|
118
|
+
- `domain?: [number, number]` (attribute: false) — pins the color ramp's input domain instead of
|
|
119
|
+
deriving it from the data's own extremes, so two heatmaps of comparable data can share a scale
|
|
120
|
+
rather than each normalizing to its own min/max. A reversed pair is normalized; a degenerate or
|
|
121
|
+
non-finite one falls back to the derived range
|
|
122
|
+
- `midpoint?: number` — anchors a diverging ramp's neutral color on this value rather than at the
|
|
123
|
+
middle of the domain, scaling the two halves independently (`lo`→0, `midpoint`→0.5, `hi`→1). A
|
|
124
|
+
midpoint outside the resolved domain degrades to plain normalization rather than distorting the
|
|
125
|
+
ramp
|
|
126
|
+
- **Signed data.** Setting either `domain` or `midpoint` opts the component into signed data, where
|
|
127
|
+
only a **non-finite** value is no-data. With neither set (the default), a negative value is
|
|
128
|
+
no-data — matching the long-documented `-1` sentinel, since a matrix of counts has no meaningful
|
|
129
|
+
negative. Declaring a domain or midpoint is what disambiguates "a real negative" from "the
|
|
130
|
+
sentinel", so signed datasets render their negative half instead of dropping it. In signed mode a
|
|
131
|
+
structurally absent matrix cell reads as `NaN` so it stays no-data while a real `-1` beside it
|
|
132
|
+
renders on the ramp; in default mode an absent cell still resolves to `-1`, keeping `valueAt()`
|
|
133
|
+
and the `lr-cell-click` payload unchanged. `scale="sqrt"` rejects negatives in both modes — a
|
|
134
|
+
square root of a negative has no meaning
|
|
89
135
|
- `bucketCount: number = 5` (attribute `bucket-count` — calendar mode only; non-finite values fall
|
|
90
136
|
back to 5, while finite values are floored and clamped to 2–256 before the color-ramp allocation)
|
|
91
137
|
- `annotations: readonly HeatmapAnnotation[] = []` (attribute: false) — `HeatmapAnnotation { row?: number;
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
- **Family** `components/charts/` — see `llms/index.md` for its siblings
|
|
8
8
|
- **Status** `stable` since `4.0.0` — see the maturity and deprecation policy in `llms/shared.md`
|
|
9
9
|
- **Deprecations** none
|
|
10
|
-
- **Optional peers** `chart.js`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
11
|
-
- **Themeable via**
|
|
10
|
+
- **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
11
|
+
- **Themeable via** 16 parts, 35 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
12
12
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
13
13
|
|
|
14
14
|
---
|
|
@@ -25,6 +25,8 @@ Bins `values` into `bins` equal-width buckets and renders as a bar chart (extend
|
|
|
25
25
|
- `seriesLabel: string = ''` (attribute `series-label`) — dataset label used for the
|
|
26
26
|
legend/tooltip/table; empty falls back to localized "Frequency". Inherited `label` keeps its
|
|
27
27
|
chart-wide accessible-name meaning.
|
|
28
|
+
- inherits `lr-chart`'s full surface, including `scaleType` (`scale-type`) and `annotations` —
|
|
29
|
+
a logarithmic frequency axis and threshold/band markers both apply to a histogram
|
|
28
30
|
- `labels`/`datasets`/`type` are **derived, read-only** (installed as getter/setter pairs on the
|
|
29
31
|
prototype; direct writes are silently ignored) — `labels`/`datasets` are computed from
|
|
30
32
|
`values`/`bins` (memoized per instance, keyed by reference equality on `values` plus the
|
|
@@ -50,7 +52,7 @@ maxSamples?)` appends finite raw samples and optionally retains only the newest
|
|
|
50
52
|
**Slots:** default JSON configuration script, `data-table`, `center`.
|
|
51
53
|
|
|
52
54
|
**CSS parts:** `base`, `plot`, `canvas`, `legend`, `legend-item`, `legend-item-hidden`, `legend-swatch`,
|
|
53
|
-
`reset-zoom-button`, `description`, `notices`, `data-table`, `data-truncation`, `feature-warning`, `center`, `error` (neutral visible message
|
|
55
|
+
`reset-zoom-button`, `description`, `notices`, `data-table`, `data-table-toggle`, `data-truncation`, `feature-warning`, `center`, `error` (neutral visible message
|
|
54
56
|
rendered in place of `canvas` when the optional `chart.js` peer dependency fails to load; the
|
|
55
57
|
failure transition is announced through the shared document-level light-DOM assertive sink —
|
|
56
58
|
inherited from `LyraChart`, unaffected by the binning logic).
|
|
@@ -59,7 +61,8 @@ inherited from `LyraChart`, unaffected by the binning logic).
|
|
|
59
61
|
`--lr-chart-tick-color`, `--lr-chart-legend-color`, `--lr-chart-tooltip-bg`,
|
|
60
62
|
`--lr-chart-tooltip-text`, `--lr-chart-legend-item-hover-bg`,
|
|
61
63
|
`--lr-chart-legend-item-active-bg`, `--lr-chart-data-table-button-hover-bg`,
|
|
62
|
-
`--lr-chart-data-table-button-active-bg`, `--lr-chart-
|
|
64
|
+
`--lr-chart-data-table-button-active-bg`, `--lr-chart-data-table-toggle-hover-bg`,
|
|
65
|
+
`--lr-chart-data-table-toggle-active-bg`, `--lr-chart-reset-zoom-button-hover-bg`,
|
|
63
66
|
`--lr-chart-reset-zoom-button-active-bg`, `--lr-chart-canvas-hover-outline-width`, and
|
|
64
67
|
`--lr-chart-pattern-step`, plus `--lr-chart-legend-side-max` — inherited from `LyraChart`, identical in meaning, together with the
|
|
65
68
|
mirrored `--border-color-1`,
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
- **Class** `LyraIcon`, also available unregistered from `@aceshooting/lyra-ui/components/utility/icon/icon.class.js`
|
|
7
7
|
- **Family** `components/utility/` — see `llms/index.md` for its siblings
|
|
8
8
|
- **Status** `stable` since `4.0.0` — see the maturity and deprecation policy in `llms/shared.md`
|
|
9
|
-
- **Deprecated property** `autoWidth` / `auto-width` since `8.0.0`; use property `canvas="auto"`; removal not before `10.0.0` — autoWidth is a boolean compatibility spelling that cannot express fixed canvas sizes; canvas covers both automatic and explicit sizing.
|
|
9
|
+
- **Deprecated property** `autoWidth` / `auto-width` since `8.0.0`; use property `canvas="auto"`; removal not before `10.0.0` — autoWidth is a boolean compatibility spelling that cannot express fixed canvas sizes; canvas covers both automatic and explicit sizing. That version is a policy floor, not a plan: `wa-icon` still publishes its own deprecated `auto-width` attribute, so this alias is removed only when upstream's is.
|
|
10
10
|
- **Optional peers** `dompurify` — see `llms/peers.md`
|
|
11
11
|
- **Themeable via** 4 parts, 45 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
12
12
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
@@ -21,7 +21,8 @@ It intentionally does not fetch remote references or validate values.
|
|
|
21
21
|
|
|
22
22
|
**Properties:** clone-owned, bounded, frozen `schema: JsonSchemaNode | null = null` and
|
|
23
23
|
`issues: readonly SchemaValidationIssue[] = []` (attribute: false); reassign a new schema record or
|
|
24
|
-
issue array after changes. `selectedPath: string =
|
|
24
|
+
issue array after changes. `selectedPath: string | null = null` (attribute `selected-path`) —
|
|
25
|
+
`null` means no selection, while the empty string is the valid JSON Pointer for the schema root;
|
|
25
26
|
`maxDepth: number = 20` (attribute `max-depth`, clamped to 100); `label: string = ''`.
|
|
26
27
|
|
|
27
28
|
**Exported types:** `JsonSchemaNode` covers `$ref`, type/title/description, properties/items,
|
|
@@ -79,9 +79,14 @@ same self-toggle-then-emit contract `lr-graph-legend` uses, so every feature wor
|
|
|
79
79
|
- `lr-hidden-types-change` (`detail: { hiddenTypes: string[] }`) — a node type's visibility changed
|
|
80
80
|
via the composed legend. Follows the same self-toggle-then-emit contract as `lr-pin-change`/
|
|
81
81
|
`lr-search-change`, so reassigning back is optional.
|
|
82
|
-
- `lr-search-change` (`detail: {
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
- `lr-search-change` (`detail: { query: string; matchCount: number; matchCountExact: boolean }`) —
|
|
83
|
+
the user typed in the toolbar's search box. `query` is the canonical `LyraSearchChangeDetail`
|
|
84
|
+
field name. `matchCount` is the same live node-filter total the result list and its live-region
|
|
85
|
+
announcement already compute (`0` while the query is empty). `matchCountExact` is always `true` —
|
|
86
|
+
this component's node filter has no truncating ceiling, unlike a paginated text-search viewer.
|
|
87
|
+
There is no `activeIndex`: this is a live node filter, not a cursor-based search. The component
|
|
88
|
+
has already applied the query to its own `searchQuery` property before emitting, so reassigning
|
|
89
|
+
it back is optional and a direct host assignment stays silent.
|
|
85
90
|
- Bubbling straight through from composed children, unmodified: `lr-node-click`
|
|
86
91
|
(`detail: { nodeId, x, y }`), `lr-link-click` (`detail: { sourceNodeId, targetNodeId, linkId? }`), `lr-community-click`
|
|
87
92
|
(`detail: { communityId }`), `lr-node-expand` (`detail: { nodeId }`, from `lr-graph` and/or `lr-neighbor-list`),
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
- **Class** `LyraKnownDate`, also available unregistered from `@aceshooting/lyra-ui/components/utility/known-date/known-date.class.js`
|
|
7
7
|
- **Family** `components/utility/` — see `llms/index.md` for its siblings
|
|
8
8
|
- **Status** `stable` since `4.0.0` — see the maturity and deprecation policy in `llms/shared.md`
|
|
9
|
-
- **Deprecated part** `label` since `8.0.0`; use part `::part(form-control-label)`; removal not before `10.0.0` — The form-control-label part matches the shared form-control vocabulary; label remains on that same node during the compatibility window.
|
|
9
|
+
- **Deprecated part** `label` since `8.0.0`; use part `::part(form-control-label)`; removal not before `10.0.0` — The form-control-label part matches the shared form-control vocabulary; label remains on that same node during the compatibility window. That version is a policy floor, not a plan: `wa-known-date` still publishes its own deprecated `label` part, so this alias is removed only when upstream's is.
|
|
10
10
|
- **Optional peers** none
|
|
11
11
|
- **Themeable via** 17 parts, 13 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
12
12
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
@@ -119,7 +119,9 @@ assigned nodes update the announcement without requiring the wrapper component t
|
|
|
119
119
|
|
|
120
120
|
The `label` part alias was deprecated in 8.0.0 in favor of the shared form vocabulary
|
|
121
121
|
`form-control-label`. Both names remain on the same node during the compatibility window; use
|
|
122
|
-
`::part(form-control-label)` in new CSS.
|
|
122
|
+
`::part(form-control-label)` in new CSS. Removal is not scheduled: Web Awesome still publishes its
|
|
123
|
+
own deprecated `label` part on `<wa-known-date>`, and a mirrored tag owes its whole upstream
|
|
124
|
+
surface, so the alias goes only when upstream's does.
|
|
123
125
|
|
|
124
126
|
**The required marker.** The `*` the legend grows while `required` is the library's shared
|
|
125
127
|
required-field marker, and it takes the same three consumer-settable properties every other
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
- **Family** `components/charts/` — see `llms/index.md` for its siblings
|
|
8
8
|
- **Status** `stable` since `4.0.0` — see the maturity and deprecation policy in `llms/shared.md`
|
|
9
9
|
- **Deprecations** none
|
|
10
|
-
- **Optional peers** `chart.js`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
11
|
-
- **Themeable via**
|
|
10
|
+
- **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
11
|
+
- **Themeable via** 16 parts, 35 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
12
12
|
- **Documented with** `lr-bar-chart`, `lr-pie-chart`, `lr-doughnut-chart`, `lr-radar-chart`, `lr-polar-area-chart`, `lr-bubble-chart`, `lr-scatter-chart` (same section below)
|
|
13
13
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
14
14
|
|
|
@@ -25,7 +25,8 @@ and behavior there. **See `llms/components/lr-chart.md` for the details, code ex
|
|
|
25
25
|
of every entry in these lists.**
|
|
26
26
|
|
|
27
27
|
**Properties:** `description`, `grid`, `indexAxis` (`index-axis`), `label`, `hiddenDatasets`, `legendPosition`
|
|
28
|
-
(`legend-position`), `max`, `min`, `plugins`, `
|
|
28
|
+
(`legend-position`), `max`, `min`, `plugins`, `scaleType` (`scale-type`), `annotations`,
|
|
29
|
+
`stacked`, `withoutAnimation` (`without-animation`),
|
|
29
30
|
`withoutLegend` (`without-legend`), `withoutTooltip` (`without-tooltip`), `xLabel` (`x-label`),
|
|
30
31
|
`yLabel` (`y-label`), plus additive `labels`, `datasets`, `valueFormatter`, `formatter`, `area`, `zoom`,
|
|
31
32
|
`height`, `y2Label` (`y2-label`), `beginAtZero` (`begin-at-zero`), `dataLabels`
|
|
@@ -43,7 +44,7 @@ complete `hiddenDatasets` snapshot).
|
|
|
43
44
|
**Slots:** default JSON configuration script, `data-table`, `center`.
|
|
44
45
|
|
|
45
46
|
**CSS parts:** `base`, `plot`, `canvas`, `legend`, `legend-item`, `legend-item-hidden`, `legend-swatch`,
|
|
46
|
-
`reset-zoom-button`, `description`, `notices`, `data-table`, `data-truncation`, `feature-warning`, `center`, `error` (neutral visible message
|
|
47
|
+
`reset-zoom-button`, `description`, `notices`, `data-table`, `data-table-toggle`, `data-truncation`, `feature-warning`, `center`, `error` (neutral visible message
|
|
47
48
|
rendered in place of `canvas` when the optional `chart.js` peer dependency fails to load; the
|
|
48
49
|
failure transition is announced through the shared document-level light-DOM assertive sink — see
|
|
49
50
|
`llms/components/lr-chart.md`).
|
|
@@ -52,7 +53,8 @@ failure transition is announced through the shared document-level light-DOM asse
|
|
|
52
53
|
`--lr-chart-tick-color`, `--lr-chart-legend-color`, `--lr-chart-tooltip-bg`,
|
|
53
54
|
`--lr-chart-tooltip-text`, `--lr-chart-legend-item-hover-bg`,
|
|
54
55
|
`--lr-chart-legend-item-active-bg`, `--lr-chart-data-table-button-hover-bg`,
|
|
55
|
-
`--lr-chart-data-table-button-active-bg`, `--lr-chart-
|
|
56
|
+
`--lr-chart-data-table-button-active-bg`, `--lr-chart-data-table-toggle-hover-bg`,
|
|
57
|
+
`--lr-chart-data-table-toggle-active-bg`, `--lr-chart-reset-zoom-button-hover-bg`,
|
|
56
58
|
`--lr-chart-reset-zoom-button-active-bg`, `--lr-chart-canvas-hover-outline-width`, and
|
|
57
59
|
`--lr-chart-pattern-step`, plus `--lr-chart-legend-side-max` — all inherited from `LyraChart`, identical in meaning and default (see
|
|
58
60
|
`lr-chart` above); each of the eight variants below reads the same set, so one rule retunes them
|
|
@@ -66,7 +68,7 @@ together. The mirrored hooks are `--border-color-1`,
|
|
|
66
68
|
`zoom` is set, and `chartjs-plugin-datalabels` only once `data-labels`/`stack-totals` is set.
|
|
67
69
|
|
|
68
70
|
```html
|
|
69
|
-
<lr-bar-chart
|
|
71
|
+
<lr-bar-chart></lr-bar-chart>
|
|
70
72
|
<lr-pie-chart></lr-pie-chart>
|
|
71
73
|
<script>
|
|
72
74
|
document.querySelector('lr-bar-chart').labels = ['A', 'B'];
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- **Family** `components/charts/` — see `llms/index.md` for its siblings
|
|
8
8
|
- **Status** `stable` since `4.0.0` — see the maturity and deprecation policy in `llms/shared.md`
|
|
9
9
|
- **Deprecations** none
|
|
10
|
-
- **Optional peers** `chart.js`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
10
|
+
- **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
|
|
11
11
|
- **Themeable via** 17 parts, 16 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
12
12
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
13
13
|
|
|
@@ -103,11 +103,21 @@ passthrough). Not a subclass of `LyraChart`.
|
|
|
103
103
|
- `valueAxisGutter?: number` (attribute `value-axis-gutter`) — value-axis gutter width.
|
|
104
104
|
- `barGapRatio?: number` (attribute `bar-gap-ratio`) — overrides the internal 0.2 `BAR_GROUP_GAP`
|
|
105
105
|
fraction of a category slot left as a gap between categories. Unset keeps the fixed 0.2.
|
|
106
|
-
- `scale: 'linear' | 'sqrt' = 'linear'` (bar type only)
|
|
107
|
-
`Math.sqrt(value / domainMax)` instead of the standard linear `niceDomain`
|
|
108
|
-
`lr-heatmap`'s matrix-mode `sqrt` scale), so a skewed dataset's smaller bars
|
|
109
|
-
by one dominant value; gridlines/tick labels stay on the linear
|
|
110
|
-
ignores it entirely.
|
|
106
|
+
- `scale: 'linear' | 'sqrt' | 'logarithmic' = 'linear'` — `'sqrt'` (**bar type only**) maps a bar's
|
|
107
|
+
value to height via `Math.sqrt(value / domainMax)` instead of the standard linear `niceDomain`
|
|
108
|
+
fraction (mirroring `lr-heatmap`'s matrix-mode `sqrt` scale), so a skewed dataset's smaller bars
|
|
109
|
+
aren't washed out by one dominant value; under `'sqrt'` gridlines/tick labels stay on the linear
|
|
110
|
+
domain and `type="line"` ignores it entirely.
|
|
111
|
+
`'logarithmic'` is the base-10 value axis for data spanning several orders of magnitude, where a
|
|
112
|
+
linear axis collapses everything below the maximum into the baseline. Unlike `'sqrt'` it applies
|
|
113
|
+
to **bars, line points and gridlines alike**, since a log axis whose gridlines stayed linear
|
|
114
|
+
would misrepresent the plot. Its lower bound is the smallest *positive* datum rather than the
|
|
115
|
+
linear `lo`: `beginAtZero` defaults to true, so `lo` is normally `0`, which has no logarithm —
|
|
116
|
+
deriving the floor from the data is what makes a 1…1000 series span three even decades instead of
|
|
117
|
+
collapsing onto one. Values at or below that floor (including zero and negatives, which have no
|
|
118
|
+
real logarithm) pin to the axis floor rather than producing `-Infinity` geometry, and a degenerate
|
|
119
|
+
domain falls back to the linear fraction. `lr-chart`'s own `scaleType` is the Chart.js-backed
|
|
120
|
+
equivalent for the full charts.
|
|
111
121
|
- `withoutValueAxis: boolean = false` (attribute `without-value-axis`) — suppresses gridlines and
|
|
112
122
|
value-axis tick labels; x-axis category labels remain.
|
|
113
123
|
- `selectedIndices: readonly number[] = []` (attribute: false) — applies to every interactive data mark for
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
- **Status** `stable` since `4.0.0` — see the maturity and deprecation policy in `llms/shared.md`
|
|
9
9
|
- **Deprecations** none
|
|
10
10
|
- **Optional peers** `maplibre-gl` — see `llms/peers.md`
|
|
11
|
-
- **Themeable via**
|
|
11
|
+
- **Themeable via** 15 parts, 5 custom properties — see this component's own `@csspart`/`@cssprop` list below
|
|
12
12
|
- **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
|
|
13
13
|
|
|
14
14
|
---
|
|
@@ -31,6 +31,22 @@ operations. Its runtime value is the underlying MapLibre map.
|
|
|
31
31
|
style-required failure and makes no tile/style request. Assign a hosted vector/raster style from
|
|
32
32
|
a provider whose terms fit your application, or an explicitly network-silent style for local
|
|
33
33
|
geometry.
|
|
34
|
+
- `legendGradient: readonly (readonly [number, string])[] = []` (attribute: false, type
|
|
35
|
+
`LyraMapLegendGradientStop[]`) — renders the legend as a **continuous** gradient bar with endpoint
|
|
36
|
+
captions instead of (or alongside) the discrete `legend` swatches, which is the standard key for a
|
|
37
|
+
choropleth whose `interpolate` fill is itself a continuous ramp. Takes the same `[value, color]`
|
|
38
|
+
stop shape as `choropleth.stops`, so the usual assignment is `map.legendGradient =
|
|
39
|
+
myChoropleth.stops` and the key cannot drift from the layer it describes. Stops are sorted
|
|
40
|
+
ascending, bounded to 64, and filtered to finite values carrying a CSS-parsable color; fewer than
|
|
41
|
+
two usable stops render no bar at all, since a one-stop "gradient" is a flat block that describes
|
|
42
|
+
nothing. Each stop sits at its true proportion of the value range, so the bar shows the ramp the
|
|
43
|
+
expression actually produces rather than evenly spacing unevenly-spaced values. Part names
|
|
44
|
+
(`legend-gradient`, `legend-lo`, `legend-hi`) mirror `lr-heatmap`'s gradient legend, and the bar
|
|
45
|
+
is `aria-hidden`/`inert` with the captions carrying the meaning. Mirrors under RTL
|
|
46
|
+
- `legendGradientLoLabel: string | null = null` (attribute `legend-gradient-lo-label`),
|
|
47
|
+
`legendGradientHiLabel: string | null = null` (attribute `legend-gradient-hi-label`) — override
|
|
48
|
+
the endpoint captions, which otherwise default to the lowest/highest stop value in the component's
|
|
49
|
+
own locale-aware numeric formatting
|
|
34
50
|
- `legend: readonly LyraMapLegendEntry[] = []` (attribute: false) — immutable defensive snapshots
|
|
35
51
|
of `LyraMapLegendEntry { readonly color: string; readonly label: string; readonly pattern:
|
|
36
52
|
LyraMapLegendPattern }`, where `LyraMapLegendPattern` is `'solid' | 'diagonal' | 'dots' |
|
|
@@ -42,10 +58,27 @@ omittedCount, truncatedLabelCount, truncated }` result for the latest assignment
|
|
|
42
58
|
projection renders a localized visible `1–N of M items` summary rather than silently claiming
|
|
43
59
|
the bounded rows are complete.
|
|
44
60
|
- `choropleth?: LyraMapChoroplethLayer` (attribute: false) — `LyraMapChoroplethLayer { sourceId:
|
|
45
|
-
string; geojson: GeoJSON.FeatureCollection; field: string; stops: [number, string][]
|
|
61
|
+
string; geojson: GeoJSON.FeatureCollection; field: string; stops: [number, string][]; interpolation?:
|
|
62
|
+
'linear' | 'logarithmic' | 'step'; stepBaseColor?: string }` (interpolated
|
|
46
63
|
fill-color expression from `field`'s value against `stops`; `stops` must contain at least one
|
|
47
64
|
`[value, color]` pair — an empty array is ignored, leaving whatever fill layer already exists, if
|
|
48
|
-
any, untouched, rather than being applied)
|
|
65
|
+
any, untouched, rather than being applied).
|
|
66
|
+
`interpolation` (type `LyraMapChoroplethInterpolation`, default `'linear'`) chooses how the colour
|
|
67
|
+
is interpolated between stops. `'logarithmic'` compresses the ramp, which is what a heavy-tailed
|
|
68
|
+
quantity — price, population, income — needs: on a linear ramp every value below the maximum falls
|
|
69
|
+
into the first colour band, so the map reads as one flat colour plus a couple of outliers. It
|
|
70
|
+
emits maplibre's own `['interpolate', ['exponential', 0.25], …]`, exposing an existing capability
|
|
71
|
+
rather than adding one (maplibre has no `['log']` interpolation type; a sub-1 exponential base is
|
|
72
|
+
the documented way to weight a ramp toward the low end). **`stops` stay in the data's own units
|
|
73
|
+
under either mode**, so the legend keeps reading in real values instead of log units — no
|
|
74
|
+
pre-transforming to log10 and hand-relabelling the legend back.
|
|
75
|
+
`'step'` (new in 10.1.0) emits maplibre's `['step', …]` instead of `['interpolate', …]`, giving
|
|
76
|
+
**discrete bands rather than a continuous ramp**. Use it whenever the legend advertises a fixed
|
|
77
|
+
set of ranges with one swatch each: a ramp would put colours on the map that appear nowhere in the
|
|
78
|
+
legend, and would render two regions in the same advertised band as visibly different colours
|
|
79
|
+
(`legendGradient` covers the opposite case, a gradient legend). `stepBaseColor` is the colour for
|
|
80
|
+
values below the first threshold, which `['step', …]` requires; it defaults to the first stop's own
|
|
81
|
+
colour, so a legend whose first band starts at the data minimum needs no extra configuration
|
|
49
82
|
- `markers: LyraMapMarker[] = []` (attribute: false) — `LyraMapMarker { id?: string; lngLat:
|
|
50
83
|
[number, number]; color?: string; label?: string; unsafeHtml?: string }`; an explicit `id` is
|
|
51
84
|
trimmed and must be nonempty, and the first marker for an explicit ID wins. Markers are reconciled
|
|
@@ -67,11 +100,21 @@ string; geojson: GeoJSON.FeatureCollection; field: string; stops: [number, strin
|
|
|
67
100
|
- `dataLayers: LyraMapGeoJsonDataLayer[] = []` (attribute: false) —
|
|
68
101
|
`LyraMapGeoJsonDataLayer { sourceId: string; geojson: GeoJSON.Feature |
|
|
69
102
|
GeoJSON.FeatureCollection; tone?: 'accent' | 'success' | 'warning' |
|
|
70
|
-
'danger' | 'neutral' }`. `sourceId` is trimmed and must be nonempty; the first layer for a
|
|
103
|
+
'danger' | 'neutral'; color?: string; strokeColor?: string }`. `sourceId` is trimmed and must be nonempty; the first layer for a
|
|
71
104
|
`sourceId` wins and blank or later duplicate records are ignored. Each retained entry adds one
|
|
72
105
|
GeoJSON source plus three geometry-filtered layers
|
|
73
106
|
(fill, line, and circle, so a mixed `FeatureCollection` renders correctly), colored from the
|
|
74
|
-
matching `--lr-color-*` token (`tone` defaults to `'accent'` → `--lr-color-brand`).
|
|
107
|
+
matching `--lr-color-*` token (`tone` defaults to `'accent'` → `--lr-color-brand`).
|
|
108
|
+
`color` and `strokeColor` (both new in 10.1.0) override that per surface — `color` paints the
|
|
109
|
+
polygon fill, `strokeColor` the line and circle layers, falling back to `color` and then to `tone`.
|
|
110
|
+
They are separable because a fill and its outline want opposite things on a
|
|
111
|
+
choropleth-plus-overlay map, and the difference is measurable rather than aesthetic: the fill
|
|
112
|
+
competes for area with the choropleth beside it and has to sit quiet, while the 1px outline
|
|
113
|
+
competes with nothing and is the only thing keeping a no-data region's shape readable once the
|
|
114
|
+
fill is that faint. Deriving one from the other measured 1.41:1 against a light basemap — under
|
|
115
|
+
WCAG 1.4.11's 3:1 floor for graphical objects. A `var(--lr-…)` reference is resolved against the
|
|
116
|
+
host before it reaches MapLibre, which paints to a WebGL canvas and never sees the CSS cascade.
|
|
117
|
+
The component
|
|
75
118
|
assigns collision-free private MapLibre ids for those resources: `sourceId` is the stable
|
|
76
119
|
declarative reconciliation key, **not** an id to retrieve from `map`. This prevents a data layer
|
|
77
120
|
from overwriting or removing a same-named source supplied by `mapStyle`. Independent of
|
|
@@ -80,6 +123,37 @@ GeoJSON.FeatureCollection; tone?: 'accent' | 'success' | 'warning' |
|
|
|
80
123
|
persists across a `dataLayers` reassignment gets its GeoJSON updated in place (`setData()`), one
|
|
81
124
|
that's dropped has its private source/layers removed, and a genuinely new `sourceId` gets new
|
|
82
125
|
resources — nothing leaks on removal, style change, or disconnect.
|
|
126
|
+
- `maxBounds: LyraMapBounds | null = null` (attribute: false) — box the map may not pan outside,
|
|
127
|
+
`[[west, south], [east, north]]`. Prefer it over calling `map.setMaxBounds()` through the `.map`
|
|
128
|
+
escape hatch: constraining the camera can wedge maplibre-gl at a sub-1 fractional zoom in a wide
|
|
129
|
+
container, leaving `getZoom()` returning `null` permanently, every frame throwing from inside the
|
|
130
|
+
peer's own matrix math, and the canvas never painting again — a blank map, with nothing thrown at
|
|
131
|
+
the call site to attribute it to. This property applies the same call, then reads the camera back
|
|
132
|
+
and reverts (restoring zoom and centre) if it did not survive, so the worst case is an
|
|
133
|
+
unconstrained map plus a dev-mode warning. A malformed box is rejected rather than clamped
|
|
134
|
+
|
|
135
|
+
**Choropleth and `dataLayers` updates are diffed before they reach the peer.** `setData()`
|
|
136
|
+
unconditionally re-tiles and repaints an entire source, which is invisible on a static map and
|
|
137
|
+
expensive on an animated one. When an update changes only feature *properties* — the values driving
|
|
138
|
+
the colour ramp — the component emits maplibre-gl's incremental `updateData()` instead. The fast
|
|
139
|
+
path is deliberately strict, and needs all of: the same feature count, a `string`/`number` `id` on
|
|
140
|
+
every feature in the same order, and geometry that is the **same object** as last time (not merely
|
|
141
|
+
deep-equal). Structurally comparing polygon rings would cost about what the re-tile costs, and a
|
|
142
|
+
false positive would paint stale geometry. Reuse your geometry objects across frames — the
|
|
143
|
+
efficient way to build an animation anyway — and the fast path applies; otherwise it falls back to
|
|
144
|
+
`setData()` with no change in behaviour. Peers predating `updateData()` always take the old path.
|
|
145
|
+
|
|
146
|
+
**Feature properties are tiled, and therefore bounded in numeric magnitude.** MapLibre GL tiles
|
|
147
|
+
every GeoJSON source through a worker into a protobuf vector tile, so a property carrying a huge
|
|
148
|
+
integer throws *inside that worker* — "Given varint doesn't fit into 10 bytes". That throw is not
|
|
149
|
+
catchable by your app and not a rejected promise; it reaches you only as an opaque message on
|
|
150
|
+
`lr-map`'s own error handler, while the rest of the layer still paints, so one bad feature in a
|
|
151
|
+
large collection is invisible until someone walks the data by hand. Both `choropleth.geojson` and
|
|
152
|
+
`dataLayers[].geojson` are now pre-scanned (first 10,000 features) and any numeric property beyond
|
|
153
|
+
`Number.MAX_SAFE_INTEGER` draws a dev-mode warning naming the feature and the property. Carry a
|
|
154
|
+
reduced figure in the feature — a log, a bucket, an index — and keep the exact value in your own
|
|
155
|
+
payload beside the map.
|
|
156
|
+
|
|
83
157
|
- `label: string = ''` — purpose-specific accessible name for MapLibre's actual focusable canvas.
|
|
84
158
|
A nonempty host `aria-label` remains on the host and is not duplicated onto the canvas; the canvas
|
|
85
159
|
uses `label` or the localized map name. An explicitly empty host `aria-label` is preserved as an
|
|
@@ -102,13 +176,20 @@ shared `maplibre-gl` import without constructing a map or allocating a WebGL con
|
|
|
102
176
|
an element.
|
|
103
177
|
|
|
104
178
|
**Events:** `lr-map-load` (fired once, after the underlying map's own `'load'`), `lr-map-click`
|
|
105
|
-
(frozen `detail: { readonly lngLat: readonly [lng, lat], readonly feature
|
|
106
|
-
|
|
107
|
-
choropleth fill layer
|
|
179
|
+
(frozen `detail: { readonly lngLat: readonly [lng, lat], readonly feature?, readonly origin?,
|
|
180
|
+
readonly sourceId? }`; the tuple and any hit GeoJSON feature are detached and recursively frozen).
|
|
181
|
+
`feature` resolves against the choropleth fill layer **and** every applied `dataLayers`
|
|
182
|
+
fill/line/circle layer, topmost first — so a shape painted through `dataLayers` is identifiable
|
|
183
|
+
instead of being indistinguishable from empty space. `origin` is `'choropleth'` or `'data-layer'`,
|
|
184
|
+
and `sourceId` carries the authored `dataLayers[].sourceId` for a data-layer hit; both are
|
|
185
|
+
`undefined` whenever `feature` is
|
|
108
186
|
|
|
109
|
-
**Slots:**
|
|
187
|
+
**Slots:** `legend` — custom legend content, rendered inside the legend panel's own layout so it
|
|
188
|
+
stays positioned with the map instead of floating beside it. Supplying it opens the panel even
|
|
189
|
+
when `legend` and `legendGradient` are both empty.
|
|
110
190
|
|
|
111
|
-
**CSS parts:** `base`, `container`, `legend`, `legend-swatch`, `legend-
|
|
191
|
+
**CSS parts:** `base`, `container`, `legend`, `legend-swatch`, `legend-gradient`, `legend-lo`,
|
|
192
|
+
`legend-hi`, `legend-limit`, `marker`, `popup`,
|
|
112
193
|
`popup-content`, `popup-close-button`, `attribution`, `attribution-toggle`, `error`.
|
|
113
194
|
`legend` is a localized `role="group"` containing a real list associated to the map canvas with
|
|
114
195
|
`aria-describedby`; each entry is a `listitem`, decorative swatches are inert/accessibility-hidden,
|
|
@@ -36,8 +36,9 @@ support (`highlights`, `activeHighlightId`, `scrollToAnchor()`, the `lr-highligh
|
|
|
36
36
|
section above for the full write-up of shared behavior.
|
|
37
37
|
|
|
38
38
|
**Properties:** `content: string = ''`, `tabSize: number = 4` (attribute `tab-size`) — the same
|
|
39
|
-
finite-integer-guarded leading-indentation expansion used by `<lr-markdown>`; values
|
|
40
|
-
|
|
39
|
+
finite-integer-guarded leading-indentation expansion used by `<lr-markdown>`; finite values are
|
|
40
|
+
clamped to `[1, 32]` (`0` becomes `1`, `33` becomes `32`), and only non-finite values (`NaN`,
|
|
41
|
+
`Infinity`) fall back to `4`, independently of rendered code's
|
|
41
42
|
`--lr-code-block-tab-size`; `marked: LyraMarkedParser | undefined` (readonly, no attribute) — this
|
|
42
43
|
instance's isolated peer-neutral configurable parser; `htmlMode: 'sanitize' | 'escape' | 'trusted' =
|
|
43
44
|
'sanitize'` (attribute `html-mode`), `gfm: boolean = true`, `linkTarget: string | null = '_blank'` (attribute
|
|
@@ -30,13 +30,18 @@ final.
|
|
|
30
30
|
- `mimeType: string = ''` (attribute `mime-type`) — drives auto-detection when `kind` is unset.
|
|
31
31
|
- `filename: string = ''` — shown in the file-chip fallback, used as the download link's suggested
|
|
32
32
|
filename, and folded into the accessible name.
|
|
33
|
-
- `alt
|
|
34
|
-
back to `filename`, then a generic per-kind description.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
- `alt?: string` — alt text for the image case (and reused as a video label fallback). Unset falls
|
|
34
|
+
back to `filename`, then a generic per-kind description. An explicit `alt=""` survives to the
|
|
35
|
+
rendered `<img alt="">`, which is the HTML idiom for a decorative image — same contract as
|
|
36
|
+
`<lr-image-viewer>` and `<lr-document-preview>`. The `<video>` case is deliberately outside that
|
|
37
|
+
carve-out: an empty `alt` there still falls through to `filename`/the generic description, because
|
|
38
|
+
an empty accessible name would leave an interactive player unnamed rather than mark it decorative.
|
|
39
|
+
- `accessibleLabel: string | null = null` (attribute `aria-label`) — a declarative attribute names
|
|
40
|
+
the host as a whole while its nested button/link keeps a purpose-specific localized action name. A
|
|
41
|
+
property-only assignment can override the nested action when no host label is present. An explicit
|
|
42
|
+
empty string behaves like the unset `null` default — both fall through to the generated
|
|
43
|
+
purpose-specific name. Image alt text and the native video's own purpose label remain independent;
|
|
44
|
+
an explicitly empty host still leaves every interactive descendant named.
|
|
40
45
|
- `maxHeight: string = ''` (attribute `max-height`) — a CSS length (e.g. `"16rem"`); once set,
|
|
41
46
|
overrides the `--lr-media-card-max-height` custom property for this instance only (applied
|
|
42
47
|
inline on `[part="base"]`, so it reliably wins over a `:host{}`-declared default from outside the
|
|
@@ -102,12 +107,23 @@ sizing), `--lr-focus-ring-*`, `--lr-transition-fast`.
|
|
|
102
107
|
**Optional peer deps:** none.
|
|
103
108
|
|
|
104
109
|
```html
|
|
105
|
-
<lr-media-card
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
+
<lr-media-card
|
|
111
|
+
id="image-card"
|
|
112
|
+
kind="image"
|
|
113
|
+
src="https://example.com/photo.jpg"
|
|
114
|
+
alt="Screenshot"
|
|
115
|
+
filename="photo.jpg"
|
|
110
116
|
></lr-media-card>
|
|
117
|
+
<lr-media-card id="file-card" kind="file" src="https://example.com/report.pdf" filename="report.pdf">
|
|
118
|
+
</lr-media-card>
|
|
119
|
+
<script type="module">
|
|
120
|
+
document
|
|
121
|
+
.getElementById("image-card")
|
|
122
|
+
.addEventListener("lr-media-open", (e) => openLightbox(e.detail.src));
|
|
123
|
+
document
|
|
124
|
+
.getElementById("file-card")
|
|
125
|
+
.addEventListener("lr-before-media-download", (e) => shouldUseNativeDownload || e.preventDefault());
|
|
126
|
+
</script>
|
|
111
127
|
```
|
|
112
128
|
|
|
113
129
|
**Safe-URL checking.** `src` is validated by internal sink-specific helpers before it's
|
|
@@ -74,7 +74,8 @@ import "@aceshooting/lyra-ui/components/conversation/message-parts/message-parts
|
|
|
74
74
|
- `lr-copy` event — Passthrough from rendered JSON content.
|
|
75
75
|
- `lr-highlight-activate` event — Passthrough from rendered Markdown.
|
|
76
76
|
- `lr-link-click` event — Passthrough from rendered Markdown.
|
|
77
|
-
- `lr-preview-request` event —
|
|
77
|
+
- `lr-preview-request` event — Passthrough from a rendered attachment. Not cancelable as of 10.0.0:
|
|
78
|
+
`<lr-attachment-chip>` dropped the flag, since it owns no preview default action to veto.
|
|
78
79
|
- `lr-remove` event — Passthrough from a rendered attachment.
|
|
79
80
|
- `lr-render-error` event — Passthrough from rendered Markdown, tool-result, or widget content.
|
|
80
81
|
- `lr-retry` event — Passthrough from a rendered attachment.
|
|
@@ -225,19 +225,18 @@ shared tokens — `--lr-space-xs/-s`, `--lr-color-border/-surface/-brand/-brand-
|
|
|
225
225
|
**Optional peer deps:** none.
|
|
226
226
|
|
|
227
227
|
```html
|
|
228
|
-
<lr-model-select
|
|
229
|
-
provider="openai"
|
|
230
|
-
.catalog=${[
|
|
231
|
-
{ id: 'gpt-4o', label: 'GPT-4o', icon: '✦' },
|
|
232
|
-
{ id: 'gpt-4o-mini', label: 'GPT-4o mini' },
|
|
233
|
-
]}
|
|
234
|
-
value="gpt-4o"
|
|
235
|
-
placeholder="Choose a model…"
|
|
236
|
-
@lr-change=${(e) => setModel(e.detail.value, e.detail.inCatalog)}
|
|
237
|
-
></lr-model-select>
|
|
228
|
+
<lr-model-select provider="openai" value="gpt-4o" placeholder="Choose a model…"></lr-model-select>
|
|
238
229
|
|
|
239
230
|
<!-- No fixed catalog yet: falls back to free-text entry -->
|
|
240
231
|
<lr-model-select provider="ollama" placeholder="Type a model id…" allow-custom></lr-model-select>
|
|
232
|
+
<script type="module">
|
|
233
|
+
const select = document.querySelector("lr-model-select");
|
|
234
|
+
select.catalog = [
|
|
235
|
+
{ id: "gpt-4o", label: "GPT-4o", icon: "✦" },
|
|
236
|
+
{ id: "gpt-4o-mini", label: "GPT-4o mini" },
|
|
237
|
+
];
|
|
238
|
+
select.addEventListener("lr-change", (e) => setModel(e.detail.value, e.detail.inCatalog));
|
|
239
|
+
</script>
|
|
241
240
|
```
|
|
242
241
|
|
|
243
242
|
**Known gotchas:**
|