@aceshooting/lyra-ui 9.1.0 → 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 +843 -0
- package/README.md +7 -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 +2 -2
- 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 +9 -7
- 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.class.js +1 -1
- 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.class.js +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.styles.js +3 -5
- package/dist/components/agent-tools/commit-card/commit-card.class.js +1 -1
- 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.class.js +2 -2
- package/dist/components/agent-tools/confirm-bar/confirm-bar.styles.js +0 -46
- package/dist/components/agent-tools/context-inspector/context-inspector.class.js +1 -1
- package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +0 -7
- package/dist/components/agent-tools/eval-result/eval-result.class.js +1 -1
- package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +2 -2
- package/dist/components/agent-tools/policy-summary/policy-summary.class.js +1 -1
- 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 +2 -5
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +1 -1
- 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 +1 -4
- package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
- 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.class.js +1 -1
- 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.class.js +2 -2
- 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.class.js +2 -2
- 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.class.js +2 -2
- package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +7 -31
- package/dist/components/charts/chart/bar-chart.class.js +1 -1
- package/dist/components/charts/chart/box-plot.styles.js +0 -20
- package/dist/components/charts/chart/bubble-chart.class.js +1 -1
- 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/doughnut-chart.class.js +1 -1
- package/dist/components/charts/chart/histogram.class.js +1 -1
- package/dist/components/charts/chart/line-chart.class.js +1 -1
- 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/charts/chart/pie-chart.class.js +1 -1
- package/dist/components/charts/chart/polar-area-chart.class.js +1 -1
- package/dist/components/charts/chart/radar-chart.class.js +1 -1
- package/dist/components/charts/chart/scatter-chart.class.js +1 -1
- 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.class.js +2 -2
- package/dist/components/conversation/chat-message/chat-message.styles.js +13 -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/realtime-session/realtime-session.styles.js +1 -1
- 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 +5 -19
- 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.class.js +1 -1
- 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/file-tree/file-tree.class.js +1 -1
- 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 +85 -2
- 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.class.js +1 -1
- 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 +1 -106
- 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 +3 -38
- 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 +5 -13
- 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.class.js +1 -1
- 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.class.js +1 -1
- package/dist/components/layout/multi-split/multi-split.styles.js +8 -51
- 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 +2 -2
- package/dist/components/media/attachment-chip/attachment-chip.styles.js +0 -31
- package/dist/components/media/attachment-trigger/attachment-trigger.class.d.ts +1 -1
- package/dist/components/media/attachment-trigger/attachment-trigger.class.js +4 -4
- 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.class.js +1 -1
- 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 +2 -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 +2 -13
- 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.class.js +1 -1
- 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 +2 -2
- package/dist/components/overlays/popup/popup.class.d.ts +1 -0
- package/dist/components/overlays/popup/popup.class.js +2 -2
- 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 +2 -5
- 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.class.js +1 -1
- 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/entity-dossier/entity-dossier.class.js +1 -1
- 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/grounding-summary/grounding-summary.class.js +2 -2
- 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 +6 -11
- package/dist/components/retrieval/memory-panel/memory-panel.class.js +1 -1
- 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.class.js +1 -1
- 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.class.js +1 -1
- 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.class.js +1 -1
- 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/contact-viewer/contact-viewer.class.js +1 -1
- 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.class.js +1 -1
- 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.class.js +1 -1
- 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 +30 -0
- package/dist/internal/dev-mode-attribute-warning.js +1 -0
- 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 +9 -6
- 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 +29 -1
- 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/index.md +1 -1
- package/llms/peers.md +13 -3
- package/llms/shared.md +83 -2
- package/llms-full.txt +1159 -288
- package/package.json +19 -7
- package/vscode-css-data.json +37 -2
- package/vscode-html-data.json +402 -45
- package/web-types.json +300 -56
|
@@ -2,21 +2,6 @@ import{css}from"lit";const styles=css`
|
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
}
|
|
5
|
-
/* Two rendering paths, one presentation. Below \`virtualize-at\` a chunk row is committed into
|
|
6
|
-
this component's own shadow root, where a plain [part~='x'] selector matches it. Above it the
|
|
7
|
-
identical row template becomes <lr-virtual-list>'s .renderItem, and Lit commits that content
|
|
8
|
-
inside *that* component's shadow root -- a different tree, which no selector scoped to this one
|
|
9
|
-
can ever reach. lr-virtual-list::part(x) crosses exactly that one boundary, so both selectors
|
|
10
|
-
are required for every row-level part; the pairing is the same one <lr-ingestion-queue> uses
|
|
11
|
-
for its own dual-path rows.
|
|
12
|
-
|
|
13
|
-
Row state is carried by an extra part *token* (chunk-current, score-fill-danger, ...) rather
|
|
14
|
-
than by the row's own attribute, because Shadow Parts forbids an attribute selector after
|
|
15
|
-
::part(): ::part(chunk)[aria-current='true'] is invalid CSS, so the whole rule would be
|
|
16
|
-
dropped. ::part() matches against the part-name list, so a second token costs nothing and is
|
|
17
|
-
reachable from a consumer stylesheet too. The mirrored attributes (aria-current, data-tone,
|
|
18
|
-
data-clamped) stay on the elements -- they carry the semantics, and a bare [part~=] selector
|
|
19
|
-
inside this tree can still use them. */
|
|
20
5
|
[part~='chunk'],
|
|
21
6
|
lr-virtual-list::part(chunk) {
|
|
22
7
|
display: flex;
|
|
@@ -38,14 +23,6 @@ import{css}from"lit";const styles=css`
|
|
|
38
23
|
color: var(--lr-color-text-quiet);
|
|
39
24
|
font-variant-numeric: tabular-nums;
|
|
40
25
|
}
|
|
41
|
-
/* text-quiet's contrast ratio against brand-quiet lands at ~4.24:1 -- just under the WCAG AA
|
|
42
|
-
4.5:1 floor for normal-size text -- even though it comfortably passes against the plain
|
|
43
|
-
(non-current) background used the rest of the time. Same class of bug already hit and fixed in
|
|
44
|
-
lr-attachment-chip's [part='size'], lr-chat-message's [part='footer'] and lr-conversation-item's
|
|
45
|
-
[part='excerpt']/[part='timestamp']; same fix, full-strength text color once current. Paired
|
|
46
|
-
with --lr-chunk-inspector-current-bg: a consumer that restyles one has to keep the ratio, so
|
|
47
|
-
both arms of the pair are overridable. Ordered after the base score rule above, which it has to
|
|
48
|
-
win on source order (both are single-token selectors of equal specificity). */
|
|
49
26
|
[part~='score-current'],
|
|
50
27
|
lr-virtual-list::part(score-current) {
|
|
51
28
|
color: var(--lr-chunk-inspector-current-color, var(--lr-color-text));
|
|
@@ -98,9 +75,6 @@ import{css}from"lit";const styles=css`
|
|
|
98
75
|
color: var(--lr-color-brand);
|
|
99
76
|
text-decoration: underline;
|
|
100
77
|
}
|
|
101
|
-
/* The pressed state adds the surface the hover underline has no room for: this button is
|
|
102
|
-
transparent-backed link chrome, so a wash mixed from that transparent base is the only thing
|
|
103
|
-
that can read as "held down" without repainting the brand-colored label. */
|
|
104
78
|
[part~='open-button']:active,
|
|
105
79
|
lr-virtual-list::part(open-button):active {
|
|
106
80
|
color: var(--lr-color-brand);
|
|
@@ -116,15 +90,6 @@ import{css}from"lit";const styles=css`
|
|
|
116
90
|
lr-virtual-list::part(title) {
|
|
117
91
|
font: inherit;
|
|
118
92
|
}
|
|
119
|
-
/* chunk.text is arbitrary consumer-supplied content -- it may genuinely be RTL prose (e.g. a
|
|
120
|
-
real Arabic/Hebrew search snippet). isolate (not plaintext, and never a forced dir="ltr")
|
|
121
|
-
keeps the paragraph's own edge punctuation from being reordered by the surrounding host
|
|
122
|
-
direction while still letting the browser's per-paragraph bidi detection run correctly for
|
|
123
|
-
genuinely RTL content. Without it, under dir="rtl" a trailing period (e.g. "...Curie in
|
|
124
|
-
1898.") visually jumps to the front of the line. Chromium and Firefox already default block
|
|
125
|
-
boxes to unicode-bidi: isolate (see the HTML "bidi rendering" UA-stylesheet rules), which
|
|
126
|
-
masks this on those two engines; WebKit does not, so the bug and this rule are only visible
|
|
127
|
-
cross-engine -- see this component's own dir="rtl" test. */
|
|
128
93
|
[part~='text'],
|
|
129
94
|
lr-virtual-list::part(text) {
|
|
130
95
|
margin: 0;
|
|
@@ -105,20 +105,20 @@ export declare class LyraCitationBadge extends LyraElement<LyraCitationBadgeEven
|
|
|
105
105
|
/** Adds source context to the accessible name while retaining the visible citation index
|
|
106
106
|
* (`"Citation {index}, {label}"`). */
|
|
107
107
|
label: string;
|
|
108
|
-
private hasPreviewSlot;
|
|
109
108
|
private popoverOpen;
|
|
110
109
|
private buttonEl?;
|
|
111
110
|
private popoverEl?;
|
|
112
111
|
private readonly popoverId;
|
|
112
|
+
private readonly slotPresence;
|
|
113
113
|
private cleanupPositioner?;
|
|
114
114
|
private hideTimer?;
|
|
115
115
|
private hovering;
|
|
116
116
|
private focused;
|
|
117
|
+
private get hasPreviewSlot();
|
|
117
118
|
protected willUpdate(changed: PropertyValues): void;
|
|
118
119
|
protected updated(changed: PropertyValues): void;
|
|
119
120
|
disconnectedCallback(): void;
|
|
120
121
|
private get accessibleLabel();
|
|
121
|
-
private onSlotChange;
|
|
122
122
|
private showPreview;
|
|
123
123
|
private scheduleHidePreview;
|
|
124
124
|
private hidePreviewNow;
|
|
@@ -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,query}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{place}from"../../../internal/positioner.js";import{nextId}from"../../../internal/a11y.js";import{finiteInteger}from"../../../internal/numbers.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{styles}from"./citation-badge.styles.js";import{LYRA_DEFAULT_citation,LYRA_DEFAULT_citationHighConfidence,LYRA_DEFAULT_citationLowConfidence,LYRA_DEFAULT_citationMediumConfidence,LYRA_DEFAULT_citationUnverified,LYRA_DEFAULT_citationVerified,LYRA_DEFAULT_citationWithCustomLabel,LYRA_DEFAULT_citationWithStatus,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_open,LYRA_DEFAULT_progress,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";const STATUS_MESSAGE_KEY={default:null,high:"citationHighConfidence",medium:"citationMediumConfidence",low:"citationLowConfidence",verified:"citationVerified",unverified:"citationUnverified"},HIDE_DELAY_MS=200;
|
|
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,query}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{place}from"../../../internal/positioner.js";import{nextId}from"../../../internal/a11y.js";import{SlotPresenceController}from"../../../internal/slot-presence-controller.js";import{finiteInteger}from"../../../internal/numbers.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{styles}from"./citation-badge.styles.js";import{LYRA_DEFAULT_citation,LYRA_DEFAULT_citationHighConfidence,LYRA_DEFAULT_citationLowConfidence,LYRA_DEFAULT_citationMediumConfidence,LYRA_DEFAULT_citationUnverified,LYRA_DEFAULT_citationVerified,LYRA_DEFAULT_citationWithCustomLabel,LYRA_DEFAULT_citationWithStatus,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";const STATUS_MESSAGE_KEY={default:null,high:"citationHighConfidence",medium:"citationMediumConfidence",low:"citationLowConfidence",verified:"citationVerified",unverified:"citationUnverified"},HIDE_DELAY_MS=200;class LyraCitationBadge extends LyraElement{constructor(){super(...arguments),this._index=1,this.status="default",this.sourceId="",this.href="",this.label="",this.popoverOpen=!1,this.popoverId=nextId("citation-badge-popover"),this.slotPresence=new SlotPresenceController(this),this.hovering=!1,this.focused=!1,this.onPointerEnter=()=>{this.hovering=!0,this.showPreview()},this.onPointerLeave=()=>{this.hovering=!1,this.scheduleHidePreview()},this.onFocusIn=()=>{this.focused=!0,this.showPreview()},this.onFocusOut=()=>{this.focused=!1,!this.hovering&&this.hidePreviewNow()},this.onKeyDown=e=>{if(e.key==="Escape"&&this.popoverOpen){e.stopPropagation(),this.hidePreviewNow();return}e.key===" "&&!e.repeat&&e.target===this.buttonEl&&(e.preventDefault(),this.emitOpen())},this.onClick=()=>{this.emit("lr-citation-activate",{sourceId:this.sourceId,index:this.index})},this.onDblClick=()=>{this.emitOpen()}}static{this.defaultStrings={...super.defaultStrings,citation:LYRA_DEFAULT_citation,citationHighConfidence:LYRA_DEFAULT_citationHighConfidence,citationLowConfidence:LYRA_DEFAULT_citationLowConfidence,citationMediumConfidence:LYRA_DEFAULT_citationMediumConfidence,citationUnverified:LYRA_DEFAULT_citationUnverified,citationVerified:LYRA_DEFAULT_citationVerified,citationWithCustomLabel:LYRA_DEFAULT_citationWithCustomLabel,citationWithStatus:LYRA_DEFAULT_citationWithStatus,collapse:LYRA_DEFAULT_collapse,details:LYRA_DEFAULT_details,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select}}static{this.styles=[LyraElement.styles,styles]}get index(){return this._index}set index(value){const old=this._index;this._index=finiteInteger(value,1,1),this.requestUpdate("index",old)}get hasPreviewSlot(){return this.slotPresence.has()}willUpdate(changed){super.willUpdate(changed),this.popoverOpen&&!this.hasPreviewSlot&&this.hidePreviewNow()}updated(changed){super.updated(changed),changed.has("popoverOpen")&&(this.cleanupPositioner?.(),this.cleanupPositioner=void 0,this.popoverOpen&&this.buttonEl&&this.popoverEl&&(this.cleanupPositioner=place(this.buttonEl,this.popoverEl,{placement:"top-start"})))}disconnectedCallback(){super.disconnectedCallback(),this.cleanupPositioner?.(),this.cleanupPositioner=void 0,clearTimeout(this.hideTimer),this.hideTimer=void 0,this.popoverOpen=!1,this.hovering=!1,this.focused=!1}get accessibleLabel(){const index=getNumberFormat(this.effectiveLocale).format(this.index);if(this.label)return this.localize("citationWithCustomLabel",void 0,{index,label:this.label});const key=STATUS_MESSAGE_KEY[this.status],statusText=key?this.localize(key):"",citationLabel=this.localize("citation",void 0,{index});return statusText?this.localize("citationWithStatus",void 0,{index,status:statusText}):citationLabel}showPreview(){this.hasPreviewSlot&&(clearTimeout(this.hideTimer),this.hideTimer=void 0,!this.popoverOpen&&(this.popoverOpen=!0))}scheduleHidePreview(){!this.popoverOpen||this.hovering||this.focused||(clearTimeout(this.hideTimer),this.hideTimer=setTimeout(()=>{this.hideTimer=void 0,this.popoverOpen=!1},HIDE_DELAY_MS))}hidePreviewNow(){clearTimeout(this.hideTimer),this.hideTimer=void 0,this.popoverOpen&&(this.popoverOpen=!1)}emitOpen(){this.emit("lr-citation-open",{sourceId:this.sourceId,index:this.index,href:this.href||void 0})}render(){const formattedIndex=getNumberFormat(this.effectiveLocale).format(this.index);return html`
|
|
2
2
|
<span
|
|
3
3
|
class="wrapper"
|
|
4
4
|
@pointerenter=${this.onPointerEnter}
|
|
@@ -26,7 +26,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
26
26
|
inert
|
|
27
27
|
?hidden=${!this.popoverOpen}
|
|
28
28
|
>
|
|
29
|
-
<slot
|
|
29
|
+
<slot></slot>
|
|
30
30
|
</div>
|
|
31
31
|
</span>
|
|
32
|
-
`}}__decorate([property({type:Number})],LyraCitationBadge.prototype,"index",null),__decorate([property({reflect:!0})],LyraCitationBadge.prototype,"status",void 0),__decorate([property({attribute:"source-id"})],LyraCitationBadge.prototype,"sourceId",void 0),__decorate([property()],LyraCitationBadge.prototype,"href",void 0),__decorate([property()],LyraCitationBadge.prototype,"label",void 0),__decorate([state()],LyraCitationBadge.prototype,"
|
|
32
|
+
`}}__decorate([property({type:Number})],LyraCitationBadge.prototype,"index",null),__decorate([property({reflect:!0})],LyraCitationBadge.prototype,"status",void 0),__decorate([property({attribute:"source-id"})],LyraCitationBadge.prototype,"sourceId",void 0),__decorate([property()],LyraCitationBadge.prototype,"href",void 0),__decorate([property()],LyraCitationBadge.prototype,"label",void 0),__decorate([state()],LyraCitationBadge.prototype,"popoverOpen",void 0),__decorate([query('[part="base"]')],LyraCitationBadge.prototype,"buttonEl",void 0),__decorate([query('[part="popover"]')],LyraCitationBadge.prototype,"popoverEl",void 0);export{LyraCitationBadge};
|
|
@@ -3,11 +3,6 @@ import{css}from"lit";const styles=css`
|
|
|
3
3
|
display: inline-flex;
|
|
4
4
|
vertical-align: baseline;
|
|
5
5
|
line-height: var(--lr-line-height-none);
|
|
6
|
-
/* Per-status private defaults -- one pair changed by the :host([status]) rules below rather
|
|
7
|
-
than repeating background/color. An inherited or direct public hook remains authoritative;
|
|
8
|
-
per part per status. 'default' (and any unrecognized status) stays
|
|
9
|
-
plain/neutral -- transparent background, quiet text -- rather than
|
|
10
|
-
inventing a seventh visual tone for "no signal at all". */
|
|
11
6
|
--_lr-citation-badge-accent: var(--lr-color-text-quiet);
|
|
12
7
|
--_lr-citation-badge-bg: transparent;
|
|
13
8
|
--_lr-citation-badge-border: transparent;
|
|
@@ -23,9 +18,6 @@ import{css}from"lit";const styles=css`
|
|
|
23
18
|
--_lr-citation-badge-accent: var(--lr-color-warning);
|
|
24
19
|
--_lr-citation-badge-bg: var(--lr-color-warning-quiet);
|
|
25
20
|
}
|
|
26
|
-
/* Deliberately its own danger tone, not grouped with 'low' -- see the
|
|
27
|
-
component doc's status-coloring note: "hasn't been checked" reads as a
|
|
28
|
-
distinct (riskier) claim from "checked but uncertain". */
|
|
29
21
|
:host([status="unverified"]) {
|
|
30
22
|
--_lr-citation-badge-accent: var(--lr-color-danger);
|
|
31
23
|
--_lr-citation-badge-bg: var(--lr-color-danger-quiet);
|
|
@@ -38,10 +30,6 @@ import{css}from"lit";const styles=css`
|
|
|
38
30
|
[part="base"] {
|
|
39
31
|
display: inline-flex;
|
|
40
32
|
align-items: baseline;
|
|
41
|
-
/* Cross-axis stays baseline (the badge number sits on the surrounding text's baseline), but
|
|
42
|
-
the main axis must centre: the min-inline-size hit-area floor below is far wider than the
|
|
43
|
-
one- or two-digit label it usually holds, and the default justify-content
|
|
44
|
-
(normal => flex-start) left that number hugging the badge's leading edge. */
|
|
45
33
|
justify-content: center;
|
|
46
34
|
box-sizing: border-box;
|
|
47
35
|
min-inline-size: var(--lr-icon-button-size);
|
|
@@ -68,9 +56,6 @@ import{css}from"lit";const styles=css`
|
|
|
68
56
|
var(--_lr-citation-badge-accent)
|
|
69
57
|
);
|
|
70
58
|
}
|
|
71
|
-
/* Pressed goes further than the hover border alone: the badge's own per-status fill mixed toward
|
|
72
|
-
--lr-color-mix-partner. That works for the 'default' status too, whose fill is transparent --
|
|
73
|
-
the mix simply resolves to the partner at --lr-color-mix-active alpha. */
|
|
74
59
|
[part="base"]:active {
|
|
75
60
|
border-color: var(
|
|
76
61
|
--lr-citation-badge-accent,
|
|
@@ -91,11 +76,6 @@ import{css}from"lit";const styles=css`
|
|
|
91
76
|
opacity: 0.7;
|
|
92
77
|
}
|
|
93
78
|
|
|
94
|
-
/* Positioned by internal/positioner.js's place() -- same fixed/z-index/
|
|
95
|
-
max-size shape as lr-tool-call-chip's own [part='tooltip']. No open/
|
|
96
|
-
close transition, for the same reason that one has none: a preview
|
|
97
|
-
that tracks the pointer/focus target should appear instantly, not
|
|
98
|
-
chase a fade. */
|
|
99
79
|
[part="popover"] {
|
|
100
80
|
position: fixed;
|
|
101
81
|
z-index: var(--lr-layer-dropdown);
|
|
@@ -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}from"lit/decorators.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{LyraElement}from"../../../internal/lyra-element.js";import{firstByRetrievalIdentity}from"../retrieval-identity.js";import{finiteRange}from"../../../internal/numbers.js";import"../../overlays/badge/badge.class.js";import"../../overlays/empty/empty.class.js";import"../citation-badge/citation-badge.class.js";import{styles}from"./claim-evidence.styles.js";import{retrievalSemanticLabel,retrievalSemanticRole}from"../retrieval-semantic-owner.js";import{LYRA_DEFAULT_claimEvidenceConfidence,LYRA_DEFAULT_claimEvidenceContradicted,LYRA_DEFAULT_claimEvidenceEmpty,LYRA_DEFAULT_claimEvidenceLabel,LYRA_DEFAULT_claimEvidencePartiallySupported,LYRA_DEFAULT_claimEvidenceSupported,LYRA_DEFAULT_claimEvidenceUnsupported,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_open,LYRA_DEFAULT_progress,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";const STATUS_VARIANT={supported:"success","partially-supported":"warning",unsupported:"danger",contradicted:"danger"};class LyraClaimEvidence extends LyraElement{constructor(){super(...arguments),this.claims=[],this.citations=[],this.selectedClaimId="",this.label="",this.compact=!1,this.frame="card"}static{this.defaultStrings={...super.defaultStrings,claimEvidenceConfidence:LYRA_DEFAULT_claimEvidenceConfidence,claimEvidenceContradicted:LYRA_DEFAULT_claimEvidenceContradicted,claimEvidenceEmpty:LYRA_DEFAULT_claimEvidenceEmpty,claimEvidenceLabel:LYRA_DEFAULT_claimEvidenceLabel,claimEvidencePartiallySupported:LYRA_DEFAULT_claimEvidencePartiallySupported,claimEvidenceSupported:LYRA_DEFAULT_claimEvidenceSupported,claimEvidenceUnsupported:LYRA_DEFAULT_claimEvidenceUnsupported,collapse:LYRA_DEFAULT_collapse,details:LYRA_DEFAULT_details,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,open:LYRA_DEFAULT_open,progress:LYRA_DEFAULT_progress,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select}}static{this.ownedCollectionProperties=Object.freeze(["claims","citations"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-claim-select","lr-citation-select"])}get normalizedClaims(){return firstByRetrievalIdentity(Array.isArray(this.claims)?this.claims:[],claim=>claim.id)}get normalizedCitations(){return firstByRetrievalIdentity(Array.isArray(this.citations)?this.citations:[],citation=>citation.id)}statusLabel(status){switch(status){case"supported":return this.localize("claimEvidenceSupported");case"partially-supported":return this.localize("claimEvidencePartiallySupported");case"unsupported":return this.localize("claimEvidenceUnsupported");case"contradicted":return this.localize("claimEvidenceContradicted")}}confidenceLabel(value){const percent=getNumberFormat(this.effectiveLocale,{style:"percent"}).format(finiteRange(value,0,0,1));return this.localize("claimEvidenceConfidence",void 0,{percent})}resolvedCitations(claim,citations){const ids=new Set(claim.citationIds);return citations.filter(citation=>ids.has(citation.id))}renderClaim(claim,allCitations){const selected=claim.id===this.selectedClaimId,citations=this.resolvedCitations(claim,allCitations);return html`
|
|
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}from"lit/decorators.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{LyraElement}from"../../../internal/lyra-element.js";import{firstByRetrievalIdentity}from"../retrieval-identity.js";import{finiteRange}from"../../../internal/numbers.js";import"../../overlays/badge/badge.class.js";import"../../overlays/empty/empty.class.js";import"../citation-badge/citation-badge.class.js";import{styles}from"./claim-evidence.styles.js";import{retrievalSemanticLabel,retrievalSemanticRole}from"../retrieval-semantic-owner.js";import{LYRA_DEFAULT_claimEvidenceConfidence,LYRA_DEFAULT_claimEvidenceContradicted,LYRA_DEFAULT_claimEvidenceEmpty,LYRA_DEFAULT_claimEvidenceLabel,LYRA_DEFAULT_claimEvidencePartiallySupported,LYRA_DEFAULT_claimEvidenceSupported,LYRA_DEFAULT_claimEvidenceUnsupported,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";const STATUS_VARIANT={supported:"success","partially-supported":"warning",unsupported:"danger",contradicted:"danger"};class LyraClaimEvidence extends LyraElement{constructor(){super(...arguments),this.claims=[],this.citations=[],this.selectedClaimId="",this.label="",this.compact=!1,this.frame="card"}static{this.defaultStrings={...super.defaultStrings,claimEvidenceConfidence:LYRA_DEFAULT_claimEvidenceConfidence,claimEvidenceContradicted:LYRA_DEFAULT_claimEvidenceContradicted,claimEvidenceEmpty:LYRA_DEFAULT_claimEvidenceEmpty,claimEvidenceLabel:LYRA_DEFAULT_claimEvidenceLabel,claimEvidencePartiallySupported:LYRA_DEFAULT_claimEvidencePartiallySupported,claimEvidenceSupported:LYRA_DEFAULT_claimEvidenceSupported,claimEvidenceUnsupported:LYRA_DEFAULT_claimEvidenceUnsupported,collapse:LYRA_DEFAULT_collapse,details:LYRA_DEFAULT_details,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select}}static{this.ownedCollectionProperties=Object.freeze(["claims","citations"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-claim-select","lr-citation-select"])}get normalizedClaims(){return firstByRetrievalIdentity(Array.isArray(this.claims)?this.claims:[],claim=>claim.id)}get normalizedCitations(){return firstByRetrievalIdentity(Array.isArray(this.citations)?this.citations:[],citation=>citation.id)}statusLabel(status){switch(status){case"supported":return this.localize("claimEvidenceSupported");case"partially-supported":return this.localize("claimEvidencePartiallySupported");case"unsupported":return this.localize("claimEvidenceUnsupported");case"contradicted":return this.localize("claimEvidenceContradicted")}}confidenceLabel(value){const percent=getNumberFormat(this.effectiveLocale,{style:"percent"}).format(finiteRange(value,0,0,1));return this.localize("claimEvidenceConfidence",void 0,{percent})}resolvedCitations(claim,citations){const ids=new Set(claim.citationIds);return citations.filter(citation=>ids.has(citation.id))}renderClaim(claim,allCitations){const selected=claim.id===this.selectedClaimId,citations=this.resolvedCitations(claim,allCitations);return html`
|
|
2
2
|
<li part=${selected?"claim claim-selected":"claim"} aria-current=${selected?"true":"false"}>
|
|
3
3
|
<button
|
|
4
4
|
part="claim-trigger"
|
|
@@ -22,18 +22,10 @@ import{css}from"lit";const styles=css`
|
|
|
22
22
|
[part~='claim-selected'] {
|
|
23
23
|
border-color: var(--lr-color-brand);
|
|
24
24
|
}
|
|
25
|
-
/* Density escape -- same convention as lr-source-card's/lr-entity-card's compact. The tuned
|
|
26
|
-
values sit behind inline var() fallbacks (rather than a :host declaration, which every
|
|
27
|
-
instance re-declares and so shadows any ancestor value), letting a list retune every claim at
|
|
28
|
-
once from the outside; the fallbacks are the pre-existing values scaled down one step, so an
|
|
29
|
-
unset claim renders unchanged. */
|
|
30
25
|
:host([compact]) [part='claim-trigger'] {
|
|
31
26
|
padding: var(--lr-claim-evidence-compact-padding, var(--lr-space-xs));
|
|
32
27
|
gap: var(--lr-claim-evidence-compact-gap, var(--lr-space-xs));
|
|
33
28
|
}
|
|
34
|
-
/* Strips the claim-row chrome for a claim nested inside an already-bordered/backgrounded
|
|
35
|
-
container -- same escape hatch as this component's sibling lr-source-card's/lr-entity-card's
|
|
36
|
-
identical frame='plain' rule. */
|
|
37
29
|
:host([frame='plain']) [part~='claim'] {
|
|
38
30
|
border: 0;
|
|
39
31
|
border-radius: 0;
|
|
@@ -2,6 +2,7 @@ import { type TemplateResult } from 'lit';
|
|
|
2
2
|
import { LyraElement } from '../../../internal/lyra-element.js';
|
|
3
3
|
import type { LyraFrame } from '../../../internal/variants.js';
|
|
4
4
|
import type { LyraEntity } from '../entity-card/entity-card.class.js';
|
|
5
|
+
export type { LyraEntity } from '../entity-card/entity-card.class.js';
|
|
5
6
|
import '../../overlays/chip/chip.class.js';
|
|
6
7
|
import '../../forms/button/button.class.js';
|
|
7
8
|
import '../../overlays/empty/empty.class.js';
|
|
@@ -12,9 +12,6 @@ import{css}from"lit";const styles=css`
|
|
|
12
12
|
background: var(--lr-color-surface);
|
|
13
13
|
color: var(--lr-color-text);
|
|
14
14
|
}
|
|
15
|
-
/* Strips the card chrome for a community card nested inside an already-bordered/backgrounded
|
|
16
|
-
container -- same escape hatch as this component's own sibling lr-entity-card's identical
|
|
17
|
-
frame='plain' rule. */
|
|
18
15
|
:host([frame='plain']) [part='base'] {
|
|
19
16
|
padding: 0;
|
|
20
17
|
border: 0;
|
|
@@ -50,9 +47,6 @@ import{css}from"lit";const styles=css`
|
|
|
50
47
|
[part='title'] button:hover {
|
|
51
48
|
text-decoration: underline;
|
|
52
49
|
}
|
|
53
|
-
/* The label already renders in --lr-color-text, which is what --lr-color-mix-partner tracks, so
|
|
54
|
-
mixing the *text* would move nothing; the pressed signal is a wash mixed from the button's own
|
|
55
|
-
transparent background instead. */
|
|
56
50
|
[part='title'] button:active {
|
|
57
51
|
text-decoration: underline;
|
|
58
52
|
background: color-mix(in oklab, transparent, var(--lr-color-mix-partner) var(--lr-color-mix-active));
|
|
@@ -11,11 +11,6 @@ import{css}from"lit";const styles=css`
|
|
|
11
11
|
gap: var(--lr-space-xs);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
/* The block size arrives as --lr-embedding-explorer-height, set on the host from the height
|
|
15
|
-
property. An SVG height presentation attribute cannot carry it -- any stylesheet declaration
|
|
16
|
-
outranks a presentation attribute -- and an inline block-size on the SVG would hide the value
|
|
17
|
-
from consumers rethemeing through the custom property. The auto fallback is the
|
|
18
|
-
aspect-ratio-preserved size derived from the viewBox. */
|
|
19
14
|
[part='plot'] {
|
|
20
15
|
display: block;
|
|
21
16
|
inline-size: 100%;
|
|
@@ -51,11 +46,6 @@ import{css}from"lit";const styles=css`
|
|
|
51
46
|
stroke-width: var(--lr-border-width-medium);
|
|
52
47
|
}
|
|
53
48
|
|
|
54
|
-
/* Pressed thickens the same ring the hover/focus rule above draws rather than retinting it: the
|
|
55
|
-
ring is already --lr-color-text, which is exactly what --lr-color-mix-partner tracks, so a mix
|
|
56
|
-
toward the partner would resolve back to the colour it started from. Width is the one axis left
|
|
57
|
-
that reads as visibly stronger. Placed after the hover rule so it wins at equal specificity
|
|
58
|
-
while the point is both hovered and held. */
|
|
59
49
|
[part='point']:active .point-marker {
|
|
60
50
|
stroke: var(--lr-color-text);
|
|
61
51
|
stroke-width: var(--lr-border-width-thick);
|
|
@@ -66,6 +56,14 @@ import{css}from"lit";const styles=css`
|
|
|
66
56
|
stroke-width: var(--lr-border-width-medium);
|
|
67
57
|
}
|
|
68
58
|
|
|
59
|
+
[part='point'][data-selected='true']:hover .point-marker,
|
|
60
|
+
[part='point'][data-selected='true']:focus-visible .point-marker {
|
|
61
|
+
stroke-width: var(--lr-border-width-thick);
|
|
62
|
+
}
|
|
63
|
+
[part='point'][data-selected='true']:active .point-marker {
|
|
64
|
+
stroke-width: calc(var(--lr-border-width-thick) + var(--lr-border-width-thin));
|
|
65
|
+
}
|
|
66
|
+
|
|
69
67
|
[part='legend'] {
|
|
70
68
|
display: flex;
|
|
71
69
|
flex-wrap: wrap;
|
|
@@ -102,8 +100,6 @@ import{css}from"lit";const styles=css`
|
|
|
102
100
|
color: var(--lr-color-text-quiet);
|
|
103
101
|
}
|
|
104
102
|
|
|
105
|
-
/* A floor, never a fixed size: min-block-size only ever raises the resolved block-size, so a
|
|
106
|
-
taller height still wins at narrow allocations. */
|
|
107
103
|
@container (max-inline-size: 319.98px) {
|
|
108
104
|
[part='plot'] {
|
|
109
105
|
min-block-size: var(--lr-size-12rem);
|
|
@@ -28,14 +28,15 @@ export interface LyraEntity {
|
|
|
28
28
|
* vocabulary under this component's own export name. */
|
|
29
29
|
export type EntityCardAppearance = LyraFrame;
|
|
30
30
|
export interface LyraEntityCardEventMap {
|
|
31
|
-
|
|
31
|
+
/** Canonical name for the "user picked this entity" gesture. */
|
|
32
|
+
'lr-entity-select': CustomEvent<{
|
|
32
33
|
entityId: string;
|
|
33
34
|
}>;
|
|
34
35
|
}
|
|
35
36
|
/**
|
|
36
37
|
* `<lr-entity-card>` — a dossier card for one `LyraEntity`: type badge, description, key/value
|
|
37
38
|
* property rows, degree, community chip, plus a built-in "focus in graph" action. Never fetches or
|
|
38
|
-
* focuses a graph itself — `lr-entity-
|
|
39
|
+
* focuses a graph itself — `lr-entity-select` is a request a host routes into `lr-graph`'s
|
|
39
40
|
* `focusNode(id, { zoom? })`.
|
|
40
41
|
*
|
|
41
42
|
* Public collection properties take bounded, clone-owned readonly snapshots. Create a new
|
|
@@ -44,7 +45,7 @@ export interface LyraEntityCardEventMap {
|
|
|
44
45
|
* @customElement lr-entity-card
|
|
45
46
|
* @slot - Extra body content below the property rows (e.g. a `lr-neighbor-list`).
|
|
46
47
|
* @slot actions - Extra header actions alongside the built-in focus button.
|
|
47
|
-
* @event lr-entity-
|
|
48
|
+
* @event lr-entity-select - The built-in focus button was activated. `detail: { entityId }`.
|
|
48
49
|
* @csspart base - The outer bordered container.
|
|
49
50
|
* @csspart header - The header row wrapping the type badge, title, and actions.
|
|
50
51
|
* @csspart type-badge - The resolved entity-type badge.
|
|
@@ -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}from"lit/decorators.js";import{styleMap}from"lit/directives/style-map.js";import{LyraElement}from"../../../internal/lyra-element.js";import{firstByRetrievalIdentity,isNonBlankIdentity}from"../retrieval-identity.js";import{sanitizeCssColor}from"../../../internal/safe-css.js";import{finiteCount,finiteNumber}from"../../../internal/numbers.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{styles}from"./entity-card.styles.js";import"../../agent-tools/result-card/result-field.class.js";import"../../overlays/badge/badge.class.js";import"../../overlays/chip/chip.class.js";import"../../forms/button/button.class.js";import"../../overlays/empty/empty.class.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{LYRA_DEFAULT_entityCommunity,LYRA_DEFAULT_entityDegree,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_focusInGraph,LYRA_DEFAULT_noData,LYRA_DEFAULT_untitledEntity}from"../../../internal/default-strings.generated.js";function typeBadgeStyle(color){const safe=color!=null?sanitizeCssColor(color):void 0;return safe?{"--lr-badge-color":"var(--lr-color-text)","--lr-badge-background":`color-mix(in srgb, ${safe} 12%, var(--lr-color-surface))`,"--lr-badge-border":safe}:{}}class LyraEntityCard extends LyraElement{constructor(){super(...arguments),this.entity=null,this.types=[],this.communityLabel="",this.showFocusButton=!0,this.compact=!1,this.frame="card",this.onFocusClick=()=>{this.entity&&isNonBlankIdentity(this.entity.id)&&this.emit("lr-entity-
|
|
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}from"lit/decorators.js";import{styleMap}from"lit/directives/style-map.js";import{LyraElement}from"../../../internal/lyra-element.js";import{firstByRetrievalIdentity,isNonBlankIdentity}from"../retrieval-identity.js";import{sanitizeCssColor}from"../../../internal/safe-css.js";import{finiteCount,finiteNumber}from"../../../internal/numbers.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{styles}from"./entity-card.styles.js";import"../../agent-tools/result-card/result-field.class.js";import"../../overlays/badge/badge.class.js";import"../../overlays/chip/chip.class.js";import"../../forms/button/button.class.js";import"../../overlays/empty/empty.class.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{LYRA_DEFAULT_entityCommunity,LYRA_DEFAULT_entityDegree,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_focusInGraph,LYRA_DEFAULT_noData,LYRA_DEFAULT_untitledEntity}from"../../../internal/default-strings.generated.js";function typeBadgeStyle(color){const safe=color!=null?sanitizeCssColor(color):void 0;return safe?{"--lr-badge-color":"var(--lr-color-text)","--lr-badge-background":`color-mix(in srgb, ${safe} 12%, var(--lr-color-surface))`,"--lr-badge-border":safe}:{}}class LyraEntityCard extends LyraElement{constructor(){super(...arguments),this.entity=null,this.types=[],this.communityLabel="",this.showFocusButton=!0,this.compact=!1,this.frame="card",this.onFocusClick=()=>{this.entity&&isNonBlankIdentity(this.entity.id)&&this.emit("lr-entity-select",{entityId:this.entity.id})}}static{this.defaultStrings={...super.defaultStrings,entityCommunity:LYRA_DEFAULT_entityCommunity,entityDegree:LYRA_DEFAULT_entityDegree,fieldRequired:LYRA_DEFAULT_fieldRequired,focusInGraph:LYRA_DEFAULT_focusInGraph,noData:LYRA_DEFAULT_noData,untitledEntity:LYRA_DEFAULT_untitledEntity}}static{this.ownedCollectionProperties=Object.freeze(["entity","types"])}static{this.styles=[LyraElement.styles,styles]}resolvedType(type){return firstByRetrievalIdentity(this.types,entry=>entry?.id).find(entry=>entry.id===type)}render(){if(!this.entity||!isNonBlankIdentity(this.entity.id))return html`<div part="base">
|
|
2
2
|
<lr-empty part="empty" heading=${this.localize("noData")}></lr-empty>
|
|
3
3
|
</div>`;const entity=this.entity,titleText=entity.label||this.localize("untitledEntity"),resolved=entity.type?this.resolvedType(entity.type):void 0,badgeLabel=resolved?.label??entity.type,properties=Object.entries(entity.properties??{}),ariaLevel=this.getAttribute("aria-level")||"3";return html`
|
|
4
4
|
<div part="base">
|
|
@@ -13,19 +13,10 @@ import{css}from"lit";const styles=css`
|
|
|
13
13
|
color: var(--lr-color-text);
|
|
14
14
|
min-inline-size: 0;
|
|
15
15
|
}
|
|
16
|
-
/* Density escape -- same convention as lr-empty's compact, and as this component's own sibling
|
|
17
|
-
lr-community-card. The tuned values sit behind inline var() fallbacks (rather than a :host
|
|
18
|
-
declaration, which every instance re-declares and so shadows any ancestor value) so a consumer
|
|
19
|
-
can retune them from outside; the fallbacks are the pre-existing values, so an unset card
|
|
20
|
-
renders unchanged. */
|
|
21
16
|
:host([compact]) [part='base'] {
|
|
22
17
|
padding: var(--lr-entity-card-compact-padding, var(--lr-space-s));
|
|
23
18
|
gap: var(--lr-entity-card-compact-gap, var(--lr-space-xs));
|
|
24
19
|
}
|
|
25
|
-
/* MUST stay after :host([compact]): both selectors are :host([x]) [part='base'], i.e. equal
|
|
26
|
-
specificity, so source order alone decides which padding/gap wins when a card is both compact
|
|
27
|
-
and plain. plain is the stronger statement ("no chrome at all"), so it goes last. The header's
|
|
28
|
-
focus button and type badge draw their own chrome and stay visible either way. */
|
|
29
20
|
:host([frame='plain']) [part='base'] {
|
|
30
21
|
padding: 0;
|
|
31
22
|
border: 0;
|
|
@@ -63,9 +54,6 @@ import{css}from"lit";const styles=css`
|
|
|
63
54
|
gap: var(--lr-space-xs);
|
|
64
55
|
}
|
|
65
56
|
@media (forced-colors: active) {
|
|
66
|
-
/* Caller category colors remain an accent in ordinary themes. In forced colors the system
|
|
67
|
-
palette is the authority for every text/background/border channel, including values that
|
|
68
|
-
arrived as inline custom properties on the nested badge. */
|
|
69
57
|
[part='type-badge'] {
|
|
70
58
|
--lr-badge-color: var(--lr-color-text) !important;
|
|
71
59
|
--lr-badge-background: var(--lr-color-surface) !important;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type TemplateResult, type PropertyValues } from 'lit';
|
|
2
2
|
import { LyraElement } from '../../../internal/lyra-element.js';
|
|
3
3
|
export interface LyraEntityChipEventMap {
|
|
4
|
-
|
|
4
|
+
/** Canonical name for the "user picked this entity" gesture. */
|
|
5
|
+
'lr-entity-select': CustomEvent<{
|
|
5
6
|
entityId: string;
|
|
6
7
|
}>;
|
|
7
8
|
'lr-entity-open': CustomEvent<{
|
|
@@ -21,7 +22,7 @@ export interface LyraEntityChipEventMap {
|
|
|
21
22
|
* @customElement lr-entity-chip
|
|
22
23
|
* @slot - Rich preview content (typically a compact `lr-entity-card`), shown in a floating
|
|
23
24
|
* popover on hover/focus. No content -> no popover and no hover affordance at all.
|
|
24
|
-
* @event lr-entity-
|
|
25
|
+
* @event lr-entity-select - Click, or Enter while focused. `detail: { entityId }`.
|
|
25
26
|
* @event lr-entity-open - Dblclick, or Space while focused. `detail: { entityId }`.
|
|
26
27
|
* @csspart base - The clickable chip (`<button>`).
|
|
27
28
|
* @csspart label - The chip's visible `text`.
|
|
@@ -44,20 +45,25 @@ export declare class LyraEntityChip extends LyraElement<LyraEntityChipEventMap>
|
|
|
44
45
|
/** Resolved display label for `type`; when set, the accessible name speaks it instead of the raw
|
|
45
46
|
* type id. */
|
|
46
47
|
typeLabel?: string;
|
|
47
|
-
private hasPreviewSlot;
|
|
48
48
|
private popoverOpen;
|
|
49
49
|
private buttonEl?;
|
|
50
50
|
private popoverEl?;
|
|
51
51
|
private readonly popoverId;
|
|
52
|
+
/** The default slot's preview content is often bare text (no wrapping element at all), so an
|
|
53
|
+
* element-only check never counts it, and a `[part]` always contains a literal `<slot>` child
|
|
54
|
+
* regardless of assignment, so `:empty` never matches either. The shared controller answers the
|
|
55
|
+
* same "does this slot carry real consumer content" question every other presence-driven
|
|
56
|
+
* component asks, seeded before the first render and kept live afterwards. */
|
|
57
|
+
private readonly slotPresence;
|
|
52
58
|
private cleanupPositioner?;
|
|
53
59
|
private hideTimer?;
|
|
54
60
|
private hovering;
|
|
55
61
|
private focused;
|
|
62
|
+
private get hasPreviewSlot();
|
|
56
63
|
protected willUpdate(changed: PropertyValues): void;
|
|
57
64
|
protected updated(changed: PropertyValues): void;
|
|
58
65
|
disconnectedCallback(): void;
|
|
59
66
|
private get accessibleLabel();
|
|
60
|
-
private onSlotChange;
|
|
61
67
|
private showPreview;
|
|
62
68
|
private scheduleHidePreview;
|
|
63
69
|
private hidePreviewNow;
|
|
@@ -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,query}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{isNonBlankIdentity}from"../retrieval-identity.js";import{place}from"../../../internal/positioner.js";import{nextId}from"../../../internal/a11y.js";import{styles}from"./entity-chip.styles.js";import{LYRA_DEFAULT_entityChipWithType,LYRA_DEFAULT_untitledEntity}from"../../../internal/default-strings.generated.js";const HIDE_DELAY_MS=200;
|
|
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,query}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{isNonBlankIdentity}from"../retrieval-identity.js";import{place}from"../../../internal/positioner.js";import{nextId}from"../../../internal/a11y.js";import{SlotPresenceController}from"../../../internal/slot-presence-controller.js";import{styles}from"./entity-chip.styles.js";import{LYRA_DEFAULT_entityChipWithType,LYRA_DEFAULT_untitledEntity}from"../../../internal/default-strings.generated.js";const HIDE_DELAY_MS=200;class LyraEntityChip extends LyraElement{constructor(){super(...arguments),this.entityId="",this.text="",this.type="",this.popoverOpen=!1,this.popoverId=nextId("entity-chip-popover"),this.slotPresence=new SlotPresenceController(this),this.hovering=!1,this.focused=!1,this.onPointerEnter=()=>{this.hovering=!0,this.showPreview()},this.onPointerLeave=()=>{this.hovering=!1,this.scheduleHidePreview()},this.onFocusIn=()=>{this.focused=!0,this.showPreview()},this.onFocusOut=()=>{this.focused=!1,!this.hovering&&this.hidePreviewNow()},this.onKeyDown=e=>{if(e.key==="Escape"&&this.popoverOpen){e.stopPropagation(),this.hidePreviewNow();return}e.key===" "&&!e.repeat&&e.target===this.buttonEl&&(e.preventDefault(),this.emitOpen())},this.onClick=()=>{isNonBlankIdentity(this.entityId)&&this.emit("lr-entity-select",{entityId:this.entityId})},this.onDblClick=()=>{this.emitOpen()}}static{this.defaultStrings={...super.defaultStrings,entityChipWithType:LYRA_DEFAULT_entityChipWithType,untitledEntity:LYRA_DEFAULT_untitledEntity}}static{this.styles=[LyraElement.styles,styles]}get hasPreviewSlot(){return this.slotPresence.has()}willUpdate(changed){super.willUpdate(changed),this.popoverOpen&&!this.hasPreviewSlot&&this.hidePreviewNow()}updated(changed){super.updated(changed),changed.has("popoverOpen")&&(this.cleanupPositioner?.(),this.cleanupPositioner=void 0,this.popoverOpen&&this.buttonEl&&this.popoverEl&&(this.cleanupPositioner=place(this.buttonEl,this.popoverEl,{placement:"top-start"})))}disconnectedCallback(){super.disconnectedCallback(),this.cleanupPositioner?.(),this.cleanupPositioner=void 0,clearTimeout(this.hideTimer),this.hideTimer=void 0,this.popoverOpen=!1,this.hovering=!1,this.focused=!1}get accessibleLabel(){const label=this.text.trim()===""?this.localize("untitledEntity"):this.text,typeText=this.typeLabel?.trim()||this.type.trim();return typeText?this.localize("entityChipWithType",void 0,{label,type:typeText}):label}showPreview(){this.hasPreviewSlot&&(clearTimeout(this.hideTimer),this.hideTimer=void 0,!this.popoverOpen&&(this.popoverOpen=!0))}scheduleHidePreview(){!this.popoverOpen||this.hovering||this.focused||(clearTimeout(this.hideTimer),this.hideTimer=setTimeout(()=>{this.hideTimer=void 0,this.popoverOpen=!1},HIDE_DELAY_MS))}hidePreviewNow(){clearTimeout(this.hideTimer),this.hideTimer=void 0,this.popoverOpen&&(this.popoverOpen=!1)}emitOpen(){isNonBlankIdentity(this.entityId)&&this.emit("lr-entity-open",{entityId:this.entityId})}render(){return html`
|
|
2
2
|
<span
|
|
3
3
|
class="wrapper"
|
|
4
4
|
@pointerenter=${this.onPointerEnter}
|
|
@@ -25,7 +25,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
25
25
|
inert
|
|
26
26
|
?hidden=${!this.popoverOpen}
|
|
27
27
|
>
|
|
28
|
-
<slot
|
|
28
|
+
<slot></slot>
|
|
29
29
|
</div>
|
|
30
30
|
</span>
|
|
31
|
-
`}}__decorate([property({attribute:"entity-id"})],LyraEntityChip.prototype,"entityId",void 0),__decorate([property()],LyraEntityChip.prototype,"text",void 0),__decorate([property({reflect:!0})],LyraEntityChip.prototype,"type",void 0),__decorate([property({attribute:"type-label"})],LyraEntityChip.prototype,"typeLabel",void 0),__decorate([state()],LyraEntityChip.prototype,"
|
|
31
|
+
`}}__decorate([property({attribute:"entity-id"})],LyraEntityChip.prototype,"entityId",void 0),__decorate([property()],LyraEntityChip.prototype,"text",void 0),__decorate([property({reflect:!0})],LyraEntityChip.prototype,"type",void 0),__decorate([property({attribute:"type-label"})],LyraEntityChip.prototype,"typeLabel",void 0),__decorate([state()],LyraEntityChip.prototype,"popoverOpen",void 0),__decorate([query('[part="base"]')],LyraEntityChip.prototype,"buttonEl",void 0),__decorate([query('[part="popover"]')],LyraEntityChip.prototype,"popoverEl",void 0);export{LyraEntityChip};
|
|
@@ -9,9 +9,6 @@ import{css}from"lit";const styles=css`
|
|
|
9
9
|
[part='base'] {
|
|
10
10
|
display: inline-flex;
|
|
11
11
|
align-items: center;
|
|
12
|
-
/* Both axes: a short entity label is narrower than the min-inline-size hit-area floor below,
|
|
13
|
-
and the default justify-content (normal => flex-start) left it hugging the leading edge of
|
|
14
|
-
an otherwise symmetric pill. A no-op once the label fills the floor. */
|
|
15
12
|
justify-content: center;
|
|
16
13
|
box-sizing: border-box;
|
|
17
14
|
min-inline-size: var(--lr-icon-button-size);
|
|
@@ -27,14 +24,14 @@ import{css}from"lit";const styles=css`
|
|
|
27
24
|
cursor: pointer;
|
|
28
25
|
-webkit-tap-highlight-color: transparent;
|
|
29
26
|
}
|
|
30
|
-
[part='base']:
|
|
27
|
+
[part='base']:disabled {
|
|
28
|
+
opacity: var(--lr-opacity-disabled);
|
|
29
|
+
cursor: not-allowed;
|
|
30
|
+
}
|
|
31
|
+
[part='base']:not(:disabled):hover {
|
|
31
32
|
background: color-mix(in srgb, var(--lr-entity-chip-color, var(--lr-color-brand)) 16%, var(--lr-entity-chip-bg, var(--lr-color-brand-quiet)));
|
|
32
33
|
}
|
|
33
|
-
|
|
34
|
-
dose of the chip's own accent: the accent is already at 16% here, and stepping it to
|
|
35
|
-
--lr-color-mix-active (22%) would be a six-point move nobody can see. Mixing toward the partner
|
|
36
|
-
moves the fill regardless of which per-entity accent the chip was given. */
|
|
37
|
-
[part='base']:active {
|
|
34
|
+
[part='base']:not(:disabled):active {
|
|
38
35
|
background: color-mix(
|
|
39
36
|
in oklab,
|
|
40
37
|
color-mix(in srgb, var(--lr-entity-chip-color, var(--lr-color-brand)) 16%, var(--lr-entity-chip-bg, var(--lr-color-brand-quiet))),
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { type TemplateResult } from 'lit';
|
|
2
2
|
import { LyraElement } from '../../../internal/lyra-element.js';
|
|
3
3
|
import type { LyraEntity } from '../entity-card/entity-card.class.js';
|
|
4
|
+
export type { LyraEntity } from '../entity-card/entity-card.class.js';
|
|
4
5
|
import type { LyraNeighborListEventMap, LyraNeighborRow } from '../neighbor-list/neighbor-list.class.js';
|
|
6
|
+
export type { LyraNeighborRow } from '../neighbor-list/neighbor-list.class.js';
|
|
5
7
|
import type { LyraChunk, LyraChunkInspectorEventMap } from '../chunk-inspector/chunk-inspector.class.js';
|
|
8
|
+
export type { LyraChunk } from '../chunk-inspector/chunk-inspector.class.js';
|
|
6
9
|
import type { LyraProvenance, LyraProvenancePanelEventMap } from '../provenance-panel/provenance-panel.class.js';
|
|
10
|
+
export type { LyraProvenance } from '../provenance-panel/provenance-panel.class.js';
|
|
7
11
|
import type { StatRow } from '../../data/stat/stat.class.js';
|
|
8
12
|
import type { LyraVariant } from '../../../internal/variants.js';
|
|
9
13
|
import type { LyraNodeTypeStyle } from '../../../internal/node-type-style.js';
|
|
@@ -37,7 +41,15 @@ export interface LyraEntityDossierConfidence {
|
|
|
37
41
|
/** Breakdown rows (e.g. per-signal sub-scores) -- see `lr-stat.rows`. */
|
|
38
42
|
readonly rows?: readonly StatRow[];
|
|
39
43
|
}
|
|
40
|
-
export interface LyraEntityDossierEventMap extends Omit<LyraNeighborListEventMap, 'lr-entity-
|
|
44
|
+
export interface LyraEntityDossierEventMap extends Omit<LyraNeighborListEventMap, 'lr-entity-select'>, LyraChunkInspectorEventMap, Omit<LyraProvenancePanelEventMap, 'lr-entity-activate' | 'lr-entity-select'>, Omit<LyraTabGroupEventMap, 'lr-tab-show'> {
|
|
45
|
+
/** Canonical name for the "user picked this entity" gesture, surfaced unchanged from the
|
|
46
|
+
* embedded entity card or neighbor list. No composed child emits this with an
|
|
47
|
+
* `occurrenceIndex` (only the embedded provenance panel's own `lr-entity-activate` does, via
|
|
48
|
+
* its community card and relationship path strip), so unlike that one this stays the plain
|
|
49
|
+
* shape. */
|
|
50
|
+
'lr-entity-select': CustomEvent<{
|
|
51
|
+
entityId: string;
|
|
52
|
+
}>;
|
|
41
53
|
'lr-entity-activate': CustomEvent<{
|
|
42
54
|
entityId: string;
|
|
43
55
|
occurrenceIndex?: number;
|
|
@@ -52,8 +64,8 @@ export interface LyraEntityDossierEventMap extends Omit<LyraNeighborListEventMap
|
|
|
52
64
|
* Supporting chunks (`lr-chunk-inspector`), and Provenance (`lr-provenance-panel`). Pure layout —
|
|
53
65
|
* it never fetches, ranks, or mutates graph/document state, and never re-renders what any of those
|
|
54
66
|
* five composed components already render themselves; every one of their own events (`
|
|
55
|
-
* lr-entity-activate`, `lr-node-expand`, `lr-chunk-open`, `lr-expand`,
|
|
56
|
-
* plus the provenance panel's own conduit set — `lr-entity-open`, `lr-drill`,
|
|
67
|
+
* lr-entity-select`, `lr-entity-activate`, `lr-node-expand`, `lr-chunk-open`, `lr-expand`,
|
|
68
|
+
* `lr-toggle`, `lr-tab-show`, plus the provenance panel's own conduit set — `lr-entity-open`, `lr-drill`,
|
|
57
69
|
* `lr-relation-activate`) bubbles through unmodified (`composed: true` crosses this component's own
|
|
58
70
|
* shadow boundary with no re-dispatch needed).
|
|
59
71
|
*
|
|
@@ -79,8 +91,10 @@ export interface LyraEntityDossierEventMap extends Omit<LyraNeighborListEventMap
|
|
|
79
91
|
* collection and reassign it after changes; mutating the assigned array does not update the view.
|
|
80
92
|
*
|
|
81
93
|
* @customElement lr-entity-dossier
|
|
82
|
-
* @event lr-entity-
|
|
83
|
-
* `detail: { entityId
|
|
94
|
+
* @event lr-entity-select - Surfaced unchanged from the embedded entity card or neighbor list.
|
|
95
|
+
* `detail: { entityId }`.
|
|
96
|
+
* @event lr-entity-activate - Surfaced unchanged from the embedded provenance panel's own
|
|
97
|
+
* community card or relationship path strip. `detail: { entityId, occurrenceIndex? }`.
|
|
84
98
|
* @event lr-node-expand - Surfaced unchanged from the embedded neighbor list.
|
|
85
99
|
* `detail: { nodeId }`.
|
|
86
100
|
* @event lr-chunk-open - Surfaced unchanged from the embedded chunk inspector.
|
|
@@ -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{hostAriaLabel}from"../../../internal/a11y.js";import{LyraElement}from"../../../internal/lyra-element.js";import"../entity-card/entity-card.class.js";import"../neighbor-list/neighbor-list.class.js";import"../chunk-inspector/chunk-inspector.class.js";import"../provenance-panel/provenance-panel.class.js";import"../../data/stat/stat.class.js";import"../../layout/tab-group/tab-group.class.js";import"../../overlays/empty/empty.class.js";import{styles}from"./entity-dossier.styles.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{LYRA_DEFAULT_chunkInspectorLabel,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_neighborListLabel,LYRA_DEFAULT_noData,LYRA_DEFAULT_open,LYRA_DEFAULT_progress,LYRA_DEFAULT_provenancePanelLabel,LYRA_DEFAULT_restore,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";class LyraEntityDossier extends LyraElement{constructor(){super(...arguments),this.entity=null,this.types=[],this.communityLabel="",this.showFocusButton=!0,this.confidence=null,this.neighbors=[],this.groupByRelation=!1,this.expandable=!1,this.chunks=[],this.thresholds={high:.75,medium:.5},this.provenance=null,this.accessibleLabel=null,this.activeTab="relationships",this.onTabsChange=e=>{e.stopPropagation();const tabId=e.detail.name;this.activeTab=tabId,this.emit("lr-tab-show",{tabId})}}static{this.defaultStrings={...super.defaultStrings,chunkInspectorLabel:LYRA_DEFAULT_chunkInspectorLabel,collapse:LYRA_DEFAULT_collapse,details:LYRA_DEFAULT_details,fieldRequired:LYRA_DEFAULT_fieldRequired,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,neighborListLabel:LYRA_DEFAULT_neighborListLabel,noData:LYRA_DEFAULT_noData,open:LYRA_DEFAULT_open,progress:LYRA_DEFAULT_progress,provenancePanelLabel:LYRA_DEFAULT_provenancePanelLabel,restore:LYRA_DEFAULT_restore,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select}}static{this.ownedCollectionProperties=Object.freeze(["entity","confidence","types","neighbors","chunks","provenance"])}static{this.styles=[LyraElement.styles,styles]}render(){if(!this.entity)return html`<div part="base">
|
|
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{hostAriaLabel}from"../../../internal/a11y.js";import{LyraElement}from"../../../internal/lyra-element.js";import"../entity-card/entity-card.class.js";import"../neighbor-list/neighbor-list.class.js";import"../chunk-inspector/chunk-inspector.class.js";import"../provenance-panel/provenance-panel.class.js";import"../../data/stat/stat.class.js";import"../../layout/tab-group/tab-group.class.js";import"../../overlays/empty/empty.class.js";import{styles}from"./entity-dossier.styles.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{LYRA_DEFAULT_chunkInspectorLabel,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_neighborListLabel,LYRA_DEFAULT_noData,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_provenancePanelLabel,LYRA_DEFAULT_restore,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";class LyraEntityDossier extends LyraElement{constructor(){super(...arguments),this.entity=null,this.types=[],this.communityLabel="",this.showFocusButton=!0,this.confidence=null,this.neighbors=[],this.groupByRelation=!1,this.expandable=!1,this.chunks=[],this.thresholds={high:.75,medium:.5},this.provenance=null,this.accessibleLabel=null,this.activeTab="relationships",this.onTabsChange=e=>{e.stopPropagation();const tabId=e.detail.name;this.activeTab=tabId,this.emit("lr-tab-show",{tabId})}}static{this.defaultStrings={...super.defaultStrings,chunkInspectorLabel:LYRA_DEFAULT_chunkInspectorLabel,collapse:LYRA_DEFAULT_collapse,details:LYRA_DEFAULT_details,fieldRequired:LYRA_DEFAULT_fieldRequired,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,neighborListLabel:LYRA_DEFAULT_neighborListLabel,noData:LYRA_DEFAULT_noData,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,provenancePanelLabel:LYRA_DEFAULT_provenancePanelLabel,restore:LYRA_DEFAULT_restore,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select}}static{this.ownedCollectionProperties=Object.freeze(["entity","confidence","types","neighbors","chunks","provenance"])}static{this.styles=[LyraElement.styles,styles]}render(){if(!this.entity)return html`<div part="base">
|
|
2
2
|
<lr-empty part="empty" heading=${this.localize("noData")}></lr-empty>
|
|
3
3
|
</div>`;const entity=this.entity,c=this.confidence,tabsLabel=hostAriaLabel(this)===null?this.accessibleLabel??nothing:nothing;return html`
|
|
4
4
|
<div part="base">
|
|
@@ -755,6 +755,11 @@ export declare class LyraGraph extends LyraElement<LyraGraphEventMap> {
|
|
|
755
755
|
/** World-space midpoint of a link, offset EDGE_LABEL_OFFSET_PX perpendicular to the segment
|
|
756
756
|
* (horizontal, unrotated text — rotated edge-label text is a readability and RTL hazard). */
|
|
757
757
|
private edgeLabelPosition;
|
|
758
|
+
/** The edge-label font size in used pixels: `--lr-font-size-2xs` resolved against the live root
|
|
759
|
+
* (rem) or own (em) font size through the shared `resolveCssLength()`, so canvas text matches
|
|
760
|
+
* what the same token paints in CSS on a page that isn't at the default 16px root size. A token
|
|
761
|
+
* in a unit that has no used pixel length here (`ch`, `pt`, `calc()`) falls back to
|
|
762
|
+
* DEFAULT_EDGE_LABEL_FONT_PX rather than being measured as raw pixels. */
|
|
758
763
|
private edgeLabelFontPx;
|
|
759
764
|
private edgeLabelContext;
|
|
760
765
|
private edgeLabelWidth;
|