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,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-DUaTw_1N.js');
4
- var index$1 = require('./index-BY3aao8R.js');
4
+ var index$1 = require('./index-BqyWHpNu.js');
5
5
  var mirrorEmit = require('./mirror-emit-kjeNv83f.js');
6
6
  var component = require('./component-iASoq6gx.js');
7
7
 
@@ -4698,13 +4698,14 @@ const Q2Carousel = class {
4698
4698
  const logicalIndex = this.paneCount > 0 ? swiper.realIndex % this.paneCount : swiper.realIndex;
4699
4699
  this.index = logicalIndex + 1;
4700
4700
  this.updateCarouselPaneProps();
4701
- const isPaginationFocused = !!document.activeElement.closest(`#q2-carousel-${this.guid} .q2-carousel-page-indicator`);
4701
+ const focusSource = document.activeElement;
4702
+ const isPaginationFocused = !!focusSource.closest(`#q2-carousel-${this.guid} .q2-carousel-page-indicator`);
4702
4703
  const isCarouselFocused = !!document.activeElement.closest(`#q2-carousel-${this.guid} q2-carousel-pane`);
4703
4704
  const isFocused = isPaginationFocused || isCarouselFocused;
4704
4705
  this.handleAriaLive(isFocused);
4705
4706
  mirrorEmit.mirrorEmit(this, ['change', 'tctChange'], { index: logicalIndex + 1 });
4706
4707
  if (isPaginationFocused) {
4707
- this.paginationBtns[logicalIndex].focus({ preventScroll: true });
4708
+ this.pendingPaginationFocus = { index: logicalIndex, source: focusSource };
4708
4709
  }
4709
4710
  else if (isCarouselFocused)
4710
4711
  swiper.slides[swiper.activeIndex].focus({
@@ -4979,7 +4980,7 @@ const Q2Carousel = class {
4979
4980
  };
4980
4981
  this.renderNextNavBtn = () => {
4981
4982
  const disabled = this.loop === false && this.realIndex >= this.paneCount - 1;
4982
- return (index.h("div", { class: "next-btn" }, index.h("q2-btn", { class: "q2-carousel-navigation-button q2-carousel-navigation-button-next", intent: "workflow-primary", label: index$1.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(); } }, index.h("q2-icon", { type: "arrow-right" }))));
4983
+ return (index.h("div", { class: "next-btn" }, index.h("q2-btn", { class: "q2-carousel-navigation-button q2-carousel-navigation-button-next", intent: "primary", label: index$1.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(); } }, index.h("q2-icon", { type: "arrow-right" }))));
4983
4984
  };
4984
4985
  this.renderPaginationArea = () => {
4985
4986
  const { useDynamicPaginationDots, realIndex, paneCount } = this;
@@ -5003,13 +5004,14 @@ const Q2Carousel = class {
5003
5004
  };
5004
5005
  this.renderPrevNavBtn = () => {
5005
5006
  const disabled = this.loop === false && this.realIndex <= 0;
5006
- return (index.h("div", { class: "prev-btn" }, index.h("q2-btn", { class: "q2-carousel-navigation-button q2-carousel-navigation-button-prev", intent: "workflow-primary", label: index$1.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(); } }, index.h("q2-icon", { type: "arrow-left" }))));
5007
+ return (index.h("div", { class: "prev-btn" }, index.h("q2-btn", { class: "q2-carousel-navigation-button q2-carousel-navigation-button-prev", intent: "primary", label: index$1.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(); } }, index.h("q2-icon", { type: "arrow-left" }))));
5007
5008
  };
5008
5009
  }
5009
5010
  // #endregion
5010
5011
  // #region Component Lifecycle Events
5011
5012
  disconnectedCallback() {
5012
5013
  var _a;
5014
+ this.pendingPaginationFocus = undefined;
5013
5015
  if (this.mutationObserver) {
5014
5016
  this.mutationObserver.disconnect();
5015
5017
  this.mutationObserver = null;
@@ -5042,6 +5044,18 @@ const Q2Carousel = class {
5042
5044
  this.mutationObserver = observer;
5043
5045
  index$1.overrideFocus(this.hostElement);
5044
5046
  }
5047
+ componentDidRender() {
5048
+ var _a;
5049
+ const pendingFocus = this.pendingPaginationFocus;
5050
+ this.pendingPaginationFocus = undefined;
5051
+ if (!pendingFocus)
5052
+ return;
5053
+ const activeElement = document.activeElement;
5054
+ if (activeElement !== pendingFocus.source && activeElement !== document.body)
5055
+ return;
5056
+ // Dynamic pagination hides distant dots until the new active index renders.
5057
+ (_a = this.paginationBtns[pendingFocus.index]) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });
5058
+ }
5045
5059
  // #endregion
5046
5060
  // #region Listeners
5047
5061
  carouselPaneClicked(event) {
@@ -5191,7 +5205,7 @@ const Q2Carousel = class {
5191
5205
  paginationWrapperClasses.push('evenly-space');
5192
5206
  if (showNavigationArrows && arrowPosition === 'hug')
5193
5207
  paginationWrapperClasses.push('center-space');
5194
- return (index.h(index.Host, { key: '2c623516b2b0ce7800440110cde323bdf065abc1', id: `q2-carousel-${this.guid}`, class: "q2-carousel-instance" }, insufficientPanes ? (this.renderInsufficientPanesDisplay()) : (index.h(index.Fragment, null, paneCount > 1 && (index.h("div", { class: paginationWrapperClasses.join(' ') }, showNavigationArrows &&
5208
+ return (index.h(index.Host, { key: 'e0ebc5ae08102ced9a732ca59217cd3c2c501172', id: `q2-carousel-${this.guid}`, class: "q2-carousel-instance" }, insufficientPanes ? (this.renderInsufficientPanesDisplay()) : (index.h(index.Fragment, null, paneCount > 1 && (index.h("div", { class: paginationWrapperClasses.join(' ') }, showNavigationArrows &&
5195
5209
  ['bottom', 'hug'].includes(arrowPosition) &&
5196
5210
  this.renderPrevNavBtn(), index.h("div", { class: "q2-carousel-control-center-tray" }, !hidePagination && this.renderPaginationArea(), autoPlay && this.renderAutoPlayBtn()), showNavigationArrows &&
5197
5211
  ['bottom', 'hug'].includes(arrowPosition) &&
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-DUaTw_1N.js');
4
- var index$1 = require('./index-BY3aao8R.js');
4
+ var index$1 = require('./index-BqyWHpNu.js');
5
+ var charting = require('./charting-CdNTrVBe.js');
5
6
  var mirrorEmit = require('./mirror-emit-kjeNv83f.js');
6
- var charting = require('./charting-ClN1ldqv.js');
7
- var dataSample = require('./dataSample-BYR-wrOn.js');
7
+ var dataSample = require('./dataSample-B4blhlH4.js');
8
8
 
9
9
  var Symbol = /** @class */function (_super) {
10
10
  charting.__extends(Symbol, _super);
@@ -3984,7 +3984,7 @@ function installUniversalTransition(registers) {
3984
3984
  });
3985
3985
  }
3986
3986
 
3987
- 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%}`;
3987
+ 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%}`;
3988
3988
 
3989
3989
  charting.use([charting.install, install, charting.install$1, installUniversalTransition, dataSample.install, dataSample.install$1]);
3990
3990
  const Q2ChartArea = class {
@@ -3992,6 +3992,18 @@ const Q2ChartArea = class {
3992
3992
  index.registerInstance(this, hostRef);
3993
3993
  this.change = index.createEvent(this, "change", 7);
3994
3994
  this.tctChange = index.createEvent(this, "tctChange", 7);
3995
+ this.keyboard = charting.createChartKeyboardNavigation({
3996
+ getChart: () => this.chart,
3997
+ getData: () => this.data,
3998
+ onChange: index => {
3999
+ this.keyboardIndex = index;
4000
+ if (index !== null)
4001
+ mirrorEmit.mirrorEmit(this, ['change', 'tctChange'], { index, data: this.data[index] });
4002
+ },
4003
+ });
4004
+ // #endregion
4005
+ // #region State Properties
4006
+ this.keyboardIndex = null;
3995
4007
  /** An array of objects that contain the data to be displayed. */
3996
4008
  this.data = [];
3997
4009
  /** Controls visibility of labels on the name axis. */
@@ -4021,6 +4033,7 @@ const Q2ChartArea = class {
4021
4033
  // #endregion
4022
4034
  // #region Component Lifecycle Events
4023
4035
  disconnectedCallback() {
4036
+ this.keyboard.onBlur();
4024
4037
  // CRITICAL: Dispose eCharts instance to prevent memory leaks
4025
4038
  // eCharts holds references to canvas, event listeners, and animation frames
4026
4039
  if (this.chart) {
@@ -4047,6 +4060,13 @@ const Q2ChartArea = class {
4047
4060
  index$1.overrideFocus(this.hostElement);
4048
4061
  }
4049
4062
  // #endregion
4063
+ // #region Listeners
4064
+ delegateFocus(event) {
4065
+ var _a;
4066
+ if (index$1.isEventFromElement(event, this.hostElement) && this.data.length)
4067
+ (_a = this.chartContainer) === null || _a === void 0 ? void 0 : _a.focus();
4068
+ }
4069
+ // #endregion
4050
4070
  // #region Public Methods API
4051
4071
  /**
4052
4072
  * A method to fire change event on hover on a point.
@@ -4065,9 +4085,18 @@ const Q2ChartArea = class {
4065
4085
  if (!this.chart)
4066
4086
  return;
4067
4087
  this.updateChart(this.chart);
4088
+ this.keyboard.refresh();
4068
4089
  }
4069
4090
  // #endregion
4070
4091
  // #region Local Methods
4092
+ get keyboardDescription() {
4093
+ var _a;
4094
+ const datum = this.data[this.keyboardIndex];
4095
+ if (this.keyboardIndex === null || !datum)
4096
+ return '';
4097
+ const decimals = ((_a = this.formatModifier) === null || _a === void 0 ? void 0 : _a.includes('dec')) ? this.formatModifier.replace('dec', '') : 0;
4098
+ return charting.chartPointDescription(datum.name, charting.formatValue(datum.value || 0, { type: this.format, decimals }), this.keyboardIndex, this.data.length);
4099
+ }
4071
4100
  cacheComputedStyles() {
4072
4101
  this.chartContainerStyles = getComputedStyle(this.chartContainer);
4073
4102
  this.hostElementStyles = getComputedStyle(this.hostElement);
@@ -4117,7 +4146,7 @@ const Q2ChartArea = class {
4117
4146
  });
4118
4147
  }
4119
4148
  updateChart(chart) {
4120
- var _a;
4149
+ var _a, _b;
4121
4150
  const decimals = ((_a = this.formatModifier) === null || _a === void 0 ? void 0 : _a.includes('dec')) ? this.formatModifier.replace('dec', '') : 0;
4122
4151
  const valueAxis = {
4123
4152
  type: 'value',
@@ -4180,7 +4209,7 @@ const Q2ChartArea = class {
4180
4209
  min: this.xMin,
4181
4210
  max: this.xMax,
4182
4211
  };
4183
- return chart.setOption({
4212
+ chart.setOption({
4184
4213
  aria: {
4185
4214
  enabled: true,
4186
4215
  },
@@ -4225,11 +4254,13 @@ const Q2ChartArea = class {
4225
4254
  },
4226
4255
  ],
4227
4256
  });
4257
+ // ECharts ARIA sets role="img" when options change; retain the keyboard interaction role.
4258
+ (_b = this.chartContainer) === null || _b === void 0 ? void 0 : _b.setAttribute('role', 'application');
4228
4259
  }
4229
4260
  // #endregion
4230
4261
  // #region Render Methods
4231
4262
  render() {
4232
- return (index.h("div", { key: '247b79eca7719feab470918648f223675483daf8', class: "container" }, index.h("div", { key: '349272c0ece24581f05dcadb81d7a19dd71eaa2d', ref: el => (this.chartContainer = el), class: "chart-container", role: "img", "test-id": "areaChartContainer" })));
4263
+ return (index.h("div", { key: 'de38ac1c05ff6c85091069a691c5e2d51ba360ed', class: "container" }, index.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" }), index.h("div", { key: '45493b2498b17ab331fdff4487bd05874732c75e', id: "chart-keyboard-instructions", class: "sr" }, index$1.loc('tecton.element.chart.keyboardInstructions')), index.h("div", { key: '9d0a71f228271efde15c7ff4e0bae2a1144a8c9c', class: this.keyboardIndex === null ? 'sr' : 'chart-keyboard-value', role: "status", "aria-atomic": "true" }, this.keyboardDescription)));
4233
4264
  }
4234
4265
  get hostElement() { return index.getElement(this); }
4235
4266
  static get watchers() { return {
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-DUaTw_1N.js');
4
- var index$1 = require('./index-BY3aao8R.js');
5
- var charting = require('./charting-ClN1ldqv.js');
6
- var dataSample = require('./dataSample-BYR-wrOn.js');
7
- var sectorHelper = require('./sectorHelper-9TWL-3dw.js');
4
+ var index$1 = require('./index-BqyWHpNu.js');
5
+ var charting = require('./charting-CdNTrVBe.js');
6
+ var dataSample = require('./dataSample-B4blhlH4.js');
7
+ var sectorHelper = require('./sectorHelper-CxhDl5ql.js');
8
8
 
9
9
  var BaseBarSeriesModel = /** @class */function (_super) {
10
10
  charting.__extends(BaseBarSeriesModel, _super);
@@ -1255,12 +1255,24 @@ function install(registers) {
1255
1255
  });
1256
1256
  }
1257
1257
 
1258
- 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%}`;
1258
+ 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%}`;
1259
1259
 
1260
1260
  charting.use([charting.install, install, charting.install$1, sectorHelper.installLabelLayout, dataSample.install, dataSample.install$1]);
1261
1261
  const Q2ChartBar = class {
1262
1262
  constructor(hostRef) {
1263
1263
  index.registerInstance(this, hostRef);
1264
+ this.keyboard = charting.createChartKeyboardNavigation({
1265
+ getChart: () => this.chart,
1266
+ getData: () => this.data,
1267
+ onChange: index => (this.keyboardIndex = index),
1268
+ getOrder: () => {
1269
+ const indices = this.data.map((_, index) => index);
1270
+ return this.sort ? indices.sort((a, b) => this.data[b].value - this.data[a].value) : indices;
1271
+ },
1272
+ });
1273
+ // #endregion
1274
+ // #region State Properties
1275
+ this.keyboardIndex = null;
1264
1276
  /** An array of objects that contain the data to be displayed. */
1265
1277
  this.data = [];
1266
1278
  /** Controls visibility of labels on the name axis. */
@@ -1288,6 +1300,7 @@ const Q2ChartBar = class {
1288
1300
  // #endregion
1289
1301
  // #region Component Lifecycle Events
1290
1302
  disconnectedCallback() {
1303
+ this.keyboard.onBlur();
1291
1304
  // Remove event listeners
1292
1305
  window.removeEventListener('resize', this.resizeEventListener);
1293
1306
  // Clean up chart instance
@@ -1317,14 +1330,30 @@ const Q2ChartBar = class {
1317
1330
  index$1.overrideFocus(this.hostElement);
1318
1331
  }
1319
1332
  // #endregion
1333
+ // #region Listeners
1334
+ delegateFocus(event) {
1335
+ var _a;
1336
+ if (index$1.isEventFromElement(event, this.hostElement) && this.data.length)
1337
+ (_a = this.chartContainer) === null || _a === void 0 ? void 0 : _a.focus();
1338
+ }
1339
+ // #endregion
1320
1340
  // #region Watchers
1321
1341
  propsUpdates() {
1322
1342
  if (!this.chart)
1323
1343
  return;
1324
1344
  this.updateChart(this.chart);
1345
+ this.keyboard.refresh();
1325
1346
  }
1326
1347
  // #endregion
1327
1348
  // #region Local Methods
1349
+ get keyboardDescription() {
1350
+ var _a;
1351
+ const datum = this.data[this.keyboardIndex];
1352
+ if (this.keyboardIndex === null || !datum)
1353
+ return '';
1354
+ const decimals = ((_a = this.formatModifier) === null || _a === void 0 ? void 0 : _a.includes('dec')) ? this.formatModifier.replace('dec', '') : 0;
1355
+ return charting.chartPointDescription(datum.name, charting.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);
1356
+ }
1328
1357
  cacheComputedStyles() {
1329
1358
  this.chartContainerStyles = getComputedStyle(this.chartContainer);
1330
1359
  this.hostElementStyles = getComputedStyle(this.hostElement);
@@ -1367,7 +1396,7 @@ const Q2ChartBar = class {
1367
1396
  chart.on('finished', this.chartFinishedListener);
1368
1397
  }
1369
1398
  updateChart(chart) {
1370
- var _a;
1399
+ var _a, _b;
1371
1400
  const decimals = ((_a = this.formatModifier) === null || _a === void 0 ? void 0 : _a.includes('dec')) ? this.formatModifier.replace('dec', '') : 0;
1372
1401
  const valueAxis = {
1373
1402
  type: 'value',
@@ -1396,7 +1425,7 @@ const Q2ChartBar = class {
1396
1425
  alignWithLabel: this.offsetDataNames,
1397
1426
  },
1398
1427
  };
1399
- return chart.setOption({
1428
+ chart.setOption({
1400
1429
  aria: {
1401
1430
  enabled: true,
1402
1431
  },
@@ -1432,11 +1461,13 @@ const Q2ChartBar = class {
1432
1461
  },
1433
1462
  ],
1434
1463
  });
1464
+ // ECharts ARIA sets role="img" when options change; retain the keyboard interaction role.
1465
+ (_b = this.chartContainer) === null || _b === void 0 ? void 0 : _b.setAttribute('role', 'application');
1435
1466
  }
1436
1467
  // #endregion
1437
1468
  // #region Render Methods
1438
1469
  render() {
1439
- return (index.h("div", { key: '36a77a29d5e06363f2cd2267c298429cd2ef9864', class: "container" }, index.h("div", { key: 'e7382ecf3ed8323ffbf1c57a78c870d7d7c4b718', ref: el => (this.chartContainer = el), class: "chart-container", role: "img", "test-id": "barChartContainer" })));
1470
+ return (index.h("div", { key: '2764d138c5aee7d65df3361a7d4720e00ba13368', class: "container" }, index.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" }), index.h("div", { key: '3b6aa42b27e86f75cd4d1fc3d2efe823b950864c', id: "chart-keyboard-instructions", class: "sr" }, index$1.loc('tecton.element.chart.keyboardInstructions')), index.h("div", { key: '5d216b8ccce18ea77f136fd43ab81db335b38d89', class: this.keyboardIndex === null ? 'sr' : 'chart-keyboard-value', role: "status", "aria-atomic": "true" }, this.keyboardDescription)));
1440
1471
  }
1441
1472
  get hostElement() { return index.getElement(this); }
1442
1473
  static get watchers() { return {
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-DUaTw_1N.js');
4
- var index$1 = require('./index-BY3aao8R.js');
4
+ var index$1 = require('./index-BqyWHpNu.js');
5
5
  var mirrorEmit = require('./mirror-emit-kjeNv83f.js');
6
- var charting = require('./charting-ClN1ldqv.js');
7
- var sectorHelper = require('./sectorHelper-9TWL-3dw.js');
6
+ var charting = require('./charting-CdNTrVBe.js');
7
+ var sectorHelper = require('./sectorHelper-CxhDl5ql.js');
8
8
 
9
9
  function makeBackground(rect, componentModel) {
10
10
  var padding = charting.normalizeCssArray(componentModel.get('padding'));
@@ -4048,6 +4048,7 @@ const Q2ChartDonut = class {
4048
4048
  this.tctChange = index.createEvent(this, "tctChange", 7);
4049
4049
  this.tctClick = index.createEvent(this, "tctClick", 7);
4050
4050
  this.defaultRecord = { id: null, value: null, name: null };
4051
+ this.keyboardAnnouncement = '';
4051
4052
  /** An array of objects that contain the data to be displayed. */
4052
4053
  this.data = [];
4053
4054
  /** The amount which the slice will scale when hovered. */
@@ -4087,6 +4088,8 @@ const Q2ChartDonut = class {
4087
4088
  };
4088
4089
  this.onButtonKeyDown = (event) => {
4089
4090
  const { selectedId, data } = this;
4091
+ if (!data.length || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey)
4092
+ return;
4090
4093
  let selectedIndex = this.getIndexById(selectedId) || 0;
4091
4094
  switch (event.key) {
4092
4095
  case 'ArrowUp':
@@ -4116,14 +4119,23 @@ const Q2ChartDonut = class {
4116
4119
  });
4117
4120
  break;
4118
4121
  case 'Escape':
4122
+ event.preventDefault();
4119
4123
  this.clearSelection();
4120
- break;
4121
- case ' ':
4124
+ this.keyboardAnnouncement = index$1.loc(this.summaryName || 'tecton.element.chartDonut.button.summaryName');
4125
+ return;
4126
+ case 'Home':
4127
+ case 'End':
4122
4128
  event.preventDefault();
4129
+ selectedIndex = event.key === 'Home' ? 0 : data.length - 1;
4130
+ this.chart.dispatchAction({ type: 'select', seriesId: 'pie', dataIndex: selectedIndex });
4123
4131
  break;
4124
4132
  default:
4125
4133
  return;
4126
4134
  }
4135
+ if (['ArrowLeft', 'ArrowRight', 'Home', 'End'].includes(event.key)) {
4136
+ const datum = data[selectedIndex];
4137
+ this.keyboardAnnouncement = charting.chartPointDescription(datum.name, this.displayValue(datum.value), selectedIndex, data.length);
4138
+ }
4127
4139
  };
4128
4140
  this.onClickElsewhere = (event) => {
4129
4141
  event.stopPropagation();
@@ -4223,12 +4235,13 @@ const Q2ChartDonut = class {
4223
4235
  // #endregion
4224
4236
  // #region Listeners
4225
4237
  delegateFocus(event) {
4226
- var _a;
4238
+ var _a, _b;
4227
4239
  if (!index$1.isEventFromElement(event, this.hostElement))
4228
4240
  return;
4229
- if (!this.isClickable)
4230
- return;
4231
- (_a = this.centerButtonElement) === null || _a === void 0 ? void 0 : _a.focus();
4241
+ if (this.isClickable)
4242
+ (_a = this.centerButtonElement) === null || _a === void 0 ? void 0 : _a.focus();
4243
+ else if (this.data.length)
4244
+ (_b = this.chartContainer) === null || _b === void 0 ? void 0 : _b.focus();
4232
4245
  }
4233
4246
  // #endregion
4234
4247
  // #region Public Methods API
@@ -4299,6 +4312,7 @@ const Q2ChartDonut = class {
4299
4312
  this.updateChart(this.chart);
4300
4313
  }
4301
4314
  dataUpdated() {
4315
+ this.keyboardAnnouncement = '';
4302
4316
  if (!this.chart)
4303
4317
  return;
4304
4318
  this.colors = this.getColors();
@@ -4474,8 +4488,9 @@ const Q2ChartDonut = class {
4474
4488
  });
4475
4489
  }
4476
4490
  updateChart(chart) {
4491
+ var _a;
4477
4492
  this.validateColor();
4478
- return chart.setOption({
4493
+ chart.setOption({
4479
4494
  tooltip: {
4480
4495
  show: false,
4481
4496
  },
@@ -4517,6 +4532,8 @@ const Q2ChartDonut = class {
4517
4532
  },
4518
4533
  ],
4519
4534
  });
4535
+ // The clickable variant handles keyboard interaction on its native center button.
4536
+ (_a = this.chartContainer) === null || _a === void 0 ? void 0 : _a.setAttribute('role', this.isClickable ? 'img' : 'application');
4520
4537
  }
4521
4538
  validateColor() {
4522
4539
  // check if there is name duplicated, then custom style using `itemStyle` object will be used.
@@ -4540,20 +4557,21 @@ const Q2ChartDonut = class {
4540
4557
  const props = isClickable
4541
4558
  ? {
4542
4559
  onKeyDown: this.onButtonKeyDown,
4560
+ onBlur: () => (this.keyboardAnnouncement = ''),
4543
4561
  onClick: this.onButtonClick,
4544
4562
  ref: el => (this.centerButtonElement = el),
4545
- 'aria-describedby': 'center-card-description',
4563
+ 'aria-describedby': 'center-card-description chart-keyboard-instructions',
4546
4564
  'aria-roledescription': index$1.loc('tecton.element.chartDonut.button.roleDescription'),
4547
4565
  }
4548
4566
  : null;
4549
- return (index.h("div", { class: "center-card-container", style: { width: `calc(${this.innerRadius})`, height: `calc(${this.innerRadius})` } }, index.h("div", { id: "center-card-description", class: "sr" }, index$1.loc('tecton.element.chartDonut.button.description')), index.h(TagName, { class: "center-card", "test-id": "centerCard", ...props }, !!icon && (index.h("q2-icon", { type: icon, style: color && {
4567
+ return (index.h("div", { class: "center-card-container", style: { width: `calc(${this.innerRadius})`, height: `calc(${this.innerRadius})` } }, index.h("div", { id: "center-card-description", class: "sr" }, index$1.loc('tecton.element.chartDonut.button.description')), index.h("div", { id: "chart-keyboard-instructions", class: "sr" }, index$1.loc('tecton.element.chart.keyboardInstructions')), index.h(TagName, { class: "center-card", "test-id": "centerCard", ...props }, !!icon && (index.h("q2-icon", { type: icon, style: color && {
4550
4568
  '--tct-icon-stroke-primary': color,
4551
4569
  '--tct-icon-stroke-secondary': color,
4552
4570
  color,
4553
4571
  } })), !!name && index.h("div", { class: "name" }, name), !isNaN(value) && index.h("div", { class: "value" }, displayValue))));
4554
4572
  }
4555
4573
  render() {
4556
- return (index.h("click-elsewhere", { key: '27c21f281ef0746c9bd9d7235fa1833df7711e4d', onChange: this.onClickElsewhere }, index.h("figure", { key: '8356a94846a4319b682e3bc3171e6a71afb228f8' }, index.h("div", { key: 'a6b016aaa11371fdff673eb8cd7508bb5f3ce852', class: "container" }, index.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 && (index.h("figcaption", { key: '24f16b0d7afd3a6433c58cd8eb6806785fc938e5' }, index.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 }))))));
4574
+ return (index.h("click-elsewhere", { key: '54e5d16621ac527fec69834b2c1cc1e7d2c6540b', onChange: this.onClickElsewhere }, index.h("figure", { key: '61e0c1e30fed4e89816d228c1c190b5bd38991a3' }, index.h("div", { key: '0685b804780ebdf17d7bfe5956306a027c3c9dba', class: "container" }, index.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(), index.h("div", { key: '105396c05b8aa162b1c0515cb4b96dadafcca911', class: "sr", role: "status", "aria-atomic": "true" }, this.keyboardAnnouncement)), this.showLegend && (index.h("figcaption", { key: 'c6462ae033852ff7fa09d752e4fc8860608448c6' }, index.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 }))))));
4557
4575
  }
4558
4576
  get hostElement() { return index.getElement(this); }
4559
4577
  static get watchers() { return {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-DUaTw_1N.js');
4
- var index$1 = require('./index-BY3aao8R.js');
4
+ var index$1 = require('./index-BqyWHpNu.js');
5
5
  var mirrorEmit = require('./mirror-emit-kjeNv83f.js');
6
6
  var component = require('./component-iASoq6gx.js');
7
7
 
@@ -122,7 +122,7 @@ const Q2CheckboxGroup = class {
122
122
  render() {
123
123
  const showLabel = this.label || this.optional || this.readonly;
124
124
  const showLabelRow = (showLabel && !this.hideLabel) || this.hasError;
125
- return (index.h(index.Fragment, { key: '4e9159cc489b8c2ed9adf3c8263355994364780e' }, showLabelRow && (index.h("div", { key: '85c21ddc03d2abaf4e78b1922dcf3705ec673fc9', class: "label-row" }, showLabel && !this.hideLabel && index.h("div", { key: '071eb3359b048a5e7f89f7c525362e065707a8fe', class: "group-legend" }, index$1.renderLabel(this)), this.hasError && (index.h("q2-icon", { key: '76a591fb52671d43351322faa488608128320183', type: "error", "test-id": "iconError" })))), index.h("fieldset", { key: '0bcc9a5419df7ab0bf2abfc6189983e6cf5bd779', onChange: this.onInnerCheckboxChange, "aria-invalid": this.hasError ? `${this.hasError}` : undefined }, showLabel && index.h("legend", { key: 'c6a5f3ec8289091b6d113a36d2fed9b83a5c7088', class: "sr-only" }, index$1.renderLabel(this)), this.inputDom())));
125
+ return (index.h(index.Fragment, { key: 'ed664b9829dbea3e8e6fe3809dd2528a2a37b011' }, showLabelRow && (index.h("div", { key: '101b950b7aacfbc6dab450ad2c13a7a86af40936', class: "label-row" }, showLabel && !this.hideLabel && index.h("div", { key: '70330c12aefedf7f7b7f7cbe4e0a745cca667181', class: "group-legend" }, index$1.renderLabel(this)), this.hasError && (index.h("q2-icon", { key: '31eb9fac43cbf80696276c7d96945a3f267610d3', type: "error", "test-id": "iconError" })))), index.h("fieldset", { key: '200264b3fb882445dc5610155e28b137e2334ad2', onChange: this.onInnerCheckboxChange, "aria-invalid": this.hasError ? `${this.hasError}` : undefined }, showLabel && index.h("legend", { key: 'ef85eb7ca6ef53496a5fc7d0198f03d3a8fb129e', class: "sr-only" }, index$1.renderLabel(this)), this.inputDom())));
126
126
  }
127
127
  get hostElement() { return index.getElement(this); }
128
128
  static get watchers() { return {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-DUaTw_1N.js');
4
- var index$1 = require('./index-BY3aao8R.js');
4
+ var index$1 = require('./index-BqyWHpNu.js');
5
5
  var mirrorEmit = require('./mirror-emit-kjeNv83f.js');
6
6
  var actionSheet = require('./action-sheet-DUBlF_x3.js');
7
7
 
@@ -181,7 +181,7 @@ const Q2Checkbox = class {
181
181
  containerClasses.push('has-multiline-label');
182
182
  if (this.hideLabel)
183
183
  textLabelClasses.push('sr');
184
- return (index.h("div", { key: '0dff5141bf9fd0eb9b9d92f55c80b046a8224bad', class: containerClasses.join(' ') }, index.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 }), index.h("label", { key: '56684f4fb63b0f6d136e69420f2e632a807ab03a', htmlFor: this._id, class: "label-control", "test-id": "checkboxButton", "aria-hidden": "true" }, this.renderCheckboxSVG()), index.h("div", { key: '4f40ff7c46337d002e3097e849e8a6d163271787', class: textLabelClasses.join(' '), ref: el => (this.labelTextElement = el) }, index.h("label", { key: '3d9803210e8462137d28205891762da8a9fa19cd', "test-id": "checkboxLabel", htmlFor: this._id, id: this.labelId }, index.h("div", { key: 'de644e9efa49bfb2c84400d4f748678f1724786d', class: "label-content" }, index$1.loc(this.label), index.h("slot", { key: 'f537a700ad48155f2896ae1880fcfdc4f1e60226', onSlotchange: this.queueLabelLayoutUpdate }), index.h("slot", { key: '184d686720af904c8f5cda2d4508cd07add7b1bf', name: "label", onSlotchange: this.queueLabelLayoutUpdate })))), this._tooltip && (index.h("span", { key: '05a8eacb9150b56ce30183561c72b0c607c60c8c', id: this.tooltipId, class: "sr", "test-id": "checkboxTooltipText" }, this._tooltip)), this.hasDescription && (index.h("div", { key: '7b06216cede51eb0bc13932ed17e3237854c1316', class: "description-text", "test-id": "checkboxDescription", id: "description" }, index$1.loc(this.description), index.h("slot", { key: '723ac0aa53756d0bd9f06e7bb2a1231056cdca50', name: "description" })))));
184
+ return (index.h("div", { key: '95ac828b1e5991bd66dfd7e83dcdc75bc152e18f', class: containerClasses.join(' ') }, index.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 }), index.h("label", { key: 'b64445b937b72c81c2266dd9512ac810e780ee54', htmlFor: this._id, class: "label-control", "test-id": "checkboxButton", "aria-hidden": "true" }, this.renderCheckboxSVG()), index.h("div", { key: 'ff43e0c59e23b9cd0c61339e275c45ed5ae082aa', class: textLabelClasses.join(' '), ref: el => (this.labelTextElement = el) }, index.h("label", { key: '808c972d8808da7a4e7f907176466a72edcd2c48', "test-id": "checkboxLabel", htmlFor: this._id, id: this.labelId }, index.h("div", { key: 'fe386612e683c6e7be2db8a3404f34b6f53391b6', class: "label-content" }, index$1.loc(this.label), index.h("slot", { key: '38b16db321f096aa05e8062a7a02e01d3e3feb3e', onSlotchange: this.queueLabelLayoutUpdate }), index.h("slot", { key: '327afa820650c9d769a6566c7bc7d79b607492c0', name: "label", onSlotchange: this.queueLabelLayoutUpdate })))), this._tooltip && (index.h("span", { key: 'ab9ac6546e1e0e7021115c67056155bd00387aac', id: this.tooltipId, class: "sr", "test-id": "checkboxTooltipText" }, this._tooltip)), this.hasDescription && (index.h("div", { key: 'acef71e4ff4d85e16f80bce4ff8b68e52a252fd2', class: "description-text", "test-id": "checkboxDescription", id: "description" }, index$1.loc(this.description), index.h("slot", { key: '11e62328019bc7f3fe8be7ec74300e727c2dc98e', name: "description" })))));
185
185
  }
186
186
  get hostElement() { return index.getElement(this); }
187
187
  static get watchers() { return {
@@ -329,11 +329,14 @@ const Q2Tag = class {
329
329
  this.dropdownBtn.focus();
330
330
  }
331
331
  popoverStateHandler({ detail: { open } }) {
332
- if (this.open !== open)
333
- this.open = open;
332
+ var _a;
333
+ if (this.open === open)
334
+ return;
335
+ this.open = open;
334
336
  if (open)
335
337
  return;
336
338
  this.optionList.setActiveElement(null);
339
+ (_a = this.dropdownBtn) === null || _a === void 0 ? void 0 : _a.focus();
337
340
  }
338
341
  // #endregion
339
342
  // #region Public Methods API
@@ -391,7 +394,7 @@ const Q2Tag = class {
391
394
  if (this.optionCount)
392
395
  wrapperClassNames.push('has-options');
393
396
  const shouldShowOptions = this.optionCount > 0;
394
- return (index.h(index.Host, { key: 'da6dc23ff4f250b18242a49db02eccc16210b043' }, index.h("click-elsewhere", { key: 'ee1da442ffd5aa53e55ae95f95b3ac51e2f5c71e', onChange: this.onClickElsewhere }, shouldShowOptions ? (index.h(index.Fragment, null, index.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": index$1.loc(this.label) }, index.h("div", { class: wrapperClassNames.join(' ') }, index$1.loc(this.label)), index.h("q2-icon", { type: "options" })), this.renderHiddenElement())) : (index.h("div", { class: "tag-wrapper", onClick: e => e.stopPropagation() }, index.h("div", { class: wrapperClassNames.join(' ') }, index.h("slot", { name: "decorator" }), index$1.loc(this.label)))), shouldShowOptions && (index.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 }, index.h("q2-option-list", { key: 'd21abcd1fe11241e14b4f411d9559c12c139c18a', id: "option-list", ref: el => (this.optionList = el), onChange: this.handleChange, type: "menu", align: "right", label: index$1.loc('tecton.element.optionList.label', [this.optionListLabel]), "no-select": true }, index.h("slot", { key: 'd46ec7dad47e40cec883205d6fb2424abcdd1038' })))))));
397
+ return (index.h(index.Host, { key: 'a46abe562647fe64e55427bcc8284bbfc5f01e3f' }, index.h("click-elsewhere", { key: '667e76295c30be78462ee67128a8fb2c38c01285', onChange: this.onClickElsewhere }, shouldShowOptions ? (index.h(index.Fragment, null, index.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": index$1.loc(this.label) }, index.h("div", { class: wrapperClassNames.join(' ') }, index$1.loc(this.label)), index.h("q2-icon", { type: "options" })), this.renderHiddenElement())) : (index.h("div", { class: "tag-wrapper", onClick: e => e.stopPropagation() }, index.h("div", { class: wrapperClassNames.join(' ') }, index.h("slot", { name: "decorator" }), index$1.loc(this.label)))), shouldShowOptions && (index.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 }, index.h("q2-option-list", { key: '1d037878cfcf4785439edb9a5693d4dba700e947', id: "option-list", ref: el => (this.optionList = el), onChange: this.handleChange, type: "menu", align: "right", label: index$1.loc('tecton.element.optionList.label', [this.optionListLabel]), "no-select": true }, index.h("slot", { key: '1039cd355f5b1a7ec7cab1eca80479042060fef4' })))))));
395
398
  }
396
399
  get hostElement() { return index.getElement(this); }
397
400
  };
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-DUaTw_1N.js');
4
- var index$1 = require('./index-BY3aao8R.js');
4
+ var index$1 = require('./index-BqyWHpNu.js');
5
5
 
6
6
  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)}`;
7
7
 
@@ -47,9 +47,9 @@ const Q2Context = class {
47
47
  el.setAttribute('size', 'small');
48
48
  console.warn('Q2-CONTEXT: action-group slot buttons must be size="small".');
49
49
  }
50
- if (!['neutral', 'workflow-escape'].includes(el.getAttribute('intent'))) {
50
+ if (!['neutral', 'escape', 'workflow-escape'].includes(el.getAttribute('intent'))) {
51
51
  el.setAttribute('intent', 'neutral');
52
- console.warn('Q2-CONTEXT: action-group slot buttons must have intent="neutral" or intent="workflow-escape".');
52
+ console.warn('Q2-CONTEXT: action-group slot buttons must have intent="neutral" or intent="escape".');
53
53
  }
54
54
  }
55
55
  });
@@ -119,7 +119,7 @@ const Q2Context = class {
119
119
  // #endregion
120
120
  // #region Render Methods
121
121
  render() {
122
- return (index.h("div", { key: 'f374309924fd5e690d548eb1961a337066e5bb6e', class: "context-wrapper" }, index.h("q2-item", { key: 'fcc7e1727a9948303c5598a7e080e6b3a5b57368', class: "context-item" }, this.hasDecoratorSlotContent && (index.h("slot", { key: '8f8395c6c3df2da953cb8b7868238d8ee9709c8d', name: "decorator", slot: "decorator" })), index.h("div", { key: '7ea4462759c16557a9291fb5ef230636e92fc6c0', class: "context-body", slot: "body" }, index.h("slot", { key: 'b8888346dc535230477f7f651ab2114acdf2e9ff', name: "header" }), index.h("slot", { key: 'f85503068547d65927f4132b5e1799a448565fbf', name: "description" })), this.hasAffordanceSlotContent && (index.h("slot", { key: '4c6f68576515e7650eebe5bf78776f4fecd3b6f2', name: "affordance", slot: "action" }))), this.separator && (index.h("div", { key: 'e07f5aa2aeb1ae8f90981cc9ff7d5da9eee407b0', class: "separator", role: "separator" })), this.hasActionGroupSlotContent && (index.h("q2-action-group", { key: '769c7039bd48521c47bac4e4ff7165dd24b72035', class: "action-group", orientation: "horizontal" }, index.h("slot", { key: 'da7598f9660d358dc4b568816c9883c6451b3156', name: "action-group" }))), this.hasFooterSlotContent && index.h("slot", { key: '6666dc5ab9f56284774be17ccba02fa605325ac4', name: "footer" })));
122
+ return (index.h("div", { key: '1ae74fbeea2008a88fc6da47ad45d812d38bfc13', class: "context-wrapper" }, index.h("q2-item", { key: '4cd13e58084df08ab7c2fc3f89b21bc468314b9c', class: "context-item" }, this.hasDecoratorSlotContent && (index.h("slot", { key: '0b81a0530f4c323f5fd0111c4ff9d7efec7eb65e', name: "decorator", slot: "decorator" })), index.h("div", { key: '1965e17a0e289032d1da7201f98e97b709c1b58b', class: "context-body", slot: "body" }, index.h("slot", { key: 'e52b10d0d494833b28f921d473a8272683973f2b', name: "header" }), index.h("slot", { key: 'a3e7fd3a2e1bccaa8b722759e2160c4eb7bd4569', name: "description" })), this.hasAffordanceSlotContent && (index.h("slot", { key: '49c2a3d91b1b74b51ed0f88b66bbad2fd9b7e140', name: "affordance", slot: "action" }))), this.separator && (index.h("div", { key: 'f3d2839c6cecd264df23f5755ea1fff3340c02f5', class: "separator", role: "separator" })), this.hasActionGroupSlotContent && (index.h("q2-action-group", { key: '31a30ac415fcbceaffb1afd535a28189f4e41c1d', class: "action-group", orientation: "horizontal" }, index.h("slot", { key: 'a27b6b16e5d009fad4e7ae408859273e2770bba2', name: "action-group" }))), this.hasFooterSlotContent && index.h("slot", { key: 'ca997aa3cac59a467af85f2492a221ba06ce30a7', name: "footer" })));
123
123
  }
124
124
  get hostElement() { return index.getElement(this); }
125
125
  };
@@ -141,7 +141,7 @@ const Q2Currency = class {
141
141
  // #region Render Methods
142
142
  render() {
143
143
  const { hasPlusMinusSign, plusMinusSign, currencyIsFront, currencySymbol, shouldSuperscriptSymbol, amountCore, fraction, shouldSuperscriptFraction, readableCurrency, currencyClasses, signDisplay, isNegativeAmount, } = this;
144
- return (index.h(index.Host, { key: 'a576a3f4ca36965ccefcfb9abc1c81641a362c7e', "aria-label": readableCurrency }, index.h("div", { key: 'c581dde68e18c2650dd9e33d4e5e565b93507427', "test-id": "q2CurrencyInner", class: currencyClasses }, signDisplay === 'accounting' && isNegativeAmount && index.h("span", { key: 'fefb53c6e9f5db35c10bcc55ba5760da94b0ea68' }, '('), hasPlusMinusSign && index.h("span", { key: '2b36de58383ae1a7eaf3f6b6de861dc6fdb0815e' }, plusMinusSign), currencyIsFront && (index.h("span", { key: '3acafded5362df3cf2edba4864954c8030f55c55', class: shouldSuperscriptSymbol ? 'superscript' : '' }, currencySymbol)), index.h("span", { key: 'c9913f6c82c5b7ab79bee6dc67b79cbe27590c1f' }, amountCore), index.h("span", { key: '285450be0de2b04b4a5bb9d6545c36c6707d7827', class: shouldSuperscriptFraction ? 'superscript' : '' }, fraction), !currencyIsFront && (index.h("span", { key: '5c47212d26728d9eb8464c0deee67aff208faf31', class: shouldSuperscriptSymbol ? 'superscript' : '' }, currencySymbol)), signDisplay === 'accounting' && isNegativeAmount && index.h("span", { key: '590bb81a846efb52ff7364bb9b00e8a3526d3fc5' }, ')'))));
144
+ return (index.h(index.Host, { key: 'dc225537aa8381682126282c8dea3bf7bc2be7a6', "aria-label": readableCurrency }, index.h("div", { key: '31ca488c6a335c42b31c951d6ceb3439dc27ce86', "test-id": "q2CurrencyInner", class: currencyClasses }, signDisplay === 'accounting' && isNegativeAmount && index.h("span", { key: '90a699153c62af8aae0711bd499c05c1f61fb6ee' }, '('), hasPlusMinusSign && index.h("span", { key: '1dfb9e14cadced2f39554c686a118a875e217774' }, plusMinusSign), currencyIsFront && (index.h("span", { key: '8a96680d29c2c6bc22b5288f47a796ad9e249ea2', class: shouldSuperscriptSymbol ? 'superscript' : '' }, currencySymbol)), index.h("span", { key: '227f6cd00c1c78aecc6f81d1d8b14979c2cfe6f4' }, amountCore), index.h("span", { key: 'ab392edfa8d9937509999e8e2b9505a067187c3e', class: shouldSuperscriptFraction ? 'superscript' : '' }, fraction), !currencyIsFront && (index.h("span", { key: 'da99205474d1b0a56b99e5ec7e22f5e9de83eb7b', class: shouldSuperscriptSymbol ? 'superscript' : '' }, currencySymbol)), signDisplay === 'accounting' && isNegativeAmount && index.h("span", { key: '106370ac78e71e829b94b85989bbcab42c356eef' }, ')'))));
145
145
  }
146
146
  get hostElement() { return index.getElement(this); }
147
147
  static get watchers() { return {