@aceshooting/lyra-ui 2.10.0 → 2.12.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/custom-elements.json +2188 -63
- package/dist/components/app-rail/app-rail.class.d.ts.map +1 -1
- package/dist/components/app-rail/app-rail.class.js +2 -1
- package/dist/components/app-rail/app-rail.class.js.map +1 -1
- package/dist/components/attachment-chip/attachment-chip.class.d.ts +16 -22
- package/dist/components/attachment-chip/attachment-chip.class.d.ts.map +1 -1
- package/dist/components/attachment-chip/attachment-chip.class.js +37 -42
- 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 +3 -2
- package/dist/components/attachment-chip/attachment-chip.styles.js.map +1 -1
- package/dist/components/avatar/avatar.class.d.ts +4 -3
- package/dist/components/avatar/avatar.class.d.ts.map +1 -1
- package/dist/components/avatar/avatar.class.js +12 -6
- package/dist/components/avatar/avatar.class.js.map +1 -1
- package/dist/components/button/button.class.d.ts +8 -1
- package/dist/components/button/button.class.d.ts.map +1 -1
- package/dist/components/button/button.class.js +14 -2
- package/dist/components/button/button.class.js.map +1 -1
- package/dist/components/button/button.styles.d.ts.map +1 -1
- package/dist/components/button/button.styles.js +34 -0
- package/dist/components/button/button.styles.js.map +1 -1
- package/dist/components/card/card.class.d.ts +3 -0
- package/dist/components/card/card.class.d.ts.map +1 -1
- package/dist/components/card/card.class.js +3 -0
- package/dist/components/card/card.class.js.map +1 -1
- package/dist/components/card/card.styles.d.ts.map +1 -1
- package/dist/components/card/card.styles.js +7 -0
- package/dist/components/card/card.styles.js.map +1 -1
- package/dist/components/chart/box-plot.class.d.ts +4 -1
- package/dist/components/chart/box-plot.class.d.ts.map +1 -1
- package/dist/components/chart/box-plot.class.js +28 -8
- package/dist/components/chart/box-plot.class.js.map +1 -1
- package/dist/components/chart/box-plot.styles.d.ts.map +1 -1
- package/dist/components/chart/box-plot.styles.js +2 -0
- package/dist/components/chart/box-plot.styles.js.map +1 -1
- package/dist/components/chart/chart.class.d.ts +3 -1
- package/dist/components/chart/chart.class.d.ts.map +1 -1
- package/dist/components/chart/chart.class.js +17 -6
- package/dist/components/chart/chart.class.js.map +1 -1
- package/dist/components/chart/chart.styles.d.ts.map +1 -1
- package/dist/components/chart/chart.styles.js +2 -0
- package/dist/components/chart/chart.styles.js.map +1 -1
- package/dist/components/chart/histogram.class.d.ts +2 -0
- package/dist/components/chart/histogram.class.d.ts.map +1 -1
- package/dist/components/chart/histogram.class.js +6 -0
- package/dist/components/chart/histogram.class.js.map +1 -1
- package/dist/components/chart/lite-chart.class.d.ts +5 -5
- package/dist/components/chart/lite-chart.class.d.ts.map +1 -1
- package/dist/components/chart/lite-chart.class.js +35 -9
- 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 +5 -0
- package/dist/components/chart/lite-chart.styles.js.map +1 -1
- package/dist/components/chat-composer/chat-composer.class.d.ts +28 -3
- package/dist/components/chat-composer/chat-composer.class.d.ts.map +1 -1
- package/dist/components/chat-composer/chat-composer.class.js +82 -4
- package/dist/components/chat-composer/chat-composer.class.js.map +1 -1
- package/dist/components/chat-message/chat-message.class.d.ts +3 -0
- package/dist/components/chat-message/chat-message.class.d.ts.map +1 -1
- package/dist/components/chat-message/chat-message.class.js +8 -6
- package/dist/components/chat-message/chat-message.class.js.map +1 -1
- package/dist/components/chat-message/chat-message.styles.d.ts.map +1 -1
- package/dist/components/chat-message/chat-message.styles.js +2 -1
- package/dist/components/chat-message/chat-message.styles.js.map +1 -1
- package/dist/components/checkbox/checkbox.class.d.ts +15 -2
- package/dist/components/checkbox/checkbox.class.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox.class.js +28 -8
- package/dist/components/checkbox/checkbox.class.js.map +1 -1
- package/dist/components/chip/chip-group.class.d.ts +3 -3
- package/dist/components/chip/chip-group.class.d.ts.map +1 -1
- package/dist/components/chip/chip-group.class.js +3 -1
- package/dist/components/chip/chip-group.class.js.map +1 -1
- package/dist/components/citation-badge/citation-badge.class.d.ts +4 -1
- package/dist/components/citation-badge/citation-badge.class.d.ts.map +1 -1
- package/dist/components/citation-badge/citation-badge.class.js +8 -3
- package/dist/components/citation-badge/citation-badge.class.js.map +1 -1
- package/dist/components/code-block/code-block-core.class.d.ts +7 -1
- package/dist/components/code-block/code-block-core.class.d.ts.map +1 -1
- package/dist/components/code-block/code-block-core.class.js +11 -2
- package/dist/components/code-block/code-block-core.class.js.map +1 -1
- package/dist/components/code-block/code-block.class.d.ts +9 -0
- package/dist/components/code-block/code-block.class.d.ts.map +1 -1
- package/dist/components/code-block/code-block.class.js +13 -1
- package/dist/components/code-block/code-block.class.js.map +1 -1
- package/dist/components/combobox/combobox.class.d.ts +36 -0
- package/dist/components/combobox/combobox.class.d.ts.map +1 -1
- package/dist/components/combobox/combobox.class.js +111 -4
- package/dist/components/combobox/combobox.class.js.map +1 -1
- package/dist/components/combobox/option.class.d.ts.map +1 -1
- package/dist/components/combobox/option.class.js +3 -9
- package/dist/components/combobox/option.class.js.map +1 -1
- package/dist/components/combobox/option.styles.d.ts +2 -0
- package/dist/components/combobox/option.styles.d.ts.map +1 -0
- package/dist/components/combobox/option.styles.js +7 -0
- package/dist/components/combobox/option.styles.js.map +1 -0
- package/dist/components/context-meter/context-meter.class.d.ts +2 -0
- package/dist/components/context-meter/context-meter.class.d.ts.map +1 -1
- package/dist/components/context-meter/context-meter.class.js +18 -7
- package/dist/components/context-meter/context-meter.class.js.map +1 -1
- package/dist/components/context-meter/context-meter.styles.d.ts.map +1 -1
- package/dist/components/context-meter/context-meter.styles.js +3 -0
- package/dist/components/context-meter/context-meter.styles.js.map +1 -1
- package/dist/components/conversation-item/conversation-item.class.d.ts +5 -4
- package/dist/components/conversation-item/conversation-item.class.d.ts.map +1 -1
- package/dist/components/conversation-item/conversation-item.class.js +2 -0
- package/dist/components/conversation-item/conversation-item.class.js.map +1 -1
- package/dist/components/copy-button/copy-button.class.d.ts +10 -0
- package/dist/components/copy-button/copy-button.class.d.ts.map +1 -1
- package/dist/components/copy-button/copy-button.class.js +35 -4
- package/dist/components/copy-button/copy-button.class.js.map +1 -1
- package/dist/components/copy-button/copy-button.styles.d.ts.map +1 -1
- package/dist/components/copy-button/copy-button.styles.js +5 -1
- package/dist/components/copy-button/copy-button.styles.js.map +1 -1
- package/dist/components/date-picker/date-input.styles.d.ts.map +1 -1
- package/dist/components/date-picker/date-input.styles.js +4 -0
- package/dist/components/date-picker/date-input.styles.js.map +1 -1
- package/dist/components/diff-view/diff-view.styles.d.ts.map +1 -1
- package/dist/components/diff-view/diff-view.styles.js +3 -0
- package/dist/components/diff-view/diff-view.styles.js.map +1 -1
- package/dist/components/document-preview/document-preview.class.d.ts +14 -2
- package/dist/components/document-preview/document-preview.class.d.ts.map +1 -1
- package/dist/components/document-preview/document-preview.class.js +45 -6
- package/dist/components/document-preview/document-preview.class.js.map +1 -1
- package/dist/components/document-preview/document-preview.styles.js +1 -1
- package/dist/components/export-button/export-button.class.d.ts +9 -2
- package/dist/components/export-button/export-button.class.d.ts.map +1 -1
- package/dist/components/export-button/export-button.class.js +21 -3
- package/dist/components/export-button/export-button.class.js.map +1 -1
- package/dist/components/export-button/export-button.styles.d.ts.map +1 -1
- package/dist/components/export-button/export-button.styles.js +21 -2
- package/dist/components/export-button/export-button.styles.js.map +1 -1
- package/dist/components/file-input/file-input.class.d.ts +9 -3
- package/dist/components/file-input/file-input.class.d.ts.map +1 -1
- package/dist/components/file-input/file-input.class.js +23 -8
- package/dist/components/file-input/file-input.class.js.map +1 -1
- package/dist/components/flag/flag.class.d.ts +7 -1
- package/dist/components/flag/flag.class.d.ts.map +1 -1
- package/dist/components/flag/flag.class.js +11 -3
- package/dist/components/flag/flag.class.js.map +1 -1
- package/dist/components/flag/flag.styles.js +2 -2
- package/dist/components/generation-status/generation-status.class.d.ts.map +1 -1
- package/dist/components/generation-status/generation-status.class.js +35 -27
- package/dist/components/generation-status/generation-status.class.js.map +1 -1
- package/dist/components/graph/graph.class.d.ts +1 -0
- package/dist/components/graph/graph.class.d.ts.map +1 -1
- package/dist/components/graph/graph.class.js +11 -3
- package/dist/components/graph/graph.class.js.map +1 -1
- package/dist/components/heatmap/calendar-grid.d.ts +7 -1
- package/dist/components/heatmap/calendar-grid.d.ts.map +1 -1
- package/dist/components/heatmap/calendar-grid.js +9 -2
- package/dist/components/heatmap/calendar-grid.js.map +1 -1
- package/dist/components/heatmap/heatmap.class.d.ts +9 -0
- package/dist/components/heatmap/heatmap.class.d.ts.map +1 -1
- package/dist/components/heatmap/heatmap.class.js +33 -12
- package/dist/components/heatmap/heatmap.class.js.map +1 -1
- package/dist/components/heatmap/heatmap.styles.d.ts.map +1 -1
- package/dist/components/heatmap/heatmap.styles.js +6 -0
- package/dist/components/heatmap/heatmap.styles.js.map +1 -1
- package/dist/components/input/input.class.d.ts +5 -1
- package/dist/components/input/input.class.d.ts.map +1 -1
- package/dist/components/input/input.class.js +7 -1
- package/dist/components/input/input.class.js.map +1 -1
- package/dist/components/input/input.styles.d.ts.map +1 -1
- package/dist/components/input/input.styles.js +29 -3
- package/dist/components/input/input.styles.js.map +1 -1
- package/dist/components/json-viewer/json-viewer.class.js +1 -1
- package/dist/components/json-viewer/json-viewer.class.js.map +1 -1
- package/dist/components/json-viewer/json-viewer.styles.d.ts.map +1 -1
- package/dist/components/json-viewer/json-viewer.styles.js +7 -0
- package/dist/components/json-viewer/json-viewer.styles.js.map +1 -1
- package/dist/components/map/map.class.d.ts +3 -5
- package/dist/components/map/map.class.d.ts.map +1 -1
- package/dist/components/map/map.class.js +8 -6
- package/dist/components/map/map.class.js.map +1 -1
- package/dist/components/markdown/markdown.class.d.ts +5 -5
- package/dist/components/markdown/markdown.class.d.ts.map +1 -1
- package/dist/components/markdown/markdown.class.js +6 -6
- package/dist/components/markdown/markdown.class.js.map +1 -1
- package/dist/components/markdown/markdown.styles.d.ts.map +1 -1
- package/dist/components/markdown/markdown.styles.js +11 -4
- package/dist/components/markdown/markdown.styles.js.map +1 -1
- package/dist/components/media-card/media-card.class.d.ts +12 -1
- package/dist/components/media-card/media-card.class.d.ts.map +1 -1
- package/dist/components/media-card/media-card.class.js +27 -7
- package/dist/components/media-card/media-card.class.js.map +1 -1
- package/dist/components/mention-popover/mention-popover.styles.d.ts.map +1 -1
- package/dist/components/mention-popover/mention-popover.styles.js +2 -0
- package/dist/components/mention-popover/mention-popover.styles.js.map +1 -1
- package/dist/components/pagination/pagination.class.d.ts +11 -0
- package/dist/components/pagination/pagination.class.d.ts.map +1 -1
- package/dist/components/pagination/pagination.class.js +28 -1
- package/dist/components/pagination/pagination.class.js.map +1 -1
- package/dist/components/phone-input/phone-input.class.d.ts +16 -2
- package/dist/components/phone-input/phone-input.class.d.ts.map +1 -1
- package/dist/components/phone-input/phone-input.class.js +43 -2
- package/dist/components/phone-input/phone-input.class.js.map +1 -1
- package/dist/components/playback/playback.class.d.ts +11 -0
- package/dist/components/playback/playback.class.d.ts.map +1 -1
- package/dist/components/playback/playback.class.js +26 -1
- package/dist/components/playback/playback.class.js.map +1 -1
- package/dist/components/poll-status/poll-status.styles.d.ts.map +1 -1
- package/dist/components/poll-status/poll-status.styles.js +4 -0
- package/dist/components/poll-status/poll-status.styles.js.map +1 -1
- package/dist/components/segmented/segmented.styles.d.ts.map +1 -1
- package/dist/components/segmented/segmented.styles.js +3 -0
- package/dist/components/segmented/segmented.styles.js.map +1 -1
- package/dist/components/select/select.class.d.ts +10 -0
- package/dist/components/select/select.class.d.ts.map +1 -1
- package/dist/components/select/select.class.js +22 -2
- package/dist/components/select/select.class.js.map +1 -1
- package/dist/components/skeleton/skeleton.class.d.ts +5 -0
- package/dist/components/skeleton/skeleton.class.d.ts.map +1 -1
- package/dist/components/skeleton/skeleton.class.js +17 -2
- package/dist/components/skeleton/skeleton.class.js.map +1 -1
- package/dist/components/skeleton/skeleton.styles.js +2 -2
- package/dist/components/sparkline/sparkline.class.d.ts +3 -1
- package/dist/components/sparkline/sparkline.class.d.ts.map +1 -1
- package/dist/components/sparkline/sparkline.class.js +24 -8
- package/dist/components/sparkline/sparkline.class.js.map +1 -1
- package/dist/components/stepper/stepper.styles.d.ts.map +1 -1
- package/dist/components/stepper/stepper.styles.js +4 -0
- package/dist/components/stepper/stepper.styles.js.map +1 -1
- package/dist/components/table/table.class.d.ts +47 -0
- package/dist/components/table/table.class.d.ts.map +1 -1
- package/dist/components/table/table.class.js +95 -19
- 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 +39 -0
- package/dist/components/table/table.styles.js.map +1 -1
- package/dist/components/tool-call-chip/tool-call-chip.class.d.ts +8 -1
- package/dist/components/tool-call-chip/tool-call-chip.class.d.ts.map +1 -1
- package/dist/components/tool-call-chip/tool-call-chip.class.js +19 -16
- package/dist/components/tool-call-chip/tool-call-chip.class.js.map +1 -1
- package/dist/components/tool-call-chip/tool-call-chip.styles.d.ts.map +1 -1
- package/dist/components/tool-call-chip/tool-call-chip.styles.js +3 -2
- package/dist/components/tool-call-chip/tool-call-chip.styles.js.map +1 -1
- package/dist/components/tool-result-dialog/tool-result-dialog.class.d.ts +12 -1
- package/dist/components/tool-result-dialog/tool-result-dialog.class.d.ts.map +1 -1
- package/dist/components/tool-result-dialog/tool-result-dialog.class.js +25 -11
- package/dist/components/tool-result-dialog/tool-result-dialog.class.js.map +1 -1
- package/dist/components/tool-result-dialog/tool-result-dialog.styles.d.ts.map +1 -1
- package/dist/components/tool-result-dialog/tool-result-dialog.styles.js +3 -1
- package/dist/components/tool-result-dialog/tool-result-dialog.styles.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 +21 -0
- package/dist/internal/localization.js.map +1 -1
- package/dist/internal/tokens.styles.d.ts.map +1 -1
- package/dist/internal/tokens.styles.js +17 -0
- package/dist/internal/tokens.styles.js.map +1 -1
- package/dist/lyra.d.ts +5 -5
- package/dist/lyra.d.ts.map +1 -1
- package/dist/lyra.js.map +1 -1
- package/llms-full.txt +211 -78
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option.styles.js","sourceRoot":"","sources":["../../../src/components/combobox/option.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;CAIxB,CAAC"}
|
|
@@ -34,6 +34,8 @@ export declare class LyraContextMeter extends LyraElement {
|
|
|
34
34
|
variant: ContextMeterVariant;
|
|
35
35
|
/** Overall accessible label/caption, e.g. `"128K context window"`. */
|
|
36
36
|
label: string;
|
|
37
|
+
private appliedAriaLabel;
|
|
38
|
+
private explicitAriaLabel;
|
|
37
39
|
/** Sum of segment values, clamped so a negative/NaN entry can't produce a negative total. */
|
|
38
40
|
private get usedTotal();
|
|
39
41
|
/** Per-segment ratio of `value` to `total`, clamped to [0,1] and capped so the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-meter.class.d.ts","sourceRoot":"","sources":["../../../src/components/context-meter/context-meter.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAA0B,MAAM,KAAK,CAAC;AAGtF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AACtF,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAuBD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,MAAM,CAAC,MAAM,iCAAgC;IAE7C,yFAAyF;IACzD,QAAQ,EAAE,mBAAmB,EAAE,CAAM;IAErE,4FAA4F;IAChE,KAAK,SAAK;IAET,OAAO,EAAE,mBAAmB,CAAS;IAElE,sEAAsE;IAC1D,KAAK,SAAM;IAEvB,6FAA6F;IAC7F,OAAO,KAAK,SAAS,GAEpB;IAED;;yFAEqF;IACrF,OAAO,CAAC,MAAM;IAed;;;;;6BAKyB;IACzB,OAAO,KAAK,gBAAgB,GAI3B;IAED,OAAO,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"context-meter.class.d.ts","sourceRoot":"","sources":["../../../src/components/context-meter/context-meter.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAA0B,MAAM,KAAK,CAAC;AAGtF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AACtF,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAuBD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,MAAM,CAAC,MAAM,iCAAgC;IAE7C,yFAAyF;IACzD,QAAQ,EAAE,mBAAmB,EAAE,CAAM;IAErE,4FAA4F;IAChE,KAAK,SAAK;IAET,OAAO,EAAE,mBAAmB,CAAS;IAElE,sEAAsE;IAC1D,KAAK,SAAM;IAEvB,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,6FAA6F;IAC7F,OAAO,KAAK,SAAS,GAEpB;IAED;;yFAEqF;IACrF,OAAO,CAAC,MAAM;IAed;;;;;6BAKyB;IACzB,OAAO,KAAK,gBAAgB,GAI3B;IAED,OAAO,KAAK,OAAO,GAWlB;IAED,SAAS,CAAC,UAAU,IAAI,IAAI,CAqB3B;IAED,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,UAAU;IA8BlB,MAAM,IAAI,cAAc,CAEvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
|
|
@@ -19,8 +19,8 @@ const RADIUS = 40;
|
|
|
19
19
|
const CENTER = 50;
|
|
20
20
|
const STROKE = 12;
|
|
21
21
|
const CIRCUMFERENCE = 2 * Math.PI * RADIUS;
|
|
22
|
-
function formatCount(n) {
|
|
23
|
-
return Math.round(finiteNumber(n, 0)).toLocaleString();
|
|
22
|
+
function formatCount(n, locale) {
|
|
23
|
+
return Math.round(finiteNumber(n, 0)).toLocaleString(locale);
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* `<lyra-context-meter>` — a segmented occupancy meter (bar or ring) for
|
|
@@ -49,6 +49,8 @@ export class LyraContextMeter extends LyraElement {
|
|
|
49
49
|
this.variant = 'bar';
|
|
50
50
|
/** Overall accessible label/caption, e.g. `"128K context window"`. */
|
|
51
51
|
this.label = '';
|
|
52
|
+
this.appliedAriaLabel = null;
|
|
53
|
+
this.explicitAriaLabel = null;
|
|
52
54
|
}
|
|
53
55
|
static { this.styles = [LyraElement.styles, styles]; }
|
|
54
56
|
/** Sum of segment values, clamped so a negative/NaN entry can't produce a negative total. */
|
|
@@ -86,9 +88,12 @@ export class LyraContextMeter extends LyraElement {
|
|
|
86
88
|
}
|
|
87
89
|
get summary() {
|
|
88
90
|
const { used: usedForSummary, total: totalValue } = this.clampedUsedTotal;
|
|
89
|
-
const used = formatCount(usedForSummary);
|
|
91
|
+
const used = formatCount(usedForSummary, this.effectiveLocale);
|
|
90
92
|
const phrase = totalValue > 0
|
|
91
|
-
? this.localize('contextMeterUsedOfTotal', undefined, {
|
|
93
|
+
? this.localize('contextMeterUsedOfTotal', undefined, {
|
|
94
|
+
used,
|
|
95
|
+
total: formatCount(totalValue, this.effectiveLocale),
|
|
96
|
+
})
|
|
92
97
|
: this.localize('contextMeterUsed', undefined, { used });
|
|
93
98
|
return this.label ? `${this.label} — ${phrase}` : phrase;
|
|
94
99
|
}
|
|
@@ -101,7 +106,13 @@ export class LyraContextMeter extends LyraElement {
|
|
|
101
106
|
// human-readable summary (used/total, optionally prefixed by `label`)
|
|
102
107
|
// as the accessible name, same as before.
|
|
103
108
|
this.setAttribute('role', 'meter');
|
|
104
|
-
this.
|
|
109
|
+
const currentAriaLabel = this.getAttribute('aria-label');
|
|
110
|
+
if (currentAriaLabel !== this.appliedAriaLabel) {
|
|
111
|
+
this.explicitAriaLabel = currentAriaLabel;
|
|
112
|
+
}
|
|
113
|
+
const nextAriaLabel = this.explicitAriaLabel || this.summary;
|
|
114
|
+
this.setAttribute('aria-label', nextAriaLabel);
|
|
115
|
+
this.appliedAriaLabel = nextAriaLabel;
|
|
105
116
|
const { used, total } = this.clampedUsedTotal;
|
|
106
117
|
this.setAttribute('aria-valuenow', String(used));
|
|
107
118
|
this.setAttribute('aria-valuemin', '0');
|
|
@@ -120,7 +131,7 @@ export class LyraContextMeter extends LyraElement {
|
|
|
120
131
|
<span
|
|
121
132
|
part="segment"
|
|
122
133
|
data-tone=${segment.tone ?? 'neutral'}
|
|
123
|
-
title=${`${segment.label}: ${formatCount(segment.value)}`}
|
|
134
|
+
title=${`${segment.label}: ${formatCount(segment.value, this.effectiveLocale)}`}
|
|
124
135
|
style=${styleMap({ flexBasis: `${(ratio * 100).toFixed(4)}%` })}
|
|
125
136
|
></span>
|
|
126
137
|
`)}
|
|
@@ -146,7 +157,7 @@ export class LyraContextMeter extends LyraElement {
|
|
|
146
157
|
stroke-dasharray=${`${segLen} ${CIRCUMFERENCE - segLen}`}
|
|
147
158
|
stroke-dashoffset=${dashoffset}
|
|
148
159
|
transform="rotate(-90 ${CENTER} ${CENTER})"
|
|
149
|
-
><title>${`${segment.label}: ${formatCount(segment.value)}`}</title></circle>
|
|
160
|
+
><title>${`${segment.label}: ${formatCount(segment.value, this.effectiveLocale)}`}</title></circle>
|
|
150
161
|
`;
|
|
151
162
|
});
|
|
152
163
|
return html `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-meter.class.js","sourceRoot":"","sources":["../../../src/components/context-meter/context-meter.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAA+C,MAAM,KAAK,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAmBnD,0EAA0E;AAC1E,2EAA2E;AAC3E,uEAAuE;AACvE,2EAA2E;AAC3E,uCAAuC;AACvC,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;AAE3C,SAAS,WAAW,CAAC,CAAS;
|
|
1
|
+
{"version":3,"file":"context-meter.class.js","sourceRoot":"","sources":["../../../src/components/context-meter/context-meter.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-meter.styles.d.ts","sourceRoot":"","sources":["../../../src/components/context-meter/context-meter.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"context-meter.styles.d.ts","sourceRoot":"","sources":["../../../src/components/context-meter/context-meter.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAmHlB,CAAC"}
|
|
@@ -3,6 +3,7 @@ export const styles = css `
|
|
|
3
3
|
:host {
|
|
4
4
|
display: block;
|
|
5
5
|
inline-size: 100%;
|
|
6
|
+
min-inline-size: 0;
|
|
6
7
|
}
|
|
7
8
|
:host([variant='ring']) {
|
|
8
9
|
display: inline-block;
|
|
@@ -21,6 +22,8 @@ export const styles = css `
|
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
[part='label'] {
|
|
25
|
+
min-inline-size: 0;
|
|
26
|
+
overflow-wrap: anywhere;
|
|
24
27
|
font-size: var(--lyra-font-size-xs);
|
|
25
28
|
color: var(--lyra-color-text-quiet);
|
|
26
29
|
font-family: var(--lyra-font);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-meter.styles.js","sourceRoot":"","sources":["../../../src/components/context-meter/context-meter.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"context-meter.styles.js","sourceRoot":"","sources":["../../../src/components/context-meter/context-meter.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmHxB,CAAC"}
|
|
@@ -5,6 +5,7 @@ export interface ConversationItemRenameDetail {
|
|
|
5
5
|
}
|
|
6
6
|
export interface LyraConversationItemEventMap {
|
|
7
7
|
'lyra-select': CustomEvent<undefined>;
|
|
8
|
+
'lyra-rename': CustomEvent<ConversationItemRenameDetail>;
|
|
8
9
|
blur: CustomEvent<undefined>;
|
|
9
10
|
focus: CustomEvent<undefined>;
|
|
10
11
|
}
|
|
@@ -67,6 +68,8 @@ export interface LyraConversationItemEventMap {
|
|
|
67
68
|
* consumer applies the new title once it's actually persisted. Not fired
|
|
68
69
|
* when the trimmed draft is empty or unchanged from the original `title`
|
|
69
70
|
* (that's treated as an implicit cancel).
|
|
71
|
+
* @event blur - Re-dispatched from the in-place rename input as a bubbling, composed event.
|
|
72
|
+
* @event focus - Re-dispatched from the in-place rename input as a bubbling, composed event.
|
|
70
73
|
* @csspart base - The outer row wrapper (plain, no ARIA role) laying out `[part="option"]`, the rename button, and `actions`.
|
|
71
74
|
* @csspart option - The selectable region (`role="button"`, removed while renaming -- see the class doc). Wraps `content` and `timestamp`.
|
|
72
75
|
* @csspart content - Wrapper around the title and excerpt.
|
|
@@ -88,10 +91,8 @@ export declare class LyraConversationItem extends LyraElement<LyraConversationIt
|
|
|
88
91
|
* treated the same as unset (no timestamp rendered) -- mirrors
|
|
89
92
|
* `<lyra-chat-message>`'s identical `timestamp` prop. */
|
|
90
93
|
timestamp?: Date | string;
|
|
91
|
-
/** Overrides the default absolute-time rendering of `timestamp`
|
|
92
|
-
*
|
|
93
|
-
* the established way to hand locale-sensitive display back to the
|
|
94
|
-
* consumer (mirrors `<lyra-chat-message>`'s identical `formatTimestamp`). */
|
|
94
|
+
/** Overrides the default absolute-time rendering of `timestamp` when an application
|
|
95
|
+
* needs a different timestamp style (mirrors `<lyra-chat-message>`'s identical hook). */
|
|
95
96
|
formatTimestamp?: (date: Date) => string;
|
|
96
97
|
/** Whether this is the currently-selected/open session. Drives the
|
|
97
98
|
* brand-quiet background treatment. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-item.class.d.ts","sourceRoot":"","sources":["../../../src/components/conversation-item/conversation-item.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAA0B,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3G,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAyDD,MAAM,WAAW,4BAA4B;IAC3C,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC7B,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAC/B;AACD
|
|
1
|
+
{"version":3,"file":"conversation-item.class.d.ts","sourceRoot":"","sources":["../../../src/components/conversation-item/conversation-item.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAA0B,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3G,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAyDD,MAAM,WAAW,4BAA4B;IAC3C,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACtC,aAAa,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC;IACzD,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC7B,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAC/B;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,qBAAa,oBAAqB,SAAQ,WAAW,CAAC,4BAA4B,CAAC;IACjF,MAAM,CAAC,MAAM,iCAAgC;IAE7C,mCAAmC;IACvB,KAAK,SAAM;IAEvB,6EAA6E;IACjE,OAAO,SAAM;IAEzB;;;8DAG0D;IAC1B,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAE1D;8FAC0F;IAC1D,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IAEzE;4CACwC;IACI,MAAM,UAAS;IAE3D;;;8EAG0E;IAC9B,QAAQ,UAAQ;IAE5D;qFACiF;IACnC,UAAU,UAAQ;IAEhE;uCACmC;IACvB,cAAc,SAAM;IAEhC;;;kBAGc;IAC0B,WAAW,SAAM;IAEhD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,cAAc,CAAS;IAET,OAAO,CAAC,UAAU,CAAC,CAAmB;IAErE,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAWlD;IAED,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAM/C;IAED,OAAO,KAAK,mBAAmB,GAI9B;IAED,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa,CAMnB;IAEF,OAAO,CAAC,eAAe,CAOrB;IAEF,OAAO,CAAC,mBAAmB,CAKzB;IAEF,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,mBAAmB,CAgBzB;IAEF,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,gBAAgB,CAWtB;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEF,MAAM,IAAI,cAAc,CAyDvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,wBAAwB,EAAE,oBAAoB,CAAC;KAChD;CACF"}
|
|
@@ -115,6 +115,8 @@ function defaultFormatTimestamp(date, now = new Date()) {
|
|
|
115
115
|
* consumer applies the new title once it's actually persisted. Not fired
|
|
116
116
|
* when the trimmed draft is empty or unchanged from the original `title`
|
|
117
117
|
* (that's treated as an implicit cancel).
|
|
118
|
+
* @event blur - Re-dispatched from the in-place rename input as a bubbling, composed event.
|
|
119
|
+
* @event focus - Re-dispatched from the in-place rename input as a bubbling, composed event.
|
|
118
120
|
* @csspart base - The outer row wrapper (plain, no ARIA role) laying out `[part="option"]`, the rename button, and `actions`.
|
|
119
121
|
* @csspart option - The selectable region (`role="button"`, removed while renaming -- see the class doc). Wraps `content` and `timestamp`.
|
|
120
122
|
* @csspart content - Wrapper around the title and excerpt.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-item.class.js","sourceRoot":"","sources":["../../../src/components/conversation-item/conversation-item.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAoE,MAAM,KAAK,CAAC;AAC3G,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,+BAA+B,CAAC;AAMvD;;iEAEiE;AACjE,MAAM,mBAAmB,GAAG;IAC1B,aAAa,EAAE,CAAC,KAAoB,EAAW,EAAE,CAAC,KAAK,KAAK,OAAO;IACnE,WAAW,EAAE,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;CACpE,CAAC;AAEF,2DAA2D;AAC3D,wEAAwE;AACxE,sEAAsE;AACtE,2EAA2E;AAC3E,yEAAyE;AACzE,2EAA2E;AAC3E,iCAAiC;AACjC,MAAM,aAAa,GAAG,WAAW,CAAC;AAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC,SAAS,UAAU;IACjB,OAAO,GAAG,CAAA;;;;gBAII,aAAa;;;qBAGR,iBAAiB;;;;;;GAMnC,CAAC;AACJ,CAAC;AAED;;;;;;;2EAO2E;AAC3E,SAAS,sBAAsB,CAAC,IAAU,EAAE,GAAG,GAAS,IAAI,IAAI,EAAE;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,YAAY,EAAE,CAAC;IAC3D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;IAC1D,OAAO,IAAI,IAAI,CAAC,cAAc,CAC5B,SAAS,EACT,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CACpG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation-item.class.js","sourceRoot":"","sources":["../../../src/components/conversation-item/conversation-item.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,9 +22,19 @@ export declare class LyraCopyButton extends LyraElement<LyraCopyButtonEventMap>
|
|
|
22
22
|
static styles: import("lit").CSSResultGroup[];
|
|
23
23
|
/** The plain text to copy. */
|
|
24
24
|
value: string;
|
|
25
|
+
/** Accessible name forwarded from the host to the internal button. When unset, the localized
|
|
26
|
+
* Copy/Copied state provides the name. */
|
|
27
|
+
accessibleLabel: string | null;
|
|
28
|
+
/** Prevent activation and remove the internal button from the tab order. */
|
|
29
|
+
disabled: boolean;
|
|
30
|
+
/** How long, in milliseconds, the copied confirmation state remains visible. */
|
|
31
|
+
feedbackDuration: number;
|
|
25
32
|
private justCopied;
|
|
33
|
+
private buttonEl?;
|
|
26
34
|
private copyTimeoutId?;
|
|
27
35
|
disconnectedCallback(): void;
|
|
36
|
+
focus(options?: FocusOptions): void;
|
|
37
|
+
blur(): void;
|
|
28
38
|
private writeClipboard;
|
|
29
39
|
private onClick;
|
|
30
40
|
render(): TemplateResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-button.class.d.ts","sourceRoot":"","sources":["../../../src/components/copy-button/copy-button.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAA0B,MAAM,KAAK,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AA+C7D,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5C;AACD;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,SAAQ,WAAW,CAAC,sBAAsB,CAAC;IACrE,MAAM,CAAC,MAAM,iCAAgC;IAE7C,8BAA8B;IAClB,KAAK,SAAM;
|
|
1
|
+
{"version":3,"file":"copy-button.class.d.ts","sourceRoot":"","sources":["../../../src/components/copy-button/copy-button.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAA0B,MAAM,KAAK,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AA+C7D,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5C;AACD;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,SAAQ,WAAW,CAAC,sBAAsB,CAAC;IACrE,MAAM,CAAC,MAAM,iCAAgC;IAE7C,8BAA8B;IAClB,KAAK,SAAM;IAEvB;+CAC2C;IACJ,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7E,4EAA4E;IAChC,QAAQ,UAAS;IAE7D,gFAAgF;IACpB,gBAAgB,SAA6B;IAEhG,OAAO,CAAC,UAAU,CAAS;IAEZ,OAAO,CAAC,QAAQ,CAAC,CAAoB;IAE7D,OAAO,CAAC,aAAa,CAAC,CAAgC;IAEtD,oBAAoB,IAAI,IAAI,CAG3B;IAEQ,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAE3C;IAEQ,IAAI,IAAI,IAAI,CAEpB;IAED,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,OAAO,CAYb;IAEF,MAAM,IAAI,cAAc,CAYvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAC;KACpC;CACF"}
|
|
@@ -5,12 +5,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { html, svg } from 'lit';
|
|
8
|
-
import { property, state } from 'lit/decorators.js';
|
|
8
|
+
import { property, query, state } from 'lit/decorators.js';
|
|
9
9
|
import { LyraElement } from '../../internal/lyra-element.js';
|
|
10
10
|
import { styles } from './copy-button.styles.js';
|
|
11
11
|
/** How long the checkmark confirmation state lasts before reverting -- matches
|
|
12
12
|
* `lyra-code-block`'s own `COPY_CONFIRM_MS`. */
|
|
13
|
-
const
|
|
13
|
+
const DEFAULT_FEEDBACK_DURATION = 1500;
|
|
14
14
|
const ICON_VIEW_BOX = '0 0 24 24';
|
|
15
15
|
const ICON_STROKE_WIDTH = '1.75';
|
|
16
16
|
/** A generic two-rectangle "copy" glyph. */
|
|
@@ -66,15 +66,27 @@ export class LyraCopyButton extends LyraElement {
|
|
|
66
66
|
super(...arguments);
|
|
67
67
|
/** The plain text to copy. */
|
|
68
68
|
this.value = '';
|
|
69
|
+
/** Accessible name forwarded from the host to the internal button. When unset, the localized
|
|
70
|
+
* Copy/Copied state provides the name. */
|
|
71
|
+
this.accessibleLabel = null;
|
|
72
|
+
/** Prevent activation and remove the internal button from the tab order. */
|
|
73
|
+
this.disabled = false;
|
|
74
|
+
/** How long, in milliseconds, the copied confirmation state remains visible. */
|
|
75
|
+
this.feedbackDuration = DEFAULT_FEEDBACK_DURATION;
|
|
69
76
|
this.justCopied = false;
|
|
70
77
|
this.onClick = () => {
|
|
78
|
+
if (this.disabled)
|
|
79
|
+
return;
|
|
71
80
|
this.writeClipboard(this.value);
|
|
72
81
|
this.emit('lyra-copy', { text: this.value });
|
|
73
82
|
this.justCopied = true;
|
|
74
83
|
clearTimeout(this.copyTimeoutId);
|
|
84
|
+
const duration = Number.isFinite(this.feedbackDuration)
|
|
85
|
+
? Math.max(0, this.feedbackDuration)
|
|
86
|
+
: DEFAULT_FEEDBACK_DURATION;
|
|
75
87
|
this.copyTimeoutId = setTimeout(() => {
|
|
76
88
|
this.justCopied = false;
|
|
77
|
-
},
|
|
89
|
+
}, duration);
|
|
78
90
|
};
|
|
79
91
|
}
|
|
80
92
|
static { this.styles = [LyraElement.styles, styles]; }
|
|
@@ -82,6 +94,12 @@ export class LyraCopyButton extends LyraElement {
|
|
|
82
94
|
super.disconnectedCallback();
|
|
83
95
|
clearTimeout(this.copyTimeoutId);
|
|
84
96
|
}
|
|
97
|
+
focus(options) {
|
|
98
|
+
this.buttonEl?.focus(options);
|
|
99
|
+
}
|
|
100
|
+
blur() {
|
|
101
|
+
this.buttonEl?.blur();
|
|
102
|
+
}
|
|
85
103
|
writeClipboard(text) {
|
|
86
104
|
try {
|
|
87
105
|
// navigator.clipboard is absent in insecure contexts / older browsers, and some engines
|
|
@@ -99,7 +117,8 @@ export class LyraCopyButton extends LyraElement {
|
|
|
99
117
|
<button
|
|
100
118
|
part="base"
|
|
101
119
|
type="button"
|
|
102
|
-
|
|
120
|
+
?disabled=${this.disabled}
|
|
121
|
+
aria-label=${this.accessibleLabel || (this.justCopied ? this.localize('copied') : this.localize('copy'))}
|
|
103
122
|
@click=${this.onClick}
|
|
104
123
|
>
|
|
105
124
|
${this.justCopied ? checkIcon() : copyIcon()}
|
|
@@ -110,7 +129,19 @@ export class LyraCopyButton extends LyraElement {
|
|
|
110
129
|
__decorate([
|
|
111
130
|
property()
|
|
112
131
|
], LyraCopyButton.prototype, "value", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
property({ attribute: 'aria-label' })
|
|
134
|
+
], LyraCopyButton.prototype, "accessibleLabel", void 0);
|
|
135
|
+
__decorate([
|
|
136
|
+
property({ type: Boolean, reflect: true })
|
|
137
|
+
], LyraCopyButton.prototype, "disabled", void 0);
|
|
138
|
+
__decorate([
|
|
139
|
+
property({ type: Number, attribute: 'feedback-duration' })
|
|
140
|
+
], LyraCopyButton.prototype, "feedbackDuration", void 0);
|
|
113
141
|
__decorate([
|
|
114
142
|
state()
|
|
115
143
|
], LyraCopyButton.prototype, "justCopied", void 0);
|
|
144
|
+
__decorate([
|
|
145
|
+
query('[part="base"]')
|
|
146
|
+
], LyraCopyButton.prototype, "buttonEl", void 0);
|
|
116
147
|
//# sourceMappingURL=copy-button.class.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-button.class.js","sourceRoot":"","sources":["../../../src/components/copy-button/copy-button.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAA+C,MAAM,KAAK,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"copy-button.class.js","sourceRoot":"","sources":["../../../src/components/copy-button/copy-button.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/copy-button/copy-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"copy-button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/copy-button/copy-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAyClB,CAAC"}
|
|
@@ -25,10 +25,14 @@ export const styles = css `
|
|
|
25
25
|
/* :where() keeps this rule's specificity low ((0,1,0)) so a consumer's own
|
|
26
26
|
::part(base):hover override ((0,1,1)) wins without needing !important --
|
|
27
27
|
see lyra-attachment-trigger's identical fix for the same reasoning. */
|
|
28
|
-
:where([part='base']):hover {
|
|
28
|
+
:where([part='base']:not(:disabled)):hover {
|
|
29
29
|
background: color-mix(in srgb, var(--lyra-color-text) 8%, transparent);
|
|
30
30
|
color: var(--lyra-color-text);
|
|
31
31
|
}
|
|
32
|
+
[part='base']:disabled {
|
|
33
|
+
cursor: not-allowed;
|
|
34
|
+
opacity: var(--lyra-disabled-opacity);
|
|
35
|
+
}
|
|
32
36
|
[part='base']:focus-visible {
|
|
33
37
|
outline: var(--lyra-focus-ring-width) solid var(--lyra-focus-ring-color);
|
|
34
38
|
outline-offset: var(--lyra-focus-ring-offset);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-button.styles.js","sourceRoot":"","sources":["../../../src/components/copy-button/copy-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"copy-button.styles.js","sourceRoot":"","sources":["../../../src/components/copy-button/copy-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-input.styles.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/date-input.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"date-input.styles.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/date-input.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAyHlB,CAAC"}
|
|
@@ -69,6 +69,10 @@ export const styles = css `
|
|
|
69
69
|
line-height: var(--lyra-line-height-none);
|
|
70
70
|
font-size: var(--lyra-font-size-md);
|
|
71
71
|
}
|
|
72
|
+
[part='clear-button']:hover,
|
|
73
|
+
[part='expand-button']:hover {
|
|
74
|
+
color: var(--lyra-color-text);
|
|
75
|
+
}
|
|
72
76
|
[part='clear-button']:focus-visible,
|
|
73
77
|
[part='expand-button']:focus-visible {
|
|
74
78
|
outline: var(--lyra-focus-ring-width) solid var(--lyra-focus-ring-color);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-input.styles.js","sourceRoot":"","sources":["../../../src/components/date-picker/date-input.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"date-input.styles.js","sourceRoot":"","sources":["../../../src/components/date-picker/date-input.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyHxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-view.styles.d.ts","sourceRoot":"","sources":["../../../src/components/diff-view/diff-view.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"diff-view.styles.d.ts","sourceRoot":"","sources":["../../../src/components/diff-view/diff-view.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAiDlB,CAAC"}
|
|
@@ -41,6 +41,9 @@ export const styles = css `
|
|
|
41
41
|
padding: var(--lyra-size-0-125rem) var(--lyra-space-s);
|
|
42
42
|
cursor: pointer;
|
|
43
43
|
}
|
|
44
|
+
[part='copy-button']:hover {
|
|
45
|
+
border-color: var(--lyra-color-brand);
|
|
46
|
+
}
|
|
44
47
|
[part='copy-button']:focus-visible {
|
|
45
48
|
outline: var(--lyra-focus-ring-width) solid var(--lyra-focus-ring-color);
|
|
46
49
|
outline-offset: var(--lyra-focus-ring-offset);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-view.styles.js","sourceRoot":"","sources":["../../../src/components/diff-view/diff-view.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"diff-view.styles.js","sourceRoot":"","sources":["../../../src/components/diff-view/diff-view.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDxB,CAAC"}
|
|
@@ -41,8 +41,9 @@ export interface LyraDocumentPreviewEventMap {
|
|
|
41
41
|
* The one piece of async work this component *does* own is fetching a
|
|
42
42
|
* `text/*`/`application/json` `src` itself (there's no other way to get a
|
|
43
43
|
* `<pre>`'s text content from a URL) — gated behind the same generation-
|
|
44
|
-
* counter guard `<lyra-tool-result-view>`'s `resolve()` uses,
|
|
45
|
-
*
|
|
44
|
+
* counter guard `<lyra-tool-result-view>`'s `resolve()` uses, plus an
|
|
45
|
+
* `AbortController`, so a `src` reassigned mid-fetch cancels the obsolete
|
|
46
|
+
* request and can't have a stale response clobber a newer one. A
|
|
46
47
|
* failure here (network error, non-2xx response) renders inline via
|
|
47
48
|
* `[part="error"]` and fires `lyra-render-error`, independently of the
|
|
48
49
|
* host-owned `status` prop — mirrors `<lyra-markdown>`'s identical stance
|
|
@@ -92,6 +93,9 @@ export interface LyraDocumentPreviewEventMap {
|
|
|
92
93
|
* @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.
|
|
93
94
|
* @csspart error - The error message region (`role="alert"`) — used both for `status="error"` and for a failed text fetch.
|
|
94
95
|
* @csspart download-link - The `<a download>` affordance in the generic fallback. Only rendered when `src` is set and safe for link navigation.
|
|
96
|
+
* @cssprop [--lyra-document-preview-max-height=none] - Maximum body block size before the preview scrolls internally.
|
|
97
|
+
* @cssprop [--lyra-document-preview-font=var(--lyra-font-mono)] - Font used for plain-text previews.
|
|
98
|
+
* @cssprop [--lyra-document-preview-spin-duration=0.8s] - Duration of one indeterminate loading-indicator rotation.
|
|
95
99
|
*/
|
|
96
100
|
export declare class LyraDocumentPreview extends LyraElement<LyraDocumentPreviewEventMap> {
|
|
97
101
|
static styles: import("lit").CSSResultGroup[];
|
|
@@ -104,6 +108,10 @@ export declare class LyraDocumentPreview extends LyraElement<LyraDocumentPreview
|
|
|
104
108
|
mimeType: string;
|
|
105
109
|
/** Shown in the header and used as the download link's suggested filename. */
|
|
106
110
|
filename: string;
|
|
111
|
+
/** Alternative text for an image preview. When omitted, `filename` (or a
|
|
112
|
+
* localized generic fallback) is used. Set this explicitly to an empty
|
|
113
|
+
* string when the preview image is decorative. */
|
|
114
|
+
alt?: string;
|
|
107
115
|
/** Host-owned lifecycle state. `"converting"` shows the spinner regardless
|
|
108
116
|
* of `mime-type`/`src`; `"error"` shows `errorMessage` regardless of
|
|
109
117
|
* either. `"idle"`/`"ready"` both resume normal format dispatch — this
|
|
@@ -122,6 +130,10 @@ export declare class LyraDocumentPreview extends LyraElement<LyraDocumentPreview
|
|
|
122
130
|
private hasUnsupportedSlot;
|
|
123
131
|
private textFetch;
|
|
124
132
|
private fetchGeneration;
|
|
133
|
+
private fetchController?;
|
|
134
|
+
connectedCallback(): void;
|
|
135
|
+
disconnectedCallback(): void;
|
|
136
|
+
private invalidateTextFetch;
|
|
125
137
|
protected willUpdate(changed: PropertyValues): void;
|
|
126
138
|
private fetchText;
|
|
127
139
|
private onUnsupportedSlotChange;
|
|
@@ -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,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
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;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;;sDAEkD;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;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;IAC5B,OAAO,CAAC,eAAe,CAAC,CAAkB;IAE1C,iBAAiB,IAAI,IAAI,CAYxB;IAED,oBAAoB,IAAI,IAAI,CAG3B;IAED,OAAO,CAAC,mBAAmB;IAO3B,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CA8BlD;YAEa,SAAS;IAsBvB,OAAO,CAAC,uBAAuB,CAE7B;IAEF,OAAO,CAAC,eAAe,CAErB;IAEF;;;;;0CAKsC;IACtC,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,sBAAsB;IAuB9B;;;0CAGsC;IACtC,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,UAAU;IAelB,MAAM,IAAI,cAAc,CASvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAC;KAC9C;CACF"}
|
|
@@ -102,8 +102,9 @@ function icon(paths) {
|
|
|
102
102
|
* The one piece of async work this component *does* own is fetching a
|
|
103
103
|
* `text/*`/`application/json` `src` itself (there's no other way to get a
|
|
104
104
|
* `<pre>`'s text content from a URL) — gated behind the same generation-
|
|
105
|
-
* counter guard `<lyra-tool-result-view>`'s `resolve()` uses,
|
|
106
|
-
*
|
|
105
|
+
* counter guard `<lyra-tool-result-view>`'s `resolve()` uses, plus an
|
|
106
|
+
* `AbortController`, so a `src` reassigned mid-fetch cancels the obsolete
|
|
107
|
+
* request and can't have a stale response clobber a newer one. A
|
|
107
108
|
* failure here (network error, non-2xx response) renders inline via
|
|
108
109
|
* `[part="error"]` and fires `lyra-render-error`, independently of the
|
|
109
110
|
* host-owned `status` prop — mirrors `<lyra-markdown>`'s identical stance
|
|
@@ -153,6 +154,9 @@ function icon(paths) {
|
|
|
153
154
|
* @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
155
|
* @csspart error - The error message region (`role="alert"`) — used both for `status="error"` and for a failed text fetch.
|
|
155
156
|
* @csspart download-link - The `<a download>` affordance in the generic fallback. Only rendered when `src` is set and safe for link navigation.
|
|
157
|
+
* @cssprop [--lyra-document-preview-max-height=none] - Maximum body block size before the preview scrolls internally.
|
|
158
|
+
* @cssprop [--lyra-document-preview-font=var(--lyra-font-mono)] - Font used for plain-text previews.
|
|
159
|
+
* @cssprop [--lyra-document-preview-spin-duration=0.8s] - Duration of one indeterminate loading-indicator rotation.
|
|
156
160
|
*/
|
|
157
161
|
export class LyraDocumentPreview extends LyraElement {
|
|
158
162
|
constructor() {
|
|
@@ -193,6 +197,29 @@ export class LyraDocumentPreview extends LyraElement {
|
|
|
193
197
|
};
|
|
194
198
|
}
|
|
195
199
|
static { this.styles = [LyraElement.styles, styles, srOnly]; }
|
|
200
|
+
connectedCallback() {
|
|
201
|
+
super.connectedCallback();
|
|
202
|
+
if (!this.hasUpdated || this.textFetch.kind !== 'idle')
|
|
203
|
+
return;
|
|
204
|
+
const safeTextSrc = safeFetchUrl(this.src);
|
|
205
|
+
if (classifyFormat(this.mimeType) === 'text' &&
|
|
206
|
+
safeTextSrc !== null &&
|
|
207
|
+
this.status !== 'converting' &&
|
|
208
|
+
this.status !== 'error') {
|
|
209
|
+
void this.fetchText(safeTextSrc);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
disconnectedCallback() {
|
|
213
|
+
super.disconnectedCallback();
|
|
214
|
+
if (this.fetchController)
|
|
215
|
+
this.invalidateTextFetch();
|
|
216
|
+
}
|
|
217
|
+
invalidateTextFetch() {
|
|
218
|
+
this.fetchGeneration++;
|
|
219
|
+
this.fetchController?.abort();
|
|
220
|
+
this.fetchController = undefined;
|
|
221
|
+
this.textFetch = IDLE_TEXT_FETCH;
|
|
222
|
+
}
|
|
196
223
|
willUpdate(changed) {
|
|
197
224
|
if (!this.hasUpdated) {
|
|
198
225
|
this.hasUnsupportedSlot = Array.from(this.children).some((el) => el.getAttribute('slot') === 'unsupported');
|
|
@@ -217,15 +244,17 @@ export class LyraDocumentPreview extends LyraElement {
|
|
|
217
244
|
// No longer applicable (format changed away from text, src cleared,
|
|
218
245
|
// or status moved to converting/error) -- invalidate any in-flight
|
|
219
246
|
// fetch and drop the stale result so a later re-entry starts clean.
|
|
220
|
-
this.
|
|
221
|
-
this.textFetch = IDLE_TEXT_FETCH;
|
|
247
|
+
this.invalidateTextFetch();
|
|
222
248
|
}
|
|
223
249
|
}
|
|
224
250
|
async fetchText(url) {
|
|
225
251
|
const generation = ++this.fetchGeneration;
|
|
252
|
+
this.fetchController?.abort();
|
|
253
|
+
const controller = new AbortController();
|
|
254
|
+
this.fetchController = controller;
|
|
226
255
|
this.textFetch = { kind: 'loading' };
|
|
227
256
|
try {
|
|
228
|
-
const response = await fetch(url);
|
|
257
|
+
const response = await fetch(url, { signal: controller.signal });
|
|
229
258
|
if (!response.ok)
|
|
230
259
|
throw new Error(`${response.status} ${response.statusText}`);
|
|
231
260
|
const text = await response.text();
|
|
@@ -240,6 +269,10 @@ export class LyraDocumentPreview extends LyraElement {
|
|
|
240
269
|
this.textFetch = { kind: 'error', message };
|
|
241
270
|
this.emit('lyra-render-error', { error });
|
|
242
271
|
}
|
|
272
|
+
finally {
|
|
273
|
+
if (this.fetchController === controller)
|
|
274
|
+
this.fetchController = undefined;
|
|
275
|
+
}
|
|
243
276
|
}
|
|
244
277
|
/** Renders `[part="spinner"]` -- indeterminate (`role="status"` + a
|
|
245
278
|
* visually-hidden label, per the class doc's accessibility note) when
|
|
@@ -298,7 +331,10 @@ export class LyraDocumentPreview extends LyraElement {
|
|
|
298
331
|
const src = safeMediaSrc(this.src);
|
|
299
332
|
if (src === null)
|
|
300
333
|
return this.renderDownloadFallback();
|
|
301
|
-
return html `<img
|
|
334
|
+
return html `<img
|
|
335
|
+
src=${src}
|
|
336
|
+
alt=${this.alt ?? (this.filename || this.localize('documentPreviewAlt'))}
|
|
337
|
+
/>`;
|
|
302
338
|
}
|
|
303
339
|
renderDownloadFallback() {
|
|
304
340
|
const label = this.filename || this.localize('documentPreviewGenericFile');
|
|
@@ -366,6 +402,9 @@ __decorate([
|
|
|
366
402
|
__decorate([
|
|
367
403
|
property()
|
|
368
404
|
], LyraDocumentPreview.prototype, "filename", void 0);
|
|
405
|
+
__decorate([
|
|
406
|
+
property()
|
|
407
|
+
], LyraDocumentPreview.prototype, "alt", void 0);
|
|
369
408
|
__decorate([
|
|
370
409
|
property({ reflect: true })
|
|
371
410
|
], LyraDocumentPreview.prototype, "status", void 0);
|