@helixui/library 2.1.2-next.51 → 2.1.2-next.53

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 (477) hide show
  1. package/custom-elements.json +522 -466
  2. package/dist/base/helix-element.d.ts.map +1 -1
  3. package/dist/components/hx-accordion/hx-accordion-item.d.ts +0 -2
  4. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  5. package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts.map +1 -1
  6. package/dist/components/hx-accordion/hx-accordion.styles.d.ts.map +1 -1
  7. package/dist/components/hx-accordion/index.js +1 -1
  8. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  9. package/dist/components/hx-alert/index.js +1 -1
  10. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
  11. package/dist/components/hx-badge/index.js +1 -1
  12. package/dist/components/hx-banner/hx-banner.styles.d.ts.map +1 -1
  13. package/dist/components/hx-banner/index.js +1 -1
  14. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
  15. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
  16. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +0 -7
  17. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
  18. package/dist/components/hx-breadcrumb/index.js +1 -1
  19. package/dist/components/hx-button/hx-button.d.ts +9 -9
  20. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  21. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  22. package/dist/components/hx-button/index.js +1 -1
  23. package/dist/components/hx-button-group/hx-button-group.d.ts +1 -4
  24. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  25. package/dist/components/hx-button-group/index.js +1 -1
  26. package/dist/components/hx-card/hx-card.d.ts +16 -0
  27. package/dist/components/hx-card/hx-card.d.ts.map +1 -1
  28. package/dist/components/hx-card/hx-card.styles.d.ts.map +1 -1
  29. package/dist/components/hx-card/index.js +1 -1
  30. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
  31. package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -1
  32. package/dist/components/hx-carousel/index.js +1 -1
  33. package/dist/components/hx-checkbox/hx-checkbox.d.ts +8 -0
  34. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  35. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  36. package/dist/components/hx-checkbox/index.js +1 -1
  37. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +6 -8
  38. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  39. package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts.map +1 -1
  40. package/dist/components/hx-checkbox-group/index.js +1 -1
  41. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
  42. package/dist/components/hx-clinical-status/index.js +1 -1
  43. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
  44. package/dist/components/hx-code-snippet/index.js +1 -1
  45. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  46. package/dist/components/hx-color-picker/index.js +1 -1
  47. package/dist/components/hx-combobox/hx-combobox.d.ts +20 -14
  48. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  49. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
  50. package/dist/components/hx-combobox/index.js +1 -1
  51. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
  52. package/dist/components/hx-copy-button/index.js +1 -1
  53. package/dist/components/hx-counter/hx-counter.styles.d.ts.map +1 -1
  54. package/dist/components/hx-counter/index.js +1 -1
  55. package/dist/components/hx-data-table/hx-data-table.d.ts +20 -0
  56. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  57. package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -1
  58. package/dist/components/hx-data-table/index.js +1 -1
  59. package/dist/components/hx-date-picker/hx-date-picker.d.ts +6 -17
  60. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  61. package/dist/components/hx-date-picker/index.js +1 -1
  62. package/dist/components/hx-dialog/hx-dialog.d.ts +7 -0
  63. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  64. package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -1
  65. package/dist/components/hx-dialog/index.js +1 -1
  66. package/dist/components/hx-divider/hx-divider.styles.d.ts.map +1 -1
  67. package/dist/components/hx-divider/index.js +1 -1
  68. package/dist/components/hx-drawer/hx-drawer.d.ts +7 -0
  69. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  70. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  71. package/dist/components/hx-drawer/index.js +1 -1
  72. package/dist/components/hx-dropdown/hx-dropdown.d.ts +8 -5
  73. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  74. package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -1
  75. package/dist/components/hx-dropdown/index.js +1 -1
  76. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  77. package/dist/components/hx-field/hx-field.styles.d.ts.map +1 -1
  78. package/dist/components/hx-field/index.js +1 -1
  79. package/dist/components/hx-field-label/hx-field-label.styles.d.ts.map +1 -1
  80. package/dist/components/hx-field-label/index.js +1 -1
  81. package/dist/components/hx-file-upload/hx-file-upload.d.ts +6 -14
  82. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  83. package/dist/components/hx-file-upload/index.js +1 -1
  84. package/dist/components/hx-help-text/hx-help-text.styles.d.ts.map +1 -1
  85. package/dist/components/hx-help-text/index.js +1 -1
  86. package/dist/components/hx-icon/hx-icon.styles.d.ts.map +1 -1
  87. package/dist/components/hx-icon/index.js +1 -1
  88. package/dist/components/hx-icon-button/hx-icon-button.d.ts +10 -14
  89. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  90. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  91. package/dist/components/hx-icon-button/index.js +1 -1
  92. package/dist/components/hx-image/hx-image.styles.d.ts.map +1 -1
  93. package/dist/components/hx-image/index.js +1 -1
  94. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
  95. package/dist/components/hx-link/index.js +1 -1
  96. package/dist/components/hx-list/index.js +1 -1
  97. package/dist/components/hx-menu/hx-menu-divider.styles.d.ts.map +1 -1
  98. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  99. package/dist/components/hx-menu/hx-menu.styles.d.ts.map +1 -1
  100. package/dist/components/hx-menu/index.js +1 -1
  101. package/dist/components/hx-meter/hx-meter.d.ts +0 -2
  102. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  103. package/dist/components/hx-meter/hx-meter.styles.d.ts.map +1 -1
  104. package/dist/components/hx-meter/index.js +1 -1
  105. package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
  106. package/dist/components/hx-nav/index.js +1 -1
  107. package/dist/components/hx-number-input/hx-number-input.d.ts +6 -8
  108. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  109. package/dist/components/hx-number-input/hx-number-input.styles.d.ts.map +1 -1
  110. package/dist/components/hx-number-input/index.js +1 -1
  111. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  112. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  113. package/dist/components/hx-overflow-menu/index.js +1 -1
  114. package/dist/components/hx-patient-banner/hx-patient-banner.styles.d.ts.map +1 -1
  115. package/dist/components/hx-patient-banner/index.js +1 -1
  116. package/dist/components/hx-phi-field/index.js +1 -1
  117. package/dist/components/hx-popover/hx-popover.d.ts +1 -0
  118. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  119. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
  120. package/dist/components/hx-popover/index.js +1 -1
  121. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
  122. package/dist/components/hx-popup/index.js +1 -1
  123. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +0 -2
  124. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  125. package/dist/components/hx-progress-bar/index.js +1 -1
  126. package/dist/components/hx-radio-group/hx-radio-group.d.ts +6 -11
  127. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  128. package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts.map +1 -1
  129. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  130. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
  131. package/dist/components/hx-radio-group/index.js +1 -1
  132. package/dist/components/hx-rating/hx-rating.d.ts +6 -11
  133. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  134. package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
  135. package/dist/components/hx-rating/index.js +1 -1
  136. package/dist/components/hx-select/hx-select.d.ts +8 -0
  137. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  138. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  139. package/dist/components/hx-select/index.js +1 -1
  140. package/dist/components/hx-side-nav/hx-nav-item.d.ts +0 -3
  141. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  142. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  143. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  144. package/dist/components/hx-side-nav/index.js +1 -1
  145. package/dist/components/hx-skeleton/hx-skeleton.styles.d.ts.map +1 -1
  146. package/dist/components/hx-skeleton/index.js +1 -1
  147. package/dist/components/hx-slider/hx-slider.d.ts +9 -9
  148. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  149. package/dist/components/hx-slider/index.js +1 -1
  150. package/dist/components/hx-spinner/hx-spinner.styles.d.ts.map +1 -1
  151. package/dist/components/hx-spinner/index.js +1 -1
  152. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  153. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  154. package/dist/components/hx-split-button/index.js +1 -1
  155. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
  156. package/dist/components/hx-split-panel/index.js +1 -1
  157. package/dist/components/hx-stat/hx-stat.d.ts +2 -2
  158. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  159. package/dist/components/hx-status-indicator/hx-status-indicator.styles.d.ts.map +1 -1
  160. package/dist/components/hx-status-indicator/index.js +1 -1
  161. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  162. package/dist/components/hx-steps/index.js +1 -1
  163. package/dist/components/hx-structured-list/hx-structured-list.styles.d.ts.map +1 -1
  164. package/dist/components/hx-structured-list/index.js +1 -1
  165. package/dist/components/hx-switch/hx-switch.d.ts +14 -17
  166. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  167. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  168. package/dist/components/hx-switch/index.js +1 -1
  169. package/dist/components/hx-table/hx-table.styles.d.ts.map +1 -1
  170. package/dist/components/hx-table/index.js +1 -1
  171. package/dist/components/hx-tabs/hx-tab-panel.styles.d.ts.map +1 -1
  172. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  173. package/dist/components/hx-tabs/hx-tabs.d.ts +6 -0
  174. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  175. package/dist/components/hx-tabs/hx-tabs.styles.d.ts.map +1 -1
  176. package/dist/components/hx-tabs/index.js +1 -1
  177. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  178. package/dist/components/hx-tag/index.js +1 -1
  179. package/dist/components/hx-text-input/hx-text-input.d.ts +11 -0
  180. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  181. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  182. package/dist/components/hx-text-input/index.js +1 -1
  183. package/dist/components/hx-textarea/hx-textarea.d.ts +17 -9
  184. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  185. package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -1
  186. package/dist/components/hx-textarea/index.js +1 -1
  187. package/dist/components/hx-time-picker/hx-time-picker.d.ts +6 -17
  188. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  189. package/dist/components/hx-time-picker/index.js +1 -1
  190. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  191. package/dist/components/hx-toast/index.js +1 -1
  192. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +6 -13
  193. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  194. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  195. package/dist/components/hx-toggle-button/index.js +1 -1
  196. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  197. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -1
  198. package/dist/components/hx-tooltip/index.js +1 -1
  199. package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -1
  200. package/dist/components/hx-top-nav/index.js +1 -1
  201. package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -1
  202. package/dist/components/hx-tree-view/index.js +1 -1
  203. package/dist/css/helix-all.css +1269 -11
  204. package/dist/css/helix-core.css +137 -1
  205. package/dist/css/helix-data.css +69 -0
  206. package/dist/css/helix-feedback.css +77 -0
  207. package/dist/css/helix-forms.css +627 -3
  208. package/dist/css/helix-layout.css +22 -0
  209. package/dist/css/helix-media.css +24 -0
  210. package/dist/css/helix-navigation.css +110 -0
  211. package/dist/css/helix-overlay.css +87 -0
  212. package/dist/css/helix-utility.css +66 -0
  213. package/dist/css/hx-accordion.css +8 -0
  214. package/dist/css/hx-alert.css +21 -0
  215. package/dist/css/hx-badge.css +16 -0
  216. package/dist/css/hx-banner.css +17 -0
  217. package/dist/css/hx-button.css +4 -1
  218. package/dist/css/hx-card.css +12 -0
  219. package/dist/css/hx-carousel.css +24 -0
  220. package/dist/css/hx-checkbox-group.css +32 -0
  221. package/dist/css/hx-checkbox.css +66 -0
  222. package/dist/css/hx-clinical-status.css +23 -0
  223. package/dist/css/hx-code-snippet.css +22 -0
  224. package/dist/css/hx-color-picker.css +1 -1
  225. package/dist/css/hx-combobox.css +1 -1
  226. package/dist/css/hx-copy-button.css +28 -0
  227. package/dist/css/hx-counter.css +3 -0
  228. package/dist/css/hx-data-table.css +23 -0
  229. package/dist/css/hx-dialog.css +21 -0
  230. package/dist/css/hx-divider.css +8 -0
  231. package/dist/css/hx-drawer.css +21 -0
  232. package/dist/css/hx-dropdown.css +9 -0
  233. package/dist/css/hx-field-label.css +16 -0
  234. package/dist/css/hx-field.css +36 -0
  235. package/dist/css/hx-help-text.css +20 -0
  236. package/dist/css/hx-icon-button.css +27 -0
  237. package/dist/css/hx-icon.css +8 -0
  238. package/dist/css/hx-image.css +8 -0
  239. package/dist/css/hx-link.css +18 -0
  240. package/dist/css/hx-menu.css +9 -0
  241. package/dist/css/hx-meter.css +13 -0
  242. package/dist/css/hx-nav.css +16 -0
  243. package/dist/css/hx-number-input.css +78 -0
  244. package/dist/css/hx-overflow-menu.css +31 -0
  245. package/dist/css/hx-patient-banner.css +20 -0
  246. package/dist/css/hx-phi-field.css +1 -1
  247. package/dist/css/hx-popover.css +12 -0
  248. package/dist/css/hx-popup.css +12 -0
  249. package/dist/css/hx-radio-group.css +32 -0
  250. package/dist/css/hx-rating.css +39 -0
  251. package/dist/css/hx-select.css +82 -0
  252. package/dist/css/hx-side-nav.css +21 -0
  253. package/dist/css/hx-skeleton.css +12 -0
  254. package/dist/css/hx-spinner.css +12 -0
  255. package/dist/css/hx-split-button.css +35 -0
  256. package/dist/css/hx-split-panel.css +14 -0
  257. package/dist/css/hx-status-indicator.css +13 -0
  258. package/dist/css/hx-structured-list.css +16 -0
  259. package/dist/css/hx-switch.css +62 -0
  260. package/dist/css/hx-table.css +8 -0
  261. package/dist/css/hx-tabs.css +12 -0
  262. package/dist/css/hx-tag.css +12 -0
  263. package/dist/css/hx-text-input.css +62 -0
  264. package/dist/css/hx-textarea.css +62 -0
  265. package/dist/css/hx-toast.css +13 -0
  266. package/dist/css/hx-toggle-button.css +38 -1
  267. package/dist/css/hx-tooltip.css +12 -0
  268. package/dist/css/hx-top-nav.css +21 -0
  269. package/dist/css/index.css +1 -1
  270. package/dist/css/manifest.json +5 -3
  271. package/dist/index.js +67 -67
  272. package/dist/mixins/aria-delegation.d.ts +3 -1
  273. package/dist/mixins/aria-delegation.d.ts.map +1 -1
  274. package/dist/mixins/index.d.ts +1 -1
  275. package/dist/mixins/index.d.ts.map +1 -1
  276. package/dist/shared/{aria-delegation-CBP9eQ0M.js → aria-delegation-Doq6RRUy.js} +6 -6
  277. package/dist/shared/aria-delegation-Doq6RRUy.js.map +1 -0
  278. package/dist/shared/{helix-element-CZvaIEQP.js → helix-element-BJh1Ffvi.js} +18 -21
  279. package/dist/shared/{helix-element-CZvaIEQP.js.map → helix-element-BJh1Ffvi.js.map} +1 -1
  280. package/dist/shared/{hx-accordion-CpfO0YQo.js → hx-accordion-SlwR2C6S.js} +109 -62
  281. package/dist/shared/hx-accordion-SlwR2C6S.js.map +1 -0
  282. package/dist/shared/{hx-alert-CHOjTBds.js → hx-alert-DdlSyJGk.js} +22 -1
  283. package/dist/shared/hx-alert-DdlSyJGk.js.map +1 -0
  284. package/dist/shared/{hx-badge-RPzd-t5l.js → hx-badge-B_PzGlUo.js} +17 -1
  285. package/dist/shared/hx-badge-B_PzGlUo.js.map +1 -0
  286. package/dist/shared/{hx-banner-B-WEDiq7.js → hx-banner-D8AxkCfc.js} +30 -13
  287. package/dist/shared/hx-banner-D8AxkCfc.js.map +1 -0
  288. package/dist/shared/{hx-breadcrumb-item-jLAKK038.js → hx-breadcrumb-item-BCUIvpYX.js} +32 -15
  289. package/dist/shared/hx-breadcrumb-item-BCUIvpYX.js.map +1 -0
  290. package/dist/shared/{hx-button-DoN8jjQT.js → hx-button-BzqsDHmZ.js} +15 -16
  291. package/dist/shared/hx-button-BzqsDHmZ.js.map +1 -0
  292. package/dist/shared/{hx-button-group-BXlMQTt_.js → hx-button-group-a5Pb_9fU.js} +8 -9
  293. package/dist/shared/{hx-button-group-BXlMQTt_.js.map → hx-button-group-a5Pb_9fU.js.map} +1 -1
  294. package/dist/shared/{hx-card-BgXZXDuc.js → hx-card-DYlaxQy0.js} +59 -33
  295. package/dist/shared/hx-card-DYlaxQy0.js.map +1 -0
  296. package/dist/shared/{hx-carousel-item-Dwt9Pphz.js → hx-carousel-item-KQfCekKF.js} +45 -19
  297. package/dist/shared/hx-carousel-item-KQfCekKF.js.map +1 -0
  298. package/dist/shared/{hx-checkbox-C82GjRXe.js → hx-checkbox-DyDbR1B9.js} +97 -31
  299. package/dist/shared/hx-checkbox-DyDbR1B9.js.map +1 -0
  300. package/dist/shared/{hx-checkbox-group-DThZeN5d.js → hx-checkbox-group-C8TaFqy0.js} +75 -40
  301. package/dist/shared/hx-checkbox-group-C8TaFqy0.js.map +1 -0
  302. package/dist/shared/{hx-clinical-status-BjtT5c0M.js → hx-clinical-status-dDyk5oj1.js} +53 -30
  303. package/dist/shared/hx-clinical-status-dDyk5oj1.js.map +1 -0
  304. package/dist/shared/{hx-code-snippet-DcVENSuC.js → hx-code-snippet-DasrRF9k.js} +27 -5
  305. package/dist/shared/hx-code-snippet-DasrRF9k.js.map +1 -0
  306. package/dist/shared/{hx-color-picker-C6EIuS9t.js → hx-color-picker-zv6wtok4.js} +81 -81
  307. package/dist/shared/hx-color-picker-zv6wtok4.js.map +1 -0
  308. package/dist/shared/{hx-combobox-BJ4lQocO.js → hx-combobox-C-DVLFpu.js} +36 -45
  309. package/dist/shared/hx-combobox-C-DVLFpu.js.map +1 -0
  310. package/dist/shared/{hx-copy-button-BoM0WsMd.js → hx-copy-button-DikpbhWY.js} +54 -26
  311. package/dist/shared/hx-copy-button-DikpbhWY.js.map +1 -0
  312. package/dist/shared/{hx-counter-B5NgKlw4.js → hx-counter-_m4cq45V.js} +21 -18
  313. package/dist/shared/hx-counter-_m4cq45V.js.map +1 -0
  314. package/dist/shared/{hx-data-table-D5Ne-goy.js → hx-data-table-609C-e9w.js} +215 -150
  315. package/dist/shared/hx-data-table-609C-e9w.js.map +1 -0
  316. package/dist/shared/{hx-date-picker-Cd3I3WkX.js → hx-date-picker-Bh8410Sf.js} +26 -35
  317. package/dist/shared/hx-date-picker-Bh8410Sf.js.map +1 -0
  318. package/dist/shared/{hx-dialog-D4ubstxx.js → hx-dialog-D_DeqcNS.js} +46 -25
  319. package/dist/shared/hx-dialog-D_DeqcNS.js.map +1 -0
  320. package/dist/shared/{hx-divider-BBtOLHRP.js → hx-divider-lfOMElo2.js} +18 -10
  321. package/dist/shared/hx-divider-lfOMElo2.js.map +1 -0
  322. package/dist/shared/{hx-drawer--WDLuWtS.js → hx-drawer-NleCbKuN.js} +95 -60
  323. package/dist/shared/hx-drawer-NleCbKuN.js.map +1 -0
  324. package/dist/shared/{hx-dropdown-n5-XSmiV.js → hx-dropdown-CA9WYdhm.js} +37 -27
  325. package/dist/shared/hx-dropdown-CA9WYdhm.js.map +1 -0
  326. package/dist/shared/{hx-field-CwT9tki1.js → hx-field-Duiib9Bj.js} +48 -12
  327. package/dist/shared/hx-field-Duiib9Bj.js.map +1 -0
  328. package/dist/shared/{hx-field-label-CcOK9VU3.js → hx-field-label-Dud-psvE.js} +37 -21
  329. package/dist/shared/hx-field-label-Dud-psvE.js.map +1 -0
  330. package/dist/shared/{hx-file-upload-Di_vpQaG.js → hx-file-upload-CmCCAvej.js} +24 -33
  331. package/dist/shared/hx-file-upload-CmCCAvej.js.map +1 -0
  332. package/dist/shared/{hx-help-text-Bmb80bP4.js → hx-help-text-DARi-Pfp.js} +37 -17
  333. package/dist/shared/hx-help-text-DARi-Pfp.js.map +1 -0
  334. package/dist/shared/{hx-icon-button-CJuy9xbw.js → hx-icon-button-BcZtVVtH.js} +58 -41
  335. package/dist/shared/hx-icon-button-BcZtVVtH.js.map +1 -0
  336. package/dist/shared/{hx-icon-BKHs3OLu.js → hx-icon-jWcGmn66.js} +9 -1
  337. package/dist/shared/hx-icon-jWcGmn66.js.map +1 -0
  338. package/dist/shared/{hx-image-ztiXumZB.js → hx-image-DOjPp-K5.js} +28 -20
  339. package/dist/shared/hx-image-DOjPp-K5.js.map +1 -0
  340. package/dist/shared/{hx-link-CN7AvGOW.js → hx-link-DCBct0f4.js} +44 -26
  341. package/dist/shared/hx-link-DCBct0f4.js.map +1 -0
  342. package/dist/shared/{hx-list-CnDK30Yk.js → hx-list-Dnei26t4.js} +16 -16
  343. package/dist/shared/{hx-list-CnDK30Yk.js.map → hx-list-Dnei26t4.js.map} +1 -1
  344. package/dist/shared/{hx-menu-divider-DRT8yHRZ.js → hx-menu-divider-DVWER7iT.js} +93 -50
  345. package/dist/shared/hx-menu-divider-DVWER7iT.js.map +1 -0
  346. package/dist/shared/{hx-meter-BcVC9yrt.js → hx-meter-ChZdWNF2.js} +42 -28
  347. package/dist/shared/hx-meter-ChZdWNF2.js.map +1 -0
  348. package/dist/shared/{hx-nav-l0Rp7WPW.js → hx-nav-CHX1JOWB.js} +28 -12
  349. package/dist/shared/hx-nav-CHX1JOWB.js.map +1 -0
  350. package/dist/shared/{hx-nav-item-CJN4VDrf.js → hx-nav-item-CRAESq9s.js} +56 -22
  351. package/dist/shared/hx-nav-item-CRAESq9s.js.map +1 -0
  352. package/dist/shared/{hx-number-input-0Waw7Z7u.js → hx-number-input-Cm682AVP.js} +154 -72
  353. package/dist/shared/hx-number-input-Cm682AVP.js.map +1 -0
  354. package/dist/shared/{hx-overflow-menu-DElwFSCd.js → hx-overflow-menu-BDl6QfUD.js} +52 -19
  355. package/dist/shared/hx-overflow-menu-BDl6QfUD.js.map +1 -0
  356. package/dist/shared/{hx-patient-banner-BKiN7nIE.js → hx-patient-banner-B4IjHeTx.js} +54 -34
  357. package/dist/shared/hx-patient-banner-B4IjHeTx.js.map +1 -0
  358. package/dist/shared/{hx-phi-field-Df06K0J3.js → hx-phi-field-DD1qcBSO.js} +2 -2
  359. package/dist/shared/hx-phi-field-DD1qcBSO.js.map +1 -0
  360. package/dist/shared/{hx-popover-CydNuVkT.js → hx-popover-ZGRFgBbx.js} +29 -15
  361. package/dist/shared/hx-popover-ZGRFgBbx.js.map +1 -0
  362. package/dist/shared/{hx-popup-DbzezTOd.js → hx-popup-Cc4qz89i.js} +24 -12
  363. package/dist/shared/hx-popup-Cc4qz89i.js.map +1 -0
  364. package/dist/shared/{hx-progress-bar-Cm0VihTN.js → hx-progress-bar-BY1uE6bN.js} +17 -16
  365. package/dist/shared/hx-progress-bar-BY1uE6bN.js.map +1 -0
  366. package/dist/shared/{hx-radio-f8c5ggHG.js → hx-radio-YEEsbUPN.js} +139 -54
  367. package/dist/shared/hx-radio-YEEsbUPN.js.map +1 -0
  368. package/dist/shared/{hx-rating-qRJZXskm.js → hx-rating-DjUJTT0M.js} +54 -17
  369. package/dist/shared/hx-rating-DjUJTT0M.js.map +1 -0
  370. package/dist/shared/{hx-select-CgcgsHU5.js → hx-select-DZ7wfcJx.js} +119 -37
  371. package/dist/shared/hx-select-DZ7wfcJx.js.map +1 -0
  372. package/dist/shared/{hx-skeleton-tiYvKO-t.js → hx-skeleton-aqa-gr1S.js} +28 -16
  373. package/dist/shared/hx-skeleton-aqa-gr1S.js.map +1 -0
  374. package/dist/shared/{hx-slider-BvXtvxmN.js → hx-slider-DAilFrR_.js} +28 -25
  375. package/dist/shared/hx-slider-DAilFrR_.js.map +1 -0
  376. package/dist/shared/{hx-spinner-D6nzuGmj.js → hx-spinner-Dw3cRY-9.js} +26 -14
  377. package/dist/shared/hx-spinner-Dw3cRY-9.js.map +1 -0
  378. package/dist/shared/{hx-split-button-CPndTJlC.js → hx-split-button-Dk-zMDDo.js} +51 -14
  379. package/dist/shared/hx-split-button-Dk-zMDDo.js.map +1 -0
  380. package/dist/shared/{hx-split-panel-Dx72NaET.js → hx-split-panel-Kdp4BiLz.js} +15 -1
  381. package/dist/shared/hx-split-panel-Kdp4BiLz.js.map +1 -0
  382. package/dist/shared/hx-stat-DKlyBL_K.js.map +1 -1
  383. package/dist/shared/{hx-status-indicator-ClWpK6zz.js → hx-status-indicator-DWSM0Ctm.js} +30 -17
  384. package/dist/shared/hx-status-indicator-DWSM0Ctm.js.map +1 -0
  385. package/dist/shared/{hx-step-C2Jk4mHa.js → hx-step-CuoOvcI8.js} +52 -18
  386. package/dist/shared/{hx-step-C2Jk4mHa.js.map → hx-step-CuoOvcI8.js.map} +1 -1
  387. package/dist/shared/{hx-structured-list-DKlrv7kS.js → hx-structured-list-CQCD7bCT.js} +21 -5
  388. package/dist/shared/hx-structured-list-CQCD7bCT.js.map +1 -0
  389. package/dist/shared/{hx-switch-BzMN37PV.js → hx-switch-BdxKN9WM.js} +89 -32
  390. package/dist/shared/hx-switch-BdxKN9WM.js.map +1 -0
  391. package/dist/shared/{hx-tab-panel-J58zOSjq.js → hx-tab-panel-CwClQoWP.js} +141 -88
  392. package/dist/shared/hx-tab-panel-CwClQoWP.js.map +1 -0
  393. package/dist/shared/{hx-tag-F0ZcYj9b.js → hx-tag-BL5qJJCN.js} +20 -8
  394. package/dist/shared/hx-tag-BL5qJJCN.js.map +1 -0
  395. package/dist/shared/{hx-td-CNCvzBwY.js → hx-td-CzSvVKdp.js} +21 -13
  396. package/dist/shared/hx-td-CzSvVKdp.js.map +1 -0
  397. package/dist/shared/{hx-text-input-Zuodg9s_.js → hx-text-input-BfMrvN9N.js} +110 -48
  398. package/dist/shared/hx-text-input-BfMrvN9N.js.map +1 -0
  399. package/dist/shared/{hx-textarea-BfSJJtA1.js → hx-textarea-C-i_Vam6.js} +108 -47
  400. package/dist/shared/hx-textarea-C-i_Vam6.js.map +1 -0
  401. package/dist/shared/{hx-time-picker-CZvmihHD.js → hx-time-picker-MZyLQPW9.js} +50 -61
  402. package/dist/shared/hx-time-picker-MZyLQPW9.js.map +1 -0
  403. package/dist/shared/{hx-toggle-button-BZUQUULm.js → hx-toggle-button-ClyNYNVI.js} +68 -37
  404. package/dist/shared/hx-toggle-button-ClyNYNVI.js.map +1 -0
  405. package/dist/shared/{hx-tooltip-Ny4i1Idj.js → hx-tooltip-ByWT987R.js} +33 -19
  406. package/dist/shared/hx-tooltip-ByWT987R.js.map +1 -0
  407. package/dist/shared/{hx-top-nav-CC4FW2Hp.js → hx-top-nav-k7hY78kt.js} +35 -14
  408. package/dist/shared/hx-top-nav-k7hY78kt.js.map +1 -0
  409. package/dist/shared/{hx-tree-item-CPQ9dJiK.js → hx-tree-item-D0ZphA45.js} +9 -1
  410. package/dist/shared/hx-tree-item-D0ZphA45.js.map +1 -0
  411. package/dist/shared/{toast-factory-CEMNOt1T.js → toast-factory-Cwd0PihS.js} +49 -36
  412. package/dist/shared/toast-factory-Cwd0PihS.js.map +1 -0
  413. package/package.json +2 -2
  414. package/dist/shared/aria-delegation-CBP9eQ0M.js.map +0 -1
  415. package/dist/shared/hx-accordion-CpfO0YQo.js.map +0 -1
  416. package/dist/shared/hx-alert-CHOjTBds.js.map +0 -1
  417. package/dist/shared/hx-badge-RPzd-t5l.js.map +0 -1
  418. package/dist/shared/hx-banner-B-WEDiq7.js.map +0 -1
  419. package/dist/shared/hx-breadcrumb-item-jLAKK038.js.map +0 -1
  420. package/dist/shared/hx-button-DoN8jjQT.js.map +0 -1
  421. package/dist/shared/hx-card-BgXZXDuc.js.map +0 -1
  422. package/dist/shared/hx-carousel-item-Dwt9Pphz.js.map +0 -1
  423. package/dist/shared/hx-checkbox-C82GjRXe.js.map +0 -1
  424. package/dist/shared/hx-checkbox-group-DThZeN5d.js.map +0 -1
  425. package/dist/shared/hx-clinical-status-BjtT5c0M.js.map +0 -1
  426. package/dist/shared/hx-code-snippet-DcVENSuC.js.map +0 -1
  427. package/dist/shared/hx-color-picker-C6EIuS9t.js.map +0 -1
  428. package/dist/shared/hx-combobox-BJ4lQocO.js.map +0 -1
  429. package/dist/shared/hx-copy-button-BoM0WsMd.js.map +0 -1
  430. package/dist/shared/hx-counter-B5NgKlw4.js.map +0 -1
  431. package/dist/shared/hx-data-table-D5Ne-goy.js.map +0 -1
  432. package/dist/shared/hx-date-picker-Cd3I3WkX.js.map +0 -1
  433. package/dist/shared/hx-dialog-D4ubstxx.js.map +0 -1
  434. package/dist/shared/hx-divider-BBtOLHRP.js.map +0 -1
  435. package/dist/shared/hx-drawer--WDLuWtS.js.map +0 -1
  436. package/dist/shared/hx-dropdown-n5-XSmiV.js.map +0 -1
  437. package/dist/shared/hx-field-CwT9tki1.js.map +0 -1
  438. package/dist/shared/hx-field-label-CcOK9VU3.js.map +0 -1
  439. package/dist/shared/hx-file-upload-Di_vpQaG.js.map +0 -1
  440. package/dist/shared/hx-help-text-Bmb80bP4.js.map +0 -1
  441. package/dist/shared/hx-icon-BKHs3OLu.js.map +0 -1
  442. package/dist/shared/hx-icon-button-CJuy9xbw.js.map +0 -1
  443. package/dist/shared/hx-image-ztiXumZB.js.map +0 -1
  444. package/dist/shared/hx-link-CN7AvGOW.js.map +0 -1
  445. package/dist/shared/hx-menu-divider-DRT8yHRZ.js.map +0 -1
  446. package/dist/shared/hx-meter-BcVC9yrt.js.map +0 -1
  447. package/dist/shared/hx-nav-item-CJN4VDrf.js.map +0 -1
  448. package/dist/shared/hx-nav-l0Rp7WPW.js.map +0 -1
  449. package/dist/shared/hx-number-input-0Waw7Z7u.js.map +0 -1
  450. package/dist/shared/hx-overflow-menu-DElwFSCd.js.map +0 -1
  451. package/dist/shared/hx-patient-banner-BKiN7nIE.js.map +0 -1
  452. package/dist/shared/hx-phi-field-Df06K0J3.js.map +0 -1
  453. package/dist/shared/hx-popover-CydNuVkT.js.map +0 -1
  454. package/dist/shared/hx-popup-DbzezTOd.js.map +0 -1
  455. package/dist/shared/hx-progress-bar-Cm0VihTN.js.map +0 -1
  456. package/dist/shared/hx-radio-f8c5ggHG.js.map +0 -1
  457. package/dist/shared/hx-rating-qRJZXskm.js.map +0 -1
  458. package/dist/shared/hx-select-CgcgsHU5.js.map +0 -1
  459. package/dist/shared/hx-skeleton-tiYvKO-t.js.map +0 -1
  460. package/dist/shared/hx-slider-BvXtvxmN.js.map +0 -1
  461. package/dist/shared/hx-spinner-D6nzuGmj.js.map +0 -1
  462. package/dist/shared/hx-split-button-CPndTJlC.js.map +0 -1
  463. package/dist/shared/hx-split-panel-Dx72NaET.js.map +0 -1
  464. package/dist/shared/hx-status-indicator-ClWpK6zz.js.map +0 -1
  465. package/dist/shared/hx-structured-list-DKlrv7kS.js.map +0 -1
  466. package/dist/shared/hx-switch-BzMN37PV.js.map +0 -1
  467. package/dist/shared/hx-tab-panel-J58zOSjq.js.map +0 -1
  468. package/dist/shared/hx-tag-F0ZcYj9b.js.map +0 -1
  469. package/dist/shared/hx-td-CNCvzBwY.js.map +0 -1
  470. package/dist/shared/hx-text-input-Zuodg9s_.js.map +0 -1
  471. package/dist/shared/hx-textarea-BfSJJtA1.js.map +0 -1
  472. package/dist/shared/hx-time-picker-CZvmihHD.js.map +0 -1
  473. package/dist/shared/hx-toggle-button-BZUQUULm.js.map +0 -1
  474. package/dist/shared/hx-tooltip-Ny4i1Idj.js.map +0 -1
  475. package/dist/shared/hx-top-nav-CC4FW2Hp.js.map +0 -1
  476. package/dist/shared/hx-tree-item-CPQ9dJiK.js.map +0 -1
  477. package/dist/shared/toast-factory-CEMNOt1T.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { css as b, LitElement as m, html as l, nothing as p } from "lit";
1
+ import { css as f, LitElement as m, html as h, nothing as p } from "lit";
2
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`
3
+ import { property as d, state as b, customElement as x } from "lit/decorators.js";
4
+ import { repeat as y } from "lit/directives/repeat.js";
5
+ const w = f`
6
6
  :host {
7
7
  display: block;
8
8
  overflow-x: auto;
@@ -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 g = Object.defineProperty, v = Object.getOwnPropertyDescriptor, c = (e, r, t, o) => {
237
+ for (var s = o > 1 ? void 0 : o ? v(r, t) : r, a = e.length - 1, n; a >= 0; a--)
238
+ (n = e[a]) && (s = (o ? n(r, t, s) : n(s)) || s);
239
+ return o && s && g(r, t, s), s;
217
240
  };
218
- let i = class extends m {
241
+ let l = class extends m {
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;
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.columns = JSON.parse(r);
229
252
  } catch {
230
253
  this.columns = [];
231
254
  }
232
255
  else Array.isArray(this.columns) || (this.columns = []);
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.rows = JSON.parse(r);
239
262
  } catch {
240
263
  this.rows = [];
241
264
  }
242
265
  else Array.isArray(this.rows) || (this.rows = []);
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.rows.length > 500, (e.has("label") || e.has("columns")) && this.columns.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.rows.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.rows[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 i = o.parentElement;
334
+ for (; i; ) {
335
+ if (t.includes(i)) {
336
+ o = i;
314
337
  break;
315
338
  }
316
- h = h.parentElement;
339
+ i = i.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.columns.length + (this.selectable ? 1 : 0), a = t.indexOf(o);
343
+ if (a === -1) return;
344
+ let n = null;
345
+ if (e.key === "ArrowRight" && a + 1 < t.length)
346
+ n = t[a + 1] ?? null;
347
+ else if (e.key === "ArrowLeft" && a - 1 >= 0)
348
+ n = t[a - 1] ?? null;
349
+ else if (e.key === "ArrowDown" && a + s < t.length)
350
+ n = t[a + s] ?? null;
351
+ else if (e.key === "ArrowUp" && a - s >= 0)
352
+ n = t[a - s] ?? null;
353
+ else if (e.key === "Home") {
354
+ const i = a - a % s;
355
+ n = t[i] ?? null;
356
+ } else if (e.key === "End") {
357
+ const i = Math.min(a - a % s + s - 1, t.length - 1);
358
+ n = t[i] ?? null;
359
+ } else if (e.key === " " && ((u = o.getAttribute("part")) != null && u.includes("td"))) {
360
+ const i = Number(o.dataset.rowIndex);
361
+ this.selectable && !isNaN(i) && (e.preventDefault(), this._handleSelect(i, !this._selectedRows.has(i)));
339
362
  return;
340
363
  }
341
- c && (t.preventDefault(), c.setAttribute("tabindex", "0"), c.focus(), a.setAttribute("tabindex", "-1"));
364
+ n && (e.preventDefault(), n.setAttribute("tabindex", "0"), n.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 h`
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,11 +385,46 @@ 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.columns.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 i = this.columns[this._focusedHeaderIndex];
408
+ i != null && i.sortable && (e.preventDefault(), this._handleSort(i.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]"), n = (a == null ? void 0 : a[s]) ?? null;
420
+ n && n.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 h`
426
+ <tr part="tr" @keydown=${this._handleHeaderKeydown}>
427
+ ${this.selectable ? h`
370
428
  <th part="th" class="col-checkbox" tabindex="0">
371
429
  <input
372
430
  type="checkbox"
@@ -379,14 +437,18 @@ let i = class extends m {
379
437
  </th>
380
438
  ` : p}
381
439
  ${this.columns.map(
382
- (t) => l`
440
+ (t, o) => h`
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 ? h`
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) => h`
409
471
  <tr part="tr" aria-hidden="true">
410
- ${this.selectable ? l`<td part="td" class="col-checkbox">
472
+ ${this.selectable ? h`<td part="td" class="col-checkbox">
411
473
  <span class="skeleton-cell" style="width:1rem;margin:auto"></span>
412
474
  </td>` : p}
413
475
  ${this.columns.map(
414
- () => l`
476
+ () => h`
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.columns.length + (this.selectable ? 1 : 0);
489
+ return h`
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.rows;
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.rows.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 y(
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 h`
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 ? h`
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
530
  ${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]) : ""}
531
+ (s) => h`
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 h`
483
545
  <slot name="toolbar"></slot>
484
546
  <div class="table-wrapper">
485
547
  <table
@@ -493,81 +555,84 @@ 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 ? h`<slot name="loading">${this._renderSkeletonRows()}</slot>` : this.rows.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];
504
- n([
565
+ l.styles = [w];
566
+ c([
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
  }
515
577
  }
516
578
  }
517
579
  })
518
- ], i.prototype, "columns", 2);
519
- n([
580
+ ], l.prototype, "columns", 2);
581
+ c([
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
  }
530
592
  }
531
593
  }
532
594
  })
533
- ], i.prototype, "rows", 2);
534
- n([
595
+ ], l.prototype, "rows", 2);
596
+ c([
535
597
  d({ type: Boolean, reflect: !0 })
536
- ], i.prototype, "selectable", 2);
537
- n([
598
+ ], l.prototype, "selectable", 2);
599
+ c([
538
600
  d({ type: String, attribute: "sort-key" })
539
- ], i.prototype, "sortKey", 2);
540
- n([
601
+ ], l.prototype, "sortKey", 2);
602
+ c([
541
603
  d({ type: String, attribute: "sort-direction" })
542
- ], i.prototype, "sortDirection", 2);
543
- n([
604
+ ], l.prototype, "sortDirection", 2);
605
+ c([
544
606
  d({ type: Boolean, reflect: !0 })
545
- ], i.prototype, "loading", 2);
546
- n([
607
+ ], l.prototype, "loading", 2);
608
+ c([
547
609
  d({ type: String, attribute: "empty-label" })
548
- ], i.prototype, "emptyLabel", 2);
549
- n([
610
+ ], l.prototype, "emptyLabel", 2);
611
+ c([
550
612
  d({ type: String })
551
- ], i.prototype, "label", 2);
552
- n([
613
+ ], l.prototype, "label", 2);
614
+ c([
553
615
  d({ attribute: "select-all-label" })
554
- ], i.prototype, "selectAllLabel", 2);
555
- n([
616
+ ], l.prototype, "selectAllLabel", 2);
617
+ c([
556
618
  d({ type: Boolean, reflect: !0, attribute: "sticky-header" })
557
- ], i.prototype, "stickyHeader", 2);
558
- n([
619
+ ], l.prototype, "stickyHeader", 2);
620
+ c([
559
621
  d({ type: Number })
560
- ], i.prototype, "page", 2);
561
- n([
622
+ ], l.prototype, "page", 2);
623
+ c([
562
624
  d({ type: Number, attribute: "page-size" })
563
- ], i.prototype, "pageSize", 2);
564
- n([
565
- f()
566
- ], i.prototype, "_selectedRows", 2);
567
- i = n([
568
- y("hx-data-table")
569
- ], i);
625
+ ], l.prototype, "pageSize", 2);
626
+ c([
627
+ b()
628
+ ], l.prototype, "_selectedRows", 2);
629
+ c([
630
+ b()
631
+ ], l.prototype, "_focusedHeaderIndex", 2);
632
+ l = c([
633
+ x("hx-data-table")
634
+ ], l);
570
635
  export {
571
- i as H
636
+ l as H
572
637
  };
573
- //# sourceMappingURL=hx-data-table-D5Ne-goy.js.map
638
+ //# sourceMappingURL=hx-data-table-609C-e9w.js.map