@aceshooting/lyra-ui 13.0.1 → 14.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +329 -0
- package/custom-elements.json +1 -1
- package/dist/cli/migration-contract.json +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +23 -15
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js +9 -6
- package/dist/components/agent-tools/agent-trace/agent-trace.class.d.ts +12 -3
- package/dist/components/agent-tools/agent-trace/agent-trace.class.js +2 -1
- package/dist/components/agent-tools/approval-queue/approval-queue.class.d.ts +4 -2
- package/dist/components/agent-tools/approval-queue/approval-queue.class.js +1 -1
- package/dist/components/agent-tools/artifact-panel/artifact-panel.styles.js +1 -1
- package/dist/components/agent-tools/commit-card/commit-card.class.d.ts +3 -1
- package/dist/components/agent-tools/commit-card/commit-card.class.js +2 -2
- package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts +2 -1
- package/dist/components/agent-tools/compare-panel/compare-panel.styles.js +1 -1
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts +6 -2
- package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +8 -8
- package/dist/components/agent-tools/result-card/result-card.class.d.ts +1 -1
- package/dist/components/agent-tools/result-card/result-card.class.js +1 -1
- package/dist/components/agent-tools/result-card/result-field.class.d.ts +1 -1
- package/dist/components/agent-tools/result-card/result-field.class.js +1 -1
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +5 -5
- package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +23 -10
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.d.ts +13 -6
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +3 -3
- package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +1 -1
- package/dist/components/agent-tools/stack-trace/stack-trace-parse.js +3 -3
- package/dist/components/agent-tools/stack-trace/stack-trace.class.d.ts +1 -1
- package/dist/components/agent-tools/stack-trace/stack-trace.class.js +1 -1
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +1 -1
- package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.js +1 -1
- package/dist/components/agent-tools/task-list/task-list.class.d.ts +1 -2
- package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
- package/dist/components/agent-tools/terminal/terminal.class.d.ts +11 -2
- package/dist/components/agent-tools/terminal/terminal.class.js +5 -5
- package/dist/components/agent-tools/terminal/terminal.styles.js +1 -1
- package/dist/components/agent-tools/test-results/test-results.class.d.ts +4 -2
- package/dist/components/agent-tools/test-results/test-results.class.js +2 -2
- package/dist/components/agent-tools/thinking-panel/thinking-panel.class.d.ts +2 -0
- package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js +1 -1
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +1 -1
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +2 -2
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +3 -2
- package/dist/components/agent-tools/tool-param-form/tool-param-form.d.ts +1 -1
- package/dist/components/agent-tools/tool-param-form/tool-param-form.js +1 -1
- 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 +1 -1
- package/dist/components/agent-tools/tool-result-view/registry.d.ts +2 -1
- package/dist/components/agent-tools/tool-result-view/tool-result-view.class.d.ts +1 -1
- package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js +1 -1
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.d.ts +18 -12
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js +7 -7
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts +9 -3
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +1 -1
- package/dist/components/agent-tools/trace-tree/span.d.ts +3 -1
- package/dist/components/agent-tools/trace-tree/span.js +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +1 -1
- package/dist/components/charts/chart/box-plot.class.d.ts +12 -3
- package/dist/components/charts/chart/box-plot.class.js +9 -9
- package/dist/components/charts/chart/box-plot.styles.js +1 -1
- package/dist/components/charts/chart/chart-core-loader.js +1 -1
- package/dist/components/charts/chart/chart-feature-loader.js +1 -1
- package/dist/components/charts/chart/chart-preload.d.ts +1 -1
- package/dist/components/charts/chart/chart-preload.js +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +33 -10
- package/dist/components/charts/chart/chart.class.js +23 -14
- package/dist/components/charts/chart/chart.styles.js +1 -1
- package/dist/components/charts/chart/histogram-bin.js +1 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts +20 -11
- package/dist/components/charts/chart/lite-chart.class.js +17 -11
- package/dist/components/charts/chart/lite-chart.styles.js +1 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +1 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.class.js +2 -2
- package/dist/components/conversation/audio-visualizer/audio-visualizer.class.d.ts +10 -5
- package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js +1 -1
- package/dist/components/conversation/branch-picker/branch-picker.class.d.ts +4 -2
- package/dist/components/conversation/branch-picker/branch-picker.class.js +1 -1
- package/dist/components/conversation/branch-picker/branch-picker.styles.js +1 -1
- package/dist/components/conversation/chat-composer/chat-composer.class.d.ts +6 -2
- package/dist/components/conversation/chat-composer/chat-composer.class.js +3 -3
- package/dist/components/conversation/chat-composer/chat-composer.styles.js +1 -1
- package/dist/components/conversation/chat-message/chat-message.class.d.ts +4 -3
- package/dist/components/conversation/chat-message/chat-message.class.js +2 -2
- package/dist/components/conversation/chat-message/chat-message.styles.js +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.styles.js +1 -1
- package/dist/components/conversation/code-block/code-block-core.class.d.ts +4 -3
- package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-shared.d.ts +3 -3
- package/dist/components/conversation/code-block/code-block-shared.js +2 -2
- package/dist/components/conversation/code-block/code-block.class.d.ts +4 -3
- package/dist/components/conversation/code-block/code-block.class.js +1 -1
- package/dist/components/conversation/code-block/code-block.styles.js +1 -1
- package/dist/components/conversation/code-block/code-loader.d.ts +1 -1
- package/dist/components/conversation/code-block/code-loader.js +1 -1
- package/dist/components/conversation/code-block/shiki-types.d.ts +2 -0
- package/dist/components/conversation/code-block/shiki-types.js +1 -1
- package/dist/components/conversation/conversation-item/conversation-item.class.js +1 -1
- package/dist/components/conversation/conversation-item/conversation-item.styles.js +1 -1
- package/dist/components/conversation/generation-metrics/generation-metrics.styles.js +1 -1
- package/dist/components/conversation/markdown/katex-loader.d.ts +4 -4
- package/dist/components/conversation/markdown/katex-loader.js +1 -1
- package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
- package/dist/components/conversation/markdown/markdown-core.class.d.ts +1 -1
- package/dist/components/conversation/markdown/markdown-loader.d.ts +1 -1
- package/dist/components/conversation/markdown/markdown-loader.js +1 -1
- package/dist/components/conversation/markdown/markdown-shared.d.ts +6 -1
- package/dist/components/conversation/markdown/markdown-shared.js +5 -4
- package/dist/components/conversation/markdown/markdown.class.d.ts +1 -1
- package/dist/components/conversation/message-actions/message-actions.class.d.ts +18 -3
- package/dist/components/conversation/message-actions/message-actions.class.js +2 -2
- package/dist/components/conversation/message-actions/message-actions.styles.js +1 -1
- package/dist/components/conversation/message-actions/toolbar-actions.d.ts +3 -1
- package/dist/components/conversation/message-actions/toolbar-actions.js +1 -1
- package/dist/components/conversation/message-feedback/message-feedback.class.d.ts +40 -15
- package/dist/components/conversation/message-feedback/message-feedback.class.js +7 -3
- package/dist/components/conversation/message-feedback/message-feedback.styles.js +1 -1
- package/dist/components/conversation/message-parts/message-parts.class.d.ts +10 -4
- package/dist/components/conversation/message-parts/message-parts.class.js +2 -2
- package/dist/components/conversation/message-parts/message-parts.styles.js +1 -1
- package/dist/components/conversation/model-select/model-select.class.d.ts +5 -2
- package/dist/components/conversation/model-select/model-select.class.js +8 -5
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.d.ts +3 -5
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js +2 -1
- package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +9 -2
- package/dist/components/conversation/prompt-input/prompt-input.class.js +3 -3
- package/dist/components/conversation/prompt-input/prompt-input.styles.js +1 -1
- package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts +20 -4
- package/dist/components/conversation/prompt-queue/prompt-queue.class.js +1 -1
- package/dist/components/conversation/prompt-queue/prompt-queue.styles.js +1 -1
- package/dist/components/conversation/push-to-talk/push-to-talk.class.d.ts +17 -8
- package/dist/components/conversation/push-to-talk/push-to-talk.class.js +1 -1
- package/dist/components/conversation/push-to-talk/push-to-talk.styles.js +1 -1
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts +6 -3
- package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +1 -1
- package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.js +1 -1
- package/dist/components/conversation/thread-list/thread-list.class.d.ts +14 -4
- package/dist/components/conversation/thread-list/thread-list.class.js +11 -11
- package/dist/components/conversation/thread-list/thread-list.styles.js +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +2 -0
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +1 -1
- package/dist/components/conversation/typing-indicator/typing-indicator.class.d.ts +2 -1
- package/dist/components/conversation/typing-indicator/typing-indicator.class.js +1 -1
- package/dist/components/conversation/usage-badge/usage-badge-overlay-runtime.d.ts +3 -0
- package/dist/components/conversation/usage-badge/usage-badge-overlay-runtime.js +1 -0
- package/dist/components/conversation/usage-badge/usage-badge.class.d.ts +4 -2
- package/dist/components/conversation/usage-badge/usage-badge.class.js +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +12 -4
- package/dist/components/conversation/voice-picker/voice-picker.class.js +8 -5
- package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
- package/dist/components/conversation/widget-renderer/resolve.d.ts +4 -6
- package/dist/components/conversation/widget-renderer/resolve.js +1 -1
- package/dist/components/data/calendar/calendar.class.d.ts +16 -5
- package/dist/components/data/calendar/calendar.class.js +2 -2
- package/dist/components/data/calendar/calendar.styles.js +1 -1
- package/dist/components/data/condition-builder/condition-builder.class.d.ts +3 -1
- package/dist/components/data/condition-builder/condition-builder.class.js +15 -1
- package/dist/components/data/context-meter/context-meter.class.d.ts +3 -1
- package/dist/components/data/context-meter/context-meter.class.js +4 -4
- package/dist/components/data/data-grid/data-grid.class.d.ts +51 -6
- package/dist/components/data/data-grid/data-grid.class.js +25 -11
- package/dist/components/data/data-grid/data-grid.styles.js +1 -1
- package/dist/components/data/document-library/document-library.class.d.ts +5 -2
- package/dist/components/data/document-library/document-library.class.js +1 -1
- package/dist/components/data/env-list/env-list.class.js +1 -1
- package/dist/components/data/file-tree/file-tree.class.d.ts +2 -1
- package/dist/components/data/file-tree/file-tree.class.js +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +24 -14
- package/dist/components/data/flow-canvas/flow-canvas.class.js +1 -2
- package/dist/components/data/flow-canvas/flow-canvas.styles.js +1 -1
- package/dist/components/data/flow-canvas/flow-model.js +1 -1
- package/dist/components/data/flow-canvas/flow-types.d.ts +2 -1
- package/dist/components/data/flow-controls/flow-controls.styles.js +1 -1
- package/dist/components/data/flow-run-status/flow-run-status.class.js +1 -1
- package/dist/components/data/funnel/funnel.class.d.ts +1 -0
- package/dist/components/data/funnel/funnel.class.js +1 -1
- package/dist/components/data/gauge/gauge.class.d.ts +4 -1
- package/dist/components/data/gauge/gauge.class.js +6 -6
- package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +5 -2
- package/dist/components/data/graph-query-builder/graph-query-builder.class.js +15 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.styles.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +7 -4
- package/dist/components/data/heatmap/heatmap.class.js +1 -1
- package/dist/components/data/sequence-strip/sequence-strip.class.js +1 -1
- package/dist/components/data/sparkline/sparkline.class.d.ts +2 -1
- package/dist/components/data/sparkline/sparkline.class.js +1 -1
- package/dist/components/data/stat/stat.class.d.ts +6 -2
- package/dist/components/data/stat/stat.class.js +1 -1
- package/dist/components/data/table/table.class.d.ts +15 -16
- package/dist/components/data/table/table.class.js +5 -4
- package/dist/components/data/table/table.styles.js +1 -1
- package/dist/components/data/timeline/timeline.class.d.ts +7 -2
- package/dist/components/data/timeline/timeline.class.js +1 -1
- package/dist/components/data/timeline/timeline.styles.js +1 -1
- package/dist/components/data/tree/tree-item.class.d.ts +3 -1
- package/dist/components/data/tree/tree-item.class.js +1 -1
- package/dist/components/data/tree/tree-item.styles.js +1 -1
- package/dist/components/data/tree/tree.class.d.ts +4 -1
- package/dist/components/data/tree/tree.class.js +1 -1
- package/dist/components/data/word-cloud/word-cloud-layout.d.ts +2 -1
- package/dist/components/data/word-cloud/word-cloud-layout.js +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.d.ts +2 -1
- package/dist/components/data/word-cloud/word-cloud.class.js +1 -1
- package/dist/components/forms/button/button.class.d.ts +5 -3
- package/dist/components/forms/button/button.class.js +1 -1
- 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-group/checkbox-group.class.d.ts +7 -2
- package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
- package/dist/components/forms/code-editor/code-editor.class.d.ts +16 -4
- package/dist/components/forms/code-editor/code-editor.class.js +19 -9
- package/dist/components/forms/code-editor/code-editor.styles.js +1 -1
- package/dist/components/forms/color-picker/color-picker.class.d.ts +6 -2
- package/dist/components/forms/color-picker/color-picker.class.js +4 -4
- package/dist/components/forms/combobox/combobox.class.d.ts +19 -8
- package/dist/components/forms/combobox/combobox.class.js +3 -3
- package/dist/components/forms/combobox/combobox.styles.js +1 -1
- package/dist/components/forms/combobox/option.class.d.ts +4 -0
- package/dist/components/forms/combobox/option.class.js +2 -2
- package/dist/components/forms/date-picker/calendar-core.d.ts +1 -1
- package/dist/components/forms/date-picker/calendar-core.js +1 -1
- package/dist/components/forms/date-picker/date-input.class.d.ts +20 -10
- package/dist/components/forms/date-picker/date-input.class.js +4 -4
- package/dist/components/forms/date-picker/date-picker.class.d.ts +33 -15
- package/dist/components/forms/date-picker/date-picker.class.js +8 -8
- package/dist/components/forms/date-picker/date-picker.styles.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +11 -3
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +3 -3
- package/dist/components/forms/emoji-picker/emoji-types.d.ts +2 -2
- package/dist/components/forms/icon-button/icon-button.class.d.ts +4 -2
- package/dist/components/forms/icon-button/icon-button.class.js +1 -1
- package/dist/components/forms/input/input.class.d.ts +16 -5
- package/dist/components/forms/input/input.class.js +7 -1
- package/dist/components/forms/input/native-time-input.class.d.ts +3 -0
- package/dist/components/forms/input/number-input.class.d.ts +3 -0
- package/dist/components/forms/input/time-input.class.d.ts +11 -2
- package/dist/components/forms/input/time-input.class.js +2 -2
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +22 -4
- package/dist/components/forms/locale-picker/locale-picker.class.js +2 -2
- package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
- package/dist/components/forms/otp-input/otp-input.class.d.ts +5 -1
- package/dist/components/forms/otp-input/otp-input.class.js +1 -1
- package/dist/components/forms/phone-input/phone-input.class.d.ts +21 -8
- package/dist/components/forms/phone-input/phone-input.class.js +1 -1
- package/dist/components/forms/radio/radio-button.class.d.ts +4 -0
- package/dist/components/forms/radio/radio-group.class.d.ts +4 -1
- package/dist/components/forms/radio/radio-group.class.js +1 -1
- package/dist/components/forms/radio/radio.class.d.ts +6 -2
- package/dist/components/forms/radio/radio.class.js +1 -1
- package/dist/components/forms/rubric-form/rubric-form.class.d.ts +7 -1
- package/dist/components/forms/rubric-form/rubric-form.class.js +3 -3
- package/dist/components/forms/select/select.class.d.ts +8 -2
- package/dist/components/forms/select/select.class.js +2 -2
- package/dist/components/forms/select/select.styles.js +1 -1
- package/dist/components/forms/slider/slider.class.d.ts +12 -6
- package/dist/components/forms/slider/slider.class.js +2 -2
- package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +4 -0
- package/dist/components/forms/swatch-picker/swatch-picker.class.js +1 -1
- package/dist/components/forms/switch/switch.class.d.ts +5 -1
- package/dist/components/forms/switch/switch.class.js +1 -1
- package/dist/components/forms/textarea/textarea.class.d.ts +3 -0
- package/dist/components/forms/textarea/textarea.class.js +1 -1
- package/dist/components/forms/time-range/time-range.class.d.ts +3 -0
- package/dist/components/forms/time-range/time-range.class.js +1 -1
- package/dist/components/forms/token-input/token-input.class.d.ts +8 -2
- package/dist/components/forms/token-input/token-input.class.js +2 -2
- package/dist/components/forms/token-input/token-input.styles.js +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +9 -5
- package/dist/components/layout/app-rail/app-rail.class.js +4 -3
- package/dist/components/layout/app-rail/app-rail.styles.js +1 -1
- package/dist/components/layout/carousel/carousel.class.d.ts +3 -2
- package/dist/components/layout/carousel/carousel.class.js +1 -1
- package/dist/components/layout/command-palette/command-palette.class.d.ts +2 -2
- package/dist/components/layout/command-palette/command-palette.class.js +1 -1
- package/dist/components/layout/command-palette/command-palette.styles.js +1 -1
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts +2 -0
- package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +1 -1
- package/dist/components/layout/details/details.class.d.ts +16 -15
- package/dist/components/layout/details/details.class.js +43 -34
- package/dist/components/layout/details/details.styles.js +1 -1
- package/dist/components/layout/dock-panel/dock-panel.class.d.ts +4 -3
- package/dist/components/layout/dock-panel/dock-panel.class.js +2 -1
- package/dist/components/layout/filter-bar/filter-bar.class.d.ts +3 -1
- package/dist/components/layout/filter-bar/filter-bar.class.js +2 -2
- package/dist/components/layout/menu/menu-item.class.js +2 -2
- package/dist/components/layout/menu/menu-label.class.d.ts +3 -3
- package/dist/components/layout/menu/menu.class.d.ts +4 -1
- package/dist/components/layout/menu/menu.class.js +1 -1
- package/dist/components/layout/multi-split/multi-split.class.d.ts +19 -8
- package/dist/components/layout/multi-split/multi-split.class.js +2 -1
- package/dist/components/layout/multi-split/multi-split.styles.js +1 -1
- package/dist/components/layout/reorder-list/reorder-item.class.d.ts +2 -1
- package/dist/components/layout/reorder-list/reorder-item.class.js +1 -1
- package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
- package/dist/components/layout/reorder-list/reorder-owner.js +1 -1
- package/dist/components/layout/scroller/scroller.class.d.ts +4 -4
- package/dist/components/layout/scroller/scroller.styles.js +1 -1
- package/dist/components/layout/split-panel/split-panel.class.d.ts +5 -3
- package/dist/components/layout/split-panel/split-panel.class.js +3 -2
- package/dist/components/layout/tab-group/tab-group.class.d.ts +3 -1
- package/dist/components/layout/tab-group/tab-group.class.js +1 -1
- package/dist/components/layout/tab-group/tab-group.styles.js +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.js +2 -2
- package/dist/components/layout/widget/widget.class.d.ts +6 -2
- package/dist/components/layout/widget/widget.class.js +1 -1
- package/dist/components/layout/widget/widget.styles.js +1 -1
- package/dist/components/media/animation/animation.class.d.ts +3 -2
- package/dist/components/media/animation/animation.class.js +1 -1
- package/dist/components/media/attachment-chip/attachment-chip.class.d.ts +4 -3
- package/dist/components/media/attachment-chip/attachment-chip.class.js +1 -1
- package/dist/components/media/av-player/av-metadata.d.ts +3 -2
- package/dist/components/media/av-player/av-player.class.d.ts +4 -3
- package/dist/components/media/av-player/av-player.class.js +3 -3
- package/dist/components/media/av-player/av-player.styles.js +1 -1
- package/dist/components/media/avatar/avatar.class.d.ts +2 -1
- package/dist/components/media/avatar/avatar.class.js +1 -1
- package/dist/components/media/file-input/file-input.class.d.ts +4 -2
- package/dist/components/media/file-input/file-input.class.js +1 -1
- package/dist/components/media/file-input/file-input.styles.js +1 -1
- package/dist/components/media/flag/flag.class.js +1 -1
- package/dist/components/media/image-viewer/image-viewer.class.d.ts +2 -1
- package/dist/components/media/image-viewer/image-viewer.class.js +1 -1
- package/dist/components/media/image-viewer/image-viewer.styles.js +1 -1
- package/dist/components/media/lightbox/lightbox.styles.js +1 -1
- package/dist/components/media/map/map-loader.js +1 -1
- package/dist/components/media/map/map.class.d.ts +22 -34
- package/dist/components/media/map/map.class.js +1 -1
- package/dist/components/media/map/map.styles.js +1 -1
- package/dist/components/media/media-card/media-card.class.d.ts +1 -1
- package/dist/components/media/media-card/media-card.class.js +1 -1
- package/dist/components/media/pan-zoom/pan-zoom.class.js +1 -1
- package/dist/components/media/qr-code/qr-code-loader.js +1 -1
- package/dist/components/media/qr-code/qr-code.class.d.ts +5 -2
- package/dist/components/media/qr-code/qr-code.class.js +2 -2
- package/dist/components/media/sequence-playback/sequence-playback.class.d.ts +3 -3
- package/dist/components/media/sequence-playback/sequence-playback.class.js +1 -1
- package/dist/components/media/sequence-playback/sequence-playback.styles.js +1 -1
- package/dist/components/media/video/video.class.d.ts +2 -1
- package/dist/components/media/video/video.styles.js +1 -1
- 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/overlays/alert/alert.styles.js +1 -1
- package/dist/components/overlays/callout/callout.styles.js +1 -1
- package/dist/components/overlays/chip/chip-group.class.d.ts +2 -0
- package/dist/components/overlays/chip/chip-group.class.js +1 -1
- package/dist/components/overlays/dialog/dialog.class.d.ts +2 -0
- package/dist/components/overlays/dialog/dialog.class.js +1 -1
- package/dist/components/overlays/dialog/dialog.styles.js +1 -1
- package/dist/components/overlays/empty/empty.class.d.ts +2 -0
- package/dist/components/overlays/empty/empty.class.js +1 -1
- package/dist/components/overlays/kbd/kbd.class.d.ts +2 -0
- package/dist/components/overlays/kbd/kbd.class.js +1 -1
- package/dist/components/overlays/overlay/popover.class.d.ts +3 -1
- package/dist/components/overlays/overlay/popover.class.js +1 -1
- package/dist/components/overlays/overlay/tooltip.class.d.ts +3 -1
- package/dist/components/overlays/overlay/tooltip.class.js +1 -1
- package/dist/components/overlays/rating/rating.class.d.ts +2 -0
- package/dist/components/overlays/rating/rating.class.js +1 -1
- package/dist/components/overlays/toast/toast-item.class.js +1 -1
- package/dist/components/retrieval/claim-evidence/claim-evidence.class.d.ts +11 -5
- package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +3 -3
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +2 -2
- package/dist/components/retrieval/entity-card/entity-card.class.d.ts +5 -2
- package/dist/components/retrieval/entity-card/entity-card.class.js +1 -1
- package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +4 -2
- package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -1
- package/dist/components/retrieval/graph/graph-canvas.js +1 -1
- package/dist/components/retrieval/graph/graph-loader.js +1 -1
- package/dist/components/retrieval/graph/graph.class.d.ts +10 -8
- package/dist/components/retrieval/graph/graph.class.js +10 -10
- package/dist/components/retrieval/graph-legend/graph-legend.class.d.ts +4 -2
- package/dist/components/retrieval/graph-legend/graph-legend.class.js +1 -1
- package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +15 -9
- package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +7 -5
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +2 -0
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +1 -1
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +3 -2
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +4 -3
- package/dist/components/retrieval/knowledge-base/knowledge-base.styles.js +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +7 -3
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +8 -3
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +1 -1
- package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +15 -6
- package/dist/components/retrieval/memory-panel/memory-panel.class.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +1 -1
- package/dist/components/retrieval/node-palette/node-palette.class.d.ts +17 -12
- package/dist/components/retrieval/node-palette/node-palette.class.js +2 -2
- package/dist/components/retrieval/node-palette/node-palette.styles.js +1 -1
- package/dist/components/retrieval/path-strip/path-strip.class.js +1 -1
- package/dist/components/retrieval/provenance-panel/provenance-panel.class.d.ts +2 -1
- package/dist/components/retrieval/provenance-panel/provenance-panel.class.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +5 -5
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +1 -1
- package/dist/components/retrieval/source-picker/source-picker.class.d.ts +2 -1
- package/dist/components/retrieval/source-picker/source-picker.class.js +2 -2
- package/dist/components/utility/copy-button/copy-button.class.d.ts +2 -1
- package/dist/components/utility/copy-button/copy-button.class.js +1 -1
- package/dist/components/utility/diff-view/diff-view.class.d.ts +4 -1
- package/dist/components/utility/diff-view/diff-view.class.js +1 -1
- package/dist/components/utility/export-button/export-button.class.d.ts +2 -2
- package/dist/components/utility/export-button/export-button.class.js +1 -1
- package/dist/components/utility/export-button/export-button.styles.js +1 -1
- package/dist/components/utility/format/format-date.class.js +1 -1
- package/dist/components/utility/format/format-number.class.d.ts +3 -1
- package/dist/components/utility/format/format-options.js +1 -1
- package/dist/components/utility/format/relative-time.class.js +1 -1
- package/dist/components/utility/icon/dompurify-loader.js +1 -1
- package/dist/components/utility/icon/icon-library.js +1 -1
- package/dist/components/utility/intersection-observer/intersection-observer.class.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.class.d.ts +6 -3
- package/dist/components/utility/json-viewer/json-viewer.class.js +5 -5
- package/dist/components/utility/known-date/known-date.class.d.ts +9 -5
- package/dist/components/utility/known-date/known-date.class.js +2 -2
- package/dist/components/utility/known-date/known-date.styles.js +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.d.ts +32 -45
- package/dist/components/utility/mention-popover/mention-popover.class.js +1 -1
- package/dist/components/utility/mutation-observer/mutation-observer.class.js +1 -1
- package/dist/components/utility/poll-status/poll-status.class.d.ts +3 -0
- package/dist/components/utility/poll-status/poll-status.styles.js +1 -1
- package/dist/components/viewers/calendar-viewer/calendar-loader.js +1 -1
- package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts +1 -0
- package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +2 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +1 -1
- package/dist/components/viewers/document-compare/document-compare.class.d.ts +11 -8
- package/dist/components/viewers/document-compare/document-compare.class.js +2 -2
- package/dist/components/viewers/document-preview/document-preview.class.d.ts +8 -4
- package/dist/components/viewers/document-preview/document-preview.class.js +4 -4
- package/dist/components/viewers/document-preview/document-preview.styles.js +1 -1
- package/dist/components/viewers/document-viewer/document-viewer.class.d.ts +5 -2
- package/dist/components/viewers/document-viewer/document-viewer.class.js +2 -2
- package/dist/components/viewers/document-viewer/document-viewer.styles.js +1 -1
- package/dist/components/viewers/document-viewer/registry-ownership.d.ts +1 -0
- package/dist/components/viewers/document-viewer/registry-ownership.js +1 -0
- package/dist/components/viewers/document-viewer/registry.js +1 -1
- package/dist/components/viewers/docx-viewer/docx-loader.js +1 -1
- package/dist/components/viewers/docx-viewer/docx-viewer.class.js +1 -1
- package/dist/components/viewers/ebook-viewer/ebook-loader.d.ts +1 -1
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts +8 -2
- package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +1 -1
- package/dist/components/viewers/email-viewer/email-loader.js +1 -1
- package/dist/components/viewers/email-viewer/email-viewer.class.d.ts +3 -2
- package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -2
- package/dist/components/viewers/html-viewer/dompurify-loader.js +1 -1
- package/dist/components/viewers/include/include-resource.js +1 -1
- package/dist/components/viewers/include/include.class.d.ts +3 -1
- package/dist/components/viewers/notebook-viewer/dompurify-loader.js +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts +4 -2
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +4 -4
- package/dist/components/viewers/notebook-viewer/notebook-viewer.styles.js +1 -1
- package/dist/components/viewers/passive-markup.js +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-loader.js +1 -1
- package/dist/components/viewers/pptx-viewer/pptx-loader.js +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-loader.js +1 -1
- package/dist/components/viewers/svg-viewer/dompurify-loader.js +1 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts +2 -1
- package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +1 -1
- package/dist/components/viewers/viewer-loading.js +1 -1
- package/dist/components/viewers/viewer-search-limits.d.ts +2 -0
- package/dist/components/viewers/viewer-search-limits.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +2 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.js +1 -1
- package/dist/custom-elements-jsx.d.ts +1 -1
- package/dist/events.d.ts +13 -6
- package/dist/internal/aria-controls.d.ts +16 -13
- package/dist/internal/aria-controls.js +1 -1
- package/dist/internal/aria-reflection.js +1 -1
- package/dist/internal/catalog-picker.d.ts +2 -2
- package/dist/internal/catalog-picker.js +1 -1
- package/dist/internal/chart-annotation-registration.d.ts +1 -0
- package/dist/internal/chart-annotation-registration.js +1 -0
- package/dist/internal/data-descriptors.d.ts +13 -0
- package/dist/internal/data-descriptors.js +1 -0
- package/dist/internal/default-strings.generated.d.ts +1 -1
- package/dist/internal/default-strings.generated.js +2 -2
- package/dist/internal/dev-mode-attribute-warning.d.ts +3 -0
- package/dist/internal/dev-mode-attribute-warning.js +1 -1
- package/dist/internal/element-internals.d.ts +4 -3
- package/dist/internal/element-internals.js +1 -1
- package/dist/internal/form-associated.js +1 -1
- package/dist/internal/highlight-collection.d.ts +2 -0
- package/dist/internal/highlight-collection.js +1 -1
- package/dist/internal/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +2 -2
- package/dist/internal/lyra-element.d.ts +10 -1
- package/dist/internal/lyra-element.js +2 -1
- package/dist/internal/native-control-description.d.ts +7 -0
- package/dist/internal/native-control-description.js +1 -0
- package/dist/internal/option-selection.js +1 -1
- package/dist/internal/overlay-order.d.ts +6 -0
- package/dist/internal/overlay-order.js +1 -0
- package/dist/internal/overlay-stack.d.ts +1 -1
- package/dist/internal/overlay-stack.js +1 -1
- package/dist/internal/package-metadata.d.ts +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/papaparse-loader.js +1 -1
- package/dist/internal/positioner.d.ts +5 -4
- package/dist/internal/pseudo-localization.js +1 -1
- package/dist/internal/reactive-property-writes.d.ts +1 -0
- package/dist/internal/reactive-property-writes.js +1 -0
- package/dist/internal/safe-css.js +1 -1
- package/dist/internal/step-value.d.ts +6 -0
- package/dist/internal/step-value.js +1 -0
- package/dist/internal/svg-title.d.ts +3 -0
- package/dist/internal/svg-title.js +1 -0
- package/dist/internal/text-quote.js +1 -1
- package/dist/lyra.d.ts +1 -1
- package/dist/svelte.d.ts +1 -1
- package/dist/translations/ar.js +2 -2
- package/dist/translations/de.js +2 -2
- package/dist/translations/es.js +2 -2
- package/dist/translations/fa.js +2 -2
- package/dist/translations/fr.js +2 -2
- package/dist/translations/he.js +2 -2
- package/dist/translations/ja.js +2 -2
- package/dist/translations/pseudo/ar-XB.js +1 -1
- package/dist/translations/pt-BR.js +2 -2
- package/dist/translations/ru.js +2 -2
- package/dist/translations/zh-CN.js +2 -2
- package/dist/vue.d.ts +1 -1
- package/llms/components/lr-accordion-item.md +10 -5
- package/llms/components/lr-accordion.md +10 -5
- package/llms/components/lr-activity-feed.md +6 -5
- package/llms/components/lr-agent-run.md +1 -1
- package/llms/components/lr-agent-trace.md +3 -0
- package/llms/components/lr-agent-workspace.md +3 -2
- package/llms/components/lr-animation.md +4 -0
- package/llms/components/lr-app-rail-item.md +4 -2
- package/llms/components/lr-app-rail.md +4 -2
- package/llms/components/lr-attachment-chip.md +8 -3
- package/llms/components/lr-audio-visualizer.md +9 -6
- package/llms/components/lr-av-player.md +14 -0
- package/llms/components/lr-avatar.md +4 -0
- package/llms/components/lr-bar-chart.md +2 -2
- package/llms/components/lr-box-plot.md +15 -6
- package/llms/components/lr-bubble-chart.md +2 -2
- package/llms/components/lr-button.md +11 -3
- package/llms/components/lr-calendar-viewer.md +4 -0
- package/llms/components/lr-calendar.md +15 -4
- package/llms/components/lr-carousel.md +5 -0
- package/llms/components/lr-chart.md +24 -9
- package/llms/components/lr-chat-composer.md +2 -1
- package/llms/components/lr-chat-message.md +4 -0
- package/llms/components/lr-checkbox.md +3 -0
- package/llms/components/lr-chip-group.md +3 -0
- package/llms/components/lr-chip.md +3 -0
- package/llms/components/lr-chunk-inspector.md +2 -2
- package/llms/components/lr-code-block-core.md +20 -8
- package/llms/components/lr-code-block.md +17 -14
- package/llms/components/lr-code-editor.md +20 -5
- package/llms/components/lr-color-picker.md +9 -0
- package/llms/components/lr-combobox.md +35 -4
- package/llms/components/lr-command-palette.md +4 -0
- package/llms/components/lr-commit-card.md +3 -0
- package/llms/components/lr-compare-panel.md +7 -0
- package/llms/components/lr-condition-builder.md +5 -0
- package/llms/components/lr-conversation-item.md +3 -0
- package/llms/components/lr-copy-button.md +10 -1
- package/llms/components/lr-dashboard-grid.md +5 -0
- package/llms/components/lr-data-grid.md +22 -3
- package/llms/components/lr-dataset-viewer.md +3 -2
- package/llms/components/lr-date-input.md +50 -6
- package/llms/components/lr-date-picker.md +51 -7
- package/llms/components/lr-details.md +10 -5
- package/llms/components/lr-dialog.md +4 -0
- package/llms/components/lr-diff-view.md +6 -0
- package/llms/components/lr-document-compare.md +6 -2
- package/llms/components/lr-document-library.md +4 -0
- package/llms/components/lr-document-preview.md +18 -4
- package/llms/components/lr-document-viewer.md +14 -4
- package/llms/components/lr-docx-viewer.md +6 -0
- package/llms/components/lr-doughnut-chart.md +2 -2
- package/llms/components/lr-dropdown-item.md +4 -0
- package/llms/components/lr-dropdown.md +3 -0
- package/llms/components/lr-ebook-viewer.md +12 -3
- package/llms/components/lr-email-viewer.md +10 -0
- package/llms/components/lr-emoji-picker.md +17 -3
- package/llms/components/lr-empty.md +3 -0
- package/llms/components/lr-entity-card.md +3 -0
- package/llms/components/lr-entity-chip.md +4 -0
- package/llms/components/lr-eval-dataset.md +2 -2
- package/llms/components/lr-export-button.md +9 -0
- package/llms/components/lr-file-input.md +12 -8
- package/llms/components/lr-file-tree.md +5 -1
- package/llms/components/lr-filter-bar.md +5 -0
- package/llms/components/lr-flow-canvas.md +8 -1
- package/llms/components/lr-flow-node.md +2 -1
- package/llms/components/lr-flow-run-status.md +1 -1
- package/llms/components/lr-format-date.md +3 -1
- package/llms/components/lr-format-number.md +4 -0
- package/llms/components/lr-funnel.md +4 -0
- package/llms/components/lr-gauge.md +4 -0
- package/llms/components/lr-generation-metrics.md +5 -0
- package/llms/components/lr-graph-legend.md +4 -2
- package/llms/components/lr-graph-query-builder.md +6 -0
- package/llms/components/lr-graph.md +8 -2
- package/llms/components/lr-grounding-summary.md +8 -8
- package/llms/components/lr-heatmap.md +13 -0
- package/llms/components/lr-histogram.md +2 -2
- package/llms/components/lr-icon-button.md +7 -0
- package/llms/components/lr-image-viewer.md +9 -0
- package/llms/components/lr-include.md +5 -0
- package/llms/components/lr-ingestion-queue.md +5 -1
- package/llms/components/lr-input.md +22 -8
- package/llms/components/lr-intersection-observer.md +9 -0
- package/llms/components/lr-json-viewer.md +10 -1
- package/llms/components/lr-kbd.md +3 -0
- package/llms/components/lr-knowledge-base.md +10 -1
- package/llms/components/lr-knowledge-graph-explorer.md +7 -0
- package/llms/components/lr-known-date.md +7 -0
- package/llms/components/lr-line-chart.md +2 -2
- package/llms/components/lr-lite-chart.md +29 -9
- package/llms/components/lr-live-region.md +3 -0
- package/llms/components/lr-locale-picker.md +12 -0
- package/llms/components/lr-map.md +23 -5
- package/llms/components/lr-markdown-core.md +4 -0
- package/llms/components/lr-markdown.md +15 -8
- package/llms/components/lr-media-card.md +5 -8
- package/llms/components/lr-mention-popover.md +17 -10
- package/llms/components/lr-menu-item.md +4 -0
- package/llms/components/lr-menu-label.md +4 -3
- package/llms/components/lr-menu.md +4 -0
- package/llms/components/lr-message-actions.md +13 -3
- package/llms/components/lr-message-feedback.md +24 -7
- package/llms/components/lr-message-parts.md +6 -3
- package/llms/components/lr-model-select.md +13 -2
- package/llms/components/lr-multi-split.md +20 -7
- package/llms/components/lr-mutation-observer.md +8 -0
- package/llms/components/lr-native-time-input.md +10 -0
- package/llms/components/lr-node-palette.md +8 -2
- package/llms/components/lr-notebook-viewer.md +4 -1
- package/llms/components/lr-number-input.md +12 -1
- package/llms/components/lr-option.md +35 -4
- package/llms/components/lr-otp-input.md +10 -0
- package/llms/components/lr-pan-zoom.md +1 -2
- package/llms/components/lr-phone-input.md +20 -5
- package/llms/components/lr-pie-chart.md +2 -2
- package/llms/components/lr-polar-area-chart.md +2 -2
- package/llms/components/lr-poll-status.md +4 -0
- package/llms/components/lr-popover.md +3 -0
- package/llms/components/lr-popup.md +3 -2
- package/llms/components/lr-prompt-input.md +7 -3
- package/llms/components/lr-prompt-queue.md +6 -0
- package/llms/components/lr-prompt-studio.md +7 -0
- package/llms/components/lr-provenance-panel.md +3 -0
- package/llms/components/lr-push-to-talk.md +8 -0
- package/llms/components/lr-qr-code.md +6 -0
- package/llms/components/lr-radar-chart.md +2 -2
- package/llms/components/lr-radio-button.md +13 -4
- package/llms/components/lr-radio-group.md +5 -0
- package/llms/components/lr-radio.md +9 -0
- package/llms/components/lr-rating.md +8 -0
- package/llms/components/lr-relative-time.md +2 -0
- package/llms/components/lr-reorder-item.md +6 -0
- package/llms/components/lr-reorder-list.md +6 -0
- package/llms/components/lr-result-card.md +6 -3
- package/llms/components/lr-result-field.md +6 -3
- package/llms/components/lr-retrieval-results.md +1 -1
- package/llms/components/lr-rubric-form.md +12 -0
- package/llms/components/lr-scatter-chart.md +2 -2
- package/llms/components/lr-scroller.md +5 -5
- package/llms/components/lr-select.md +9 -0
- package/llms/components/lr-sequence-playback.md +5 -2
- package/llms/components/lr-slider.md +19 -5
- package/llms/components/lr-source-picker.md +4 -0
- package/llms/components/lr-span-waterfall.md +3 -0
- package/llms/components/lr-sparkline.md +4 -0
- package/llms/components/lr-split-panel.md +4 -0
- package/llms/components/lr-stack-trace.md +3 -0
- package/llms/components/lr-stat.md +10 -0
- package/llms/components/lr-streaming-text.md +2 -3
- package/llms/components/lr-subagent-panel.md +3 -2
- package/llms/components/lr-svg-viewer.md +3 -0
- package/llms/components/lr-swatch-picker.md +4 -0
- package/llms/components/lr-switch.md +6 -0
- package/llms/components/lr-tab-group.md +4 -0
- package/llms/components/lr-table.md +10 -2
- package/llms/components/lr-terminal.md +17 -5
- package/llms/components/lr-textarea.md +9 -0
- package/llms/components/lr-thinking-panel.md +3 -1
- package/llms/components/lr-thread-list.md +26 -4
- package/llms/components/lr-time-input.md +3 -0
- package/llms/components/lr-time-range.md +5 -0
- package/llms/components/lr-timeline-item.md +6 -0
- package/llms/components/lr-timeline.md +6 -0
- package/llms/components/lr-token-input.md +14 -0
- package/llms/components/lr-tool-call-chip.md +7 -5
- package/llms/components/lr-tool-param-form.md +6 -2
- package/llms/components/lr-tool-result-dialog.md +4 -0
- package/llms/components/lr-tool-result-view.md +2 -3
- package/llms/components/lr-tool-select-dialog.md +6 -2
- package/llms/components/lr-tooltip.md +6 -0
- package/llms/components/lr-trace-tree.md +3 -0
- package/llms/components/lr-transcript-feed.md +3 -0
- package/llms/components/lr-tree-item.md +12 -5
- package/llms/components/lr-tree.md +12 -5
- package/llms/components/lr-typing-indicator.md +3 -0
- package/llms/components/lr-usage-badge.md +4 -0
- package/llms/components/lr-video.md +8 -2
- package/llms/components/lr-virtual-list.md +5 -3
- package/llms/components/lr-voice-picker.md +15 -2
- package/llms/components/lr-widget-renderer.md +21 -13
- package/llms/components/lr-widget.md +4 -2
- package/llms/components/lr-word-cloud.md +4 -0
- package/llms/components/lr-xml-viewer.md +9 -2
- package/llms/components/lr-zoomable-frame.md +6 -3
- package/llms/peers.md +5 -5
- package/llms/shared.md +74 -63
- package/llms-full.txt +4705 -2954
- package/package.json +19 -14
- package/vscode-css-data.json +1 -1
- package/vscode-html-data.json +1 -1
- package/web-types.json +1 -1
- package/dist/components/viewers/docx-viewer/fixtures/minimal-docx-fixture.d.ts +0 -1
- package/dist/components/viewers/docx-viewer/fixtures/minimal-docx-fixture.js +0 -1
- package/dist/components/viewers/ebook-viewer/fixtures/minimal-epub-fixture.d.ts +0 -1
- package/dist/components/viewers/ebook-viewer/fixtures/minimal-epub-fixture.js +0 -1
- package/dist/components/viewers/spreadsheet-viewer/fixtures/minimal-xlsx-fixture.d.ts +0 -1
- package/dist/components/viewers/spreadsheet-viewer/fixtures/minimal-xlsx-fixture.js +0 -1
|
@@ -23,8 +23,9 @@ export type ActivityFeedMode=LyraTranscriptMode;export interface ActivityFeedTog
|
|
|
23
23
|
* first occurrence wins.
|
|
24
24
|
*
|
|
25
25
|
* Each entry's `text` renders as plain text by default; a host needing richer per-entry content
|
|
26
|
-
* (rendered markdown, a trailing tool-call chip list, etc.) sets `renderText` to
|
|
27
|
-
* identically whether or not the feed
|
|
26
|
+
* (rendered markdown, a trailing tool-call chip list, etc.) sets `renderText` to replace the
|
|
27
|
+
* default text inside the stable `entry-text` styling wrapper, identically whether or not the feed
|
|
28
|
+
* is currently virtualized.
|
|
28
29
|
*
|
|
29
30
|
* Public collection properties take bounded, clone-owned readonly snapshots. Create a new
|
|
30
31
|
* collection and reassign it after changes; mutating the assigned array does not update the view.
|
|
@@ -54,8 +55,8 @@ export type ActivityFeedMode=LyraTranscriptMode;export interface ActivityFeedTog
|
|
|
54
55
|
* @csspart variant-dot-success - A `success`-variant entry's dot (also carries `variant-dot`).
|
|
55
56
|
* @csspart variant-dot-warning - A `warning`-variant entry's dot (also carries `variant-dot`).
|
|
56
57
|
* @csspart variant-dot-danger - A `danger`-variant entry's dot (also carries `variant-dot`).
|
|
57
|
-
* @csspart entry-text - The entry's
|
|
58
|
-
* content
|
|
58
|
+
* @csspart entry-text - The entry's text styling wrapper. `renderText`, when set, supplies rich
|
|
59
|
+
* content inside this stable part instead of replacing the part itself.
|
|
59
60
|
* @csspart entry-timestamp - The formatted timestamp, only rendered while `showTimestamps` and a
|
|
60
61
|
* valid `timestamp` is set.
|
|
61
62
|
* @cssprop [--lr-activity-feed-max-height=16rem] - Cap on how tall the expanded body grows
|
|
@@ -80,28 +81,35 @@ follow:boolean;
|
|
|
80
81
|
* collapsed sets `mode="post-hoc"` and `expanded=false` together. */
|
|
81
82
|
expanded:boolean;
|
|
82
83
|
/** Optional header-text override. Omission localizes `activityFeedLabel`; any supplied string,
|
|
83
|
-
* including `'Activity'` or `''`, is rendered verbatim.
|
|
84
|
-
*
|
|
85
|
-
* header text. */
|
|
84
|
+
* including `'Activity'` or `''`, is rendered verbatim. The semantic list uses an authored host
|
|
85
|
+
* `aria-label` when present (including an explicit empty value), otherwise its localized
|
|
86
|
+
* `activityFeedLabel` fallback, while this remains the visible header text. */
|
|
86
87
|
label?:string;
|
|
87
88
|
/** Trailing `<time datetime>` per entry, default `hour:minute` in `effectiveLocale`. */
|
|
88
89
|
showTimestamps:boolean;
|
|
89
90
|
/** Overrides the default `hour:minute` rendering of every entry's `timestamp`. */
|
|
90
91
|
formatTimestamp?:(date:Date)=>string;
|
|
91
|
-
/** Overrides the default plain
|
|
92
|
-
*
|
|
93
|
-
* `<lr-tool-call-chip>`s)
|
|
94
|
-
*
|
|
95
|
-
* formatting. Applies identically whether or not the feed is currently virtualized, since both
|
|
96
|
-
* paths render every entry through the same internal template. */
|
|
92
|
+
/** Overrides the default plain text inside every `[part="entry-text"]` wrapper with an arbitrary
|
|
93
|
+
* `TemplateResult` (e.g. rendered markdown, or markdown plus a trailing list of
|
|
94
|
+
* `<lr-tool-call-chip>`s). The stable wrapper remains available for styling in both rendering
|
|
95
|
+
* paths, since both render every entry through the same internal template. */
|
|
97
96
|
renderText?:(entry:ActivityEntry)=>TemplateResult;
|
|
98
97
|
/** At/above this entry count, the body renders through an internal `<lr-virtual-list>`. */
|
|
99
98
|
virtualizeAt:number;private liveRegion?;private virtualListEl?;private readonly headerId;private readonly bodyId;
|
|
100
99
|
/** `true` until the first completed update -- gates the mode-transition announcement so
|
|
101
100
|
* mounting in a non-default mode never announces historical state. */
|
|
102
|
-
private isMounting;private scrollRafId?;private scrollRafOwner?;private scrollRafDocument?;private virtualAnchorReleaseRafId?;private virtualAnchorReleaseRafOwner?;private virtualAnchorReleaseRafDocument?;private anchoringVirtualTail;private ownerRealmGeneration;private virtualAnchorRequest;connectedCallback():void;disconnectedCallback():void;adoptedCallback():void;
|
|
101
|
+
private isMounting;private scrollRafId?;private scrollRafOwner?;private scrollRafDocument?;private virtualAnchorReleaseRafId?;private virtualAnchorReleaseRafOwner?;private virtualAnchorReleaseRafDocument?;private anchoringVirtualTail;private ownerRealmGeneration;private virtualAnchorRequest;private externalLabelledByLease?;private externalDescribedByLease?;private relationshipSyncRequest;connectedCallback():void;disconnectedCallback():void;adoptedCallback():void;
|
|
103
102
|
/** `virtualizeAt`, normalized to a finite non-negative integer (falling back to the
|
|
104
103
|
* property's own default of `199`) -- a raw `NaN` (e.g. an invalid `virtualize-at`
|
|
105
104
|
* attribute) would otherwise make `entries.length > virtualizeAt` always false,
|
|
106
105
|
* silently disabling virtualization instead of falling back to the default threshold. */
|
|
107
|
-
private get effectiveVirtualizeAt();private get normalizedEntries();private get isVirtualized();private get shouldFollowLiveTail();private cancelScrollFrame;private cancelVirtualAnchorReleaseFrame;private resetOwnerRealmWork;protected willUpdate(changed:PropertyValues):void;protected updated(changed:PropertyValues):void;private scrollToLatest;private completedStepsSummary;
|
|
106
|
+
private get effectiveVirtualizeAt();private get normalizedEntries();private get isVirtualized();private get shouldFollowLiveTail();private cancelScrollFrame;private cancelVirtualAnchorReleaseFrame;private resetOwnerRealmWork;protected willUpdate(changed:PropertyValues):void;protected updated(changed:PropertyValues):void;private scrollToLatest;private completedStepsSummary;
|
|
107
|
+
/** The element that owns the real list role in either rendering path. The virtual list's public
|
|
108
|
+
* scrollContainer is its internal `[part="base"]` list owner, not the composed custom-element
|
|
109
|
+
* host, so host IDREF relationships reach the semantic element without widening virtual-list's
|
|
110
|
+
* public API. */
|
|
111
|
+
private get listSemanticOwner();
|
|
112
|
+
/** Projects both authored host IDREF relationships onto the current semantic list owner. */
|
|
113
|
+
private syncListRelationships;
|
|
114
|
+
/** A parent update can finish before the composed virtual list creates its real list owner. */
|
|
115
|
+
private scheduleListRelationshipSync;private releaseListRelationships;private toggle;private setFollowFromUser;private onBodyScroll;private onVirtualListRangeChanged;private stopOwnedEvent;private normalizedTimestamp;private entryTemplate;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-activity-feed':LyraActivityFeed;}}
|
|
@@ -1,10 +1,12 @@
|
|
|
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,query}from"lit/decorators.js";import{repeat}from"lit/directives/repeat.js";import{LyraElement}from"../../../internal/lyra-element.js";import{hostAriaLabel,nextId}from"../../../internal/a11y.js";import{chevronIcon}from"../../../internal/icons.js";import{getDateTimeFormat,getNumberFormat,getPluralRules}from"../../../internal/intl-cache.js";import{finiteCount}from"../../../internal/numbers.js";import{styles}from"./activity-feed.styles.js";import{literalSetConverter,presenceTrueDefaultBooleanConverter as trueDefaultBooleanConverter}from"../../../internal/converters.js";import{firstByIdentity}from"../collection-identity.js";import{LYRA_DEFAULT_activityFeedCompletedStep,LYRA_DEFAULT_activityFeedCompletedSteps,LYRA_DEFAULT_activityFeedLabel,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";const ACTIVITY_FEED_MODE=literalSetConverter(["live","post-hoc"],"live"),NEAR_BOTTOM_PX=48;function variantDotPart(variant){return variant==="brand"?"variant-dot variant-dot-brand":variant==="success"?"variant-dot variant-dot-success":variant==="warning"?"variant-dot variant-dot-warning":variant==="danger"?"variant-dot variant-dot-danger":"variant-dot variant-dot-neutral"}function defaultFormatTimestamp(date,locale){return getDateTimeFormat(locale,{hour:"numeric",minute:"2-digit"}).format(date)}class LyraActivityFeed extends LyraElement{constructor(){super(...arguments),this.entries=[],this._mode="live",this.follow=!0,this.expanded=!1,this.showTimestamps=!1,this.virtualizeAt=199,this.headerId=nextId("activity-feed-header"),this.bodyId=nextId("activity-feed-body"),this.isMounting=!0,this.anchoringVirtualTail=!1,this.ownerRealmGeneration=0,this.virtualAnchorRequest=0,this.toggle=()=>{this.expanded=!this.expanded,this.emit("lr-toggle",{expanded:this.expanded})},this.onBodyScroll=e=>{if(this.isVirtualized||this.mode!=="live")return;const body=e.currentTarget,nearBottom=body.scrollHeight-body.scrollTop-body.clientHeight<=NEAR_BOTTOM_PX;this.setFollowFromUser(nearBottom)},this.onVirtualListRangeChanged=e=>{if(e.stopPropagation(),this.mode!=="live"||this.anchoringVirtualTail)return;const entries=this.normalizedEntries,atBottom=entries.length>0&&e.detail.end>=entries.length-1;this.setFollowFromUser(atBottom)},this.stopOwnedEvent=event=>{event.stopPropagation()}}static{this.defaultStrings={...super.defaultStrings,activityFeedCompletedStep:LYRA_DEFAULT_activityFeedCompletedStep,activityFeedCompletedSteps:LYRA_DEFAULT_activityFeedCompletedSteps,activityFeedLabel:LYRA_DEFAULT_activityFeedLabel,collapse:LYRA_DEFAULT_collapse,details:LYRA_DEFAULT_details,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select}}static{this.ownedCollectionProperties=Object.freeze(["entries"])}static{this.styles=[LyraElement.styles,styles]}get mode(){return this._mode}set mode(next){const normalized=ACTIVITY_FEED_MODE.normalizeReflected(this,"mode",next),old=this._mode;old!==normalized&&(this._mode=normalized,this.requestUpdate("mode",old))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&this.shouldFollowLiveTail&&this.scrollToLatest()}disconnectedCallback(){this.resetOwnerRealmWork(),super.disconnectedCallback()}adoptedCallback(){super.adoptedCallback(),this.resetOwnerRealmWork(),this.isConnected&&this.shouldFollowLiveTail&&this.scrollToLatest()}get effectiveVirtualizeAt(){return finiteCount(this.virtualizeAt,199)}get normalizedEntries(){return firstByIdentity(Array.isArray(this.entries)?this.entries:[],entry=>entry.id)}get isVirtualized(){return this.normalizedEntries.length>this.effectiveVirtualizeAt}get shouldFollowLiveTail(){return this.expanded&&this.mode==="live"&&this.follow}cancelScrollFrame(){this.scrollRafId!==void 0&&this.scrollRafOwner?.cancelAnimationFrame(this.scrollRafId),this.scrollRafId=void 0,this.scrollRafOwner=void 0,this.scrollRafDocument=void 0}cancelVirtualAnchorReleaseFrame(){this.virtualAnchorReleaseRafId!==void 0&&this.virtualAnchorReleaseRafOwner?.cancelAnimationFrame(this.virtualAnchorReleaseRafId),this.virtualAnchorReleaseRafId=void 0,this.virtualAnchorReleaseRafOwner=void 0,this.virtualAnchorReleaseRafDocument=void 0}resetOwnerRealmWork(){this.ownerRealmGeneration+=1,this.virtualAnchorRequest+=1,this.cancelScrollFrame(),this.cancelVirtualAnchorReleaseFrame(),this.anchoringVirtualTail=!1}willUpdate(changed){super.willUpdate(changed),(changed.has("expanded")||changed.has("mode"))&&this.expanded&&this.mode==="live"&&(this.follow=!0)}updated(changed){super.updated(changed);const wasMounting=this.isMounting;if(this.isMounting=!1,!wasMounting&&changed.has("mode")&&changed.get("mode")==="live"&&this.mode==="post-hoc"){const region=this.liveRegion;region&&(region.mode="polite",region.announce(this.completedStepsSummary(),{force:!0}))}const justAnchored=(changed.has("expanded")||changed.has("mode"))&&this.expanded&&this.mode==="live",followingChangedRenderPath=changed.has("virtualizeAt")&&this.expanded&&this.mode==="live"&&this.follow;(justAnchored||followingChangedRenderPath||changed.has("entries")&&this.expanded&&this.mode==="live"&&this.follow)&&this.scrollToLatest()}scrollToLatest(){const ownerDocument=this.ownerDocument,ownerWindow=ownerDocument.defaultView;if(!ownerWindow||!this.isConnected||!this.shouldFollowLiveTail)return;const generation=this.ownerRealmGeneration;if(this.isVirtualized){this.cancelScrollFrame(),this.cancelVirtualAnchorReleaseFrame(),this.anchoringVirtualTail=!0;const request=++this.virtualAnchorRequest;this.updateComplete.then(()=>{const list=this.virtualListEl;if(request!==this.virtualAnchorRequest||generation!==this.ownerRealmGeneration||this.ownerDocument!==ownerDocument||!this.isConnected)return;if(!list||!this.isVirtualized||!this.shouldFollowLiveTail){this.anchoringVirtualTail=!1;return}list.scrollToIndex(this.normalizedEntries.length-1,{align:"end",behavior:"auto"});const firstHandle=ownerWindow.requestAnimationFrame(()=>{if(this.virtualAnchorReleaseRafId!==firstHandle||this.virtualAnchorReleaseRafOwner!==ownerWindow||this.virtualAnchorReleaseRafDocument!==ownerDocument||request!==this.virtualAnchorRequest||generation!==this.ownerRealmGeneration||!this.isConnected||this.ownerDocument!==ownerDocument)return;if(this.virtualAnchorReleaseRafId=void 0,this.virtualAnchorReleaseRafOwner=void 0,this.virtualAnchorReleaseRafDocument=void 0,!this.anchoringVirtualTail||!this.isVirtualized||!this.shouldFollowLiveTail){this.anchoringVirtualTail=!1;return}const secondHandle=ownerWindow.requestAnimationFrame(()=>{this.virtualAnchorReleaseRafId!==secondHandle||this.virtualAnchorReleaseRafOwner!==ownerWindow||this.virtualAnchorReleaseRafDocument!==ownerDocument||request!==this.virtualAnchorRequest||generation!==this.ownerRealmGeneration||!this.isConnected||this.ownerDocument!==ownerDocument||(this.virtualAnchorReleaseRafId=void 0,this.virtualAnchorReleaseRafOwner=void 0,this.virtualAnchorReleaseRafDocument=void 0,this.anchoringVirtualTail=!1)});this.virtualAnchorReleaseRafId=secondHandle,this.virtualAnchorReleaseRafOwner=ownerWindow,this.virtualAnchorReleaseRafDocument=ownerDocument});this.virtualAnchorReleaseRafId=firstHandle,this.virtualAnchorReleaseRafOwner=ownerWindow,this.virtualAnchorReleaseRafDocument=ownerDocument});return}if(this.virtualAnchorRequest+=1,this.cancelVirtualAnchorReleaseFrame(),this.anchoringVirtualTail=!1,this.scrollRafId!==void 0)return;const handle=ownerWindow.requestAnimationFrame(()=>{if(this.scrollRafId!==handle||this.scrollRafOwner!==ownerWindow||this.scrollRafDocument!==ownerDocument||generation!==this.ownerRealmGeneration||!this.isConnected||this.ownerDocument!==ownerDocument||(this.scrollRafId=void 0,this.scrollRafOwner=void 0,this.scrollRafDocument=void 0,!this.shouldFollowLiveTail||this.isVirtualized))return;const body=this.renderRoot.querySelector('[part="body"]');body&&(body.scrollTop=body.scrollHeight)});this.scrollRafId=handle,this.scrollRafOwner=ownerWindow,this.scrollRafDocument=ownerDocument}completedStepsSummary(){const count=this.normalizedEntries.length,key=getPluralRules(this.effectiveLocale).select(count)==="one"?"activityFeedCompletedStep":"activityFeedCompletedSteps";return this.localize(key,void 0,{count:getNumberFormat(this.effectiveLocale).format(count)})}setFollowFromUser(following){following!==this.follow&&(this.follow=following,this.emit("lr-follow-change",{following}))}normalizedTimestamp(value){if(value===void 0)return;const date=value instanceof Date?value:new Date(value);return Number.isNaN(date.getTime())?void 0:date}entryTemplate(entry,ownRole){const ts=this.normalizedTimestamp(entry.timestamp),formatter=this.formatTimestamp??(date=>defaultFormatTimestamp(date,this.effectiveLocale)),variant=entry.variant??"neutral",dotPart=variantDotPart(variant);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,query}from"lit/decorators.js";import{repeat}from"lit/directives/repeat.js";import{LyraElement}from"../../../internal/lyra-element.js";import{nextId}from"../../../internal/a11y.js";import{acquireResolvedAriaRelationship}from"../../../internal/aria-controls.js";import{chevronIcon}from"../../../internal/icons.js";import{getDateTimeFormat,getNumberFormat,getPluralRules}from"../../../internal/intl-cache.js";import{finiteCount}from"../../../internal/numbers.js";import{styles}from"./activity-feed.styles.js";import{literalSetConverter,presenceTrueDefaultBooleanConverter as trueDefaultBooleanConverter}from"../../../internal/converters.js";import{firstByIdentity}from"../collection-identity.js";import{LYRA_DEFAULT_activityFeedCompletedStep,LYRA_DEFAULT_activityFeedCompletedSteps,LYRA_DEFAULT_activityFeedLabel,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";const ACTIVITY_FEED_MODE=literalSetConverter(["live","post-hoc"],"live"),NEAR_BOTTOM_PX=48;function variantDotPart(variant){return variant==="brand"?"variant-dot variant-dot-brand":variant==="success"?"variant-dot variant-dot-success":variant==="warning"?"variant-dot variant-dot-warning":variant==="danger"?"variant-dot variant-dot-danger":"variant-dot variant-dot-neutral"}function defaultFormatTimestamp(date,locale){return getDateTimeFormat(locale,{hour:"numeric",minute:"2-digit"}).format(date)}class LyraActivityFeed extends LyraElement{constructor(){super(...arguments),this.entries=[],this._mode="live",this.follow=!0,this.expanded=!1,this.showTimestamps=!1,this.virtualizeAt=199,this.headerId=nextId("activity-feed-header"),this.bodyId=nextId("activity-feed-body"),this.isMounting=!0,this.anchoringVirtualTail=!1,this.ownerRealmGeneration=0,this.virtualAnchorRequest=0,this.relationshipSyncRequest=0,this.toggle=()=>{this.expanded=!this.expanded,this.emit("lr-toggle",{expanded:this.expanded})},this.onBodyScroll=e=>{if(this.isVirtualized||this.mode!=="live")return;const body=e.currentTarget,nearBottom=body.scrollHeight-body.scrollTop-body.clientHeight<=NEAR_BOTTOM_PX;this.setFollowFromUser(nearBottom)},this.onVirtualListRangeChanged=e=>{if(e.stopPropagation(),this.mode!=="live"||this.anchoringVirtualTail)return;const entries=this.normalizedEntries,atBottom=entries.length>0&&e.detail.end>=entries.length-1;this.setFollowFromUser(atBottom)},this.stopOwnedEvent=event=>{event.stopPropagation()}}static{this.defaultStrings={...super.defaultStrings,activityFeedCompletedStep:LYRA_DEFAULT_activityFeedCompletedStep,activityFeedCompletedSteps:LYRA_DEFAULT_activityFeedCompletedSteps,activityFeedLabel:LYRA_DEFAULT_activityFeedLabel,collapse:LYRA_DEFAULT_collapse,details:LYRA_DEFAULT_details,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select}}static{this.ownedCollectionProperties=Object.freeze(["entries"])}static{this.styles=[LyraElement.styles,styles]}get mode(){return this._mode}set mode(next){const normalized=ACTIVITY_FEED_MODE.normalizeReflected(this,"mode",next),old=this._mode;old!==normalized&&(this._mode=normalized,this.requestUpdate("mode",old))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&(this.syncListRelationships(),this.scheduleListRelationshipSync()),this.hasUpdated&&this.shouldFollowLiveTail&&this.scrollToLatest()}disconnectedCallback(){this.releaseListRelationships(),this.resetOwnerRealmWork(),super.disconnectedCallback()}adoptedCallback(){super.adoptedCallback(),this.releaseListRelationships(),this.resetOwnerRealmWork(),this.isConnected&&this.hasUpdated&&(this.syncListRelationships(),this.scheduleListRelationshipSync()),this.isConnected&&this.shouldFollowLiveTail&&this.scrollToLatest()}get effectiveVirtualizeAt(){return finiteCount(this.virtualizeAt,199)}get normalizedEntries(){return firstByIdentity(Array.isArray(this.entries)?this.entries:[],entry=>entry.id)}get isVirtualized(){return this.normalizedEntries.length>this.effectiveVirtualizeAt}get shouldFollowLiveTail(){return this.expanded&&this.mode==="live"&&this.follow}cancelScrollFrame(){this.scrollRafId!==void 0&&this.scrollRafOwner?.cancelAnimationFrame(this.scrollRafId),this.scrollRafId=void 0,this.scrollRafOwner=void 0,this.scrollRafDocument=void 0}cancelVirtualAnchorReleaseFrame(){this.virtualAnchorReleaseRafId!==void 0&&this.virtualAnchorReleaseRafOwner?.cancelAnimationFrame(this.virtualAnchorReleaseRafId),this.virtualAnchorReleaseRafId=void 0,this.virtualAnchorReleaseRafOwner=void 0,this.virtualAnchorReleaseRafDocument=void 0}resetOwnerRealmWork(){this.ownerRealmGeneration+=1,this.virtualAnchorRequest+=1,this.relationshipSyncRequest+=1,this.cancelScrollFrame(),this.cancelVirtualAnchorReleaseFrame(),this.anchoringVirtualTail=!1}willUpdate(changed){super.willUpdate(changed),(changed.has("expanded")||changed.has("mode"))&&this.expanded&&this.mode==="live"&&(this.follow=!0)}updated(changed){super.updated(changed),this.syncListRelationships(),this.scheduleListRelationshipSync();const wasMounting=this.isMounting;if(this.isMounting=!1,!wasMounting&&changed.has("mode")&&changed.get("mode")==="live"&&this.mode==="post-hoc"){const region=this.liveRegion;region&&(region.mode="polite",region.announce(this.completedStepsSummary(),{force:!0}))}const justAnchored=(changed.has("expanded")||changed.has("mode"))&&this.expanded&&this.mode==="live",followingChangedRenderPath=changed.has("virtualizeAt")&&this.expanded&&this.mode==="live"&&this.follow;(justAnchored||followingChangedRenderPath||changed.has("entries")&&this.expanded&&this.mode==="live"&&this.follow)&&this.scrollToLatest()}scrollToLatest(){const ownerDocument=this.ownerDocument,ownerWindow=ownerDocument.defaultView;if(!ownerWindow||!this.isConnected||!this.shouldFollowLiveTail)return;const generation=this.ownerRealmGeneration;if(this.isVirtualized){this.cancelScrollFrame(),this.cancelVirtualAnchorReleaseFrame(),this.anchoringVirtualTail=!0;const request=++this.virtualAnchorRequest;this.updateComplete.then(()=>{const list=this.virtualListEl;if(request!==this.virtualAnchorRequest||generation!==this.ownerRealmGeneration||this.ownerDocument!==ownerDocument||!this.isConnected)return;if(!list||!this.isVirtualized||!this.shouldFollowLiveTail){this.anchoringVirtualTail=!1;return}list.scrollToIndex(this.normalizedEntries.length-1,{align:"end",behavior:"auto"});const firstHandle=ownerWindow.requestAnimationFrame(()=>{if(this.virtualAnchorReleaseRafId!==firstHandle||this.virtualAnchorReleaseRafOwner!==ownerWindow||this.virtualAnchorReleaseRafDocument!==ownerDocument||request!==this.virtualAnchorRequest||generation!==this.ownerRealmGeneration||!this.isConnected||this.ownerDocument!==ownerDocument)return;if(this.virtualAnchorReleaseRafId=void 0,this.virtualAnchorReleaseRafOwner=void 0,this.virtualAnchorReleaseRafDocument=void 0,!this.anchoringVirtualTail||!this.isVirtualized||!this.shouldFollowLiveTail){this.anchoringVirtualTail=!1;return}const secondHandle=ownerWindow.requestAnimationFrame(()=>{this.virtualAnchorReleaseRafId!==secondHandle||this.virtualAnchorReleaseRafOwner!==ownerWindow||this.virtualAnchorReleaseRafDocument!==ownerDocument||request!==this.virtualAnchorRequest||generation!==this.ownerRealmGeneration||!this.isConnected||this.ownerDocument!==ownerDocument||(this.virtualAnchorReleaseRafId=void 0,this.virtualAnchorReleaseRafOwner=void 0,this.virtualAnchorReleaseRafDocument=void 0,this.anchoringVirtualTail=!1)});this.virtualAnchorReleaseRafId=secondHandle,this.virtualAnchorReleaseRafOwner=ownerWindow,this.virtualAnchorReleaseRafDocument=ownerDocument});this.virtualAnchorReleaseRafId=firstHandle,this.virtualAnchorReleaseRafOwner=ownerWindow,this.virtualAnchorReleaseRafDocument=ownerDocument});return}if(this.virtualAnchorRequest+=1,this.cancelVirtualAnchorReleaseFrame(),this.anchoringVirtualTail=!1,this.scrollRafId!==void 0)return;const handle=ownerWindow.requestAnimationFrame(()=>{if(this.scrollRafId!==handle||this.scrollRafOwner!==ownerWindow||this.scrollRafDocument!==ownerDocument||generation!==this.ownerRealmGeneration||!this.isConnected||this.ownerDocument!==ownerDocument||(this.scrollRafId=void 0,this.scrollRafOwner=void 0,this.scrollRafDocument=void 0,!this.shouldFollowLiveTail||this.isVirtualized))return;const body=this.renderRoot.querySelector('[part="body"]');body&&(body.scrollTop=body.scrollHeight)});this.scrollRafId=handle,this.scrollRafOwner=ownerWindow,this.scrollRafDocument=ownerDocument}completedStepsSummary(){const count=this.normalizedEntries.length,key=getPluralRules(this.effectiveLocale).select(count)==="one"?"activityFeedCompletedStep":"activityFeedCompletedSteps";return this.localize(key,void 0,{count:getNumberFormat(this.effectiveLocale).format(count)})}get listSemanticOwner(){return this.isVirtualized?this.virtualListEl?.scrollContainer??null:this.renderRoot.querySelector('[part="body"][role="list"]')}syncListRelationships(){const target=this.listSemanticOwner;if(!target){this.releaseListRelationships();return}this.externalLabelledByLease?this.externalLabelledByLease.update(target):this.externalLabelledByLease=acquireResolvedAriaRelationship(this,target,"aria-labelledby"),this.externalDescribedByLease?this.externalDescribedByLease.update(target):this.externalDescribedByLease=acquireResolvedAriaRelationship(this,target,"aria-describedby")}scheduleListRelationshipSync(){const list=this.virtualListEl;if(!this.isVirtualized||!list||!this.isConnected){this.relationshipSyncRequest+=1;return}const request=++this.relationshipSyncRequest,ownerDocument=this.ownerDocument,generation=this.ownerRealmGeneration;list.updateComplete.then(()=>{request!==this.relationshipSyncRequest||generation!==this.ownerRealmGeneration||this.ownerDocument!==ownerDocument||!this.isConnected||!this.isVirtualized||this.virtualListEl!==list||this.syncListRelationships()})}releaseListRelationships(){this.externalLabelledByLease?.release(),this.externalLabelledByLease=void 0,this.externalDescribedByLease?.release(),this.externalDescribedByLease=void 0}setFollowFromUser(following){following!==this.follow&&(this.follow=following,this.emit("lr-follow-change",{following}))}normalizedTimestamp(value){if(value===void 0)return;const date=value instanceof Date?value:new Date(value);return Number.isNaN(date.getTime())?void 0:date}entryTemplate(entry,ownRole){const ts=this.normalizedTimestamp(entry.timestamp),formatter=this.formatTimestamp??(date=>defaultFormatTimestamp(date,this.effectiveLocale)),variant=entry.variant??"neutral",dotPart=variantDotPart(variant);return html`
|
|
2
2
|
<div part="entry" role=${ownRole?"listitem":nothing} data-variant=${variant}>
|
|
3
|
-
<span part="entry-icon" aria-hidden="true"
|
|
4
|
-
|
|
3
|
+
<span part="entry-icon" aria-hidden="true"
|
|
4
|
+
>${entry.icon?entry.icon:html`<span part=${dotPart} data-variant=${variant}></span>`}</span
|
|
5
|
+
>
|
|
6
|
+
<span part="entry-text">${this.renderText?this.renderText(entry):entry.text}</span>
|
|
5
7
|
${this.showTimestamps&&ts?html`<time part="entry-timestamp" datetime=${ts.toISOString()}>${formatter(ts)}</time>`:nothing}
|
|
6
8
|
</div>
|
|
7
|
-
`}render(){const entries=this.normalizedEntries,
|
|
9
|
+
`}render(){const entries=this.normalizedEntries,fallbackLabel=this.localize("activityFeedLabel"),label=this.label==null?fallbackLabel:this.label,headerText=this.mode==="live"?entries[entries.length-1]?.text??"":this.completedStepsSummary(),listAriaLabel=this.hasAttribute("aria-label")?this.getAttribute("aria-label")??"":fallbackLabel,headerAriaLabel=`${label} ${headerText}`.trim()?nothing:fallbackLabel,virtualized=this.isVirtualized;return html`
|
|
8
10
|
<div part="base">
|
|
9
11
|
<button
|
|
10
12
|
part="header"
|
|
@@ -12,6 +14,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
12
14
|
id=${this.headerId}
|
|
13
15
|
aria-expanded=${this.expanded?"true":"false"}
|
|
14
16
|
aria-controls=${this.bodyId}
|
|
17
|
+
aria-label=${headerAriaLabel}
|
|
15
18
|
@click=${this.toggle}
|
|
16
19
|
>
|
|
17
20
|
<span part="toggle" aria-hidden="true">${chevronIcon()}</span>
|
|
@@ -24,7 +27,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
24
27
|
id=${this.bodyId}
|
|
25
28
|
role=${virtualized?nothing:"list"}
|
|
26
29
|
tabindex=${virtualized?nothing:"0"}
|
|
27
|
-
aria-label=${virtualized?nothing:
|
|
30
|
+
aria-label=${virtualized?nothing:listAriaLabel}
|
|
28
31
|
?hidden=${!this.expanded}
|
|
29
32
|
@scroll=${this.onBodyScroll}
|
|
30
33
|
>
|
|
@@ -33,7 +36,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
33
36
|
.items=${entries}
|
|
34
37
|
.renderItem=${item=>this.entryTemplate(item,!1)}
|
|
35
38
|
.keyFunction=${item=>item.id}
|
|
36
|
-
aria-label=${
|
|
39
|
+
aria-label=${listAriaLabel}
|
|
37
40
|
@lr-visible-range-change=${this.onVirtualListRangeChanged}
|
|
38
41
|
@lr-virtual-scroll=${this.stopOwnedEvent}
|
|
39
42
|
></lr-virtual-list>`:repeat(entries,entry=>entry.id,entry=>this.entryTemplate(entry,!0))}
|
|
@@ -35,8 +35,10 @@ import type{LyraEventDetailSnapshot}from'../../../internal/lyra-element.js';impo
|
|
|
35
35
|
* shape, so
|
|
36
36
|
* a host can encode the current span id in a URL and feed it straight back in.
|
|
37
37
|
*
|
|
38
|
-
* Public collection properties take bounded
|
|
39
|
-
*
|
|
38
|
+
* Public collection properties take bounded readonly snapshots. `spans` keeps its admitted item
|
|
39
|
+
* identities only long enough for the shared descriptor-safe projection to copy its fields; later
|
|
40
|
+
* rendering never re-reads an admitted source row. Create a new collection and reassign it after
|
|
41
|
+
* changes; mutating the assigned array does not update the view.
|
|
40
42
|
*
|
|
41
43
|
* @customElement lr-agent-trace
|
|
42
44
|
* @event lr-span-select - `detail: { spanId }` — a span was activated, from the tree or the handoff list.
|
|
@@ -54,7 +56,11 @@ import type{LyraEventDetailSnapshot}from'../../../internal/lyra-element.js';impo
|
|
|
54
56
|
* @status stable
|
|
55
57
|
* @since 4.1.0
|
|
56
58
|
*/
|
|
57
|
-
export declare class LyraAgentTrace extends LyraElement<LyraAgentTraceEventMap>{protected static readonly ownedCollectionProperties:readonly string[];
|
|
59
|
+
export declare class LyraAgentTrace extends LyraElement<LyraAgentTraceEventMap>{protected static readonly ownedCollectionProperties:readonly string[];
|
|
60
|
+
/** Span sources can carry opaque provider metadata; the shared normalizer copies only its closed
|
|
61
|
+
* display schema once, so cloning each whole source record would both lose opaque identity and
|
|
62
|
+
* create an unsafe second traversal. */
|
|
63
|
+
protected static readonly identityCollectionProperties:readonly string[];static styles:import("lit").CSSResultGroup[];protected static readonly immutableEventDetails:readonly string[];
|
|
58
64
|
/** The full, unfiltered span array -- identical contract to `<lr-trace-tree>.spans`. Controlled
|
|
59
65
|
* and never mutated by this component; `activeSpanId` and its ancestor path reserve positions
|
|
60
66
|
* inside the shared 500-row projection before kind filtering. */
|
|
@@ -86,6 +92,9 @@ private handoffFromAgent;
|
|
|
86
92
|
/** Same computation `<lr-handoff-divider>` performs internally for its own `aria-label`, reused
|
|
87
93
|
* here (not reimplemented with different wording) for this button's accessible name. */
|
|
88
94
|
private handoffAccessibleLabel;private onVisibilityChange;
|
|
95
|
+
/** Keeps the composed legend's cancelable proposal within this wrapper without changing its
|
|
96
|
+
* default-prevented state. The child still owns the proposal, commit, and announcement. */
|
|
97
|
+
private onBeforeVisibilityChange;
|
|
89
98
|
/** Keeps `activeSpanId` (and therefore the handoff list's own highlighting) in sync when
|
|
90
99
|
* selection originates inside the composed `<lr-trace-tree>` rather than the handoff quick-jump
|
|
91
100
|
* list. The original event is never stopped here, so it still reaches a host listener on this
|
|
@@ -1,9 +1,10 @@
|
|
|
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{LyraElement}from"../../../internal/lyra-element.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{styles}from"./agent-trace.styles.js";import{normalizeLyraSpans}from"../trace-tree/span.js";import{LYRA_DEFAULT_agentTraceFilterLabel,LYRA_DEFAULT_handoffFromToAgent,LYRA_DEFAULT_handoffToAgent,LYRA_DEFAULT_popover,LYRA_DEFAULT_spanKindAgent,LYRA_DEFAULT_spanKindEmbedding,LYRA_DEFAULT_spanKindLlm,LYRA_DEFAULT_spanKindOther,LYRA_DEFAULT_spanKindRetriever,LYRA_DEFAULT_spanKindTool}from"../../../internal/default-strings.generated.js";const KIND_ORDER=["agent","llm","tool","retriever","embedding","other"],KIND_LABEL_KEY={agent:"spanKindAgent",llm:"spanKindLlm",tool:"spanKindTool",retriever:"spanKindRetriever",embedding:"spanKindEmbedding",other:"spanKindOther"};class LyraAgentTrace extends LyraElement{constructor(){super(...arguments),this.spans=[],this.activeSpanId=null,this.hiddenKinds=[],this.showTokens=!1,this.showCost=!1,this.showBars=!0,this.onVisibilityChange=e=>{e.stopPropagation(),this.hiddenKinds=e.detail.hiddenTypes,this.emit("lr-span-visibility-change",{hiddenKinds:[...this.hiddenKinds]})},this.onTreeSpanSelect=e=>{this.activeSpanId=e.detail.spanId}}static{this.defaultStrings={...super.defaultStrings,agentTraceFilterLabel:LYRA_DEFAULT_agentTraceFilterLabel,handoffFromToAgent:LYRA_DEFAULT_handoffFromToAgent,handoffToAgent:LYRA_DEFAULT_handoffToAgent,popover:LYRA_DEFAULT_popover,spanKindAgent:LYRA_DEFAULT_spanKindAgent,spanKindEmbedding:LYRA_DEFAULT_spanKindEmbedding,spanKindLlm:LYRA_DEFAULT_spanKindLlm,spanKindOther:LYRA_DEFAULT_spanKindOther,spanKindRetriever:LYRA_DEFAULT_spanKindRetriever,spanKindTool:LYRA_DEFAULT_spanKindTool}}static{this.ownedCollectionProperties=Object.freeze(["spans","hiddenKinds"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-span-visibility-change"])}presentKinds(spans){const present=new Set(spans.map(s=>s.kind));return KIND_ORDER.filter(k=>present.has(k))}filteredSpans(spans){if(this.hiddenKinds.length===0)return[...spans];const hidden=new Set(this.hiddenKinds);return spans.filter(span=>!hidden.has(span.kind))}handoffSpans(spans){return spans.filter(span=>span.kind==="agent")}handoffFromAgent(span,byId){if(!span.parentId)return"";const parent=byId.get(span.parentId);return parent?.kind==="agent"?parent.name:""}handoffAccessibleLabel(span,fromAgent){return fromAgent?this.localize("handoffFromToAgent",void 0,{from:fromAgent,to:span.name}):this.localize("handoffToAgent",void 0,{agent:span.name})}selectSpan(id){this.activeSpanId=id,this.emit("lr-span-select",{spanId:id})}renderFilter(spans){const kinds=this.presentKinds(spans);if(kinds.length===0)return nothing;const types=kinds.map(k=>({id:k,label:this.localize(KIND_LABEL_KEY[k])}));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{LyraElement}from"../../../internal/lyra-element.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{styles}from"./agent-trace.styles.js";import{normalizeLyraSpans}from"../trace-tree/span.js";import{LYRA_DEFAULT_agentTraceFilterLabel,LYRA_DEFAULT_handoffFromToAgent,LYRA_DEFAULT_handoffToAgent,LYRA_DEFAULT_popover,LYRA_DEFAULT_spanKindAgent,LYRA_DEFAULT_spanKindEmbedding,LYRA_DEFAULT_spanKindLlm,LYRA_DEFAULT_spanKindOther,LYRA_DEFAULT_spanKindRetriever,LYRA_DEFAULT_spanKindTool,LYRA_DEFAULT_tokensIn,LYRA_DEFAULT_tokensOut}from"../../../internal/default-strings.generated.js";const KIND_ORDER=["agent","llm","tool","retriever","embedding","other"],KIND_LABEL_KEY={agent:"spanKindAgent",llm:"spanKindLlm",tool:"spanKindTool",retriever:"spanKindRetriever",embedding:"spanKindEmbedding",other:"spanKindOther"};class LyraAgentTrace extends LyraElement{constructor(){super(...arguments),this.spans=[],this.activeSpanId=null,this.hiddenKinds=[],this.showTokens=!1,this.showCost=!1,this.showBars=!0,this.onVisibilityChange=e=>{e.stopPropagation(),this.hiddenKinds=e.detail.hiddenTypes,this.emit("lr-span-visibility-change",{hiddenKinds:[...this.hiddenKinds]})},this.onBeforeVisibilityChange=event=>{event.stopPropagation()},this.onTreeSpanSelect=e=>{this.activeSpanId=e.detail.spanId}}static{this.defaultStrings={...super.defaultStrings,agentTraceFilterLabel:LYRA_DEFAULT_agentTraceFilterLabel,handoffFromToAgent:LYRA_DEFAULT_handoffFromToAgent,handoffToAgent:LYRA_DEFAULT_handoffToAgent,popover:LYRA_DEFAULT_popover,spanKindAgent:LYRA_DEFAULT_spanKindAgent,spanKindEmbedding:LYRA_DEFAULT_spanKindEmbedding,spanKindLlm:LYRA_DEFAULT_spanKindLlm,spanKindOther:LYRA_DEFAULT_spanKindOther,spanKindRetriever:LYRA_DEFAULT_spanKindRetriever,spanKindTool:LYRA_DEFAULT_spanKindTool,tokensIn:LYRA_DEFAULT_tokensIn,tokensOut:LYRA_DEFAULT_tokensOut}}static{this.ownedCollectionProperties=Object.freeze(["spans","hiddenKinds"])}static{this.identityCollectionProperties=Object.freeze(["spans"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-span-visibility-change"])}presentKinds(spans){const present=new Set(spans.map(s=>s.kind));return KIND_ORDER.filter(k=>present.has(k))}filteredSpans(spans){if(this.hiddenKinds.length===0)return[...spans];const hidden=new Set(this.hiddenKinds);return spans.filter(span=>!hidden.has(span.kind))}handoffSpans(spans){return spans.filter(span=>span.kind==="agent")}handoffFromAgent(span,byId){if(!span.parentId)return"";const parent=byId.get(span.parentId);return parent?.kind==="agent"?parent.name:""}handoffAccessibleLabel(span,fromAgent){return fromAgent?this.localize("handoffFromToAgent",void 0,{from:fromAgent,to:span.name}):this.localize("handoffToAgent",void 0,{agent:span.name})}selectSpan(id){this.activeSpanId=id,this.emit("lr-span-select",{spanId:id})}renderFilter(spans){const kinds=this.presentKinds(spans);if(kinds.length===0)return nothing;const types=kinds.map(k=>({id:k,label:this.localize(KIND_LABEL_KEY[k])}));return html`
|
|
2
2
|
<lr-graph-legend
|
|
3
3
|
part="filter"
|
|
4
4
|
.label=${this.localize("agentTraceFilterLabel")}
|
|
5
5
|
.types=${types}
|
|
6
6
|
.hiddenTypes=${this.hiddenKinds}
|
|
7
|
+
@lr-before-visibility-change=${this.onBeforeVisibilityChange}
|
|
7
8
|
@lr-visibility-change=${this.onVisibilityChange}
|
|
8
9
|
></lr-graph-legend>
|
|
9
10
|
`}renderHandoff(span,byId){const fromAgent=this.handoffFromAgent(span,byId),isActive=this.activeSpanId===span.id;return html`
|
|
@@ -15,7 +15,9 @@ export interface ToolApprovalRequest{id:string;toolName:string;args:unknown;stat
|
|
|
15
15
|
* @event lr-approval-select - A request was selected. `detail: { invocationId }`.
|
|
16
16
|
* @event lr-approval-decision - A request was approved or denied. `detail: { invocationId,
|
|
17
17
|
* approved, args? }`. Cancelable; preventing it keeps the nested dialog pending.
|
|
18
|
-
* @event lr-approval-close - The nested decision dialog closed
|
|
18
|
+
* @event lr-approval-close - The nested decision dialog closed, or controlled requests invalidated
|
|
19
|
+
* its formerly pending selection. `detail: { invocationId, reason }`; invalidation uses
|
|
20
|
+
* `reason: 'request-invalidated'` after selection and open state are cleared. Non-cancelable.
|
|
19
21
|
* @csspart base - The root queue wrapper.
|
|
20
22
|
* @csspart heading-row - The heading and pending-count row.
|
|
21
23
|
* @csspart heading - The visible queue heading.
|
|
@@ -45,4 +47,4 @@ open:boolean;
|
|
|
45
47
|
editable:boolean;
|
|
46
48
|
/** Accessible name and visible heading. Optional. Omitting it localizes the default
|
|
47
49
|
* `approvalQueueLabel` message; an explicit empty string renders no visible/accessible label. */
|
|
48
|
-
label?:string;private get normalizedRequests();private get selectedRequest();protected willUpdate(changed:PropertyValues):void;private pendingCount;private formatCount;private statusLabel;private statusVariant;private select;private onApprove;private onDeny;private onClose;private renderRequest;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-approval-queue':LyraApprovalQueue;}}
|
|
50
|
+
label?:string;private nestedCloseInvocationId;private normalizedRequestsFor;private get normalizedRequests();private get selectedRequest();protected willUpdate(changed:PropertyValues):void;protected updated(changed:PropertyValues):void;private pendingCount;private formatCount;private statusLabel;private statusVariant;private select;private onApprove;private onDeny;private onClose;private renderRequest;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-approval-queue':LyraApprovalQueue;}}
|
|
@@ -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{keyed}from"lit/directives/keyed.js";import{LyraElement}from"../../../internal/lyra-element.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{styles}from"./approval-queue.styles.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{overallSemanticLabel}from"../semantic-owner.js";import{firstByIdentity}from"../collection-identity.js";import{LYRA_DEFAULT_approvalQueueEmpty,LYRA_DEFAULT_approvalQueueLabel,LYRA_DEFAULT_approvalQueueOpen,LYRA_DEFAULT_approvalQueuePending,LYRA_DEFAULT_approvalQueuePendingCount,LYRA_DEFAULT_confirmApproved,LYRA_DEFAULT_confirmDenied}from"../../../internal/default-strings.generated.js";class LyraApprovalQueue extends LyraElement{constructor(){super(...arguments),this.requests=[],this.selectedInvocationId=null,this.open=!1,this.editable=!0}static{this.defaultStrings={...super.defaultStrings,approvalQueueEmpty:LYRA_DEFAULT_approvalQueueEmpty,approvalQueueLabel:LYRA_DEFAULT_approvalQueueLabel,approvalQueueOpen:LYRA_DEFAULT_approvalQueueOpen,approvalQueuePending:LYRA_DEFAULT_approvalQueuePending,approvalQueuePendingCount:LYRA_DEFAULT_approvalQueuePendingCount,confirmApproved:LYRA_DEFAULT_confirmApproved,confirmDenied:LYRA_DEFAULT_confirmDenied}}static{this.ownedCollectionProperties=Object.freeze(["requests"])}static{this.styles=[LyraElement.styles,styles]}
|
|
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{keyed}from"lit/directives/keyed.js";import{LyraElement}from"../../../internal/lyra-element.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{styles}from"./approval-queue.styles.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{overallSemanticLabel}from"../semantic-owner.js";import{firstByIdentity}from"../collection-identity.js";import{LYRA_DEFAULT_approvalQueueEmpty,LYRA_DEFAULT_approvalQueueLabel,LYRA_DEFAULT_approvalQueueOpen,LYRA_DEFAULT_approvalQueuePending,LYRA_DEFAULT_approvalQueuePendingCount,LYRA_DEFAULT_confirmApproved,LYRA_DEFAULT_confirmDenied}from"../../../internal/default-strings.generated.js";class LyraApprovalQueue extends LyraElement{constructor(){super(...arguments),this.requests=[],this.selectedInvocationId=null,this.open=!1,this.editable=!0,this.nestedCloseInvocationId=null}static{this.defaultStrings={...super.defaultStrings,approvalQueueEmpty:LYRA_DEFAULT_approvalQueueEmpty,approvalQueueLabel:LYRA_DEFAULT_approvalQueueLabel,approvalQueueOpen:LYRA_DEFAULT_approvalQueueOpen,approvalQueuePending:LYRA_DEFAULT_approvalQueuePending,approvalQueuePendingCount:LYRA_DEFAULT_approvalQueuePendingCount,confirmApproved:LYRA_DEFAULT_confirmApproved,confirmDenied:LYRA_DEFAULT_confirmDenied}}static{this.ownedCollectionProperties=Object.freeze(["requests"])}static{this.styles=[LyraElement.styles,styles]}normalizedRequestsFor(value){const requests=Array.isArray(value)?value:[];return firstByIdentity(requests,request=>request.id)}get normalizedRequests(){return this.normalizedRequestsFor(this.requests)}get selectedRequest(){return this.normalizedRequests.find(request=>request.id===this.selectedInvocationId)}willUpdate(changed){if(super.willUpdate(changed),!changed.has("requests")&&!changed.has("selectedInvocationId"))return;const selectedInvocationId=this.selectedInvocationId,selected=this.selectedRequest;if(selected&&(selected.status??"pending")==="pending")return;const previousSelected=selectedInvocationId!==null&&changed.has("requests")?this.normalizedRequestsFor(changed.get("requests")).find(request=>request.id===selectedInvocationId):void 0,invalidated=this.hasUpdated&&!changed.has("selectedInvocationId")&&selectedInvocationId!==null&&previousSelected!==void 0&&(previousSelected.status??"pending")==="pending",nestedCloseInSameCycle=this.nestedCloseInvocationId===selectedInvocationId;this.selectedInvocationId=null,this.open=!1,invalidated&&!nestedCloseInSameCycle&&this.emit("lr-approval-close",{invocationId:selectedInvocationId,reason:"request-invalidated"})}updated(changed){super.updated(changed),this.nestedCloseInvocationId=null}pendingCount(){return this.normalizedRequests.filter(request=>(request.status??"pending")==="pending").length}formatCount(value){return getNumberFormat(this.effectiveLocale).format(value)}statusLabel(status){return status==="approved"?this.localize("confirmApproved"):status==="denied"?this.localize("confirmDenied"):this.localize("approvalQueuePending")}statusVariant(status){return status==="approved"?"success":status==="denied"?"danger":"warning"}select(request){(request.status??"pending")==="pending"&&(this.selectedInvocationId=request.id,this.open=!0,this.emit("lr-approval-select",{invocationId:request.id}))}onApprove(request,event){if(event.stopPropagation(),(request.status??"pending")!=="pending")return;this.emit("lr-approval-decision",{invocationId:request.id,approved:!0,args:event.detail.args},{cancelable:!0}).defaultPrevented&&event.preventDefault()}onDeny(request,event){if(event.stopPropagation(),(request.status??"pending")!=="pending")return;this.emit("lr-approval-decision",{invocationId:request.id,approved:!1},{cancelable:!0}).defaultPrevented&&event.preventDefault()}onClose(request,event){if(event.stopPropagation(),this.nestedCloseInvocationId=request.id,request.id===this.selectedInvocationId){const wasOpen=this.open;this.open=!1,wasOpen||this.requestUpdate()}else this.requestUpdate();this.emit("lr-approval-close",{invocationId:request.id,reason:event.detail})}renderRequest(request){const status=request.status??"pending";return html`<div role="listitem"><button
|
|
2
2
|
part="request"
|
|
3
3
|
type="button"
|
|
4
4
|
data-selected=${request.id===this.selectedInvocationId?"true":"false"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{css}from"lit";const styles=css`:host{min-inline-size:0;max-inline-size:100%;display:block}[part=base]{box-sizing:border-box;border:var(--lr-size-1px) solid var(--lr-color-border);border-radius:var(--lr-radius);flex-direction:column;block-size:100%;min-inline-size:0;max-inline-size:100%;display:flex;overflow:hidden}[part=header]{box-sizing:border-box;align-items:center;gap:var(--lr-space-s);min-inline-size:0;max-inline-size:100%;padding:var(--lr-space-xs) var(--lr-space-s);border-block-end:var(--lr-size-1px) solid var(--lr-color-border);flex-wrap:wrap;display:flex}[part=label]{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;font-weight:var(--lr-font-weight-semibold)}[part=kind]{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;font-size:var(--lr-font-size-xs);color:var(--lr-color-text-quiet);border:var(--lr-size-1px) solid var(--lr-color-border);border-radius:var(--lr-radius-pill);padding:0 var(--lr-space-xs)}[part=view-toggle]{gap:var(--lr-size-1px);display:flex}[part=view-button]{box-sizing:border-box;min-block-size:var(--lr-size-1-5rem);font:inherit;font-size:var(--lr-font-size-xs);background:var(--lr-color-surface);border:var(--lr-size-1px) solid var(--lr-color-border);padding:var(--lr-space-2xs) var(--lr-space-s);cursor:pointer}[part=view-button][aria-pressed=true]{background:var(--lr-artifact-panel-view-active-bg,var(--lr-color-brand-quiet));color:var(--lr-artifact-panel-view-active-color,var(--lr-color-brand))}[part=restore-button],[part=copy-button],[part=download-button]{box-sizing:border-box;min-block-size:var(--lr-size-1-5rem);font:inherit;font-size:var(--lr-font-size-xs);background:var(--lr-color-surface);border:var(--lr-size-1px) solid var(--lr-color-border);border-radius:var(--lr-radius);padding:var(--lr-space-2xs) var(--lr-space-s);cursor:pointer}[part=restore-button]:hover,[part=copy-button]:hover,[part=download-button]:hover,[part=view-button]:hover:not([aria-pressed=true]){background:var(--lr-color-brand-quiet);color:var(--lr-color-brand)}[part=restore-button]:active,[part=copy-button]:active,[part=download-button]:active,[part=view-button]:active:not([aria-pressed=true]){background:color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=restore-button]:focus-visible,[part=copy-button]:focus-visible,[part=download-button]:focus-visible,[part=view-button]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:var(--lr-focus-ring-offset)}[part=version-nav]{align-items:center;gap:var(--lr-space-xs);font-size:var(--lr-font-size-xs);margin-inline-start:auto;display:flex}[part=version-label]{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;color:var(--lr-color-text-quiet)}[part=version-previous],[part=version-next]{min-inline-size:var(--lr-icon-button-size);min-block-size:var(--lr-icon-button-size);color:var(--lr-color-text);font-size:var(--lr-font-size-m);cursor:pointer;border-radius:var(--lr-radius);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}[part=version-previous]:hover,[part=version-next]:hover{background:var(--lr-color-brand-quiet);color:var(--lr-color-brand)}[part=version-previous]:active,[part=version-next]:active{background:color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=version-previous]:focus-visible,[part=version-next]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:var(--lr-focus-ring-offset)}[part=version-previous]:disabled,[part=version-next]:disabled{cursor:not-allowed;opacity:var(--lr-opacity-disabled)}:host(:dir(rtl)) [part=version-previous-glyph],:host(:dir(rtl)) [part=version-next-glyph]{transform:scaleX(-1)}[part=body]{padding:var(--lr-space-m);flex:auto;overflow:auto}[part=body][aria-busy=true]{position:relative}[part=streaming-indicator]{font-size:var(--lr-font-size-xs);color:var(--lr-color-text-quiet)}`;export{styles};
|
|
1
|
+
import{css}from"lit";const styles=css`:host{min-inline-size:0;max-inline-size:100%;display:block}[part=base]{box-sizing:border-box;border:var(--lr-size-1px) solid var(--lr-color-border);border-radius:var(--lr-radius);flex-direction:column;block-size:100%;min-inline-size:0;max-inline-size:100%;display:flex;overflow:hidden}[part=header]{box-sizing:border-box;align-items:center;gap:var(--lr-space-s);min-inline-size:0;max-inline-size:100%;padding:var(--lr-space-xs) var(--lr-space-s);border-block-end:var(--lr-size-1px) solid var(--lr-color-border);flex-wrap:wrap;display:flex}[part=label]{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;font-weight:var(--lr-font-weight-semibold)}[part=kind]{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;font-size:var(--lr-font-size-xs);color:var(--lr-color-text-quiet);border:var(--lr-size-1px) solid var(--lr-color-border);border-radius:var(--lr-radius-pill);padding:0 var(--lr-space-xs)}[part=view-toggle]{gap:var(--lr-size-1px);display:flex}[part=view-button]{box-sizing:border-box;min-block-size:var(--lr-size-1-5rem);font:inherit;font-size:var(--lr-font-size-xs);background:var(--lr-color-surface);border:var(--lr-size-1px) solid var(--lr-color-border);padding:var(--lr-space-2xs) var(--lr-space-s);cursor:pointer}[part=view-button][aria-pressed=true]{background:var(--lr-artifact-panel-view-active-bg,var(--lr-color-brand-quiet));color:var(--lr-artifact-panel-view-active-color,var(--lr-color-brand))}[part=restore-button],[part=copy-button],[part=download-button]{box-sizing:border-box;min-block-size:var(--lr-size-1-5rem);font:inherit;font-size:var(--lr-font-size-xs);background:var(--lr-color-surface);border:var(--lr-size-1px) solid var(--lr-color-border);border-radius:var(--lr-radius);padding:var(--lr-space-2xs) var(--lr-space-s);cursor:pointer}[part=restore-button]:hover,[part=copy-button]:hover,[part=download-button]:hover,[part=view-button]:hover:not([aria-pressed=true]){background:var(--lr-color-brand-quiet);color:var(--lr-color-brand)}[part=restore-button]:active,[part=copy-button]:active,[part=download-button]:active,[part=view-button]:active:not([aria-pressed=true]){background:color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=restore-button]:focus-visible,[part=copy-button]:focus-visible,[part=download-button]:focus-visible,[part=view-button]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:var(--lr-focus-ring-offset)}[part=version-nav]{align-items:center;gap:var(--lr-space-xs);font-size:var(--lr-font-size-xs);margin-inline-start:auto;display:flex}[part=version-label]{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;color:var(--lr-color-text-quiet)}[part=version-previous],[part=version-next]{min-inline-size:var(--lr-icon-button-size);min-block-size:var(--lr-icon-button-size);color:var(--lr-color-text);font-size:var(--lr-font-size-m);cursor:pointer;border-radius:var(--lr-radius);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}[part=version-previous]:hover:not(:disabled),[part=version-next]:hover:not(:disabled){background:var(--lr-color-brand-quiet);color:var(--lr-color-brand)}[part=version-previous]:active:not(:disabled),[part=version-next]:active:not(:disabled){background:color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=version-previous]:focus-visible,[part=version-next]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:var(--lr-focus-ring-offset)}[part=version-previous]:disabled,[part=version-next]:disabled{cursor:not-allowed;opacity:var(--lr-opacity-disabled)}:host(:dir(rtl)) [part=version-previous-glyph],:host(:dir(rtl)) [part=version-next-glyph]{transform:scaleX(-1)}[part=body]{padding:var(--lr-space-m);flex:auto;overflow:auto}[part=body][aria-busy=true]{position:relative}[part=streaming-indicator]{font-size:var(--lr-font-size-xs);color:var(--lr-color-text-quiet)}`;export{styles};
|
|
@@ -53,7 +53,9 @@ status?:GitStatus;}export interface LyraCommitCardEventMap{'lr-file-select':Cust
|
|
|
53
53
|
* @status stable
|
|
54
54
|
* @since 4.0.0
|
|
55
55
|
*/
|
|
56
|
-
export declare class LyraCommitCard extends LyraElement<LyraCommitCardEventMap>{protected static readonly ownedCollectionProperties:readonly string[];static styles:import("lit").CSSResultGroup[];hash:string;
|
|
56
|
+
export declare class LyraCommitCard extends LyraElement<LyraCommitCardEventMap>{protected static readonly ownedCollectionProperties:readonly string[];static styles:import("lit").CSSResultGroup[];hash:string;
|
|
57
|
+
/** Commit subject and optional body. Removing the attribute clears both displayed sections. */
|
|
58
|
+
message:string;author:string;timestamp?:number;
|
|
57
59
|
/** File changes keyed by path. Empty/blank paths are omitted and duplicates normalize
|
|
58
60
|
* first-wins before diffstat and events. */
|
|
59
61
|
files:readonly CommitFileChange[];
|
|
@@ -1,5 +1,5 @@
|
|
|
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{LyraElement}from"../../../internal/lyra-element.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{finiteCount,finiteRange}from"../../../internal/numbers.js";import{styles}from"./commit-card.styles.js";import{GIT_STATUSES}from"../../data/file-tree/file-tree.class.js";import{getDateTimeFormat}from"../../../internal/intl-cache.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{overallSemanticLabel,overallSemanticRole}from"../semantic-owner.js";import{firstByIdentity}from"../collection-identity.js";import{writeClipboardText}from"../../../internal/clipboard.js";import{LYRA_DEFAULT_collapse,LYRA_DEFAULT_commitCardCopyHash,LYRA_DEFAULT_commitCardDiffSummary,LYRA_DEFAULT_commitCardHideFiles,LYRA_DEFAULT_commitCardLabel,LYRA_DEFAULT_commitCardShowFiles,LYRA_DEFAULT_copied,LYRA_DEFAULT_copy,LYRA_DEFAULT_copyFailed,LYRA_DEFAULT_details,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_gitStatusAdded,LYRA_DEFAULT_gitStatusConflicted,LYRA_DEFAULT_gitStatusDeleted,LYRA_DEFAULT_gitStatusIgnored,LYRA_DEFAULT_gitStatusModified,LYRA_DEFAULT_gitStatusRenamed,LYRA_DEFAULT_gitStatusUntracked,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_restore,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";const GIT_STATUS_LETTER={added:"A",modified:"M",deleted:"D",renamed:"R",untracked:"U",conflicted:"C",ignored:"!"},MAX_DATE_EPOCH_MS=864e13,GIT_STATUS_KEY={added:"gitStatusAdded",modified:"gitStatusModified",deleted:"gitStatusDeleted",renamed:"gitStatusRenamed",untracked:"gitStatusUntracked",conflicted:"gitStatusConflicted",ignored:"gitStatusIgnored"};class LyraCommitCard extends LyraElement{constructor(){super(...arguments),this.hash="",this.message="",this.author="",this.files=[],this.filesExpanded=!1,this.copyable=!0,this.compact=!1,this.frame="card",this.copyStatus="rest",this.copyGeneration=0,this.onCopy=()=>{this.copyHash()},this.toggleFiles=()=>{this.filesExpanded=!this.filesExpanded,this.emit("lr-toggle",{collapsed:!this.filesExpanded})}}static{this.defaultStrings={...super.defaultStrings,collapse:LYRA_DEFAULT_collapse,commitCardCopyHash:LYRA_DEFAULT_commitCardCopyHash,commitCardDiffSummary:LYRA_DEFAULT_commitCardDiffSummary,commitCardHideFiles:LYRA_DEFAULT_commitCardHideFiles,commitCardLabel:LYRA_DEFAULT_commitCardLabel,commitCardShowFiles:LYRA_DEFAULT_commitCardShowFiles,copied:LYRA_DEFAULT_copied,copy:LYRA_DEFAULT_copy,copyFailed:LYRA_DEFAULT_copyFailed,details:LYRA_DEFAULT_details,fieldRequired:LYRA_DEFAULT_fieldRequired,gitStatusAdded:LYRA_DEFAULT_gitStatusAdded,gitStatusConflicted:LYRA_DEFAULT_gitStatusConflicted,gitStatusDeleted:LYRA_DEFAULT_gitStatusDeleted,gitStatusIgnored:LYRA_DEFAULT_gitStatusIgnored,gitStatusModified:LYRA_DEFAULT_gitStatusModified,gitStatusRenamed:LYRA_DEFAULT_gitStatusRenamed,gitStatusUntracked:LYRA_DEFAULT_gitStatusUntracked,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,restore:LYRA_DEFAULT_restore,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select}}static{this.ownedCollectionProperties=Object.freeze(["files"])}static{this.styles=[LyraElement.styles,styles]}get normalizedFiles(){return firstByIdentity(Array.isArray(this.files)?this.files:[],file=>file.path).map(file=>{if(file.status===void 0||GIT_STATUSES.has(file.status))return file;const retained={...file};return delete retained.status,retained})}disconnectedCallback(){super.disconnectedCallback(),this.resetCopyFeedback()}adoptedCallback(){super.adoptedCallback(),this.resetCopyFeedback()}cancelCopyTimer(){const timer=this.copyTimer;this.copyTimer=void 0,timer&&timer.owner.clearTimeout(timer.handle)}resetCopyFeedback(){this.copyGeneration+=1,this.cancelCopyTimer(),this.copyStatus="rest"}get subject(){return
|
|
2
|
-
`)[0]??""}get body(){return
|
|
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{LyraElement}from"../../../internal/lyra-element.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{finiteCount,finiteRange}from"../../../internal/numbers.js";import{styles}from"./commit-card.styles.js";import{GIT_STATUSES}from"../../data/file-tree/file-tree.class.js";import{getDateTimeFormat}from"../../../internal/intl-cache.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{overallSemanticLabel,overallSemanticRole}from"../semantic-owner.js";import{firstByIdentity}from"../collection-identity.js";import{writeClipboardText}from"../../../internal/clipboard.js";import{LYRA_DEFAULT_collapse,LYRA_DEFAULT_commitCardCopyHash,LYRA_DEFAULT_commitCardDiffSummary,LYRA_DEFAULT_commitCardHideFiles,LYRA_DEFAULT_commitCardLabel,LYRA_DEFAULT_commitCardShowFiles,LYRA_DEFAULT_copied,LYRA_DEFAULT_copy,LYRA_DEFAULT_copyFailed,LYRA_DEFAULT_details,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_gitStatusAdded,LYRA_DEFAULT_gitStatusConflicted,LYRA_DEFAULT_gitStatusDeleted,LYRA_DEFAULT_gitStatusIgnored,LYRA_DEFAULT_gitStatusModified,LYRA_DEFAULT_gitStatusRenamed,LYRA_DEFAULT_gitStatusUntracked,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_restore,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";const GIT_STATUS_LETTER={added:"A",modified:"M",deleted:"D",renamed:"R",untracked:"U",conflicted:"C",ignored:"!"},MAX_DATE_EPOCH_MS=864e13,GIT_STATUS_KEY={added:"gitStatusAdded",modified:"gitStatusModified",deleted:"gitStatusDeleted",renamed:"gitStatusRenamed",untracked:"gitStatusUntracked",conflicted:"gitStatusConflicted",ignored:"gitStatusIgnored"};class LyraCommitCard extends LyraElement{constructor(){super(...arguments),this.hash="",this.message="",this.author="",this.files=[],this.filesExpanded=!1,this.copyable=!0,this.compact=!1,this.frame="card",this.copyStatus="rest",this.copyGeneration=0,this.onCopy=()=>{this.copyHash()},this.toggleFiles=()=>{this.filesExpanded=!this.filesExpanded,this.emit("lr-toggle",{collapsed:!this.filesExpanded})}}static{this.defaultStrings={...super.defaultStrings,collapse:LYRA_DEFAULT_collapse,commitCardCopyHash:LYRA_DEFAULT_commitCardCopyHash,commitCardDiffSummary:LYRA_DEFAULT_commitCardDiffSummary,commitCardHideFiles:LYRA_DEFAULT_commitCardHideFiles,commitCardLabel:LYRA_DEFAULT_commitCardLabel,commitCardShowFiles:LYRA_DEFAULT_commitCardShowFiles,copied:LYRA_DEFAULT_copied,copy:LYRA_DEFAULT_copy,copyFailed:LYRA_DEFAULT_copyFailed,details:LYRA_DEFAULT_details,fieldRequired:LYRA_DEFAULT_fieldRequired,gitStatusAdded:LYRA_DEFAULT_gitStatusAdded,gitStatusConflicted:LYRA_DEFAULT_gitStatusConflicted,gitStatusDeleted:LYRA_DEFAULT_gitStatusDeleted,gitStatusIgnored:LYRA_DEFAULT_gitStatusIgnored,gitStatusModified:LYRA_DEFAULT_gitStatusModified,gitStatusRenamed:LYRA_DEFAULT_gitStatusRenamed,gitStatusUntracked:LYRA_DEFAULT_gitStatusUntracked,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,restore:LYRA_DEFAULT_restore,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select}}static{this.ownedCollectionProperties=Object.freeze(["files"])}static{this.styles=[LyraElement.styles,styles]}get normalizedFiles(){return firstByIdentity(Array.isArray(this.files)?this.files:[],file=>file.path).map(file=>{if(file.status===void 0||GIT_STATUSES.has(file.status))return file;const retained={...file};return delete retained.status,retained})}disconnectedCallback(){super.disconnectedCallback(),this.resetCopyFeedback()}adoptedCallback(){super.adoptedCallback(),this.resetCopyFeedback()}cancelCopyTimer(){const timer=this.copyTimer;this.copyTimer=void 0,timer&&timer.owner.clearTimeout(timer.handle)}resetCopyFeedback(){this.copyGeneration+=1,this.cancelCopyTimer(),this.copyStatus="rest"}get subject(){return(this.message??"").split(`
|
|
2
|
+
`)[0]??""}get body(){return(this.message??"").split(`
|
|
3
3
|
`).slice(1).join(`
|
|
4
4
|
`).trim()}get validTimestamp(){if(!(this.timestamp==null||!Number.isFinite(this.timestamp)||this.timestamp>MAX_DATE_EPOCH_MS))return finiteRange(this.timestamp,this.timestamp,0)}get totals(){return this.normalizedFiles.reduce((acc,file)=>({additions:finiteCount(acc.additions+finiteCount(file.additions)),deletions:finiteCount(acc.deletions+finiteCount(file.deletions))}),{additions:0,deletions:0})}async copyHash(){const text=this.hash,owner=this.isConnected?this.ownerDocument.defaultView:null,generation=++this.copyGeneration;this.cancelCopyTimer(),this.copyStatus="rest";const outcome=await writeClipboardText(owner,text);if(!(!owner||!this.isCurrentCopy(generation,owner))){if(!outcome.ok){this.showCopyStatus("error",generation,owner),this.emit("lr-error"),this.emit("lr-copy-error",outcome);return}this.showCopyStatus("success",generation,owner),this.emit("lr-copy",outcome)}}isCurrentCopy(generation,owner){return this.isConnected&&generation===this.copyGeneration&&this.ownerDocument.defaultView===owner}showCopyStatus(status,generation,owner){this.copyStatus=status,this.cancelCopyTimer();let handle=0;handle=owner.setTimeout(()=>{this.copyTimer?.owner!==owner||this.copyTimer.handle!==handle||this.copyTimer.generation!==generation||generation!==this.copyGeneration||!this.isConnected||this.ownerDocument.defaultView!==owner||(this.copyTimer=void 0,this.copyStatus="rest")},1500),this.copyTimer={owner,handle,generation}}render(){const files=this.normalizedFiles,{additions,deletions}=this.totals,timestamp=this.validTimestamp;return html`
|
|
5
5
|
<div
|
|
@@ -15,7 +15,8 @@ import{type TemplateResult,type PropertyValues}from'lit';import{LyraElement}from
|
|
|
15
15
|
* @event lr-vote - `detail: { choice, itemId }`. Cancelable; preventing it preserves the prior vote.
|
|
16
16
|
* @csspart base - The outer wrapper.
|
|
17
17
|
* @csspart prompt - The optional prompt header, hidden when the `prompt` slot is empty.
|
|
18
|
-
* @csspart panes - The row (or, under 640px, column) wrapping both panes.
|
|
18
|
+
* @csspart panes - The row (or, under 640px, column) wrapping both panes. Stacked panes size to
|
|
19
|
+
* their content up to the configured maximum height.
|
|
19
20
|
* @csspart pane-a - The first pane's labeled scroll region.
|
|
20
21
|
* @csspart pane-b - The second pane's labeled scroll region.
|
|
21
22
|
* @csspart pane-header - A pane's visible heading.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{css}from"lit";const styles=css`:host{contain-intrinsic-inline-size:var(--lr-size-20rem);--_lr-compare-panel-max-height:var(--lr-size-24rem);min-inline-size:0;max-inline-size:100%;display:block;container-type:inline-size}[part=base]{gap:var(--lr-space-m);min-inline-size:0;max-inline-size:100%;color:var(--lr-color-text);flex-direction:column;display:flex}[part=prompt]{padding:var(--lr-space-s) var(--lr-space-m);border:var(--lr-border-width-thin) solid var(--lr-color-border);border-radius:var(--lr-radius);background:var(--lr-color-surface-raised)}[part=prompt][hidden]{display:none}[part=panes]{gap:var(--lr-space-m);align-items:stretch;min-inline-size:0;max-inline-size:100%;display:flex}[part=pane-a],[part=pane-b]{gap:var(--lr-space-xs);border:var(--lr-border-width-thin) solid var(--lr-color-border);border-radius:var(--lr-radius);min-inline-size:0;padding:var(--lr-space-m);max-block-size:var(--lr-compare-panel-max-height,var(--_lr-compare-panel-max-height));flex-direction:column;flex:1 1 0;display:flex;overflow:hidden auto}[part=pane-a]:focus-visible,[part=pane-b]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:calc(-1 * var(--lr-focus-ring-width))}[part=pane-header]{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;font-weight:var(--lr-font-weight-semibold);font-size:var(--lr-font-size-xs);color:var(--lr-color-text-quiet);text-transform:uppercase;letter-spacing:var(--lr-size-0-02em)}[part=vote-bar]{gap:var(--lr-space-s);flex-wrap:wrap;min-inline-size:0;max-inline-size:100%;display:flex}[part=vote-button]{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;font:inherit;font-size:var(--lr-font-size-sm);border-radius:var(--lr-radius-pill);padding:var(--lr-space-xs) var(--lr-space-m);border:var(--lr-border-width-thin) solid var(--lr-color-border);background:var(--lr-color-surface);color:var(--lr-color-text);cursor:pointer;transition:background-color var(--lr-transition-fast), border-color var(--lr-transition-fast)}[part=vote-button]:hover{background:var(--lr-color-brand-quiet)}[part=vote-button]:active{background:color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=vote-button][data-selected]{background:var(--lr-compare-panel-selected-background,var(--lr-color-brand-quiet));border-color:var(--lr-compare-panel-selected-border-color,var(--lr-color-brand));color:var(--lr-compare-panel-selected-color,var(--lr-color-brand));font-weight:var(--lr-compare-panel-selected-font-weight,var(--lr-font-weight-semibold))}[part=vote-button][data-selected]:active{background:color-mix(in oklab, var(--lr-compare-panel-selected-background,var(--lr-color-brand-quiet)), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=vote-button]:disabled{opacity:var(--lr-opacity-disabled);cursor:not-allowed}[part=vote-button]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:var(--lr-focus-ring-offset)}@container (inline-size<=639.98px){[part=panes]{flex-direction:column}}`;export{styles};
|
|
1
|
+
import{css}from"lit";const styles=css`:host{contain-intrinsic-inline-size:var(--lr-size-20rem);--_lr-compare-panel-max-height:var(--lr-size-24rem);min-inline-size:0;max-inline-size:100%;display:block;container-type:inline-size}[part=base]{gap:var(--lr-space-m);min-inline-size:0;max-inline-size:100%;color:var(--lr-color-text);flex-direction:column;display:flex}[part=prompt]{padding:var(--lr-space-s) var(--lr-space-m);border:var(--lr-border-width-thin) solid var(--lr-color-border);border-radius:var(--lr-radius);background:var(--lr-color-surface-raised)}[part=prompt][hidden]{display:none}[part=panes]{gap:var(--lr-space-m);align-items:stretch;min-inline-size:0;max-inline-size:100%;display:flex}[part=pane-a],[part=pane-b]{gap:var(--lr-space-xs);border:var(--lr-border-width-thin) solid var(--lr-color-border);border-radius:var(--lr-radius);min-inline-size:0;padding:var(--lr-space-m);max-block-size:var(--lr-compare-panel-max-height,var(--_lr-compare-panel-max-height));flex-direction:column;flex:1 1 0;display:flex;overflow:hidden auto}[part=pane-a]:focus-visible,[part=pane-b]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:calc(-1 * var(--lr-focus-ring-width))}[part=pane-header]{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;font-weight:var(--lr-font-weight-semibold);font-size:var(--lr-font-size-xs);color:var(--lr-color-text-quiet);text-transform:uppercase;letter-spacing:var(--lr-size-0-02em)}[part=vote-bar]{gap:var(--lr-space-s);flex-wrap:wrap;min-inline-size:0;max-inline-size:100%;display:flex}[part=vote-button]{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;font:inherit;font-size:var(--lr-font-size-sm);border-radius:var(--lr-radius-pill);padding:var(--lr-space-xs) var(--lr-space-m);border:var(--lr-border-width-thin) solid var(--lr-color-border);background:var(--lr-color-surface);color:var(--lr-color-text);cursor:pointer;transition:background-color var(--lr-transition-fast), border-color var(--lr-transition-fast)}[part=vote-button]:where(:not(:disabled)):hover{background:var(--lr-color-brand-quiet)}[part=vote-button]:where(:not(:disabled)):active{background:color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=vote-button][data-selected]{background:var(--lr-compare-panel-selected-background,var(--lr-color-brand-quiet));border-color:var(--lr-compare-panel-selected-border-color,var(--lr-color-brand));color:var(--lr-compare-panel-selected-color,var(--lr-color-brand));font-weight:var(--lr-compare-panel-selected-font-weight,var(--lr-font-weight-semibold))}[part=vote-button][data-selected]:where(:not(:disabled)):active{background:color-mix(in oklab, var(--lr-compare-panel-selected-background,var(--lr-color-brand-quiet)), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=vote-button]:disabled{opacity:var(--lr-opacity-disabled);cursor:not-allowed}[part=vote-button]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:var(--lr-focus-ring-offset)}@container (inline-size<=639.98px){[part=panes]{flex-direction:column}[part=pane-a],[part=pane-b]{flex-basis:auto}}`;export{styles};
|
|
@@ -12,7 +12,11 @@ export type PromptStudioWrap=LyraTextWrap;export interface PromptStudioMessage{i
|
|
|
12
12
|
* semantics. Variable rows are
|
|
13
13
|
* occurrence-addressed because their names are editable and may temporarily be empty or repeated;
|
|
14
14
|
* duplicate names remain independently editable while placeholder resolution uses the first one.
|
|
15
|
-
* Variable values resolve recursively; undefined and cyclic placeholders remain intact
|
|
15
|
+
* Variable values resolve recursively; undefined and cyclic placeholders remain intact within
|
|
16
|
+
* preview bounds. One preview projection allows at most 64 nested variable resolutions, 10,000
|
|
17
|
+
* placeholder substitutions, and 1,048,576 UTF-16 code units each of aggregate preview output and
|
|
18
|
+
* aggregate memoized intermediate text. A localized visible fallback replaces the preview when
|
|
19
|
+
* a limit would be exceeded; raw editor state and save/run payloads are unchanged.
|
|
16
20
|
*
|
|
17
21
|
* Public collection properties take bounded, clone-owned readonly snapshots. Create a new
|
|
18
22
|
* collection and reassign it after changes; mutating the assigned array does not update the view.
|
|
@@ -83,4 +87,4 @@ autoCorrect:string;
|
|
|
83
87
|
wrap:PromptStudioWrap;
|
|
84
88
|
/** The moved row's next usable action. Lit retains keyed rows but native button focus is not
|
|
85
89
|
* preserved when their position changes, so restore it after the new boundary state renders. */
|
|
86
|
-
private pendingMessageMoveFocus?;disconnectedCallback():void;private roleLabel;private state;private messageItems;private variableItems;private uniqueMessages;private uniqueVersions;private emitChange;private updateMessage;private removeMessage;private addMessage;private updateVariable;private requestMessageMove;private restoreMessageMoveFocus;private
|
|
90
|
+
private pendingMessageMoveFocus?;disconnectedCallback():void;private roleLabel;private state;private messageItems;private variableItems;private uniqueMessages;private uniqueVersions;private emitChange;private emitNormalizedChange;private updateMessage;private removeMessage;private addMessage;private updateVariable;private requestMessageMove;private restoreMessageMoveFocus;private resolvePreviews;private onFocus;private onBlur;private renderMessage;private renderRemoveMessage;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-prompt-studio':LyraPromptStudio;}}
|
|
@@ -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{repeat}from"lit/directives/repeat.js";import{trueDefaultSpellcheckConverter as spellcheckConverter}from"../../../internal/converters.js";import{chevronIcon}from"../../../internal/icons.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{LyraElement}from"../../../internal/lyra-element.js";import{styles}from"./prompt-studio.styles.js";import{overallSemanticLabel}from"../semantic-owner.js";import{LYRA_DEFAULT_moveDown,LYRA_DEFAULT_moveUp,LYRA_DEFAULT_promptStudioAddMessage,LYRA_DEFAULT_promptStudioLabel,LYRA_DEFAULT_promptStudioMessageContent,LYRA_DEFAULT_promptStudioMessageRole,LYRA_DEFAULT_promptStudioMessages,LYRA_DEFAULT_promptStudioPreview,LYRA_DEFAULT_promptStudioRemoveMessage,LYRA_DEFAULT_promptStudioRoleAssistant,LYRA_DEFAULT_promptStudioRoleSystem,LYRA_DEFAULT_promptStudioRoleTool,LYRA_DEFAULT_promptStudioRoleUser,LYRA_DEFAULT_promptStudioRun,LYRA_DEFAULT_promptStudioSave,LYRA_DEFAULT_promptStudioVariableName,LYRA_DEFAULT_promptStudioVariableValue,LYRA_DEFAULT_promptStudioVariables,LYRA_DEFAULT_promptStudioVersions}from"../../../internal/default-strings.generated.js";class LyraPromptStudio extends LyraElement{constructor(){super(...arguments),this.messages=[],this.variables=[],this.versions=[],this.selectedVersionId=null,this.label="",this.heading="",this.running=!1,this.disabled=!1,this.reorderable=!1,this.spellcheck=!0,this.autocapitalize="",this.autoCorrect="",this.wrap="soft",this.onFocus=()=>{this.emit("focus")},this.onBlur=()=>{this.emit("blur")},this.renderMessage=(message,index)=>{const displayIndex=getNumberFormat(this.effectiveLocale).format(index+1),role=this.roleLabel(message.role);return html`<li part="message" data-message-id=${message.id}>
|
|
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{repeat}from"lit/directives/repeat.js";import{trueDefaultSpellcheckConverter as spellcheckConverter}from"../../../internal/converters.js";import{chevronIcon}from"../../../internal/icons.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{LyraElement}from"../../../internal/lyra-element.js";import{styles}from"./prompt-studio.styles.js";import{overallSemanticLabel}from"../semantic-owner.js";import{LYRA_DEFAULT_moveDown,LYRA_DEFAULT_moveUp,LYRA_DEFAULT_promptStudioAddMessage,LYRA_DEFAULT_promptStudioLabel,LYRA_DEFAULT_promptStudioMessageContent,LYRA_DEFAULT_promptStudioMessageRole,LYRA_DEFAULT_promptStudioMessages,LYRA_DEFAULT_promptStudioPreview,LYRA_DEFAULT_promptStudioPreviewLimit,LYRA_DEFAULT_promptStudioRemoveMessage,LYRA_DEFAULT_promptStudioRoleAssistant,LYRA_DEFAULT_promptStudioRoleSystem,LYRA_DEFAULT_promptStudioRoleTool,LYRA_DEFAULT_promptStudioRoleUser,LYRA_DEFAULT_promptStudioRun,LYRA_DEFAULT_promptStudioSave,LYRA_DEFAULT_promptStudioVariableName,LYRA_DEFAULT_promptStudioVariableValue,LYRA_DEFAULT_promptStudioVariables,LYRA_DEFAULT_promptStudioVersions}from"../../../internal/default-strings.generated.js";const PREVIEW_MAX_DEPTH=64,PREVIEW_MAX_SUBSTITUTIONS=1e4,PREVIEW_MAX_TEXT_LENGTH=1048576;class LyraPromptStudio extends LyraElement{constructor(){super(...arguments),this.messages=[],this.variables=[],this.versions=[],this.selectedVersionId=null,this.label="",this.heading="",this.running=!1,this.disabled=!1,this.reorderable=!1,this.spellcheck=!0,this.autocapitalize="",this.autoCorrect="",this.wrap="soft",this.onFocus=()=>{this.emit("focus")},this.onBlur=()=>{this.emit("blur")},this.renderMessage=(message,index,messageCount)=>{const displayIndex=getNumberFormat(this.effectiveLocale).format(index+1),role=this.roleLabel(message.role);return html`<li part="message" data-message-id=${message.id}>
|
|
2
2
|
<span class="message-role-wrapper">
|
|
3
3
|
<select
|
|
4
4
|
part="message-role"
|
|
@@ -40,7 +40,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
40
40
|
<button
|
|
41
41
|
part="move-message-down"
|
|
42
42
|
type="button"
|
|
43
|
-
?disabled=${this.disabled||index===
|
|
43
|
+
?disabled=${this.disabled||index===messageCount-1}
|
|
44
44
|
aria-label=${this.localize("moveDown")}
|
|
45
45
|
@click=${()=>this.requestMessageMove(message.id,index,1)}
|
|
46
46
|
>
|
|
@@ -49,7 +49,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
49
49
|
${this.renderRemoveMessage(message.id)}
|
|
50
50
|
</div>
|
|
51
51
|
`:this.renderRemoveMessage(message.id)}
|
|
52
|
-
</li>`}}static{this.defaultStrings={...super.defaultStrings,moveDown:LYRA_DEFAULT_moveDown,moveUp:LYRA_DEFAULT_moveUp,promptStudioAddMessage:LYRA_DEFAULT_promptStudioAddMessage,promptStudioLabel:LYRA_DEFAULT_promptStudioLabel,promptStudioMessageContent:LYRA_DEFAULT_promptStudioMessageContent,promptStudioMessageRole:LYRA_DEFAULT_promptStudioMessageRole,promptStudioMessages:LYRA_DEFAULT_promptStudioMessages,promptStudioPreview:LYRA_DEFAULT_promptStudioPreview,promptStudioRemoveMessage:LYRA_DEFAULT_promptStudioRemoveMessage,promptStudioRoleAssistant:LYRA_DEFAULT_promptStudioRoleAssistant,promptStudioRoleSystem:LYRA_DEFAULT_promptStudioRoleSystem,promptStudioRoleTool:LYRA_DEFAULT_promptStudioRoleTool,promptStudioRoleUser:LYRA_DEFAULT_promptStudioRoleUser,promptStudioRun:LYRA_DEFAULT_promptStudioRun,promptStudioSave:LYRA_DEFAULT_promptStudioSave,promptStudioVariableName:LYRA_DEFAULT_promptStudioVariableName,promptStudioVariableValue:LYRA_DEFAULT_promptStudioVariableValue,promptStudioVariables:LYRA_DEFAULT_promptStudioVariables,promptStudioVersions:LYRA_DEFAULT_promptStudioVersions}}static{this.ownedCollectionProperties=Object.freeze(["messages","variables","versions"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-change","lr-message-reorder","lr-run","lr-save","lr-version-select"])}disconnectedCallback(){this.pendingMessageMoveFocus=void 0,super.disconnectedCallback()}roleLabel(role){switch(role){case"system":return this.localize("promptStudioRoleSystem");case"user":return this.localize("promptStudioRoleUser");case"assistant":return this.localize("promptStudioRoleAssistant");case"tool":return this.localize("promptStudioRoleTool")}}state(){return{messages:this.uniqueMessages().map(message=>({...message})),variables:this.variableItems().map(variable=>({...variable}))}}messageItems(source=this.messages){return Array.isArray(source)?source:[]}variableItems(source=this.variables){return Array.isArray(source)?source:[]}uniqueMessages(source=this.messages){const seen=new Set;return this.messageItems(source).filter(message=>!message||typeof message.id!="string"||message.id.trim().length===0||seen.has(message.id)?!1:(seen.add(message.id),!0))}uniqueVersions(){const seen=new Set;return(Array.isArray(this.versions)?this.versions:[]).filter(version=>!version||typeof version.id!="string"||version.id.trim().length===0||seen.has(version.id)?!1:(seen.add(version.id),!0))}emitChange(messages=this.messages,variables=this.variables){const proposal={messages:
|
|
52
|
+
</li>`}}static{this.defaultStrings={...super.defaultStrings,moveDown:LYRA_DEFAULT_moveDown,moveUp:LYRA_DEFAULT_moveUp,promptStudioAddMessage:LYRA_DEFAULT_promptStudioAddMessage,promptStudioLabel:LYRA_DEFAULT_promptStudioLabel,promptStudioMessageContent:LYRA_DEFAULT_promptStudioMessageContent,promptStudioMessageRole:LYRA_DEFAULT_promptStudioMessageRole,promptStudioMessages:LYRA_DEFAULT_promptStudioMessages,promptStudioPreview:LYRA_DEFAULT_promptStudioPreview,promptStudioPreviewLimit:LYRA_DEFAULT_promptStudioPreviewLimit,promptStudioRemoveMessage:LYRA_DEFAULT_promptStudioRemoveMessage,promptStudioRoleAssistant:LYRA_DEFAULT_promptStudioRoleAssistant,promptStudioRoleSystem:LYRA_DEFAULT_promptStudioRoleSystem,promptStudioRoleTool:LYRA_DEFAULT_promptStudioRoleTool,promptStudioRoleUser:LYRA_DEFAULT_promptStudioRoleUser,promptStudioRun:LYRA_DEFAULT_promptStudioRun,promptStudioSave:LYRA_DEFAULT_promptStudioSave,promptStudioVariableName:LYRA_DEFAULT_promptStudioVariableName,promptStudioVariableValue:LYRA_DEFAULT_promptStudioVariableValue,promptStudioVariables:LYRA_DEFAULT_promptStudioVariables,promptStudioVersions:LYRA_DEFAULT_promptStudioVersions}}static{this.ownedCollectionProperties=Object.freeze(["messages","variables","versions"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-change","lr-message-reorder","lr-run","lr-save","lr-version-select"])}disconnectedCallback(){this.pendingMessageMoveFocus=void 0,super.disconnectedCallback()}roleLabel(role){switch(role){case"system":return this.localize("promptStudioRoleSystem");case"user":return this.localize("promptStudioRoleUser");case"assistant":return this.localize("promptStudioRoleAssistant");case"tool":return this.localize("promptStudioRoleTool")}}state(){return{messages:this.uniqueMessages().map(message=>({...message})),variables:this.variableItems().map(variable=>({...variable}))}}messageItems(source=this.messages){return Array.isArray(source)?source:[]}variableItems(source=this.variables){return Array.isArray(source)?source:[]}uniqueMessages(source=this.messages){const seen=new Set;return this.messageItems(source).filter(message=>!message||typeof message.id!="string"||message.id.trim().length===0||seen.has(message.id)?!1:(seen.add(message.id),!0))}uniqueVersions(){const seen=new Set;return(Array.isArray(this.versions)?this.versions:[]).filter(version=>!version||typeof version.id!="string"||version.id.trim().length===0||seen.has(version.id)?!1:(seen.add(version.id),!0))}emitChange(messages=this.messages,variables=this.variables){this.emitNormalizedChange(this.uniqueMessages(messages),variables)}emitNormalizedChange(messages,variables=this.variables){const proposal={messages:messages.map(message=>({...message})),variables:this.variableItems(variables).map(variable=>({...variable}))};this.emit("lr-change",proposal,{cancelable:!0}).defaultPrevented||(this.messages=proposal.messages,this.variables=proposal.variables)}updateMessage(id,patch){let found=!1;this.emitNormalizedChange(this.uniqueMessages().map(message=>!found&&message.id===id?(found=!0,{...message,...patch}):message))}removeMessage(id){let removed=!1;this.emitNormalizedChange(this.uniqueMessages().filter(message=>!removed&&message.id===id?(removed=!0,!1):!0))}addMessage(){const messages=this.uniqueMessages(),existingIds=new Set(messages.map(message=>message.id)),base=`message-${Date.now()}-${messages.length}`;let id=base,suffix=1;for(;existingIds.has(id);)id=`${base}-${suffix}`,suffix++;this.emitNormalizedChange([...messages,{id,role:"user",content:""}])}updateVariable(index,patch){this.emitChange(this.messages,this.variableItems().map((variable,candidateIndex)=>candidateIndex===index?{...variable,...patch}:variable))}requestMessageMove(messageId,fromIndex,offset){const messages=this.uniqueMessages(),toIndex=fromIndex+offset;if(this.disabled||!this.reorderable||toIndex<0||toIndex>=messages.length||messages[fromIndex]?.id!==messageId)return;const nextMessages=messages.map(message=>({...message})),[moved]=nextMessages.splice(fromIndex,1);if(!moved||(nextMessages.splice(toIndex,0,moved),this.emit("lr-message-reorder",{messages:nextMessages.map(message=>({...message})),messageId,fromIndex,toIndex},{cancelable:!0}).defaultPrevented))return;const part=toIndex===0?"move-message-down":toIndex===nextMessages.length-1||offset<0?"move-message-up":"move-message-down";this.pendingMessageMoveFocus={messageId,part},this.emitNormalizedChange(nextMessages),this.scheduleAfterUpdate(()=>this.restoreMessageMoveFocus(),"prompt-studio-message-reorder-focus")}restoreMessageMoveFocus(){const pending=this.pendingMessageMoveFocus;if(this.pendingMessageMoveFocus=void 0,!pending||!this.isConnected)return;const action=[...this.shadowRoot?.querySelectorAll("[data-message-id]")??[]].find(candidate=>candidate.dataset.messageId===pending.messageId)?.querySelector(`[part='${pending.part}']`);action&&!action.disabled&&action.focus()}resolvePreviews(messages,variableItems){const variables=new Map;for(const variable of variableItems)variable.name!==""&&!variables.has(variable.name)&&variables.set(variable.name,variable.value);let substitutions=0,outputLength=0,memoLength=0;const previews=[];for(const message of messages){const resolved=new Map,visiting=new Set,resolveText=(content,remaining)=>{const parts=[];let length=0,position=0;const appendLiteral=end=>{const size=end-position;return size>remaining()-length?!1:(size>0&&parts.push(content.slice(position,end)),length+=size,!0)},placeholders=/\{\{([^{}]+)\}\}/g;let match;for(;(match=placeholders.exec(content))!==null;){if(!appendLiteral(match.index)||substitutions>=PREVIEW_MAX_SUBSTITUTIONS)return null;substitutions++;const next=resolveName(match[1],match[0]);if(next===null||next.length>remaining()-length)return null;next.length>0&&parts.push(next),length+=next.length,position=placeholders.lastIndex}return appendLiteral(content.length)?parts.join(""):null},resolveName=(name,literal)=>{const cached=resolved.get(name);if(cached!==void 0)return cached;const value=variables.get(name);if(value===void 0||visiting.has(name))return literal;if(visiting.size>=PREVIEW_MAX_DEPTH)return null;visiting.add(name);const next=resolveText(value,()=>PREVIEW_MAX_TEXT_LENGTH-memoLength);return visiting.delete(name),next===null?null:(memoLength+=next.length,resolved.set(name,next),next)},preview=resolveText(message.content,()=>PREVIEW_MAX_TEXT_LENGTH-outputLength);if(preview===null)return null;outputLength+=preview.length,previews.push(preview)}return previews}renderRemoveMessage(id){return html`<button
|
|
53
53
|
part="remove-message"
|
|
54
54
|
type="button"
|
|
55
55
|
?disabled=${this.disabled}
|
|
@@ -57,7 +57,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
57
57
|
@click=${()=>this.removeMessage(id)}
|
|
58
58
|
>
|
|
59
59
|
×
|
|
60
|
-
</button>`}render(){const heading=this.heading||this.localize("promptStudioLabel"),label=this.label||heading,messages=this.uniqueMessages(),variables=this.variableItems();return html`
|
|
60
|
+
</button>`}render(){const heading=this.heading||this.localize("promptStudioLabel"),label=this.label||heading,messages=this.uniqueMessages(),variables=this.variableItems(),versions=this.uniqueVersions(),previews=this.resolvePreviews(messages,variables);return html`
|
|
61
61
|
<section part="base" aria-label=${overallSemanticLabel(this,label)??nothing}>
|
|
62
62
|
<header part="toolbar">
|
|
63
63
|
<h2>${heading}</h2>
|
|
@@ -75,7 +75,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
75
75
|
</header>
|
|
76
76
|
<div part="editor">
|
|
77
77
|
<section aria-label=${this.localize("promptStudioMessages")}>
|
|
78
|
-
<ol part="messages">${repeat(messages,message=>message.id,this.renderMessage)}</ol>
|
|
78
|
+
<ol part="messages">${repeat(messages,message=>message.id,(message,index)=>this.renderMessage(message,index,messages.length))}</ol>
|
|
79
79
|
<button part="add-message" type="button" ?disabled=${this.disabled} @click=${this.addMessage}>
|
|
80
80
|
${this.localize("promptStudioAddMessage")}
|
|
81
81
|
</button>
|
|
@@ -111,9 +111,9 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
111
111
|
`})}
|
|
112
112
|
</section>
|
|
113
113
|
`:nothing}
|
|
114
|
-
${
|
|
114
|
+
${versions.length?html`
|
|
115
115
|
<nav part="versions" aria-label=${this.localize("promptStudioVersions")}>
|
|
116
|
-
${
|
|
116
|
+
${versions.map(version=>html`
|
|
117
117
|
<button
|
|
118
118
|
part="version"
|
|
119
119
|
type="button"
|
|
@@ -130,7 +130,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
130
130
|
</div>
|
|
131
131
|
<section part="preview" aria-label=${this.localize("promptStudioPreview")}>
|
|
132
132
|
<h3>${this.localize("promptStudioPreview")}</h3>
|
|
133
|
-
${messages.map(message=>html`<article><strong>${this.roleLabel(message.role)}</strong><pre>${
|
|
133
|
+
${previews===null?html`<p>${this.localize("promptStudioPreviewLimit")}</p>`:messages.map((message,index)=>html`<article><strong>${this.roleLabel(message.role)}</strong><pre>${previews[index]}</pre></article>`)}
|
|
134
134
|
</section>
|
|
135
135
|
</section>
|
|
136
136
|
`}}__decorate([property({attribute:!1})],LyraPromptStudio.prototype,"messages",void 0),__decorate([property({attribute:!1})],LyraPromptStudio.prototype,"variables",void 0),__decorate([property({attribute:!1})],LyraPromptStudio.prototype,"versions",void 0),__decorate([property({attribute:"selected-version-id"})],LyraPromptStudio.prototype,"selectedVersionId",void 0),__decorate([property()],LyraPromptStudio.prototype,"label",void 0),__decorate([property()],LyraPromptStudio.prototype,"heading",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraPromptStudio.prototype,"running",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraPromptStudio.prototype,"disabled",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraPromptStudio.prototype,"reorderable",void 0),__decorate([property({converter:spellcheckConverter})],LyraPromptStudio.prototype,"spellcheck",void 0),__decorate([property()],LyraPromptStudio.prototype,"autocapitalize",void 0),__decorate([property({attribute:"autocorrect"})],LyraPromptStudio.prototype,"autoCorrect",void 0),__decorate([property()],LyraPromptStudio.prototype,"wrap",void 0);export{LyraPromptStudio};
|
|
@@ -43,7 +43,7 @@ export type ResultCardAppearance=LyraFrame;
|
|
|
43
43
|
*/
|
|
44
44
|
export declare class LyraResultCard extends LyraElement{static styles:import("lit").CSSResultGroup[];
|
|
45
45
|
/** Small visible heading for the card. Leave unset for an untitled card.
|
|
46
|
-
* This is deliberately separate from the host's native `title` tooltip. */
|
|
46
|
+
* This is deliberately separate from the host's native `title` tooltip. Removing the attribute clears its displayed text. */
|
|
47
47
|
heading:string;
|
|
48
48
|
/** Tighter header/body padding for dense contexts (a card rendered as a row in a transcript or
|
|
49
49
|
* result list) -- same convention as `lr-agent-run`'s `compact`. Defaults to `false`, i.e. the
|
|
@@ -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{LyraElement}from"../../../internal/lyra-element.js";import{styles}from"./result-card.styles.js";class LyraResultCard extends LyraElement{constructor(){super(...arguments),this.heading="",this.compact=!1,this.withActions=!1,this.frame="card",this.hasActionsSlot=!1,this.onActionsSlotChange=e=>{this.hasActionsSlot=e.target.assignedElements({flatten:!0}).length>0}}static{this.styles=[LyraElement.styles,styles]}willUpdate(changed){super.willUpdate(changed),this.hasUpdated||this.seedFirstRenderState(()=>{this.hasActionsSlot=Array.from(this.children).some(el=>el.getAttribute("slot")==="actions")})}render(){const hasHeading=this.heading.length>0,hasActions=this.withActions||this.hasActionsSlot;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,state}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{styles}from"./result-card.styles.js";class LyraResultCard extends LyraElement{constructor(){super(...arguments),this.heading="",this.compact=!1,this.withActions=!1,this.frame="card",this.hasActionsSlot=!1,this.onActionsSlotChange=e=>{this.hasActionsSlot=e.target.assignedElements({flatten:!0}).length>0}}static{this.styles=[LyraElement.styles,styles]}willUpdate(changed){super.willUpdate(changed),this.hasUpdated||this.seedFirstRenderState(()=>{this.hasActionsSlot=Array.from(this.children).some(el=>el.getAttribute("slot")==="actions")})}render(){const hasHeading=(this.heading??"").length>0,hasActions=this.withActions||this.hasActionsSlot;return html`
|
|
2
2
|
<div part="base">
|
|
3
3
|
<div part="header" ?hidden=${!(hasHeading||hasActions)}>
|
|
4
4
|
${hasHeading?html`<span part="heading" title=${this.heading}>${this.heading}</span>`:nothing}
|
|
@@ -18,7 +18,7 @@ import type{PropertyValues}from'lit';import{type TemplateResult}from'lit';import
|
|
|
18
18
|
* @since 4.0.0
|
|
19
19
|
*/
|
|
20
20
|
export declare class LyraResultField extends LyraElement{static styles:import("lit").CSSResultGroup[];
|
|
21
|
-
/** The field name, e.g. "Status". Leave unset to render a value with no label. */
|
|
21
|
+
/** The field name, e.g. "Status". Leave unset or remove the attribute to render a value with no label. */
|
|
22
22
|
label:string;
|
|
23
23
|
/** Plain-text value, e.g. "200 OK". Ignored once the default slot carries
|
|
24
24
|
* real content — see the `@slot` doc. */
|
|
@@ -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{LyraElement}from"../../../internal/lyra-element.js";import{hasRealContent}from"../../../internal/a11y.js";import{styles}from"./result-field.styles.js";import{LYRA_DEFAULT_resultFieldLabel}from"../../../internal/default-strings.generated.js";class LyraResultField extends LyraElement{constructor(){super(...arguments),this.label="",this.value="",this.hasValueSlot=!1,this.onSlotChange=e=>{this.hasValueSlot=hasRealContent(e.target.assignedNodes())}}static{this.defaultStrings={...super.defaultStrings,resultFieldLabel:LYRA_DEFAULT_resultFieldLabel}}static{this.styles=[LyraElement.styles,styles]}willUpdate(changed){super.willUpdate(changed),this.hasUpdated||this.seedFirstRenderState(()=>{this.hasValueSlot=hasRealContent(Array.from(this.childNodes))})}render(){const hasLabel=this.label.length>0;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,state}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{hasRealContent}from"../../../internal/a11y.js";import{styles}from"./result-field.styles.js";import{LYRA_DEFAULT_resultFieldLabel}from"../../../internal/default-strings.generated.js";class LyraResultField extends LyraElement{constructor(){super(...arguments),this.label="",this.value="",this.hasValueSlot=!1,this.onSlotChange=e=>{this.hasValueSlot=hasRealContent(e.target.assignedNodes())}}static{this.defaultStrings={...super.defaultStrings,resultFieldLabel:LYRA_DEFAULT_resultFieldLabel}}static{this.styles=[LyraElement.styles,styles]}willUpdate(changed){super.willUpdate(changed),this.hasUpdated||this.seedFirstRenderState(()=>{this.hasValueSlot=hasRealContent(Array.from(this.childNodes))})}render(){const hasLabel=(this.label??"").length>0;return html`
|
|
2
2
|
<div part="base">
|
|
3
3
|
${hasLabel?html`<span part="label">${this.localize("resultFieldLabel",void 0,{label:this.label})}</span>`:nothing}
|
|
4
4
|
<span part="value"><slot @slotchange=${this.onSlotChange}
|
|
@@ -5,8 +5,9 @@ import type{LyraEventDetailSnapshot}from'../../../internal/lyra-element.js';impo
|
|
|
5
5
|
* configurable depth ceiling. It does not resolve remote references or validate values.
|
|
6
6
|
*
|
|
7
7
|
* Public schema records and issue collections take bounded, clone-owned readonly snapshots.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* Schema records recursively copy supported own data fields without invoking accessors; unsupported
|
|
9
|
+
* or unsafe branches are omitted while valid siblings remain. Create and reassign a new record or
|
|
10
|
+
* array after changes; mutating the assigned value does not update the view.
|
|
10
11
|
*
|
|
11
12
|
* @customElement lr-json-schema-viewer
|
|
12
13
|
* @event lr-schema-select - A schema node was activated. `detail: { schemaPath, schema }`.
|
|
@@ -38,9 +39,8 @@ import type{LyraEventDetailSnapshot}from'../../../internal/lyra-element.js';impo
|
|
|
38
39
|
*/
|
|
39
40
|
export declare class LyraJsonSchemaViewer extends LyraElement<LyraJsonSchemaViewerEventMap>{protected static readonly ownedCollectionProperties:readonly string[];static styles:import("lit").CSSResultGroup[];protected static readonly immutableEventDetails:readonly string[];private schemaValue;
|
|
40
41
|
/** Clone-owned recursive schema snapshot. Reassign a new record after changing any branch.
|
|
41
|
-
* Bounded and depth-clamped by {@link snapshotSchemaNode}
|
|
42
|
-
*
|
|
43
|
-
* `required` keyword is treated as absent. */
|
|
42
|
+
* Bounded and depth-clamped by {@link snapshotSchemaNode}; a malformed branch is omitted
|
|
43
|
+
* without discarding admitted siblings. A runtime non-array `required` keyword is absent. */
|
|
44
44
|
get schema():JsonSchemaNode|null;set schema(value:JsonSchemaNode|null);issues:readonly SchemaValidationIssue[];
|
|
45
45
|
/** Controlled JSON Pointer selection. `null` means no selection; the empty
|
|
46
46
|
* string is the valid JSON Pointer for the schema root. */
|