q2-tecton-elements 1.72.0 → 1.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/dist/bundle-report.json +38990 -33801
  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 +1 -1
  11. package/dist/cjs/q2-badge_2.cjs.entry.js +2 -2
  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 +2 -2
  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 +4 -4
  49. package/dist/cjs/q2-pill.cjs.entry.js +7 -4
  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 +1 -1
  74. package/dist/collection/components/q2-btn/q2-btn.css +84 -136
  75. package/dist/collection/components/q2-btn/q2-btn.js +10 -4
  76. package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js +99 -43
  77. package/dist/collection/components/q2-calendar/q2-calendar.js +16 -5
  78. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  79. package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js +3 -13
  80. package/dist/collection/components/q2-card-image/q2-card-image.js +2 -2
  81. package/dist/collection/components/q2-carousel/q2-carousel.js +19 -5
  82. package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js +32 -0
  83. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  84. package/dist/collection/components/q2-chart-area/q2-chart-area.css +11 -0
  85. package/dist/collection/components/q2-chart-area/q2-chart-area.js +53 -7
  86. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.vr.js +14 -0
  87. package/dist/collection/components/q2-chart-bar/q2-chart-bar.css +11 -0
  88. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +50 -4
  89. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.vr.js +14 -0
  90. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +30 -10
  91. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.vr.js +25 -0
  92. package/dist/collection/components/q2-checkbox/q2-checkbox.js +6 -3
  93. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +6 -3
  94. package/dist/collection/components/q2-context/q2-context.js +3 -3
  95. package/dist/collection/components/q2-context/test/q2-context-test.vr.js +3 -3
  96. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  97. package/dist/collection/components/q2-data-table/q2-data-table.css +3 -0
  98. package/dist/collection/components/q2-data-table/q2-data-table.js +5 -5
  99. package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js +47 -0
  100. package/dist/collection/components/q2-date-calendar/q2-date-calendar.css +393 -0
  101. package/dist/collection/components/q2-date-calendar/q2-date-calendar.js +1022 -0
  102. package/dist/collection/components/q2-date-calendar/test/q2-date-calendar-test.vr.js +111 -0
  103. package/dist/collection/components/q2-date-picker/q2-date-picker.css +138 -0
  104. package/dist/collection/components/q2-date-picker/q2-date-picker.js +2010 -0
  105. package/dist/collection/components/q2-date-picker/test/q2-date-picker-test.vr.js +179 -0
  106. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  107. package/dist/collection/components/q2-dropdown/q2-dropdown.js +5 -5
  108. package/dist/collection/components/q2-editable-field/q2-editable-field.js +27 -8
  109. package/dist/collection/components/q2-example/q2-example.js +1 -1
  110. package/dist/collection/components/q2-file-picker/q2-file-picker.js +1 -1
  111. package/dist/collection/components/q2-form/q2-form.js +1 -1
  112. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  113. package/dist/collection/components/q2-input/q2-input.js +6 -3
  114. package/dist/collection/components/q2-item/q2-item.js +19 -1
  115. package/dist/collection/components/q2-item/test/q2-item-test.vr.js +2 -2
  116. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  117. package/dist/collection/components/q2-list/q2-list.js +1 -1
  118. package/dist/collection/components/q2-message/q2-message.js +1 -1
  119. package/dist/collection/components/q2-meter/q2-meter.js +1 -1
  120. package/dist/collection/components/q2-modal/q2-modal.js +1 -1
  121. package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js +7 -7
  122. package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
  123. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  124. package/dist/collection/components/q2-option-list/q2-option-list.js +36 -4
  125. package/dist/collection/components/q2-otp/q2-otp.js +4 -4
  126. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  127. package/dist/collection/components/q2-pill/q2-pill.js +6 -3
  128. package/dist/collection/components/q2-popover/q2-popover.css +1 -0
  129. package/dist/collection/components/q2-popover/q2-popover.js +43 -8
  130. package/dist/collection/components/q2-radio/q2-radio.js +5 -2
  131. package/dist/collection/components/q2-radio-group/q2-radio-group.js +6 -3
  132. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  133. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  134. package/dist/collection/components/q2-search/q2-search.js +6 -3
  135. package/dist/collection/components/q2-section/q2-section.js +2 -2
  136. package/dist/collection/components/q2-select/q2-select.js +12 -5
  137. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  138. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
  139. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  140. package/dist/collection/components/q2-surface/q2-surface.js +1 -1
  141. package/dist/collection/components/q2-surface/test/q2-surface-test.vr.js +2 -2
  142. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  143. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  144. package/dist/collection/components/q2-tag/q2-tag.js +6 -3
  145. package/dist/collection/components/q2-textarea/q2-textarea.js +6 -3
  146. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.vr.js +1 -1
  147. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  148. package/dist/collection/utils/chart-keyboard.js +76 -0
  149. package/dist/collection/utils/date-picker/date-picker-helpers.js +239 -0
  150. package/dist/collection/utils/date-picker/date-picker-types.js +1 -0
  151. package/dist/collection/utils/index.js +1 -1
  152. package/dist/components/charting.js +1603 -1532
  153. package/dist/components/dataSample.js +7 -7
  154. package/dist/components/index.js +57 -53
  155. package/dist/components/index2.js +2 -2
  156. package/dist/components/q2-action-sheet.js +224 -103
  157. package/dist/components/q2-avatar2.js +8 -8
  158. package/dist/components/q2-btn2.js +2 -2
  159. package/dist/components/q2-calendar.js +6 -3
  160. package/dist/components/q2-card-image.js +2 -2
  161. package/dist/components/q2-carousel-pane2.js +3 -3
  162. package/dist/components/q2-carousel.js +37 -24
  163. package/dist/components/q2-chart-area.js +415 -369
  164. package/dist/components/q2-chart-bar.js +193 -148
  165. package/dist/components/q2-chart-donut.js +185 -158
  166. package/dist/components/q2-checkbox-group.js +6 -6
  167. package/dist/components/q2-checkbox2.js +11 -11
  168. package/dist/components/q2-context.js +20 -20
  169. package/dist/components/q2-currency.js +9 -9
  170. package/dist/components/q2-data-table.js +111 -111
  171. package/dist/components/q2-date-calendar.d.ts +11 -0
  172. package/dist/components/q2-date-calendar.js +5 -0
  173. package/dist/components/q2-date-calendar2.js +678 -0
  174. package/dist/components/q2-date-picker.d.ts +11 -0
  175. package/dist/components/q2-date-picker.js +5 -0
  176. package/dist/components/q2-date-picker2.js +875 -0
  177. package/dist/components/q2-detail.js +3 -3
  178. package/dist/components/q2-dropdown.js +17 -17
  179. package/dist/components/q2-editable-field.js +16 -5
  180. package/dist/components/q2-example.js +11 -11
  181. package/dist/components/q2-file-picker.js +1 -1
  182. package/dist/components/q2-form.js +6 -6
  183. package/dist/components/q2-formatted-text.js +2 -2
  184. package/dist/components/q2-input2.js +5 -5
  185. package/dist/components/q2-item2.js +32 -22
  186. package/dist/components/q2-legend2.js +7 -7
  187. package/dist/components/q2-list2.js +6 -6
  188. package/dist/components/q2-message2.js +9 -9
  189. package/dist/components/q2-meter.js +7 -7
  190. package/dist/components/q2-modal.js +22 -22
  191. package/dist/components/q2-month-picker.js +17 -17
  192. package/dist/components/q2-mutation-observer.js +1 -1
  193. package/dist/components/q2-optgroup2.js +7 -7
  194. package/dist/components/q2-option-list2.js +55 -34
  195. package/dist/components/q2-otp.js +8 -8
  196. package/dist/components/q2-pagination.js +67 -67
  197. package/dist/components/q2-pill.js +16 -14
  198. package/dist/components/q2-popover2.js +70 -49
  199. package/dist/components/q2-radio-group.js +7 -7
  200. package/dist/components/q2-radio.js +6 -6
  201. package/dist/components/q2-relative-time.js +1 -1
  202. package/dist/components/q2-resize-observer2.js +23 -23
  203. package/dist/components/q2-search.js +5 -5
  204. package/dist/components/q2-section.js +19 -19
  205. package/dist/components/q2-select2.js +2 -2
  206. package/dist/components/q2-stepper-pane.js +9 -9
  207. package/dist/components/q2-stepper-vertical.js +4 -4
  208. package/dist/components/q2-stepper.js +57 -57
  209. package/dist/components/q2-surface.js +3 -3
  210. package/dist/components/q2-tab-container.js +17 -17
  211. package/dist/components/q2-tab-pane.js +2 -2
  212. package/dist/components/q2-tag2.js +8 -6
  213. package/dist/components/q2-textarea.js +3 -3
  214. package/dist/components/sectorHelper.js +78 -78
  215. package/dist/components/tecton-tab-pane.js +10 -10
  216. package/dist/esm/{charting-DOZct-UB.js → charting-DFXJklqs.js} +79 -1
  217. package/dist/esm/click-elsewhere_3.entry.js +81 -14
  218. package/dist/esm/{dataSample-Dm1zpQNi.js → dataSample-CP_VKNqt.js} +1 -1
  219. package/dist/esm/date-picker-helpers-D8QnN_AS.js +242 -0
  220. package/dist/esm/{index-DJw6Feh0.js → index-CP8pXJ-l.js} +1 -1
  221. package/dist/esm/loader.js +1 -1
  222. package/dist/esm/q2-action-group.entry.js +1 -1
  223. package/dist/esm/q2-action-sheet.entry.js +99 -19
  224. package/dist/esm/q2-avatar.entry.js +1 -1
  225. package/dist/esm/q2-badge_2.entry.js +2 -2
  226. package/dist/esm/q2-btn_2.entry.js +2 -2
  227. package/dist/esm/q2-calendar.entry.js +9 -4
  228. package/dist/esm/q2-card-image.entry.js +3 -3
  229. package/dist/esm/q2-card.entry.js +1 -1
  230. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  231. package/dist/esm/q2-carousel.entry.js +20 -6
  232. package/dist/esm/q2-chart-area.entry.js +38 -7
  233. package/dist/esm/q2-chart-bar.entry.js +39 -8
  234. package/dist/esm/q2-chart-donut.entry.js +31 -13
  235. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  236. package/dist/esm/q2-checkbox_2.entry.js +8 -5
  237. package/dist/esm/q2-context.entry.js +4 -4
  238. package/dist/esm/q2-currency.entry.js +1 -1
  239. package/dist/esm/q2-data-table.entry.js +7 -7
  240. package/dist/esm/q2-date-calendar.entry.js +450 -0
  241. package/dist/esm/q2-date-picker_2.entry.js +965 -0
  242. package/dist/esm/q2-detail.entry.js +2 -2
  243. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  244. package/dist/esm/q2-dropdown.entry.js +3 -3
  245. package/dist/esm/q2-editable-field.entry.js +20 -7
  246. package/dist/esm/q2-example.entry.js +1 -1
  247. package/dist/esm/q2-file-picker.entry.js +2 -2
  248. package/dist/esm/q2-form.entry.js +1 -1
  249. package/dist/esm/q2-formatted-text.entry.js +1 -1
  250. package/dist/esm/q2-icon.entry.js +1 -1
  251. package/dist/esm/q2-item.entry.js +20 -2
  252. package/dist/esm/q2-legend.entry.js +1 -1
  253. package/dist/esm/q2-link_2.entry.js +2 -2
  254. package/dist/esm/q2-loc.entry.js +1 -1
  255. package/dist/esm/q2-message.entry.js +2 -2
  256. package/dist/esm/q2-meter.entry.js +2 -2
  257. package/dist/esm/q2-modal.entry.js +2 -2
  258. package/dist/esm/q2-month-picker.entry.js +3 -3
  259. package/dist/esm/q2-mutation-observer.entry.js +1 -1
  260. package/dist/esm/q2-option.entry.js +1 -1
  261. package/dist/esm/q2-otp.entry.js +5 -5
  262. package/dist/esm/q2-pagination.entry.js +4 -4
  263. package/dist/esm/q2-pill.entry.js +7 -4
  264. package/dist/esm/q2-radio-group.entry.js +2 -2
  265. package/dist/esm/q2-radio.entry.js +2 -2
  266. package/dist/esm/q2-relative-time.entry.js +2 -2
  267. package/dist/esm/q2-resize-observer.entry.js +1 -1
  268. package/dist/esm/q2-search.entry.js +3 -3
  269. package/dist/esm/q2-section.entry.js +3 -3
  270. package/dist/esm/q2-select.entry.js +8 -4
  271. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  272. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  273. package/dist/esm/q2-stepper.entry.js +2 -2
  274. package/dist/esm/q2-surface.entry.js +1 -1
  275. package/dist/esm/q2-tab-container.entry.js +2 -2
  276. package/dist/esm/q2-tab-pane.entry.js +1 -1
  277. package/dist/esm/q2-tecton-elements.js +1 -1
  278. package/dist/esm/q2-textarea.entry.js +2 -2
  279. package/dist/esm/q2-toast.entry.js +1 -1
  280. package/dist/esm/q2-tooltip.entry.js +1 -1
  281. package/dist/esm/{sectorHelper--RMGWGAy.js → sectorHelper-DBtkWtpl.js} +1 -1
  282. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  283. package/dist/q2-tecton-elements/{charting-DOZct-UB.js → charting-DFXJklqs.js} +1625 -1554
  284. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +85 -43
  285. package/dist/q2-tecton-elements/{dataSample-Dm1zpQNi.js → dataSample-CP_VKNqt.js} +33 -33
  286. package/dist/q2-tecton-elements/date-picker-helpers-D8QnN_AS.js +153 -0
  287. package/dist/q2-tecton-elements/{index-DJw6Feh0.js → index-CP8pXJ-l.js} +1 -1
  288. package/dist/q2-tecton-elements/q2-action-group.entry.js +1 -1
  289. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +169 -84
  290. package/dist/q2-tecton-elements/q2-avatar.entry.js +8 -8
  291. package/dist/q2-tecton-elements/q2-badge_2.entry.js +5 -5
  292. package/dist/q2-tecton-elements/q2-btn_2.entry.js +23 -23
  293. package/dist/q2-tecton-elements/q2-calendar.entry.js +7 -4
  294. package/dist/q2-tecton-elements/q2-card-image.entry.js +3 -3
  295. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  296. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +4 -4
  297. package/dist/q2-tecton-elements/q2-carousel.entry.js +24 -11
  298. package/dist/q2-tecton-elements/q2-chart-area.entry.js +187 -141
  299. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +377 -333
  300. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +184 -158
  301. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +7 -7
  302. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +20 -18
  303. package/dist/q2-tecton-elements/q2-context.entry.js +21 -21
  304. package/dist/q2-tecton-elements/q2-currency.entry.js +9 -9
  305. package/dist/q2-tecton-elements/q2-data-table.entry.js +7 -7
  306. package/dist/q2-tecton-elements/q2-date-calendar.entry.js +438 -0
  307. package/dist/q2-tecton-elements/q2-date-picker_2.entry.js +792 -0
  308. package/dist/q2-tecton-elements/q2-detail.entry.js +4 -4
  309. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  310. package/dist/q2-tecton-elements/q2-dropdown.entry.js +16 -16
  311. package/dist/q2-tecton-elements/q2-editable-field.entry.js +17 -6
  312. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  313. package/dist/q2-tecton-elements/q2-file-picker.entry.js +2 -2
  314. package/dist/q2-tecton-elements/q2-form.entry.js +2 -2
  315. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  316. package/dist/q2-tecton-elements/q2-icon.entry.js +1 -1
  317. package/dist/q2-tecton-elements/q2-item.entry.js +26 -16
  318. package/dist/q2-tecton-elements/q2-legend.entry.js +2 -2
  319. package/dist/q2-tecton-elements/q2-link_2.entry.js +7 -7
  320. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  321. package/dist/q2-tecton-elements/q2-message.entry.js +28 -28
  322. package/dist/q2-tecton-elements/q2-meter.entry.js +8 -8
  323. package/dist/q2-tecton-elements/q2-modal.entry.js +18 -18
  324. package/dist/q2-tecton-elements/q2-month-picker.entry.js +14 -14
  325. package/dist/q2-tecton-elements/q2-mutation-observer.entry.js +1 -1
  326. package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
  327. package/dist/q2-tecton-elements/q2-otp.entry.js +9 -9
  328. package/dist/q2-tecton-elements/q2-pagination.entry.js +20 -20
  329. package/dist/q2-tecton-elements/q2-pill.entry.js +42 -40
  330. package/dist/q2-tecton-elements/q2-radio-group.entry.js +8 -8
  331. package/dist/q2-tecton-elements/q2-radio.entry.js +7 -7
  332. package/dist/q2-tecton-elements/q2-relative-time.entry.js +5 -5
  333. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +13 -13
  334. package/dist/q2-tecton-elements/q2-search.entry.js +6 -6
  335. package/dist/q2-tecton-elements/q2-section.entry.js +20 -20
  336. package/dist/q2-tecton-elements/q2-select.entry.js +3 -3
  337. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +13 -13
  338. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +9 -9
  339. package/dist/q2-tecton-elements/q2-stepper.entry.js +45 -45
  340. package/dist/q2-tecton-elements/q2-surface.entry.js +3 -3
  341. package/dist/q2-tecton-elements/q2-tab-container.entry.js +20 -20
  342. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +7 -7
  343. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  344. package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -3
  345. package/dist/q2-tecton-elements/q2-toast.entry.js +1 -1
  346. package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
  347. package/dist/q2-tecton-elements/{sectorHelper--RMGWGAy.js → sectorHelper-DBtkWtpl.js} +56 -56
  348. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
  349. package/dist/types/components/q2-action-sheet/q2-action-sheet.d.ts +21 -1
  350. package/dist/types/components/q2-action-sheet/test/q2-action-sheet-test.vr.d.ts +1 -0
  351. package/dist/types/components/q2-btn/q2-btn.d.ts +7 -3
  352. package/dist/types/components/q2-calendar/q2-calendar.d.ts +10 -2
  353. package/dist/types/components/q2-carousel/q2-carousel.d.ts +5 -0
  354. package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +11 -2
  355. package/dist/types/components/q2-chart-bar/q2-chart-bar.d.ts +9 -0
  356. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +1 -0
  357. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +4 -3
  358. package/dist/types/components/q2-checkbox-group/q2-checkbox-group.d.ts +4 -2
  359. package/dist/types/components/q2-date-calendar/q2-date-calendar.d.ts +122 -0
  360. package/dist/types/components/q2-date-calendar/test/q2-date-calendar-test.vr.d.ts +1 -0
  361. package/dist/types/components/q2-date-picker/q2-date-picker.d.ts +304 -0
  362. package/dist/types/components/q2-date-picker/test/q2-date-picker-test.vr.d.ts +1 -0
  363. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +3 -3
  364. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +14 -1
  365. package/dist/types/components/q2-input/q2-input.d.ts +4 -2
  366. package/dist/types/components/q2-item/q2-item.d.ts +3 -0
  367. package/dist/types/components/q2-option-list/q2-option-list.d.ts +1 -0
  368. package/dist/types/components/q2-popover/q2-popover.d.ts +4 -0
  369. package/dist/types/components/q2-radio/q2-radio.d.ts +3 -2
  370. package/dist/types/components/q2-radio-group/q2-radio-group.d.ts +4 -2
  371. package/dist/types/components/q2-search/q2-search.d.ts +3 -1
  372. package/dist/types/components/q2-select/q2-select.d.ts +4 -2
  373. package/dist/types/components/q2-textarea/q2-textarea.d.ts +4 -2
  374. package/dist/types/components.d.ts +858 -49
  375. package/dist/types/global.d.ts +1 -0
  376. package/dist/types/index.d.ts +1 -0
  377. package/dist/types/utils/chart-keyboard.d.ts +16 -0
  378. package/dist/types/utils/date-picker/date-picker-helpers.d.ts +47 -0
  379. package/dist/types/utils/date-picker/date-picker-types.d.ts +42 -0
  380. package/package.json +3 -3
  381. package/dist/cjs/q2-optgroup.cjs.entry.js +0 -70
  382. package/dist/esm/q2-optgroup.entry.js +0 -68
  383. package/dist/q2-tecton-elements/q2-optgroup.entry.js +0 -88
@@ -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: 'a18af83301ac8bf08d1638b05d4dd8795f11cd46' }, index.h("click-elsewhere", { key: '130d173a4bf53dd6eec1775944d910c630e704ae', 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: '07bf52f6b4d8c4bbf42e90e69ff9a9deec82810b', 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: 'eefdf7202c269194a9753e438b4c6060984ba33e', 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: '3067ac9beee239562c410d7dfe4af04c651ef8ae' })))))));
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 {
@@ -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
6
 
7
- const q2DataTableCss = () => `*{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{display:block}.container{--comp-cell-padding:var(--tct-data-table-cell-padding, var(--tct-table-cell-padding, var(--app-scale-3x, 15px)));--comp-select-column-width:var(--tct-data-table-select-column-width, var(--tct-table-select-column-width, var(--tct-checkbox-size, 20px)));--comp-dropdown-column-width:var(--tct-data-table-dropdown-column-width, var(--tct-table-dropdown-column-width, var(--tct-btn-icon-width, 44px)));--comp-expandable-row-control-column-width:var(--tct-data-table-expandable-row-control-column-width, var(--tct-table-expandable-row-control-column-width, var(--tct-btn-icon-width, 44px)));overflow:auto;--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 4px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}.container::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.container::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.container::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}:host([shadowed]:not([shadowed=false])) .container{box-shadow:var(--tct-data-table-shadow, var(--tct-table-shadow, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14))))}:host([density=compact]) .container{--comp-cell-padding:var(--tct-data-table-cell-padding-compact, var(--tct-table-cell-padding-compact, var(--app-scale-1x, 5px)))}:host([density=comfortable]) .container{--comp-cell-padding:var(--tct-data-table-cell-padding-comfortable, var(--tct-table-cell-padding-comfortable, var(--app-scale-5x, 25px)))}:host([sticky]:not([sticky=false])) .container{overflow:unset}table{table-layout:var(--tct-data-table-layout, var(--tct-table-layout, auto));border-collapse:collapse;border-spacing:0;width:var(--tct-data-table-width, var(--tct-table-width));min-width:100%;background:var(--tct-data-table-background, var(--tct-table-background, var(--t-base, #ffffff)));backdrop-filter:var(--tct-data-table-backdrop-filter, none);caption-side:var(--tct-data-table-caption-side, var(--tct-table-caption-side, bottom))}thead{border-width:var(--tct-data-table-header-border-width, var(--tct-table-header-border-width, 0 0 2px 0));border-style:var(--tct-data-table-header-border-style, var(--tct-table-header-border-style, solid));border-color:var(--tct-data-table-header-border-color, var(--tct-table-header-border-color, var(--t-gray-9, #999999)));background:var(--tct-data-table-header-background, var(--tct-table-header-background))}:host([sticky]:not([sticky=false])) thead{position:sticky;top:var(--tct-data-table-sticky-header-top, 0px);background:var(--tct-data-table-sticky-header-background, var(--tct-table-background, var(--t-base, #ffffff)))}col.status-column{width:var(--tct-data-table-status-column-width, 36px)}col.select-column{width:var(--comp-select-column-width)}col.expandable-row-control-column{width:var(--comp-expandable-row-control-column-width)}col.dropdown-column{width:var(--comp-dropdown-column-width)}:host(:is([bordered=vertical],[bordered=grid])) col{border-width:var(--tct-data-table-column-border-width, 0 1px 0 0);border-style:var(--tct-data-table-column-border-style, solid);border-color:var(--tct-data-table-column-border-color, var(--t-gray-9, #999999))}:host(:is([bordered=vertical],[bordered=grid])) col:last-child{border:none}td,th{padding:var(--comp-cell-padding);text-align:start;vertical-align:middle}td.status-column+:is(td,th),th.status-column+:is(td,th){padding-left:0}td.align-end,th.align-end{text-align:end}td.align-center,th.align-center{text-align:center}td.vertical-align-top,th.vertical-align-top{vertical-align:top}td.vertical-align-bottom,th.vertical-align-bottom{vertical-align:bottom}th .header-content{font-weight:var(--tct-data-table-header-font-weight, var(--tct-table-header-font-weight, 600));font-size:var(--tct-data-table-header-font-size, var(--app-font-size, var(--const-px-14, 14px)))}th.sorted .header-content{font-weight:var(--tct-data-table-header-sorted-font-weight, var(--tct-table-header-sorted-font-weight, 600))}th .sorted-indicator{--comp-header-sortable-icon-size:var(--tct-data-table-header-sortable-icon-size, var(--tct-table-header-sortable-icon-size, var(--app-scale-3x, 15px)));--tct-icon-stroke-width:2;width:var(--comp-header-sortable-icon-size);height:var(--comp-header-sortable-icon-size)}th .sorted-indicator.direction-ASC{transform:rotate(180deg)}th q2-btn .header-content{display:flex;align-items:center;gap:var(--tct-data-table-header-content-gap, var(--tct-table-header-content-gap, var(--app-scale-2x, 10px)))}tr{position:relative}tr.expandable,tr.clickable{cursor:pointer}tr.expandable:focus,tr.clickable:focus{outline:none;box-shadow:none}tr.expandable{--tct-btn-icon-hover-background:transparent}tr.expandable:hover{background:var(--tct-data-table-expandable-row-hover-background, var(--t-gray-14, #f2f2f2))}tr.striped-even{background:var(--tct-data-table-row-even-background, var(--t-gray-14, #f2f2f2))}tr.striped-even.expanded{background:var(--tct-data-table-expanded-row-even-background, var(--tct-data-table-expanded-row-background, var(--t-gray-14, #f2f2f2)))}tr.striped-even.expandable:hover{background:var(--tct-data-table-expandable-row-even-hover-background, var(--tct-data-table-expandable-row-hover-background, var(--t-gray-14, #f2f2f2)))}tr.striped-odd{background:var(--tct-data-table-row-odd-background, transparent)}tr.striped-odd.expanded{background:var(--tct-data-table-expanded-row-odd-background, var(--tct-data-table-expanded-row-background, var(--t-gray-14, transparent)))}tr.striped-odd.expandable:hover{background:var(--tct-data-table-expandable-row-odd-hover-background, var(--tct-data-table-expandable-row-hover-background, var(--t-gray-14, #f2f2f2)))}tr.clickable:hover{background:var(--tct-data-table-clickable-row-hover-background, var(--tct-table-clickable-row-hover-background, var(--t-gray-14, #f2f2f2)))}tr.selected{background:var(--tct-data-table-selected-row-background, var(--tct-table-selected-row-background, var(--t-gray-14, #f2f2f2)))}tr.expanded{background:var(--tct-data-table-expanded-row-background, var(--tct-table-expanded-row-background, var(--t-gray-14, #f2f2f2)))}tr.expanded .toggle-expandable-row{transform:rotate(180deg)}:host(:is([bordered],[bordered=horizontal],[bordered=grid]):not([bordered=vertical],[bordered=false])) tbody tr{border-width:var(--tct-data-table-row-border-width, var(--tct-table-row-border-width, 0 0 1px 0));border-style:var(--tct-data-table-row-border-style, var(--tct-table-row-border-style, solid));border-color:var(--tct-data-table-row-border-color, var(--tct-table-row-border-color, var(--t-gray-9, #999999)))}tr.loading-row{background:var(--tct-data-table-loading-row-background, var(--tct-table-loading-row-background, var(--t-base, #ffffff)))}tr.loading-row td{text-align:center}tr.loading-row q2-loading{font-size:4em}tr.empty-state{background:var(--tct-data-table-loading-row-background, var(--t-base, #ffffff))}tr.empty-state td{text-align:center}tr.empty-state .empty-state-content{display:flex;flex-direction:column;align-items:center;padding-top:var(--app-scale-10x, 50px);padding-bottom:var(--app-scale-10x, 50px);gap:var(--app-scale-4x, 20px);--tct-icon-size:var(--app-scale-6x, 30px)}tr:is(.status,.expanded.status,.expandable-row.status) td:first-child::before{content:"";position:absolute;left:0;width:var(--tct-data-table-row-status-border-width, var(--app-scale-1x, 5px));border-radius:var(--tct-data-table-row-status-border-radius, var(--app-border-radius-5, 24px))}tr.status td:first-child::before{top:var(--tct-data-table-row-status-border-top, var(--app-scale-1x, 5px));bottom:var(--tct-data-table-row-status-border-bottom, var(--app-scale-1x, 5px))}tr.expanded.status td:first-child::before{bottom:-1px;border-bottom-right-radius:0;border-bottom-left-radius:0}tr.expandable-row.status td:first-child::before{top:-1px;bottom:var(--tct-data-table-row-status-border-bottom, var(--app-scale-1x, 5px));border-top-right-radius:0;border-top-left-radius:0}tr.status-info td:first-child::before{background:var(--tct-data-table-row-status-border-info-color, var(--const-stoplight-info, #0077cc))}tr.status-alert td:first-child::before{background:var(--tct-data-table-row-status-border-alert-color, var(--const-stoplight-alert, #cc0000))}tr.status-error td:first-child::before{background:var(--tct-data-table-row-status-border-error-color, var(--const-stoplight-alert, #cc0000))}tr.status-warning td:first-child::before{background:var(--tct-data-table-row-status-border-warning-color, var(--const-stoplight-warning, #cc7700))}tr.status-success td:first-child::before{background:var(--tct-data-table-row-status-border-success-color, var(--const-stoplight-success, #007700))}tr.expandable-row{background:var(--tct-data-table-expanded-row-background, var(--tct-table-expanded-row-background, var(--t-gray-14, #f2f2f2)))}.striped-odd+tr.expandable-row{background:var(--tct-data-table-expanded-row-odd-background, var(--tct-data-table-expanded-row-background, var(--t-gray-14, transparent)))}.striped-even+tr.expandable-row{background:var(--tct-data-table-expanded-row-even-background, var(--tct-data-table-expanded-row-background, var(--t-gray-14, transparent)))}td{font-size:var(--tct-data-table-cell-font-size, inherit)}td.status-column{position:relative;padding:0;text-align:center;vertical-align:middle;line-height:0}td.status-column q2-icon{--tct-icon-size:var(--tct-data-table-status-icon-size, 18px)}td.clamped div{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--comp-line-clamp-count, 1);-webkit-box-orient:vertical}td.expandable-row-control-column{--tct-icon-size:var(--tct-data-table-action-icon-size, var(--const-px-18, 18px));--tct-btn-icon-hover-bg:transparent;padding:var(--tct-data-table-expandable-row-control-column-padding, var(--tct-table-expandable-row-control-column-padding, 0 5px));text-align:center}td.dropdown-column{--tct-icon-size:var(--tct-data-table-action-icon-size, var(--const-px-18, 18px));padding:var(--tct-data-table-dropdown-column-padding, var(--tct-table-dropdown-column-padding, 0 5px));text-align:center}td.click-column:not(.sr){padding:var(--tct-data-table-clickable-column-padding, var(--tct-table-clickable-column-padding, 0 5px));text-align:center}caption{padding:var(--tct-data-table-caption-padding, var(--tct-table-caption-padding, var(--app-scale-2x, 10px)));font-size:var(--tct-data-table-caption-font-size, var(--tct-table-caption-font-size, inherit));font-weight:var(--tct-data-table-caption-font-weight, var(--tct-table-caption-font-weight, 600));text-align:var(--tct-data-table-caption-text-align, var(--tct-table-caption-text-align, center));color:var(--tct-data-table-caption-color, var(--tct-table-caption-color, inherit))}q2-checkbox{padding:0}.tag-table{display:flex;justify-content:center;flex-wrap:wrap;row-gap:var(--app-scale-2x);column-gap:var(--app-scale-2x)}.tag-table q2-tag{--tct-tag-font-size:var(--app-font-size, var(--const-px-14, 14px));--tct-tag-padding-inline:var(--app-scale-2x, 10px);--tct-tag-height:var(--app-scale-4x, 20px);--tct-tag-margin:0}`;
7
+ const q2DataTableCss = () => `*{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{display:block}.container{--comp-cell-padding:var(--tct-data-table-cell-padding, var(--tct-table-cell-padding, var(--app-scale-3x, 15px)));--comp-select-column-width:var(--tct-data-table-select-column-width, var(--tct-table-select-column-width, var(--tct-checkbox-size, 20px)));--comp-dropdown-column-width:var(--tct-data-table-dropdown-column-width, var(--tct-table-dropdown-column-width, var(--tct-btn-icon-width, 44px)));--comp-expandable-row-control-column-width:var(--tct-data-table-expandable-row-control-column-width, var(--tct-table-expandable-row-control-column-width, var(--tct-btn-icon-width, 44px)));overflow:auto;--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 4px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}.container::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.container::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.container::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}:host([shadowed]:not([shadowed=false])) .container{box-shadow:var(--tct-data-table-shadow, var(--tct-table-shadow, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14))))}:host([density=compact]) .container{--comp-cell-padding:var(--tct-data-table-cell-padding-compact, var(--tct-table-cell-padding-compact, var(--app-scale-1x, 5px)))}:host([density=comfortable]) .container{--comp-cell-padding:var(--tct-data-table-cell-padding-comfortable, var(--tct-table-cell-padding-comfortable, var(--app-scale-5x, 25px)))}:host([sticky]:not([sticky=false])) .container{overflow:unset}table{table-layout:var(--tct-data-table-layout, var(--tct-table-layout, auto));border-collapse:collapse;border-spacing:0;width:var(--tct-data-table-width, var(--tct-table-width));min-width:100%;background:var(--tct-data-table-background, var(--tct-table-background, var(--t-base, #ffffff)));backdrop-filter:var(--tct-data-table-backdrop-filter, none);caption-side:var(--tct-data-table-caption-side, var(--tct-table-caption-side, bottom))}thead{border-width:var(--tct-data-table-header-border-width, var(--tct-table-header-border-width, 0 0 2px 0));border-style:var(--tct-data-table-header-border-style, var(--tct-table-header-border-style, solid));border-color:var(--tct-data-table-header-border-color, var(--tct-table-header-border-color, var(--t-gray-9, #999999)));background:var(--tct-data-table-header-background, var(--tct-table-header-background))}:host([sticky]:not([sticky=false])) thead{position:sticky;top:var(--tct-data-table-sticky-header-top, 0px);z-index:1;border-color:transparent;background:var(--tct-data-table-sticky-header-background, var(--tct-table-background, var(--t-base, #ffffff)));box-shadow:0 var(--tct-data-table-sticky-header-border-bottom-width, 1px) 0 var(--tct-data-table-header-border-color, var(--tct-table-header-border-color, var(--t-gray-9, #999999)))}col.status-column{width:var(--tct-data-table-status-column-width, 36px)}col.select-column{width:var(--comp-select-column-width)}col.expandable-row-control-column{width:var(--comp-expandable-row-control-column-width)}col.dropdown-column{width:var(--comp-dropdown-column-width)}:host(:is([bordered=vertical],[bordered=grid])) col{border-width:var(--tct-data-table-column-border-width, 0 1px 0 0);border-style:var(--tct-data-table-column-border-style, solid);border-color:var(--tct-data-table-column-border-color, var(--t-gray-9, #999999))}:host(:is([bordered=vertical],[bordered=grid])) col:last-child{border:none}td,th{padding:var(--comp-cell-padding);text-align:start;vertical-align:middle}td.status-column+:is(td,th),th.status-column+:is(td,th){padding-left:0}td.align-end,th.align-end{text-align:end}td.align-center,th.align-center{text-align:center}td.vertical-align-top,th.vertical-align-top{vertical-align:top}td.vertical-align-bottom,th.vertical-align-bottom{vertical-align:bottom}th .header-content{font-weight:var(--tct-data-table-header-font-weight, var(--tct-table-header-font-weight, 600));font-size:var(--tct-data-table-header-font-size, var(--app-font-size, var(--const-px-14, 14px)))}th.sorted .header-content{font-weight:var(--tct-data-table-header-sorted-font-weight, var(--tct-table-header-sorted-font-weight, 600))}th .sorted-indicator{--comp-header-sortable-icon-size:var(--tct-data-table-header-sortable-icon-size, var(--tct-table-header-sortable-icon-size, var(--app-scale-3x, 15px)));--tct-icon-stroke-width:2;width:var(--comp-header-sortable-icon-size);height:var(--comp-header-sortable-icon-size)}th .sorted-indicator.direction-ASC{transform:rotate(180deg)}th q2-btn .header-content{display:flex;align-items:center;gap:var(--tct-data-table-header-content-gap, var(--tct-table-header-content-gap, var(--app-scale-2x, 10px)))}tr{position:relative}tr.expandable,tr.clickable{cursor:pointer}tr.expandable:focus,tr.clickable:focus{outline:none;box-shadow:none}tr.expandable{--tct-btn-icon-hover-background:transparent}tr.expandable:hover{background:var(--tct-data-table-expandable-row-hover-background, var(--t-gray-14, #f2f2f2))}tr.striped-even{background:var(--tct-data-table-row-even-background, var(--t-gray-14, #f2f2f2))}tr.striped-even.expanded{background:var(--tct-data-table-expanded-row-even-background, var(--tct-data-table-expanded-row-background, var(--t-gray-14, #f2f2f2)))}tr.striped-even.expandable:hover{background:var(--tct-data-table-expandable-row-even-hover-background, var(--tct-data-table-expandable-row-hover-background, var(--t-gray-14, #f2f2f2)))}tr.striped-odd{background:var(--tct-data-table-row-odd-background, transparent)}tr.striped-odd.expanded{background:var(--tct-data-table-expanded-row-odd-background, var(--tct-data-table-expanded-row-background, var(--t-gray-14, transparent)))}tr.striped-odd.expandable:hover{background:var(--tct-data-table-expandable-row-odd-hover-background, var(--tct-data-table-expandable-row-hover-background, var(--t-gray-14, #f2f2f2)))}tr.clickable:hover{background:var(--tct-data-table-clickable-row-hover-background, var(--tct-table-clickable-row-hover-background, var(--t-gray-14, #f2f2f2)))}tr.selected{background:var(--tct-data-table-selected-row-background, var(--tct-table-selected-row-background, var(--t-gray-14, #f2f2f2)))}tr.expanded{background:var(--tct-data-table-expanded-row-background, var(--tct-table-expanded-row-background, var(--t-gray-14, #f2f2f2)))}tr.expanded .toggle-expandable-row{transform:rotate(180deg)}:host(:is([bordered],[bordered=horizontal],[bordered=grid]):not([bordered=vertical],[bordered=false])) tbody tr{border-width:var(--tct-data-table-row-border-width, var(--tct-table-row-border-width, 0 0 1px 0));border-style:var(--tct-data-table-row-border-style, var(--tct-table-row-border-style, solid));border-color:var(--tct-data-table-row-border-color, var(--tct-table-row-border-color, var(--t-gray-9, #999999)))}tr.loading-row{background:var(--tct-data-table-loading-row-background, var(--tct-table-loading-row-background, var(--t-base, #ffffff)))}tr.loading-row td{text-align:center}tr.loading-row q2-loading{font-size:4em}tr.empty-state{background:var(--tct-data-table-loading-row-background, var(--t-base, #ffffff))}tr.empty-state td{text-align:center}tr.empty-state .empty-state-content{display:flex;flex-direction:column;align-items:center;padding-top:var(--app-scale-10x, 50px);padding-bottom:var(--app-scale-10x, 50px);gap:var(--app-scale-4x, 20px);--tct-icon-size:var(--app-scale-6x, 30px)}tr:is(.status,.expanded.status,.expandable-row.status) td:first-child::before{content:"";position:absolute;left:0;width:var(--tct-data-table-row-status-border-width, var(--app-scale-1x, 5px));border-radius:var(--tct-data-table-row-status-border-radius, var(--app-border-radius-5, 24px))}tr.status td:first-child::before{top:var(--tct-data-table-row-status-border-top, var(--app-scale-1x, 5px));bottom:var(--tct-data-table-row-status-border-bottom, var(--app-scale-1x, 5px))}tr.expanded.status td:first-child::before{bottom:-1px;border-bottom-right-radius:0;border-bottom-left-radius:0}tr.expandable-row.status td:first-child::before{top:-1px;bottom:var(--tct-data-table-row-status-border-bottom, var(--app-scale-1x, 5px));border-top-right-radius:0;border-top-left-radius:0}tr.status-info td:first-child::before{background:var(--tct-data-table-row-status-border-info-color, var(--const-stoplight-info, #0077cc))}tr.status-alert td:first-child::before{background:var(--tct-data-table-row-status-border-alert-color, var(--const-stoplight-alert, #cc0000))}tr.status-error td:first-child::before{background:var(--tct-data-table-row-status-border-error-color, var(--const-stoplight-alert, #cc0000))}tr.status-warning td:first-child::before{background:var(--tct-data-table-row-status-border-warning-color, var(--const-stoplight-warning, #cc7700))}tr.status-success td:first-child::before{background:var(--tct-data-table-row-status-border-success-color, var(--const-stoplight-success, #007700))}tr.expandable-row{background:var(--tct-data-table-expanded-row-background, var(--tct-table-expanded-row-background, var(--t-gray-14, #f2f2f2)))}.striped-odd+tr.expandable-row{background:var(--tct-data-table-expanded-row-odd-background, var(--tct-data-table-expanded-row-background, var(--t-gray-14, transparent)))}.striped-even+tr.expandable-row{background:var(--tct-data-table-expanded-row-even-background, var(--tct-data-table-expanded-row-background, var(--t-gray-14, transparent)))}td{font-size:var(--tct-data-table-cell-font-size, inherit)}td.status-column{position:relative;padding:0;text-align:center;vertical-align:middle;line-height:0}td.status-column q2-icon{--tct-icon-size:var(--tct-data-table-status-icon-size, 18px)}td.clamped div{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--comp-line-clamp-count, 1);-webkit-box-orient:vertical}td.expandable-row-control-column{--tct-icon-size:var(--tct-data-table-action-icon-size, var(--const-px-18, 18px));--tct-btn-icon-hover-bg:transparent;padding:var(--tct-data-table-expandable-row-control-column-padding, var(--tct-table-expandable-row-control-column-padding, 0 5px));text-align:center}td.dropdown-column{--tct-icon-size:var(--tct-data-table-action-icon-size, var(--const-px-18, 18px));padding:var(--tct-data-table-dropdown-column-padding, var(--tct-table-dropdown-column-padding, 0 5px));text-align:center}td.click-column:not(.sr){padding:var(--tct-data-table-clickable-column-padding, var(--tct-table-clickable-column-padding, 0 5px));text-align:center}caption{padding:var(--tct-data-table-caption-padding, var(--tct-table-caption-padding, var(--app-scale-2x, 10px)));font-size:var(--tct-data-table-caption-font-size, var(--tct-table-caption-font-size, inherit));font-weight:var(--tct-data-table-caption-font-weight, var(--tct-table-caption-font-weight, 600));text-align:var(--tct-data-table-caption-text-align, var(--tct-table-caption-text-align, center));color:var(--tct-data-table-caption-color, var(--tct-table-caption-color, inherit))}q2-checkbox{padding:0}.tag-table{display:flex;justify-content:center;flex-wrap:wrap;row-gap:var(--app-scale-2x);column-gap:var(--app-scale-2x)}.tag-table q2-tag{--tct-tag-font-size:var(--app-font-size, var(--const-px-14, 14px));--tct-tag-padding-inline:var(--app-scale-2x, 10px);--tct-tag-height:var(--app-scale-4x, 20px);--tct-tag-margin:0}`;
8
8
 
9
9
  const Q2DataTable = class {
10
10
  constructor(hostRef) {
@@ -296,7 +296,7 @@ const Q2DataTable = class {
296
296
  };
297
297
  // tracks if the select-all checkbox should be visually updated as the `rows` are built
298
298
  let isAllSelected = true;
299
- let isIndeterminate = false;
299
+ let hasSelectedRows = false;
300
300
  let hasStatusRows = false;
301
301
  const serializedRows = rows.map(({ id, cells, selected, expanded, disabled, selectAriaLabel, status }) => {
302
302
  const serializedCells = Object.entries(cells).reduce((accum, [cellKey, cellData]) => {
@@ -321,8 +321,8 @@ const Q2DataTable = class {
321
321
  }, {});
322
322
  if (isAllSelected && !selected)
323
323
  isAllSelected = false;
324
- if (!isAllSelected && selected)
325
- isIndeterminate = true;
324
+ if (!hasSelectedRows && selected)
325
+ hasSelectedRows = true;
326
326
  if (!hasStatusRows && status)
327
327
  hasStatusRows = true;
328
328
  return {
@@ -341,7 +341,7 @@ const Q2DataTable = class {
341
341
  this.hasRowData = !!rows.length;
342
342
  this.hasStatusRows = hasStatusRows;
343
343
  this.allRowsSelected = this.hasRowData && isAllSelected;
344
- this.someRowsSelected = this.hasRowData && isIndeterminate;
344
+ this.someRowsSelected = this.hasRowData && hasSelectedRows && !isAllSelected;
345
345
  this.serializedRows = !!shouldAutoSort ? this.sortRows(serializedRows, sortedHeader) : serializedRows;
346
346
  this.checkSlots();
347
347
  }
@@ -425,7 +425,7 @@ const Q2DataTable = class {
425
425
  // #region Render Methods
426
426
  render() {
427
427
  const { caption } = this;
428
- return (index.h("div", { key: '9f2281aae60f873a2755db7ed67aaab73c79f499', class: "container" }, index.h("table", { key: '2d057320dad36ea04d1037546ef2b9a8135b0a08' }, caption && index.h("caption", { key: '2b4ae6daf2d2f3c75e1819166cf758b5ff5f3ab4', class: this.hideCaption ? 'sr' : undefined }, caption), this.renderTableColGroup(), this.renderTableHeader(), this.renderEmptyState(), this.renderTableRows())));
428
+ return (index.h("div", { key: '27c557740e997910e039e20af6d1e889583e798a', class: "container" }, index.h("table", { key: '54b876b023eab141fa8be8627e2b025590c0026d' }, caption && index.h("caption", { key: '6e0fdc0524ff1645b6ebd16ada5f86e5197cc475', class: this.hideCaption ? 'sr' : undefined }, caption), this.renderTableColGroup(), this.renderTableHeader(), this.renderEmptyState(), this.renderTableRows())));
429
429
  }
430
430
  renderCellContent(cell) {
431
431
  if (!cell)