@helixui/library 2.1.2-next.52 → 2.1.2-next.54

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 (817) hide show
  1. package/custom-elements.json +1110 -1249
  2. package/dist/base/helix-element.d.ts +20 -8
  3. package/dist/base/helix-element.d.ts.map +1 -1
  4. package/dist/components/hx-accordion/hx-accordion-item.d.ts +7 -4
  5. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  6. package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts.map +1 -1
  7. package/dist/components/hx-accordion/hx-accordion.d.ts +3 -2
  8. package/dist/components/hx-accordion/hx-accordion.d.ts.map +1 -1
  9. package/dist/components/hx-accordion/hx-accordion.styles.d.ts.map +1 -1
  10. package/dist/components/hx-accordion/index.d.ts +1 -0
  11. package/dist/components/hx-accordion/index.d.ts.map +1 -1
  12. package/dist/components/hx-accordion/index.js +1 -1
  13. package/dist/components/hx-action-bar/hx-action-bar.d.ts +2 -11
  14. package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
  15. package/dist/components/hx-action-bar/hx-action-bar.styles.d.ts.map +1 -1
  16. package/dist/components/hx-action-bar/index.js +1 -1
  17. package/dist/components/hx-alert/hx-alert.d.ts +7 -2
  18. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  19. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  20. package/dist/components/hx-alert/index.d.ts +1 -0
  21. package/dist/components/hx-alert/index.d.ts.map +1 -1
  22. package/dist/components/hx-alert/index.js +1 -1
  23. package/dist/components/hx-avatar/hx-avatar.d.ts +3 -2
  24. package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -1
  25. package/dist/components/hx-avatar/index.js +1 -1
  26. package/dist/components/hx-badge/hx-badge.d.ts +2 -9
  27. package/dist/components/hx-badge/hx-badge.d.ts.map +1 -1
  28. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
  29. package/dist/components/hx-badge/index.d.ts +1 -1
  30. package/dist/components/hx-badge/index.d.ts.map +1 -1
  31. package/dist/components/hx-badge/index.js +1 -1
  32. package/dist/components/hx-banner/hx-banner.d.ts +3 -2
  33. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  34. package/dist/components/hx-banner/hx-banner.styles.d.ts.map +1 -1
  35. package/dist/components/hx-banner/index.js +1 -1
  36. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts +2 -2
  37. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
  38. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
  39. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +9 -19
  40. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
  41. package/dist/components/hx-breadcrumb/hx-breadcrumb.styles.d.ts.map +1 -1
  42. package/dist/components/hx-breadcrumb/index.js +1 -1
  43. package/dist/components/hx-button/hx-button.d.ts +31 -9
  44. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  45. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  46. package/dist/components/hx-button/index.d.ts +1 -0
  47. package/dist/components/hx-button/index.d.ts.map +1 -1
  48. package/dist/components/hx-button/index.js +1 -1
  49. package/dist/components/hx-button-group/hx-button-group.d.ts +4 -6
  50. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  51. package/dist/components/hx-button-group/hx-button-group.styles.d.ts.map +1 -1
  52. package/dist/components/hx-button-group/index.js +1 -1
  53. package/dist/components/hx-card/hx-card.d.ts +19 -2
  54. package/dist/components/hx-card/hx-card.d.ts.map +1 -1
  55. package/dist/components/hx-card/hx-card.styles.d.ts.map +1 -1
  56. package/dist/components/hx-card/index.js +1 -1
  57. package/dist/components/hx-carousel/hx-carousel-item.d.ts +2 -2
  58. package/dist/components/hx-carousel/hx-carousel-item.d.ts.map +1 -1
  59. package/dist/components/hx-carousel/hx-carousel-item.styles.d.ts.map +1 -1
  60. package/dist/components/hx-carousel/hx-carousel.d.ts +2 -2
  61. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
  62. package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -1
  63. package/dist/components/hx-carousel/index.js +1 -1
  64. package/dist/components/hx-checkbox/hx-checkbox.d.ts +52 -5
  65. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  66. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  67. package/dist/components/hx-checkbox/index.d.ts +1 -0
  68. package/dist/components/hx-checkbox/index.d.ts.map +1 -1
  69. package/dist/components/hx-checkbox/index.js +1 -1
  70. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +14 -20
  71. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  72. package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts.map +1 -1
  73. package/dist/components/hx-checkbox-group/index.d.ts +1 -0
  74. package/dist/components/hx-checkbox-group/index.d.ts.map +1 -1
  75. package/dist/components/hx-checkbox-group/index.js +1 -1
  76. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +0 -7
  77. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
  78. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
  79. package/dist/components/hx-clinical-status/index.js +1 -1
  80. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
  81. package/dist/components/hx-code-snippet/index.js +1 -1
  82. package/dist/components/hx-color-picker/hx-color-picker.d.ts +8 -11
  83. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  84. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  85. package/dist/components/hx-color-picker/index.d.ts +1 -0
  86. package/dist/components/hx-color-picker/index.d.ts.map +1 -1
  87. package/dist/components/hx-color-picker/index.js +1 -1
  88. package/dist/components/hx-combobox/hx-combobox.d.ts +45 -22
  89. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  90. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
  91. package/dist/components/hx-combobox/index.d.ts +1 -0
  92. package/dist/components/hx-combobox/index.d.ts.map +1 -1
  93. package/dist/components/hx-combobox/index.js +1 -1
  94. package/dist/components/hx-container/hx-container.d.ts +2 -4
  95. package/dist/components/hx-container/hx-container.d.ts.map +1 -1
  96. package/dist/components/hx-container/hx-container.styles.d.ts.map +1 -1
  97. package/dist/components/hx-container/index.d.ts +0 -1
  98. package/dist/components/hx-container/index.d.ts.map +1 -1
  99. package/dist/components/hx-container/index.js +1 -1
  100. package/dist/components/hx-copy-button/hx-copy-button.d.ts +2 -2
  101. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
  102. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
  103. package/dist/components/hx-copy-button/index.js +1 -1
  104. package/dist/components/hx-counter/hx-counter.d.ts +3 -2
  105. package/dist/components/hx-counter/hx-counter.d.ts.map +1 -1
  106. package/dist/components/hx-counter/hx-counter.styles.d.ts.map +1 -1
  107. package/dist/components/hx-counter/index.js +1 -1
  108. package/dist/components/hx-data-table/hx-data-table.d.ts +46 -2
  109. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  110. package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -1
  111. package/dist/components/hx-data-table/index.d.ts +1 -0
  112. package/dist/components/hx-data-table/index.d.ts.map +1 -1
  113. package/dist/components/hx-data-table/index.js +1 -1
  114. package/dist/components/hx-date-picker/hx-date-picker.d.ts +35 -35
  115. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  116. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  117. package/dist/components/hx-date-picker/index.d.ts +1 -0
  118. package/dist/components/hx-date-picker/index.d.ts.map +1 -1
  119. package/dist/components/hx-date-picker/index.js +1 -1
  120. package/dist/components/hx-dialog/hx-dialog.d.ts +44 -5
  121. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  122. package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -1
  123. package/dist/components/hx-dialog/index.js +1 -1
  124. package/dist/components/hx-divider/hx-divider.d.ts +3 -4
  125. package/dist/components/hx-divider/hx-divider.d.ts.map +1 -1
  126. package/dist/components/hx-divider/hx-divider.styles.d.ts.map +1 -1
  127. package/dist/components/hx-divider/index.d.ts +0 -1
  128. package/dist/components/hx-divider/index.d.ts.map +1 -1
  129. package/dist/components/hx-divider/index.js +1 -1
  130. package/dist/components/hx-drawer/hx-drawer.d.ts +39 -2
  131. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  132. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  133. package/dist/components/hx-drawer/index.js +1 -1
  134. package/dist/components/hx-dropdown/hx-dropdown.d.ts +11 -7
  135. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  136. package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -1
  137. package/dist/components/hx-dropdown/index.js +1 -1
  138. package/dist/components/hx-field/hx-field.d.ts +4 -3
  139. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  140. package/dist/components/hx-field/hx-field.styles.d.ts.map +1 -1
  141. package/dist/components/hx-field/index.js +1 -1
  142. package/dist/components/hx-field-label/hx-field-label.d.ts +2 -2
  143. package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
  144. package/dist/components/hx-field-label/hx-field-label.styles.d.ts.map +1 -1
  145. package/dist/components/hx-field-label/index.js +1 -1
  146. package/dist/components/hx-file-upload/hx-file-upload.d.ts +39 -21
  147. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  148. package/dist/components/hx-file-upload/index.d.ts +1 -0
  149. package/dist/components/hx-file-upload/index.d.ts.map +1 -1
  150. package/dist/components/hx-file-upload/index.js +1 -1
  151. package/dist/components/hx-form/hx-form.d.ts +2 -2
  152. package/dist/components/hx-form/hx-form.d.ts.map +1 -1
  153. package/dist/components/hx-form/hx-form.styles.d.ts +8 -0
  154. package/dist/components/hx-form/hx-form.styles.d.ts.map +1 -1
  155. package/dist/components/hx-form/index.js +1 -1
  156. package/dist/components/hx-format-date/hx-format-date.d.ts +2 -2
  157. package/dist/components/hx-format-date/hx-format-date.d.ts.map +1 -1
  158. package/dist/components/hx-format-date/hx-format-date.styles.d.ts.map +1 -1
  159. package/dist/components/hx-format-date/index.js +1 -1
  160. package/dist/components/hx-grid/hx-grid.d.ts +4 -3
  161. package/dist/components/hx-grid/hx-grid.d.ts.map +1 -1
  162. package/dist/components/hx-grid/hx-grid.styles.d.ts.map +1 -1
  163. package/dist/components/hx-grid/index.js +1 -1
  164. package/dist/components/hx-help-text/hx-help-text.d.ts +2 -4
  165. package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
  166. package/dist/components/hx-help-text/hx-help-text.styles.d.ts.map +1 -1
  167. package/dist/components/hx-help-text/index.js +1 -1
  168. package/dist/components/hx-icon/hx-icon.d.ts +17 -2
  169. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
  170. package/dist/components/hx-icon/hx-icon.styles.d.ts.map +1 -1
  171. package/dist/components/hx-icon/index.js +1 -1
  172. package/dist/components/hx-icon-button/hx-icon-button.d.ts +10 -14
  173. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  174. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  175. package/dist/components/hx-icon-button/index.js +1 -1
  176. package/dist/components/hx-image/hx-image.d.ts +2 -2
  177. package/dist/components/hx-image/hx-image.d.ts.map +1 -1
  178. package/dist/components/hx-image/hx-image.styles.d.ts.map +1 -1
  179. package/dist/components/hx-image/index.js +1 -1
  180. package/dist/components/hx-link/hx-link.d.ts +2 -2
  181. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  182. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
  183. package/dist/components/hx-link/index.js +1 -1
  184. package/dist/components/hx-list/hx-list-item.d.ts +3 -2
  185. package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
  186. package/dist/components/hx-list/hx-list.d.ts +3 -2
  187. package/dist/components/hx-list/hx-list.d.ts.map +1 -1
  188. package/dist/components/hx-list/hx-list.styles.d.ts.map +1 -1
  189. package/dist/components/hx-list/index.js +1 -1
  190. package/dist/components/hx-menu/hx-menu-divider.d.ts +2 -2
  191. package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -1
  192. package/dist/components/hx-menu/hx-menu-divider.styles.d.ts.map +1 -1
  193. package/dist/components/hx-menu/hx-menu-item.d.ts +2 -2
  194. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  195. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  196. package/dist/components/hx-menu/hx-menu.d.ts +2 -2
  197. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  198. package/dist/components/hx-menu/hx-menu.styles.d.ts.map +1 -1
  199. package/dist/components/hx-menu/index.js +1 -1
  200. package/dist/components/hx-meter/hx-meter.d.ts +3 -4
  201. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  202. package/dist/components/hx-meter/hx-meter.styles.d.ts.map +1 -1
  203. package/dist/components/hx-meter/index.js +1 -1
  204. package/dist/components/hx-nav/hx-nav.d.ts +2 -4
  205. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  206. package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
  207. package/dist/components/hx-nav/index.d.ts +1 -1
  208. package/dist/components/hx-nav/index.d.ts.map +1 -1
  209. package/dist/components/hx-nav/index.js +1 -1
  210. package/dist/components/hx-number-input/hx-number-input.d.ts +14 -20
  211. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  212. package/dist/components/hx-number-input/hx-number-input.styles.d.ts.map +1 -1
  213. package/dist/components/hx-number-input/index.d.ts +1 -0
  214. package/dist/components/hx-number-input/index.d.ts.map +1 -1
  215. package/dist/components/hx-number-input/index.js +1 -1
  216. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +2 -2
  217. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  218. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  219. package/dist/components/hx-overflow-menu/index.js +1 -1
  220. package/dist/components/hx-pagination/hx-pagination.d.ts +10 -2
  221. package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -1
  222. package/dist/components/hx-pagination/index.d.ts +1 -0
  223. package/dist/components/hx-pagination/index.d.ts.map +1 -1
  224. package/dist/components/hx-pagination/index.js +1 -1
  225. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts +47 -5
  226. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts.map +1 -1
  227. package/dist/components/hx-patient-banner/hx-patient-banner.styles.d.ts.map +1 -1
  228. package/dist/components/hx-patient-banner/index.js +1 -1
  229. package/dist/components/hx-phi-field/hx-phi-field.d.ts +85 -5
  230. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
  231. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -1
  232. package/dist/components/hx-phi-field/index.js +1 -1
  233. package/dist/components/hx-popover/hx-popover.d.ts +4 -2
  234. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  235. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
  236. package/dist/components/hx-popover/index.js +1 -1
  237. package/dist/components/hx-popup/hx-popup.d.ts +7 -2
  238. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
  239. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
  240. package/dist/components/hx-popup/index.js +1 -1
  241. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +3 -4
  242. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  243. package/dist/components/hx-progress-bar/index.js +1 -1
  244. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts +3 -2
  245. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts.map +1 -1
  246. package/dist/components/hx-progress-ring/hx-progress-ring.styles.d.ts.map +1 -1
  247. package/dist/components/hx-progress-ring/index.js +1 -1
  248. package/dist/components/hx-prose/hx-prose.d.ts +3 -2
  249. package/dist/components/hx-prose/hx-prose.d.ts.map +1 -1
  250. package/dist/components/hx-prose/hx-prose.styles.d.ts +8 -0
  251. package/dist/components/hx-prose/hx-prose.styles.d.ts.map +1 -1
  252. package/dist/components/hx-prose/index.js +1 -1
  253. package/dist/components/hx-radio-group/hx-radio-group.d.ts +14 -39
  254. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  255. package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts.map +1 -1
  256. package/dist/components/hx-radio-group/hx-radio.d.ts +19 -4
  257. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  258. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
  259. package/dist/components/hx-radio-group/index.d.ts +1 -0
  260. package/dist/components/hx-radio-group/index.d.ts.map +1 -1
  261. package/dist/components/hx-radio-group/index.js +1 -1
  262. package/dist/components/hx-rating/hx-rating.d.ts +9 -20
  263. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  264. package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
  265. package/dist/components/hx-rating/index.d.ts +1 -0
  266. package/dist/components/hx-rating/index.d.ts.map +1 -1
  267. package/dist/components/hx-rating/index.js +1 -1
  268. package/dist/components/hx-select/hx-select.d.ts +26 -17
  269. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  270. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  271. package/dist/components/hx-select/index.d.ts +1 -0
  272. package/dist/components/hx-select/index.d.ts.map +1 -1
  273. package/dist/components/hx-select/index.js +1 -1
  274. package/dist/components/hx-side-nav/hx-nav-item.d.ts +2 -5
  275. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  276. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  277. package/dist/components/hx-side-nav/hx-side-nav.d.ts +3 -2
  278. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  279. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  280. package/dist/components/hx-side-nav/index.js +1 -1
  281. package/dist/components/hx-skeleton/hx-skeleton.d.ts +3 -2
  282. package/dist/components/hx-skeleton/hx-skeleton.d.ts.map +1 -1
  283. package/dist/components/hx-skeleton/hx-skeleton.styles.d.ts.map +1 -1
  284. package/dist/components/hx-skeleton/index.js +1 -1
  285. package/dist/components/hx-slider/hx-slider.d.ts +18 -22
  286. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  287. package/dist/components/hx-slider/hx-slider.styles.d.ts.map +1 -1
  288. package/dist/components/hx-slider/index.d.ts +1 -0
  289. package/dist/components/hx-slider/index.d.ts.map +1 -1
  290. package/dist/components/hx-slider/index.js +1 -1
  291. package/dist/components/hx-spinner/hx-spinner.d.ts +2 -2
  292. package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
  293. package/dist/components/hx-spinner/hx-spinner.styles.d.ts.map +1 -1
  294. package/dist/components/hx-spinner/index.js +1 -1
  295. package/dist/components/hx-split-button/hx-split-button.d.ts +10 -4
  296. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  297. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  298. package/dist/components/hx-split-button/index.js +1 -1
  299. package/dist/components/hx-split-panel/hx-split-panel.d.ts +12 -2
  300. package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -1
  301. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
  302. package/dist/components/hx-split-panel/index.js +1 -1
  303. package/dist/components/hx-stack/hx-stack.d.ts +2 -2
  304. package/dist/components/hx-stack/hx-stack.d.ts.map +1 -1
  305. package/dist/components/hx-stack/hx-stack.styles.d.ts.map +1 -1
  306. package/dist/components/hx-stack/index.js +1 -1
  307. package/dist/components/hx-stat/hx-stat.d.ts +4 -3
  308. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  309. package/dist/components/hx-stat/index.js +1 -1
  310. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts +3 -2
  311. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts.map +1 -1
  312. package/dist/components/hx-status-indicator/hx-status-indicator.styles.d.ts.map +1 -1
  313. package/dist/components/hx-status-indicator/index.js +1 -1
  314. package/dist/components/hx-steps/hx-step.d.ts +3 -2
  315. package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
  316. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  317. package/dist/components/hx-steps/hx-steps.d.ts +11 -4
  318. package/dist/components/hx-steps/hx-steps.d.ts.map +1 -1
  319. package/dist/components/hx-steps/hx-steps.styles.d.ts.map +1 -1
  320. package/dist/components/hx-steps/index.js +1 -1
  321. package/dist/components/hx-structured-list/hx-structured-list.d.ts +3 -3
  322. package/dist/components/hx-structured-list/hx-structured-list.d.ts.map +1 -1
  323. package/dist/components/hx-structured-list/hx-structured-list.styles.d.ts.map +1 -1
  324. package/dist/components/hx-structured-list/index.js +1 -1
  325. package/dist/components/hx-style-scope/hx-style-scope.d.ts +3 -2
  326. package/dist/components/hx-style-scope/hx-style-scope.d.ts.map +1 -1
  327. package/dist/components/hx-style-scope/hx-style-scope.styles.d.ts.map +1 -1
  328. package/dist/components/hx-style-scope/index.js +1 -1
  329. package/dist/components/hx-switch/hx-switch.d.ts +25 -29
  330. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  331. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  332. package/dist/components/hx-switch/index.d.ts +2 -1
  333. package/dist/components/hx-switch/index.d.ts.map +1 -1
  334. package/dist/components/hx-switch/index.js +1 -1
  335. package/dist/components/hx-table/hx-table.d.ts +3 -2
  336. package/dist/components/hx-table/hx-table.d.ts.map +1 -1
  337. package/dist/components/hx-table/hx-table.styles.d.ts.map +1 -1
  338. package/dist/components/hx-table/hx-tbody.d.ts +2 -2
  339. package/dist/components/hx-table/hx-tbody.d.ts.map +1 -1
  340. package/dist/components/hx-table/hx-td.d.ts +2 -2
  341. package/dist/components/hx-table/hx-td.d.ts.map +1 -1
  342. package/dist/components/hx-table/hx-tfoot.d.ts +2 -2
  343. package/dist/components/hx-table/hx-tfoot.d.ts.map +1 -1
  344. package/dist/components/hx-table/hx-th.d.ts +2 -2
  345. package/dist/components/hx-table/hx-th.d.ts.map +1 -1
  346. package/dist/components/hx-table/hx-thead.d.ts +2 -2
  347. package/dist/components/hx-table/hx-thead.d.ts.map +1 -1
  348. package/dist/components/hx-table/hx-tr.d.ts +2 -2
  349. package/dist/components/hx-table/hx-tr.d.ts.map +1 -1
  350. package/dist/components/hx-table/index.js +1 -1
  351. package/dist/components/hx-tabs/hx-tab-panel.d.ts +2 -2
  352. package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -1
  353. package/dist/components/hx-tabs/hx-tab-panel.styles.d.ts.map +1 -1
  354. package/dist/components/hx-tabs/hx-tab.d.ts +2 -2
  355. package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
  356. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  357. package/dist/components/hx-tabs/hx-tabs.d.ts +14 -2
  358. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  359. package/dist/components/hx-tabs/hx-tabs.styles.d.ts.map +1 -1
  360. package/dist/components/hx-tabs/index.d.ts +1 -0
  361. package/dist/components/hx-tabs/index.d.ts.map +1 -1
  362. package/dist/components/hx-tabs/index.js +1 -1
  363. package/dist/components/hx-tag/hx-tag.d.ts +2 -4
  364. package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
  365. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  366. package/dist/components/hx-tag/index.d.ts +0 -2
  367. package/dist/components/hx-tag/index.d.ts.map +1 -1
  368. package/dist/components/hx-tag/index.js +1 -1
  369. package/dist/components/hx-text/hx-text.d.ts +2 -2
  370. package/dist/components/hx-text/hx-text.d.ts.map +1 -1
  371. package/dist/components/hx-text/hx-text.styles.d.ts.map +1 -1
  372. package/dist/components/hx-text/index.js +1 -1
  373. package/dist/components/hx-text-input/hx-text-input.d.ts +34 -7
  374. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  375. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  376. package/dist/components/hx-text-input/index.d.ts +1 -0
  377. package/dist/components/hx-text-input/index.d.ts.map +1 -1
  378. package/dist/components/hx-text-input/index.js +1 -1
  379. package/dist/components/hx-textarea/hx-textarea.d.ts +41 -25
  380. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  381. package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -1
  382. package/dist/components/hx-textarea/index.d.ts +1 -0
  383. package/dist/components/hx-textarea/index.d.ts.map +1 -1
  384. package/dist/components/hx-textarea/index.js +1 -1
  385. package/dist/components/hx-theme/hx-theme.d.ts +3 -11
  386. package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
  387. package/dist/components/hx-theme/hx-theme.styles.d.ts.map +1 -1
  388. package/dist/components/hx-theme/index.d.ts +0 -2
  389. package/dist/components/hx-theme/index.d.ts.map +1 -1
  390. package/dist/components/hx-theme/index.js +1 -1
  391. package/dist/components/hx-time-picker/hx-time-picker.d.ts +13 -31
  392. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  393. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  394. package/dist/components/hx-time-picker/index.d.ts +1 -0
  395. package/dist/components/hx-time-picker/index.d.ts.map +1 -1
  396. package/dist/components/hx-time-picker/index.js +1 -1
  397. package/dist/components/hx-toast/hx-toast-stack.d.ts +2 -2
  398. package/dist/components/hx-toast/hx-toast-stack.d.ts.map +1 -1
  399. package/dist/components/hx-toast/hx-toast.d.ts +3 -2
  400. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  401. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  402. package/dist/components/hx-toast/index.js +1 -1
  403. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +10 -13
  404. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  405. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  406. package/dist/components/hx-toggle-button/index.d.ts +1 -0
  407. package/dist/components/hx-toggle-button/index.d.ts.map +1 -1
  408. package/dist/components/hx-toggle-button/index.js +1 -1
  409. package/dist/components/hx-tooltip/hx-tooltip.d.ts +2 -2
  410. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  411. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -1
  412. package/dist/components/hx-tooltip/index.js +1 -1
  413. package/dist/components/hx-top-nav/hx-top-nav.d.ts +2 -2
  414. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
  415. package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -1
  416. package/dist/components/hx-top-nav/index.js +1 -1
  417. package/dist/components/hx-tree-view/hx-tree-item.d.ts +2 -4
  418. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  419. package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -1
  420. package/dist/components/hx-tree-view/hx-tree-view.d.ts +2 -4
  421. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
  422. package/dist/components/hx-tree-view/hx-tree-view.styles.d.ts.map +1 -1
  423. package/dist/components/hx-tree-view/index.d.ts +0 -4
  424. package/dist/components/hx-tree-view/index.d.ts.map +1 -1
  425. package/dist/components/hx-tree-view/index.js +1 -1
  426. package/dist/components/hx-visually-hidden/hx-visually-hidden.d.ts +2 -2
  427. package/dist/components/hx-visually-hidden/hx-visually-hidden.d.ts.map +1 -1
  428. package/dist/components/hx-visually-hidden/hx-visually-hidden.styles.d.ts.map +1 -1
  429. package/dist/components/hx-visually-hidden/index.js +1 -1
  430. package/dist/css/helix-all.css +3600 -790
  431. package/dist/css/helix-core.css +244 -50
  432. package/dist/css/helix-data.css +86 -7
  433. package/dist/css/helix-feedback.css +159 -61
  434. package/dist/css/helix-forms.css +2054 -105
  435. package/dist/css/helix-layout.css +53 -1
  436. package/dist/css/helix-media.css +40 -16
  437. package/dist/css/helix-navigation.css +209 -48
  438. package/dist/css/helix-overlay.css +99 -12
  439. package/dist/css/helix-tokens.css +30 -11
  440. package/dist/css/helix-utility.css +118 -9
  441. package/dist/css/hx-accordion.css +9 -1
  442. package/dist/css/hx-action-bar.css +17 -3
  443. package/dist/css/hx-alert.css +39 -18
  444. package/dist/css/hx-avatar.css +1 -1
  445. package/dist/css/hx-badge.css +31 -15
  446. package/dist/css/hx-banner.css +35 -18
  447. package/dist/css/hx-breadcrumb.css +27 -0
  448. package/dist/css/hx-button-group.css +13 -0
  449. package/dist/css/hx-button.css +6 -3
  450. package/dist/css/hx-card.css +18 -6
  451. package/dist/css/hx-carousel.css +40 -16
  452. package/dist/css/hx-checkbox-group.css +36 -4
  453. package/dist/css/hx-checkbox.css +74 -8
  454. package/dist/css/hx-clinical-status.css +46 -23
  455. package/dist/css/hx-code-snippet.css +25 -3
  456. package/dist/css/hx-color-picker.css +276 -1
  457. package/dist/css/hx-combobox.css +391 -1
  458. package/dist/css/hx-container.css +10 -0
  459. package/dist/css/hx-copy-button.css +31 -3
  460. package/dist/css/hx-counter.css +11 -1
  461. package/dist/css/hx-data-table.css +24 -1
  462. package/dist/css/hx-date-picker.css +437 -1
  463. package/dist/css/hx-dialog.css +23 -2
  464. package/dist/css/hx-divider.css +8 -0
  465. package/dist/css/hx-drawer.css +22 -1
  466. package/dist/css/hx-dropdown.css +10 -1
  467. package/dist/css/hx-field-label.css +18 -2
  468. package/dist/css/hx-field.css +39 -3
  469. package/dist/css/hx-file-upload.css +12 -12
  470. package/dist/css/hx-format-date.css +11 -0
  471. package/dist/css/hx-grid.css +10 -0
  472. package/dist/css/hx-help-text.css +25 -5
  473. package/dist/css/hx-icon-button.css +27 -0
  474. package/dist/css/hx-icon.css +8 -0
  475. package/dist/css/hx-image.css +11 -3
  476. package/dist/css/hx-link.css +23 -5
  477. package/dist/css/hx-list.css +10 -0
  478. package/dist/css/hx-menu.css +10 -2
  479. package/dist/css/hx-meter.css +22 -9
  480. package/dist/css/hx-nav.css +27 -12
  481. package/dist/css/hx-number-input.css +78 -0
  482. package/dist/css/hx-overflow-menu.css +41 -10
  483. package/dist/css/hx-pagination.css +13 -13
  484. package/dist/css/hx-patient-banner.css +30 -10
  485. package/dist/css/hx-phi-field.css +5 -2
  486. package/dist/css/hx-popover.css +16 -4
  487. package/dist/css/hx-popup.css +12 -0
  488. package/dist/css/hx-progress-bar.css +1 -1
  489. package/dist/css/hx-progress-ring.css +23 -1
  490. package/dist/css/hx-radio-group.css +35 -3
  491. package/dist/css/hx-rating.css +45 -4
  492. package/dist/css/hx-select.css +89 -7
  493. package/dist/css/hx-side-nav.css +26 -0
  494. package/dist/css/hx-skeleton.css +12 -0
  495. package/dist/css/hx-slider.css +16 -11
  496. package/dist/css/hx-spinner.css +12 -0
  497. package/dist/css/hx-split-button.css +37 -2
  498. package/dist/css/hx-split-panel.css +14 -0
  499. package/dist/css/hx-stack.css +10 -0
  500. package/dist/css/hx-stat.css +5 -5
  501. package/dist/css/hx-status-indicator.css +15 -2
  502. package/dist/css/hx-steps.css +12 -0
  503. package/dist/css/hx-structured-list.css +18 -2
  504. package/dist/css/hx-style-scope.css +11 -0
  505. package/dist/css/hx-switch.css +66 -4
  506. package/dist/css/hx-table.css +9 -1
  507. package/dist/css/hx-tabs.css +15 -3
  508. package/dist/css/hx-tag.css +24 -12
  509. package/dist/css/hx-text-input.css +71 -9
  510. package/dist/css/hx-text.css +38 -5
  511. package/dist/css/hx-textarea.css +71 -15
  512. package/dist/css/hx-theme.css +11 -0
  513. package/dist/css/hx-time-picker.css +224 -1
  514. package/dist/css/hx-toast.css +19 -7
  515. package/dist/css/hx-toggle-button.css +41 -4
  516. package/dist/css/hx-tooltip.css +16 -4
  517. package/dist/css/hx-top-nav.css +29 -8
  518. package/dist/css/hx-tree-view.css +9 -0
  519. package/dist/css/hx-visually-hidden.css +12 -0
  520. package/dist/css/index.css +1 -1
  521. package/dist/css/manifest.json +42 -9
  522. package/dist/form-test-utils.d.ts +45 -0
  523. package/dist/form-test-utils.d.ts.map +1 -0
  524. package/dist/index.d.ts +28 -14
  525. package/dist/index.d.ts.map +1 -1
  526. package/dist/index.js +189 -177
  527. package/dist/index.js.map +1 -1
  528. package/dist/mixins/FormMixin.d.ts +24 -5
  529. package/dist/mixins/FormMixin.d.ts.map +1 -1
  530. package/dist/mixins/aria-delegation.d.ts +1 -1
  531. package/dist/mixins/aria-delegation.d.ts.map +1 -1
  532. package/dist/mixins/index.d.ts +3 -1
  533. package/dist/mixins/index.d.ts.map +1 -1
  534. package/dist/shared/{FormMixin-Bjvw20G5.js → FormMixin-B8PXk5RQ.js} +31 -14
  535. package/dist/shared/FormMixin-B8PXk5RQ.js.map +1 -0
  536. package/dist/shared/{aria-delegation-CBP9eQ0M.js → aria-delegation-Doq6RRUy.js} +6 -6
  537. package/dist/shared/aria-delegation-Doq6RRUy.js.map +1 -0
  538. package/dist/shared/{helix-element-CZvaIEQP.js → helix-element-BNEYeiys.js} +30 -27
  539. package/dist/shared/helix-element-BNEYeiys.js.map +1 -0
  540. package/dist/shared/{hx-accordion-CpfO0YQo.js → hx-accordion-Wt52OOZD.js} +127 -80
  541. package/dist/shared/hx-accordion-Wt52OOZD.js.map +1 -0
  542. package/dist/shared/{hx-action-bar-CNLYufVd.js → hx-action-bar-BKMADbHj.js} +89 -85
  543. package/dist/shared/hx-action-bar-BKMADbHj.js.map +1 -0
  544. package/dist/shared/{hx-alert-CHOjTBds.js → hx-alert-D7n94HwI.js} +47 -26
  545. package/dist/shared/hx-alert-D7n94HwI.js.map +1 -0
  546. package/dist/shared/{hx-avatar-an-WsuLl.js → hx-avatar-iLYzu8MJ.js} +10 -10
  547. package/dist/shared/hx-avatar-iLYzu8MJ.js.map +1 -0
  548. package/dist/shared/{hx-badge-RPzd-t5l.js → hx-badge-CVCmMPyW.js} +43 -27
  549. package/dist/shared/hx-badge-CVCmMPyW.js.map +1 -0
  550. package/dist/shared/{hx-banner-B-WEDiq7.js → hx-banner-C_He7Tr4.js} +60 -43
  551. package/dist/shared/hx-banner-C_He7Tr4.js.map +1 -0
  552. package/dist/shared/{hx-breadcrumb-item-jLAKK038.js → hx-breadcrumb-item-CldCwD1d.js} +123 -83
  553. package/dist/shared/hx-breadcrumb-item-CldCwD1d.js.map +1 -0
  554. package/dist/shared/{hx-button-DoN8jjQT.js → hx-button-Ddl-T6T-.js} +117 -92
  555. package/dist/shared/hx-button-Ddl-T6T-.js.map +1 -0
  556. package/dist/shared/{hx-button-group-BXlMQTt_.js → hx-button-group-BJOGWoMa.js} +33 -21
  557. package/dist/shared/hx-button-group-BJOGWoMa.js.map +1 -0
  558. package/dist/shared/{hx-card-BgXZXDuc.js → hx-card-ycveujjL.js} +64 -38
  559. package/dist/shared/hx-card-ycveujjL.js.map +1 -0
  560. package/dist/shared/{hx-carousel-item-Dwt9Pphz.js → hx-carousel-item-D_dCv61-.js} +76 -41
  561. package/dist/shared/hx-carousel-item-D_dCv61-.js.map +1 -0
  562. package/dist/shared/{hx-checkbox-C82GjRXe.js → hx-checkbox-DkkoWoye.js} +163 -80
  563. package/dist/shared/hx-checkbox-DkkoWoye.js.map +1 -0
  564. package/dist/shared/{hx-checkbox-group-DThZeN5d.js → hx-checkbox-group-C3poJ-Zw.js} +105 -79
  565. package/dist/shared/hx-checkbox-group-C3poJ-Zw.js.map +1 -0
  566. package/dist/shared/{hx-clinical-status-BjtT5c0M.js → hx-clinical-status-BS5lcddT.js} +60 -38
  567. package/dist/shared/hx-clinical-status-BS5lcddT.js.map +1 -0
  568. package/dist/shared/{hx-code-snippet-DcVENSuC.js → hx-code-snippet-B7wUKzyb.js} +32 -11
  569. package/dist/shared/hx-code-snippet-B7wUKzyb.js.map +1 -0
  570. package/dist/shared/{hx-color-picker-C6EIuS9t.js → hx-color-picker-DBaKTVLr.js} +380 -119
  571. package/dist/shared/hx-color-picker-DBaKTVLr.js.map +1 -0
  572. package/dist/shared/hx-combobox-BmgYT7Ar.js +929 -0
  573. package/dist/shared/hx-combobox-BmgYT7Ar.js.map +1 -0
  574. package/dist/shared/{hx-container-BwWbMPTH.js → hx-container-DVI7sxfX.js} +25 -15
  575. package/dist/shared/hx-container-DVI7sxfX.js.map +1 -0
  576. package/dist/shared/{hx-copy-button-BoM0WsMd.js → hx-copy-button-8deNUdwP.js} +68 -40
  577. package/dist/shared/hx-copy-button-8deNUdwP.js.map +1 -0
  578. package/dist/shared/{hx-counter-B5NgKlw4.js → hx-counter-CKfl_g8K.js} +32 -22
  579. package/dist/shared/hx-counter-CKfl_g8K.js.map +1 -0
  580. package/dist/shared/{hx-data-table-D5Ne-goy.js → hx-data-table-B6h0RPn0.js} +203 -132
  581. package/dist/shared/hx-data-table-B6h0RPn0.js.map +1 -0
  582. package/dist/shared/hx-date-picker-Dq2Nb68_.js +1077 -0
  583. package/dist/shared/hx-date-picker-Dq2Nb68_.js.map +1 -0
  584. package/dist/shared/{hx-dialog-D4ubstxx.js → hx-dialog-CvIlY0Tc.js} +85 -52
  585. package/dist/shared/hx-dialog-CvIlY0Tc.js.map +1 -0
  586. package/dist/shared/{hx-divider-BBtOLHRP.js → hx-divider-DwpOrzMW.js} +23 -15
  587. package/dist/shared/hx-divider-DwpOrzMW.js.map +1 -0
  588. package/dist/shared/{hx-drawer--WDLuWtS.js → hx-drawer-Cx2ZJhBe.js} +101 -66
  589. package/dist/shared/hx-drawer-Cx2ZJhBe.js.map +1 -0
  590. package/dist/shared/{hx-dropdown-n5-XSmiV.js → hx-dropdown-BjDrPUq5.js} +55 -46
  591. package/dist/shared/hx-dropdown-BjDrPUq5.js.map +1 -0
  592. package/dist/shared/{hx-field-CwT9tki1.js → hx-field-Dp3qQMut.js} +61 -25
  593. package/dist/shared/hx-field-Dp3qQMut.js.map +1 -0
  594. package/dist/shared/{hx-field-label-CcOK9VU3.js → hx-field-label-BC8QViXv.js} +41 -25
  595. package/dist/shared/hx-field-label-BC8QViXv.js.map +1 -0
  596. package/dist/shared/{hx-file-upload-Di_vpQaG.js → hx-file-upload-B6Yl1u0i.js} +110 -102
  597. package/dist/shared/hx-file-upload-B6Yl1u0i.js.map +1 -0
  598. package/dist/shared/{hx-form-BM6PHsw3.js → hx-form-ButQFt9A.js} +12 -11
  599. package/dist/shared/hx-form-ButQFt9A.js.map +1 -0
  600. package/dist/shared/{hx-format-date-B7L9odbA.js → hx-format-date-CKnlQOmV.js} +20 -9
  601. package/dist/shared/hx-format-date-CKnlQOmV.js.map +1 -0
  602. package/dist/shared/{hx-grid-BIAR5h9m.js → hx-grid-CXZf3jeK.js} +28 -18
  603. package/dist/shared/hx-grid-CXZf3jeK.js.map +1 -0
  604. package/dist/shared/{hx-help-text-Bmb80bP4.js → hx-help-text-D7eytSim.js} +45 -25
  605. package/dist/shared/hx-help-text-D7eytSim.js.map +1 -0
  606. package/dist/shared/{hx-icon-BKHs3OLu.js → hx-icon-CcyDPDYY.js} +104 -62
  607. package/dist/shared/hx-icon-CcyDPDYY.js.map +1 -0
  608. package/dist/shared/{hx-icon-button-CJuy9xbw.js → hx-icon-button-BHneqPCU.js} +58 -42
  609. package/dist/shared/hx-icon-button-BHneqPCU.js.map +1 -0
  610. package/dist/shared/{hx-image-ztiXumZB.js → hx-image-2gt14zZd.js} +34 -26
  611. package/dist/shared/hx-image-2gt14zZd.js.map +1 -0
  612. package/dist/shared/{hx-link-CN7AvGOW.js → hx-link-BESrWK8M.js} +51 -33
  613. package/dist/shared/hx-link-BESrWK8M.js.map +1 -0
  614. package/dist/shared/{hx-list-Dnei26t4.js → hx-list-_9qVv02L.js} +32 -22
  615. package/dist/shared/hx-list-_9qVv02L.js.map +1 -0
  616. package/dist/shared/{hx-menu-divider-DRT8yHRZ.js → hx-menu-divider-Ck-9Os1t.js} +103 -60
  617. package/dist/shared/hx-menu-divider-Ck-9Os1t.js.map +1 -0
  618. package/dist/shared/{hx-meter-BcVC9yrt.js → hx-meter-TbROk-dw.js} +57 -43
  619. package/dist/shared/hx-meter-TbROk-dw.js.map +1 -0
  620. package/dist/shared/{hx-nav-l0Rp7WPW.js → hx-nav-BcYDmjf7.js} +71 -56
  621. package/dist/shared/hx-nav-BcYDmjf7.js.map +1 -0
  622. package/dist/shared/{hx-nav-item-CJN4VDrf.js → hx-nav-item-pqPasRUm.js} +67 -23
  623. package/dist/shared/hx-nav-item-pqPasRUm.js.map +1 -0
  624. package/dist/shared/{hx-number-input-0Waw7Z7u.js → hx-number-input-mOIZ3-46.js} +169 -96
  625. package/dist/shared/hx-number-input-mOIZ3-46.js.map +1 -0
  626. package/dist/shared/{hx-overflow-menu-DElwFSCd.js → hx-overflow-menu-Dprb9lnT.js} +70 -38
  627. package/dist/shared/hx-overflow-menu-Dprb9lnT.js.map +1 -0
  628. package/dist/shared/{hx-pagination-BNtx-LG6.js → hx-pagination-AguTQjYC.js} +35 -35
  629. package/dist/shared/hx-pagination-AguTQjYC.js.map +1 -0
  630. package/dist/shared/{hx-patient-banner-BKiN7nIE.js → hx-patient-banner-uE6gqLpT.js} +67 -47
  631. package/dist/shared/hx-patient-banner-uE6gqLpT.js.map +1 -0
  632. package/dist/shared/{hx-phi-field-DD1qcBSO.js → hx-phi-field-BC_XowhC.js} +138 -56
  633. package/dist/shared/hx-phi-field-BC_XowhC.js.map +1 -0
  634. package/dist/shared/{hx-popover-CydNuVkT.js → hx-popover-B2_203ct.js} +44 -30
  635. package/dist/shared/hx-popover-B2_203ct.js.map +1 -0
  636. package/dist/shared/{hx-popup-DbzezTOd.js → hx-popup-DZXpsJ1R.js} +89 -64
  637. package/dist/shared/hx-popup-DZXpsJ1R.js.map +1 -0
  638. package/dist/shared/{hx-progress-bar-Cm0VihTN.js → hx-progress-bar-KjEkEJLy.js} +21 -20
  639. package/dist/shared/hx-progress-bar-KjEkEJLy.js.map +1 -0
  640. package/dist/shared/{hx-progress-ring-Cs0WgWDJ.js → hx-progress-ring-3zMwvrwD.js} +53 -31
  641. package/dist/shared/hx-progress-ring-3zMwvrwD.js.map +1 -0
  642. package/dist/shared/{hx-prose-Ml_L2zje.js → hx-prose-BCtK7YL6.js} +48 -15
  643. package/dist/shared/{hx-prose-Ml_L2zje.js.map → hx-prose-BCtK7YL6.js.map} +1 -1
  644. package/dist/shared/{hx-radio-f8c5ggHG.js → hx-radio-BBC5qZgE.js} +202 -123
  645. package/dist/shared/hx-radio-BBC5qZgE.js.map +1 -0
  646. package/dist/shared/{hx-rating-qRJZXskm.js → hx-rating-C3E3ENJb.js} +92 -69
  647. package/dist/shared/hx-rating-C3E3ENJb.js.map +1 -0
  648. package/dist/shared/{hx-select-CgcgsHU5.js → hx-select-CixTo7jp.js} +206 -135
  649. package/dist/shared/hx-select-CixTo7jp.js.map +1 -0
  650. package/dist/shared/{hx-skeleton-tiYvKO-t.js → hx-skeleton-LxkI0pxr.js} +39 -27
  651. package/dist/shared/hx-skeleton-LxkI0pxr.js.map +1 -0
  652. package/dist/shared/{hx-slider-BvXtvxmN.js → hx-slider-DFHuzF3N.js} +79 -91
  653. package/dist/shared/hx-slider-DFHuzF3N.js.map +1 -0
  654. package/dist/shared/{hx-spinner-D6nzuGmj.js → hx-spinner-BKjuCdZB.js} +32 -20
  655. package/dist/shared/hx-spinner-BKjuCdZB.js.map +1 -0
  656. package/dist/shared/{hx-split-button-CPndTJlC.js → hx-split-button-CGcJMmCG.js} +59 -22
  657. package/dist/shared/hx-split-button-CGcJMmCG.js.map +1 -0
  658. package/dist/shared/{hx-split-panel-Dx72NaET.js → hx-split-panel-C-1R10Mc.js} +71 -47
  659. package/dist/shared/hx-split-panel-C-1R10Mc.js.map +1 -0
  660. package/dist/shared/{hx-stack-B76_1O6g.js → hx-stack-DGfcOfWJ.js} +21 -11
  661. package/dist/shared/hx-stack-DGfcOfWJ.js.map +1 -0
  662. package/dist/shared/{hx-stat-DKlyBL_K.js → hx-stat-BTpykQAt.js} +14 -14
  663. package/dist/shared/hx-stat-BTpykQAt.js.map +1 -0
  664. package/dist/shared/{hx-status-indicator-ClWpK6zz.js → hx-status-indicator-X2QEWNFt.js} +36 -23
  665. package/dist/shared/hx-status-indicator-X2QEWNFt.js.map +1 -0
  666. package/dist/shared/{hx-step-C2Jk4mHa.js → hx-step-CRNQlmSo.js} +83 -32
  667. package/dist/shared/hx-step-CRNQlmSo.js.map +1 -0
  668. package/dist/shared/{hx-structured-list-DKlrv7kS.js → hx-structured-list-CqNbaEXg.js} +32 -16
  669. package/dist/shared/hx-structured-list-CqNbaEXg.js.map +1 -0
  670. package/dist/shared/hx-style-scope-TDnR8H4O.js +251 -0
  671. package/dist/shared/hx-style-scope-TDnR8H4O.js.map +1 -0
  672. package/dist/shared/{hx-switch-BzMN37PV.js → hx-switch-DqOD9JR7.js} +122 -81
  673. package/dist/shared/hx-switch-DqOD9JR7.js.map +1 -0
  674. package/dist/shared/{hx-tab-panel-J58zOSjq.js → hx-tab-panel-BIzKfW5i.js} +156 -102
  675. package/dist/shared/hx-tab-panel-BIzKfW5i.js.map +1 -0
  676. package/dist/shared/{hx-tag-F0ZcYj9b.js → hx-tag-CgnrNnte.js} +30 -18
  677. package/dist/shared/hx-tag-CgnrNnte.js.map +1 -0
  678. package/dist/shared/{hx-td-CNCvzBwY.js → hx-td-Bra35cH4.js} +55 -47
  679. package/dist/shared/hx-td-Bra35cH4.js.map +1 -0
  680. package/dist/shared/{hx-text-DcWBqZwx.js → hx-text-DMC2CPlL.js} +74 -41
  681. package/dist/shared/hx-text-DMC2CPlL.js.map +1 -0
  682. package/dist/shared/{hx-text-input-Zuodg9s_.js → hx-text-input--q0GH78x.js} +123 -62
  683. package/dist/shared/hx-text-input--q0GH78x.js.map +1 -0
  684. package/dist/shared/{hx-textarea-BfSJJtA1.js → hx-textarea-CK621vSL.js} +124 -89
  685. package/dist/shared/hx-textarea-CK621vSL.js.map +1 -0
  686. package/dist/shared/{hx-theme-pc1V7dyL.js → hx-theme-DfEy-SJA.js} +72 -64
  687. package/dist/shared/hx-theme-DfEy-SJA.js.map +1 -0
  688. package/dist/shared/{hx-time-picker-CZvmihHD.js → hx-time-picker-tPUfgElQ.js} +300 -82
  689. package/dist/shared/hx-time-picker-tPUfgElQ.js.map +1 -0
  690. package/dist/shared/{hx-toggle-button-BZUQUULm.js → hx-toggle-button-L-uBJr-a.js} +72 -42
  691. package/dist/shared/hx-toggle-button-L-uBJr-a.js.map +1 -0
  692. package/dist/shared/{hx-tooltip-Ny4i1Idj.js → hx-tooltip-B_zfKvwc.js} +44 -31
  693. package/dist/shared/hx-tooltip-B_zfKvwc.js.map +1 -0
  694. package/dist/shared/{hx-top-nav-CC4FW2Hp.js → hx-top-nav-CATbRvIv.js} +53 -30
  695. package/dist/shared/hx-top-nav-CATbRvIv.js.map +1 -0
  696. package/dist/shared/{hx-tree-item-CPQ9dJiK.js → hx-tree-item-A45WCiBu.js} +37 -9
  697. package/dist/shared/hx-tree-item-A45WCiBu.js.map +1 -0
  698. package/dist/shared/hx-visually-hidden-0bZKOWgT.js +66 -0
  699. package/dist/shared/hx-visually-hidden-0bZKOWgT.js.map +1 -0
  700. package/dist/shared/id-counter-DuX8vsui.js +11 -0
  701. package/dist/shared/{id-counter-PTgF-zcG.js.map → id-counter-DuX8vsui.js.map} +1 -1
  702. package/dist/shared/{toast-factory-CEMNOt1T.js → toast-factory-BPPnG3mM.js} +58 -46
  703. package/dist/shared/toast-factory-BPPnG3mM.js.map +1 -0
  704. package/dist/utilities/injectLightStyles.d.ts.map +1 -1
  705. package/dist/utilities/sanitizeCss.d.ts +43 -0
  706. package/dist/utilities/sanitizeCss.d.ts.map +1 -0
  707. package/package.json +29 -13
  708. package/dist/shared/FormMixin-Bjvw20G5.js.map +0 -1
  709. package/dist/shared/aria-delegation-CBP9eQ0M.js.map +0 -1
  710. package/dist/shared/document-token-adoption-DuYNKd4k.js +0 -21
  711. package/dist/shared/document-token-adoption-DuYNKd4k.js.map +0 -1
  712. package/dist/shared/helix-element-CZvaIEQP.js.map +0 -1
  713. package/dist/shared/hx-accordion-CpfO0YQo.js.map +0 -1
  714. package/dist/shared/hx-action-bar-CNLYufVd.js.map +0 -1
  715. package/dist/shared/hx-alert-CHOjTBds.js.map +0 -1
  716. package/dist/shared/hx-avatar-an-WsuLl.js.map +0 -1
  717. package/dist/shared/hx-badge-RPzd-t5l.js.map +0 -1
  718. package/dist/shared/hx-banner-B-WEDiq7.js.map +0 -1
  719. package/dist/shared/hx-breadcrumb-item-jLAKK038.js.map +0 -1
  720. package/dist/shared/hx-button-DoN8jjQT.js.map +0 -1
  721. package/dist/shared/hx-button-group-BXlMQTt_.js.map +0 -1
  722. package/dist/shared/hx-card-BgXZXDuc.js.map +0 -1
  723. package/dist/shared/hx-carousel-item-Dwt9Pphz.js.map +0 -1
  724. package/dist/shared/hx-checkbox-C82GjRXe.js.map +0 -1
  725. package/dist/shared/hx-checkbox-group-DThZeN5d.js.map +0 -1
  726. package/dist/shared/hx-clinical-status-BjtT5c0M.js.map +0 -1
  727. package/dist/shared/hx-code-snippet-DcVENSuC.js.map +0 -1
  728. package/dist/shared/hx-color-picker-C6EIuS9t.js.map +0 -1
  729. package/dist/shared/hx-combobox-BJ4lQocO.js +0 -544
  730. package/dist/shared/hx-combobox-BJ4lQocO.js.map +0 -1
  731. package/dist/shared/hx-container-BwWbMPTH.js.map +0 -1
  732. package/dist/shared/hx-copy-button-BoM0WsMd.js.map +0 -1
  733. package/dist/shared/hx-counter-B5NgKlw4.js.map +0 -1
  734. package/dist/shared/hx-data-table-D5Ne-goy.js.map +0 -1
  735. package/dist/shared/hx-date-picker-Cd3I3WkX.js +0 -627
  736. package/dist/shared/hx-date-picker-Cd3I3WkX.js.map +0 -1
  737. package/dist/shared/hx-dialog-D4ubstxx.js.map +0 -1
  738. package/dist/shared/hx-divider-BBtOLHRP.js.map +0 -1
  739. package/dist/shared/hx-drawer--WDLuWtS.js.map +0 -1
  740. package/dist/shared/hx-dropdown-n5-XSmiV.js.map +0 -1
  741. package/dist/shared/hx-field-CwT9tki1.js.map +0 -1
  742. package/dist/shared/hx-field-label-CcOK9VU3.js.map +0 -1
  743. package/dist/shared/hx-file-upload-Di_vpQaG.js.map +0 -1
  744. package/dist/shared/hx-form-BM6PHsw3.js.map +0 -1
  745. package/dist/shared/hx-format-date-B7L9odbA.js.map +0 -1
  746. package/dist/shared/hx-grid-BIAR5h9m.js.map +0 -1
  747. package/dist/shared/hx-help-text-Bmb80bP4.js.map +0 -1
  748. package/dist/shared/hx-icon-BKHs3OLu.js.map +0 -1
  749. package/dist/shared/hx-icon-button-CJuy9xbw.js.map +0 -1
  750. package/dist/shared/hx-image-ztiXumZB.js.map +0 -1
  751. package/dist/shared/hx-link-CN7AvGOW.js.map +0 -1
  752. package/dist/shared/hx-list-Dnei26t4.js.map +0 -1
  753. package/dist/shared/hx-menu-divider-DRT8yHRZ.js.map +0 -1
  754. package/dist/shared/hx-meter-BcVC9yrt.js.map +0 -1
  755. package/dist/shared/hx-nav-item-CJN4VDrf.js.map +0 -1
  756. package/dist/shared/hx-nav-l0Rp7WPW.js.map +0 -1
  757. package/dist/shared/hx-number-input-0Waw7Z7u.js.map +0 -1
  758. package/dist/shared/hx-overflow-menu-DElwFSCd.js.map +0 -1
  759. package/dist/shared/hx-pagination-BNtx-LG6.js.map +0 -1
  760. package/dist/shared/hx-patient-banner-BKiN7nIE.js.map +0 -1
  761. package/dist/shared/hx-phi-field-DD1qcBSO.js.map +0 -1
  762. package/dist/shared/hx-popover-CydNuVkT.js.map +0 -1
  763. package/dist/shared/hx-popup-DbzezTOd.js.map +0 -1
  764. package/dist/shared/hx-progress-bar-Cm0VihTN.js.map +0 -1
  765. package/dist/shared/hx-progress-ring-Cs0WgWDJ.js.map +0 -1
  766. package/dist/shared/hx-radio-f8c5ggHG.js.map +0 -1
  767. package/dist/shared/hx-rating-qRJZXskm.js.map +0 -1
  768. package/dist/shared/hx-select-CgcgsHU5.js.map +0 -1
  769. package/dist/shared/hx-skeleton-tiYvKO-t.js.map +0 -1
  770. package/dist/shared/hx-slider-BvXtvxmN.js.map +0 -1
  771. package/dist/shared/hx-spinner-D6nzuGmj.js.map +0 -1
  772. package/dist/shared/hx-split-button-CPndTJlC.js.map +0 -1
  773. package/dist/shared/hx-split-panel-Dx72NaET.js.map +0 -1
  774. package/dist/shared/hx-stack-B76_1O6g.js.map +0 -1
  775. package/dist/shared/hx-stat-DKlyBL_K.js.map +0 -1
  776. package/dist/shared/hx-status-indicator-ClWpK6zz.js.map +0 -1
  777. package/dist/shared/hx-step-C2Jk4mHa.js.map +0 -1
  778. package/dist/shared/hx-structured-list-DKlrv7kS.js.map +0 -1
  779. package/dist/shared/hx-style-scope-CsQ2Phf_.js +0 -126
  780. package/dist/shared/hx-style-scope-CsQ2Phf_.js.map +0 -1
  781. package/dist/shared/hx-switch-BzMN37PV.js.map +0 -1
  782. package/dist/shared/hx-tab-panel-J58zOSjq.js.map +0 -1
  783. package/dist/shared/hx-tag-F0ZcYj9b.js.map +0 -1
  784. package/dist/shared/hx-td-CNCvzBwY.js.map +0 -1
  785. package/dist/shared/hx-text-DcWBqZwx.js.map +0 -1
  786. package/dist/shared/hx-text-input-Zuodg9s_.js.map +0 -1
  787. package/dist/shared/hx-textarea-BfSJJtA1.js.map +0 -1
  788. package/dist/shared/hx-theme-pc1V7dyL.js.map +0 -1
  789. package/dist/shared/hx-time-picker-CZvmihHD.js.map +0 -1
  790. package/dist/shared/hx-toggle-button-BZUQUULm.js.map +0 -1
  791. package/dist/shared/hx-tooltip-Ny4i1Idj.js.map +0 -1
  792. package/dist/shared/hx-top-nav-CC4FW2Hp.js.map +0 -1
  793. package/dist/shared/hx-tree-item-CPQ9dJiK.js.map +0 -1
  794. package/dist/shared/hx-visually-hidden-vKX8QjeX.js +0 -54
  795. package/dist/shared/hx-visually-hidden-vKX8QjeX.js.map +0 -1
  796. package/dist/shared/id-counter-PTgF-zcG.js +0 -15
  797. package/dist/shared/toast-factory-CEMNOt1T.js.map +0 -1
  798. package/dist/tools/cem-a11y-analyzer/analyzers/aria-analyzer.d.ts +0 -12
  799. package/dist/tools/cem-a11y-analyzer/analyzers/aria-analyzer.d.ts.map +0 -1
  800. package/dist/tools/cem-a11y-analyzer/analyzers/focus-analyzer.d.ts +0 -13
  801. package/dist/tools/cem-a11y-analyzer/analyzers/focus-analyzer.d.ts.map +0 -1
  802. package/dist/tools/cem-a11y-analyzer/analyzers/form-analyzer.d.ts +0 -13
  803. package/dist/tools/cem-a11y-analyzer/analyzers/form-analyzer.d.ts.map +0 -1
  804. package/dist/tools/cem-a11y-analyzer/analyzers/keyboard-analyzer.d.ts +0 -12
  805. package/dist/tools/cem-a11y-analyzer/analyzers/keyboard-analyzer.d.ts.map +0 -1
  806. package/dist/tools/cem-a11y-analyzer/analyzers/label-analyzer.d.ts +0 -13
  807. package/dist/tools/cem-a11y-analyzer/analyzers/label-analyzer.d.ts.map +0 -1
  808. package/dist/tools/cem-a11y-analyzer/analyzers/motion-analyzer.d.ts +0 -12
  809. package/dist/tools/cem-a11y-analyzer/analyzers/motion-analyzer.d.ts.map +0 -1
  810. package/dist/tools/cem-a11y-analyzer/index.d.ts +0 -14
  811. package/dist/tools/cem-a11y-analyzer/index.d.ts.map +0 -1
  812. package/dist/tools/cem-a11y-analyzer/reporter.d.ts +0 -6
  813. package/dist/tools/cem-a11y-analyzer/reporter.d.ts.map +0 -1
  814. package/dist/tools/cem-a11y-analyzer/scorer.d.ts +0 -22
  815. package/dist/tools/cem-a11y-analyzer/scorer.d.ts.map +0 -1
  816. package/dist/tools/cem-a11y-analyzer/types.d.ts +0 -171
  817. package/dist/tools/cem-a11y-analyzer/types.d.ts.map +0 -1
@@ -1,12 +1,12 @@
1
- import { css as b, LitElement as m, html as l, nothing as p } from "lit";
2
- import "./document-token-adoption-DuYNKd4k.js";
3
- import { property as d, state as f, customElement as y } from "lit/decorators.js";
4
- import { repeat as w } from "lit/directives/repeat.js";
5
- const x = b`
1
+ import { css as f, html as c, nothing as p } from "lit";
2
+ import { property as d, state as b, customElement as m } from "lit/decorators.js";
3
+ import { repeat as x } from "lit/directives/repeat.js";
4
+ import { H as y } from "./helix-element-BNEYeiys.js";
5
+ const v = f`
6
6
  :host {
7
7
  display: block;
8
8
  overflow-x: auto;
9
- font-family: var(--hx-font-family-sans, sans-serif);
9
+ font-family: var(--hx-data-table-font-family, var(--hx-font-family-sans, sans-serif));
10
10
  font-size: var(--hx-font-size-sm, 0.875rem);
11
11
  }
12
12
 
@@ -209,73 +209,96 @@ const x = b`
209
209
  color: var(--hx-data-table-empty-color, var(--hx-color-neutral-600, #475569));
210
210
  padding: var(--hx-space-8, 2rem) var(--hx-space-4, 1rem);
211
211
  }
212
+
213
+ /* ─── Forced Colors (Windows High Contrast) ─── */
214
+
215
+ @media (forced-colors: active) {
216
+ table {
217
+ border: 1px solid CanvasText;
218
+ }
219
+
220
+ th,
221
+ td {
222
+ border-bottom-color: CanvasText;
223
+ }
224
+
225
+ tbody tr[aria-selected='true'] {
226
+ outline: 2px solid Highlight;
227
+ }
228
+
229
+ .skeleton-cell {
230
+ animation: none;
231
+ border: 1px solid GrayText;
232
+ background: none;
233
+ }
234
+ }
212
235
  `;
213
- var g = Object.defineProperty, v = Object.getOwnPropertyDescriptor, n = (t, e, r, a) => {
214
- for (var s = a > 1 ? void 0 : a ? v(e, r) : e, o = t.length - 1, c; o >= 0; o--)
215
- (c = t[o]) && (s = (a ? c(e, r, s) : c(s)) || s);
216
- return a && s && g(e, r, s), s;
236
+ var w = Object.defineProperty, g = Object.getOwnPropertyDescriptor, n = (e, r, t, o) => {
237
+ for (var s = o > 1 ? void 0 : o ? g(r, t) : r, a = e.length - 1, h; a >= 0; a--)
238
+ (h = e[a]) && (s = (o ? h(r, t, s) : h(s)) || s);
239
+ return o && s && w(r, t, s), s;
217
240
  };
218
- let i = class extends m {
241
+ let i = class extends y {
219
242
  constructor() {
220
- super(...arguments), this.columns = [], this.rows = [], this.selectable = !1, this.sortKey = "", this.sortDirection = "asc", this.loading = !1, this.emptyLabel = "No data", this.label = "", this.selectAllLabel = "Select all rows", this.stickyHeader = !1, this.page = 1, this.pageSize = 0, this._selectedRows = /* @__PURE__ */ new Set(), this._cachedCells = null;
243
+ super(...arguments), this.columns = [], this.rows = [], this.selectable = !1, this.sortKey = "", this.sortDirection = "asc", this.loading = !1, this.emptyLabel = "No data", this.label = "", this.selectAllLabel = "Select all rows", this.stickyHeader = !1, this.page = 1, this.pageSize = 0, this._selectedRows = /* @__PURE__ */ new Set(), this._cachedCells = null, this._focusedHeaderIndex = -1, this._resolvedColumns = [], this._resolvedRows = [];
221
244
  }
222
245
  // ─── Lifecycle ───
223
- willUpdate(t) {
224
- if (t.has("columns")) {
225
- const e = this.columns;
226
- if (typeof e == "string")
246
+ willUpdate(e) {
247
+ if (e.has("columns")) {
248
+ const r = this.columns;
249
+ if (typeof r == "string")
227
250
  try {
228
- this.columns = JSON.parse(e);
251
+ this._resolvedColumns = JSON.parse(r);
229
252
  } catch {
230
- this.columns = [];
253
+ this._resolvedColumns = [];
231
254
  }
232
- else Array.isArray(this.columns) || (this.columns = []);
255
+ else Array.isArray(this.columns) ? this._resolvedColumns = this.columns : this._resolvedColumns = [];
233
256
  }
234
- if (t.has("rows")) {
235
- const e = this.rows;
236
- if (typeof e == "string")
257
+ if (e.has("rows")) {
258
+ const r = this.rows;
259
+ if (typeof r == "string")
237
260
  try {
238
- this.rows = JSON.parse(e);
261
+ this._resolvedRows = JSON.parse(r);
239
262
  } catch {
240
- this.rows = [];
263
+ this._resolvedRows = [];
241
264
  }
242
- else Array.isArray(this.rows) || (this.rows = []);
265
+ else Array.isArray(this.rows) ? this._resolvedRows = this.rows : this._resolvedRows = [];
243
266
  }
244
- t.has("rows") && this.rows.length > 500, (t.has("label") || t.has("columns")) && this.columns.length > 0 && this.label;
267
+ e.has("rows") && this._resolvedRows.length > 500, (e.has("label") || e.has("columns")) && this._resolvedColumns.length > 0 && this.label;
245
268
  }
246
- updated(t) {
247
- (t.has("rows") || t.has("columns")) && (this._cachedCells = null);
269
+ updated(e) {
270
+ (e.has("rows") || e.has("columns")) && (this._cachedCells = null);
248
271
  }
249
272
  // ─── Event Handlers ───
250
273
  /** @internal */
251
- _handleSort(t) {
252
- const e = this.sortKey === t && this.sortDirection === "asc" ? "desc" : "asc";
253
- this.sortKey = t, this.sortDirection = e, this.dispatchEvent(
274
+ _handleSort(e) {
275
+ const r = this.sortKey === e && this.sortDirection === "asc" ? "desc" : "asc";
276
+ this.sortKey = e, this.sortDirection = r, this.dispatchEvent(
254
277
  new CustomEvent("hx-sort", {
255
278
  bubbles: !0,
256
279
  composed: !0,
257
- detail: { key: t, direction: e }
280
+ detail: { key: e, direction: r }
258
281
  })
259
282
  );
260
283
  }
261
284
  /** @internal */
262
- _handleRowClick(t, e) {
285
+ _handleRowClick(e, r) {
263
286
  this.dispatchEvent(
264
287
  new CustomEvent("hx-row-click", {
265
288
  bubbles: !0,
266
289
  composed: !0,
267
- detail: { row: t, index: e }
290
+ detail: { row: e, index: r }
268
291
  })
269
292
  );
270
293
  }
271
294
  /** @internal */
272
- _handleSelect(t, e) {
273
- const r = new Set(this._selectedRows);
274
- e ? r.add(t) : r.delete(t), this._selectedRows = r, this._dispatchSelect();
295
+ _handleSelect(e, r) {
296
+ const t = new Set(this._selectedRows);
297
+ r ? t.add(e) : t.delete(e), this._selectedRows = t, this._dispatchSelect();
275
298
  }
276
299
  /** @internal */
277
- _handleSelectAll(t) {
278
- this._selectedRows = t ? new Set(this.rows.map((e, r) => r)) : /* @__PURE__ */ new Set(), this._dispatchSelect();
300
+ _handleSelectAll(e) {
301
+ this._selectedRows = e ? new Set(this._resolvedRows.map((r, t) => t)) : /* @__PURE__ */ new Set(), this._dispatchSelect();
279
302
  }
280
303
  /** @internal */
281
304
  _dispatchSelect() {
@@ -284,9 +307,9 @@ let i = class extends m {
284
307
  bubbles: !0,
285
308
  composed: !0,
286
309
  detail: {
287
- selectedRows: [...this._selectedRows].flatMap((t) => {
288
- const e = this.rows[t];
289
- return e !== void 0 ? [e] : [];
310
+ selectedRows: [...this._selectedRows].flatMap((e) => {
311
+ const r = this._resolvedRows[e];
312
+ return r !== void 0 ? [r] : [];
290
313
  })
291
314
  }
292
315
  })
@@ -294,62 +317,62 @@ let i = class extends m {
294
317
  }
295
318
  // ─── Keyboard Navigation ───
296
319
  /** @internal */
297
- _handleKeydown(t) {
320
+ _handleKeydown(e) {
298
321
  var u;
299
- if (!["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Home", "End", " "].includes(t.key))
322
+ if (!["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Home", "End", " "].includes(e.key))
300
323
  return;
301
- const e = this.shadowRoot;
302
- if (!e) return;
324
+ const r = this.shadowRoot;
325
+ if (!r) return;
303
326
  this._cachedCells || (this._cachedCells = Array.from(
304
- e.querySelectorAll('[part~="td"],[part~="th"]')
327
+ r.querySelectorAll('[part~="td"],[part~="th"]')
305
328
  ));
306
- const r = this._cachedCells;
307
- let a = e.activeElement;
308
- if (!a) return;
309
- if (r.indexOf(a) === -1) {
310
- let h = a.parentElement;
311
- for (; h; ) {
312
- if (r.includes(h)) {
313
- a = h;
329
+ const t = this._cachedCells;
330
+ let o = r.activeElement;
331
+ if (!o) return;
332
+ if (t.indexOf(o) === -1) {
333
+ let l = o.parentElement;
334
+ for (; l; ) {
335
+ if (t.includes(l)) {
336
+ o = l;
314
337
  break;
315
338
  }
316
- h = h.parentElement;
339
+ l = l.parentElement;
317
340
  }
318
341
  }
319
- const s = this.columns.length + (this.selectable ? 1 : 0), o = r.indexOf(a);
320
- if (o === -1) return;
321
- let c = null;
322
- if (t.key === "ArrowRight" && o + 1 < r.length)
323
- c = r[o + 1] ?? null;
324
- else if (t.key === "ArrowLeft" && o - 1 >= 0)
325
- c = r[o - 1] ?? null;
326
- else if (t.key === "ArrowDown" && o + s < r.length)
327
- c = r[o + s] ?? null;
328
- else if (t.key === "ArrowUp" && o - s >= 0)
329
- c = r[o - s] ?? null;
330
- else if (t.key === "Home") {
331
- const h = o - o % s;
332
- c = r[h] ?? null;
333
- } else if (t.key === "End") {
334
- const h = Math.min(o - o % s + s - 1, r.length - 1);
335
- c = r[h] ?? null;
336
- } else if (t.key === " " && ((u = a.getAttribute("part")) != null && u.includes("td"))) {
337
- const h = Number(a.dataset.rowIndex);
338
- this.selectable && !isNaN(h) && (t.preventDefault(), this._handleSelect(h, !this._selectedRows.has(h)));
342
+ const s = this._resolvedColumns.length + (this.selectable ? 1 : 0), a = t.indexOf(o);
343
+ if (a === -1) return;
344
+ let h = null;
345
+ if (e.key === "ArrowRight" && a + 1 < t.length)
346
+ h = t[a + 1] ?? null;
347
+ else if (e.key === "ArrowLeft" && a - 1 >= 0)
348
+ h = t[a - 1] ?? null;
349
+ else if (e.key === "ArrowDown" && a + s < t.length)
350
+ h = t[a + s] ?? null;
351
+ else if (e.key === "ArrowUp" && a - s >= 0)
352
+ h = t[a - s] ?? null;
353
+ else if (e.key === "Home") {
354
+ const l = a - a % s;
355
+ h = t[l] ?? null;
356
+ } else if (e.key === "End") {
357
+ const l = Math.min(a - a % s + s - 1, t.length - 1);
358
+ h = t[l] ?? null;
359
+ } else if (e.key === " " && ((u = o.getAttribute("part")) != null && u.includes("td"))) {
360
+ const l = Number(o.dataset.rowIndex);
361
+ this.selectable && !isNaN(l) && (e.preventDefault(), this._handleSelect(l, !this._selectedRows.has(l)));
339
362
  return;
340
363
  }
341
- c && (t.preventDefault(), c.setAttribute("tabindex", "0"), c.focus(), a.setAttribute("tabindex", "-1"));
364
+ h && (e.preventDefault(), h.setAttribute("tabindex", "0"), h.focus(), o.setAttribute("tabindex", "-1"));
342
365
  }
343
366
  // ─── Render Helpers ───
344
367
  /** @internal */
345
- _renderSortIcon(t) {
346
- const e = this.sortKey === t, r = [
368
+ _renderSortIcon(e) {
369
+ const r = this.sortKey === e, t = [
347
370
  "sort-icon",
348
- e ? "sort-icon--active" : "",
349
- e && this.sortDirection === "desc" ? "sort-icon--desc" : ""
371
+ r ? "sort-icon--active" : "",
372
+ r && this.sortDirection === "desc" ? "sort-icon--desc" : ""
350
373
  ].filter(Boolean).join(" ");
351
- return l`
352
- <span part="sort-icon" class=${r} aria-hidden="true">
374
+ return c`
375
+ <span part="sort-icon" class=${t} aria-hidden="true">
353
376
  <svg
354
377
  xmlns="http://www.w3.org/2000/svg"
355
378
  viewBox="0 0 16 16"
@@ -362,31 +385,70 @@ let i = class extends m {
362
385
  </span>
363
386
  `;
364
387
  }
388
+ /**
389
+ * Returns the indices (within the columns array) of all sortable columns.
390
+ * @internal
391
+ */
392
+ get _sortableIndices() {
393
+ return this._resolvedColumns.reduce((e, r, t) => (r.sortable && e.push(t), e), []);
394
+ }
395
+ /**
396
+ * Handles keyboard navigation between sortable column headers using the
397
+ * roving tabindex pattern (ARIA Grid specification). Supports ArrowLeft/Right
398
+ * to move between sortable headers, Home/End to jump to first/last, and
399
+ * Enter/Space to trigger sort on the focused sortable header.
400
+ * @internal
401
+ */
402
+ _handleHeaderKeydown(e) {
403
+ var u;
404
+ const r = this._sortableIndices;
405
+ if (r.length === 0) return;
406
+ if (e.key === "Enter" || e.key === " ") {
407
+ const l = this._resolvedColumns[this._focusedHeaderIndex];
408
+ l != null && l.sortable && (e.preventDefault(), this._handleSort(l.key));
409
+ return;
410
+ }
411
+ if (!["ArrowLeft", "ArrowRight", "Home", "End"].includes(e.key)) return;
412
+ const t = r.indexOf(this._focusedHeaderIndex);
413
+ if (t === -1) return;
414
+ let o;
415
+ e.key === "ArrowRight" ? o = t === -1 ? 0 : Math.min(t + 1, r.length - 1) : e.key === "ArrowLeft" ? o = t <= 0 ? 0 : t - 1 : e.key === "Home" ? o = 0 : o = r.length - 1;
416
+ const s = r[o];
417
+ if (s === void 0) return;
418
+ e.preventDefault(), this._focusedHeaderIndex = s;
419
+ const a = (u = this.shadowRoot) == null ? void 0 : u.querySelectorAll("thead th[data-col-index]"), h = (a == null ? void 0 : a[s]) ?? null;
420
+ h && h.focus();
421
+ }
365
422
  /** @internal */
366
423
  _renderHeaderRow() {
367
- return l`
368
- <tr part="tr">
369
- ${this.selectable ? l`
424
+ const e = this._sortableIndices, r = this._focusedHeaderIndex >= 0 ? this._focusedHeaderIndex : e[0] ?? -1;
425
+ return c`
426
+ <tr part="tr" @keydown=${this._handleHeaderKeydown}>
427
+ ${this.selectable ? c`
370
428
  <th part="th" class="col-checkbox" tabindex="0">
371
429
  <input
372
430
  type="checkbox"
373
431
  part="checkbox"
374
432
  aria-label=${this.selectAllLabel}
375
- .indeterminate=${this._selectedRows.size > 0 && this._selectedRows.size < this.rows.length}
376
- .checked=${this._selectedRows.size === this.rows.length && this.rows.length > 0}
433
+ .indeterminate=${this._selectedRows.size > 0 && this._selectedRows.size < this._resolvedRows.length}
434
+ .checked=${this._selectedRows.size === this._resolvedRows.length && this._resolvedRows.length > 0}
377
435
  @change=${(t) => this._handleSelectAll(t.target.checked)}
378
436
  />
379
437
  </th>
380
438
  ` : p}
381
- ${this.columns.map(
382
- (t) => l`
439
+ ${this._resolvedColumns.map(
440
+ (t, o) => c`
383
441
  <th
384
442
  part="th"
385
- tabindex="0"
443
+ data-col-index=${o}
444
+ tabindex=${t.sortable && o === r ? "0" : "-1"}
386
445
  style=${t.width ? `width: ${t.width}` : ""}
387
446
  aria-sort=${t.sortable ? this.sortKey === t.key ? this.sortDirection === "asc" ? "ascending" : "descending" : "none" : p}
447
+ @focus=${t.sortable ? () => {
448
+ this._focusedHeaderIndex = o;
449
+ } : p}
388
450
  >
389
- ${t.sortable ? l`
451
+ ${t.sortable ? c`
390
452
  <button
391
453
  class="sort-btn"
392
454
  @click=${() => this._handleSort(t.key)}
@@ -405,13 +467,13 @@ let i = class extends m {
405
467
  _renderSkeletonRows() {
406
468
  return Array.from(
407
469
  { length: 3 },
408
- (t) => l`
470
+ (e) => c`
409
471
  <tr part="tr" aria-hidden="true">
410
- ${this.selectable ? l`<td part="td" class="col-checkbox">
472
+ ${this.selectable ? c`<td part="td" class="col-checkbox">
411
473
  <span class="skeleton-cell" style="width:1rem;margin:auto"></span>
412
474
  </td>` : p}
413
- ${this.columns.map(
414
- () => l`
475
+ ${this._resolvedColumns.map(
476
+ () => c`
415
477
  <td part="td">
416
478
  <span class="skeleton-cell"></span>
417
479
  </td>
@@ -423,10 +485,10 @@ let i = class extends m {
423
485
  }
424
486
  /** @internal */
425
487
  _renderEmptyRow() {
426
- const t = this.columns.length + (this.selectable ? 1 : 0);
427
- return l`
488
+ const e = this._resolvedColumns.length + (this.selectable ? 1 : 0);
489
+ return c`
428
490
  <tr part="tr">
429
- <td part="td" colspan=${t} class="empty-cell">
491
+ <td part="td" colspan=${e} class="empty-cell">
430
492
  <slot name="empty">${this.emptyLabel}</slot>
431
493
  </td>
432
494
  </tr>
@@ -434,41 +496,41 @@ let i = class extends m {
434
496
  }
435
497
  /** @internal */
436
498
  _renderDataRows() {
437
- let t = this.rows;
499
+ let e = this._resolvedRows;
438
500
  if (this.pageSize > 0) {
439
- const e = (this.page - 1) * this.pageSize;
440
- t = this.rows.slice(e, e + this.pageSize);
501
+ const r = (this.page - 1) * this.pageSize;
502
+ e = this._resolvedRows.slice(r, r + this.pageSize);
441
503
  }
442
- return w(
443
- t,
444
- (e, r) => this.pageSize > 0 ? (this.page - 1) * this.pageSize + r : r,
445
- (e, r) => {
446
- const a = this.pageSize > 0 ? (this.page - 1) * this.pageSize + r : r;
447
- return l`
504
+ return x(
505
+ e,
506
+ (r, t) => this.pageSize > 0 ? (this.page - 1) * this.pageSize + t : t,
507
+ (r, t) => {
508
+ const o = this.pageSize > 0 ? (this.page - 1) * this.pageSize + t : t;
509
+ return c`
448
510
  <tr
449
511
  part="tr"
450
- aria-selected=${this.selectable ? String(this._selectedRows.has(a)) : p}
451
- @click=${() => this._handleRowClick(e, a)}
512
+ aria-selected=${this.selectable ? String(this._selectedRows.has(o)) : p}
513
+ @click=${() => this._handleRowClick(r, o)}
452
514
  @keydown=${(s) => {
453
- (s.key === "Enter" || s.key === " ") && (s.preventDefault(), this._handleRowClick(e, a));
515
+ (s.key === "Enter" || s.key === " ") && (s.preventDefault(), this._handleRowClick(r, o));
454
516
  }}
455
517
  >
456
- ${this.selectable ? l`
457
- <td part="td" class="col-checkbox" tabindex="-1" data-row-index=${a}>
518
+ ${this.selectable ? c`
519
+ <td part="td" class="col-checkbox" tabindex="-1" data-row-index=${o}>
458
520
  <input
459
521
  type="checkbox"
460
522
  part="checkbox"
461
- aria-label=${`Select row ${a + 1}`}
462
- .checked=${this._selectedRows.has(a)}
523
+ aria-label=${`Select row ${o + 1}`}
524
+ .checked=${this._selectedRows.has(o)}
463
525
  @click=${(s) => s.stopPropagation()}
464
- @change=${(s) => this._handleSelect(a, s.target.checked)}
526
+ @change=${(s) => this._handleSelect(o, s.target.checked)}
465
527
  />
466
528
  </td>
467
529
  ` : p}
468
- ${this.columns.map(
469
- (s) => l`
470
- <td part="td" tabindex="-1" data-row-index=${a}>
471
- ${e[s.key] != null ? String(e[s.key]) : ""}
530
+ ${this._resolvedColumns.map(
531
+ (s) => c`
532
+ <td part="td" tabindex="-1" data-row-index=${o}>
533
+ ${r[s.key] != null ? String(r[s.key]) : ""}
472
534
  </td>
473
535
  `
474
536
  )}
@@ -479,7 +541,7 @@ let i = class extends m {
479
541
  }
480
542
  // ─── Render ───
481
543
  render() {
482
- return l`
544
+ return c`
483
545
  <slot name="toolbar"></slot>
484
546
  <div class="table-wrapper">
485
547
  <table
@@ -493,22 +555,22 @@ let i = class extends m {
493
555
  ${this._renderHeaderRow()}
494
556
  </thead>
495
557
  <tbody part="tbody">
496
- ${this.loading ? l`<slot name="loading">${this._renderSkeletonRows()}</slot>` : this.rows.length === 0 ? this._renderEmptyRow() : this._renderDataRows()}
558
+ ${this.loading ? c`<slot name="loading">${this._renderSkeletonRows()}</slot>` : this._resolvedRows.length === 0 ? this._renderEmptyRow() : this._renderDataRows()}
497
559
  </tbody>
498
560
  </table>
499
561
  </div>
500
562
  `;
501
563
  }
502
564
  };
503
- i.styles = [x];
565
+ i.styles = [v];
504
566
  n([
505
567
  d({
506
568
  type: Array,
507
569
  converter: {
508
- fromAttribute(t) {
509
- if (!t) return [];
570
+ fromAttribute(e) {
571
+ if (!e) return [];
510
572
  try {
511
- return JSON.parse(t);
573
+ return JSON.parse(e);
512
574
  } catch {
513
575
  return [];
514
576
  }
@@ -520,10 +582,10 @@ n([
520
582
  d({
521
583
  type: Array,
522
584
  converter: {
523
- fromAttribute(t) {
524
- if (!t) return [];
585
+ fromAttribute(e) {
586
+ if (!e) return [];
525
587
  try {
526
- return JSON.parse(t);
588
+ return JSON.parse(e);
527
589
  } catch {
528
590
  return [];
529
591
  }
@@ -562,12 +624,21 @@ n([
562
624
  d({ type: Number, attribute: "page-size" })
563
625
  ], i.prototype, "pageSize", 2);
564
626
  n([
565
- f()
627
+ b()
566
628
  ], i.prototype, "_selectedRows", 2);
629
+ n([
630
+ b()
631
+ ], i.prototype, "_focusedHeaderIndex", 2);
632
+ n([
633
+ b()
634
+ ], i.prototype, "_resolvedColumns", 2);
635
+ n([
636
+ b()
637
+ ], i.prototype, "_resolvedRows", 2);
567
638
  i = n([
568
- y("hx-data-table")
639
+ m("hx-data-table")
569
640
  ], i);
570
641
  export {
571
642
  i as H
572
643
  };
573
- //# sourceMappingURL=hx-data-table-D5Ne-goy.js.map
644
+ //# sourceMappingURL=hx-data-table-B6h0RPn0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hx-data-table-B6h0RPn0.js","sources":["../../src/components/hx-data-table/hx-data-table.styles.ts","../../src/components/hx-data-table/hx-data-table.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixDataTableStyles = css`\n :host {\n display: block;\n overflow-x: auto;\n font-family: var(--hx-data-table-font-family, var(--hx-font-family-sans, sans-serif));\n font-size: var(--hx-font-size-sm, 0.875rem);\n }\n\n /* ─── Scroll Wrapper ─── */\n\n .table-wrapper {\n min-width: 0;\n width: 100%;\n }\n\n /* ─── Table ─── */\n\n table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n min-width: var(--hx-data-table-min-width, 600px);\n }\n\n /* ─── Head ─── */\n\n thead {\n background-color: var(--hx-data-table-header-bg, var(--hx-color-neutral-50, #f8fafc));\n }\n\n :host([sticky-header]) thead th {\n position: sticky;\n top: 0;\n z-index: 1;\n background-color: var(--hx-data-table-header-bg, var(--hx-color-neutral-50, #f8fafc));\n }\n\n /* ─── Cells ─── */\n\n th,\n td {\n padding: var(--hx-space-3, 0.75rem) var(--hx-space-4, 1rem);\n text-align: start;\n border-bottom: var(--hx-border-width-thin, 1px) solid\n var(--hx-data-table-border-color, var(--hx-color-neutral-200, #e2e8f0));\n vertical-align: middle;\n }\n\n th {\n font-weight: var(--hx-font-weight-semibold, 600);\n color: var(--hx-data-table-header-color, var(--hx-color-neutral-700, #334155));\n white-space: nowrap;\n }\n\n td {\n color: var(--hx-data-table-cell-color, var(--hx-color-neutral-900, #0f172a));\n }\n\n /* ─── Checkbox Column ─── */\n\n th.col-checkbox,\n td.col-checkbox {\n /* WCAG 2.5.5 (healthcare mandate): minimum 44x44px touch target */\n width: var(--hx-touch-target-min, 2.75rem);\n min-width: var(--hx-touch-target-min, 2.75rem);\n padding-inline-end: var(--hx-space-2, 0.5rem);\n }\n\n th.col-checkbox {\n text-align: center;\n }\n\n td.col-checkbox {\n text-align: center;\n }\n\n /* ─── Sort Button ─── */\n\n .sort-btn {\n display: inline-flex;\n align-items: center;\n gap: var(--hx-space-1, 0.25rem);\n background: none;\n border: none;\n padding: 0;\n font: inherit;\n font-weight: inherit;\n color: inherit;\n cursor: pointer;\n white-space: nowrap;\n }\n\n .sort-btn:focus-visible {\n outline: var(--hx-focus-ring-width, 2px) solid\n var(--hx-focus-ring-color, var(--hx-color-primary-500, #2563eb));\n outline-offset: var(--hx-focus-ring-offset, 2px);\n border-radius: var(--hx-border-radius-sm, 2px);\n }\n\n /* ─── Sort Icon ─── */\n\n .sort-icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n opacity: var(--hx-opacity-25, 0.25); /* sort icon inactive — intentionally subtle */\n transition:\n opacity var(--hx-transition-fast, 150ms ease),\n transform var(--hx-transition-fast, 150ms ease);\n }\n\n .sort-icon--active {\n opacity: var(--hx-opacity-100, 1);\n color: var(--hx-color-primary-500, #2563eb);\n }\n\n .sort-icon--desc {\n transform: rotate(180deg);\n }\n\n /* ─── Row States ─── */\n\n tbody tr {\n transition: background-color var(--hx-transition-fast, 150ms ease);\n }\n\n tbody tr:hover {\n background-color: var(--hx-data-table-row-hover-bg, var(--hx-color-neutral-50, #f8fafc));\n }\n\n tbody tr[aria-selected='true'] {\n background-color: var(--hx-data-table-row-selected-bg, var(--hx-color-primary-50, #eff6ff));\n }\n\n /* ─── Checkbox Input ─── */\n\n input[type='checkbox'] {\n width: var(--hx-size-4, 1rem);\n height: var(--hx-size-4, 1rem);\n cursor: pointer;\n accent-color: var(--hx-color-primary-500, #2563eb);\n }\n\n /* ─── Loading Skeleton ─── */\n\n .skeleton-cell {\n display: block;\n height: 1em;\n border-radius: var(--hx-border-radius-sm, 2px);\n background: linear-gradient(\n 90deg,\n var(--hx-color-neutral-200, #e2e8f0) 25%,\n var(--hx-color-neutral-100, #f1f5f9) 50%,\n var(--hx-color-neutral-200, #e2e8f0) 75%\n );\n background-size: 200% 100%;\n animation: hx-shimmer var(--hx-data-table-shimmer-duration, 1.5s) infinite;\n }\n\n @keyframes hx-shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .skeleton-cell {\n animation: none;\n opacity: var(\n --hx-opacity-50,\n 0.5\n ); /* reduced from animation; approximate to available token */\n }\n\n .sort-icon {\n transition: none;\n }\n\n tbody tr {\n transition: none;\n }\n }\n\n /* ─── Cell Focus ─── */\n\n td:focus-visible,\n th:focus-visible,\n [part~='td']:focus-visible,\n [part~='th']:focus-visible {\n outline: var(--hx-focus-ring-width, 2px) solid\n var(--hx-focus-ring-color, var(--hx-color-primary-500, #2563eb));\n outline-offset: var(--hx-focus-ring-offset, -2px);\n border-radius: var(--hx-border-radius-sm, 2px);\n }\n\n /* ─── Empty State ─── */\n\n .empty-cell {\n text-align: center;\n color: var(--hx-data-table-empty-color, var(--hx-color-neutral-600, #475569));\n padding: var(--hx-space-8, 2rem) var(--hx-space-4, 1rem);\n }\n\n /* ─── Forced Colors (Windows High Contrast) ─── */\n\n @media (forced-colors: active) {\n table {\n border: 1px solid CanvasText;\n }\n\n th,\n td {\n border-bottom-color: CanvasText;\n }\n\n tbody tr[aria-selected='true'] {\n outline: 2px solid Highlight;\n }\n\n .skeleton-cell {\n animation: none;\n border: 1px solid GrayText;\n background: none;\n }\n }\n`;\n","import { html, nothing, type PropertyValues } from 'lit';\nimport '../../utilities/document-token-adoption.js';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { HelixElement } from '../../base/index.js';\nimport { helixDataTableStyles } from './hx-data-table.styles.js';\nimport { devWarn } from '../../utils/dev-warn.js';\n\n/**\n * Column definition for `hx-data-table`.\n */\nexport interface HxDataTableColumn {\n key: string;\n label: string;\n sortable?: boolean;\n width?: string;\n}\n\n/**\n * Sort state exported for TypeScript consumers and CEM event types.\n */\nexport interface HxDataTableSortState {\n key: string;\n direction: 'asc' | 'desc';\n}\n\n/** Detail for the hx-select event dispatched by hx-data-table. */\nexport interface HxDataTableSelectDetail {\n selectedRows: Record<string, unknown>[];\n}\n\n/** Detail for the hx-row-click event dispatched by hx-data-table. */\nexport interface HxDataTableRowClickDetail {\n row: Record<string, unknown>;\n index: number;\n}\n\n/**\n * An enterprise data table with sorting, row selection, and keyboard navigation.\n *\n * @summary Enterprise data table with sorting, selection, and responsive scroll.\n *\n * @tag hx-data-table\n *\n * @slot toolbar - Content rendered above the table (e.g., search, actions).\n * @slot empty - Custom empty-state content rendered when `rows` is empty and not loading.\n * @slot loading - Custom loading content rendered when `loading` is true.\n *\n * @fires {CustomEvent<HxDataTableSortState>} hx-sort - Dispatched when a sortable column header is clicked.\n * @fires {CustomEvent<{selectedRows: Record<string, unknown>[]}>} hx-select - Dispatched when row selection changes.\n * @fires {CustomEvent<{row: Record<string, unknown>, index: number}>} hx-row-click - Dispatched when a data row is clicked.\n *\n * @csspart table - The `<table>` element.\n * @csspart thead - The `<thead>` element.\n * @csspart tbody - The `<tbody>` element.\n * @csspart tr - Each `<tr>` element.\n * @csspart th - Each `<th>` element.\n * @csspart td - Each `<td>` element.\n * @csspart sort-icon - The sort indicator icon `<span>` inside sortable headers.\n * @csspart checkbox - Each `<input type=\"checkbox\">` element.\n *\n * @cssprop [--hx-data-table-header-bg=var(--hx-color-neutral-50)] - Header background color.\n * @cssprop [--hx-data-table-header-color=var(--hx-color-neutral-700)] - Header text color.\n * @cssprop [--hx-data-table-cell-color=var(--hx-color-neutral-900)] - Cell text color.\n * @cssprop [--hx-data-table-border-color=var(--hx-color-neutral-200)] - Row border color.\n * @cssprop [--hx-data-table-row-hover-bg=var(--hx-color-neutral-50)] - Row hover background.\n * @cssprop [--hx-data-table-row-selected-bg=var(--hx-color-primary-50)] - Selected row background.\n * @cssprop [--hx-data-table-empty-color=var(--hx-color-neutral-600)] - Empty state text color.\n * @cssprop [--hx-data-table-min-width=600px] - Minimum table width before horizontal scrolling.\n */\n@customElement('hx-data-table')\nexport class HelixDataTable extends HelixElement {\n static override styles = [helixDataTableStyles];\n\n // ─── Public Properties ───\n\n /**\n * Column definitions. Each item: `{ key, label, sortable?, width? }`.\n * Can be set as a JS array or a JSON string (e.g., from a Drupal Twig attribute).\n * @attr columns\n */\n @property({\n type: Array,\n converter: {\n fromAttribute(value: string | null) {\n if (!value) return [];\n try {\n return JSON.parse(value);\n } catch {\n return [];\n }\n },\n },\n })\n columns: HxDataTableColumn[] = [];\n\n /**\n * Row data. Each item is a plain object keyed by column `key` values.\n * Can be set as a JS array or a JSON string (e.g., from a Drupal Twig attribute).\n * @attr rows\n */\n @property({\n type: Array,\n converter: {\n fromAttribute(value: string | null) {\n if (!value) return [];\n try {\n return JSON.parse(value);\n } catch {\n return [];\n }\n },\n },\n })\n rows: Record<string, unknown>[] = [];\n\n /**\n * When true, renders a checkbox column for row selection.\n * @attr selectable\n */\n @property({ type: Boolean, reflect: true })\n selectable = false;\n\n /**\n * The column key currently used for sorting.\n * @attr sort-key\n */\n @property({ type: String, attribute: 'sort-key' })\n sortKey = '';\n\n /**\n * Current sort direction.\n * @attr sort-direction\n */\n @property({ type: String, attribute: 'sort-direction' })\n sortDirection: 'asc' | 'desc' = 'asc';\n\n /**\n * When true, renders a loading skeleton and sets `aria-busy=\"true\"` on the host.\n * @attr loading\n */\n @property({ type: Boolean, reflect: true })\n loading = false;\n\n /**\n * Text displayed in the default empty state when `rows` is empty and not loading.\n * @attr empty-label\n */\n @property({ type: String, attribute: 'empty-label' })\n emptyLabel = 'No data';\n\n /**\n * Accessible name for the table. Exposed via `aria-label` on the `<table>` element.\n * Required when the table has columns — a missing label is a WCAG 4.1.2 violation.\n * @attr label\n */\n @property({ type: String })\n label = '';\n\n /**\n * Accessible label for the \"select all rows\" checkbox in the table header.\n * @attr select-all-label\n */\n @property({ attribute: 'select-all-label' })\n selectAllLabel = 'Select all rows';\n\n /**\n * When true, the header row is sticky (position: sticky; top: 0).\n * @attr sticky-header\n */\n @property({ type: Boolean, reflect: true, attribute: 'sticky-header' })\n stickyHeader = false;\n\n /**\n * Current page (1-based). Set to 0 or leave at default (0) to disable pagination.\n * @attr page\n */\n @property({ type: Number })\n page = 1;\n\n /**\n * Number of rows per page. Set to 0 to disable pagination (show all rows).\n * @attr page-size\n */\n @property({ type: Number, attribute: 'page-size' })\n pageSize = 0;\n\n // ─── Internal State ───\n\n /** @internal */\n @state()\n private _selectedRows: Set<number> = new Set();\n\n /**\n * Cached flat list of all td/th cells in the shadow DOM.\n * Invalidated (set to null) whenever rows or columns change so the next keydown\n * re-queries the DOM and re-caches. Avoids repeated querySelectorAll on every keypress.\n * @internal\n */\n private _cachedCells: HTMLElement[] | null = null;\n\n /**\n * Index (within the columns array) of the sortable header that currently holds\n * roving tabindex focus. -1 means no sortable header has been focused yet;\n * the first sortable column will receive tabindex=\"0\" by default.\n * @internal\n */\n @state() private _focusedHeaderIndex = -1;\n\n /**\n * Resolved columns array. Computed in willUpdate from the public `columns`\n * property which may be a JSON string (Drupal/Twig path) or a JS array.\n * All internal reads use this field to avoid mutating reactive properties\n * inside willUpdate (which would trigger extra update cycles).\n * @internal\n */\n @state() private _resolvedColumns: HxDataTableColumn[] = [];\n\n /**\n * Resolved rows array. Computed in willUpdate from the public `rows`\n * property which may be a JSON string (Drupal/Twig path) or a JS array.\n * @internal\n */\n @state() private _resolvedRows: Record<string, unknown>[] = [];\n\n // ─── Lifecycle ───\n\n override willUpdate(changed: PropertyValues<this>): void {\n // Coerce JSON strings to arrays — this is the Drupal/Twig integration path.\n // Lit does not JSON-parse array attributes automatically, so we do it here.\n // Note: Lit's defaultConverter returns null (not a string) when JSON.parse fails for\n // type: Array — so we guard against both string and any non-array value.\n //\n // We write to private @state() resolved fields instead of mutating the public\n // reactive properties. Mutating @property fields inside willUpdate triggers an\n // additional update cycle; writing to separate @state fields does not because\n // Lit batches all changes within the same willUpdate into a single render.\n if (changed.has('columns')) {\n const rawColumns: unknown = this.columns;\n if (typeof rawColumns === 'string') {\n try {\n this._resolvedColumns = JSON.parse(rawColumns) as HxDataTableColumn[];\n } catch {\n this._resolvedColumns = [];\n }\n } else if (Array.isArray(this.columns)) {\n this._resolvedColumns = this.columns;\n } else {\n this._resolvedColumns = [];\n }\n }\n if (changed.has('rows')) {\n const rawRows: unknown = this.rows;\n if (typeof rawRows === 'string') {\n try {\n this._resolvedRows = JSON.parse(rawRows) as Record<string, unknown>[];\n } catch {\n this._resolvedRows = [];\n }\n } else if (Array.isArray(this.rows)) {\n this._resolvedRows = this.rows;\n } else {\n this._resolvedRows = [];\n }\n }\n // Only warn when rows actually changes to avoid noise on every property update.\n if (changed.has('rows') && this._resolvedRows.length > 500) {\n devWarn(\n 'hx-data-table',\n 'Rendering more than 500 rows may impact performance. Consider server-side pagination.',\n );\n }\n // WCAG 4.1.2: data tables must have an accessible name so screen readers can identify them.\n if (\n (changed.has('label') || changed.has('columns')) &&\n this._resolvedColumns.length > 0 &&\n !this.label\n ) {\n devWarn(\n 'hx-data-table',\n 'No accessible name provided. Set the `label` attribute so screen readers can identify this table (WCAG 4.1.2).',\n );\n }\n }\n\n override updated(changed: PropertyValues<this>): void {\n // Invalidate cell cache when rows or columns change so the next keyboard\n // navigation re-queries and re-caches the updated DOM. We check the public\n // properties because _resolvedColumns/_resolvedRows are derived from them\n // in willUpdate and always change in lockstep.\n if (changed.has('rows') || changed.has('columns')) {\n this._cachedCells = null;\n }\n }\n\n // ─── Event Handlers ───\n\n /** @internal */\n private _handleSort(key: string): void {\n const direction =\n this.sortKey === key ? (this.sortDirection === 'asc' ? 'desc' : 'asc') : 'asc';\n this.sortKey = key;\n this.sortDirection = direction;\n this.dispatchEvent(\n new CustomEvent<HxDataTableSortState>('hx-sort', {\n bubbles: true,\n composed: true,\n detail: { key, direction },\n }),\n );\n }\n\n /** @internal */\n private _handleRowClick(row: Record<string, unknown>, index: number): void {\n this.dispatchEvent(\n new CustomEvent<{ row: Record<string, unknown>; index: number }>('hx-row-click', {\n bubbles: true,\n composed: true,\n detail: { row, index },\n }),\n );\n }\n\n /** @internal */\n private _handleSelect(index: number, checked: boolean): void {\n const next = new Set(this._selectedRows);\n if (checked) {\n next.add(index);\n } else {\n next.delete(index);\n }\n this._selectedRows = next;\n this._dispatchSelect();\n }\n\n /** @internal */\n private _handleSelectAll(checked: boolean): void {\n this._selectedRows = checked ? new Set(this._resolvedRows.map((_, i) => i)) : new Set<number>();\n this._dispatchSelect();\n }\n\n /** @internal */\n private _dispatchSelect(): void {\n this.dispatchEvent(\n new CustomEvent<{ selectedRows: Record<string, unknown>[] }>('hx-select', {\n bubbles: true,\n composed: true,\n detail: {\n selectedRows: [...this._selectedRows].flatMap((i) => {\n const row = this._resolvedRows[i];\n return row !== undefined ? [row] : [];\n }),\n },\n }),\n );\n }\n\n // ─── Keyboard Navigation ───\n\n /** @internal */\n private _handleKeydown(e: KeyboardEvent): void {\n if (!['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', ' '].includes(e.key))\n return;\n\n const root = this.shadowRoot;\n if (!root) return;\n\n // Use cached cell list; re-query only when invalidated by rows/columns change\n if (!this._cachedCells) {\n this._cachedCells = Array.from(\n root.querySelectorAll<HTMLElement>('[part~=\"td\"],[part~=\"th\"]'),\n );\n }\n const cells = this._cachedCells;\n\n // When focus is inside a child element (e.g., the sort <button> inside a <th>),\n // shadowRoot.activeElement returns the child, not the cell. Walk up to find the cell.\n let focused = root.activeElement as HTMLElement | null;\n if (!focused) return;\n\n if (cells.indexOf(focused) === -1) {\n let ancestor = focused.parentElement;\n while (ancestor) {\n if (cells.includes(ancestor as HTMLElement)) {\n focused = ancestor as HTMLElement;\n break;\n }\n ancestor = ancestor.parentElement;\n }\n }\n\n const colCount = this._resolvedColumns.length + (this.selectable ? 1 : 0);\n const idx = cells.indexOf(focused);\n if (idx === -1) return;\n\n let target: HTMLElement | null = null;\n\n if (e.key === 'ArrowRight' && idx + 1 < cells.length) {\n target = cells[idx + 1] ?? null;\n } else if (e.key === 'ArrowLeft' && idx - 1 >= 0) {\n target = cells[idx - 1] ?? null;\n } else if (e.key === 'ArrowDown' && idx + colCount < cells.length) {\n target = cells[idx + colCount] ?? null;\n } else if (e.key === 'ArrowUp' && idx - colCount >= 0) {\n target = cells[idx - colCount] ?? null;\n } else if (e.key === 'Home') {\n // First cell of the current row\n const rowStart = idx - (idx % colCount);\n target = cells[rowStart] ?? null;\n } else if (e.key === 'End') {\n // Last cell of the current row\n const rowEnd = Math.min(idx - (idx % colCount) + colCount - 1, cells.length - 1);\n target = cells[rowEnd] ?? null;\n } else if (e.key === ' ' && focused.getAttribute('part')?.includes('td')) {\n // Toggle selection on Space in a data row\n const rowIdx = Number(focused.dataset['rowIndex']);\n if (this.selectable && !isNaN(rowIdx)) {\n e.preventDefault();\n this._handleSelect(rowIdx, !this._selectedRows.has(rowIdx));\n }\n return;\n }\n\n if (target) {\n e.preventDefault();\n target.setAttribute('tabindex', '0');\n target.focus();\n focused.setAttribute('tabindex', '-1');\n }\n }\n\n // ─── Render Helpers ───\n\n /** @internal */\n private _renderSortIcon(key: string) {\n const isActive = this.sortKey === key;\n const iconClass = [\n 'sort-icon',\n isActive ? 'sort-icon--active' : '',\n isActive && this.sortDirection === 'desc' ? 'sort-icon--desc' : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n return html`\n <span part=\"sort-icon\" class=${iconClass} aria-hidden=\"true\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n width=\"16\"\n height=\"16\"\n >\n <path d=\"M8 3L5 7h6L8 3zM8 13l3-4H5l3 4z\" fill-rule=\"evenodd\" />\n </svg>\n </span>\n `;\n }\n\n /**\n * Returns the indices (within the columns array) of all sortable columns.\n * @internal\n */\n private get _sortableIndices(): number[] {\n return this._resolvedColumns.reduce<number[]>((acc, col, i) => {\n if (col.sortable) acc.push(i);\n return acc;\n }, []);\n }\n\n /**\n * Handles keyboard navigation between sortable column headers using the\n * roving tabindex pattern (ARIA Grid specification). Supports ArrowLeft/Right\n * to move between sortable headers, Home/End to jump to first/last, and\n * Enter/Space to trigger sort on the focused sortable header.\n * @internal\n */\n private _handleHeaderKeydown(e: KeyboardEvent): void {\n const sortable = this._sortableIndices;\n if (sortable.length === 0) return;\n\n // Enter/Space on a sortable header triggers sort\n if (e.key === 'Enter' || e.key === ' ') {\n const col = this._resolvedColumns[this._focusedHeaderIndex];\n if (col?.sortable) {\n e.preventDefault();\n this._handleSort(col.key);\n }\n return;\n }\n\n if (!['ArrowLeft', 'ArrowRight', 'Home', 'End'].includes(e.key)) return;\n\n // Determine which sortable position is currently focused.\n // If no sortable header is focused (currentPos === -1), let the\n // table-level _handleKeydown handle grid navigation instead.\n const currentPos = sortable.indexOf(this._focusedHeaderIndex);\n if (currentPos === -1) return;\n let nextPos: number;\n\n if (e.key === 'ArrowRight') {\n nextPos = currentPos === -1 ? 0 : Math.min(currentPos + 1, sortable.length - 1);\n } else if (e.key === 'ArrowLeft') {\n nextPos = currentPos <= 0 ? 0 : currentPos - 1;\n } else if (e.key === 'Home') {\n nextPos = 0;\n } else {\n // End\n nextPos = sortable.length - 1;\n }\n\n const nextIndex = sortable[nextPos];\n if (nextIndex === undefined) return;\n\n e.preventDefault();\n this._focusedHeaderIndex = nextIndex;\n\n // Focus the <th> element for the target column\n const headers = this.shadowRoot?.querySelectorAll<HTMLElement>('thead th[data-col-index]');\n const target = headers?.[nextIndex] ?? null;\n if (target) {\n target.focus();\n }\n }\n\n /** @internal */\n private _renderHeaderRow() {\n // Determine which sortable header gets tabindex=\"0\" (roving tabindex).\n // If _focusedHeaderIndex is -1 (initial), the first sortable column wins.\n const sortable = this._sortableIndices;\n const activeIndex =\n this._focusedHeaderIndex >= 0 ? this._focusedHeaderIndex : (sortable[0] ?? -1);\n\n return html`\n <tr part=\"tr\" @keydown=${this._handleHeaderKeydown}>\n ${this.selectable\n ? html`\n <th part=\"th\" class=\"col-checkbox\" tabindex=\"0\">\n <input\n type=\"checkbox\"\n part=\"checkbox\"\n aria-label=${this.selectAllLabel}\n .indeterminate=${this._selectedRows.size > 0 &&\n this._selectedRows.size < this._resolvedRows.length}\n .checked=${this._selectedRows.size === this._resolvedRows.length &&\n this._resolvedRows.length > 0}\n @change=${(e: Event) =>\n this._handleSelectAll((e.target as HTMLInputElement).checked)}\n />\n </th>\n `\n : nothing}\n ${this._resolvedColumns.map(\n (col, i) => html`\n <th\n part=\"th\"\n data-col-index=${i}\n tabindex=${col.sortable ? (i === activeIndex ? '0' : '-1') : '-1'}\n style=${col.width ? `width: ${col.width}` : ''}\n aria-sort=${col.sortable\n ? this.sortKey === col.key\n ? this.sortDirection === 'asc'\n ? 'ascending'\n : 'descending'\n : 'none'\n : nothing}\n @focus=${col.sortable\n ? () => {\n this._focusedHeaderIndex = i;\n }\n : nothing}\n >\n ${col.sortable\n ? html`\n <button\n class=\"sort-btn\"\n @click=${() => this._handleSort(col.key)}\n aria-label=${this.sortKey === col.key\n ? `Sort by ${col.label}, currently sorted ${this.sortDirection === 'asc' ? 'ascending' : 'descending'}`\n : `Sort by ${col.label}`}\n >\n ${col.label} ${this._renderSortIcon(col.key)}\n </button>\n `\n : col.label}\n </th>\n `,\n )}\n </tr>\n `;\n }\n\n /** @internal */\n private _renderSkeletonRows() {\n return Array.from(\n { length: 3 },\n (_) => html`\n <tr part=\"tr\" aria-hidden=\"true\">\n ${this.selectable\n ? html`<td part=\"td\" class=\"col-checkbox\">\n <span class=\"skeleton-cell\" style=\"width:1rem;margin:auto\"></span>\n </td>`\n : nothing}\n ${this._resolvedColumns.map(\n () => html`\n <td part=\"td\">\n <span class=\"skeleton-cell\"></span>\n </td>\n `,\n )}\n </tr>\n `,\n );\n }\n\n /** @internal */\n private _renderEmptyRow() {\n const colSpan = this._resolvedColumns.length + (this.selectable ? 1 : 0);\n return html`\n <tr part=\"tr\">\n <td part=\"td\" colspan=${colSpan} class=\"empty-cell\">\n <slot name=\"empty\">${this.emptyLabel}</slot>\n </td>\n </tr>\n `;\n }\n\n /** @internal */\n private _renderDataRows() {\n let displayRows = this._resolvedRows;\n\n // Client-side pagination when pageSize > 0\n if (this.pageSize > 0) {\n const start = (this.page - 1) * this.pageSize;\n displayRows = this._resolvedRows.slice(start, start + this.pageSize);\n }\n\n return repeat(\n displayRows,\n (_row, pageIndex) => {\n const globalIndex =\n this.pageSize > 0 ? (this.page - 1) * this.pageSize + pageIndex : pageIndex;\n return globalIndex;\n },\n (row, pageIndex) => {\n // The global row index for selection and events\n const globalIndex =\n this.pageSize > 0 ? (this.page - 1) * this.pageSize + pageIndex : pageIndex;\n return html`\n <tr\n part=\"tr\"\n aria-selected=${this.selectable ? String(this._selectedRows.has(globalIndex)) : nothing}\n @click=${() => this._handleRowClick(row, globalIndex)}\n @keydown=${(e: KeyboardEvent) => {\n // WCAG 2.1.1: rows are keyboard-activatable via Enter and Space so that\n // the hx-row-click event fires equivalently for keyboard users.\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this._handleRowClick(row, globalIndex);\n }\n }}\n >\n ${this.selectable\n ? html`\n <td part=\"td\" class=\"col-checkbox\" tabindex=\"-1\" data-row-index=${globalIndex}>\n <input\n type=\"checkbox\"\n part=\"checkbox\"\n aria-label=${`Select row ${globalIndex + 1}`}\n .checked=${this._selectedRows.has(globalIndex)}\n @click=${(e: Event) => e.stopPropagation()}\n @change=${(e: Event) =>\n this._handleSelect(globalIndex, (e.target as HTMLInputElement).checked)}\n />\n </td>\n `\n : nothing}\n ${this._resolvedColumns.map(\n (col) => html`\n <td part=\"td\" tabindex=\"-1\" data-row-index=${globalIndex}>\n ${row[col.key] != null ? String(row[col.key]) : ''}\n </td>\n `,\n )}\n </tr>\n `;\n },\n );\n }\n\n // ─── Render ───\n\n override render() {\n return html`\n <slot name=\"toolbar\"></slot>\n <div class=\"table-wrapper\">\n <table\n part=\"table\"\n role=\"grid\"\n aria-label=${this.label.trim() || 'Table'}\n aria-busy=${this.loading ? 'true' : nothing}\n @keydown=${this._handleKeydown}\n >\n <thead part=\"thead\">\n ${this._renderHeaderRow()}\n </thead>\n <tbody part=\"tbody\">\n ${this.loading\n ? html`<slot name=\"loading\">${this._renderSkeletonRows()}</slot>`\n : this._resolvedRows.length === 0\n ? this._renderEmptyRow()\n : this._renderDataRows()}\n </tbody>\n </table>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-data-table': HelixDataTable;\n }\n}\n"],"names":["helixDataTableStyles","css","HelixDataTable","HelixElement","changed","rawColumns","rawRows","key","direction","row","index","checked","next","_","i","root","cells","focused","ancestor","colCount","idx","target","rowStart","rowEnd","_a","rowIdx","isActive","iconClass","html","acc","col","sortable","currentPos","nextPos","nextIndex","headers","activeIndex","e","nothing","colSpan","displayRows","start","repeat","_row","pageIndex","globalIndex","__decorateClass","property","value","state","customElement"],"mappings":";;;;AAEO,MAAMA,IAAuBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;ACqE7B,IAAMC,IAAN,cAA6B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"}