@aceshooting/lyra-ui 2.2.0 → 2.3.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/README.md +8 -1
- package/custom-elements.json +18702 -12825
- package/dist/components/app-rail/app-rail-item.class.d.ts +16 -1
- package/dist/components/app-rail/app-rail-item.class.d.ts.map +1 -1
- package/dist/components/app-rail/app-rail-item.class.js +52 -1
- package/dist/components/app-rail/app-rail-item.class.js.map +1 -1
- package/dist/components/app-rail/app-rail-item.styles.d.ts.map +1 -1
- package/dist/components/app-rail/app-rail-item.styles.js +11 -0
- package/dist/components/app-rail/app-rail-item.styles.js.map +1 -1
- package/dist/components/app-rail/app-rail.class.d.ts +13 -1
- package/dist/components/app-rail/app-rail.class.d.ts.map +1 -1
- package/dist/components/app-rail/app-rail.class.js +23 -1
- package/dist/components/app-rail/app-rail.class.js.map +1 -1
- package/dist/components/app-rail/app-rail.styles.d.ts.map +1 -1
- package/dist/components/app-rail/app-rail.styles.js +6 -0
- package/dist/components/app-rail/app-rail.styles.js.map +1 -1
- package/dist/components/attachment-chip/attachment-chip.class.d.ts +6 -0
- package/dist/components/attachment-chip/attachment-chip.class.d.ts.map +1 -1
- package/dist/components/attachment-chip/attachment-chip.class.js +9 -0
- package/dist/components/attachment-chip/attachment-chip.class.js.map +1 -1
- package/dist/components/attachment-chip/attachment-chip.styles.d.ts.map +1 -1
- package/dist/components/attachment-chip/attachment-chip.styles.js +7 -0
- package/dist/components/attachment-chip/attachment-chip.styles.js.map +1 -1
- package/dist/components/attachment-trigger/attachment-trigger.class.d.ts +6 -3
- package/dist/components/attachment-trigger/attachment-trigger.class.d.ts.map +1 -1
- package/dist/components/attachment-trigger/attachment-trigger.class.js +51 -0
- package/dist/components/attachment-trigger/attachment-trigger.class.js.map +1 -1
- package/dist/components/attachment-trigger/attachment-trigger.styles.d.ts.map +1 -1
- package/dist/components/attachment-trigger/attachment-trigger.styles.js +10 -0
- package/dist/components/attachment-trigger/attachment-trigger.styles.js.map +1 -1
- package/dist/components/avatar/avatar.class.d.ts +43 -0
- package/dist/components/avatar/avatar.class.d.ts.map +1 -0
- package/dist/components/avatar/avatar.class.js +75 -0
- package/dist/components/avatar/avatar.class.js.map +1 -0
- package/dist/components/avatar/avatar.d.ts +2 -0
- package/dist/components/avatar/avatar.d.ts.map +1 -0
- package/dist/components/avatar/avatar.js +5 -0
- package/dist/components/avatar/avatar.js.map +1 -0
- package/dist/components/avatar/avatar.styles.d.ts +2 -0
- package/dist/components/avatar/avatar.styles.d.ts.map +1 -0
- package/dist/components/avatar/avatar.styles.js +55 -0
- package/dist/components/avatar/avatar.styles.js.map +1 -0
- package/dist/components/card/card.class.d.ts +52 -0
- package/dist/components/card/card.class.d.ts.map +1 -0
- package/dist/components/card/card.class.js +111 -0
- package/dist/components/card/card.class.js.map +1 -0
- package/dist/components/card/card.d.ts +2 -0
- package/dist/components/card/card.d.ts.map +1 -0
- package/dist/components/card/card.js +5 -0
- package/dist/components/card/card.js.map +1 -0
- package/dist/components/card/card.styles.d.ts +2 -0
- package/dist/components/card/card.styles.d.ts.map +1 -0
- package/dist/components/card/card.styles.js +77 -0
- package/dist/components/card/card.styles.js.map +1 -0
- package/dist/components/chart/chart.class.d.ts +11 -11
- package/dist/components/chart/chart.class.d.ts.map +1 -1
- package/dist/components/chart/chart.class.js +41 -0
- package/dist/components/chart/chart.class.js.map +1 -1
- package/dist/components/chart/lite-chart.class.d.ts +16 -9
- package/dist/components/chart/lite-chart.class.d.ts.map +1 -1
- package/dist/components/chart/lite-chart.class.js +99 -11
- package/dist/components/chart/lite-chart.class.js.map +1 -1
- package/dist/components/chart/lite-chart.styles.d.ts.map +1 -1
- package/dist/components/chart/lite-chart.styles.js +4 -0
- package/dist/components/chart/lite-chart.styles.js.map +1 -1
- package/dist/components/chat-composer/chat-composer.class.d.ts +12 -12
- package/dist/components/chat-composer/chat-composer.class.d.ts.map +1 -1
- package/dist/components/chat-composer/chat-composer.class.js +53 -0
- package/dist/components/chat-composer/chat-composer.class.js.map +1 -1
- package/dist/components/chat-message/chat-message.class.d.ts +3 -3
- package/dist/components/chat-message/chat-message.class.d.ts.map +1 -1
- package/dist/components/chat-message/chat-message.class.js +60 -0
- package/dist/components/chat-message/chat-message.class.js.map +1 -1
- package/dist/components/checkbox/checkbox.class.d.ts +5 -5
- package/dist/components/checkbox/checkbox.class.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox.class.js +24 -0
- package/dist/components/checkbox/checkbox.class.js.map +1 -1
- package/dist/components/chip/chip-group.class.js +2 -2
- package/dist/components/chip/chip-group.class.js.map +1 -1
- package/dist/components/chip/chip.class.d.ts +18 -0
- package/dist/components/chip/chip.class.d.ts.map +1 -1
- package/dist/components/chip/chip.class.js +38 -1
- package/dist/components/chip/chip.class.js.map +1 -1
- package/dist/components/chip/chip.styles.d.ts.map +1 -1
- package/dist/components/chip/chip.styles.js +19 -1
- package/dist/components/chip/chip.styles.js.map +1 -1
- package/dist/components/code-block/code-block-core.class.d.ts +111 -0
- package/dist/components/code-block/code-block-core.class.d.ts.map +1 -0
- package/dist/components/code-block/code-block-core.class.js +363 -0
- package/dist/components/code-block/code-block-core.class.js.map +1 -0
- package/dist/components/code-block/code-block-core.d.ts +3 -0
- package/dist/components/code-block/code-block-core.d.ts.map +1 -0
- package/dist/components/code-block/code-block-core.js +6 -0
- package/dist/components/code-block/code-block-core.js.map +1 -0
- package/dist/components/code-block/code-block.class.d.ts +5 -5
- package/dist/components/code-block/code-block.class.d.ts.map +1 -1
- package/dist/components/code-block/code-block.class.js +65 -0
- package/dist/components/code-block/code-block.class.js.map +1 -1
- package/dist/components/combobox/combobox.class.d.ts +5 -5
- package/dist/components/combobox/combobox.class.d.ts.map +1 -1
- package/dist/components/combobox/combobox.class.js +38 -0
- package/dist/components/combobox/combobox.class.js.map +1 -1
- package/dist/components/conversation-item/conversation-item.class.d.ts +3 -3
- package/dist/components/conversation-item/conversation-item.class.d.ts.map +1 -1
- package/dist/components/conversation-item/conversation-item.class.js +69 -0
- package/dist/components/conversation-item/conversation-item.class.js.map +1 -1
- package/dist/components/copy-button/copy-button.class.d.ts +5 -5
- package/dist/components/copy-button/copy-button.class.d.ts.map +1 -1
- package/dist/components/copy-button/copy-button.class.js +13 -0
- package/dist/components/copy-button/copy-button.class.js.map +1 -1
- package/dist/components/date-picker/date-input.class.d.ts +10 -10
- package/dist/components/date-picker/date-input.class.d.ts.map +1 -1
- package/dist/components/date-picker/date-input.class.js +28 -0
- package/dist/components/date-picker/date-input.class.js.map +1 -1
- package/dist/components/date-picker/date-picker.class.d.ts +4 -4
- package/dist/components/date-picker/date-picker.class.d.ts.map +1 -1
- package/dist/components/date-picker/date-picker.class.js +28 -0
- package/dist/components/date-picker/date-picker.class.js.map +1 -1
- package/dist/components/dialog/dialog.class.d.ts +3 -3
- package/dist/components/dialog/dialog.class.js +3 -3
- package/dist/components/dialog/dialog.styles.d.ts.map +1 -1
- package/dist/components/dialog/dialog.styles.js +9 -2
- package/dist/components/dialog/dialog.styles.js.map +1 -1
- package/dist/components/diff-view/diff-line-diff.d.ts +13 -0
- package/dist/components/diff-view/diff-line-diff.d.ts.map +1 -0
- package/dist/components/diff-view/diff-line-diff.js +45 -0
- package/dist/components/diff-view/diff-line-diff.js.map +1 -0
- package/dist/components/diff-view/diff-view.class.d.ts +40 -0
- package/dist/components/diff-view/diff-view.class.d.ts.map +1 -0
- package/dist/components/diff-view/diff-view.class.js +73 -0
- package/dist/components/diff-view/diff-view.class.js.map +1 -0
- package/dist/components/diff-view/diff-view.d.ts +2 -0
- package/dist/components/diff-view/diff-view.d.ts.map +1 -0
- package/dist/components/diff-view/diff-view.js +5 -0
- package/dist/components/diff-view/diff-view.js.map +1 -0
- package/dist/components/diff-view/diff-view.styles.d.ts +2 -0
- package/dist/components/diff-view/diff-view.styles.d.ts.map +1 -0
- package/dist/components/diff-view/diff-view.styles.js +49 -0
- package/dist/components/diff-view/diff-view.styles.js.map +1 -0
- package/dist/components/document-preview/document-preview.class.d.ts +9 -9
- package/dist/components/document-preview/document-preview.class.d.ts.map +1 -1
- package/dist/components/document-preview/document-preview.class.js +83 -0
- package/dist/components/document-preview/document-preview.class.js.map +1 -1
- package/dist/components/empty/empty.class.d.ts +6 -0
- package/dist/components/empty/empty.class.d.ts.map +1 -1
- package/dist/components/empty/empty.class.js +28 -2
- package/dist/components/empty/empty.class.js.map +1 -1
- package/dist/components/empty/empty.styles.js +2 -2
- package/dist/components/export-button/export-button.class.d.ts +8 -8
- package/dist/components/export-button/export-button.class.d.ts.map +1 -1
- package/dist/components/export-button/export-button.class.js +13 -0
- package/dist/components/export-button/export-button.class.js.map +1 -1
- package/dist/components/file-input/file-input.class.d.ts +6 -6
- package/dist/components/file-input/file-input.class.d.ts.map +1 -1
- package/dist/components/file-input/file-input.class.js +14 -0
- package/dist/components/file-input/file-input.class.js.map +1 -1
- package/dist/components/generation-status/generation-status.class.d.ts +3 -3
- package/dist/components/generation-status/generation-status.class.d.ts.map +1 -1
- package/dist/components/generation-status/generation-status.class.js +66 -0
- package/dist/components/generation-status/generation-status.class.js.map +1 -1
- package/dist/components/graph/graph.class.d.ts +14 -9
- package/dist/components/graph/graph.class.d.ts.map +1 -1
- package/dist/components/graph/graph.class.js +68 -3
- package/dist/components/graph/graph.class.js.map +1 -1
- package/dist/components/graph/graph.styles.d.ts.map +1 -1
- package/dist/components/graph/graph.styles.js +4 -0
- package/dist/components/graph/graph.styles.js.map +1 -1
- package/dist/components/heatmap/heatmap.class.d.ts +22 -11
- package/dist/components/heatmap/heatmap.class.d.ts.map +1 -1
- package/dist/components/heatmap/heatmap.class.js +86 -2
- package/dist/components/heatmap/heatmap.class.js.map +1 -1
- package/dist/components/json-viewer/json-viewer.class.d.ts +5 -5
- package/dist/components/json-viewer/json-viewer.class.d.ts.map +1 -1
- package/dist/components/json-viewer/json-viewer.class.js +22 -0
- package/dist/components/json-viewer/json-viewer.class.js.map +1 -1
- package/dist/components/map/map.class.d.ts +7 -7
- package/dist/components/map/map.class.d.ts.map +1 -1
- package/dist/components/map/map.class.js +27 -0
- package/dist/components/map/map.class.js.map +1 -1
- package/dist/components/markdown/markdown.class.d.ts +17 -9
- package/dist/components/markdown/markdown.class.d.ts.map +1 -1
- package/dist/components/markdown/markdown.class.js +74 -1
- package/dist/components/markdown/markdown.class.js.map +1 -1
- package/dist/components/mention-popover/mention-popover.class.d.ts +3 -3
- package/dist/components/mention-popover/mention-popover.class.d.ts.map +1 -1
- package/dist/components/mention-popover/mention-popover.class.js +113 -0
- package/dist/components/mention-popover/mention-popover.class.js.map +1 -1
- package/dist/components/menu/menu-item.class.d.ts +7 -7
- package/dist/components/menu/menu-item.class.d.ts.map +1 -1
- package/dist/components/menu/menu-item.class.js +55 -0
- package/dist/components/menu/menu-item.class.js.map +1 -1
- package/dist/components/menu/menu.class.d.ts +5 -5
- package/dist/components/menu/menu.class.d.ts.map +1 -1
- package/dist/components/menu/menu.class.js +84 -0
- package/dist/components/menu/menu.class.js.map +1 -1
- package/dist/components/model-select/model-select.class.d.ts +6 -6
- package/dist/components/model-select/model-select.class.d.ts.map +1 -1
- package/dist/components/model-select/model-select.class.js +32 -0
- package/dist/components/model-select/model-select.class.js.map +1 -1
- package/dist/components/playback/playback.class.d.ts +7 -7
- package/dist/components/playback/playback.class.d.ts.map +1 -1
- package/dist/components/playback/playback.class.js +13 -0
- package/dist/components/playback/playback.class.js.map +1 -1
- package/dist/components/poll-status/poll-status.class.d.ts +54 -0
- package/dist/components/poll-status/poll-status.class.d.ts.map +1 -0
- package/dist/components/poll-status/poll-status.class.js +150 -0
- package/dist/components/poll-status/poll-status.class.js.map +1 -0
- package/dist/components/poll-status/poll-status.d.ts +3 -0
- package/dist/components/poll-status/poll-status.d.ts.map +1 -0
- package/dist/components/poll-status/poll-status.js +6 -0
- package/dist/components/poll-status/poll-status.js.map +1 -0
- package/dist/components/poll-status/poll-status.styles.d.ts +2 -0
- package/dist/components/poll-status/poll-status.styles.d.ts.map +1 -0
- package/dist/components/poll-status/poll-status.styles.js +53 -0
- package/dist/components/poll-status/poll-status.styles.js.map +1 -0
- package/dist/components/segmented/segmented.class.d.ts +44 -0
- package/dist/components/segmented/segmented.class.d.ts.map +1 -0
- package/dist/components/segmented/segmented.class.js +100 -0
- package/dist/components/segmented/segmented.class.js.map +1 -0
- package/dist/components/segmented/segmented.d.ts +2 -0
- package/dist/components/segmented/segmented.d.ts.map +1 -0
- package/dist/components/segmented/segmented.js +5 -0
- package/dist/components/segmented/segmented.js.map +1 -0
- package/dist/components/segmented/segmented.styles.d.ts +2 -0
- package/dist/components/segmented/segmented.styles.d.ts.map +1 -0
- package/dist/components/segmented/segmented.styles.js +38 -0
- package/dist/components/segmented/segmented.styles.js.map +1 -0
- package/dist/components/select/select.class.d.ts +6 -6
- package/dist/components/select/select.class.d.ts.map +1 -1
- package/dist/components/select/select.class.js +57 -0
- package/dist/components/select/select.class.js.map +1 -1
- package/dist/components/select/select.styles.d.ts.map +1 -1
- package/dist/components/select/select.styles.js +6 -1
- package/dist/components/select/select.styles.js.map +1 -1
- package/dist/components/slider/slider.class.d.ts +11 -11
- package/dist/components/slider/slider.class.d.ts.map +1 -1
- package/dist/components/slider/slider.class.js +35 -0
- package/dist/components/slider/slider.class.js.map +1 -1
- package/dist/components/split/split.class.d.ts +3 -3
- package/dist/components/split/split.class.d.ts.map +1 -1
- package/dist/components/split/split.class.js +66 -3
- package/dist/components/split/split.class.js.map +1 -1
- package/dist/components/stat/stat.styles.d.ts.map +1 -1
- package/dist/components/stat/stat.styles.js +2 -0
- package/dist/components/stat/stat.styles.js.map +1 -1
- package/dist/components/stepper/stepper.class.d.ts +52 -0
- package/dist/components/stepper/stepper.class.d.ts.map +1 -0
- package/dist/components/stepper/stepper.class.js +138 -0
- package/dist/components/stepper/stepper.class.js.map +1 -0
- package/dist/components/stepper/stepper.d.ts +2 -0
- package/dist/components/stepper/stepper.d.ts.map +1 -0
- package/dist/components/stepper/stepper.js +5 -0
- package/dist/components/stepper/stepper.js.map +1 -0
- package/dist/components/stepper/stepper.styles.d.ts +2 -0
- package/dist/components/stepper/stepper.styles.d.ts.map +1 -0
- package/dist/components/stepper/stepper.styles.js +67 -0
- package/dist/components/stepper/stepper.styles.js.map +1 -0
- package/dist/components/stream-status/stream-status.class.d.ts +4 -4
- package/dist/components/stream-status/stream-status.class.d.ts.map +1 -1
- package/dist/components/stream-status/stream-status.class.js +79 -0
- package/dist/components/stream-status/stream-status.class.js.map +1 -1
- package/dist/components/switch/switch.class.d.ts +5 -5
- package/dist/components/switch/switch.class.d.ts.map +1 -1
- package/dist/components/switch/switch.class.js +24 -0
- package/dist/components/switch/switch.class.js.map +1 -1
- package/dist/components/table/table.class.d.ts +23 -12
- package/dist/components/table/table.class.d.ts.map +1 -1
- package/dist/components/table/table.class.js +68 -0
- package/dist/components/table/table.class.js.map +1 -1
- package/dist/components/table/table.styles.d.ts.map +1 -1
- package/dist/components/table/table.styles.js +14 -0
- package/dist/components/table/table.styles.js.map +1 -1
- package/dist/components/tabs/tabs.class.d.ts +5 -5
- package/dist/components/tabs/tabs.class.d.ts.map +1 -1
- package/dist/components/tabs/tabs.class.js +38 -0
- package/dist/components/tabs/tabs.class.js.map +1 -1
- package/dist/components/tabs/tabs.styles.d.ts.map +1 -1
- package/dist/components/tabs/tabs.styles.js +1 -0
- package/dist/components/tabs/tabs.styles.js.map +1 -1
- package/dist/components/time-range/time-range.class.d.ts +10 -10
- package/dist/components/time-range/time-range.class.d.ts.map +1 -1
- package/dist/components/time-range/time-range.class.js +28 -0
- package/dist/components/time-range/time-range.class.js.map +1 -1
- package/dist/components/toast/toast-item.class.d.ts +6 -6
- package/dist/components/toast/toast-item.class.d.ts.map +1 -1
- package/dist/components/toast/toast-item.class.js +17 -0
- package/dist/components/toast/toast-item.class.js.map +1 -1
- package/dist/components/tool-approval-dialog/tool-approval-dialog.class.d.ts +3 -3
- package/dist/components/tool-approval-dialog/tool-approval-dialog.class.d.ts.map +1 -1
- package/dist/components/tool-approval-dialog/tool-approval-dialog.class.js +71 -0
- package/dist/components/tool-approval-dialog/tool-approval-dialog.class.js.map +1 -1
- package/dist/components/tool-param-form/tool-param-form.class.d.ts +9 -9
- package/dist/components/tool-param-form/tool-param-form.class.d.ts.map +1 -1
- package/dist/components/tool-param-form/tool-param-form.class.js +61 -0
- package/dist/components/tool-param-form/tool-param-form.class.js.map +1 -1
- package/dist/components/tool-result-view/tool-result-view.class.d.ts +6 -6
- package/dist/components/tool-result-view/tool-result-view.class.d.ts.map +1 -1
- package/dist/components/tool-result-view/tool-result-view.class.js +27 -0
- package/dist/components/tool-result-view/tool-result-view.class.js.map +1 -1
- package/dist/components/tree/tree-node.class.d.ts +9 -9
- package/dist/components/tree/tree-node.class.d.ts.map +1 -1
- package/dist/components/tree/tree-node.class.js +19 -0
- package/dist/components/tree/tree-node.class.js.map +1 -1
- package/dist/components/virtual-list/virtual-list.class.d.ts +4 -4
- package/dist/components/virtual-list/virtual-list.class.d.ts.map +1 -1
- package/dist/components/virtual-list/virtual-list.class.js +89 -0
- package/dist/components/virtual-list/virtual-list.class.js.map +1 -1
- package/dist/components/widget/widget.class.d.ts +34 -4
- package/dist/components/widget/widget.class.d.ts.map +1 -1
- package/dist/components/widget/widget.class.js +106 -3
- package/dist/components/widget/widget.class.js.map +1 -1
- package/dist/components/widget/widget.styles.d.ts.map +1 -1
- package/dist/components/widget/widget.styles.js +41 -1
- package/dist/components/widget/widget.styles.js.map +1 -1
- package/dist/components/word-cloud/word-cloud.class.d.ts +7 -7
- package/dist/components/word-cloud/word-cloud.class.d.ts.map +1 -1
- package/dist/components/word-cloud/word-cloud.class.js +28 -0
- package/dist/components/word-cloud/word-cloud.class.js.map +1 -1
- package/dist/internal/localization.d.ts +1 -1
- package/dist/internal/localization.d.ts.map +1 -1
- package/dist/internal/localization.js +1 -0
- package/dist/internal/localization.js.map +1 -1
- package/dist/internal/root-registration-allowlist.d.ts +1 -1
- package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
- package/dist/internal/root-registration-allowlist.js +7 -0
- package/dist/internal/root-registration-allowlist.js.map +1 -1
- package/dist/lyra.d.ts +24 -0
- package/dist/lyra.d.ts.map +1 -1
- package/dist/lyra.js +15 -0
- package/dist/lyra.js.map +1 -1
- package/dist/testing/happy-dom-shims.d.ts +40 -0
- package/dist/testing/happy-dom-shims.d.ts.map +1 -0
- package/dist/testing/happy-dom-shims.js +52 -0
- package/dist/testing/happy-dom-shims.js.map +1 -0
- package/llms-full.txt +617 -35
- package/llms.txt +3 -1
- package/package.json +17 -2
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { type TemplateResult, type PropertyValues } from 'lit';
|
|
2
2
|
import { LyraElement } from '../../internal/lyra-element.js';
|
|
3
3
|
export type DocumentPreviewStatus = 'idle' | 'converting' | 'ready' | 'error';
|
|
4
|
+
export interface LyraDocumentPreviewEventMap {
|
|
5
|
+
'lyra-render-error': CustomEvent<{
|
|
6
|
+
error: unknown;
|
|
7
|
+
}>;
|
|
8
|
+
'lyra-download': CustomEvent<{
|
|
9
|
+
src: string;
|
|
10
|
+
filename: string;
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
4
13
|
/**
|
|
5
14
|
* `<lyra-document-preview>` — a format-dispatching viewer for one document/
|
|
6
15
|
* attachment, plus the visual state machine for an async server-side
|
|
@@ -84,15 +93,6 @@ export type DocumentPreviewStatus = 'idle' | 'converting' | 'ready' | 'error';
|
|
|
84
93
|
* @csspart error - The error message region (`role="alert"`) — used both for `status="error"` and for a failed text fetch.
|
|
85
94
|
* @csspart download-link - The `<a download>` affordance in the generic fallback. Only rendered when `src` is set and safe for link navigation.
|
|
86
95
|
*/
|
|
87
|
-
export interface LyraDocumentPreviewEventMap {
|
|
88
|
-
'lyra-render-error': CustomEvent<{
|
|
89
|
-
error: unknown;
|
|
90
|
-
}>;
|
|
91
|
-
'lyra-download': CustomEvent<{
|
|
92
|
-
src: string;
|
|
93
|
-
filename: string;
|
|
94
|
-
}>;
|
|
95
|
-
}
|
|
96
96
|
export declare class LyraDocumentPreview extends LyraElement<LyraDocumentPreviewEventMap> {
|
|
97
97
|
static styles: import("lit").CSSResultGroup[];
|
|
98
98
|
/** URL to fetch (for `text`/`application/json`) or display (`image`, or as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-preview.class.d.ts","sourceRoot":"","sources":["../../../src/components/document-preview/document-preview.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAA0B,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3G,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAK7D,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAoF9E
|
|
1
|
+
{"version":3,"file":"document-preview.class.d.ts","sourceRoot":"","sources":["../../../src/components/document-preview/document-preview.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAA0B,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3G,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAK7D,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAoF9E,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACrD,eAAe,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjE;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,2BAA2B,CAAC;IAC/E,MAAM,CAAC,MAAM,iCAAwC;IAErD;;;iEAG6D;IACjD,GAAG,SAAM;IAErB,kDAAkD;IACZ,QAAQ,SAAM;IAEpD,8EAA8E;IAClE,QAAQ,SAAM;IAE1B;;;;oCAIgC;IACH,MAAM,EAAE,qBAAqB,CAAU;IAEpE;mFAC+E;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE9C,2DAA2D;IACjB,YAAY,SAAM;IAE5D;;qEAEiE;IAC1B,SAAS,SAAM;IAE7C,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,SAAS,CAAmC;IAM7D,OAAO,CAAC,eAAe,CAAK;IAE5B,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CA+BlD;YAEa,SAAS;IAiBvB,OAAO,CAAC,uBAAuB,CAE7B;IAEF,OAAO,CAAC,eAAe,CAErB;IAEF;;;;;0CAKsC;IACtC,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,sBAAsB;IAuB9B;;;0CAGsC;IACtC,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,UAAU;IAclB,MAAM,IAAI,cAAc,CASvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAC;KAC9C;CACF"}
|
|
@@ -71,6 +71,89 @@ function icon(paths) {
|
|
|
71
71
|
>${paths}</svg>
|
|
72
72
|
`;
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* `<lyra-document-preview>` — a format-dispatching viewer for one document/
|
|
76
|
+
* attachment, plus the visual state machine for an async server-side
|
|
77
|
+
* conversion a host app runs in front of it.
|
|
78
|
+
*
|
|
79
|
+
* Format dispatch is intentionally minimal (see this family's scope
|
|
80
|
+
* guidance): only `text/*`/`application/json` (plain, scrollable `<pre>` —
|
|
81
|
+
* no syntax highlighting; compose `<lyra-code-block>` yourself via the
|
|
82
|
+
* `unsupported` slot for that) and `image/*` (a contained `<img>`) render
|
|
83
|
+
* inline. Everything else — PDF, office documents, video, audio, or any
|
|
84
|
+
* unrecognized MIME type — falls back to a generic "can't preview this"
|
|
85
|
+
* state: a file glyph, a short message, and (when `src` is set) a native
|
|
86
|
+
* `<a download>` link. This is a deliberate ceiling, not a gap: this
|
|
87
|
+
* component ships a dispatch *shell*, not a format registry. The
|
|
88
|
+
* `unsupported` slot is the escape hatch for every format left out of the
|
|
89
|
+
* built-in three — plug in a PDF.js viewer, an office-doc renderer, a
|
|
90
|
+
* `<lyra-code-block>`, or anything else keyed off `mime-type` yourself.
|
|
91
|
+
*
|
|
92
|
+
* `status="converting"` is a second, independent axis from format dispatch.
|
|
93
|
+
* This component does not know your backend's conversion API shape and
|
|
94
|
+
* therefore owns none of the actual polling/fetch — a host that's converting
|
|
95
|
+
* a non-natively-previewable format server-side (e.g. .docx → .pdf) polls
|
|
96
|
+
* its own backend and updates `status`/`progress`/`src` here as that
|
|
97
|
+
* proceeds. This component only *visualizes* that state: an indeterminate
|
|
98
|
+
* spinner, or a determinate one once `progress` is supplied. Once the host
|
|
99
|
+
* flips `status` to `"ready"` (typically alongside a new `src`/`mime-type`
|
|
100
|
+
* pointing at the converted artifact), normal format dispatch resumes.
|
|
101
|
+
*
|
|
102
|
+
* The one piece of async work this component *does* own is fetching a
|
|
103
|
+
* `text/*`/`application/json` `src` itself (there's no other way to get a
|
|
104
|
+
* `<pre>`'s text content from a URL) — gated behind the same generation-
|
|
105
|
+
* counter guard `<lyra-tool-result-view>`'s `resolve()` uses, so a `src`
|
|
106
|
+
* reassigned mid-fetch can't have a stale response clobber a newer one. A
|
|
107
|
+
* failure here (network error, non-2xx response) renders inline via
|
|
108
|
+
* `[part="error"]` and fires `lyra-render-error`, independently of the
|
|
109
|
+
* host-owned `status` prop — mirrors `<lyra-markdown>`'s identical stance
|
|
110
|
+
* that a *rendering* failure and a host's own state machine are different
|
|
111
|
+
* concerns.
|
|
112
|
+
*
|
|
113
|
+
* Every `src` is validated for the DOM/API sink that consumes it. Text
|
|
114
|
+
* fetches and image sources allow relative URLs plus `http:`, `https:`,
|
|
115
|
+
* `blob:`, and `data:`. Download links deliberately exclude `data:` because
|
|
116
|
+
* following a `data:text/html` URL can create an active document. Unsafe or
|
|
117
|
+
* malformed URLs never reach `fetch()`, an image `src`, or an anchor `href`;
|
|
118
|
+
* they render a non-interactive fallback/error instead.
|
|
119
|
+
*
|
|
120
|
+
* Accessibility: the `"converting"` state (no numeric `progress`) is a
|
|
121
|
+
* `role="status"` region wrapping a visually-hidden "Converting document…"
|
|
122
|
+
* string. This is a *plain* static region, not routed through
|
|
123
|
+
* `<lyra-live-region>`/`Announcer` — like `<lyra-typing-indicator>`'s
|
|
124
|
+
* identical judgement call (see that component's class doc), this only ever
|
|
125
|
+
* has one thing to announce (entering the state), not a rapidly-repeating
|
|
126
|
+
* stream of updates, so the coalescing machinery a high-frequency component
|
|
127
|
+
* needs would be pure overhead here. Once real `progress` is available, the
|
|
128
|
+
* region becomes a standard `role="progressbar"` instead, which is
|
|
129
|
+
* self-describing via `aria-valuenow` with no extra live-region wiring
|
|
130
|
+
* needed. `status="error"` renders `[part="error"]` as `role="alert"` — an
|
|
131
|
+
* assertive, one-shot failure notice, the same native-role shortcut
|
|
132
|
+
* `<lyra-live-region>`'s own `mode="assertive"` maps to, without requiring
|
|
133
|
+
* the announcer machinery here either.
|
|
134
|
+
*
|
|
135
|
+
* @customElement lyra-document-preview
|
|
136
|
+
* @slot unsupported - Escape hatch: when populated, its content renders
|
|
137
|
+
* *instead of* the generic download fallback for any `mime-type` this
|
|
138
|
+
* component doesn't natively support (i.e. whenever format dispatch would
|
|
139
|
+
* otherwise fall through to "generic"). Ignored while `mime-type` resolves
|
|
140
|
+
* to `text`/`image` dispatch, or while `status` is `"converting"`/`"error"`.
|
|
141
|
+
* @event lyra-download - `detail: { src, filename }` — fired when the safe
|
|
142
|
+
* generic-download fallback link is activated. The browser download itself
|
|
143
|
+
* needs no JS (a plain `<a download>` handles it); this is purely for a host
|
|
144
|
+
* that wants to observe/log the download.
|
|
145
|
+
* @event lyra-render-error - `detail: { error }` — fired when this
|
|
146
|
+
* component's own `text/*`/`application/json` `fetch(src)` fails. Distinct
|
|
147
|
+
* from `status="error"`, which is entirely host-driven (see the class
|
|
148
|
+
* doc).
|
|
149
|
+
* @csspart base - The root container.
|
|
150
|
+
* @csspart header - The row above the body, holding `filename`. Hidden entirely when `filename` is unset.
|
|
151
|
+
* @csspart filename - The filename text.
|
|
152
|
+
* @csspart body - The wrapper around whichever content is currently showing (text/image preview, the generic fallback, the spinner, or the error message).
|
|
153
|
+
* @csspart spinner - The converting/loading indicator — indeterminate (`role="status"`) or, once numeric progress is known, a determinate `role="progressbar"`. Used both for `status="converting"` and for this component's own in-flight text fetch.
|
|
154
|
+
* @csspart error - The error message region (`role="alert"`) — used both for `status="error"` and for a failed text fetch.
|
|
155
|
+
* @csspart download-link - The `<a download>` affordance in the generic fallback. Only rendered when `src` is set and safe for link navigation.
|
|
156
|
+
*/
|
|
74
157
|
export class LyraDocumentPreview extends LyraElement {
|
|
75
158
|
constructor() {
|
|
76
159
|
super(...arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-preview.class.js","sourceRoot":"","sources":["../../../src/components/document-preview/document-preview.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAoE,MAAM,KAAK,CAAC;AAC3G,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAqBtD,MAAM,eAAe,GAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAEzD,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,kBAAkB;QAAE,OAAO,MAAM,CAAC;IACvE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,2DAA2D;AAC3D,sEAAsE;AACtE,wEAAwE;AACxE,4EAA4E;AAC5E,sCAAsC;AACtC,MAAM,aAAa,GAAG,WAAW,CAAC;AAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC;;;;gDAIgD;AAChD,SAAS,SAAS;IAChB,OAAO,GAAG,CAAA;;;;gBAII,aAAa;;;qBAGR,iBAAiB;;;;;;GAMnC,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,SAAS,YAAY;IACnB,OAAO,IAAI,CAAC,GAAG,CAAA;;;;GAId,CAAC,CAAC;AACL,CAAC;AAED,SAAS,IAAI,CAAC,KAAwB;IACpC,OAAO,GAAG,CAAA;;;;gBAII,aAAa;;;qBAGR,iBAAiB;;;;;OAK/B,KAAK;GACT,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"document-preview.class.js","sourceRoot":"","sources":["../../../src/components/document-preview/document-preview.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ import { LyraElement } from '../../internal/lyra-element.js';
|
|
|
6
6
|
*
|
|
7
7
|
* @customElement lyra-empty
|
|
8
8
|
* @slot - Custom icon or illustration (defaults to none).
|
|
9
|
+
* @slot heading - Rich heading content (overrides the `heading` attribute).
|
|
10
|
+
* @slot description - Rich description content (overrides the `description` attribute).
|
|
9
11
|
* @slot actions - Buttons/links shown below the description.
|
|
10
12
|
* @csspart base - The outer container.
|
|
11
13
|
* @csspart icon - The wrapper around the default-slotted icon/illustration.
|
|
@@ -28,11 +30,15 @@ export declare class LyraEmpty extends LyraElement {
|
|
|
28
30
|
compact: boolean;
|
|
29
31
|
private hasIcon;
|
|
30
32
|
private hasActions;
|
|
33
|
+
private hasHeadingSlot;
|
|
34
|
+
private hasDescriptionSlot;
|
|
31
35
|
protected willUpdate(): void;
|
|
32
36
|
firstUpdated(): void;
|
|
33
37
|
private reconcileSlotHidden;
|
|
34
38
|
private onIconSlotChange;
|
|
35
39
|
private onActionsSlotChange;
|
|
40
|
+
private onHeadingSlotChange;
|
|
41
|
+
private onDescriptionSlotChange;
|
|
36
42
|
render(): TemplateResult;
|
|
37
43
|
}
|
|
38
44
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empty.class.d.ts","sourceRoot":"","sources":["../../../src/components/empty/empty.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D
|
|
1
|
+
{"version":3,"file":"empty.class.d.ts","sourceRoot":"","sources":["../../../src/components/empty/empty.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D;;;;;;;;;;;;;;GAcG;AACH,qBAAa,SAAU,SAAQ,WAAW;IACxC,MAAM,CAAC,MAAM,iCAAgC;IAE7C,wCAAwC;IAC5B,OAAO,SAAM;IAEzB,sDAAsD;IAC1C,WAAW,SAAM;IAE7B;;;;;OAKG;IACyC,OAAO,UAAS;IAKnD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAS;IAE5C,SAAS,CAAC,UAAU,IAAI,IAAI,CAgB3B;IAED,YAAY,IAAI,IAAI,CAoBnB;IAED,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,gBAAgB,CAGtB;IAEF,OAAO,CAAC,mBAAmB,CAGzB;IAEF,OAAO,CAAC,mBAAmB,CAGzB;IAEF,OAAO,CAAC,uBAAuB,CAG7B;IAEF,MAAM,IAAI,cAAc,CAiBvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAC;KACzB;CACF"}
|
|
@@ -14,6 +14,8 @@ import { styles } from './empty.styles.js';
|
|
|
14
14
|
*
|
|
15
15
|
* @customElement lyra-empty
|
|
16
16
|
* @slot - Custom icon or illustration (defaults to none).
|
|
17
|
+
* @slot heading - Rich heading content (overrides the `heading` attribute).
|
|
18
|
+
* @slot description - Rich description content (overrides the `description` attribute).
|
|
17
19
|
* @slot actions - Buttons/links shown below the description.
|
|
18
20
|
* @csspart base - The outer container.
|
|
19
21
|
* @csspart icon - The wrapper around the default-slotted icon/illustration.
|
|
@@ -40,6 +42,8 @@ export class LyraEmpty extends LyraElement {
|
|
|
40
42
|
// real slot assignment in JS instead and key the CSS off these instead.
|
|
41
43
|
this.hasIcon = false;
|
|
42
44
|
this.hasActions = false;
|
|
45
|
+
this.hasHeadingSlot = false;
|
|
46
|
+
this.hasDescriptionSlot = false;
|
|
43
47
|
this.onIconSlotChange = (e) => {
|
|
44
48
|
const slot = e.target;
|
|
45
49
|
this.hasIcon = slot.assignedElements({ flatten: true }).length > 0;
|
|
@@ -48,6 +52,14 @@ export class LyraEmpty extends LyraElement {
|
|
|
48
52
|
const slot = e.target;
|
|
49
53
|
this.hasActions = slot.assignedElements({ flatten: true }).length > 0;
|
|
50
54
|
};
|
|
55
|
+
this.onHeadingSlotChange = (e) => {
|
|
56
|
+
const slot = e.target;
|
|
57
|
+
this.hasHeadingSlot = slot.assignedElements({ flatten: true }).length > 0;
|
|
58
|
+
};
|
|
59
|
+
this.onDescriptionSlotChange = (e) => {
|
|
60
|
+
const slot = e.target;
|
|
61
|
+
this.hasDescriptionSlot = slot.assignedElements({ flatten: true }).length > 0;
|
|
62
|
+
};
|
|
51
63
|
}
|
|
52
64
|
static { this.styles = [LyraElement.styles, styles]; }
|
|
53
65
|
willUpdate() {
|
|
@@ -61,6 +73,8 @@ export class LyraEmpty extends LyraElement {
|
|
|
61
73
|
// presence.
|
|
62
74
|
this.hasIcon = Array.from(this.children).some((el) => !el.getAttribute('slot'));
|
|
63
75
|
this.hasActions = Array.from(this.children).some((el) => el.getAttribute('slot') === 'actions');
|
|
76
|
+
this.hasHeadingSlot = Array.from(this.children).some((el) => el.getAttribute('slot') === 'heading');
|
|
77
|
+
this.hasDescriptionSlot = Array.from(this.children).some((el) => el.getAttribute('slot') === 'description');
|
|
64
78
|
}
|
|
65
79
|
}
|
|
66
80
|
firstUpdated() {
|
|
@@ -82,11 +96,17 @@ export class LyraEmpty extends LyraElement {
|
|
|
82
96
|
wrapper.toggleAttribute('hidden', slot.assignedElements({ flatten: true }).length === 0);
|
|
83
97
|
}
|
|
84
98
|
render() {
|
|
99
|
+
const hasHeading = this.hasHeadingSlot || this.heading.length > 0;
|
|
100
|
+
const hasDescription = this.hasDescriptionSlot || this.description.length > 0;
|
|
85
101
|
return html `
|
|
86
102
|
<div part="base" role="status" aria-live="polite">
|
|
87
103
|
<div part="icon" ?hidden=${!this.hasIcon}><slot @slotchange=${this.onIconSlotChange}></slot></div>
|
|
88
|
-
<p part="heading"
|
|
89
|
-
|
|
104
|
+
<p part="heading" ?hidden=${!hasHeading}>
|
|
105
|
+
<slot name="heading" @slotchange=${this.onHeadingSlotChange}>${this.heading}</slot>
|
|
106
|
+
</p>
|
|
107
|
+
<p part="description" ?hidden=${!hasDescription}>
|
|
108
|
+
<slot name="description" @slotchange=${this.onDescriptionSlotChange}>${this.description}</slot>
|
|
109
|
+
</p>
|
|
90
110
|
<div part="actions" ?hidden=${!this.hasActions}>
|
|
91
111
|
<slot name="actions" @slotchange=${this.onActionsSlotChange}></slot>
|
|
92
112
|
</div>
|
|
@@ -109,4 +129,10 @@ __decorate([
|
|
|
109
129
|
__decorate([
|
|
110
130
|
state()
|
|
111
131
|
], LyraEmpty.prototype, "hasActions", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
state()
|
|
134
|
+
], LyraEmpty.prototype, "hasHeadingSlot", void 0);
|
|
135
|
+
__decorate([
|
|
136
|
+
state()
|
|
137
|
+
], LyraEmpty.prototype, "hasDescriptionSlot", void 0);
|
|
112
138
|
//# sourceMappingURL=empty.class.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empty.class.js","sourceRoot":"","sources":["../../../src/components/empty/empty.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"empty.class.js","sourceRoot":"","sources":["../../../src/components/empty/empty.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ export const styles = css `
|
|
|
31
31
|
color: var(--lyra-color-text);
|
|
32
32
|
margin: 0;
|
|
33
33
|
}
|
|
34
|
-
[part='heading']
|
|
34
|
+
[part='heading'][hidden] {
|
|
35
35
|
display: none;
|
|
36
36
|
}
|
|
37
37
|
:host([compact]) [part='heading'] {
|
|
@@ -41,7 +41,7 @@ export const styles = css `
|
|
|
41
41
|
font-size: var(--lyra-font-size-md-sm);
|
|
42
42
|
margin: 0;
|
|
43
43
|
}
|
|
44
|
-
[part='description']
|
|
44
|
+
[part='description'][hidden] {
|
|
45
45
|
display: none;
|
|
46
46
|
}
|
|
47
47
|
[part='actions'][hidden] {
|
|
@@ -2,6 +2,14 @@ import { type TemplateResult, type PropertyValues } from 'lit';
|
|
|
2
2
|
import { LyraElement } from '../../internal/lyra-element.js';
|
|
3
3
|
import { type CsvColumn } from './csv.js';
|
|
4
4
|
export type ExportFormat = 'csv' | 'json';
|
|
5
|
+
export interface LyraExportButtonEventMap {
|
|
6
|
+
'lyra-export': CustomEvent<{
|
|
7
|
+
format: ExportFormat;
|
|
8
|
+
}>;
|
|
9
|
+
'lyra-export-complete': CustomEvent<{
|
|
10
|
+
format: ExportFormat;
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
5
13
|
/**
|
|
6
14
|
* `<lyra-export-button>` — a CSV/JSON download button, single-format or a
|
|
7
15
|
* format-choice menu. First-party invention; consolidates the ad-hoc
|
|
@@ -15,14 +23,6 @@ export type ExportFormat = 'csv' | 'json';
|
|
|
15
23
|
* @csspart menu - The format-choice menu, shown when more than one format is configured.
|
|
16
24
|
* @csspart menu-item - A single format option inside the menu.
|
|
17
25
|
*/
|
|
18
|
-
export interface LyraExportButtonEventMap {
|
|
19
|
-
'lyra-export': CustomEvent<{
|
|
20
|
-
format: ExportFormat;
|
|
21
|
-
}>;
|
|
22
|
-
'lyra-export-complete': CustomEvent<{
|
|
23
|
-
format: ExportFormat;
|
|
24
|
-
}>;
|
|
25
|
-
}
|
|
26
26
|
export declare class LyraExportButton extends LyraElement<LyraExportButtonEventMap> {
|
|
27
27
|
static styles: import("lit").CSSResultGroup[];
|
|
28
28
|
rows: Record<string, unknown>[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-button.class.d.ts","sourceRoot":"","sources":["../../../src/components/export-button/export-button.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAGlE,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC;AAE1C
|
|
1
|
+
{"version":3,"file":"export-button.class.d.ts","sourceRoot":"","sources":["../../../src/components/export-button/export-button.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAGlE,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,WAAW,CAAC;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IACrD,sBAAsB,EAAE,WAAW,CAAC;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;CAC/D;AACD;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IACzE,MAAM,CAAC,MAAM,iCAAgC;IAEb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAM;IACrE;;;oEAGgE;IAChC,OAAO,EAAE,SAAS,EAAE,CAAM;IAC9C,QAAQ,SAAY;IACA,OAAO,EAAE,YAAY,EAAE,CAAW;IACtB,QAAQ,UAAS;IAC7D;iFAC6E;IACjE,KAAK,SAAY;IACe,IAAI,UAAS;IAE9B,OAAO,CAAC,SAAS,CAAC,CAAoB;IACzC,OAAO,CAAC,MAAM,CAAC,CAAc;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,OAAO,CAAC,CAAa;IAC7B,iFAAiF;IACjF,OAAO,CAAC,qBAAqB,CAAK;IAElC,oBAAoB,IAAI,IAAI,CAM3B;IAED,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,WAAW;IAInB,4FAA4F;IAC5F,OAAO,CAAC,aAAa;IAMrB,qGAAqG;IACrG,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,SAAS,CA2Cf;IAEF,SAAS,CAAC,YAAY,IAAI,IAAI,CAI7B;IAED,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAmB/C;IAED;;;;yCAIqC;IACrC,OAAO,CAAC,gBAAgB;IASxB,kGAAkG;IAClG,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,QAAQ;IAmBhB,OAAO,CAAC,cAAc;IAMtB,MAAM,IAAI,cAAc,CA8BvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
|
|
@@ -11,6 +11,19 @@ import { place } from '../../internal/positioner.js';
|
|
|
11
11
|
import { nextId } from '../../internal/a11y.js';
|
|
12
12
|
import { buildCsv, downloadBlob } from './csv.js';
|
|
13
13
|
import { styles } from './export-button.styles.js';
|
|
14
|
+
/**
|
|
15
|
+
* `<lyra-export-button>` — a CSV/JSON download button, single-format or a
|
|
16
|
+
* format-choice menu. First-party invention; consolidates the ad-hoc
|
|
17
|
+
* "export CSV" button pattern common across dashboard UIs.
|
|
18
|
+
*
|
|
19
|
+
* @customElement lyra-export-button
|
|
20
|
+
* @event lyra-export - `detail: { format }`, cancelable — call `preventDefault()`
|
|
21
|
+
* to substitute the built-in client-side download with a server-generated one.
|
|
22
|
+
* @event lyra-export-complete - Fired after a non-cancelled download completes.
|
|
23
|
+
* @csspart trigger - The button that triggers the export (or opens the format menu).
|
|
24
|
+
* @csspart menu - The format-choice menu, shown when more than one format is configured.
|
|
25
|
+
* @csspart menu-item - A single format option inside the menu.
|
|
26
|
+
*/
|
|
14
27
|
export class LyraExportButton extends LyraElement {
|
|
15
28
|
constructor() {
|
|
16
29
|
super(...arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-button.class.js","sourceRoot":"","sources":["../../../src/components/export-button/export-button.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAA4C,MAAM,KAAK,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAkB,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"export-button.class.js","sourceRoot":"","sources":["../../../src/components/export-button/export-button.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,12 @@ export interface RejectedFile {
|
|
|
4
4
|
file: File;
|
|
5
5
|
reason: 'type' | 'count' | 'size';
|
|
6
6
|
}
|
|
7
|
+
export interface LyraFileInputEventMap {
|
|
8
|
+
'lyra-files': CustomEvent<{
|
|
9
|
+
files: File[];
|
|
10
|
+
rejected: RejectedFile[];
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
7
13
|
/**
|
|
8
14
|
* `<lyra-file-input>` — a drag-drop + click-to-browse file dropzone. Emits
|
|
9
15
|
* raw `File[]`; parsing (CSV/XLSX/etc.) is left to the host, since that's
|
|
@@ -18,12 +24,6 @@ export interface RejectedFile {
|
|
|
18
24
|
* @csspart input - The visually-hidden native `<input type="file">`.
|
|
19
25
|
* @csspart status - The visually-hidden live region announcing drag accept/reject state.
|
|
20
26
|
*/
|
|
21
|
-
export interface LyraFileInputEventMap {
|
|
22
|
-
'lyra-files': CustomEvent<{
|
|
23
|
-
files: File[];
|
|
24
|
-
rejected: RejectedFile[];
|
|
25
|
-
}>;
|
|
26
|
-
}
|
|
27
27
|
export declare class LyraFileInput extends LyraElement<LyraFileInputEventMap> {
|
|
28
28
|
static styles: import("lit").CSSResultGroup[];
|
|
29
29
|
multiple: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-input.class.d.ts","sourceRoot":"","sources":["../../../src/components/file-input/file-input.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAO7D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACnC;AAED
|
|
1
|
+
{"version":3,"file":"file-input.class.d.ts","sourceRoot":"","sources":["../../../src/components/file-input/file-input.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAO7D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC,CAAC;CACxE;AACD;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAc,SAAQ,WAAW,CAAC,qBAAqB,CAAC;IACnE,MAAM,CAAC,MAAM,iCAAwC;IAET,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACjD,MAAM,SAAM;IACQ,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAChC,kBAAkB,EAAE,MAAM,EAAE,CAAM;IACV,WAAW,SAAK;IAC5D,KAAK,SAAwC;IACzD;uCACmC;IACU,eAAe,SAA4B;IACxF;mCAC+B;IACc,eAAe,SAA+B;IAElF,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,YAAY,CAAM;IACN,OAAO,CAAC,OAAO,CAAC,CAAmB;IAEhE,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,SAAS;IASjB,oDAAoD;IACpD,UAAU,IAAI,IAAI,CAGjB;IAED,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,WAAW,CAMjB;IAEF,OAAO,CAAC,UAAU,CAMhB;IAEF,OAAO,CAAC,WAAW,CAKjB;IAEF,OAAO,CAAC,MAAM,CASZ;IAEF,OAAO,CAAC,aAAa,CAInB;IAEF,OAAO,CAAC,SAAS,CAQf;IAEF,OAAO,CAAC,UAAU;IAMlB,MAAM,IAAI,cAAc,CA8BvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,aAAa,CAAC;KAClC;CACF"}
|
|
@@ -10,6 +10,20 @@ import { LyraElement } from '../../internal/lyra-element.js';
|
|
|
10
10
|
import { srOnly } from '../../internal/a11y.js';
|
|
11
11
|
import { styles } from './file-input.styles.js';
|
|
12
12
|
import { matchesAccept } from './accept.js';
|
|
13
|
+
/**
|
|
14
|
+
* `<lyra-file-input>` — a drag-drop + click-to-browse file dropzone. Emits
|
|
15
|
+
* raw `File[]`; parsing (CSV/XLSX/etc.) is left to the host, since that's
|
|
16
|
+
* where files ultimately get uploaded and processed anyway.
|
|
17
|
+
*
|
|
18
|
+
* @customElement lyra-file-input
|
|
19
|
+
* @slot - Custom drop-zone content, overrides the `label` attribute. The
|
|
20
|
+
* accessible name always comes from `label`, so icon-only slot content
|
|
21
|
+
* remains announced correctly.
|
|
22
|
+
* @event lyra-files - `detail: { files, rejected }`, fired on drop and manual selection.
|
|
23
|
+
* @csspart base - The dropzone's root, clickable/focusable container.
|
|
24
|
+
* @csspart input - The visually-hidden native `<input type="file">`.
|
|
25
|
+
* @csspart status - The visually-hidden live region announcing drag accept/reject state.
|
|
26
|
+
*/
|
|
13
27
|
export class LyraFileInput extends LyraElement {
|
|
14
28
|
constructor() {
|
|
15
29
|
super(...arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-input.class.js","sourceRoot":"","sources":["../../../src/components/file-input/file-input.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAuB,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"file-input.class.js","sourceRoot":"","sources":["../../../src/components/file-input/file-input.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { type TemplateResult, type PropertyValues } from 'lit';
|
|
2
2
|
import { LyraElement } from '../../internal/lyra-element.js';
|
|
3
|
+
export interface LyraGenerationStatusEventMap {
|
|
4
|
+
'lyra-stop': CustomEvent<undefined>;
|
|
5
|
+
}
|
|
3
6
|
/**
|
|
4
7
|
* `<lyra-generation-status>` — a compact, ticking status readout shown
|
|
5
8
|
* alongside an in-progress AI response: elapsed time, token count, and
|
|
@@ -66,9 +69,6 @@ import { LyraElement } from '../../internal/lyra-element.js';
|
|
|
66
69
|
* @csspart throughput - The throughput segment, e.g. `"27 tok/s"`. Only rendered when a value is available (host-supplied or derived; see the class doc).
|
|
67
70
|
* @csspart stop-button - The built-in Stop button. Only rendered while `show-stop` is true.
|
|
68
71
|
*/
|
|
69
|
-
export interface LyraGenerationStatusEventMap {
|
|
70
|
-
'lyra-stop': CustomEvent<undefined>;
|
|
71
|
-
}
|
|
72
72
|
export declare class LyraGenerationStatus extends LyraElement<LyraGenerationStatusEventMap> {
|
|
73
73
|
static styles: import("lit").CSSResultGroup[];
|
|
74
74
|
/** Whether generation is currently in progress. The elapsed-time ticker
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation-status.class.d.ts","sourceRoot":"","sources":["../../../src/components/generation-status/generation-status.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EAEnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AA6F7D
|
|
1
|
+
{"version":3,"file":"generation-status.class.d.ts","sourceRoot":"","sources":["../../../src/components/generation-status/generation-status.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EAEnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AA6F7D,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACrC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,qBAAa,oBAAqB,SAAQ,WAAW,CAAC,4BAA4B,CAAC;IACjF,MAAM,CAAC,MAAM,iCAAgC;IAE7C;8DAC0D;IACd,MAAM,UAAS;IAE3D;;;;kDAI8C;IACO,SAAS,CAAC,EAAE,MAAM,CAAC;IAExE;yCACqC;IACiB,UAAU,CAAC,EAAE,MAAM,CAAC;IAE1E;;;mBAGe;IAC6C,eAAe,CAAC,EAAE,MAAM,CAAC;IAErF;;;;;uEAKmE;IACC,QAAQ,UAAQ;IAI3E,OAAO,CAAC,SAAS,CAAK;IAE/B,OAAO,CAAC,SAAS,CAAC,CAAiC;IAGnD,OAAO,CAAC,eAAe,CAAC,CAAS;IAUjC,iBAAiB,IAAI,IAAI,CAMxB;IAED,oBAAoB,IAAI,IAAI,CAG3B;IAkBD,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAUlD;IAKD,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAK/C;IAED,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,UAAU;IAelB,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,CAAC,gBAAgB;IAKxB;;sEAEkE;IAClE,OAAO,KAAK,wBAAwB,GASnC;IAED,OAAO,CAAC,WAAW,CAEjB;IAEF,MAAM,IAAI,cAAc,CAmBvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,wBAAwB,EAAE,oBAAoB,CAAC;KAChD;CACF"}
|
|
@@ -93,6 +93,72 @@ const showStopConverter = {
|
|
|
93
93
|
return value ? null : 'false';
|
|
94
94
|
},
|
|
95
95
|
};
|
|
96
|
+
/**
|
|
97
|
+
* `<lyra-generation-status>` — a compact, ticking status readout shown
|
|
98
|
+
* alongside an in-progress AI response: elapsed time, token count, and
|
|
99
|
+
* token-throughput, plus a built-in Stop button. Renders as e.g.
|
|
100
|
+
* `12.3s · 340 tokens · 27 tok/s [Stop]`.
|
|
101
|
+
*
|
|
102
|
+
* This is deliberately a *different* concern than the already-landed
|
|
103
|
+
* `<lyra-stream-status>`: that component is about transport/connection
|
|
104
|
+
* health (idle/connecting/streaming/stalled, heartbeat-aware stall
|
|
105
|
+
* detection), while this one is a user-facing metrics readout for a
|
|
106
|
+
* generation that both components' hosts typically already know is
|
|
107
|
+
* healthily in progress. Neither imports or depends on the other, and a
|
|
108
|
+
* consumer building a full generation UI is expected to compose both side by
|
|
109
|
+
* side rather than pick one.
|
|
110
|
+
*
|
|
111
|
+
* `active` drives an internal ~1s `setInterval` ticker that recomputes the
|
|
112
|
+
* elapsed-time display (a plain interval is sufficient here -- unlike
|
|
113
|
+
* `<lyra-stream-status>`'s stall timer, this never needs to be armed with a
|
|
114
|
+
* precise deadline, only to refresh a display roughly once a second). The
|
|
115
|
+
* elapsed clock's start instant is `started-at` when set (an epoch-ms
|
|
116
|
+
* timestamp -- lets a host that already knows exactly when generation began,
|
|
117
|
+
* e.g. from its own request-dispatch timestamp, feed that in directly and
|
|
118
|
+
* survive this component being created slightly later than that instant);
|
|
119
|
+
* when `started-at` is unset, this component falls back to capturing
|
|
120
|
+
* `Date.now()` itself at the moment `active` flips from `false`/unset to
|
|
121
|
+
* `true`, so the ticker still starts from a sensible instant with zero
|
|
122
|
+
* required host bookkeeping. The ticker is cleared whenever `active` becomes
|
|
123
|
+
* `false` and on disconnect; the display is left at whatever it last showed
|
|
124
|
+
* (frozen, not reset to zero) -- a static "Generated in 12.3s" reads better
|
|
125
|
+
* as a completed-state summary than the readout blanking out the instant
|
|
126
|
+
* generation ends.
|
|
127
|
+
*
|
|
128
|
+
* `tokens-per-second`, when the host supplies it directly (e.g. from its own
|
|
129
|
+
* smoothed/windowed rate calculation), is always used as-is. When omitted,
|
|
130
|
+
* this component derives a live figure itself from `token-count` divided by
|
|
131
|
+
* elapsed seconds -- but only once at least one full second of elapsed time
|
|
132
|
+
* has accumulated, since dividing by a sub-second elapsed window can produce
|
|
133
|
+
* wildly-swinging, misleading early readings (e.g. 3 tokens in 40ms reading
|
|
134
|
+
* as "75 tok/s"). A host that wants a stable figure from the very first tick
|
|
135
|
+
* should supply `tokens-per-second` itself. The tokens segment and the
|
|
136
|
+
* throughput segment are independently optional: either, both, or neither
|
|
137
|
+
* may render depending on what's available, per each property's own doc.
|
|
138
|
+
*
|
|
139
|
+
* Accessibility: this readout ticks roughly once per second while active,
|
|
140
|
+
* which is exactly the kind of high-frequency update
|
|
141
|
+
* `<lyra-live-region>`/`Announcer` (`../../internal/announcer.js`) exists to
|
|
142
|
+
* *prevent* from being read aloud verbatim -- routing a per-second numeric
|
|
143
|
+
* tick through even a throttled announcer would still narrate a new number
|
|
144
|
+
* to a screen-reader user roughly once every throttle window for as long as
|
|
145
|
+
* generation runs, which is noise, not information. This component
|
|
146
|
+
* therefore carries no `role="status"`/`aria-live` of its own and never
|
|
147
|
+
* announces anything; a host that wants generation-start/-end announced
|
|
148
|
+
* should pair this with something that announces state *transitions* (e.g.
|
|
149
|
+
* `<lyra-typing-indicator>`'s mount-time announcement), not this ticking
|
|
150
|
+
* readout. The one genuinely actionable, infrequent control here -- the Stop
|
|
151
|
+
* button -- gets a normal, always-present `aria-label`, no different from
|
|
152
|
+
* any other icon-only button in this library.
|
|
153
|
+
*
|
|
154
|
+
* @customElement lyra-generation-status
|
|
155
|
+
* @event lyra-stop - The built-in Stop button was clicked. No detail payload.
|
|
156
|
+
* @csspart base - The root inline layout container.
|
|
157
|
+
* @csspart elapsed - The elapsed-time segment, e.g. `"12.3s"`. Always rendered (reads `"0.0s"` before the component has ever been active).
|
|
158
|
+
* @csspart tokens - The token-count segment, e.g. `"340 tokens"`. Only rendered when `token-count` is set.
|
|
159
|
+
* @csspart throughput - The throughput segment, e.g. `"27 tok/s"`. Only rendered when a value is available (host-supplied or derived; see the class doc).
|
|
160
|
+
* @csspart stop-button - The built-in Stop button. Only rendered while `show-stop` is true.
|
|
161
|
+
*/
|
|
96
162
|
export class LyraGenerationStatus extends LyraElement {
|
|
97
163
|
constructor() {
|
|
98
164
|
super(...arguments);
|