q2-tecton-elements 1.72.0 → 1.73.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. package/dist/bundle-report.json +39545 -34361
  2. package/dist/cjs/{charting-ClN1ldqv.js → charting-CdNTrVBe.js} +80 -0
  3. package/dist/cjs/click-elsewhere_3.cjs.entry.js +81 -14
  4. package/dist/cjs/{dataSample-BYR-wrOn.js → dataSample-B4blhlH4.js} +1 -1
  5. package/dist/cjs/date-picker-helpers-UYvPn98R.js +257 -0
  6. package/dist/cjs/{index-BY3aao8R.js → index-BqyWHpNu.js} +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/q2-action-group.cjs.entry.js +1 -1
  9. package/dist/cjs/q2-action-sheet.cjs.entry.js +98 -18
  10. package/dist/cjs/q2-avatar.cjs.entry.js +34 -1
  11. package/dist/cjs/q2-badge_2.cjs.entry.js +3 -3
  12. package/dist/cjs/q2-btn_2.cjs.entry.js +2 -2
  13. package/dist/cjs/q2-calendar.cjs.entry.js +9 -4
  14. package/dist/cjs/q2-card-image.cjs.entry.js +3 -3
  15. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  16. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  17. package/dist/cjs/q2-carousel.cjs.entry.js +20 -6
  18. package/dist/cjs/q2-chart-area.cjs.entry.js +38 -7
  19. package/dist/cjs/q2-chart-bar.cjs.entry.js +39 -8
  20. package/dist/cjs/q2-chart-donut.cjs.entry.js +31 -13
  21. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  22. package/dist/cjs/q2-checkbox_2.cjs.entry.js +8 -5
  23. package/dist/cjs/q2-context.cjs.entry.js +4 -4
  24. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-data-table.cjs.entry.js +7 -7
  26. package/dist/cjs/q2-date-calendar.cjs.entry.js +452 -0
  27. package/dist/cjs/q2-date-picker_2.cjs.entry.js +968 -0
  28. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  29. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-dropdown.cjs.entry.js +3 -3
  31. package/dist/cjs/q2-editable-field.cjs.entry.js +20 -7
  32. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  33. package/dist/cjs/q2-file-picker.cjs.entry.js +2 -2
  34. package/dist/cjs/q2-form.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-item.cjs.entry.js +20 -2
  38. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-link_2.cjs.entry.js +2 -2
  40. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  41. package/dist/cjs/q2-message.cjs.entry.js +3 -3
  42. package/dist/cjs/q2-meter.cjs.entry.js +2 -2
  43. package/dist/cjs/q2-modal.cjs.entry.js +2 -2
  44. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  45. package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
  46. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  47. package/dist/cjs/q2-otp.cjs.entry.js +5 -5
  48. package/dist/cjs/q2-pagination.cjs.entry.js +12 -6
  49. package/dist/cjs/q2-pill.cjs.entry.js +8 -5
  50. package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
  51. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  52. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  53. package/dist/cjs/q2-resize-observer.cjs.entry.js +1 -1
  54. package/dist/cjs/q2-search.cjs.entry.js +3 -3
  55. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  56. package/dist/cjs/q2-select.cjs.entry.js +8 -4
  57. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  58. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  59. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  60. package/dist/cjs/q2-surface.cjs.entry.js +1 -1
  61. package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
  62. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  63. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  64. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  65. package/dist/cjs/q2-toast.cjs.entry.js +1 -1
  66. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  67. package/dist/cjs/{sectorHelper-9TWL-3dw.js → sectorHelper-CxhDl5ql.js} +1 -1
  68. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  69. package/dist/collection/collection-manifest.json +2 -0
  70. package/dist/collection/components/q2-action-sheet/q2-action-sheet.css +52 -0
  71. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +98 -18
  72. package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.vr.js +124 -0
  73. package/dist/collection/components/q2-avatar/q2-avatar.js +34 -1
  74. package/dist/collection/components/q2-avatar/test/q2-avatar-test.vr.js +79 -4
  75. package/dist/collection/components/q2-btn/q2-btn.css +84 -136
  76. package/dist/collection/components/q2-btn/q2-btn.js +10 -4
  77. package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js +99 -43
  78. package/dist/collection/components/q2-calendar/q2-calendar.js +16 -5
  79. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  80. package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js +3 -13
  81. package/dist/collection/components/q2-card-image/q2-card-image.js +2 -2
  82. package/dist/collection/components/q2-carousel/q2-carousel.js +19 -5
  83. package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js +32 -0
  84. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  85. package/dist/collection/components/q2-chart-area/q2-chart-area.css +11 -0
  86. package/dist/collection/components/q2-chart-area/q2-chart-area.js +53 -7
  87. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.vr.js +14 -0
  88. package/dist/collection/components/q2-chart-bar/q2-chart-bar.css +11 -0
  89. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +50 -4
  90. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.vr.js +14 -0
  91. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +30 -10
  92. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.vr.js +25 -0
  93. package/dist/collection/components/q2-checkbox/q2-checkbox.js +6 -3
  94. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +6 -3
  95. package/dist/collection/components/q2-context/q2-context.js +3 -3
  96. package/dist/collection/components/q2-context/test/q2-context-test.vr.js +3 -3
  97. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  98. package/dist/collection/components/q2-data-table/q2-data-table.css +3 -0
  99. package/dist/collection/components/q2-data-table/q2-data-table.js +5 -5
  100. package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js +47 -0
  101. package/dist/collection/components/q2-date-calendar/q2-date-calendar.css +393 -0
  102. package/dist/collection/components/q2-date-calendar/q2-date-calendar.js +1022 -0
  103. package/dist/collection/components/q2-date-calendar/test/q2-date-calendar-test.vr.js +111 -0
  104. package/dist/collection/components/q2-date-picker/q2-date-picker.css +138 -0
  105. package/dist/collection/components/q2-date-picker/q2-date-picker.js +2010 -0
  106. package/dist/collection/components/q2-date-picker/test/q2-date-picker-test.vr.js +179 -0
  107. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  108. package/dist/collection/components/q2-dropdown/q2-dropdown.js +5 -5
  109. package/dist/collection/components/q2-editable-field/q2-editable-field.js +27 -8
  110. package/dist/collection/components/q2-example/q2-example.js +1 -1
  111. package/dist/collection/components/q2-file-picker/q2-file-picker.js +1 -1
  112. package/dist/collection/components/q2-form/q2-form.js +1 -1
  113. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  114. package/dist/collection/components/q2-input/formatting/phone-number-formats.js +1 -1
  115. package/dist/collection/components/q2-input/q2-input.js +6 -3
  116. package/dist/collection/components/q2-item/q2-item.js +19 -1
  117. package/dist/collection/components/q2-item/test/q2-item-test.vr.js +2 -2
  118. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  119. package/dist/collection/components/q2-list/q2-list.js +1 -1
  120. package/dist/collection/components/q2-message/q2-message.css +1 -1
  121. package/dist/collection/components/q2-message/q2-message.js +1 -1
  122. package/dist/collection/components/q2-message/test/q2-message-test.vr.js +11 -2
  123. package/dist/collection/components/q2-meter/q2-meter.js +1 -1
  124. package/dist/collection/components/q2-modal/q2-modal.js +1 -1
  125. package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js +7 -7
  126. package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
  127. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  128. package/dist/collection/components/q2-option-list/q2-option-list.js +36 -4
  129. package/dist/collection/components/q2-otp/q2-otp.js +4 -4
  130. package/dist/collection/components/q2-pagination/q2-pagination.css +17 -0
  131. package/dist/collection/components/q2-pagination/q2-pagination.js +10 -4
  132. package/dist/collection/components/q2-pagination/test/q2-pagination-test.vr.js +39 -0
  133. package/dist/collection/components/q2-pill/q2-pill.css +14 -10
  134. package/dist/collection/components/q2-pill/q2-pill.js +6 -3
  135. package/dist/collection/components/q2-pill/test/q2-pill-test.vr.js +25 -0
  136. package/dist/collection/components/q2-popover/q2-popover.css +1 -0
  137. package/dist/collection/components/q2-popover/q2-popover.js +43 -8
  138. package/dist/collection/components/q2-radio/q2-radio.js +5 -2
  139. package/dist/collection/components/q2-radio-group/q2-radio-group.js +6 -3
  140. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  141. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  142. package/dist/collection/components/q2-search/q2-search.js +6 -3
  143. package/dist/collection/components/q2-section/q2-section.js +2 -2
  144. package/dist/collection/components/q2-select/q2-select.js +12 -5
  145. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  146. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
  147. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  148. package/dist/collection/components/q2-surface/q2-surface.js +1 -1
  149. package/dist/collection/components/q2-surface/test/q2-surface-test.vr.js +2 -2
  150. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  151. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  152. package/dist/collection/components/q2-tag/q2-tag.js +6 -3
  153. package/dist/collection/components/q2-textarea/q2-textarea.js +6 -3
  154. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.vr.js +1 -1
  155. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  156. package/dist/collection/utils/chart-keyboard.js +76 -0
  157. package/dist/collection/utils/date-picker/date-picker-helpers.js +239 -0
  158. package/dist/collection/utils/date-picker/date-picker-types.js +1 -0
  159. package/dist/collection/utils/index.js +1 -1
  160. package/dist/components/charting.js +1603 -1532
  161. package/dist/components/dataSample.js +7 -7
  162. package/dist/components/index.js +57 -53
  163. package/dist/components/index2.js +2 -2
  164. package/dist/components/q2-action-sheet.js +224 -103
  165. package/dist/components/q2-avatar2.js +41 -27
  166. package/dist/components/q2-btn2.js +2 -2
  167. package/dist/components/q2-calendar.js +6 -3
  168. package/dist/components/q2-card-image.js +2 -2
  169. package/dist/components/q2-carousel-pane2.js +3 -3
  170. package/dist/components/q2-carousel.js +37 -24
  171. package/dist/components/q2-chart-area.js +415 -369
  172. package/dist/components/q2-chart-bar.js +193 -148
  173. package/dist/components/q2-chart-donut.js +185 -158
  174. package/dist/components/q2-checkbox-group.js +6 -6
  175. package/dist/components/q2-checkbox2.js +11 -11
  176. package/dist/components/q2-context.js +20 -20
  177. package/dist/components/q2-currency.js +9 -9
  178. package/dist/components/q2-data-table.js +111 -111
  179. package/dist/components/q2-date-calendar.d.ts +11 -0
  180. package/dist/components/q2-date-calendar.js +5 -0
  181. package/dist/components/q2-date-calendar2.js +678 -0
  182. package/dist/components/q2-date-picker.d.ts +11 -0
  183. package/dist/components/q2-date-picker.js +5 -0
  184. package/dist/components/q2-date-picker2.js +875 -0
  185. package/dist/components/q2-detail.js +3 -3
  186. package/dist/components/q2-dropdown.js +17 -17
  187. package/dist/components/q2-editable-field.js +16 -5
  188. package/dist/components/q2-example.js +11 -11
  189. package/dist/components/q2-file-picker.js +1 -1
  190. package/dist/components/q2-form.js +6 -6
  191. package/dist/components/q2-formatted-text.js +2 -2
  192. package/dist/components/q2-input2.js +6 -6
  193. package/dist/components/q2-item2.js +32 -22
  194. package/dist/components/q2-legend2.js +7 -7
  195. package/dist/components/q2-list2.js +6 -6
  196. package/dist/components/q2-message2.js +10 -10
  197. package/dist/components/q2-meter.js +7 -7
  198. package/dist/components/q2-modal.js +22 -22
  199. package/dist/components/q2-month-picker.js +17 -17
  200. package/dist/components/q2-mutation-observer.js +1 -1
  201. package/dist/components/q2-optgroup2.js +7 -7
  202. package/dist/components/q2-option-list2.js +55 -34
  203. package/dist/components/q2-otp.js +8 -8
  204. package/dist/components/q2-pagination.js +70 -68
  205. package/dist/components/q2-pill.js +51 -46
  206. package/dist/components/q2-popover2.js +70 -49
  207. package/dist/components/q2-radio-group.js +7 -7
  208. package/dist/components/q2-radio.js +6 -6
  209. package/dist/components/q2-relative-time.js +1 -1
  210. package/dist/components/q2-resize-observer2.js +1 -1
  211. package/dist/components/q2-search.js +5 -5
  212. package/dist/components/q2-section.js +17 -17
  213. package/dist/components/q2-select2.js +2 -2
  214. package/dist/components/q2-stepper-pane.js +29 -29
  215. package/dist/components/q2-stepper-vertical.js +4 -4
  216. package/dist/components/q2-stepper.js +57 -57
  217. package/dist/components/q2-surface.js +3 -3
  218. package/dist/components/q2-tab-container.js +21 -21
  219. package/dist/components/q2-tab-pane.js +6 -6
  220. package/dist/components/q2-tag2.js +8 -6
  221. package/dist/components/q2-textarea.js +3 -3
  222. package/dist/components/sectorHelper.js +78 -78
  223. package/dist/components/tecton-tab-pane.js +10 -10
  224. package/dist/esm/{charting-DOZct-UB.js → charting-DFXJklqs.js} +79 -1
  225. package/dist/esm/click-elsewhere_3.entry.js +81 -14
  226. package/dist/esm/{dataSample-Dm1zpQNi.js → dataSample-CP_VKNqt.js} +1 -1
  227. package/dist/esm/date-picker-helpers-D8QnN_AS.js +242 -0
  228. package/dist/esm/{index-DJw6Feh0.js → index-CP8pXJ-l.js} +1 -1
  229. package/dist/esm/loader.js +1 -1
  230. package/dist/esm/q2-action-group.entry.js +1 -1
  231. package/dist/esm/q2-action-sheet.entry.js +99 -19
  232. package/dist/esm/q2-avatar.entry.js +34 -1
  233. package/dist/esm/q2-badge_2.entry.js +3 -3
  234. package/dist/esm/q2-btn_2.entry.js +2 -2
  235. package/dist/esm/q2-calendar.entry.js +9 -4
  236. package/dist/esm/q2-card-image.entry.js +3 -3
  237. package/dist/esm/q2-card.entry.js +1 -1
  238. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  239. package/dist/esm/q2-carousel.entry.js +20 -6
  240. package/dist/esm/q2-chart-area.entry.js +38 -7
  241. package/dist/esm/q2-chart-bar.entry.js +39 -8
  242. package/dist/esm/q2-chart-donut.entry.js +31 -13
  243. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  244. package/dist/esm/q2-checkbox_2.entry.js +8 -5
  245. package/dist/esm/q2-context.entry.js +4 -4
  246. package/dist/esm/q2-currency.entry.js +1 -1
  247. package/dist/esm/q2-data-table.entry.js +7 -7
  248. package/dist/esm/q2-date-calendar.entry.js +450 -0
  249. package/dist/esm/q2-date-picker_2.entry.js +965 -0
  250. package/dist/esm/q2-detail.entry.js +2 -2
  251. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  252. package/dist/esm/q2-dropdown.entry.js +3 -3
  253. package/dist/esm/q2-editable-field.entry.js +20 -7
  254. package/dist/esm/q2-example.entry.js +1 -1
  255. package/dist/esm/q2-file-picker.entry.js +2 -2
  256. package/dist/esm/q2-form.entry.js +1 -1
  257. package/dist/esm/q2-formatted-text.entry.js +1 -1
  258. package/dist/esm/q2-icon.entry.js +1 -1
  259. package/dist/esm/q2-item.entry.js +20 -2
  260. package/dist/esm/q2-legend.entry.js +1 -1
  261. package/dist/esm/q2-link_2.entry.js +2 -2
  262. package/dist/esm/q2-loc.entry.js +1 -1
  263. package/dist/esm/q2-message.entry.js +3 -3
  264. package/dist/esm/q2-meter.entry.js +2 -2
  265. package/dist/esm/q2-modal.entry.js +2 -2
  266. package/dist/esm/q2-month-picker.entry.js +3 -3
  267. package/dist/esm/q2-mutation-observer.entry.js +1 -1
  268. package/dist/esm/q2-option.entry.js +1 -1
  269. package/dist/esm/q2-otp.entry.js +5 -5
  270. package/dist/esm/q2-pagination.entry.js +12 -6
  271. package/dist/esm/q2-pill.entry.js +8 -5
  272. package/dist/esm/q2-radio-group.entry.js +2 -2
  273. package/dist/esm/q2-radio.entry.js +2 -2
  274. package/dist/esm/q2-relative-time.entry.js +2 -2
  275. package/dist/esm/q2-resize-observer.entry.js +1 -1
  276. package/dist/esm/q2-search.entry.js +3 -3
  277. package/dist/esm/q2-section.entry.js +3 -3
  278. package/dist/esm/q2-select.entry.js +8 -4
  279. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  280. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  281. package/dist/esm/q2-stepper.entry.js +2 -2
  282. package/dist/esm/q2-surface.entry.js +1 -1
  283. package/dist/esm/q2-tab-container.entry.js +2 -2
  284. package/dist/esm/q2-tab-pane.entry.js +1 -1
  285. package/dist/esm/q2-tecton-elements.js +1 -1
  286. package/dist/esm/q2-textarea.entry.js +2 -2
  287. package/dist/esm/q2-toast.entry.js +1 -1
  288. package/dist/esm/q2-tooltip.entry.js +1 -1
  289. package/dist/esm/{sectorHelper--RMGWGAy.js → sectorHelper-DBtkWtpl.js} +1 -1
  290. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  291. package/dist/q2-tecton-elements/{charting-DOZct-UB.js → charting-DFXJklqs.js} +1625 -1554
  292. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +85 -43
  293. package/dist/q2-tecton-elements/{dataSample-Dm1zpQNi.js → dataSample-CP_VKNqt.js} +33 -33
  294. package/dist/q2-tecton-elements/date-picker-helpers-D8QnN_AS.js +153 -0
  295. package/dist/q2-tecton-elements/{index-DJw6Feh0.js → index-CP8pXJ-l.js} +1 -1
  296. package/dist/q2-tecton-elements/q2-action-group.entry.js +1 -1
  297. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +169 -84
  298. package/dist/q2-tecton-elements/q2-avatar.entry.js +24 -10
  299. package/dist/q2-tecton-elements/q2-badge_2.entry.js +6 -6
  300. package/dist/q2-tecton-elements/q2-btn_2.entry.js +23 -23
  301. package/dist/q2-tecton-elements/q2-calendar.entry.js +7 -4
  302. package/dist/q2-tecton-elements/q2-card-image.entry.js +3 -3
  303. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  304. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +4 -4
  305. package/dist/q2-tecton-elements/q2-carousel.entry.js +24 -11
  306. package/dist/q2-tecton-elements/q2-chart-area.entry.js +187 -141
  307. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +377 -333
  308. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +184 -158
  309. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +7 -7
  310. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +20 -18
  311. package/dist/q2-tecton-elements/q2-context.entry.js +21 -21
  312. package/dist/q2-tecton-elements/q2-currency.entry.js +9 -9
  313. package/dist/q2-tecton-elements/q2-data-table.entry.js +7 -7
  314. package/dist/q2-tecton-elements/q2-date-calendar.entry.js +438 -0
  315. package/dist/q2-tecton-elements/q2-date-picker_2.entry.js +792 -0
  316. package/dist/q2-tecton-elements/q2-detail.entry.js +4 -4
  317. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  318. package/dist/q2-tecton-elements/q2-dropdown.entry.js +16 -16
  319. package/dist/q2-tecton-elements/q2-editable-field.entry.js +17 -6
  320. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  321. package/dist/q2-tecton-elements/q2-file-picker.entry.js +2 -2
  322. package/dist/q2-tecton-elements/q2-form.entry.js +2 -2
  323. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  324. package/dist/q2-tecton-elements/q2-icon.entry.js +1 -1
  325. package/dist/q2-tecton-elements/q2-item.entry.js +26 -16
  326. package/dist/q2-tecton-elements/q2-legend.entry.js +2 -2
  327. package/dist/q2-tecton-elements/q2-link_2.entry.js +7 -7
  328. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  329. package/dist/q2-tecton-elements/q2-message.entry.js +29 -29
  330. package/dist/q2-tecton-elements/q2-meter.entry.js +8 -8
  331. package/dist/q2-tecton-elements/q2-modal.entry.js +18 -18
  332. package/dist/q2-tecton-elements/q2-month-picker.entry.js +14 -14
  333. package/dist/q2-tecton-elements/q2-mutation-observer.entry.js +1 -1
  334. package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
  335. package/dist/q2-tecton-elements/q2-otp.entry.js +9 -9
  336. package/dist/q2-tecton-elements/q2-pagination.entry.js +51 -49
  337. package/dist/q2-tecton-elements/q2-pill.entry.js +22 -17
  338. package/dist/q2-tecton-elements/q2-radio-group.entry.js +8 -8
  339. package/dist/q2-tecton-elements/q2-radio.entry.js +7 -7
  340. package/dist/q2-tecton-elements/q2-relative-time.entry.js +6 -6
  341. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +13 -13
  342. package/dist/q2-tecton-elements/q2-search.entry.js +31 -31
  343. package/dist/q2-tecton-elements/q2-section.entry.js +20 -20
  344. package/dist/q2-tecton-elements/q2-select.entry.js +3 -3
  345. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +10 -10
  346. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +9 -9
  347. package/dist/q2-tecton-elements/q2-stepper.entry.js +45 -45
  348. package/dist/q2-tecton-elements/q2-surface.entry.js +15 -15
  349. package/dist/q2-tecton-elements/q2-tab-container.entry.js +20 -20
  350. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +9 -9
  351. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  352. package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -3
  353. package/dist/q2-tecton-elements/q2-toast.entry.js +1 -1
  354. package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
  355. package/dist/q2-tecton-elements/{sectorHelper--RMGWGAy.js → sectorHelper-DBtkWtpl.js} +56 -56
  356. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +9 -9
  357. package/dist/types/components/q2-action-sheet/q2-action-sheet.d.ts +21 -1
  358. package/dist/types/components/q2-action-sheet/test/q2-action-sheet-test.vr.d.ts +1 -0
  359. package/dist/types/components/q2-avatar/q2-avatar.d.ts +5 -0
  360. package/dist/types/components/q2-btn/q2-btn.d.ts +7 -3
  361. package/dist/types/components/q2-calendar/q2-calendar.d.ts +10 -2
  362. package/dist/types/components/q2-carousel/q2-carousel.d.ts +5 -0
  363. package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +11 -2
  364. package/dist/types/components/q2-chart-bar/q2-chart-bar.d.ts +9 -0
  365. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +1 -0
  366. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +4 -3
  367. package/dist/types/components/q2-checkbox-group/q2-checkbox-group.d.ts +4 -2
  368. package/dist/types/components/q2-date-calendar/q2-date-calendar.d.ts +122 -0
  369. package/dist/types/components/q2-date-calendar/test/q2-date-calendar-test.vr.d.ts +1 -0
  370. package/dist/types/components/q2-date-picker/q2-date-picker.d.ts +304 -0
  371. package/dist/types/components/q2-date-picker/test/q2-date-picker-test.vr.d.ts +1 -0
  372. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +3 -3
  373. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +14 -1
  374. package/dist/types/components/q2-input/q2-input.d.ts +4 -2
  375. package/dist/types/components/q2-item/q2-item.d.ts +3 -0
  376. package/dist/types/components/q2-option-list/q2-option-list.d.ts +1 -0
  377. package/dist/types/components/q2-popover/q2-popover.d.ts +4 -0
  378. package/dist/types/components/q2-radio/q2-radio.d.ts +3 -2
  379. package/dist/types/components/q2-radio-group/q2-radio-group.d.ts +4 -2
  380. package/dist/types/components/q2-search/q2-search.d.ts +3 -1
  381. package/dist/types/components/q2-select/q2-select.d.ts +4 -2
  382. package/dist/types/components/q2-textarea/q2-textarea.d.ts +4 -2
  383. package/dist/types/components.d.ts +858 -49
  384. package/dist/types/global.d.ts +1 -0
  385. package/dist/types/index.d.ts +1 -0
  386. package/dist/types/utils/chart-keyboard.d.ts +16 -0
  387. package/dist/types/utils/date-picker/date-picker-helpers.d.ts +47 -0
  388. package/dist/types/utils/date-picker/date-picker-types.d.ts +42 -0
  389. package/package.json +3 -3
  390. package/dist/cjs/q2-optgroup.cjs.entry.js +0 -70
  391. package/dist/esm/q2-optgroup.entry.js +0 -68
  392. package/dist/q2-tecton-elements/q2-optgroup.entry.js +0 -88
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, H as Host, g as getElement } from './index-Cqkz7Bnm.js';
2
- import { c as createGuid, l as loc, d as handleAriaLabel, o as overrideFocus, i as isEventFromElement, g as isMobile } from './index-DJw6Feh0.js';
2
+ import { c as createGuid, l as loc, d as handleAriaLabel, o as overrideFocus, i as isEventFromElement, g as isMobile } from './index-CP8pXJ-l.js';
3
3
  import { m as mirrorEmit } from './mirror-emit-DUjY_ucm.js';
4
4
  import { h as hasValidChildren, f as filterChildren } from './component-DaQM9u3s.js';
5
5
 
@@ -4696,13 +4696,14 @@ const Q2Carousel = class {
4696
4696
  const logicalIndex = this.paneCount > 0 ? swiper.realIndex % this.paneCount : swiper.realIndex;
4697
4697
  this.index = logicalIndex + 1;
4698
4698
  this.updateCarouselPaneProps();
4699
- const isPaginationFocused = !!document.activeElement.closest(`#q2-carousel-${this.guid} .q2-carousel-page-indicator`);
4699
+ const focusSource = document.activeElement;
4700
+ const isPaginationFocused = !!focusSource.closest(`#q2-carousel-${this.guid} .q2-carousel-page-indicator`);
4700
4701
  const isCarouselFocused = !!document.activeElement.closest(`#q2-carousel-${this.guid} q2-carousel-pane`);
4701
4702
  const isFocused = isPaginationFocused || isCarouselFocused;
4702
4703
  this.handleAriaLive(isFocused);
4703
4704
  mirrorEmit(this, ['change', 'tctChange'], { index: logicalIndex + 1 });
4704
4705
  if (isPaginationFocused) {
4705
- this.paginationBtns[logicalIndex].focus({ preventScroll: true });
4706
+ this.pendingPaginationFocus = { index: logicalIndex, source: focusSource };
4706
4707
  }
4707
4708
  else if (isCarouselFocused)
4708
4709
  swiper.slides[swiper.activeIndex].focus({
@@ -4977,7 +4978,7 @@ const Q2Carousel = class {
4977
4978
  };
4978
4979
  this.renderNextNavBtn = () => {
4979
4980
  const disabled = this.loop === false && this.realIndex >= this.paneCount - 1;
4980
- return (h("div", { class: "next-btn" }, h("q2-btn", { class: "q2-carousel-navigation-button q2-carousel-navigation-button-next", intent: "workflow-primary", label: loc('tecton.element.carousel.nextItemLabel'), hideLabel: true, disabled: disabled || undefined, onTctClick: () => { var _a; return (_a = this.swiper) === null || _a === void 0 ? void 0 : _a.slideNext(); } }, h("q2-icon", { type: "arrow-right" }))));
4981
+ return (h("div", { class: "next-btn" }, h("q2-btn", { class: "q2-carousel-navigation-button q2-carousel-navigation-button-next", intent: "primary", label: loc('tecton.element.carousel.nextItemLabel'), hideLabel: true, disabled: disabled || undefined, onTctClick: () => { var _a; return (_a = this.swiper) === null || _a === void 0 ? void 0 : _a.slideNext(); } }, h("q2-icon", { type: "arrow-right" }))));
4981
4982
  };
4982
4983
  this.renderPaginationArea = () => {
4983
4984
  const { useDynamicPaginationDots, realIndex, paneCount } = this;
@@ -5001,13 +5002,14 @@ const Q2Carousel = class {
5001
5002
  };
5002
5003
  this.renderPrevNavBtn = () => {
5003
5004
  const disabled = this.loop === false && this.realIndex <= 0;
5004
- return (h("div", { class: "prev-btn" }, h("q2-btn", { class: "q2-carousel-navigation-button q2-carousel-navigation-button-prev", intent: "workflow-primary", label: loc('tecton.element.carousel.previousItemLabel'), hideLabel: true, disabled: disabled || undefined, onTctClick: () => { var _a; return (_a = this.swiper) === null || _a === void 0 ? void 0 : _a.slidePrev(); } }, h("q2-icon", { type: "arrow-left" }))));
5005
+ return (h("div", { class: "prev-btn" }, h("q2-btn", { class: "q2-carousel-navigation-button q2-carousel-navigation-button-prev", intent: "primary", label: loc('tecton.element.carousel.previousItemLabel'), hideLabel: true, disabled: disabled || undefined, onTctClick: () => { var _a; return (_a = this.swiper) === null || _a === void 0 ? void 0 : _a.slidePrev(); } }, h("q2-icon", { type: "arrow-left" }))));
5005
5006
  };
5006
5007
  }
5007
5008
  // #endregion
5008
5009
  // #region Component Lifecycle Events
5009
5010
  disconnectedCallback() {
5010
5011
  var _a;
5012
+ this.pendingPaginationFocus = undefined;
5011
5013
  if (this.mutationObserver) {
5012
5014
  this.mutationObserver.disconnect();
5013
5015
  this.mutationObserver = null;
@@ -5040,6 +5042,18 @@ const Q2Carousel = class {
5040
5042
  this.mutationObserver = observer;
5041
5043
  overrideFocus(this.hostElement);
5042
5044
  }
5045
+ componentDidRender() {
5046
+ var _a;
5047
+ const pendingFocus = this.pendingPaginationFocus;
5048
+ this.pendingPaginationFocus = undefined;
5049
+ if (!pendingFocus)
5050
+ return;
5051
+ const activeElement = document.activeElement;
5052
+ if (activeElement !== pendingFocus.source && activeElement !== document.body)
5053
+ return;
5054
+ // Dynamic pagination hides distant dots until the new active index renders.
5055
+ (_a = this.paginationBtns[pendingFocus.index]) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });
5056
+ }
5043
5057
  // #endregion
5044
5058
  // #region Listeners
5045
5059
  carouselPaneClicked(event) {
@@ -5189,7 +5203,7 @@ const Q2Carousel = class {
5189
5203
  paginationWrapperClasses.push('evenly-space');
5190
5204
  if (showNavigationArrows && arrowPosition === 'hug')
5191
5205
  paginationWrapperClasses.push('center-space');
5192
- return (h(Host, { key: '2c623516b2b0ce7800440110cde323bdf065abc1', id: `q2-carousel-${this.guid}`, class: "q2-carousel-instance" }, insufficientPanes ? (this.renderInsufficientPanesDisplay()) : (h(Fragment, null, paneCount > 1 && (h("div", { class: paginationWrapperClasses.join(' ') }, showNavigationArrows &&
5206
+ return (h(Host, { key: 'e0ebc5ae08102ced9a732ca59217cd3c2c501172', id: `q2-carousel-${this.guid}`, class: "q2-carousel-instance" }, insufficientPanes ? (this.renderInsufficientPanesDisplay()) : (h(Fragment, null, paneCount > 1 && (h("div", { class: paginationWrapperClasses.join(' ') }, showNavigationArrows &&
5193
5207
  ['bottom', 'hug'].includes(arrowPosition) &&
5194
5208
  this.renderPrevNavBtn(), h("div", { class: "q2-carousel-control-center-tray" }, !hidePagination && this.renderPaginationArea(), autoPlay && this.renderAutoPlayBtn()), showNavigationArrows &&
5195
5209
  ['bottom', 'hug'].includes(arrowPosition) &&
@@ -1,8 +1,8 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-Cqkz7Bnm.js';
2
- import { o as overrideFocus, l as loc } from './index-DJw6Feh0.js';
2
+ import { o as overrideFocus, i as isEventFromElement, l as loc } from './index-CP8pXJ-l.js';
3
+ import { _ as __extends, ad as createSymbol, ae as enterEmphasis, af as leaveEmphasis, A as updateProps, M as saveOldStyle, y as initProps, W as getLabelStatesModels, ag as normalizeSymbolOffset, ah as ZRImage, V as extend, X as setLabelStyle, Z as toggleHoverEmphasis, h as getECData, ai as removeElement, aj as normalizeSymbolSize, O as Group, L as traverseElements, ak as isObject, H as SeriesModel, F as map, al as isDimensionStacked, K as isNumber, am as createFloat32Array, e as PathProxy, an as cubicRootAt, ao as cubicAt, c as Path, ap as bind, aq as convertToColorString, d as defaults, $ as setStatesStylesFromModel, ar as queryDataIndex, Q as ChartView, as as setStatesFlag, g as isFunction, at as ZRText, au as interpolateRawValues, x as labelInner, v as each, av as LinearGradient, S as SPECIAL_STATES, aw as lerp, ax as createRenderPlanner, ay as cubicSubdivide, az as fromPoints, aA as clonePath, aB as Polygon, R as Sector, U as Rect, B as BoundingRect, P as Point, T as Transformable, l as lerp$1, aC as getAnimationConfig, E as isArray, m as makeInner, aD as normalizeToArray, aE as SERIES_UNIVERSAL_TRANSITION_PROP, aF as createHashMap, aG as DataDiffer, o as filter, aH as Displayable, aI as getOldStyle, a4 as use, a7 as createChartKeyboardNavigation, a8 as init, a9 as chartPointDescription, aa as formatValue, ab as getCSSProperty, ac as isValidColor, a5 as install$1, a6 as install$2 } from './charting-DFXJklqs.js';
3
4
  import { m as mirrorEmit } from './mirror-emit-DUjY_ucm.js';
4
- import { _ as __extends, ab as createSymbol, ac as enterEmphasis, ad as leaveEmphasis, A as updateProps, M as saveOldStyle, y as initProps, W as getLabelStatesModels, ae as normalizeSymbolOffset, af as ZRImage, V as extend, X as setLabelStyle, Z as toggleHoverEmphasis, h as getECData, ag as removeElement, ah as normalizeSymbolSize, O as Group, L as traverseElements, ai as isObject, H as SeriesModel, F as map, aj as isDimensionStacked, K as isNumber, ak as createFloat32Array, e as PathProxy, al as cubicRootAt, am as cubicAt, c as Path, an as bind, ao as convertToColorString, d as defaults, $ as setStatesStylesFromModel, ap as queryDataIndex, Q as ChartView, aq as setStatesFlag, g as isFunction, ar as ZRText, as as interpolateRawValues, x as labelInner, v as each, at as LinearGradient, S as SPECIAL_STATES, au as lerp, av as createRenderPlanner, aw as cubicSubdivide, ax as fromPoints, ay as clonePath, az as Polygon, R as Sector, U as Rect, B as BoundingRect, P as Point, T as Transformable, l as lerp$1, aA as getAnimationConfig, E as isArray, m as makeInner, aB as normalizeToArray, aC as SERIES_UNIVERSAL_TRANSITION_PROP, aD as createHashMap, aE as DataDiffer, o as filter, aF as Displayable, aG as getOldStyle, a4 as use, a7 as init, a8 as getCSSProperty, a9 as isValidColor, aa as formatValue, a5 as install$1, a6 as install$2 } from './charting-DOZct-UB.js';
5
- import { g as getDefaultLabel, c as createSeriesData, b as getDefaultInterpolatedLabel, i as isCoordinateSystemType, h as createGridClipPath, j as createPolarClipPath, d as dataSample, e as install$3, f as install$4 } from './dataSample-Dm1zpQNi.js';
5
+ import { g as getDefaultLabel, c as createSeriesData, b as getDefaultInterpolatedLabel, i as isCoordinateSystemType, h as createGridClipPath, j as createPolarClipPath, d as dataSample, e as install$3, f as install$4 } from './dataSample-CP_VKNqt.js';
6
6
 
7
7
  var Symbol = /** @class */function (_super) {
8
8
  __extends(Symbol, _super);
@@ -3982,7 +3982,7 @@ function installUniversalTransition(registers) {
3982
3982
  });
3983
3983
  }
3984
3984
 
3985
- const q2ChartAreaCss = () => `*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}@container style(--t-prefers-motion: "reduced"){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")){@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}}:host{width:var(--tct-area-chart-width, 100%);height:var(--tct-area-chart-height, 100%);display:block}.container{width:100%;height:100%}.chart-container{width:100%;height:100%}`;
3985
+ const q2ChartAreaCss = () => `*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}@container style(--t-prefers-motion: "reduced"){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")){@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}}:host{width:var(--tct-area-chart-width, 100%);height:var(--tct-area-chart-height, 100%);display:block}.container{position:relative;width:100%;height:100%}.chart-keyboard-value{position:absolute;top:0;right:0;padding:var(--app-scale-1x);background:var(--t-base);color:var(--t-text);pointer-events:none}.chart-container{width:100%;height:100%}`;
3986
3986
 
3987
3987
  use([install$1, install, install$2, installUniversalTransition, install$3, install$4]);
3988
3988
  const Q2ChartArea = class {
@@ -3990,6 +3990,18 @@ const Q2ChartArea = class {
3990
3990
  registerInstance(this, hostRef);
3991
3991
  this.change = createEvent(this, "change", 7);
3992
3992
  this.tctChange = createEvent(this, "tctChange", 7);
3993
+ this.keyboard = createChartKeyboardNavigation({
3994
+ getChart: () => this.chart,
3995
+ getData: () => this.data,
3996
+ onChange: index => {
3997
+ this.keyboardIndex = index;
3998
+ if (index !== null)
3999
+ mirrorEmit(this, ['change', 'tctChange'], { index, data: this.data[index] });
4000
+ },
4001
+ });
4002
+ // #endregion
4003
+ // #region State Properties
4004
+ this.keyboardIndex = null;
3993
4005
  /** An array of objects that contain the data to be displayed. */
3994
4006
  this.data = [];
3995
4007
  /** Controls visibility of labels on the name axis. */
@@ -4019,6 +4031,7 @@ const Q2ChartArea = class {
4019
4031
  // #endregion
4020
4032
  // #region Component Lifecycle Events
4021
4033
  disconnectedCallback() {
4034
+ this.keyboard.onBlur();
4022
4035
  // CRITICAL: Dispose eCharts instance to prevent memory leaks
4023
4036
  // eCharts holds references to canvas, event listeners, and animation frames
4024
4037
  if (this.chart) {
@@ -4045,6 +4058,13 @@ const Q2ChartArea = class {
4045
4058
  overrideFocus(this.hostElement);
4046
4059
  }
4047
4060
  // #endregion
4061
+ // #region Listeners
4062
+ delegateFocus(event) {
4063
+ var _a;
4064
+ if (isEventFromElement(event, this.hostElement) && this.data.length)
4065
+ (_a = this.chartContainer) === null || _a === void 0 ? void 0 : _a.focus();
4066
+ }
4067
+ // #endregion
4048
4068
  // #region Public Methods API
4049
4069
  /**
4050
4070
  * A method to fire change event on hover on a point.
@@ -4063,9 +4083,18 @@ const Q2ChartArea = class {
4063
4083
  if (!this.chart)
4064
4084
  return;
4065
4085
  this.updateChart(this.chart);
4086
+ this.keyboard.refresh();
4066
4087
  }
4067
4088
  // #endregion
4068
4089
  // #region Local Methods
4090
+ get keyboardDescription() {
4091
+ var _a;
4092
+ const datum = this.data[this.keyboardIndex];
4093
+ if (this.keyboardIndex === null || !datum)
4094
+ return '';
4095
+ const decimals = ((_a = this.formatModifier) === null || _a === void 0 ? void 0 : _a.includes('dec')) ? this.formatModifier.replace('dec', '') : 0;
4096
+ return chartPointDescription(datum.name, formatValue(datum.value || 0, { type: this.format, decimals }), this.keyboardIndex, this.data.length);
4097
+ }
4069
4098
  cacheComputedStyles() {
4070
4099
  this.chartContainerStyles = getComputedStyle(this.chartContainer);
4071
4100
  this.hostElementStyles = getComputedStyle(this.hostElement);
@@ -4115,7 +4144,7 @@ const Q2ChartArea = class {
4115
4144
  });
4116
4145
  }
4117
4146
  updateChart(chart) {
4118
- var _a;
4147
+ var _a, _b;
4119
4148
  const decimals = ((_a = this.formatModifier) === null || _a === void 0 ? void 0 : _a.includes('dec')) ? this.formatModifier.replace('dec', '') : 0;
4120
4149
  const valueAxis = {
4121
4150
  type: 'value',
@@ -4178,7 +4207,7 @@ const Q2ChartArea = class {
4178
4207
  min: this.xMin,
4179
4208
  max: this.xMax,
4180
4209
  };
4181
- return chart.setOption({
4210
+ chart.setOption({
4182
4211
  aria: {
4183
4212
  enabled: true,
4184
4213
  },
@@ -4223,11 +4252,13 @@ const Q2ChartArea = class {
4223
4252
  },
4224
4253
  ],
4225
4254
  });
4255
+ // ECharts ARIA sets role="img" when options change; retain the keyboard interaction role.
4256
+ (_b = this.chartContainer) === null || _b === void 0 ? void 0 : _b.setAttribute('role', 'application');
4226
4257
  }
4227
4258
  // #endregion
4228
4259
  // #region Render Methods
4229
4260
  render() {
4230
- return (h("div", { key: '247b79eca7719feab470918648f223675483daf8', class: "container" }, h("div", { key: '349272c0ece24581f05dcadb81d7a19dd71eaa2d', ref: el => (this.chartContainer = el), class: "chart-container", role: "img", "test-id": "areaChartContainer" })));
4261
+ return (h("div", { key: 'de38ac1c05ff6c85091069a691c5e2d51ba360ed', class: "container" }, h("div", { key: 'e45310470e9429714bd15100d01692b102963545', ref: el => (this.chartContainer = el), class: "chart-container", role: "application", tabIndex: this.data.length ? 0 : -1, "aria-describedby": "chart-keyboard-instructions", onFocus: this.keyboard.onFocus, onBlur: this.keyboard.onBlur, onKeyDown: this.keyboard.onKeyDown, "test-id": "areaChartContainer" }), h("div", { key: '45493b2498b17ab331fdff4487bd05874732c75e', id: "chart-keyboard-instructions", class: "sr" }, loc('tecton.element.chart.keyboardInstructions')), h("div", { key: '9d0a71f228271efde15c7ff4e0bae2a1144a8c9c', class: this.keyboardIndex === null ? 'sr' : 'chart-keyboard-value', role: "status", "aria-atomic": "true" }, this.keyboardDescription)));
4231
4262
  }
4232
4263
  get hostElement() { return getElement(this); }
4233
4264
  static get watchers() { return {
@@ -1,8 +1,8 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-Cqkz7Bnm.js';
2
- import { o as overrideFocus, l as loc } from './index-DJw6Feh0.js';
3
- import { _ as __extends, v as each, H as SeriesModel, I as inheritDefaultOption, c as Path, J as calculateTextPosition, K as isNumber, E as isArray, L as traverseElements, y as initProps, A as updateProps, M as saveOldStyle, x as labelInner, N as removeElementWithFadeOut, O as Group, F as map, h as getECData, Q as ChartView, R as Sector, U as Rect, V as extend, W as getLabelStatesModels, X as setLabelStyle, Y as setLabelValueAnimation, Z as toggleHoverEmphasis, $ as setStatesStylesFromModel, a0 as throttle, a1 as curry, a2 as layout, a3 as createProgressiveLayout, a4 as use, a5 as install$1, a6 as install$2, a7 as init, a8 as getCSSProperty, a9 as isValidColor, aa as formatValue } from './charting-DOZct-UB.js';
4
- import { c as createSeriesData, a as createClipPath, i as isCoordinateSystemType, g as getDefaultLabel, b as getDefaultInterpolatedLabel, d as dataSample, e as install$3, f as install$4 } from './dataSample-Dm1zpQNi.js';
5
- import { g as getSectorCornerRadius, i as installLabelLayout } from './sectorHelper--RMGWGAy.js';
2
+ import { o as overrideFocus, i as isEventFromElement, l as loc } from './index-CP8pXJ-l.js';
3
+ import { _ as __extends, v as each, H as SeriesModel, I as inheritDefaultOption, c as Path, J as calculateTextPosition, K as isNumber, E as isArray, L as traverseElements, y as initProps, A as updateProps, M as saveOldStyle, x as labelInner, N as removeElementWithFadeOut, O as Group, F as map, h as getECData, Q as ChartView, R as Sector, U as Rect, V as extend, W as getLabelStatesModels, X as setLabelStyle, Y as setLabelValueAnimation, Z as toggleHoverEmphasis, $ as setStatesStylesFromModel, a0 as throttle, a1 as curry, a2 as layout, a3 as createProgressiveLayout, a4 as use, a5 as install$1, a6 as install$2, a7 as createChartKeyboardNavigation, a8 as init, a9 as chartPointDescription, aa as formatValue, ab as getCSSProperty, ac as isValidColor } from './charting-DFXJklqs.js';
4
+ import { c as createSeriesData, a as createClipPath, i as isCoordinateSystemType, g as getDefaultLabel, b as getDefaultInterpolatedLabel, d as dataSample, e as install$3, f as install$4 } from './dataSample-CP_VKNqt.js';
5
+ import { g as getSectorCornerRadius, i as installLabelLayout } from './sectorHelper-DBtkWtpl.js';
6
6
 
7
7
  var BaseBarSeriesModel = /** @class */function (_super) {
8
8
  __extends(BaseBarSeriesModel, _super);
@@ -1253,12 +1253,24 @@ function install(registers) {
1253
1253
  });
1254
1254
  }
1255
1255
 
1256
- const q2ChartBarCss = () => `*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}@container style(--t-prefers-motion: "reduced"){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")){@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}}:host{width:var(--tct-bar-chart-width, 100%);height:var(--tct-bar-chart-height, 100%);display:block}.container{width:100%;height:100%}.chart-container{width:100%;height:100%}`;
1256
+ const q2ChartBarCss = () => `*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}@container style(--t-prefers-motion: "reduced"){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")){@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}}:host{width:var(--tct-bar-chart-width, 100%);height:var(--tct-bar-chart-height, 100%);display:block}.container{position:relative;width:100%;height:100%}.chart-keyboard-value{position:absolute;top:0;right:0;padding:var(--app-scale-1x);background:var(--t-base);color:var(--t-text);pointer-events:none}.chart-container{width:100%;height:100%}`;
1257
1257
 
1258
1258
  use([install$1, install, install$2, installLabelLayout, install$3, install$4]);
1259
1259
  const Q2ChartBar = class {
1260
1260
  constructor(hostRef) {
1261
1261
  registerInstance(this, hostRef);
1262
+ this.keyboard = createChartKeyboardNavigation({
1263
+ getChart: () => this.chart,
1264
+ getData: () => this.data,
1265
+ onChange: index => (this.keyboardIndex = index),
1266
+ getOrder: () => {
1267
+ const indices = this.data.map((_, index) => index);
1268
+ return this.sort ? indices.sort((a, b) => this.data[b].value - this.data[a].value) : indices;
1269
+ },
1270
+ });
1271
+ // #endregion
1272
+ // #region State Properties
1273
+ this.keyboardIndex = null;
1262
1274
  /** An array of objects that contain the data to be displayed. */
1263
1275
  this.data = [];
1264
1276
  /** Controls visibility of labels on the name axis. */
@@ -1286,6 +1298,7 @@ const Q2ChartBar = class {
1286
1298
  // #endregion
1287
1299
  // #region Component Lifecycle Events
1288
1300
  disconnectedCallback() {
1301
+ this.keyboard.onBlur();
1289
1302
  // Remove event listeners
1290
1303
  window.removeEventListener('resize', this.resizeEventListener);
1291
1304
  // Clean up chart instance
@@ -1315,14 +1328,30 @@ const Q2ChartBar = class {
1315
1328
  overrideFocus(this.hostElement);
1316
1329
  }
1317
1330
  // #endregion
1331
+ // #region Listeners
1332
+ delegateFocus(event) {
1333
+ var _a;
1334
+ if (isEventFromElement(event, this.hostElement) && this.data.length)
1335
+ (_a = this.chartContainer) === null || _a === void 0 ? void 0 : _a.focus();
1336
+ }
1337
+ // #endregion
1318
1338
  // #region Watchers
1319
1339
  propsUpdates() {
1320
1340
  if (!this.chart)
1321
1341
  return;
1322
1342
  this.updateChart(this.chart);
1343
+ this.keyboard.refresh();
1323
1344
  }
1324
1345
  // #endregion
1325
1346
  // #region Local Methods
1347
+ get keyboardDescription() {
1348
+ var _a;
1349
+ const datum = this.data[this.keyboardIndex];
1350
+ if (this.keyboardIndex === null || !datum)
1351
+ return '';
1352
+ const decimals = ((_a = this.formatModifier) === null || _a === void 0 ? void 0 : _a.includes('dec')) ? this.formatModifier.replace('dec', '') : 0;
1353
+ return chartPointDescription(datum.name, formatValue(datum.value || 0, { type: this.format, decimals }), this.sort ? [...this.data].sort((a, b) => b.value - a.value).indexOf(datum) : this.keyboardIndex, this.data.length);
1354
+ }
1326
1355
  cacheComputedStyles() {
1327
1356
  this.chartContainerStyles = getComputedStyle(this.chartContainer);
1328
1357
  this.hostElementStyles = getComputedStyle(this.hostElement);
@@ -1365,7 +1394,7 @@ const Q2ChartBar = class {
1365
1394
  chart.on('finished', this.chartFinishedListener);
1366
1395
  }
1367
1396
  updateChart(chart) {
1368
- var _a;
1397
+ var _a, _b;
1369
1398
  const decimals = ((_a = this.formatModifier) === null || _a === void 0 ? void 0 : _a.includes('dec')) ? this.formatModifier.replace('dec', '') : 0;
1370
1399
  const valueAxis = {
1371
1400
  type: 'value',
@@ -1394,7 +1423,7 @@ const Q2ChartBar = class {
1394
1423
  alignWithLabel: this.offsetDataNames,
1395
1424
  },
1396
1425
  };
1397
- return chart.setOption({
1426
+ chart.setOption({
1398
1427
  aria: {
1399
1428
  enabled: true,
1400
1429
  },
@@ -1430,11 +1459,13 @@ const Q2ChartBar = class {
1430
1459
  },
1431
1460
  ],
1432
1461
  });
1462
+ // ECharts ARIA sets role="img" when options change; retain the keyboard interaction role.
1463
+ (_b = this.chartContainer) === null || _b === void 0 ? void 0 : _b.setAttribute('role', 'application');
1433
1464
  }
1434
1465
  // #endregion
1435
1466
  // #region Render Methods
1436
1467
  render() {
1437
- return (h("div", { key: '36a77a29d5e06363f2cd2267c298429cd2ef9864', class: "container" }, h("div", { key: 'e7382ecf3ed8323ffbf1c57a78c870d7d7c4b718', ref: el => (this.chartContainer = el), class: "chart-container", role: "img", "test-id": "barChartContainer" })));
1468
+ return (h("div", { key: '2764d138c5aee7d65df3361a7d4720e00ba13368', class: "container" }, h("div", { key: '864b3f1d5987a101ab008e37e99c874cc411c143', ref: el => (this.chartContainer = el), class: "chart-container", role: "application", tabIndex: this.data.length ? 0 : -1, "aria-describedby": "chart-keyboard-instructions", onFocus: this.keyboard.onFocus, onBlur: this.keyboard.onBlur, onKeyDown: this.keyboard.onKeyDown, "test-id": "barChartContainer" }), h("div", { key: '3b6aa42b27e86f75cd4d1fc3d2efe823b950864c', id: "chart-keyboard-instructions", class: "sr" }, loc('tecton.element.chart.keyboardInstructions')), h("div", { key: '5d216b8ccce18ea77f136fd43ab81db335b38d89', class: this.keyboardIndex === null ? 'sr' : 'chart-keyboard-value', role: "status", "aria-atomic": "true" }, this.keyboardDescription)));
1438
1469
  }
1439
1470
  get hostElement() { return getElement(this); }
1440
1471
  static get watchers() { return {
@@ -1,8 +1,8 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-Cqkz7Bnm.js';
2
- import { o as overrideFocus, i as isEventFromElement, l as loc, g as isMobile } from './index-DJw6Feh0.js';
2
+ import { l as loc, o as overrideFocus, i as isEventFromElement, g as isMobile } from './index-CP8pXJ-l.js';
3
3
  import { m as mirrorEmit } from './mirror-emit-DUjY_ucm.js';
4
- import { br as normalizeCssArray, U as Rect, _ as __extends, aX as ComponentModel, bs as toCamelCase, bt as env, bq as isString, bu as isDom, g as isFunction, bv as normalizeEvent, bw as transformLocalCoord, ao as convertToColorString, E as isArray, v as each$1, an as bind, bx as getPaddingFromTooltipModel, z as indexOf, r as retrieve2, ai as isObject, by as throwError, ar as ZRText, bz as getTooltipRenderMode, bA as createOrUpdate, bB as clear, bC as register, h as getECData, bD as findPointFromSeries, bE as findEventDispatcher, bF as createTooltipMarkup, bG as getValueLabel, bH as trim, bI as getAxisRawValue, bJ as TooltipMarkupStyleCreator, bK as normalizeTooltipFormatResult, bL as buildTooltipMarkup, bM as clone, bN as encodeHTML, bO as format, bP as formatTpl, p as parsePercent, b6 as getLayoutRect, bQ as unregister, bl as ComponentView, bR as preParseFinder, bS as queryReferringComponents, bT as Model, V as extend, a4 as use, bm as install$5, bU as noop, aZ as merge, bV as isNameSpecified, aD as createHashMap, F as map, K as isNumber, o as filter, O as Group$2, d as defaults, a1 as curry$1, bW as parse, bX as stringify, X as setLabelStyle, bY as enableHoverEmphasis, bn as createTextStyle, bZ as setTooltipConfig, b_ as box, b$ as createOrUpdatePatternFromDecal, ab as createSymbol, c0 as hasOwn, a_ as getLayoutParams, I as inheritDefaultOption, a$ as mergeLayoutParam, c1 as createIcon, A as updateProps, c2 as normalizeArcAngles, m as makeInner, aV as linearMap, P as Point, t as shiftLayoutOnY, R as Sector, N as removeElementWithFadeOut, Q as ChartView, y as initProps, M as saveOldStyle, $ as setStatesStylesFromModel, Z as toggleHoverEmphasis, W as getLabelStatesModels, a as Polyline, c3 as retrieve3, aJ as prepareSeriesDataSchema, aL as SeriesData, c4 as makeSeriesEncodeForNameBased, c5 as getPercentSeats, c6 as defaultEmphasis, H as SeriesModel, c7 as createLegacyDataSelectAction, a6 as install$6, a5 as install$7, a7 as init, a8 as getCSSProperty } from './charting-DOZct-UB.js';
5
- import { l as limitTurnAngle, a as limitSurfaceAngle, g as getSectorCornerRadius, s as setLabelLineStyle, b as getLabelLineStatesModels, i as installLabelLayout } from './sectorHelper--RMGWGAy.js';
4
+ import { bt as normalizeCssArray, U as Rect, _ as __extends, aZ as ComponentModel, bu as toCamelCase, bv as env, bs as isString, bw as isDom, g as isFunction, bx as normalizeEvent, by as transformLocalCoord, aq as convertToColorString, E as isArray, v as each$1, ap as bind, bz as getPaddingFromTooltipModel, z as indexOf, r as retrieve2, ak as isObject, bA as throwError, at as ZRText, bB as getTooltipRenderMode, bC as createOrUpdate, bD as clear, bE as register, h as getECData, bF as findPointFromSeries, bG as findEventDispatcher, bH as createTooltipMarkup, bI as getValueLabel, bJ as trim, bK as getAxisRawValue, bL as TooltipMarkupStyleCreator, bM as normalizeTooltipFormatResult, bN as buildTooltipMarkup, bO as clone, bP as encodeHTML, bQ as format, bR as formatTpl, p as parsePercent, b8 as getLayoutRect, bS as unregister, bn as ComponentView, bT as preParseFinder, bU as queryReferringComponents, bV as Model, V as extend, a4 as use, bo as install$5, bW as noop, a$ as merge, bX as isNameSpecified, aF as createHashMap, F as map, K as isNumber, o as filter, O as Group$2, d as defaults, a1 as curry$1, bY as parse, bZ as stringify, X as setLabelStyle, b_ as enableHoverEmphasis, bp as createTextStyle, b$ as setTooltipConfig, c0 as box, c1 as createOrUpdatePatternFromDecal, ad as createSymbol, c2 as hasOwn, b0 as getLayoutParams, I as inheritDefaultOption, b1 as mergeLayoutParam, c3 as createIcon, A as updateProps, c4 as normalizeArcAngles, m as makeInner, aX as linearMap, P as Point, t as shiftLayoutOnY, R as Sector, N as removeElementWithFadeOut, Q as ChartView, y as initProps, M as saveOldStyle, $ as setStatesStylesFromModel, Z as toggleHoverEmphasis, W as getLabelStatesModels, a as Polyline, c5 as retrieve3, aL as prepareSeriesDataSchema, aN as SeriesData, c6 as makeSeriesEncodeForNameBased, c7 as getPercentSeats, c8 as defaultEmphasis, H as SeriesModel, c9 as createLegacyDataSelectAction, a6 as install$6, a5 as install$7, a9 as chartPointDescription, a8 as init, ab as getCSSProperty } from './charting-DFXJklqs.js';
5
+ import { l as limitTurnAngle, a as limitSurfaceAngle, g as getSectorCornerRadius, s as setLabelLineStyle, b as getLabelLineStatesModels, i as installLabelLayout } from './sectorHelper-DBtkWtpl.js';
6
6
 
7
7
  function makeBackground(rect, componentModel) {
8
8
  var padding = normalizeCssArray(componentModel.get('padding'));
@@ -4046,6 +4046,7 @@ const Q2ChartDonut = class {
4046
4046
  this.tctChange = createEvent(this, "tctChange", 7);
4047
4047
  this.tctClick = createEvent(this, "tctClick", 7);
4048
4048
  this.defaultRecord = { id: null, value: null, name: null };
4049
+ this.keyboardAnnouncement = '';
4049
4050
  /** An array of objects that contain the data to be displayed. */
4050
4051
  this.data = [];
4051
4052
  /** The amount which the slice will scale when hovered. */
@@ -4085,6 +4086,8 @@ const Q2ChartDonut = class {
4085
4086
  };
4086
4087
  this.onButtonKeyDown = (event) => {
4087
4088
  const { selectedId, data } = this;
4089
+ if (!data.length || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey)
4090
+ return;
4088
4091
  let selectedIndex = this.getIndexById(selectedId) || 0;
4089
4092
  switch (event.key) {
4090
4093
  case 'ArrowUp':
@@ -4114,14 +4117,23 @@ const Q2ChartDonut = class {
4114
4117
  });
4115
4118
  break;
4116
4119
  case 'Escape':
4120
+ event.preventDefault();
4117
4121
  this.clearSelection();
4118
- break;
4119
- case ' ':
4122
+ this.keyboardAnnouncement = loc(this.summaryName || 'tecton.element.chartDonut.button.summaryName');
4123
+ return;
4124
+ case 'Home':
4125
+ case 'End':
4120
4126
  event.preventDefault();
4127
+ selectedIndex = event.key === 'Home' ? 0 : data.length - 1;
4128
+ this.chart.dispatchAction({ type: 'select', seriesId: 'pie', dataIndex: selectedIndex });
4121
4129
  break;
4122
4130
  default:
4123
4131
  return;
4124
4132
  }
4133
+ if (['ArrowLeft', 'ArrowRight', 'Home', 'End'].includes(event.key)) {
4134
+ const datum = data[selectedIndex];
4135
+ this.keyboardAnnouncement = chartPointDescription(datum.name, this.displayValue(datum.value), selectedIndex, data.length);
4136
+ }
4125
4137
  };
4126
4138
  this.onClickElsewhere = (event) => {
4127
4139
  event.stopPropagation();
@@ -4221,12 +4233,13 @@ const Q2ChartDonut = class {
4221
4233
  // #endregion
4222
4234
  // #region Listeners
4223
4235
  delegateFocus(event) {
4224
- var _a;
4236
+ var _a, _b;
4225
4237
  if (!isEventFromElement(event, this.hostElement))
4226
4238
  return;
4227
- if (!this.isClickable)
4228
- return;
4229
- (_a = this.centerButtonElement) === null || _a === void 0 ? void 0 : _a.focus();
4239
+ if (this.isClickable)
4240
+ (_a = this.centerButtonElement) === null || _a === void 0 ? void 0 : _a.focus();
4241
+ else if (this.data.length)
4242
+ (_b = this.chartContainer) === null || _b === void 0 ? void 0 : _b.focus();
4230
4243
  }
4231
4244
  // #endregion
4232
4245
  // #region Public Methods API
@@ -4297,6 +4310,7 @@ const Q2ChartDonut = class {
4297
4310
  this.updateChart(this.chart);
4298
4311
  }
4299
4312
  dataUpdated() {
4313
+ this.keyboardAnnouncement = '';
4300
4314
  if (!this.chart)
4301
4315
  return;
4302
4316
  this.colors = this.getColors();
@@ -4472,8 +4486,9 @@ const Q2ChartDonut = class {
4472
4486
  });
4473
4487
  }
4474
4488
  updateChart(chart) {
4489
+ var _a;
4475
4490
  this.validateColor();
4476
- return chart.setOption({
4491
+ chart.setOption({
4477
4492
  tooltip: {
4478
4493
  show: false,
4479
4494
  },
@@ -4515,6 +4530,8 @@ const Q2ChartDonut = class {
4515
4530
  },
4516
4531
  ],
4517
4532
  });
4533
+ // The clickable variant handles keyboard interaction on its native center button.
4534
+ (_a = this.chartContainer) === null || _a === void 0 ? void 0 : _a.setAttribute('role', this.isClickable ? 'img' : 'application');
4518
4535
  }
4519
4536
  validateColor() {
4520
4537
  // check if there is name duplicated, then custom style using `itemStyle` object will be used.
@@ -4538,20 +4555,21 @@ const Q2ChartDonut = class {
4538
4555
  const props = isClickable
4539
4556
  ? {
4540
4557
  onKeyDown: this.onButtonKeyDown,
4558
+ onBlur: () => (this.keyboardAnnouncement = ''),
4541
4559
  onClick: this.onButtonClick,
4542
4560
  ref: el => (this.centerButtonElement = el),
4543
- 'aria-describedby': 'center-card-description',
4561
+ 'aria-describedby': 'center-card-description chart-keyboard-instructions',
4544
4562
  'aria-roledescription': loc('tecton.element.chartDonut.button.roleDescription'),
4545
4563
  }
4546
4564
  : null;
4547
- return (h("div", { class: "center-card-container", style: { width: `calc(${this.innerRadius})`, height: `calc(${this.innerRadius})` } }, h("div", { id: "center-card-description", class: "sr" }, loc('tecton.element.chartDonut.button.description')), h(TagName, { class: "center-card", "test-id": "centerCard", ...props }, !!icon && (h("q2-icon", { type: icon, style: color && {
4565
+ return (h("div", { class: "center-card-container", style: { width: `calc(${this.innerRadius})`, height: `calc(${this.innerRadius})` } }, h("div", { id: "center-card-description", class: "sr" }, loc('tecton.element.chartDonut.button.description')), h("div", { id: "chart-keyboard-instructions", class: "sr" }, loc('tecton.element.chart.keyboardInstructions')), h(TagName, { class: "center-card", "test-id": "centerCard", ...props }, !!icon && (h("q2-icon", { type: icon, style: color && {
4548
4566
  '--tct-icon-stroke-primary': color,
4549
4567
  '--tct-icon-stroke-secondary': color,
4550
4568
  color,
4551
4569
  } })), !!name && h("div", { class: "name" }, name), !isNaN(value) && h("div", { class: "value" }, displayValue))));
4552
4570
  }
4553
4571
  render() {
4554
- return (h("click-elsewhere", { key: '27c21f281ef0746c9bd9d7235fa1833df7711e4d', onChange: this.onClickElsewhere }, h("figure", { key: '8356a94846a4319b682e3bc3171e6a71afb228f8' }, h("div", { key: 'a6b016aaa11371fdff673eb8cd7508bb5f3ce852', class: "container" }, h("div", { key: '862baeb8b1c1e096c92d260bc7340666875f9763', ref: el => (this.chartContainer = el), "aria-describedby": !this.isClickable ? 'center-card-description' : undefined, class: "chart-container", role: "img", "test-id": "chartContainer", onClick: this.onContainerClick, tabIndex: !this.isClickable ? 0 : undefined, onKeyDown: !this.isClickable ? this.onButtonKeyDown : undefined }), this.renderCenterBlock()), this.showLegend && (h("figcaption", { key: '24f16b0d7afd3a6433c58cd8eb6806785fc938e5' }, h("q2-legend", { key: '6bd27b69926b77181ab16726bb4e79c91e4dcc37', class: "legend", data: this.legendData, format: this.format, currencyRound: this.currencyRound, hoveredItemId: this.legendHoveredId, onClick: this.onLegendClick, onMouseleave: this.onLegendMouseleave, onMouseenter: this.onLegendMouseenter, selectedItemId: this.selectedId }))))));
4572
+ return (h("click-elsewhere", { key: '54e5d16621ac527fec69834b2c1cc1e7d2c6540b', onChange: this.onClickElsewhere }, h("figure", { key: '61e0c1e30fed4e89816d228c1c190b5bd38991a3' }, h("div", { key: '0685b804780ebdf17d7bfe5956306a027c3c9dba', class: "container" }, h("div", { key: '458dfa5c6ad8d704de66d4d51461e2d7b28ba13c', ref: el => (this.chartContainer = el), "aria-describedby": !this.isClickable ? 'center-card-description chart-keyboard-instructions' : undefined, class: "chart-container", role: this.isClickable ? 'img' : 'application', "test-id": "chartContainer", onClick: this.onContainerClick, tabIndex: !this.isClickable && this.data.length ? 0 : undefined, onKeyDown: !this.isClickable ? this.onButtonKeyDown : undefined, onBlur: () => (this.keyboardAnnouncement = '') }), this.renderCenterBlock(), h("div", { key: '105396c05b8aa162b1c0515cb4b96dadafcca911', class: "sr", role: "status", "aria-atomic": "true" }, this.keyboardAnnouncement)), this.showLegend && (h("figcaption", { key: 'c6462ae033852ff7fa09d752e4fc8860608448c6' }, h("q2-legend", { key: 'd8f1ceb9b46392264b306d316d1fb6066b2f5b4d', class: "legend", data: this.legendData, format: this.format, currencyRound: this.currencyRound, hoveredItemId: this.legendHoveredId, onClick: this.onLegendClick, onMouseleave: this.onLegendMouseleave, onMouseenter: this.onLegendMouseenter, selectedItemId: this.selectedId }))))));
4555
4573
  }
4556
4574
  get hostElement() { return getElement(this); }
4557
4575
  static get watchers() { return {
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, g as getElement } from './index-Cqkz7Bnm.js';
2
- import { c as createGuid, r as renderLabel } from './index-DJw6Feh0.js';
2
+ import { c as createGuid, r as renderLabel } from './index-CP8pXJ-l.js';
3
3
  import { m as mirrorEmit } from './mirror-emit-DUjY_ucm.js';
4
4
  import { h as hasValidChildren } from './component-DaQM9u3s.js';
5
5
 
@@ -120,7 +120,7 @@ const Q2CheckboxGroup = class {
120
120
  render() {
121
121
  const showLabel = this.label || this.optional || this.readonly;
122
122
  const showLabelRow = (showLabel && !this.hideLabel) || this.hasError;
123
- return (h(Fragment, { key: '4e9159cc489b8c2ed9adf3c8263355994364780e' }, showLabelRow && (h("div", { key: '85c21ddc03d2abaf4e78b1922dcf3705ec673fc9', class: "label-row" }, showLabel && !this.hideLabel && h("div", { key: '071eb3359b048a5e7f89f7c525362e065707a8fe', class: "group-legend" }, renderLabel(this)), this.hasError && (h("q2-icon", { key: '76a591fb52671d43351322faa488608128320183', type: "error", "test-id": "iconError" })))), h("fieldset", { key: '0bcc9a5419df7ab0bf2abfc6189983e6cf5bd779', onChange: this.onInnerCheckboxChange, "aria-invalid": this.hasError ? `${this.hasError}` : undefined }, showLabel && h("legend", { key: 'c6a5f3ec8289091b6d113a36d2fed9b83a5c7088', class: "sr-only" }, renderLabel(this)), this.inputDom())));
123
+ return (h(Fragment, { key: 'ed664b9829dbea3e8e6fe3809dd2528a2a37b011' }, showLabelRow && (h("div", { key: '101b950b7aacfbc6dab450ad2c13a7a86af40936', class: "label-row" }, showLabel && !this.hideLabel && h("div", { key: '70330c12aefedf7f7b7f7cbe4e0a745cca667181', class: "group-legend" }, renderLabel(this)), this.hasError && (h("q2-icon", { key: '31eb9fac43cbf80696276c7d96945a3f267610d3', type: "error", "test-id": "iconError" })))), h("fieldset", { key: '200264b3fb882445dc5610155e28b137e2334ad2', onChange: this.onInnerCheckboxChange, "aria-invalid": this.hasError ? `${this.hasError}` : undefined }, showLabel && h("legend", { key: 'ef85eb7ca6ef53496a5fc7d0198f03d3a8fb129e', class: "sr-only" }, renderLabel(this)), this.inputDom())));
124
124
  }
125
125
  get hostElement() { return getElement(this); }
126
126
  static get watchers() { return {
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement, F as Fragment, H as Host } from './index-Cqkz7Bnm.js';
2
- import { c as createGuid, d as handleAriaLabel, o as overrideFocus, i as isEventFromElement, b as handleRenamedProp, l as loc, w as waitForNextPaint } from './index-DJw6Feh0.js';
2
+ import { c as createGuid, d as handleAriaLabel, o as overrideFocus, i as isEventFromElement, b as handleRenamedProp, l as loc, w as waitForNextPaint } from './index-CP8pXJ-l.js';
3
3
  import { m as mirrorEmit } from './mirror-emit-DUjY_ucm.js';
4
4
  import { s as shouldShowActionSheet, a as showActionSheetList } from './action-sheet-DuQ7VZ08.js';
5
5
 
@@ -179,7 +179,7 @@ const Q2Checkbox = class {
179
179
  containerClasses.push('has-multiline-label');
180
180
  if (this.hideLabel)
181
181
  textLabelClasses.push('sr');
182
- return (h("div", { key: '0dff5141bf9fd0eb9b9d92f55c80b046a8224bad', class: containerClasses.join(' ') }, h("input", { key: 'ac0565c29bcb4b2e29403215ceb5fc0221578209', ref: el => (this.inputElement = el), "aria-describedby": this.hasDescription ? 'description' : undefined, "aria-invalid": this.hasError === undefined ? undefined : `${this.hasError}`, "aria-labelledby": this.ariaLabelledBy, checked: this.indeterminate || this.checked || false, class: "sr", disabled: !!this.disabled || !!this.groupDisabled, id: this._id, name: this.name || this._id, onClick: this.onInputClick, "test-id": "q2CheckboxInnerCheckBox", type: "checkbox", value: this.value }), h("label", { key: '56684f4fb63b0f6d136e69420f2e632a807ab03a', htmlFor: this._id, class: "label-control", "test-id": "checkboxButton", "aria-hidden": "true" }, this.renderCheckboxSVG()), h("div", { key: '4f40ff7c46337d002e3097e849e8a6d163271787', class: textLabelClasses.join(' '), ref: el => (this.labelTextElement = el) }, h("label", { key: '3d9803210e8462137d28205891762da8a9fa19cd', "test-id": "checkboxLabel", htmlFor: this._id, id: this.labelId }, h("div", { key: 'de644e9efa49bfb2c84400d4f748678f1724786d', class: "label-content" }, loc(this.label), h("slot", { key: 'f537a700ad48155f2896ae1880fcfdc4f1e60226', onSlotchange: this.queueLabelLayoutUpdate }), h("slot", { key: '184d686720af904c8f5cda2d4508cd07add7b1bf', name: "label", onSlotchange: this.queueLabelLayoutUpdate })))), this._tooltip && (h("span", { key: '05a8eacb9150b56ce30183561c72b0c607c60c8c', id: this.tooltipId, class: "sr", "test-id": "checkboxTooltipText" }, this._tooltip)), this.hasDescription && (h("div", { key: '7b06216cede51eb0bc13932ed17e3237854c1316', class: "description-text", "test-id": "checkboxDescription", id: "description" }, loc(this.description), h("slot", { key: '723ac0aa53756d0bd9f06e7bb2a1231056cdca50', name: "description" })))));
182
+ return (h("div", { key: '95ac828b1e5991bd66dfd7e83dcdc75bc152e18f', class: containerClasses.join(' ') }, h("input", { key: '36f4d3c2aa33464cfb62e66a8e3fa75933d65344', ref: el => (this.inputElement = el), "aria-describedby": this.hasDescription ? 'description' : undefined, "aria-invalid": this.hasError === undefined ? undefined : `${this.hasError}`, "aria-labelledby": this.ariaLabelledBy, checked: this.indeterminate || this.checked || false, class: "sr", disabled: !!this.disabled || !!this.groupDisabled, id: this._id, name: this.name || this._id, onClick: this.onInputClick, "test-id": "q2CheckboxInnerCheckBox", type: "checkbox", value: this.value }), h("label", { key: 'b64445b937b72c81c2266dd9512ac810e780ee54', htmlFor: this._id, class: "label-control", "test-id": "checkboxButton", "aria-hidden": "true" }, this.renderCheckboxSVG()), h("div", { key: 'ff43e0c59e23b9cd0c61339e275c45ed5ae082aa', class: textLabelClasses.join(' '), ref: el => (this.labelTextElement = el) }, h("label", { key: '808c972d8808da7a4e7f907176466a72edcd2c48', "test-id": "checkboxLabel", htmlFor: this._id, id: this.labelId }, h("div", { key: 'fe386612e683c6e7be2db8a3404f34b6f53391b6', class: "label-content" }, loc(this.label), h("slot", { key: '38b16db321f096aa05e8062a7a02e01d3e3feb3e', onSlotchange: this.queueLabelLayoutUpdate }), h("slot", { key: '327afa820650c9d769a6566c7bc7d79b607492c0', name: "label", onSlotchange: this.queueLabelLayoutUpdate })))), this._tooltip && (h("span", { key: 'ab9ac6546e1e0e7021115c67056155bd00387aac', id: this.tooltipId, class: "sr", "test-id": "checkboxTooltipText" }, this._tooltip)), this.hasDescription && (h("div", { key: 'acef71e4ff4d85e16f80bce4ff8b68e52a252fd2', class: "description-text", "test-id": "checkboxDescription", id: "description" }, loc(this.description), h("slot", { key: '11e62328019bc7f3fe8be7ec74300e727c2dc98e', name: "description" })))));
183
183
  }
184
184
  get hostElement() { return getElement(this); }
185
185
  static get watchers() { return {
@@ -327,11 +327,14 @@ const Q2Tag = class {
327
327
  this.dropdownBtn.focus();
328
328
  }
329
329
  popoverStateHandler({ detail: { open } }) {
330
- if (this.open !== open)
331
- this.open = open;
330
+ var _a;
331
+ if (this.open === open)
332
+ return;
333
+ this.open = open;
332
334
  if (open)
333
335
  return;
334
336
  this.optionList.setActiveElement(null);
337
+ (_a = this.dropdownBtn) === null || _a === void 0 ? void 0 : _a.focus();
335
338
  }
336
339
  // #endregion
337
340
  // #region Public Methods API
@@ -389,7 +392,7 @@ const Q2Tag = class {
389
392
  if (this.optionCount)
390
393
  wrapperClassNames.push('has-options');
391
394
  const shouldShowOptions = this.optionCount > 0;
392
- return (h(Host, { key: 'da6dc23ff4f250b18242a49db02eccc16210b043' }, h("click-elsewhere", { key: 'ee1da442ffd5aa53e55ae95f95b3ac51e2f5c71e', onChange: this.onClickElsewhere }, shouldShowOptions ? (h(Fragment, null, h("button", { class: "tag-wrapper", ref: el => (this.dropdownBtn = el), "test-id": "btn-control", type: "button", role: "combobox", onClick: this.handleClick, onKeyDown: this.handleKeydown, onFocusout: this.handleButtonFocusout, "aria-controls": "option-list", "aria-expanded": open ? 'true' : 'false', "aria-describedby": "option-description", "aria-label": loc(this.label) }, h("div", { class: wrapperClassNames.join(' ') }, loc(this.label)), h("q2-icon", { type: "options" })), this.renderHiddenElement())) : (h("div", { class: "tag-wrapper", onClick: e => e.stopPropagation() }, h("div", { class: wrapperClassNames.join(' ') }, h("slot", { name: "decorator" }), loc(this.label)))), shouldShowOptions && (h("q2-popover", { key: '578989b60b19f6f5e01c1cbc49a83e87fc74c5a9', ref: el => (this.popoverElement = el), controlElement: this.dropdownBtn, open: this.open, maxHeight: this.popoverMaxHeight, minHeight: this.popoverMinHeight, direction: this.popoverDirection, align: this.popoverAlignment }, h("q2-option-list", { key: 'd21abcd1fe11241e14b4f411d9559c12c139c18a', id: "option-list", ref: el => (this.optionList = el), onChange: this.handleChange, type: "menu", align: "right", label: loc('tecton.element.optionList.label', [this.optionListLabel]), "no-select": true }, h("slot", { key: 'd46ec7dad47e40cec883205d6fb2424abcdd1038' })))))));
395
+ return (h(Host, { key: 'a46abe562647fe64e55427bcc8284bbfc5f01e3f' }, h("click-elsewhere", { key: '667e76295c30be78462ee67128a8fb2c38c01285', onChange: this.onClickElsewhere }, shouldShowOptions ? (h(Fragment, null, h("button", { class: "tag-wrapper", ref: el => (this.dropdownBtn = el), "test-id": "btn-control", type: "button", role: "combobox", onClick: this.handleClick, onKeyDown: this.handleKeydown, onFocusout: this.handleButtonFocusout, "aria-controls": "option-list", "aria-expanded": open ? 'true' : 'false', "aria-describedby": "option-description", "aria-label": loc(this.label) }, h("div", { class: wrapperClassNames.join(' ') }, loc(this.label)), h("q2-icon", { type: "options" })), this.renderHiddenElement())) : (h("div", { class: "tag-wrapper", onClick: e => e.stopPropagation() }, h("div", { class: wrapperClassNames.join(' ') }, h("slot", { name: "decorator" }), loc(this.label)))), shouldShowOptions && (h("q2-popover", { key: '805e64b738fc5a0b1a73968636a8843af33834ef', ref: el => (this.popoverElement = el), controlElement: this.dropdownBtn, open: this.open, maxHeight: this.popoverMaxHeight, minHeight: this.popoverMinHeight, direction: this.popoverDirection, align: this.popoverAlignment }, h("q2-option-list", { key: '1d037878cfcf4785439edb9a5693d4dba700e947', id: "option-list", ref: el => (this.optionList = el), onChange: this.handleChange, type: "menu", align: "right", label: loc('tecton.element.optionList.label', [this.optionListLabel]), "no-select": true }, h("slot", { key: '1039cd355f5b1a7ec7cab1eca80479042060fef4' })))))));
393
396
  }
394
397
  get hostElement() { return getElement(this); }
395
398
  };
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-Cqkz7Bnm.js';
2
- import { h as hasSlotContent } from './index-DJw6Feh0.js';
2
+ import { h as hasSlotContent } from './index-CP8pXJ-l.js';
3
3
 
4
4
  const q2ContextCss = () => `*{box-sizing:border-box}:host([hidden]){display:none}:host{--tct-item-body-color:var(--tct-context-color, var(--tct-text));display:block;background:var(--tct-context-background, var(--t-tertiary, #e8f5fc));box-shadow:var(--tct-context-box-shadow, none);backdrop-filter:var(--tct-context-backdrop-filter, none);border-radius:var(--tct-context-border-radius, var(--app-border-radius-2, 8px));padding:var(--tct-context-padding, 10px);width:var(--tct-context-width);border-width:var(--tct-context-border-width, 0px);border-style:var(--tct-context-border-style, solid);border-color:var(--tct-context-border-color, transparent)}.context-wrapper{display:flex;flex-direction:column;gap:var(--tct-context-gap, 10px)}.context-item{--tct-item-bullet-padding-top:0;--tct-item-action-align-items:start;--tct-item-action-icon-height:24px;--tct-item-action-icon-width:24px;--tct-item-action-icon-size:24px;--tct-item-avatar-height:44px;--tct-item-avatar-width:44px}.context-body slot:not(:first-child)::before{content:" "}.context-body ::slotted(*){display:inline}.separator{margin:var(--tct-context-separator-margin, 0);border-bottom:1px solid var(--tct-context-separator-color, var(--t-gray-12, #d9d9d9))}.action-group{--tct-action-group-margin:0}::slotted(q2-dropdown){--tct-btn-icon-border-radius:var(--app-border-radius-1, 4px)}::slotted(q2-btn[data-context-close-affordance]){--tct-icon-size:var(--tct-context-close-icon-size, var(--const-px-18, 18px))}::slotted(q2-link){--tct-link-border-radius:var(--app-border-radius-1, 4px);--tct-icon-stroke-primary:var(--t-primary, #6a4a9e);--tct-icon-stroke-secondary:var(--t-primary, #6a4a9e)}`;
5
5
 
@@ -45,9 +45,9 @@ const Q2Context = class {
45
45
  el.setAttribute('size', 'small');
46
46
  console.warn('Q2-CONTEXT: action-group slot buttons must be size="small".');
47
47
  }
48
- if (!['neutral', 'workflow-escape'].includes(el.getAttribute('intent'))) {
48
+ if (!['neutral', 'escape', 'workflow-escape'].includes(el.getAttribute('intent'))) {
49
49
  el.setAttribute('intent', 'neutral');
50
- console.warn('Q2-CONTEXT: action-group slot buttons must have intent="neutral" or intent="workflow-escape".');
50
+ console.warn('Q2-CONTEXT: action-group slot buttons must have intent="neutral" or intent="escape".');
51
51
  }
52
52
  }
53
53
  });
@@ -117,7 +117,7 @@ const Q2Context = class {
117
117
  // #endregion
118
118
  // #region Render Methods
119
119
  render() {
120
- return (h("div", { key: 'f374309924fd5e690d548eb1961a337066e5bb6e', class: "context-wrapper" }, h("q2-item", { key: 'fcc7e1727a9948303c5598a7e080e6b3a5b57368', class: "context-item" }, this.hasDecoratorSlotContent && (h("slot", { key: '8f8395c6c3df2da953cb8b7868238d8ee9709c8d', name: "decorator", slot: "decorator" })), h("div", { key: '7ea4462759c16557a9291fb5ef230636e92fc6c0', class: "context-body", slot: "body" }, h("slot", { key: 'b8888346dc535230477f7f651ab2114acdf2e9ff', name: "header" }), h("slot", { key: 'f85503068547d65927f4132b5e1799a448565fbf', name: "description" })), this.hasAffordanceSlotContent && (h("slot", { key: '4c6f68576515e7650eebe5bf78776f4fecd3b6f2', name: "affordance", slot: "action" }))), this.separator && (h("div", { key: 'e07f5aa2aeb1ae8f90981cc9ff7d5da9eee407b0', class: "separator", role: "separator" })), this.hasActionGroupSlotContent && (h("q2-action-group", { key: '769c7039bd48521c47bac4e4ff7165dd24b72035', class: "action-group", orientation: "horizontal" }, h("slot", { key: 'da7598f9660d358dc4b568816c9883c6451b3156', name: "action-group" }))), this.hasFooterSlotContent && h("slot", { key: '6666dc5ab9f56284774be17ccba02fa605325ac4', name: "footer" })));
120
+ return (h("div", { key: '1ae74fbeea2008a88fc6da47ad45d812d38bfc13', class: "context-wrapper" }, h("q2-item", { key: '4cd13e58084df08ab7c2fc3f89b21bc468314b9c', class: "context-item" }, this.hasDecoratorSlotContent && (h("slot", { key: '0b81a0530f4c323f5fd0111c4ff9d7efec7eb65e', name: "decorator", slot: "decorator" })), h("div", { key: '1965e17a0e289032d1da7201f98e97b709c1b58b', class: "context-body", slot: "body" }, h("slot", { key: 'e52b10d0d494833b28f921d473a8272683973f2b', name: "header" }), h("slot", { key: 'a3e7fd3a2e1bccaa8b722759e2160c4eb7bd4569', name: "description" })), this.hasAffordanceSlotContent && (h("slot", { key: '49c2a3d91b1b74b51ed0f88b66bbad2fd9b7e140', name: "affordance", slot: "action" }))), this.separator && (h("div", { key: 'f3d2839c6cecd264df23f5755ea1fff3340c02f5', class: "separator", role: "separator" })), this.hasActionGroupSlotContent && (h("q2-action-group", { key: '31a30ac415fcbceaffb1afd535a28189f4e41c1d', class: "action-group", orientation: "horizontal" }, h("slot", { key: 'a27b6b16e5d009fad4e7ae408859273e2770bba2', name: "action-group" }))), this.hasFooterSlotContent && h("slot", { key: 'ca997aa3cac59a467af85f2492a221ba06ce30a7', name: "footer" })));
121
121
  }
122
122
  get hostElement() { return getElement(this); }
123
123
  };
@@ -139,7 +139,7 @@ const Q2Currency = class {
139
139
  // #region Render Methods
140
140
  render() {
141
141
  const { hasPlusMinusSign, plusMinusSign, currencyIsFront, currencySymbol, shouldSuperscriptSymbol, amountCore, fraction, shouldSuperscriptFraction, readableCurrency, currencyClasses, signDisplay, isNegativeAmount, } = this;
142
- return (h(Host, { key: 'a576a3f4ca36965ccefcfb9abc1c81641a362c7e', "aria-label": readableCurrency }, h("div", { key: 'c581dde68e18c2650dd9e33d4e5e565b93507427', "test-id": "q2CurrencyInner", class: currencyClasses }, signDisplay === 'accounting' && isNegativeAmount && h("span", { key: 'fefb53c6e9f5db35c10bcc55ba5760da94b0ea68' }, '('), hasPlusMinusSign && h("span", { key: '2b36de58383ae1a7eaf3f6b6de861dc6fdb0815e' }, plusMinusSign), currencyIsFront && (h("span", { key: '3acafded5362df3cf2edba4864954c8030f55c55', class: shouldSuperscriptSymbol ? 'superscript' : '' }, currencySymbol)), h("span", { key: 'c9913f6c82c5b7ab79bee6dc67b79cbe27590c1f' }, amountCore), h("span", { key: '285450be0de2b04b4a5bb9d6545c36c6707d7827', class: shouldSuperscriptFraction ? 'superscript' : '' }, fraction), !currencyIsFront && (h("span", { key: '5c47212d26728d9eb8464c0deee67aff208faf31', class: shouldSuperscriptSymbol ? 'superscript' : '' }, currencySymbol)), signDisplay === 'accounting' && isNegativeAmount && h("span", { key: '590bb81a846efb52ff7364bb9b00e8a3526d3fc5' }, ')'))));
142
+ return (h(Host, { key: 'dc225537aa8381682126282c8dea3bf7bc2be7a6', "aria-label": readableCurrency }, h("div", { key: '31ca488c6a335c42b31c951d6ceb3439dc27ce86', "test-id": "q2CurrencyInner", class: currencyClasses }, signDisplay === 'accounting' && isNegativeAmount && h("span", { key: '90a699153c62af8aae0711bd499c05c1f61fb6ee' }, '('), hasPlusMinusSign && h("span", { key: '1dfb9e14cadced2f39554c686a118a875e217774' }, plusMinusSign), currencyIsFront && (h("span", { key: '8a96680d29c2c6bc22b5288f47a796ad9e249ea2', class: shouldSuperscriptSymbol ? 'superscript' : '' }, currencySymbol)), h("span", { key: '227f6cd00c1c78aecc6f81d1d8b14979c2cfe6f4' }, amountCore), h("span", { key: 'ab392edfa8d9937509999e8e2b9505a067187c3e', class: shouldSuperscriptFraction ? 'superscript' : '' }, fraction), !currencyIsFront && (h("span", { key: 'da99205474d1b0a56b99e5ec7e22f5e9de83eb7b', class: shouldSuperscriptSymbol ? 'superscript' : '' }, currencySymbol)), signDisplay === 'accounting' && isNegativeAmount && h("span", { key: '106370ac78e71e829b94b85989bbcab42c356eef' }, ')'))));
143
143
  }
144
144
  get hostElement() { return getElement(this); }
145
145
  static get watchers() { return {