@aceshooting/lyra-ui 2.5.0 → 2.7.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.
Files changed (214) hide show
  1. package/README.md +13 -7
  2. package/custom-elements.json +4560 -1025
  3. package/dist/components/app-rail/app-rail.class.d.ts +8 -1
  4. package/dist/components/app-rail/app-rail.class.d.ts.map +1 -1
  5. package/dist/components/app-rail/app-rail.class.js +12 -2
  6. package/dist/components/app-rail/app-rail.class.js.map +1 -1
  7. package/dist/components/chat-composer/chat-composer.class.d.ts +27 -0
  8. package/dist/components/chat-composer/chat-composer.class.d.ts.map +1 -1
  9. package/dist/components/chat-composer/chat-composer.class.js +64 -1
  10. package/dist/components/chat-composer/chat-composer.class.js.map +1 -1
  11. package/dist/components/chat-message/chat-message.class.d.ts +7 -1
  12. package/dist/components/chat-message/chat-message.class.d.ts.map +1 -1
  13. package/dist/components/chat-message/chat-message.class.js +15 -4
  14. package/dist/components/chat-message/chat-message.class.js.map +1 -1
  15. package/dist/components/checkbox/checkbox.class.d.ts +7 -0
  16. package/dist/components/checkbox/checkbox.class.d.ts.map +1 -1
  17. package/dist/components/checkbox/checkbox.class.js +7 -0
  18. package/dist/components/checkbox/checkbox.class.js.map +1 -1
  19. package/dist/components/chip/chip.class.d.ts +2 -0
  20. package/dist/components/chip/chip.class.d.ts.map +1 -1
  21. package/dist/components/chip/chip.class.js +3 -1
  22. package/dist/components/chip/chip.class.js.map +1 -1
  23. package/dist/components/chip/chip.styles.d.ts.map +1 -1
  24. package/dist/components/chip/chip.styles.js +10 -2
  25. package/dist/components/chip/chip.styles.js.map +1 -1
  26. package/dist/components/combobox/combobox.class.d.ts +16 -0
  27. package/dist/components/combobox/combobox.class.d.ts.map +1 -1
  28. package/dist/components/combobox/combobox.class.js +47 -2
  29. package/dist/components/combobox/combobox.class.js.map +1 -1
  30. package/dist/components/combobox/combobox.styles.d.ts.map +1 -1
  31. package/dist/components/combobox/combobox.styles.js +56 -6
  32. package/dist/components/combobox/combobox.styles.js.map +1 -1
  33. package/dist/components/conversation-item/conversation-item.class.d.ts +14 -0
  34. package/dist/components/conversation-item/conversation-item.class.d.ts.map +1 -1
  35. package/dist/components/conversation-item/conversation-item.class.js +38 -0
  36. package/dist/components/conversation-item/conversation-item.class.js.map +1 -1
  37. package/dist/components/date-picker/date-input.class.d.ts +25 -0
  38. package/dist/components/date-picker/date-input.class.d.ts.map +1 -1
  39. package/dist/components/date-picker/date-input.class.js +61 -0
  40. package/dist/components/date-picker/date-input.class.js.map +1 -1
  41. package/dist/components/dialog/dialog.class.d.ts +13 -1
  42. package/dist/components/dialog/dialog.class.d.ts.map +1 -1
  43. package/dist/components/dialog/dialog.class.js +24 -8
  44. package/dist/components/dialog/dialog.class.js.map +1 -1
  45. package/dist/components/empty/empty.class.d.ts +2 -0
  46. package/dist/components/empty/empty.class.d.ts.map +1 -1
  47. package/dist/components/empty/empty.class.js +2 -0
  48. package/dist/components/empty/empty.class.js.map +1 -1
  49. package/dist/components/empty/empty.styles.d.ts.map +1 -1
  50. package/dist/components/empty/empty.styles.js +6 -3
  51. package/dist/components/empty/empty.styles.js.map +1 -1
  52. package/dist/components/export-button/export-button.class.d.ts +19 -2
  53. package/dist/components/export-button/export-button.class.d.ts.map +1 -1
  54. package/dist/components/export-button/export-button.class.js +32 -8
  55. package/dist/components/export-button/export-button.class.js.map +1 -1
  56. package/dist/components/export-button/export-button.styles.d.ts.map +1 -1
  57. package/dist/components/export-button/export-button.styles.js +8 -1
  58. package/dist/components/export-button/export-button.styles.js.map +1 -1
  59. package/dist/components/gauge/gauge.class.d.ts +6 -2
  60. package/dist/components/gauge/gauge.class.d.ts.map +1 -1
  61. package/dist/components/gauge/gauge.class.js +40 -4
  62. package/dist/components/gauge/gauge.class.js.map +1 -1
  63. package/dist/components/gauge/gauge.styles.js +1 -1
  64. package/dist/components/graph/graph.class.d.ts +28 -1
  65. package/dist/components/graph/graph.class.d.ts.map +1 -1
  66. package/dist/components/graph/graph.class.js +94 -42
  67. package/dist/components/graph/graph.class.js.map +1 -1
  68. package/dist/components/graph/graph.styles.d.ts.map +1 -1
  69. package/dist/components/graph/graph.styles.js +4 -1
  70. package/dist/components/graph/graph.styles.js.map +1 -1
  71. package/dist/components/heatmap/heatmap.class.d.ts +22 -1
  72. package/dist/components/heatmap/heatmap.class.d.ts.map +1 -1
  73. package/dist/components/heatmap/heatmap.class.js +38 -3
  74. package/dist/components/heatmap/heatmap.class.js.map +1 -1
  75. package/dist/components/map/map.class.d.ts +4 -2
  76. package/dist/components/map/map.class.d.ts.map +1 -1
  77. package/dist/components/map/map.class.js +5 -3
  78. package/dist/components/map/map.class.js.map +1 -1
  79. package/dist/components/mention-popover/mention-popover.class.d.ts +9 -4
  80. package/dist/components/mention-popover/mention-popover.class.d.ts.map +1 -1
  81. package/dist/components/mention-popover/mention-popover.class.js +11 -5
  82. package/dist/components/mention-popover/mention-popover.class.js.map +1 -1
  83. package/dist/components/menu/menu.class.d.ts +10 -4
  84. package/dist/components/menu/menu.class.d.ts.map +1 -1
  85. package/dist/components/menu/menu.class.js +11 -5
  86. package/dist/components/menu/menu.class.js.map +1 -1
  87. package/dist/components/model-select/model-select.class.d.ts +44 -0
  88. package/dist/components/model-select/model-select.class.d.ts.map +1 -1
  89. package/dist/components/model-select/model-select.class.js +125 -0
  90. package/dist/components/model-select/model-select.class.js.map +1 -1
  91. package/dist/components/model-select/model-select.styles.d.ts.map +1 -1
  92. package/dist/components/model-select/model-select.styles.js +21 -0
  93. package/dist/components/model-select/model-select.styles.js.map +1 -1
  94. package/dist/components/pagination/pagination.class.d.ts +81 -0
  95. package/dist/components/pagination/pagination.class.d.ts.map +1 -0
  96. package/dist/components/pagination/pagination.class.js +278 -0
  97. package/dist/components/pagination/pagination.class.js.map +1 -0
  98. package/dist/components/pagination/pagination.d.ts +2 -0
  99. package/dist/components/pagination/pagination.d.ts.map +1 -0
  100. package/dist/components/pagination/pagination.js +5 -0
  101. package/dist/components/pagination/pagination.js.map +1 -0
  102. package/dist/components/pagination/pagination.styles.d.ts +2 -0
  103. package/dist/components/pagination/pagination.styles.d.ts.map +1 -0
  104. package/dist/components/pagination/pagination.styles.js +142 -0
  105. package/dist/components/pagination/pagination.styles.js.map +1 -0
  106. package/dist/components/phone-input/phone-input.class.d.ts +191 -0
  107. package/dist/components/phone-input/phone-input.class.d.ts.map +1 -0
  108. package/dist/components/phone-input/phone-input.class.js +493 -0
  109. package/dist/components/phone-input/phone-input.class.js.map +1 -0
  110. package/dist/components/phone-input/phone-input.d.ts +2 -0
  111. package/dist/components/phone-input/phone-input.d.ts.map +1 -0
  112. package/dist/components/phone-input/phone-input.js +5 -0
  113. package/dist/components/phone-input/phone-input.js.map +1 -0
  114. package/dist/components/phone-input/phone-input.styles.d.ts +2 -0
  115. package/dist/components/phone-input/phone-input.styles.d.ts.map +1 -0
  116. package/dist/components/phone-input/phone-input.styles.js +123 -0
  117. package/dist/components/phone-input/phone-input.styles.js.map +1 -0
  118. package/dist/components/poll-status/poll-status.styles.d.ts.map +1 -1
  119. package/dist/components/poll-status/poll-status.styles.js +5 -6
  120. package/dist/components/poll-status/poll-status.styles.js.map +1 -1
  121. package/dist/components/segmented/segmented.class.d.ts +4 -0
  122. package/dist/components/segmented/segmented.class.d.ts.map +1 -1
  123. package/dist/components/segmented/segmented.class.js +2 -1
  124. package/dist/components/segmented/segmented.class.js.map +1 -1
  125. package/dist/components/segmented/segmented.styles.d.ts.map +1 -1
  126. package/dist/components/segmented/segmented.styles.js +7 -0
  127. package/dist/components/segmented/segmented.styles.js.map +1 -1
  128. package/dist/components/skeleton/skeleton.styles.d.ts.map +1 -1
  129. package/dist/components/skeleton/skeleton.styles.js +1 -0
  130. package/dist/components/skeleton/skeleton.styles.js.map +1 -1
  131. package/dist/components/slider/slider.class.d.ts +3 -0
  132. package/dist/components/slider/slider.class.d.ts.map +1 -1
  133. package/dist/components/slider/slider.class.js +3 -0
  134. package/dist/components/slider/slider.class.js.map +1 -1
  135. package/dist/components/stream-status/stream-status.styles.d.ts.map +1 -1
  136. package/dist/components/stream-status/stream-status.styles.js +4 -5
  137. package/dist/components/stream-status/stream-status.styles.js.map +1 -1
  138. package/dist/components/switch/switch.class.d.ts +20 -0
  139. package/dist/components/switch/switch.class.d.ts.map +1 -1
  140. package/dist/components/switch/switch.class.js +83 -23
  141. package/dist/components/switch/switch.class.js.map +1 -1
  142. package/dist/components/switch/switch.styles.d.ts.map +1 -1
  143. package/dist/components/switch/switch.styles.js +18 -0
  144. package/dist/components/switch/switch.styles.js.map +1 -1
  145. package/dist/components/table/table.class.d.ts +12 -0
  146. package/dist/components/table/table.class.d.ts.map +1 -1
  147. package/dist/components/table/table.class.js +6 -1
  148. package/dist/components/table/table.class.js.map +1 -1
  149. package/dist/components/table/table.styles.d.ts.map +1 -1
  150. package/dist/components/table/table.styles.js +3 -0
  151. package/dist/components/table/table.styles.js.map +1 -1
  152. package/dist/components/textarea/textarea.class.d.ts +127 -0
  153. package/dist/components/textarea/textarea.class.d.ts.map +1 -0
  154. package/dist/components/textarea/textarea.class.js +364 -0
  155. package/dist/components/textarea/textarea.class.js.map +1 -0
  156. package/dist/components/textarea/textarea.d.ts +2 -0
  157. package/dist/components/textarea/textarea.d.ts.map +1 -0
  158. package/dist/components/textarea/textarea.js +5 -0
  159. package/dist/components/textarea/textarea.js.map +1 -0
  160. package/dist/components/textarea/textarea.styles.d.ts +2 -0
  161. package/dist/components/textarea/textarea.styles.d.ts.map +1 -0
  162. package/dist/components/textarea/textarea.styles.js +67 -0
  163. package/dist/components/textarea/textarea.styles.js.map +1 -0
  164. package/dist/components/time-range/time-range.class.d.ts +4 -0
  165. package/dist/components/time-range/time-range.class.d.ts.map +1 -1
  166. package/dist/components/time-range/time-range.class.js +4 -0
  167. package/dist/components/time-range/time-range.class.js.map +1 -1
  168. package/dist/components/tool-approval-dialog/tool-approval-dialog.class.d.ts +6 -0
  169. package/dist/components/tool-approval-dialog/tool-approval-dialog.class.d.ts.map +1 -1
  170. package/dist/components/tool-approval-dialog/tool-approval-dialog.class.js +8 -0
  171. package/dist/components/tool-approval-dialog/tool-approval-dialog.class.js.map +1 -1
  172. package/dist/components/tree/tree-node.class.d.ts +3 -0
  173. package/dist/components/tree/tree-node.class.d.ts.map +1 -1
  174. package/dist/components/tree/tree-node.class.js +16 -1
  175. package/dist/components/tree/tree-node.class.js.map +1 -1
  176. package/dist/components/tree/tree-node.styles.d.ts.map +1 -1
  177. package/dist/components/tree/tree-node.styles.js +27 -1
  178. package/dist/components/tree/tree-node.styles.js.map +1 -1
  179. package/dist/components/tree/tree.class.d.ts +11 -1
  180. package/dist/components/tree/tree.class.d.ts.map +1 -1
  181. package/dist/components/tree/tree.class.js +6 -2
  182. package/dist/components/tree/tree.class.js.map +1 -1
  183. package/dist/components/typing-indicator/typing-indicator.class.d.ts +4 -0
  184. package/dist/components/typing-indicator/typing-indicator.class.d.ts.map +1 -1
  185. package/dist/components/typing-indicator/typing-indicator.class.js +4 -0
  186. package/dist/components/typing-indicator/typing-indicator.class.js.map +1 -1
  187. package/dist/components/typing-indicator/typing-indicator.styles.d.ts.map +1 -1
  188. package/dist/components/typing-indicator/typing-indicator.styles.js +24 -22
  189. package/dist/components/typing-indicator/typing-indicator.styles.js.map +1 -1
  190. package/dist/components/widget/widget.class.d.ts +5 -0
  191. package/dist/components/widget/widget.class.d.ts.map +1 -1
  192. package/dist/components/widget/widget.class.js +22 -1
  193. package/dist/components/widget/widget.class.js.map +1 -1
  194. package/dist/components/widget/widget.styles.d.ts.map +1 -1
  195. package/dist/components/widget/widget.styles.js +3 -2
  196. package/dist/components/widget/widget.styles.js.map +1 -1
  197. package/dist/internal/localization.d.ts +1 -1
  198. package/dist/internal/localization.d.ts.map +1 -1
  199. package/dist/internal/localization.js +6 -0
  200. package/dist/internal/localization.js.map +1 -1
  201. package/dist/internal/root-registration-allowlist.d.ts +1 -1
  202. package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
  203. package/dist/internal/root-registration-allowlist.js +3 -0
  204. package/dist/internal/root-registration-allowlist.js.map +1 -1
  205. package/dist/internal/tokens.styles.d.ts.map +1 -1
  206. package/dist/internal/tokens.styles.js +6 -2
  207. package/dist/internal/tokens.styles.js.map +1 -1
  208. package/dist/lyra.d.ts +14 -2
  209. package/dist/lyra.d.ts.map +1 -1
  210. package/dist/lyra.js +6 -0
  211. package/dist/lyra.js.map +1 -1
  212. package/llms-full.txt +615 -92
  213. package/llms.txt +5 -3
  214. package/package.json +12 -2
@@ -2,9 +2,20 @@ 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 ExportFormatDescriptor {
6
+ /** Stable id carried through `lyra-export`. */
7
+ id: string;
8
+ /** Consumer-supplied, already-localized menu label. */
9
+ label: string;
10
+ /** Optional consumer-supplied secondary menu text. */
11
+ description?: string;
12
+ /** Optional metadata for the external export handler. */
13
+ extension?: string;
14
+ }
15
+ export type ExportFormatOption = ExportFormat | ExportFormatDescriptor;
5
16
  export interface LyraExportButtonEventMap {
6
17
  'lyra-export': CustomEvent<{
7
- format: ExportFormat;
18
+ format: string;
8
19
  }>;
9
20
  'lyra-export-complete': CustomEvent<{
10
21
  format: ExportFormat;
@@ -27,6 +38,8 @@ export interface LyraExportButtonEventMap {
27
38
  * @csspart trigger - The button that triggers the export (or opens the format menu).
28
39
  * @csspart menu - The format-choice menu, shown when more than one format is configured.
29
40
  * @csspart menu-item - A single format option inside the menu.
41
+ * @csspart format-label - A format option's primary label.
42
+ * @csspart format-description - A custom format option's optional secondary text.
30
43
  */
31
44
  export declare class LyraExportButton extends LyraElement<LyraExportButtonEventMap> {
32
45
  static styles: import("lit").CSSResultGroup[];
@@ -37,8 +50,10 @@ export declare class LyraExportButton extends LyraElement<LyraExportButtonEventM
37
50
  * degrading to a blank file while only JSON had a fallback. */
38
51
  columns: CsvColumn[];
39
52
  filename: string;
40
- formats: ExportFormat[];
53
+ formats: ExportFormatOption[];
41
54
  disabled: boolean;
55
+ /** Controlled busy state for async/server-generated exports. */
56
+ loading: boolean;
42
57
  /** Trigger button text, also feeds the format menu's `aria-label` (as
43
58
  * "`${label} format`") so assistive tech gets an accessible name for it.
44
59
  * Left at its default English `'Export'`, the rendered text instead
@@ -76,6 +91,8 @@ export declare class LyraExportButton extends LyraElement<LyraExportButtonEventM
76
91
  private effectiveColumns;
77
92
  /** Applies the same `columns` allow-list CSV exports use, so JSON can't leak fields CSV hides. */
78
93
  private rowsForExport;
94
+ private formatId;
95
+ private formatLabel;
79
96
  private doExport;
80
97
  private onTriggerClick;
81
98
  /** Resolves `label`'s effective text: an explicit override wins verbatim; left at the
@@ -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,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;IAC9D,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACpC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACrC;AACD;;;;;;;;;;;;;;;GAeG;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;;;;;;wEAMoE;IACxD,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,OAAO,CAAC,cAAc,CAAQ;IAC9B,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,UAAU,IAAI,IAAI,CAE3B;IAED,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAwB/C;IAED;;;;yCAIqC;IACrC,OAAO,CAAC,gBAAgB;IASxB,kGAAkG;IAClG,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,QAAQ;IAmBhB,OAAO,CAAC,cAAc;IAMtB;;uEAEmE;IACnE,OAAO,KAAK,cAAc,GAEzB;IAED,MAAM,IAAI,cAAc,CAoCvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
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,sBAAsB;IACrC,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,sBAAsB,CAAC;AAEvE,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,WAAW,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,sBAAsB,EAAE,WAAW,CAAC;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IAC9D,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACpC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACrC;AACD;;;;;;;;;;;;;;;;;GAiBG;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,kBAAkB,EAAE,CAAW;IAC5B,QAAQ,UAAS;IAC7D,gEAAgE;IACpB,OAAO,UAAS;IAC5D;;;;;;wEAMoE;IACxD,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,OAAO,CAAC,cAAc,CAAQ;IAC9B,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,UAAU,IAAI,IAAI,CAG3B;IAED,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAwB/C;IAED;;;;yCAIqC;IACrC,OAAO,CAAC,gBAAgB;IASxB,kGAAkG;IAClG,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,QAAQ;IAwBhB,OAAO,CAAC,cAAc;IAMtB;;uEAEmE;IACnE,OAAO,KAAK,cAAc,GAEzB;IAED,MAAM,IAAI,cAAc,CAwCvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
@@ -26,6 +26,8 @@ import { styles } from './export-button.styles.js';
26
26
  * @csspart trigger - The button that triggers the export (or opens the format menu).
27
27
  * @csspart menu - The format-choice menu, shown when more than one format is configured.
28
28
  * @csspart menu-item - A single format option inside the menu.
29
+ * @csspart format-label - A format option's primary label.
30
+ * @csspart format-description - A custom format option's optional secondary text.
29
31
  */
30
32
  export class LyraExportButton extends LyraElement {
31
33
  constructor() {
@@ -39,6 +41,8 @@ export class LyraExportButton extends LyraElement {
39
41
  this.filename = 'export';
40
42
  this.formats = ['csv'];
41
43
  this.disabled = false;
44
+ /** Controlled busy state for async/server-generated exports. */
45
+ this.loading = false;
42
46
  /** Trigger button text, also feeds the format menu's `aria-label` (as
43
47
  * "`${label} format`") so assistive tech gets an accessible name for it.
44
48
  * Left at its default English `'Export'`, the rendered text instead
@@ -65,7 +69,7 @@ export class LyraExportButton extends LyraElement {
65
69
  }
66
70
  return;
67
71
  }
68
- if (this.formats.length <= 1 || this.disabled)
72
+ if (this.formats.length <= 1 || this.disabled || this.loading)
69
73
  return;
70
74
  const items = this.menuItemEls();
71
75
  const currentIndex = items.indexOf(e.target);
@@ -144,6 +148,7 @@ export class LyraExportButton extends LyraElement {
144
148
  }
145
149
  willUpdate() {
146
150
  this._isFirstUpdate = !this.hasUpdated;
151
+ this.toggleAttribute('aria-busy', this.loading);
147
152
  }
148
153
  updated(changed) {
149
154
  if (changed.has('open')) {
@@ -199,24 +204,36 @@ export class LyraExportButton extends LyraElement {
199
204
  return picked;
200
205
  });
201
206
  }
202
- doExport(format) {
203
- if (this.disabled)
207
+ formatId(format) {
208
+ return typeof format === 'string' ? format : format.id;
209
+ }
210
+ formatLabel(format) {
211
+ return typeof format === 'string' ? format.toUpperCase() : format.label;
212
+ }
213
+ doExport(formatOption) {
214
+ if (this.disabled || this.loading)
204
215
  return;
205
216
  this.closeMenu();
206
217
  this.triggerEl?.focus();
218
+ const format = this.formatId(formatOption);
207
219
  const ev = this.emit('lyra-export', { format }, { cancelable: true });
208
220
  if (ev.defaultPrevented)
209
221
  return;
210
222
  if (format === 'csv') {
211
223
  downloadBlob(buildCsv(this.rows, this.effectiveColumns()), `${this.filename}.csv`, 'text/csv;charset=utf-8;');
212
224
  }
213
- else {
225
+ else if (format === 'json') {
214
226
  downloadBlob(JSON.stringify(this.rowsForExport(), null, 2), `${this.filename}.json`, 'application/json');
215
227
  }
228
+ else {
229
+ // Custom formats are intentionally handler-only: Lyra owns the menu and
230
+ // event contract but does not pull format-specific encoders into the base bundle.
231
+ return;
232
+ }
216
233
  this.emit('lyra-export-complete', { format });
217
234
  }
218
235
  onTriggerClick() {
219
- if (this.disabled)
236
+ if (this.disabled || this.loading)
220
237
  return;
221
238
  if (this.formats.length <= 1)
222
239
  this.doExport(this.formats[0] ?? 'csv');
@@ -235,7 +252,8 @@ export class LyraExportButton extends LyraElement {
235
252
  <button
236
253
  part="trigger"
237
254
  type="button"
238
- ?disabled=${this.disabled}
255
+ ?disabled=${this.disabled || this.loading}
256
+ aria-busy=${this.loading ? 'true' : nothing}
239
257
  aria-haspopup=${this.formats.length > 1 ? 'menu' : nothing}
240
258
  aria-expanded=${this.formats.length > 1 ? (this.open ? 'true' : 'false') : nothing}
241
259
  aria-controls=${this.formats.length > 1 ? this.menuId : nothing}
@@ -254,10 +272,13 @@ export class LyraExportButton extends LyraElement {
254
272
  part="menu-item"
255
273
  role="menuitem"
256
274
  type="button"
257
- ?disabled=${this.disabled}
275
+ ?disabled=${this.disabled || this.loading}
258
276
  @click=${() => this.doExport(f)}
259
277
  >
260
- ${f.toUpperCase()}
278
+ <span part="format-label">${this.formatLabel(f)}</span>
279
+ ${typeof f !== 'string' && f.description
280
+ ? html `<span part="format-description">${f.description}</span>`
281
+ : nothing}
261
282
  </button>`)}
262
283
  </div>`
263
284
  : nothing}
@@ -279,6 +300,9 @@ __decorate([
279
300
  __decorate([
280
301
  property({ type: Boolean, reflect: true })
281
302
  ], LyraExportButton.prototype, "disabled", void 0);
303
+ __decorate([
304
+ property({ type: Boolean, reflect: true })
305
+ ], LyraExportButton.prototype, "loading", void 0);
282
306
  __decorate([
283
307
  property()
284
308
  ], LyraExportButton.prototype, "label", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"export-button.class.js","sourceRoot":"","sources":["../../../src/components/export-button/export-button.class.ts"],"names":[],"mappings":"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"}
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;AAuBnD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,gBAAiB,SAAQ,WAAqC;IAA3E;;QAGkC,SAAI,GAA8B,EAAE,CAAC;QACrE;;;wEAGgE;QAChC,YAAO,GAAgB,EAAE,CAAC;QAC9C,aAAQ,GAAG,QAAQ,CAAC;QACA,YAAO,GAAyB,CAAC,KAAK,CAAC,CAAC;QAC5B,aAAQ,GAAG,KAAK,CAAC;QAC7D,gEAAgE;QACpB,YAAO,GAAG,KAAK,CAAC;QAC5D;;;;;;4EAMoE;QACxD,UAAK,GAAG,QAAQ,CAAC;QACe,SAAI,GAAG,KAAK,CAAC;QAKxC,WAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAExC,mBAAc,GAAG,IAAI,CAAC;QAC9B,iFAAiF;QACzE,0BAAqB,GAAG,CAAC,CAAC;QAU1B,iBAAY,GAAG,CAAC,CAAe,EAAQ,EAAE;YAC/C,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QACzD,CAAC,CAAC;QAiCM,cAAS,GAAG,CAAC,CAAgB,EAAQ,EAAE;YAC7C,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;gBAC1B,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YAEtE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAA2B,CAAC,CAAC;YAElE,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;gBACd,KAAK,WAAW;oBACd,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,mBAAmB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;oBACrE,MAAM;gBACR,KAAK,SAAS;oBACZ,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,mBAAmB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;oBACpF,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACd,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC;oBACD,MAAM;gBACR,KAAK,KAAK;oBACR,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACd,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACvC,CAAC;oBACD,MAAM;gBACR,KAAK,KAAK;oBACR,sEAAsE;oBACtE,gEAAgE;oBAChE,iBAAiB;oBACjB,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,MAAM;YACV,CAAC;QACH,CAAC,CAAC;IAqJJ,CAAC;aA3QQ,WAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,AAA/B,CAAgC;IAgC7C,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAMO,QAAQ;QACd,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAEO,WAAW;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAoB,oBAAoB,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,4FAA4F;IACpF,aAAa,CAAC,KAAa;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IACjE,CAAC;IAED,qGAAqG;IAC7F,mBAAmB,CAAC,KAAa;QACvC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IA+CS,YAAY;QACpB,mEAAmE;QACnE,2DAA2D;QAC3D,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAA0B,CAAC,CAAC;IAC/E,CAAC;IAES,UAAU;QAClB,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACvC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAES,OAAO,CAAC,OAAuB;QACvC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,0DAA0D;YAC1D,iEAAiE;YACjE,0DAA0D;YAC1D,4DAA4D;YAC5D,oEAAoE;YACpE,8DAA8D;YAC9D,gCAAgC;YAChC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;gBACzB,IAAI,MAAM,IAAI,IAAI;oBAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvD,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5D,IAAI,CAAC,IAAI,CAAC,cAAc;oBAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACjD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAC/C,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,cAAc;oBAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;yCAIqC;IAC7B,gBAAgB;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,kGAAkG;IAC1F,aAAa;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3B,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,KAAK,MAAM,GAAG,IAAI,IAAI;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,QAAQ,CAAC,MAA0B;QACzC,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACzD,CAAC;IAEO,WAAW,CAAC,MAA0B;QAC5C,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAC1E,CAAC;IAEO,QAAQ,CAAC,YAAgC;QAC/C,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,EAAE,CAAC,gBAAgB;YAAE,OAAO;QAEhC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,YAAY,CACV,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAC5C,GAAG,IAAI,CAAC,QAAQ,MAAM,EACtB,yBAAyB,CAC1B,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC3G,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,kFAAkF;YAClF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;;YACjE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;IAED;;uEAEmE;IACnE,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAClC,OAAO,IAAI,CAAA;;;;oBAIK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;oBAC7B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;wBAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;wBAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;wBAClE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;iBACtD,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;;UAElC,KAAK;;QAEP,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,IAAI,CAAA;iBACG,IAAI,CAAC,MAAM;;;yBAGH,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC;;cAEvE,IAAI,CAAC,OAAO,CAAC,GAAG,CAChB,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,CAAA;;;;8BAIU,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;2BAChC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;;8CAEH,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC7C,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW;gBACtC,CAAC,CAAC,IAAI,CAAA,mCAAmC,CAAC,CAAC,WAAW,SAAS;gBAC/D,CAAC,CAAC,OAAO;0BACH,CACb;iBACI;YACT,CAAC,CAAC,OAAO;KACZ,CAAC;IACJ,CAAC;CACF;AAzQiC;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;8CAAsC;AAKrC;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;iDAA2B;AAC9C;IAAX,QAAQ,EAAE;kDAAqB;AACA;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;iDAAyC;AAC5B;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDAAkB;AAEjB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAAiB;AAQhD;IAAX,QAAQ,EAAE;+CAAkB;AACe;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAc;AAEtB;IAAlC,KAAK,CAAC,kBAAkB,CAAC;mDAAuC;AACjC;IAA/B,KAAK,CAAC,eAAe,CAAC;gDAA8B"}
@@ -1 +1 @@
1
- {"version":3,"file":"export-button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/export-button/export-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAyFlB,CAAC"}
1
+ {"version":3,"file":"export-button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/export-button/export-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAgGlB,CAAC"}
@@ -66,7 +66,10 @@ export const styles = css `
66
66
  }
67
67
  }
68
68
  [part='menu-item'] {
69
- display: block;
69
+ display: flex;
70
+ flex-direction: column;
71
+ align-items: flex-start;
72
+ gap: var(--lyra-size-1px);
70
73
  inline-size: 100%;
71
74
  text-align: start;
72
75
  padding: var(--lyra-space-xs) var(--lyra-space-s);
@@ -88,5 +91,9 @@ export const styles = css `
88
91
  opacity: var(--lyra-opacity-disabled);
89
92
  cursor: not-allowed;
90
93
  }
94
+ [part='format-description'] {
95
+ color: var(--lyra-color-text-quiet);
96
+ font-size: var(--lyra-font-size-sm);
97
+ }
91
98
  `;
92
99
  //# sourceMappingURL=export-button.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export-button.styles.js","sourceRoot":"","sources":["../../../src/components/export-button/export-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyFxB,CAAC"}
1
+ {"version":3,"file":"export-button.styles.js","sourceRoot":"","sources":["../../../src/components/export-button/export-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgGxB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { type TemplateResult } from 'lit';
2
2
  import { LyraElement } from '../../internal/lyra-element.js';
3
- export type GaugeType = 'radial' | 'linear';
3
+ export type GaugeType = 'radial' | 'ring' | 'linear';
4
4
  /**
5
- * `<lyra-gauge>` — a radial or linear meter. First-party invention; no
5
+ * `<lyra-gauge>` — a radial, full-circle ring, or linear meter. First-party invention; no
6
6
  * generic gauge widget exists in Web Awesome.
7
7
  *
8
8
  * @customElement lyra-gauge
@@ -11,6 +11,7 @@ export type GaugeType = 'radial' | 'linear';
11
11
  * @csspart fill - The animated fill arc/line.
12
12
  * @csspart value - The value text.
13
13
  * @csspart label - The label text.
14
+ * @cssprop [--lyra-gauge-fill=var(--lyra-color-brand)] - Fill stroke for radial, ring, and linear gauges.
14
15
  */
15
16
  export declare class LyraGauge extends LyraElement {
16
17
  static styles: import("lit").CSSResultGroup[];
@@ -22,6 +23,8 @@ export declare class LyraGauge extends LyraElement {
22
23
  /** Imperative override for the displayed/announced value text, e.g. `'72°F'` for a raw `value` of `72`.
23
24
  * An empty string is treated the same as unset and falls back to the numeric `value`. */
24
25
  valueLabel?: string;
26
+ private appliedAriaLabel;
27
+ private explicitAriaLabel;
25
28
  private get domain();
26
29
  private get ratio();
27
30
  /** The text rendered/announced for the current value: `valueLabel` when set,
@@ -31,6 +34,7 @@ export declare class LyraGauge extends LyraElement {
31
34
  protected willUpdate(): void;
32
35
  private renderRadial;
33
36
  private renderLinear;
37
+ private renderRing;
34
38
  render(): TemplateResult;
35
39
  }
36
40
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"gauge.class.d.ts","sourceRoot":"","sources":["../../../src/components/gauge/gauge.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAqC5C;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,SAAQ,WAAW;IACxC,MAAM,CAAC,MAAM,iCAAgC;IAEjB,KAAK,SAAK;IACV,GAAG,SAAK;IACR,GAAG,SAAO;IACT,IAAI,EAAE,SAAS,CAAY;IAC5C,KAAK,SAAM;IACvB;6FACyF;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpD,OAAO,KAAK,MAAM,GAIjB;IAED,OAAO,KAAK,KAAK,GAMhB;IAED;;mEAE+D;IAC/D,OAAO,KAAK,WAAW,GAEtB;IAED,SAAS,CAAC,UAAU,IAAI,IAAI,CAsB3B;IAED,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,YAAY;IA8BpB,MAAM,IAAI,cAAc,CAEvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAC;KACzB;CACF"}
1
+ {"version":3,"file":"gauge.class.d.ts","sourceRoot":"","sources":["../../../src/components/gauge/gauge.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAsCrD;;;;;;;;;;;GAWG;AACH,qBAAa,SAAU,SAAQ,WAAW;IACxC,MAAM,CAAC,MAAM,iCAAgC;IAEjB,KAAK,SAAK;IACV,GAAG,SAAK;IACR,GAAG,SAAO;IACT,IAAI,EAAE,SAAS,CAAY;IAC5C,KAAK,SAAM;IACvB;6FACyF;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,iBAAiB,CAAuB;IAKhD,OAAO,KAAK,MAAM,GAIjB;IAED,OAAO,KAAK,KAAK,GAMhB;IAED;;mEAE+D;IAC/D,OAAO,KAAK,WAAW,GAEtB;IAED,SAAS,CAAC,UAAU,IAAI,IAAI,CA4B3B;IAED,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,UAAU;IAoBlB,MAAM,IAAI,cAAc,CAIvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAC;KACzB;CACF"}
@@ -39,8 +39,9 @@ function arcPath(startDeg, endDeg) {
39
39
  // technique used for the linear variant's fill line below.
40
40
  const RADIAL_ARC_D = arcPath(START_DEG, START_DEG + SWEEP_DEG);
41
41
  const RADIAL_ARC_LENGTH = (SWEEP_DEG / 360) * 2 * Math.PI * RADIUS;
42
+ const RING_CIRCUMFERENCE = 2 * Math.PI * RADIUS;
42
43
  /**
43
- * `<lyra-gauge>` — a radial or linear meter. First-party invention; no
44
+ * `<lyra-gauge>` — a radial, full-circle ring, or linear meter. First-party invention; no
44
45
  * generic gauge widget exists in Web Awesome.
45
46
  *
46
47
  * @customElement lyra-gauge
@@ -49,6 +50,7 @@ const RADIAL_ARC_LENGTH = (SWEEP_DEG / 360) * 2 * Math.PI * RADIUS;
49
50
  * @csspart fill - The animated fill arc/line.
50
51
  * @csspart value - The value text.
51
52
  * @csspart label - The label text.
53
+ * @cssprop [--lyra-gauge-fill=var(--lyra-color-brand)] - Fill stroke for radial, ring, and linear gauges.
52
54
  */
53
55
  export class LyraGauge extends LyraElement {
54
56
  constructor() {
@@ -58,6 +60,11 @@ export class LyraGauge extends LyraElement {
58
60
  this.max = 100;
59
61
  this.type = 'radial';
60
62
  this.label = '';
63
+ // `label` supplies the default meter name, but an author-provided host
64
+ // `aria-label` must win. Track the value last applied by the component so
65
+ // later label updates remain distinguishable from author attribute edits.
66
+ this.appliedAriaLabel = null;
67
+ this.explicitAriaLabel = null;
61
68
  }
62
69
  static { this.styles = [LyraElement.styles, styles]; }
63
70
  // Normalizes a reversed min > max domain by swapping lo/hi, but only once
@@ -106,10 +113,16 @@ export class LyraGauge extends LyraElement {
106
113
  this.setAttribute('aria-valuemax', String(hi));
107
114
  else
108
115
  this.removeAttribute('aria-valuemax');
109
- if (this.label)
110
- this.setAttribute('aria-label', this.label);
116
+ const currentAriaLabel = this.getAttribute('aria-label');
117
+ if (currentAriaLabel !== this.appliedAriaLabel) {
118
+ this.explicitAriaLabel = currentAriaLabel;
119
+ }
120
+ const nextAriaLabel = this.explicitAriaLabel || this.label || null;
121
+ if (nextAriaLabel)
122
+ this.setAttribute('aria-label', nextAriaLabel);
111
123
  else
112
124
  this.removeAttribute('aria-label');
125
+ this.appliedAriaLabel = nextAriaLabel;
113
126
  if (this.valueLabel)
114
127
  this.setAttribute('aria-valuetext', this.valueLabel);
115
128
  else
@@ -163,8 +176,31 @@ export class LyraGauge extends LyraElement {
163
176
  <text part="value" x=${endX} y=${LINEAR_TEXT_Y} style=${rtl ? 'text-anchor:start' : nothing} aria-hidden="true">${text}</text>
164
177
  </svg>`;
165
178
  }
179
+ renderRing() {
180
+ const text = this.displayText;
181
+ const dashoffset = RING_CIRCUMFERENCE * (1 - this.ratio);
182
+ return html `<svg part="base" viewBox="0 0 100 100">
183
+ <circle part="track" cx=${CENTER} cy=${CENTER} r=${RADIUS} stroke-width=${STROKE}></circle>
184
+ <circle
185
+ part="fill"
186
+ cx=${CENTER}
187
+ cy=${CENTER}
188
+ r=${RADIUS}
189
+ stroke-width=${STROKE}
190
+ stroke-dasharray=${RING_CIRCUMFERENCE}
191
+ stroke-dashoffset=${dashoffset}
192
+ transform="rotate(-90 50 50)"
193
+ ></circle>
194
+ <text part="value" x="50" y="52" aria-hidden="true">${text}</text>
195
+ ${this.label ? svg `<text part="label" x="50" y="68" aria-hidden="true">${this.label}</text>` : ''}
196
+ </svg>`;
197
+ }
166
198
  render() {
167
- return this.type === 'linear' ? this.renderLinear() : this.renderRadial();
199
+ if (this.type === 'linear')
200
+ return this.renderLinear();
201
+ if (this.type === 'ring')
202
+ return this.renderRing();
203
+ return this.renderRadial();
168
204
  }
169
205
  }
170
206
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"gauge.class.js","sourceRoot":"","sources":["../../../src/components/gauge/gauge.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gauge.class.js","sourceRoot":"","sources":["../../../src/components/gauge/gauge.class.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export const styles = css `
21
21
  }
22
22
  [part='fill'] {
23
23
  fill: none;
24
- stroke: var(--lyra-color-brand);
24
+ stroke: var(--lyra-gauge-fill, var(--lyra-color-brand));
25
25
  stroke-linecap: round;
26
26
  transition: stroke-dashoffset var(--lyra-transition-base);
27
27
  }
@@ -4,6 +4,10 @@ import '../skeleton/skeleton.class.js';
4
4
  export interface GraphNode {
5
5
  id: string;
6
6
  label?: string;
7
+ /** Spoken label when it needs more context than the visible label. */
8
+ accessibleLabel?: string;
9
+ /** Optional native SVG tooltip text. */
10
+ description?: string;
7
11
  /** Clamped to [6, 24] (a non-finite/missing value uses the midpoint, 15) — never rendered smaller/larger. */
8
12
  radius?: number;
9
13
  color?: string;
@@ -13,9 +17,24 @@ export interface GraphNode {
13
17
  * a not-yet-created page. A link whose `source` id has no matching node is still dropped
14
18
  * entirely (there is no position to draw a stub from). */
15
19
  export interface GraphLink {
20
+ /** Optional stable id returned by `lyra-link-click`. */
21
+ id?: string;
16
22
  source: string;
17
23
  target: string;
18
24
  width?: number;
25
+ /** Optional spoken-name and SVG-tooltip fallback used before the generated source/target text.
26
+ * It is not rendered as a visible edge label. */
27
+ label?: string;
28
+ /** Spoken label for the keyboard-operable link. */
29
+ accessibleLabel?: string;
30
+ /** Optional native SVG tooltip text. */
31
+ description?: string;
32
+ /** Draw an arrowhead at the target end. */
33
+ directed?: boolean;
34
+ /** Per-link stroke color; unsafe CSS declaration delimiters are rejected. */
35
+ color?: string;
36
+ /** SVG stroke-dash sequence. Invalid/negative entries are rejected as a whole. */
37
+ dash?: number[];
19
38
  }
20
39
  export interface LyraGraphEventMap {
21
40
  'lyra-node-click': CustomEvent<{
@@ -24,6 +43,7 @@ export interface LyraGraphEventMap {
24
43
  'lyra-link-click': CustomEvent<{
25
44
  source: string;
26
45
  target: string;
46
+ id?: string;
27
47
  }>;
28
48
  }
29
49
  /**
@@ -43,11 +63,12 @@ export interface LyraGraphEventMap {
43
63
  *
44
64
  * @customElement lyra-graph
45
65
  * @event lyra-node-click - `detail: { id }`.
46
- * @event lyra-link-click - `detail: { source, target }`.
66
+ * @event lyra-link-click - `detail: { source, target, id? }`.
47
67
  * @csspart base - The graph wrapper.
48
68
  * @csspart svg - The graph SVG.
49
69
  * @csspart node - A graph node.
50
70
  * @csspart link - A graph link.
71
+ * @csspart arrowhead - The marker used by directed graph links.
51
72
  * @csspart label - A node label.
52
73
  * @csspart live-region - The current graph item announcement.
53
74
  * @csspart data-list - A visually hidden list alternative for graph data.
@@ -63,6 +84,8 @@ export declare class LyraGraph extends LyraElement<LyraGraphEventMap> {
63
84
  linkDistance: number;
64
85
  minZoom: number;
65
86
  maxZoom: number;
87
+ /** Accessible name forwarded from the host to the semantic graph SVG. */
88
+ accessibleLabel: string | null;
66
89
  /** When set, seeds each node's initial x/y deterministically (keyed by
67
90
  * node id, not array index) instead of forceSimulation()'s own random
68
91
  * start, and settles the simulation synchronously — see rebuildSimulation().
@@ -72,6 +95,7 @@ export declare class LyraGraph extends LyraElement<LyraGraphEventMap> {
72
95
  * not retroactively reposition already-settled nodes; there is currently
73
96
  * no way to make an already-rendered graph reproducible after the fact. */
74
97
  seed?: number;
98
+ private readonly arrowMarkerId;
75
99
  /** True until the lazy-loaded d3 peer dependencies have settled (success or failure). */
76
100
  private loading;
77
101
  private simNodes;
@@ -157,6 +181,9 @@ export declare class LyraGraph extends LyraElement<LyraGraphEventMap> {
157
181
  private rebuildSimulation;
158
182
  private onNodeClick;
159
183
  private onLinkClick;
184
+ private nodeAccessibleText;
185
+ private linkAccessibleText;
186
+ private linkCoordinates;
160
187
  private graphItemCount;
161
188
  private normalizedGraphItem;
162
189
  private graphItemText;
@@ -1 +1 @@
1
- {"version":3,"file":"graph.class.d.ts","sourceRoot":"","sources":["../../../src/components/graph/graph.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.class.d.ts","sourceRoot":"","sources":["../../../src/components/graph/graph.class.ts"],"names":[],"mappings":"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"}