@helixui/library 1.1.1 → 1.1.2-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (620) hide show
  1. package/custom-elements.json +7475 -6560
  2. package/dist/base/helix-element.d.ts +134 -0
  3. package/dist/base/helix-element.d.ts.map +1 -0
  4. package/dist/base/id-counter.d.ts +32 -0
  5. package/dist/base/id-counter.d.ts.map +1 -0
  6. package/dist/base/index.d.ts +4 -0
  7. package/dist/base/index.d.ts.map +1 -0
  8. package/dist/base/styles.d.ts +19 -0
  9. package/dist/base/styles.d.ts.map +1 -0
  10. package/dist/components/hx-accordion/hx-accordion-item.d.ts +3 -0
  11. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  12. package/dist/components/hx-accordion/hx-accordion.d.ts +4 -1
  13. package/dist/components/hx-accordion/hx-accordion.d.ts.map +1 -1
  14. package/dist/components/hx-accordion/index.js +1 -1
  15. package/dist/components/hx-action-bar/hx-action-bar.d.ts +1 -1
  16. package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
  17. package/dist/components/hx-alert/hx-alert.d.ts +18 -10
  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.js +1 -1
  21. package/dist/components/hx-avatar/index.js +1 -1
  22. package/dist/components/hx-badge/hx-badge.d.ts.map +1 -1
  23. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
  24. package/dist/components/hx-badge/index.js +1 -1
  25. package/dist/components/hx-banner/hx-banner.d.ts +15 -5
  26. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  27. package/dist/components/hx-banner/hx-banner.styles.d.ts.map +1 -1
  28. package/dist/components/hx-banner/index.js +1 -1
  29. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +7 -2
  30. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
  31. package/dist/components/hx-breadcrumb/index.js +1 -1
  32. package/dist/components/hx-button/hx-button.d.ts +11 -8
  33. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  34. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  35. package/dist/components/hx-button/index.js +1 -1
  36. package/dist/components/hx-button-group/hx-button-group.d.ts +3 -6
  37. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  38. package/dist/components/hx-button-group/index.js +1 -1
  39. package/dist/components/hx-card/hx-card.d.ts +7 -7
  40. package/dist/components/hx-card/hx-card.d.ts.map +1 -1
  41. package/dist/components/hx-card/index.js +1 -1
  42. package/dist/components/hx-carousel/hx-carousel.d.ts +2 -2
  43. package/dist/components/hx-carousel/index.js +1 -1
  44. package/dist/components/hx-checkbox/hx-checkbox.d.ts +18 -18
  45. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  46. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  47. package/dist/components/hx-checkbox/index.js +1 -1
  48. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +8 -3
  49. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  50. package/dist/components/hx-checkbox-group/index.js +1 -1
  51. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +126 -0
  52. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -0
  53. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts +2 -0
  54. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -0
  55. package/dist/components/hx-clinical-status/index.d.ts +3 -0
  56. package/dist/components/hx-clinical-status/index.d.ts.map +1 -0
  57. package/dist/components/hx-clinical-status/index.js +5 -0
  58. package/dist/components/hx-clinical-status/index.js.map +1 -0
  59. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
  60. package/dist/components/hx-code-snippet/index.js +1 -1
  61. package/dist/components/hx-color-picker/color-utils.d.ts +27 -0
  62. package/dist/components/hx-color-picker/color-utils.d.ts.map +1 -0
  63. package/dist/components/hx-color-picker/hx-color-picker.d.ts +16 -4
  64. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  65. package/dist/components/hx-color-picker/index.js +1 -1
  66. package/dist/components/hx-combobox/hx-combobox.d.ts +4 -4
  67. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  68. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
  69. package/dist/components/hx-combobox/index.js +1 -1
  70. package/dist/components/hx-container/index.js +1 -1
  71. package/dist/components/hx-copy-button/hx-copy-button.d.ts +6 -1
  72. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
  73. package/dist/components/hx-copy-button/index.js +1 -1
  74. package/dist/components/hx-counter/hx-counter.d.ts +20 -3
  75. package/dist/components/hx-counter/hx-counter.d.ts.map +1 -1
  76. package/dist/components/hx-counter/hx-counter.styles.d.ts.map +1 -1
  77. package/dist/components/hx-counter/index.js +1 -1
  78. package/dist/components/hx-data-table/hx-data-table.d.ts +13 -13
  79. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  80. package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -1
  81. package/dist/components/hx-data-table/index.js +1 -1
  82. package/dist/components/hx-date-picker/hx-date-picker.d.ts +70 -13
  83. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  84. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  85. package/dist/components/hx-date-picker/index.js +1 -1
  86. package/dist/components/hx-dialog/hx-dialog.d.ts +4 -1
  87. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  88. package/dist/components/hx-dialog/index.js +1 -1
  89. package/dist/components/hx-divider/hx-divider.d.ts.map +1 -1
  90. package/dist/components/hx-divider/index.js +1 -1
  91. package/dist/components/hx-drawer/hx-drawer.d.ts +4 -8
  92. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  93. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  94. package/dist/components/hx-drawer/index.js +1 -1
  95. package/dist/components/hx-dropdown/hx-dropdown.d.ts +14 -1
  96. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  97. package/dist/components/hx-dropdown/index.js +1 -1
  98. package/dist/components/hx-field/hx-field.d.ts +1 -1
  99. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  100. package/dist/components/hx-field/index.js +1 -1
  101. package/dist/components/hx-field-label/hx-field-label.styles.d.ts.map +1 -1
  102. package/dist/components/hx-field-label/index.js +1 -1
  103. package/dist/components/hx-file-upload/hx-file-upload.d.ts +8 -9
  104. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  105. package/dist/components/hx-file-upload/index.js +1 -1
  106. package/dist/components/hx-form/hx-form.d.ts.map +1 -1
  107. package/dist/components/hx-form/index.js +1 -1
  108. package/dist/components/hx-format-date/hx-format-date.d.ts.map +1 -1
  109. package/dist/components/hx-format-date/index.js +1 -1
  110. package/dist/components/hx-grid/hx-grid.d.ts +5 -9
  111. package/dist/components/hx-grid/hx-grid.d.ts.map +1 -1
  112. package/dist/components/hx-grid/index.js +1 -1
  113. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
  114. package/dist/components/hx-icon/index.js +1 -1
  115. package/dist/components/hx-icon-button/hx-icon-button.d.ts +4 -3
  116. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  117. package/dist/components/hx-icon-button/index.js +1 -1
  118. package/dist/components/hx-image/hx-image.d.ts.map +1 -1
  119. package/dist/components/hx-image/index.js +1 -1
  120. package/dist/components/hx-link/hx-link.d.ts +1 -1
  121. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  122. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
  123. package/dist/components/hx-link/index.js +1 -1
  124. package/dist/components/hx-meter/hx-meter.d.ts +2 -2
  125. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  126. package/dist/components/hx-meter/index.js +1 -1
  127. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  128. package/dist/components/hx-nav/index.js +1 -1
  129. package/dist/components/hx-number-input/hx-number-input.d.ts +19 -7
  130. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  131. package/dist/components/hx-number-input/index.js +1 -1
  132. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +3 -3
  133. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  134. package/dist/components/hx-overflow-menu/index.js +1 -1
  135. package/dist/components/hx-pagination/hx-pagination.d.ts +26 -12
  136. package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -1
  137. package/dist/components/hx-pagination/hx-pagination.styles.d.ts.map +1 -1
  138. package/dist/components/hx-pagination/index.js +1 -1
  139. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts +105 -0
  140. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts.map +1 -0
  141. package/dist/components/hx-patient-banner/hx-patient-banner.styles.d.ts +2 -0
  142. package/dist/components/hx-patient-banner/hx-patient-banner.styles.d.ts.map +1 -0
  143. package/dist/components/hx-patient-banner/index.d.ts +3 -0
  144. package/dist/components/hx-patient-banner/index.d.ts.map +1 -0
  145. package/dist/components/hx-patient-banner/index.js +5 -0
  146. package/dist/components/hx-patient-banner/index.js.map +1 -0
  147. package/dist/components/hx-phi-field/hx-phi-field.d.ts +72 -0
  148. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -0
  149. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts +2 -0
  150. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -0
  151. package/dist/components/hx-phi-field/index.d.ts +3 -0
  152. package/dist/components/hx-phi-field/index.d.ts.map +1 -0
  153. package/dist/components/hx-phi-field/index.js +5 -0
  154. package/dist/components/hx-phi-field/index.js.map +1 -0
  155. package/dist/components/hx-popover/hx-popover.d.ts +25 -9
  156. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  157. package/dist/components/hx-popover/index.js +1 -1
  158. package/dist/components/hx-popup/hx-popup.d.ts +5 -8
  159. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
  160. package/dist/components/hx-popup/index.js +1 -1
  161. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +2 -0
  162. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  163. package/dist/components/hx-progress-bar/hx-progress-bar.styles.d.ts.map +1 -1
  164. package/dist/components/hx-progress-bar/index.js +1 -1
  165. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts.map +1 -1
  166. package/dist/components/hx-progress-ring/index.js +1 -1
  167. package/dist/components/hx-prose/hx-prose.d.ts +1 -0
  168. package/dist/components/hx-prose/hx-prose.d.ts.map +1 -1
  169. package/dist/components/hx-radio-group/hx-radio-group.d.ts +3 -7
  170. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  171. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  172. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
  173. package/dist/components/hx-radio-group/index.js +1 -1
  174. package/dist/components/hx-rating/hx-rating.d.ts +3 -3
  175. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  176. package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
  177. package/dist/components/hx-rating/index.js +1 -1
  178. package/dist/components/hx-select/hx-select.d.ts +16 -11
  179. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  180. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  181. package/dist/components/hx-select/index.js +1 -1
  182. package/dist/components/hx-side-nav/hx-nav-item.d.ts +7 -0
  183. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  184. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  185. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  186. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  187. package/dist/components/hx-side-nav/index.js +1 -1
  188. package/dist/components/hx-skeleton/hx-skeleton.d.ts +2 -2
  189. package/dist/components/hx-skeleton/hx-skeleton.d.ts.map +1 -1
  190. package/dist/components/hx-slider/hx-slider.d.ts +4 -8
  191. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  192. package/dist/components/hx-slider/hx-slider.styles.d.ts.map +1 -1
  193. package/dist/components/hx-slider/index.js +1 -1
  194. package/dist/components/hx-spinner/hx-spinner.d.ts +14 -1
  195. package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
  196. package/dist/components/hx-spinner/hx-spinner.styles.d.ts.map +1 -1
  197. package/dist/components/hx-spinner/index.js +1 -1
  198. package/dist/components/hx-split-button/hx-split-button.d.ts +10 -4
  199. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  200. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  201. package/dist/components/hx-split-button/index.js +1 -1
  202. package/dist/components/hx-split-panel/hx-split-panel.d.ts +13 -9
  203. package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -1
  204. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
  205. package/dist/components/hx-split-panel/index.js +1 -1
  206. package/dist/components/hx-stat/hx-stat.d.ts +7 -2
  207. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  208. package/dist/components/hx-stat/index.js +1 -1
  209. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts +2 -2
  210. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts.map +1 -1
  211. package/dist/components/hx-status-indicator/index.js +1 -1
  212. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  213. package/dist/components/hx-steps/hx-steps.d.ts.map +1 -1
  214. package/dist/components/hx-steps/index.js +1 -1
  215. package/dist/components/hx-structured-list/hx-structured-list.d.ts +10 -3
  216. package/dist/components/hx-structured-list/hx-structured-list.d.ts.map +1 -1
  217. package/dist/components/hx-structured-list/index.js +1 -1
  218. package/dist/components/hx-style-scope/hx-style-scope.d.ts +71 -0
  219. package/dist/components/hx-style-scope/hx-style-scope.d.ts.map +1 -0
  220. package/dist/components/hx-style-scope/hx-style-scope.styles.d.ts +10 -0
  221. package/dist/components/hx-style-scope/hx-style-scope.styles.d.ts.map +1 -0
  222. package/dist/components/hx-style-scope/index.d.ts +2 -0
  223. package/dist/components/hx-style-scope/index.d.ts.map +1 -0
  224. package/dist/components/hx-style-scope/index.js +5 -0
  225. package/dist/components/hx-style-scope/index.js.map +1 -0
  226. package/dist/components/hx-switch/hx-switch.d.ts +4 -4
  227. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  228. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  229. package/dist/components/hx-switch/index.js +1 -1
  230. package/dist/components/hx-table/hx-table.d.ts +1 -0
  231. package/dist/components/hx-table/hx-table.d.ts.map +1 -1
  232. package/dist/components/hx-table/index.js +1 -1
  233. package/dist/components/hx-tabs/hx-tab-panel.styles.d.ts.map +1 -1
  234. package/dist/components/hx-tabs/hx-tab.d.ts +1 -0
  235. package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
  236. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  237. package/dist/components/hx-tabs/hx-tabs.d.ts +2 -2
  238. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  239. package/dist/components/hx-tabs/index.js +1 -1
  240. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  241. package/dist/components/hx-tag/index.js +1 -1
  242. package/dist/components/hx-text/index.js +1 -1
  243. package/dist/components/hx-text-input/hx-text-input.d.ts +16 -15
  244. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  245. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  246. package/dist/components/hx-text-input/index.js +1 -1
  247. package/dist/components/hx-textarea/hx-textarea.d.ts +4 -4
  248. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  249. package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -1
  250. package/dist/components/hx-textarea/index.js +1 -1
  251. package/dist/components/hx-theme/hx-theme.d.ts +82 -3
  252. package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
  253. package/dist/components/hx-theme/index.js +1 -1
  254. package/dist/components/hx-time-picker/hx-time-picker.d.ts +3 -1
  255. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  256. package/dist/components/hx-time-picker/index.js +1 -1
  257. package/dist/components/hx-toast/hx-toast-stack.d.ts +1 -1
  258. package/dist/components/hx-toast/hx-toast-stack.d.ts.map +1 -1
  259. package/dist/components/hx-toast/hx-toast.d.ts +9 -5
  260. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  261. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  262. package/dist/components/hx-toast/index.js +1 -1
  263. package/dist/components/hx-toast/toast-factory.d.ts.map +1 -1
  264. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +4 -3
  265. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  266. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  267. package/dist/components/hx-toggle-button/index.js +1 -1
  268. package/dist/components/hx-tooltip/hx-tooltip.d.ts +1 -2
  269. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  270. package/dist/components/hx-tooltip/index.js +1 -1
  271. package/dist/components/hx-tree-view/hx-tree-item.d.ts +7 -0
  272. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  273. package/dist/components/hx-tree-view/hx-tree-view.d.ts +21 -2
  274. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
  275. package/dist/components/hx-tree-view/hx-tree-view.styles.d.ts.map +1 -1
  276. package/dist/components/hx-tree-view/index.js +1 -1
  277. package/dist/controllers/helix-audit-controller.d.ts +71 -0
  278. package/dist/controllers/helix-audit-controller.d.ts.map +1 -0
  279. package/dist/css/helix-all.css +9581 -0
  280. package/dist/css/helix-core.css +1784 -0
  281. package/dist/css/helix-data.css +639 -0
  282. package/dist/css/helix-feedback.css +1239 -0
  283. package/dist/css/helix-forms.css +2498 -0
  284. package/dist/css/helix-layout.css +380 -0
  285. package/dist/css/helix-media.css +213 -0
  286. package/dist/css/helix-navigation.css +1122 -0
  287. package/dist/css/helix-overlay.css +643 -0
  288. package/dist/css/helix-tokens.css +432 -0
  289. package/dist/css/helix-utility.css +633 -0
  290. package/dist/css/hx-accordion.css +10 -0
  291. package/dist/css/hx-action-bar.css +117 -0
  292. package/dist/css/hx-alert.css +213 -0
  293. package/dist/css/hx-avatar.css +117 -0
  294. package/dist/css/hx-badge.css +174 -0
  295. package/dist/css/hx-banner.css +203 -0
  296. package/dist/css/hx-breadcrumb.css +36 -0
  297. package/dist/css/hx-button-group.css +91 -0
  298. package/dist/css/hx-button.css +262 -0
  299. package/dist/css/hx-card.css +161 -0
  300. package/dist/css/hx-carousel.css +211 -0
  301. package/dist/css/hx-checkbox-group.css +77 -0
  302. package/dist/css/hx-checkbox.css +219 -0
  303. package/dist/css/hx-clinical-status.css +246 -0
  304. package/dist/css/hx-code-snippet.css +179 -0
  305. package/dist/css/hx-color-picker.css +2 -0
  306. package/dist/css/hx-combobox.css +2 -0
  307. package/dist/css/hx-container.css +82 -0
  308. package/dist/css/hx-copy-button.css +121 -0
  309. package/dist/css/hx-counter.css +51 -0
  310. package/dist/css/hx-data-table.css +207 -0
  311. package/dist/css/hx-date-picker.css +2 -0
  312. package/dist/css/hx-dialog.css +190 -0
  313. package/dist/css/hx-divider.css +87 -0
  314. package/dist/css/hx-drawer.css +262 -0
  315. package/dist/css/hx-dropdown.css +46 -0
  316. package/dist/css/hx-field-label.css +38 -0
  317. package/dist/css/hx-field.css +119 -0
  318. package/dist/css/hx-file-upload.css +241 -0
  319. package/dist/css/hx-form.css +2 -0
  320. package/dist/css/hx-format-date.css +10 -0
  321. package/dist/css/hx-grid.css +14 -0
  322. package/dist/css/hx-help-text.css +50 -0
  323. package/dist/css/hx-icon-button.css +152 -0
  324. package/dist/css/hx-icon.css +73 -0
  325. package/dist/css/hx-image.css +41 -0
  326. package/dist/css/hx-link.css +105 -0
  327. package/dist/css/hx-list.css +48 -0
  328. package/dist/css/hx-menu.css +21 -0
  329. package/dist/css/hx-meter.css +113 -0
  330. package/dist/css/hx-nav.css +242 -0
  331. package/dist/css/hx-number-input.css +246 -0
  332. package/dist/css/hx-overflow-menu.css +133 -0
  333. package/dist/css/hx-pagination.css +193 -0
  334. package/dist/css/hx-patient-banner.css +111 -0
  335. package/dist/css/hx-phi-field.css +85 -0
  336. package/dist/css/hx-popover.css +61 -0
  337. package/dist/css/hx-popup.css +31 -0
  338. package/dist/css/hx-progress-bar.css +133 -0
  339. package/dist/css/hx-progress-ring.css +142 -0
  340. package/dist/css/hx-prose.css +2 -0
  341. package/dist/css/hx-radio-group.css +77 -0
  342. package/dist/css/hx-rating.css +96 -0
  343. package/dist/css/hx-select.css +268 -0
  344. package/dist/css/hx-side-nav.css +142 -0
  345. package/dist/css/hx-skeleton.css +82 -0
  346. package/dist/css/hx-slider.css +287 -0
  347. package/dist/css/hx-spinner.css +116 -0
  348. package/dist/css/hx-split-button.css +309 -0
  349. package/dist/css/hx-split-panel.css +168 -0
  350. package/dist/css/hx-stack.css +104 -0
  351. package/dist/css/hx-stat.css +106 -0
  352. package/dist/css/hx-status-indicator.css +97 -0
  353. package/dist/css/hx-steps.css +52 -0
  354. package/dist/css/hx-structured-list.css +75 -0
  355. package/dist/css/hx-style-scope.css +4 -0
  356. package/dist/css/hx-switch.css +169 -0
  357. package/dist/css/hx-table.css +128 -0
  358. package/dist/css/hx-tabs.css +76 -0
  359. package/dist/css/hx-tag.css +146 -0
  360. package/dist/css/hx-text-input.css +214 -0
  361. package/dist/css/hx-text.css +149 -0
  362. package/dist/css/hx-textarea.css +180 -0
  363. package/dist/css/hx-theme.css +23 -0
  364. package/dist/css/hx-time-picker.css +2 -0
  365. package/dist/css/hx-toast.css +230 -0
  366. package/dist/css/hx-toggle-button.css +207 -0
  367. package/dist/css/hx-tooltip.css +51 -0
  368. package/dist/css/hx-top-nav.css +203 -0
  369. package/dist/css/hx-tree-view.css +22 -0
  370. package/dist/css/hx-visually-hidden.css +26 -0
  371. package/dist/css/index.css +84 -0
  372. package/dist/css/manifest.json +2696 -0
  373. package/dist/index.d.ts +14 -0
  374. package/dist/index.d.ts.map +1 -1
  375. package/dist/index.js +266 -176
  376. package/dist/index.js.map +1 -1
  377. package/dist/mixins/FocusMixin.d.ts +49 -0
  378. package/dist/mixins/FocusMixin.d.ts.map +1 -0
  379. package/dist/mixins/FormMixin.d.ts +69 -0
  380. package/dist/mixins/FormMixin.d.ts.map +1 -0
  381. package/dist/mixins/aria-delegation.d.ts +97 -0
  382. package/dist/mixins/aria-delegation.d.ts.map +1 -0
  383. package/dist/mixins/index.d.ts +5 -0
  384. package/dist/mixins/index.d.ts.map +1 -0
  385. package/dist/shared/FormMixin-Bjvw20G5.js +88 -0
  386. package/dist/shared/FormMixin-Bjvw20G5.js.map +1 -0
  387. package/dist/shared/aria-delegation-CBP9eQ0M.js +107 -0
  388. package/dist/shared/aria-delegation-CBP9eQ0M.js.map +1 -0
  389. package/dist/shared/{hx-accordion-D1kFhdeQ.js → hx-accordion-_KeulaQR.js} +83 -55
  390. package/dist/shared/hx-accordion-_KeulaQR.js.map +1 -0
  391. package/dist/shared/hx-action-bar-D4bulGQP.js.map +1 -1
  392. package/dist/shared/{hx-alert-K5F8KeqI.js → hx-alert-DRZYP0Oo.js} +32 -23
  393. package/dist/shared/hx-alert-DRZYP0Oo.js.map +1 -0
  394. package/dist/shared/{hx-avatar-Cun-O99h.js → hx-avatar-7p1cj3lG.js} +2 -2
  395. package/dist/shared/hx-avatar-7p1cj3lG.js.map +1 -0
  396. package/dist/shared/{hx-badge-CsFd2xtw.js → hx-badge-DCxvskdw.js} +23 -18
  397. package/dist/shared/hx-badge-DCxvskdw.js.map +1 -0
  398. package/dist/shared/{hx-banner-BTV-X2xF.js → hx-banner-2RS7Nux4.js} +93 -58
  399. package/dist/shared/hx-banner-2RS7Nux4.js.map +1 -0
  400. package/dist/shared/{hx-breadcrumb-item-4IwaLgaO.js → hx-breadcrumb-item-B2rjepqy.js} +79 -78
  401. package/dist/shared/hx-breadcrumb-item-B2rjepqy.js.map +1 -0
  402. package/dist/shared/{hx-button-7k-KeCYU.js → hx-button-6S3DwuIj.js} +81 -56
  403. package/dist/shared/hx-button-6S3DwuIj.js.map +1 -0
  404. package/dist/shared/{hx-button-group-CWjWv-wS.js → hx-button-group-ChTQsnQj.js} +10 -10
  405. package/dist/shared/hx-button-group-ChTQsnQj.js.map +1 -0
  406. package/dist/shared/{hx-card-0hT3G5hi.js → hx-card-dIKdcMhr.js} +32 -32
  407. package/dist/shared/hx-card-dIKdcMhr.js.map +1 -0
  408. package/dist/shared/{hx-carousel-item-DgeYyYZJ.js → hx-carousel-item-Cm8a1nAi.js} +3 -3
  409. package/dist/shared/hx-carousel-item-Cm8a1nAi.js.map +1 -0
  410. package/dist/shared/{hx-checkbox-BvjO-O41.js → hx-checkbox-_WUiuTo9.js} +68 -71
  411. package/dist/shared/hx-checkbox-_WUiuTo9.js.map +1 -0
  412. package/dist/shared/{hx-checkbox-group-Z5VvWzcj.js → hx-checkbox-group-B-ci-dxp.js} +37 -31
  413. package/dist/shared/hx-checkbox-group-B-ci-dxp.js.map +1 -0
  414. package/dist/shared/hx-clinical-status-De8yrA5I.js +467 -0
  415. package/dist/shared/hx-clinical-status-De8yrA5I.js.map +1 -0
  416. package/dist/shared/{hx-code-snippet-DqzPkH4K.js → hx-code-snippet-CQsyvthi.js} +56 -47
  417. package/dist/shared/hx-code-snippet-CQsyvthi.js.map +1 -0
  418. package/dist/shared/{hx-color-picker-Da8z6AlQ.js → hx-color-picker-Dk2Myvaf.js} +153 -137
  419. package/dist/shared/hx-color-picker-Dk2Myvaf.js.map +1 -0
  420. package/dist/shared/{hx-combobox-CivfelTS.js → hx-combobox-CNAJXIxo.js} +10 -10
  421. package/dist/shared/hx-combobox-CNAJXIxo.js.map +1 -0
  422. package/dist/shared/{hx-container-DLUKnTi9.js → hx-container-7j16VuQE.js} +16 -16
  423. package/dist/shared/hx-container-7j16VuQE.js.map +1 -0
  424. package/dist/shared/{hx-copy-button--0dymSvw.js → hx-copy-button-B_ZHYO7_.js} +47 -40
  425. package/dist/shared/hx-copy-button-B_ZHYO7_.js.map +1 -0
  426. package/dist/shared/hx-counter-D_B7L9Pi.js +185 -0
  427. package/dist/shared/hx-counter-D_B7L9Pi.js.map +1 -0
  428. package/dist/shared/{hx-data-table-DujB9hSE.js → hx-data-table-B1j4n4bm.js} +134 -107
  429. package/dist/shared/hx-data-table-B1j4n4bm.js.map +1 -0
  430. package/dist/shared/{hx-date-picker-C8d2HtRV.js → hx-date-picker-R-0kWFwr.js} +146 -130
  431. package/dist/shared/hx-date-picker-R-0kWFwr.js.map +1 -0
  432. package/dist/shared/{hx-dialog-DkUSnVgw.js → hx-dialog-U5d3s0Ps.js} +98 -89
  433. package/dist/shared/hx-dialog-U5d3s0Ps.js.map +1 -0
  434. package/dist/shared/{hx-divider-DNNs4e8q.js → hx-divider-DdAN-_jB.js} +5 -5
  435. package/dist/shared/hx-divider-DdAN-_jB.js.map +1 -0
  436. package/dist/shared/{hx-drawer-CJcRZcns.js → hx-drawer-e0qeGxAD.js} +117 -77
  437. package/dist/shared/hx-drawer-e0qeGxAD.js.map +1 -0
  438. package/dist/shared/{hx-dropdown-Bo0KTM1A.js → hx-dropdown-DP_DNpEb.js} +56 -41
  439. package/dist/shared/hx-dropdown-DP_DNpEb.js.map +1 -0
  440. package/dist/shared/{hx-field-3MmzJ4kZ.js → hx-field-COM4KvMQ.js} +9 -9
  441. package/dist/shared/hx-field-COM4KvMQ.js.map +1 -0
  442. package/dist/shared/{hx-field-label-Bg-EWvqF.js → hx-field-label-BtZ9H9Yy.js} +8 -11
  443. package/dist/shared/hx-field-label-BtZ9H9Yy.js.map +1 -0
  444. package/dist/shared/{hx-file-upload-ByjAgfNy.js → hx-file-upload-DbECypLe.js} +78 -87
  445. package/dist/shared/hx-file-upload-DbECypLe.js.map +1 -0
  446. package/dist/shared/{hx-form-BpS6v3Iu.js → hx-form-fJE-FJQV.js} +36 -32
  447. package/dist/shared/{hx-form-BpS6v3Iu.js.map → hx-form-fJE-FJQV.js.map} +1 -1
  448. package/dist/shared/{hx-format-date-BdnWV2kX.js → hx-format-date-C030ThSm.js} +14 -12
  449. package/dist/shared/hx-format-date-C030ThSm.js.map +1 -0
  450. package/dist/shared/{hx-grid-gEjuF0cR.js → hx-grid-DE8KM5Gf.js} +7 -7
  451. package/dist/shared/hx-grid-DE8KM5Gf.js.map +1 -0
  452. package/dist/shared/{hx-icon-button-DzH_bRtC.js → hx-icon-button-Et9wq79n.js} +4 -4
  453. package/dist/shared/{hx-icon-button-DzH_bRtC.js.map → hx-icon-button-Et9wq79n.js.map} +1 -1
  454. package/dist/shared/{hx-icon-CP6OnLoM.js → hx-icon-dYvrzvsO.js} +7 -7
  455. package/dist/shared/hx-icon-dYvrzvsO.js.map +1 -0
  456. package/dist/shared/{hx-image-C6pGiI6c.js → hx-image-DUsEi-oN.js} +15 -15
  457. package/dist/shared/hx-image-DUsEi-oN.js.map +1 -0
  458. package/dist/shared/{hx-link-Tmk_YPvW.js → hx-link-Peg2LzOD.js} +43 -41
  459. package/dist/shared/hx-link-Peg2LzOD.js.map +1 -0
  460. package/dist/shared/{hx-meter-uXkTZq-W.js → hx-meter-CVs4A649.js} +13 -13
  461. package/dist/shared/hx-meter-CVs4A649.js.map +1 -0
  462. package/dist/shared/{hx-nav-3JsN2Oak.js → hx-nav-D377Ngz4.js} +23 -24
  463. package/dist/shared/hx-nav-D377Ngz4.js.map +1 -0
  464. package/dist/shared/{hx-nav-item-D3EJatzc.js → hx-nav-item-ByU2N921.js} +49 -37
  465. package/dist/shared/hx-nav-item-ByU2N921.js.map +1 -0
  466. package/dist/shared/{hx-number-input-CAAibZ8X.js → hx-number-input-BPgrlMLN.js} +70 -66
  467. package/dist/shared/hx-number-input-BPgrlMLN.js.map +1 -0
  468. package/dist/shared/{hx-overflow-menu-2kgOJ_ht.js → hx-overflow-menu-Bz02LPPk.js} +15 -11
  469. package/dist/shared/hx-overflow-menu-Bz02LPPk.js.map +1 -0
  470. package/dist/shared/{hx-pagination-DBs-vmSv.js → hx-pagination-DYhYPqDn.js} +68 -63
  471. package/dist/shared/hx-pagination-DYhYPqDn.js.map +1 -0
  472. package/dist/shared/hx-patient-banner-BoJHddAL.js +256 -0
  473. package/dist/shared/hx-patient-banner-BoJHddAL.js.map +1 -0
  474. package/dist/shared/hx-phi-field-EDWna59z.js +261 -0
  475. package/dist/shared/hx-phi-field-EDWna59z.js.map +1 -0
  476. package/dist/shared/{hx-popover-DxE67miP.js → hx-popover-D6kYQkt3.js} +96 -69
  477. package/dist/shared/hx-popover-D6kYQkt3.js.map +1 -0
  478. package/dist/shared/{hx-popup-Dg6n_PbY.js → hx-popup-RQb6HUXc.js} +2 -2
  479. package/dist/shared/hx-popup-RQb6HUXc.js.map +1 -0
  480. package/dist/shared/{hx-progress-bar-Dm_EHyng.js → hx-progress-bar-ByEmxq1V.js} +42 -40
  481. package/dist/shared/hx-progress-bar-ByEmxq1V.js.map +1 -0
  482. package/dist/shared/{hx-progress-ring-DpxBDD5d.js → hx-progress-ring-CtVnNRQx.js} +2 -2
  483. package/dist/shared/{hx-progress-ring-DpxBDD5d.js.map → hx-progress-ring-CtVnNRQx.js.map} +1 -1
  484. package/dist/shared/hx-prose-Ml_L2zje.js.map +1 -1
  485. package/dist/shared/{hx-radio-BywgVSEu.js → hx-radio-jgeW92SV.js} +28 -27
  486. package/dist/shared/hx-radio-jgeW92SV.js.map +1 -0
  487. package/dist/shared/{hx-rating-CUWBQ0fZ.js → hx-rating-g_iy-DW_.js} +92 -96
  488. package/dist/shared/hx-rating-g_iy-DW_.js.map +1 -0
  489. package/dist/shared/{hx-select-BwDwxk-M.js → hx-select-4-nHL0vd.js} +73 -61
  490. package/dist/shared/hx-select-4-nHL0vd.js.map +1 -0
  491. package/dist/shared/hx-skeleton-BHvALyd7.js.map +1 -1
  492. package/dist/shared/{hx-slider-D_0EKJyk.js → hx-slider-7Q-e0_pc.js} +27 -22
  493. package/dist/shared/hx-slider-7Q-e0_pc.js.map +1 -0
  494. package/dist/shared/{hx-spinner-DMn4SChS.js → hx-spinner-DEgrKsUo.js} +3 -2
  495. package/dist/shared/hx-spinner-DEgrKsUo.js.map +1 -0
  496. package/dist/shared/{hx-split-button-CypgLXw1.js → hx-split-button-BA7P_ly5.js} +40 -31
  497. package/dist/shared/hx-split-button-BA7P_ly5.js.map +1 -0
  498. package/dist/shared/{hx-split-panel-BPMWKPGu.js → hx-split-panel-Bss54UN8.js} +28 -28
  499. package/dist/shared/hx-split-panel-Bss54UN8.js.map +1 -0
  500. package/dist/shared/{hx-stat-CHntLHJM.js → hx-stat-CmkCUI8v.js} +40 -32
  501. package/dist/shared/{hx-stat-CHntLHJM.js.map → hx-stat-CmkCUI8v.js.map} +1 -1
  502. package/dist/shared/{hx-status-indicator-C1BwEvUw.js → hx-status-indicator-4ClvA5mU.js} +19 -19
  503. package/dist/shared/hx-status-indicator-4ClvA5mU.js.map +1 -0
  504. package/dist/shared/{hx-step-BIVWSPxd.js → hx-step-DlANlr2A.js} +31 -71
  505. package/dist/shared/hx-step-DlANlr2A.js.map +1 -0
  506. package/dist/shared/{hx-structured-list-CMWllxGg.js → hx-structured-list-Db9rwLI_.js} +26 -23
  507. package/dist/shared/hx-structured-list-Db9rwLI_.js.map +1 -0
  508. package/dist/shared/hx-style-scope-BroUu83L.js +125 -0
  509. package/dist/shared/hx-style-scope-BroUu83L.js.map +1 -0
  510. package/dist/shared/{hx-switch-BgX8kuWt.js → hx-switch-C0Lp5RGy.js} +8 -5
  511. package/dist/shared/hx-switch-C0Lp5RGy.js.map +1 -0
  512. package/dist/shared/{hx-tab-panel-DhOq67jj.js → hx-tab-panel-GGjk6Qg4.js} +129 -118
  513. package/dist/shared/hx-tab-panel-GGjk6Qg4.js.map +1 -0
  514. package/dist/shared/{hx-tag-CzOTDcXI.js → hx-tag-K5fCjfqQ.js} +15 -14
  515. package/dist/shared/hx-tag-K5fCjfqQ.js.map +1 -0
  516. package/dist/shared/{hx-td-h6oeW6YC.js → hx-td-DZuILY3s.js} +43 -40
  517. package/dist/shared/hx-td-DZuILY3s.js.map +1 -0
  518. package/dist/shared/{hx-text-DTXjiviE.js → hx-text-DoEVOf47.js} +29 -29
  519. package/dist/shared/hx-text-DoEVOf47.js.map +1 -0
  520. package/dist/shared/hx-text-input-DTKWPVdy.js +576 -0
  521. package/dist/shared/hx-text-input-DTKWPVdy.js.map +1 -0
  522. package/dist/shared/{hx-textarea-BgX7rxyo.js → hx-textarea-BkSiU8oM.js} +15 -15
  523. package/dist/shared/hx-textarea-BkSiU8oM.js.map +1 -0
  524. package/dist/shared/hx-theme-Aag8QJvT.js +299 -0
  525. package/dist/shared/hx-theme-Aag8QJvT.js.map +1 -0
  526. package/dist/shared/{hx-time-picker-DmLu7WUC.js → hx-time-picker-BpCRsh_z.js} +54 -53
  527. package/dist/shared/hx-time-picker-BpCRsh_z.js.map +1 -0
  528. package/dist/shared/{hx-toggle-button-D1jpDvSA.js → hx-toggle-button-CPFqs3eQ.js} +8 -5
  529. package/dist/shared/hx-toggle-button-CPFqs3eQ.js.map +1 -0
  530. package/dist/shared/{hx-tooltip-kh7QFPKu.js → hx-tooltip-CrO4vzeX.js} +15 -10
  531. package/dist/shared/hx-tooltip-CrO4vzeX.js.map +1 -0
  532. package/dist/shared/{hx-tree-item-BP6UF_H1.js → hx-tree-item-DTDIBRrI.js} +122 -89
  533. package/dist/shared/hx-tree-item-DTDIBRrI.js.map +1 -0
  534. package/dist/shared/id-counter-JhvVCnjh.js +143 -0
  535. package/dist/shared/id-counter-JhvVCnjh.js.map +1 -0
  536. package/dist/shared/{toast-factory-DTy-qN8r.js → toast-factory-f184Gi70.js} +57 -45
  537. package/dist/shared/toast-factory-f184Gi70.js.map +1 -0
  538. package/dist/utilities/adoptedStylesheetRegistry.d.ts +47 -0
  539. package/dist/utilities/adoptedStylesheetRegistry.d.ts.map +1 -0
  540. package/dist/utilities/generateScopedSelectors.d.ts +30 -0
  541. package/dist/utilities/generateScopedSelectors.d.ts.map +1 -0
  542. package/dist/utilities/injectLightStyles.d.ts +37 -0
  543. package/dist/utilities/injectLightStyles.d.ts.map +1 -0
  544. package/dist/utilities/lightStyleRegistry.d.ts +41 -0
  545. package/dist/utilities/lightStyleRegistry.d.ts.map +1 -0
  546. package/dist/utilities/sheetManager.d.ts +62 -0
  547. package/dist/utilities/sheetManager.d.ts.map +1 -0
  548. package/dist/utils/contrast-checker.d.ts +86 -0
  549. package/dist/utils/contrast-checker.d.ts.map +1 -0
  550. package/dist/utils/token-merger.d.ts +24 -0
  551. package/dist/utils/token-merger.d.ts.map +1 -0
  552. package/fouc.css +37 -0
  553. package/package.json +25 -5
  554. package/dist/shared/hx-accordion-D1kFhdeQ.js.map +0 -1
  555. package/dist/shared/hx-alert-K5F8KeqI.js.map +0 -1
  556. package/dist/shared/hx-avatar-Cun-O99h.js.map +0 -1
  557. package/dist/shared/hx-badge-CsFd2xtw.js.map +0 -1
  558. package/dist/shared/hx-banner-BTV-X2xF.js.map +0 -1
  559. package/dist/shared/hx-breadcrumb-item-4IwaLgaO.js.map +0 -1
  560. package/dist/shared/hx-button-7k-KeCYU.js.map +0 -1
  561. package/dist/shared/hx-button-group-CWjWv-wS.js.map +0 -1
  562. package/dist/shared/hx-card-0hT3G5hi.js.map +0 -1
  563. package/dist/shared/hx-carousel-item-DgeYyYZJ.js.map +0 -1
  564. package/dist/shared/hx-checkbox-BvjO-O41.js.map +0 -1
  565. package/dist/shared/hx-checkbox-group-Z5VvWzcj.js.map +0 -1
  566. package/dist/shared/hx-code-snippet-DqzPkH4K.js.map +0 -1
  567. package/dist/shared/hx-color-picker-Da8z6AlQ.js.map +0 -1
  568. package/dist/shared/hx-combobox-CivfelTS.js.map +0 -1
  569. package/dist/shared/hx-container-DLUKnTi9.js.map +0 -1
  570. package/dist/shared/hx-copy-button--0dymSvw.js.map +0 -1
  571. package/dist/shared/hx-counter-Duf00H7p.js +0 -147
  572. package/dist/shared/hx-counter-Duf00H7p.js.map +0 -1
  573. package/dist/shared/hx-data-table-DujB9hSE.js.map +0 -1
  574. package/dist/shared/hx-date-picker-C8d2HtRV.js.map +0 -1
  575. package/dist/shared/hx-dialog-DkUSnVgw.js.map +0 -1
  576. package/dist/shared/hx-divider-DNNs4e8q.js.map +0 -1
  577. package/dist/shared/hx-drawer-CJcRZcns.js.map +0 -1
  578. package/dist/shared/hx-dropdown-Bo0KTM1A.js.map +0 -1
  579. package/dist/shared/hx-field-3MmzJ4kZ.js.map +0 -1
  580. package/dist/shared/hx-field-label-Bg-EWvqF.js.map +0 -1
  581. package/dist/shared/hx-file-upload-ByjAgfNy.js.map +0 -1
  582. package/dist/shared/hx-format-date-BdnWV2kX.js.map +0 -1
  583. package/dist/shared/hx-grid-gEjuF0cR.js.map +0 -1
  584. package/dist/shared/hx-icon-CP6OnLoM.js.map +0 -1
  585. package/dist/shared/hx-image-C6pGiI6c.js.map +0 -1
  586. package/dist/shared/hx-link-Tmk_YPvW.js.map +0 -1
  587. package/dist/shared/hx-meter-uXkTZq-W.js.map +0 -1
  588. package/dist/shared/hx-nav-3JsN2Oak.js.map +0 -1
  589. package/dist/shared/hx-nav-item-D3EJatzc.js.map +0 -1
  590. package/dist/shared/hx-number-input-CAAibZ8X.js.map +0 -1
  591. package/dist/shared/hx-overflow-menu-2kgOJ_ht.js.map +0 -1
  592. package/dist/shared/hx-pagination-DBs-vmSv.js.map +0 -1
  593. package/dist/shared/hx-popover-DxE67miP.js.map +0 -1
  594. package/dist/shared/hx-popup-Dg6n_PbY.js.map +0 -1
  595. package/dist/shared/hx-progress-bar-Dm_EHyng.js.map +0 -1
  596. package/dist/shared/hx-radio-BywgVSEu.js.map +0 -1
  597. package/dist/shared/hx-rating-CUWBQ0fZ.js.map +0 -1
  598. package/dist/shared/hx-select-BwDwxk-M.js.map +0 -1
  599. package/dist/shared/hx-slider-D_0EKJyk.js.map +0 -1
  600. package/dist/shared/hx-spinner-DMn4SChS.js.map +0 -1
  601. package/dist/shared/hx-split-button-CypgLXw1.js.map +0 -1
  602. package/dist/shared/hx-split-panel-BPMWKPGu.js.map +0 -1
  603. package/dist/shared/hx-status-indicator-C1BwEvUw.js.map +0 -1
  604. package/dist/shared/hx-step-BIVWSPxd.js.map +0 -1
  605. package/dist/shared/hx-structured-list-CMWllxGg.js.map +0 -1
  606. package/dist/shared/hx-switch-BgX8kuWt.js.map +0 -1
  607. package/dist/shared/hx-tab-panel-DhOq67jj.js.map +0 -1
  608. package/dist/shared/hx-tag-CzOTDcXI.js.map +0 -1
  609. package/dist/shared/hx-td-h6oeW6YC.js.map +0 -1
  610. package/dist/shared/hx-text-DTXjiviE.js.map +0 -1
  611. package/dist/shared/hx-text-input-CqEdDHMU.js +0 -461
  612. package/dist/shared/hx-text-input-CqEdDHMU.js.map +0 -1
  613. package/dist/shared/hx-textarea-BgX7rxyo.js.map +0 -1
  614. package/dist/shared/hx-theme-6GDoUG8j.js +0 -176
  615. package/dist/shared/hx-theme-6GDoUG8j.js.map +0 -1
  616. package/dist/shared/hx-time-picker-DmLu7WUC.js.map +0 -1
  617. package/dist/shared/hx-toggle-button-D1jpDvSA.js.map +0 -1
  618. package/dist/shared/hx-tooltip-kh7QFPKu.js.map +0 -1
  619. package/dist/shared/hx-tree-item-BP6UF_H1.js.map +0 -1
  620. package/dist/shared/toast-factory-DTy-qN8r.js.map +0 -1
@@ -1,10 +1,13 @@
1
- import { css as p, LitElement as k, nothing as s, html as d } from "lit";
2
- import { property as c, query as v, state as u, customElement as _ } from "lit/decorators.js";
3
- import { classMap as m } from "lit/directives/class-map.js";
1
+ import { css as k, nothing as s, html as d } from "lit";
2
+ import { property as c, query as m, state as p, customElement as v } from "lit/decorators.js";
3
+ import { classMap as _ } from "lit/directives/class-map.js";
4
4
  import { ifDefined as l } from "lit/directives/if-defined.js";
5
5
  import { live as b } from "lit/directives/live.js";
6
- import { tokenStyles as f } from "@helixui/tokens/lit";
7
- const g = p`
6
+ import { tokenStyles as u } from "@helixui/tokens/lit";
7
+ import { F as f } from "./FormMixin-Bjvw20G5.js";
8
+ import { m as g } from "./aria-delegation-CBP9eQ0M.js";
9
+ import { c as y, H as z } from "./id-counter-JhvVCnjh.js";
10
+ const w = k`
8
11
  :host {
9
12
  display: block;
10
13
  }
@@ -78,7 +81,10 @@ const g = p`
78
81
 
79
82
  .checkbox__input:focus-visible ~ .checkbox__box {
80
83
  outline: var(--hx-focus-ring-width, 2px) solid
81
- var(--hx-checkbox-focus-ring-color, var(--hx-focus-ring-color, #2563eb));
84
+ var(
85
+ --hx-checkbox-focus-ring-color,
86
+ var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
87
+ );
82
88
  outline-offset: var(--hx-focus-ring-offset, 2px);
83
89
  }
84
90
 
@@ -169,7 +175,7 @@ const g = p`
169
175
  font-size: var(--hx-font-size-xs, 0.75rem);
170
176
  color: var(--hx-checkbox-help-text-color, var(--hx-color-neutral-500, #6c757d));
171
177
  line-height: var(--hx-line-height-normal, 1.5);
172
- padding-left: calc(
178
+ padding-inline-start: calc(
173
179
  var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) + var(--hx-space-2, 0.5rem)
174
180
  );
175
181
  }
@@ -178,7 +184,7 @@ const g = p`
178
184
  font-size: var(--hx-font-size-xs, 0.75rem);
179
185
  color: var(--hx-checkbox-error-color, var(--hx-color-error-text, #b91c1c));
180
186
  line-height: var(--hx-line-height-normal, 1.5);
181
- padding-left: calc(
187
+ padding-inline-start: calc(
182
188
  var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) + var(--hx-space-2, 0.5rem)
183
189
  );
184
190
  }
@@ -196,7 +202,7 @@ const g = p`
196
202
  :host([hx-size='sm']) .checkbox__help-text,
197
203
  :host([hx-size='sm']) .checkbox__error {
198
204
  font-size: var(--hx-font-size-xs, 0.75rem);
199
- padding-left: calc(var(--hx-size-4, 1rem) + var(--hx-space-2, 0.5rem));
205
+ padding-inline-start: calc(var(--hx-size-4, 1rem) + var(--hx-space-2, 0.5rem));
200
206
  }
201
207
 
202
208
  :host([hx-size='lg']) {
@@ -204,13 +210,13 @@ const g = p`
204
210
  }
205
211
 
206
212
  :host([hx-size='lg']) .checkbox__label {
207
- font-size: var(--hx-font-size-base, 1rem);
213
+ font-size: var(--hx-font-size-md, 1rem);
208
214
  }
209
215
 
210
216
  :host([hx-size='lg']) .checkbox__help-text,
211
217
  :host([hx-size='lg']) .checkbox__error {
212
218
  font-size: var(--hx-font-size-sm, 0.875rem);
213
- padding-left: calc(var(--hx-size-6, 1.5rem) + var(--hx-space-2, 0.5rem));
219
+ padding-inline-start: calc(var(--hx-size-6, 1.5rem) + var(--hx-space-2, 0.5rem));
214
220
  }
215
221
 
216
222
  /* ─── Reduced Motion ─── */
@@ -221,31 +227,27 @@ const g = p`
221
227
  }
222
228
  }
223
229
  `;
224
- var y = Object.defineProperty, z = Object.getOwnPropertyDescriptor, t = (e, o, h, a) => {
225
- for (var i = a > 1 ? void 0 : a ? z(o, h) : o, n = e.length - 1, x; n >= 0; n--)
226
- (x = e[n]) && (i = (a ? x(o, h, i) : x(i)) || i);
227
- return a && i && y(o, h, i), i;
230
+ var $ = Object.defineProperty, E = Object.getOwnPropertyDescriptor, o = (e, t, a, h) => {
231
+ for (var i = h > 1 ? void 0 : h ? E(t, a) : t, n = e.length - 1, x; n >= 0; n--)
232
+ (x = e[n]) && (i = (h ? x(t, a, i) : x(i)) || i);
233
+ return h && i && $(t, a, i), i;
228
234
  };
229
- let w = 0, r = class extends k {
235
+ const S = y("hx-checkbox");
236
+ let r = class extends g(f(z)) {
230
237
  constructor() {
231
- super(), this.checked = !1, this.indeterminate = !1, this.disabled = !1, this.required = !1, this.name = "", this.value = "on", this.label = "", this.error = "", this.helpText = "", this.requiredMessage = "This field is required.", this.size = "md", this._hasErrorSlot = !1, this._id = `hx-checkbox-${++w}`, this._helpTextId = `${this._id}-help`, this._errorId = `${this._id}-error`, this._labelId = `${this._id}-label`, this._internals = this.attachInternals();
232
- }
233
- // P0-02: observe aria-label on host to forward to inner input
234
- static get observedAttributes() {
235
- return [...super.observedAttributes ?? [], "aria-label"];
236
- }
237
- attributeChangedCallback(e, o, h) {
238
- super.attributeChangedCallback(e, o, h), e === "aria-label" && this.requestUpdate();
238
+ super(...arguments), this.checked = !1, this.indeterminate = !1, this.disabled = !1, this.required = !1, this.name = "", this.value = "on", this.label = "", this.error = "", this.helpText = "", this.requiredMessage = "This field is required.", this.size = "md", this._hasErrorSlot = !1, this._announcedError = "", this._id = S(), this._helpTextId = `${this._id}-help`, this._errorId = `${this._id}-error`, this._labelId = `${this._id}-label`;
239
239
  }
240
240
  // ─── Slot Handlers ───
241
241
  /** @internal */
242
242
  _handleErrorSlotChange(e) {
243
- const o = e.target;
244
- this._hasErrorSlot = o.assignedNodes({ flatten: !0 }).length > 0;
243
+ const t = e.target;
244
+ this._hasErrorSlot = t.assignedNodes({ flatten: !0 }).length > 0;
245
245
  }
246
246
  // ─── Lifecycle ───
247
247
  updated(e) {
248
- super.updated(e), (e.has("checked") || e.has("value")) && (this._internals.setFormValue(this.checked ? this.value : null), this._updateValidity()), e.has("required") && this._updateValidity();
248
+ super.updated(e), (e.has("checked") || e.has("value")) && this._internals.setFormValue(this.checked ? this.value : null), e.has("error") && (e.get("error") && this.error ? (this._announcedError = "", requestAnimationFrame(() => {
249
+ this._announcedError = this.error;
250
+ })) : this._announcedError = this.error);
249
251
  }
250
252
  // ─── Form Integration ───
251
253
  /** Returns the associated form element, if any. */
@@ -260,14 +262,6 @@ let w = 0, r = class extends k {
260
262
  get validity() {
261
263
  return this._internals.validity;
262
264
  }
263
- /** Checks whether the checkbox satisfies its constraints. */
264
- checkValidity() {
265
- return this._internals.checkValidity();
266
- }
267
- /** Reports validity and shows the browser's constraint validation UI. */
268
- reportValidity() {
269
- return this._internals.reportValidity();
270
- }
271
265
  /** @internal */
272
266
  _updateValidity() {
273
267
  this.required && !this.checked ? this._internals.setValidity(
@@ -276,22 +270,20 @@ let w = 0, r = class extends k {
276
270
  this._inputEl ?? void 0
277
271
  ) : this._internals.setValidity({});
278
272
  }
279
- /** Called by the form when it resets. */
280
- formResetCallback() {
281
- this.checked = !1, this.indeterminate = !1, this._internals.setFormValue(null);
273
+ // ─── Form Lifecycle Hooks ───
274
+ _onFormReset() {
275
+ this.checked = !1, this.indeterminate = !1, this._internals.setFormValue(null), this._resetInteractionState();
282
276
  }
283
- /** Called when the form restores state (e.g., back/forward navigation). */
284
- formStateRestoreCallback(e, o) {
277
+ _onFormStateRestore(e, t) {
285
278
  this.checked = typeof e == "string" && e === this.value;
286
279
  }
287
- /** Called when a parent fieldset is disabled/enabled. */
288
- formDisabledCallback(e) {
280
+ _onFormDisabled(e) {
289
281
  this.disabled = e;
290
282
  }
291
283
  // ─── Event Handling ───
292
284
  /** @internal */
293
285
  _handleChange() {
294
- this.disabled || (this.indeterminate = !1, this.checked = !this.checked, this._internals.setFormValue(this.checked ? this.value : null), this._updateValidity(), this.dispatchEvent(
286
+ this.disabled || (this.indeterminate = !1, this.checked = !this.checked, this._internals.setFormValue(this.checked ? this.value : null), this._handleInteractionInput(), this.dispatchEvent(
295
287
  new CustomEvent("hx-change", {
296
288
  bubbles: !0,
297
289
  composed: !0,
@@ -306,11 +298,11 @@ let w = 0, r = class extends k {
306
298
  // ─── Public Methods ───
307
299
  /** Moves focus to the checkbox input element. */
308
300
  focus(e) {
309
- var o;
310
- (o = this._inputEl) == null || o.focus(e);
301
+ var t;
302
+ (t = this._inputEl) == null || t.focus(e);
311
303
  }
312
304
  render() {
313
- const e = !!this.error || this._hasErrorSlot, o = {
305
+ const e = !!this.error || this._hasErrorSlot, t = {
314
306
  checkbox: !0,
315
307
  "checkbox--checked": this.checked,
316
308
  "checkbox--indeterminate": this.indeterminate,
@@ -320,9 +312,9 @@ let w = 0, r = class extends k {
320
312
  "checkbox--sm": this.size === "sm",
321
313
  "checkbox--md": this.size === "md",
322
314
  "checkbox--lg": this.size === "lg"
323
- }, h = [e ? this._errorId : null, this.helpText && !e ? this._helpTextId : null].filter(Boolean).join(" ") || void 0, a = this.getAttribute("aria-label") ?? void 0;
315
+ }, a = [e ? this._errorId : null, this.helpText && !e ? this._helpTextId : null].filter(Boolean).join(" ") || void 0, h = this.ariaLabel ?? void 0;
324
316
  return d`
325
- <div class=${m(o)}>
317
+ <div class=${_(t)}>
326
318
  <label part="control" class="checkbox__control" @click=${this._handleChange}>
327
319
  <input
328
320
  class="checkbox__input"
@@ -336,9 +328,9 @@ let w = 0, r = class extends k {
336
328
  .value=${this.value}
337
329
  aria-checked=${this.indeterminate ? "mixed" : s}
338
330
  aria-invalid=${e ? "true" : s}
339
- aria-describedby=${l(h)}
340
- aria-label=${l(a)}
341
- aria-labelledby=${l(a ? void 0 : this._labelId)}
331
+ aria-describedby=${l(a)}
332
+ aria-label=${l(h)}
333
+ aria-labelledby=${l(h ? void 0 : this._labelId)}
342
334
  @keydown=${this._handleKeyDown}
343
335
  @click=${(i) => {
344
336
  i.preventDefault(), i.stopPropagation();
@@ -383,7 +375,9 @@ let w = 0, r = class extends k {
383
375
  role="status"
384
376
  ?hidden=${!e}
385
377
  >
386
- <slot name="error" @slotchange=${this._handleErrorSlotChange}> ${this.error} </slot>
378
+ <slot name="error" @slotchange=${this._handleErrorSlotChange}>
379
+ ${this._announcedError}
380
+ </slot>
387
381
  </div>
388
382
 
389
383
  ${this.helpText && !e ? d`
@@ -395,51 +389,54 @@ let w = 0, r = class extends k {
395
389
  `;
396
390
  }
397
391
  };
398
- r.styles = [f, g];
392
+ r.styles = [u, w];
399
393
  r.formAssociated = !0;
400
- t([
394
+ o([
401
395
  c({ type: Boolean, reflect: !0 })
402
396
  ], r.prototype, "checked", 2);
403
- t([
397
+ o([
404
398
  c({ type: Boolean, reflect: !0 })
405
399
  ], r.prototype, "indeterminate", 2);
406
- t([
400
+ o([
407
401
  c({ type: Boolean, reflect: !0 })
408
402
  ], r.prototype, "disabled", 2);
409
- t([
403
+ o([
410
404
  c({ type: Boolean, reflect: !0 })
411
405
  ], r.prototype, "required", 2);
412
- t([
406
+ o([
413
407
  c({ type: String })
414
408
  ], r.prototype, "name", 2);
415
- t([
409
+ o([
416
410
  c({ type: String })
417
411
  ], r.prototype, "value", 2);
418
- t([
412
+ o([
419
413
  c({ type: String })
420
414
  ], r.prototype, "label", 2);
421
- t([
415
+ o([
422
416
  c({ type: String })
423
417
  ], r.prototype, "error", 2);
424
- t([
418
+ o([
425
419
  c({ type: String, attribute: "help-text" })
426
420
  ], r.prototype, "helpText", 2);
427
- t([
421
+ o([
428
422
  c({ attribute: "required-message" })
429
423
  ], r.prototype, "requiredMessage", 2);
430
- t([
424
+ o([
431
425
  c({ type: String, attribute: "hx-size", reflect: !0 })
432
426
  ], r.prototype, "size", 2);
433
- t([
434
- v(".checkbox__input")
427
+ o([
428
+ m(".checkbox__input")
435
429
  ], r.prototype, "_inputEl", 2);
436
- t([
437
- u()
430
+ o([
431
+ p()
438
432
  ], r.prototype, "_hasErrorSlot", 2);
439
- r = t([
440
- _("hx-checkbox")
433
+ o([
434
+ p()
435
+ ], r.prototype, "_announcedError", 2);
436
+ r = o([
437
+ v("hx-checkbox")
441
438
  ], r);
442
439
  export {
443
440
  r as H
444
441
  };
445
- //# sourceMappingURL=hx-checkbox-BvjO-O41.js.map
442
+ //# sourceMappingURL=hx-checkbox-_WUiuTo9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hx-checkbox-_WUiuTo9.js","sources":["../../src/components/hx-checkbox/hx-checkbox.styles.ts","../../src/components/hx-checkbox/hx-checkbox.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixCheckboxStyles = css`\n :host {\n display: block;\n }\n\n :host([disabled]) {\n opacity: var(--hx-opacity-disabled, 0.5);\n pointer-events: none;\n }\n\n * {\n box-sizing: border-box;\n }\n\n .checkbox {\n display: flex;\n flex-direction: column;\n gap: var(--hx-space-1, 0.25rem);\n font-family: var(--hx-font-family-sans, sans-serif);\n }\n\n /* ─── Control (checkbox + label row) ─── */\n\n .checkbox__control {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--hx-space-2, 0.5rem);\n /* WCAG 2.5.5 (healthcare mandate): minimum 44px touch target height */\n min-height: var(--hx-touch-target-min, 2.75rem);\n cursor: pointer;\n }\n\n :host([disabled]) .checkbox__control {\n cursor: not-allowed;\n }\n\n /* ─── Hidden Native Input ─── */\n\n .checkbox__input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n\n /* ─── Visual Checkbox ─── */\n\n .checkbox__box {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--hx-checkbox-size, var(--hx-size-5, 1.25rem));\n height: var(--hx-checkbox-size, var(--hx-size-5, 1.25rem));\n border: var(--hx-border-width-medium, 2px) solid\n var(--hx-checkbox-border-color, var(--hx-color-neutral-300, #ced4da));\n border-radius: var(--hx-checkbox-border-radius, var(--hx-border-radius-sm, 0.25rem));\n background-color: var(--hx-checkbox-bg, var(--hx-color-neutral-0, #ffffff));\n transition:\n background-color var(--hx-transition-fast, 150ms ease),\n border-color var(--hx-transition-fast, 150ms ease),\n box-shadow var(--hx-transition-fast, 150ms ease);\n margin-top: var(--hx-space-px, 1px);\n }\n\n /* ─── Focus Ring ─── */\n\n .checkbox__input:focus-visible ~ .checkbox__box {\n outline: var(--hx-focus-ring-width, 2px) solid\n var(\n --hx-checkbox-focus-ring-color,\n var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))\n );\n outline-offset: var(--hx-focus-ring-offset, 2px);\n }\n\n /* ─── Checked State ─── */\n\n .checkbox--checked .checkbox__box {\n background-color: var(--hx-checkbox-checked-bg, var(--hx-color-primary-500, #2563eb));\n border-color: var(--hx-checkbox-checked-border-color, var(--hx-color-primary-500, #2563eb));\n }\n\n /* ─── Indeterminate State ─── */\n\n .checkbox--indeterminate .checkbox__box {\n background-color: var(--hx-checkbox-checked-bg, var(--hx-color-primary-500, #2563eb));\n border-color: var(--hx-checkbox-checked-border-color, var(--hx-color-primary-500, #2563eb));\n }\n\n /* ─── Error State ─── */\n\n .checkbox--error .checkbox__box {\n border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc3545));\n }\n\n .checkbox--error.checkbox--checked .checkbox__box,\n .checkbox--error.checkbox--indeterminate .checkbox__box {\n background-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc3545));\n border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc3545));\n }\n\n /* ─── Hover ─── */\n\n /* P1-03: use component token so consumer overrides of --hx-checkbox-border-color work on hover */\n .checkbox__control:hover .checkbox__box {\n border-color: var(\n --hx-checkbox-hover-border-color,\n var(--hx-checkbox-border-color, var(--hx-color-primary-500, #2563eb))\n );\n }\n\n .checkbox--checked .checkbox__control:hover .checkbox__box {\n filter: brightness(var(--hx-filter-brightness-hover, 0.9));\n }\n\n .checkbox--error .checkbox__control:hover .checkbox__box {\n border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc3545));\n }\n\n /* ─── Checkmark Icon ─── */\n\n .checkbox__icon {\n display: none;\n width: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);\n height: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);\n fill: none;\n stroke: var(--hx-checkbox-checkmark-color, var(--hx-color-neutral-0, #ffffff));\n stroke-width: 2.5;\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n\n .checkbox--checked .checkbox__icon--check {\n display: block;\n }\n\n .checkbox--indeterminate .checkbox__icon--indeterminate {\n display: block;\n }\n\n /* ─── Label ─── */\n\n .checkbox__label {\n font-size: var(--hx-font-size-sm, 0.875rem);\n font-weight: var(--hx-font-weight-medium, 500);\n color: var(--hx-checkbox-label-color, var(--hx-color-neutral-700, #343a40));\n line-height: var(--hx-line-height-normal, 1.5);\n user-select: none;\n -webkit-user-select: none;\n }\n\n .checkbox__required-marker {\n color: var(--hx-checkbox-error-color, var(--hx-color-error-text, #b91c1c));\n font-weight: var(--hx-font-weight-bold, 700);\n }\n\n /* ─── Help Text & Error Messages ─── */\n\n .checkbox__help-text {\n font-size: var(--hx-font-size-xs, 0.75rem);\n color: var(--hx-checkbox-help-text-color, var(--hx-color-neutral-500, #6c757d));\n line-height: var(--hx-line-height-normal, 1.5);\n padding-inline-start: calc(\n var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) + var(--hx-space-2, 0.5rem)\n );\n }\n\n .checkbox__error {\n font-size: var(--hx-font-size-xs, 0.75rem);\n color: var(--hx-checkbox-error-color, var(--hx-color-error-text, #b91c1c));\n line-height: var(--hx-line-height-normal, 1.5);\n padding-inline-start: calc(\n var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) + var(--hx-space-2, 0.5rem)\n );\n }\n\n /* ─── Size Variants ─── */\n\n :host([hx-size='sm']) {\n --hx-checkbox-size: var(--hx-size-4, 1rem);\n }\n\n :host([hx-size='sm']) .checkbox__label {\n font-size: var(--hx-font-size-xs, 0.75rem);\n }\n\n :host([hx-size='sm']) .checkbox__help-text,\n :host([hx-size='sm']) .checkbox__error {\n font-size: var(--hx-font-size-xs, 0.75rem);\n padding-inline-start: calc(var(--hx-size-4, 1rem) + var(--hx-space-2, 0.5rem));\n }\n\n :host([hx-size='lg']) {\n --hx-checkbox-size: var(--hx-size-6, 1.5rem);\n }\n\n :host([hx-size='lg']) .checkbox__label {\n font-size: var(--hx-font-size-md, 1rem);\n }\n\n :host([hx-size='lg']) .checkbox__help-text,\n :host([hx-size='lg']) .checkbox__error {\n font-size: var(--hx-font-size-sm, 0.875rem);\n padding-inline-start: calc(var(--hx-size-6, 1.5rem) + var(--hx-space-2, 0.5rem));\n }\n\n /* ─── Reduced Motion ─── */\n\n @media (prefers-reduced-motion: reduce) {\n .checkbox__box {\n transition: none;\n }\n }\n`;\n","import { html, nothing, type PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { tokenStyles } from '@helixui/tokens/lit';\nimport { HelixElement, createIdCounter } from '../../base/index.js';\nimport { mixinDelegatesAria } from '../../mixins/index.js';\nimport { FormMixin } from '../../mixins/FormMixin.js';\nimport { helixCheckboxStyles } from './hx-checkbox.styles.js';\n\n// P2-05: monotonic counter — collision-free, deterministic, SSR-safe\nconst _nextCheckboxId = createIdCounter('hx-checkbox');\n\n/**\n * A checkbox component with label, validation, and form association.\n *\n * @summary Form-associated checkbox with built-in label, error, and help text.\n *\n * @tag hx-checkbox\n *\n * @slot - Custom label content (overrides the label property). Rich HTML allowed — Drupal can include links in consent labels.\n * @slot error - Custom error content (overrides the error property).\n * @slot help-text - Custom help text content (overrides the helpText property).\n *\n * @fires {CustomEvent<{checked: boolean, value: string}>} hx-change - Dispatched when the checkbox is toggled.\n *\n * @csspart checkbox - The visual checkbox element.\n * @csspart checkmark - The SVG checkmark icon inside the checkbox.\n * @csspart label - The label element.\n * @csspart help-text - The help text container.\n * @csspart error - The error message container.\n * @csspart control - The wrapper around checkbox and label.\n *\n * @cssprop [--hx-checkbox-size=var(--hx-size-5, 1.25rem)] - Checkbox dimensions.\n * @cssprop [--hx-checkbox-bg=var(--hx-color-neutral-0, #ffffff)] - Unchecked background color.\n * @cssprop [--hx-checkbox-border-color=var(--hx-color-neutral-300, #ced4da)] - Checkbox border color.\n * @cssprop [--hx-checkbox-border-radius=var(--hx-border-radius-sm, 0.25rem)] - Checkbox border radius.\n * @cssprop [--hx-checkbox-checked-bg=var(--hx-color-primary-500, #2563EB)] - Checked background color.\n * @cssprop [--hx-checkbox-checked-border-color=var(--hx-color-primary-500, #2563EB)] - Checked border color.\n * @cssprop [--hx-checkbox-checkmark-color=var(--hx-color-neutral-0, #ffffff)] - Checkmark color.\n * @cssprop [--hx-checkbox-focus-ring-color=var(--hx-focus-ring-color, #2563EB)] - Focus ring color.\n * @cssprop [--hx-checkbox-label-color=var(--hx-color-neutral-700, #343a40)] - Label text color.\n * @cssprop [--hx-checkbox-help-text-color=var(--hx-color-neutral-500, #6c757d)] - Help text color.\n * @cssprop [--hx-checkbox-hover-border-color=var(--hx-checkbox-border-color)] - Border color on hover.\n * @cssprop [--hx-checkbox-error-color=var(--hx-color-error-500, #dc3545)] - Error state color.\n */\n@customElement('hx-checkbox')\nexport class HelixCheckbox extends mixinDelegatesAria(FormMixin(HelixElement)) {\n static override styles = [tokenStyles, helixCheckboxStyles];\n\n // ─── Form Association ───\n\n /** @internal */\n static override formAssociated = true;\n\n // ─── Properties ───\n\n /**\n * Whether the checkbox is checked.\n * @attr checked\n */\n @property({ type: Boolean, reflect: true })\n checked = false;\n\n /**\n * Whether the checkbox is in an indeterminate state (e.g., for \"select all\" patterns).\n * @attr indeterminate\n */\n @property({ type: Boolean, reflect: true })\n indeterminate = false;\n\n /**\n * Whether the checkbox is disabled.\n * @attr disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Whether the checkbox is required for form submission.\n * @attr required\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * The name of the checkbox, used for form submission.\n * @attr name\n */\n @property({ type: String })\n name = '';\n\n /**\n * The value submitted when the checkbox is checked.\n * @attr value\n */\n @property({ type: String })\n value = 'on';\n\n /**\n * The visible label text for the checkbox.\n * @attr label\n */\n @property({ type: String })\n label = '';\n\n /**\n * Error message to display. When set, the checkbox enters an error state.\n * @attr error\n */\n @property({ type: String })\n error = '';\n\n /**\n * Help text displayed below the checkbox for guidance.\n * @attr help-text\n */\n @property({ type: String, attribute: 'help-text' })\n helpText = '';\n\n /**\n * Validation message shown when the field is required but empty.\n * @attr required-message\n */\n @property({ attribute: 'required-message' })\n requiredMessage = 'This field is required.';\n\n /**\n * The size of the checkbox.\n * @attr hx-size\n */\n @property({ type: String, attribute: 'hx-size', reflect: true })\n size: 'sm' | 'md' | 'lg' = 'md';\n\n /** @internal */\n @query('.checkbox__input')\n private _inputEl: HTMLInputElement | undefined;\n\n /** @internal */\n @state() private _hasErrorSlot = false;\n\n /**\n * Deferred copy of this.error used inside the live region. Injected after\n * the region is visible (via requestAnimationFrame) so screen readers\n * re-announce the message even if it was set before the region became\n * visible — see WCAG 4.1.3.\n * @internal\n */\n @state() private _announcedError = '';\n\n // ─── Slot Handlers ───\n\n /** @internal */\n private _handleErrorSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n this._hasErrorSlot = slot.assignedNodes({ flatten: true }).length > 0;\n }\n\n // ─── Lifecycle ───\n\n override updated(changedProperties: PropertyValues<this>): void {\n super.updated(changedProperties);\n if (changedProperties.has('checked') || changedProperties.has('value')) {\n this._internals.setFormValue(this.checked ? this.value : null);\n }\n // WCAG 4.1.3: Keep _announcedError in sync with the error property.\n // When error changes from one non-empty value to another, clear the live region\n // first then re-inject after a rAF tick so screen readers re-announce the updated\n // message (clearing content before the region is re-populated triggers a new event).\n // When transitioning from empty to non-empty (initial display), set directly so\n // the text is immediately available for synchronous DOM assertions.\n if (changedProperties.has('error')) {\n const previousError = changedProperties.get('error') as string;\n if (previousError && this.error) {\n // Changing from one error message to another: defer to trigger re-announcement.\n this._announcedError = '';\n requestAnimationFrame(() => {\n this._announcedError = this.error;\n });\n } else {\n // Transitioning from empty→error or error→empty: set directly.\n this._announcedError = this.error;\n }\n }\n }\n\n // ─── Form Integration ───\n\n /** Returns the associated form element, if any. */\n override get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n /** Returns the validation message. */\n override get validationMessage(): string {\n return this._internals.validationMessage;\n }\n\n /** Returns the ValidityState object. */\n override get validity(): ValidityState {\n return this._internals.validity;\n }\n\n /** @internal */\n protected _updateValidity(): void {\n if (this.required && !this.checked) {\n this._internals.setValidity(\n { valueMissing: true },\n this.error || this.requiredMessage,\n this._inputEl ?? undefined,\n );\n } else {\n this._internals.setValidity({});\n }\n }\n\n // ─── Form Lifecycle Hooks ───\n\n protected override _onFormReset(): void {\n this.checked = false;\n this.indeterminate = false;\n this._internals.setFormValue(null);\n this._resetInteractionState();\n }\n\n protected override _onFormStateRestore(\n state: File | string | FormData | null,\n _mode: 'restore' | 'autocomplete',\n ): void {\n this.checked = typeof state === 'string' && state === this.value;\n }\n\n protected override _onFormDisabled(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n // ─── Event Handling ───\n\n /** @internal */\n private _handleChange(): void {\n if (this.disabled) return;\n\n this.indeterminate = false;\n this.checked = !this.checked;\n\n this._internals.setFormValue(this.checked ? this.value : null);\n this._handleInteractionInput();\n\n /**\n * Dispatched when the checkbox is toggled.\n * @event hx-change\n */\n this.dispatchEvent(\n new CustomEvent<{ checked: boolean; value: string }>('hx-change', {\n bubbles: true,\n composed: true,\n detail: { checked: this.checked, value: this.value },\n }),\n );\n }\n\n /** @internal */\n private _handleKeyDown(e: KeyboardEvent): void {\n if (e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this._handleChange();\n }\n }\n\n // ─── Public Methods ───\n\n /** Moves focus to the checkbox input element. */\n override focus(options?: FocusOptions): void {\n this._inputEl?.focus(options);\n }\n\n // ─── Render ───\n\n // P2-05: monotonic counter — collision-free and deterministic\n /** @internal */\n private _id = _nextCheckboxId();\n /** @internal */\n private _helpTextId = `${this._id}-help`;\n /** @internal */\n private _errorId = `${this._id}-error`;\n /** @internal */\n private _labelId = `${this._id}-label`;\n\n override render() {\n const hasError = !!this.error || this._hasErrorSlot;\n\n const containerClasses = {\n checkbox: true,\n 'checkbox--checked': this.checked,\n 'checkbox--indeterminate': this.indeterminate,\n 'checkbox--error': hasError,\n 'checkbox--disabled': this.disabled,\n 'checkbox--required': this.required,\n 'checkbox--sm': this.size === 'sm',\n 'checkbox--md': this.size === 'md',\n 'checkbox--lg': this.size === 'lg',\n };\n\n // P2-06: simplified — hasError already includes _hasErrorSlot\n const describedBy =\n [hasError ? this._errorId : null, this.helpText && !hasError ? this._helpTextId : null]\n .filter(Boolean)\n .join(' ') || undefined;\n\n const hostAriaLabel = this.ariaLabel ?? undefined;\n\n return html`\n <div class=${classMap(containerClasses)}>\n <label part=\"control\" class=\"checkbox__control\" @click=${this._handleChange}>\n <input\n class=\"checkbox__input\"\n type=\"checkbox\"\n id=${this._id}\n .checked=${live(this.checked)}\n .indeterminate=${live(this.indeterminate)}\n ?disabled=${this.disabled}\n ?required=${this.required}\n name=${ifDefined(this.name || undefined)}\n .value=${this.value}\n aria-checked=${this.indeterminate ? 'mixed' : nothing}\n aria-invalid=${hasError ? 'true' : nothing}\n aria-describedby=${ifDefined(describedBy)}\n aria-label=${ifDefined(hostAriaLabel)}\n aria-labelledby=${ifDefined(!hostAriaLabel ? this._labelId : undefined)}\n @keydown=${this._handleKeyDown}\n @click=${(e: Event) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n @change=${(e: Event) => e.stopPropagation()}\n />\n\n <span part=\"checkbox\" class=\"checkbox__box\">\n <svg\n part=\"checkmark\"\n class=\"checkbox__icon checkbox__icon--check\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n >\n <polyline points=\"3.5 8 6.5 11 12.5 5\"></polyline>\n </svg>\n <svg\n class=\"checkbox__icon checkbox__icon--indeterminate\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n >\n <line x1=\"4\" y1=\"8\" x2=\"12\" y2=\"8\"></line>\n </svg>\n </span>\n\n <span part=\"label\" class=\"checkbox__label\" id=${this._labelId}>\n <slot>${this.label}</slot>\n ${this.required\n ? html`<span class=\"checkbox__required-marker\" aria-hidden=\"true\">*</span>`\n : nothing}\n </span>\n </label>\n\n <!--\n P0-01: wrapper div always owns _errorId so aria-describedby works regardless\n of whether error content comes from the .error property or the named slot.\n P1-02: role=\"status\" (implicit aria-live=\"polite\") replaces role=\"alert\" +\n aria-live=\"polite\" which was semantically contradictory.\n -->\n <div\n part=\"error\"\n class=\"checkbox__error\"\n id=${this._errorId}\n role=\"status\"\n ?hidden=${!hasError}\n >\n <slot name=\"error\" @slotchange=${this._handleErrorSlotChange}>\n ${this._announcedError}\n </slot>\n </div>\n\n ${this.helpText && !hasError\n ? html`\n <div part=\"help-text\" class=\"checkbox__help-text\" id=${this._helpTextId}>\n <slot name=\"help-text\">${this.helpText}</slot>\n </div>\n `\n : nothing}\n </div>\n `;\n }\n}\n\n/** Canonical type alias for the hx-checkbox component. */\nexport type HxCheckbox = HelixCheckbox;\n\n/** @deprecated Use {@link HxCheckbox} instead. The `Wc` prefix was a legacy naming convention. */\nexport type WcCheckbox = HelixCheckbox;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-checkbox': HelixCheckbox;\n }\n}\n"],"names":["helixCheckboxStyles","css","_nextCheckboxId","createIdCounter","HelixCheckbox","mixinDelegatesAria","FormMixin","HelixElement","slot","changedProperties","state","_mode","disabled","options","_a","hasError","containerClasses","describedBy","hostAriaLabel","html","classMap","live","ifDefined","nothing","e","tokenStyles","__decorateClass","property","query","customElement"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { css as _, LitElement as u, nothing as d, html as h } from "lit";
2
- import { property as a, state as p, customElement as g } from "lit/decorators.js";
3
- import { classMap as x } from "lit/directives/class-map.js";
2
+ import { property as a, state as p, customElement as x } from "lit/decorators.js";
3
+ import { classMap as g } from "lit/directives/class-map.js";
4
4
  import { tokenStyles as f } from "@helixui/tokens/lit";
5
5
  const b = _`
6
6
  :host {
@@ -81,13 +81,13 @@ const b = _`
81
81
  }
82
82
  `;
83
83
  var m = Object.defineProperty, k = Object.getOwnPropertyDescriptor, i = (e, t, r, l) => {
84
- for (var s = l > 1 ? void 0 : l ? k(t, r) : t, n = e.length - 1, c; n >= 0; n--)
85
- (c = e[n]) && (s = (l ? c(t, r, s) : c(s)) || s);
86
- return l && s && m(t, r, s), s;
84
+ for (var o = l > 1 ? void 0 : l ? k(t, r) : t, n = e.length - 1, c; n >= 0; n--)
85
+ (c = e[n]) && (o = (l ? c(t, r, o) : c(o)) || o);
86
+ return l && o && m(t, r, o), o;
87
87
  };
88
- let y = 0, o = class extends u {
88
+ let y = 0, s = class extends u {
89
89
  constructor() {
90
- super(), this.name = "", this.label = "", this.required = !1, this.disabled = !1, this.error = "", this._orientation = "vertical", this._hasErrorSlot = !1, this._hasHelpSlot = !1, this._groupId = `hx-checkbox-group-${++y}`, this._helpTextId = `${this._groupId}-help`, this._errorId = `${this._groupId}-error`, this._handleCheckboxChange = (e) => {
90
+ super(), this.name = "", this.label = "", this.required = !1, this.disabled = !1, this.error = "", this.helpText = "", this._orientation = "vertical", this._hasErrorSlot = !1, this._hasHelpSlot = !1, this._groupId = `hx-checkbox-group-${++y}`, this._helpTextId = `${this._groupId}-help`, this._errorId = `${this._groupId}-error`, this._handleCheckboxChange = (e) => {
91
91
  if (e.target === this) return;
92
92
  e.stopImmediatePropagation();
93
93
  const t = this._getCheckedValues();
@@ -203,21 +203,21 @@ let y = 0, o = class extends u {
203
203
  reportValidity() {
204
204
  return this._internals.reportValidity();
205
205
  }
206
- /** Called by the form when it resets. */
206
+ /** @internal */
207
207
  formResetCallback() {
208
208
  this._getCheckboxes().forEach((t) => {
209
209
  t.checked = !1;
210
210
  }), this._internals.setFormValue(null), this._updateValidity([]);
211
211
  }
212
- /** Called when the form restores state (e.g., back/forward navigation). */
212
+ /** @internal */
213
213
  formStateRestoreCallback(e, t) {
214
214
  if (!(e instanceof FormData)) return;
215
- const r = e.getAll(this.name).map((s) => String(s));
216
- this._getCheckboxes().forEach((s) => {
217
- s.checked = r.includes(s.value);
215
+ const r = e.getAll(this.name).map((o) => String(o));
216
+ this._getCheckboxes().forEach((o) => {
217
+ o.checked = r.includes(o.value);
218
218
  }), this._updateFormValue(r), this._updateValidity(r);
219
219
  }
220
- /** Called when a parent fieldset is disabled/enabled. */
220
+ /** @internal */
221
221
  formDisabledCallback(e) {
222
222
  this.disabled = e;
223
223
  }
@@ -228,11 +228,14 @@ let y = 0, o = class extends u {
228
228
  "fieldset--error": e,
229
229
  "fieldset--disabled": this.disabled,
230
230
  "fieldset--required": this.required
231
- }, r = [e ? this._errorId : null, this._hasHelpSlot ? this._helpTextId : null].filter(Boolean).join(" ") || void 0;
231
+ }, r = [
232
+ e ? this._errorId : null,
233
+ this.helpText || this._hasHelpSlot ? this._helpTextId : null
234
+ ].filter(Boolean).join(" ") || void 0;
232
235
  return h`
233
236
  <fieldset
234
237
  part="group"
235
- class=${x(t)}
238
+ class=${g(t)}
236
239
  aria-describedby=${r ?? d}
237
240
  >
238
241
  <legend part="label" class="fieldset__legend">
@@ -249,42 +252,45 @@ let y = 0, o = class extends u {
249
252
  </div>` : h`<slot name="error" @slotchange=${this._handleErrorSlotChange}></slot>`}
250
253
 
251
254
  <div part="help-text" class="fieldset__help-text" id=${this._helpTextId}>
252
- <slot name="help-text" @slotchange=${this._handleHelpSlotChange}></slot>
255
+ <slot name="help-text" @slotchange=${this._handleHelpSlotChange}>${this.helpText}</slot>
253
256
  </div>
254
257
  </fieldset>
255
258
  `;
256
259
  }
257
260
  };
258
- o.styles = [f, b];
259
- o.formAssociated = !0;
261
+ s.styles = [f, b];
262
+ s.formAssociated = !0;
260
263
  i([
261
264
  a({ type: String })
262
- ], o.prototype, "name", 2);
265
+ ], s.prototype, "name", 2);
263
266
  i([
264
267
  a({ type: String })
265
- ], o.prototype, "label", 2);
268
+ ], s.prototype, "label", 2);
266
269
  i([
267
270
  a({ type: Boolean, reflect: !0 })
268
- ], o.prototype, "required", 2);
271
+ ], s.prototype, "required", 2);
269
272
  i([
270
273
  a({ type: Boolean, reflect: !0 })
271
- ], o.prototype, "disabled", 2);
274
+ ], s.prototype, "disabled", 2);
272
275
  i([
273
276
  a({ type: String })
274
- ], o.prototype, "error", 2);
277
+ ], s.prototype, "error", 2);
278
+ i([
279
+ a({ type: String, attribute: "help-text" })
280
+ ], s.prototype, "helpText", 2);
275
281
  i([
276
282
  a({ type: String, reflect: !0 })
277
- ], o.prototype, "orientation", 1);
283
+ ], s.prototype, "orientation", 1);
278
284
  i([
279
285
  p()
280
- ], o.prototype, "_hasErrorSlot", 2);
286
+ ], s.prototype, "_hasErrorSlot", 2);
281
287
  i([
282
288
  p()
283
- ], o.prototype, "_hasHelpSlot", 2);
284
- o = i([
285
- g("hx-checkbox-group")
286
- ], o);
289
+ ], s.prototype, "_hasHelpSlot", 2);
290
+ s = i([
291
+ x("hx-checkbox-group")
292
+ ], s);
287
293
  export {
288
- o as H
294
+ s as H
289
295
  };
290
- //# sourceMappingURL=hx-checkbox-group-Z5VvWzcj.js.map
296
+ //# sourceMappingURL=hx-checkbox-group-B-ci-dxp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hx-checkbox-group-B-ci-dxp.js","sources":["../../src/components/hx-checkbox-group/hx-checkbox-group.styles.ts","../../src/components/hx-checkbox-group/hx-checkbox-group.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixCheckboxGroupStyles = css`\n :host {\n display: block;\n }\n\n :host([disabled]) {\n opacity: var(--hx-opacity-disabled);\n cursor: not-allowed;\n }\n\n * {\n box-sizing: border-box;\n }\n\n /* ─── Fieldset ─── */\n\n .fieldset {\n border: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--hx-space-2);\n font-family: var(--hx-font-family-sans);\n }\n\n /* ─── Legend ─── */\n\n .fieldset__legend {\n display: flex;\n align-items: baseline;\n gap: var(--hx-space-1);\n font-size: var(--hx-font-size-sm);\n font-weight: var(--hx-font-weight-medium);\n color: var(--hx-checkbox-group-label-color, var(--hx-color-neutral-700));\n line-height: var(--hx-line-height-normal);\n padding: 0;\n margin-bottom: var(--hx-space-1);\n }\n\n .fieldset__required-marker {\n color: var(--hx-checkbox-group-error-color, var(--hx-color-error-500, #dc3545));\n font-weight: var(--hx-font-weight-bold);\n }\n\n /* ─── Items Container ─── */\n\n .fieldset__items {\n display: flex;\n flex-direction: column;\n gap: var(--hx-checkbox-group-gap, var(--hx-space-3));\n }\n\n :host([orientation='horizontal']) .fieldset__items {\n flex-direction: row;\n flex-wrap: wrap;\n }\n\n /* ─── Error State ─── */\n\n .fieldset--error .fieldset__legend {\n color: var(--hx-checkbox-group-error-color, var(--hx-color-error-500, #dc3545));\n }\n\n /* ─── Help Text & Error Messages ─── */\n\n .fieldset__help-text {\n font-size: var(--hx-font-size-xs);\n color: var(--hx-checkbox-group-help-text-color, var(--hx-color-neutral-500));\n line-height: var(--hx-line-height-normal);\n }\n\n .fieldset__error {\n font-size: var(--hx-font-size-xs);\n color: var(--hx-checkbox-group-error-color, var(--hx-color-error-500, #dc3545));\n line-height: var(--hx-line-height-normal);\n }\n`;\n","import { LitElement, html, nothing, type PropertyValues } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { tokenStyles } from '@helixui/tokens/lit';\nimport { helixCheckboxGroupStyles } from './hx-checkbox-group.styles.js';\nimport type { HelixCheckbox } from '../hx-checkbox/hx-checkbox.js';\nimport { devWarn } from '../../utils/dev-warn.js';\n\n/** Monotonic counter for stable, SSR-safe IDs. */\nlet _uid = 0;\n\n/**\n * A form-associated checkbox group that manages a set of `<hx-checkbox>` children.\n *\n * @summary Form-associated checkbox group with label, validation, help text, and multi-value form submission.\n *\n * @tag hx-checkbox-group\n *\n * @slot - `<hx-checkbox>` elements.\n * @slot label - Rich HTML group label (overrides the label property when used).\n * @slot error - Custom error content (overrides the error property).\n * @slot help-text - Group-level help text.\n *\n * @fires {CustomEvent<{values: string[]}>} hx-change - Dispatched when any child checkbox changes.\n *\n * @csspart group - The fieldset wrapper.\n * @csspart label - The legend/label.\n * @csspart help-text - The help text container.\n * @csspart error-message - The error message container.\n *\n * @cssprop [--hx-checkbox-group-gap=var(--hx-space-3, 0.75rem)] - Gap between checkbox items.\n * @cssprop [--hx-checkbox-group-label-color=var(--hx-color-neutral-700, #343a40)] - Label text color.\n * @cssprop [--hx-checkbox-group-error-color=var(--hx-color-error-500, #dc3545)] - Error message color.\n * @cssprop [--hx-checkbox-group-help-text-color=var(--hx-color-neutral-500)] - Help text color.\n *\n * @drupal\n * Form-associated; render via Twig:\n * ```twig\n * <hx-checkbox-group name=\"{{ field_name }}\" label=\"{{ label }}\"{{ required ? ' required' : '' }}>\n * {% for option in options %}\n * <hx-checkbox value=\"{{ option.value }}\" label=\"{{ option.label }}\"></hx-checkbox>\n * {% endfor %}\n * </hx-checkbox-group>\n * ```\n * The `name` attribute propagates automatically to child checkboxes — no Drupal behavior required.\n */\n@customElement('hx-checkbox-group')\nexport class HelixCheckboxGroup extends LitElement {\n static override styles = [tokenStyles, helixCheckboxGroupStyles];\n\n // ─── Form Association ───\n\n /** Marks this element as form-associated for ElementInternals support. @internal */\n static formAssociated = true;\n\n /** Holds the ElementInternals instance used for form value and validity management. @internal */\n private _internals: ElementInternals;\n\n constructor() {\n super();\n /** @internal */\n this._internals = this.attachInternals();\n }\n\n // ─── Properties ───\n\n /**\n * The name used for form submission. Passed to child `hx-checkbox` elements.\n * @attr name\n */\n @property({ type: String })\n name = '';\n\n /**\n * The fieldset legend/label text.\n * @attr label\n */\n @property({ type: String })\n label = '';\n\n /**\n * Whether at least one checkbox must be checked for form submission.\n * @attr required\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * Whether the entire group is disabled.\n * @attr disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Error message to display. When set, the group enters an error state.\n * @attr error\n */\n @property({ type: String })\n error = '';\n\n /**\n * Help text to display below the group. Can also be provided via the help-text slot.\n * @attr help-text\n */\n @property({ type: String, attribute: 'help-text' })\n helpText = '';\n\n /**\n * Layout orientation of the checkbox items.\n * @attr orientation\n */\n @property({ type: String, reflect: true })\n get orientation(): 'vertical' | 'horizontal' {\n return this._orientation;\n }\n set orientation(value: string) {\n if (value !== 'vertical' && value !== 'horizontal') {\n devWarn('hx-checkbox-group', `Invalid orientation \"${value}\", defaulting to \"vertical\".`);\n value = 'vertical';\n }\n this._orientation = value as 'vertical' | 'horizontal';\n }\n /** @internal */\n private _orientation: 'vertical' | 'horizontal' = 'vertical';\n\n /** Whether the named error slot contains projected content. @internal */\n @state() private _hasErrorSlot = false;\n /** Whether the named help-text slot contains projected content. @internal */\n @state() private _hasHelpSlot = false;\n\n // ─── Internal IDs ───\n\n /** @internal */\n private _groupId = `hx-checkbox-group-${++_uid}`;\n /** @internal */\n private _helpTextId = `${this._groupId}-help`;\n /** @internal */\n private _errorId = `${this._groupId}-error`;\n\n // ─── Slot Handlers ───\n\n /** @internal */\n private _handleErrorSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n this._hasErrorSlot = slot.assignedNodes({ flatten: true }).length > 0;\n }\n\n /** @internal */\n private _handleHelpSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n this._hasHelpSlot = slot.assignedNodes({ flatten: true }).length > 0;\n }\n\n // ─── Lifecycle ───\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('hx-change', this._handleCheckboxChange);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('hx-change', this._handleCheckboxChange);\n }\n\n override updated(changedProperties: PropertyValues<this>): void {\n super.updated(changedProperties);\n if (changedProperties.has('disabled')) {\n this._syncCheckboxes();\n }\n if (changedProperties.has('name')) {\n this._syncCheckboxNames();\n }\n if (changedProperties.has('required')) {\n this._updateValidity();\n }\n }\n\n override firstUpdated(changedProperties: PropertyValues<this>): void {\n super.firstUpdated(changedProperties);\n this._syncCheckboxes();\n this._syncCheckboxNames();\n const checkedValues = this._getCheckedValues();\n this._updateFormValue(checkedValues);\n this._updateValidity(checkedValues);\n }\n\n // ─── Checkbox Management ───\n\n /** @internal */\n private _getCheckboxes(): HelixCheckbox[] {\n return Array.from(this.children).filter((c): c is HelixCheckbox => c.tagName === 'HX-CHECKBOX');\n }\n\n /** @internal */\n private _getCheckedValues(): string[] {\n return this._getCheckboxes()\n .filter((cb) => cb.checked)\n .map((cb) => cb.value);\n }\n\n /** @internal */\n private _syncCheckboxes(): void {\n const checkboxes = this._getCheckboxes();\n checkboxes.forEach((cb) => {\n cb.disabled = this.disabled;\n });\n }\n\n /** @internal */\n private _syncCheckboxNames(): void {\n if (!this.name) return;\n const checkboxes = this._getCheckboxes();\n checkboxes.forEach((cb) => {\n cb.name = this.name;\n });\n }\n\n // ─── Event Handling ───\n\n /** @internal */\n private _handleCheckboxChange = (e: Event): void => {\n // Only intercept events from direct hx-checkbox children — do not re-intercept\n // the hx-change we dispatch ourselves from this element.\n if (e.target === this) return;\n\n e.stopImmediatePropagation();\n\n const values = this._getCheckedValues();\n this._updateFormValue(values);\n this._updateValidity(values);\n\n /**\n * Dispatched when any child checkbox changes.\n * @event hx-change\n */\n this.dispatchEvent(\n new CustomEvent<{ values: string[] }>('hx-change', {\n bubbles: true,\n composed: true,\n detail: { values },\n }),\n );\n };\n\n /** @internal */\n private _handleSlotChange(): void {\n this._syncCheckboxes();\n this._syncCheckboxNames();\n const checkedValues = this._getCheckedValues();\n this._updateFormValue(checkedValues);\n this._updateValidity(checkedValues);\n }\n\n // ─── Form Integration ───\n\n /** @internal */\n private _updateFormValue(values: string[]): void {\n if (values.length === 0) {\n this._internals.setFormValue(null);\n return;\n }\n const formData = new FormData();\n values.forEach((v) => formData.append(this.name, v));\n this._internals.setFormValue(formData);\n }\n\n /** @internal */\n private _updateValidity(values?: string[]): void {\n const checkedValues = values ?? this._getCheckedValues();\n if (this.required && checkedValues.length === 0) {\n const firstCheckbox = this._getCheckboxes()[0];\n this._internals.setValidity(\n { valueMissing: true },\n this.error || 'Please select at least one option.',\n firstCheckbox,\n );\n } else {\n this._internals.setValidity({});\n }\n }\n\n /** Returns the associated form element, if any. */\n get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n /** Returns the validation message. */\n get validationMessage(): string {\n return this._internals.validationMessage;\n }\n\n /** Returns the ValidityState object. */\n get validity(): ValidityState {\n return this._internals.validity;\n }\n\n /** Checks whether the group satisfies its constraints. */\n checkValidity(): boolean {\n return this._internals.checkValidity();\n }\n\n /** Reports validity and shows the browser's constraint validation UI. */\n reportValidity(): boolean {\n return this._internals.reportValidity();\n }\n\n /** @internal */\n formResetCallback(): void {\n const checkboxes = this._getCheckboxes();\n checkboxes.forEach((cb) => {\n cb.checked = false;\n });\n this._internals.setFormValue(null);\n this._updateValidity([]);\n }\n\n /** @internal */\n formStateRestoreCallback(\n state: string | File | FormData | null,\n _mode: 'restore' | 'autocomplete',\n ): void {\n if (!(state instanceof FormData)) return;\n const restoredValues = state.getAll(this.name).map((v) => String(v));\n const checkboxes = this._getCheckboxes();\n checkboxes.forEach((cb) => {\n cb.checked = restoredValues.includes(cb.value);\n });\n this._updateFormValue(restoredValues);\n this._updateValidity(restoredValues);\n }\n\n /** @internal */\n formDisabledCallback(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n // ─── Render ───\n\n override render() {\n const hasError = !!this.error || this._hasErrorSlot;\n\n const fieldsetClasses = {\n fieldset: true,\n 'fieldset--error': hasError,\n 'fieldset--disabled': this.disabled,\n 'fieldset--required': this.required,\n };\n\n const describedBy =\n [\n hasError ? this._errorId : null,\n this.helpText || this._hasHelpSlot ? this._helpTextId : null,\n ]\n .filter(Boolean)\n .join(' ') || undefined;\n\n return html`\n <fieldset\n part=\"group\"\n class=${classMap(fieldsetClasses)}\n aria-describedby=${describedBy ?? nothing}\n >\n <legend part=\"label\" class=\"fieldset__legend\">\n <slot name=\"label\">${this.label}</slot>\n ${this.required\n ? html`<span class=\"fieldset__required-marker\" aria-hidden=\"true\">*</span>`\n : nothing}\n </legend>\n\n <div class=\"fieldset__items\">\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n\n ${hasError\n ? html`<div part=\"error-message\" class=\"fieldset__error\" id=${this._errorId} role=\"alert\">\n <slot name=\"error\" @slotchange=${this._handleErrorSlotChange}> ${this.error} </slot>\n </div>`\n : html`<slot name=\"error\" @slotchange=${this._handleErrorSlotChange}></slot>`}\n\n <div part=\"help-text\" class=\"fieldset__help-text\" id=${this._helpTextId}>\n <slot name=\"help-text\" @slotchange=${this._handleHelpSlotChange}>${this.helpText}</slot>\n </div>\n </fieldset>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-checkbox-group': HelixCheckboxGroup;\n }\n}\n"],"names":["helixCheckboxGroupStyles","css","_uid","HelixCheckboxGroup","LitElement","values","value","slot","changedProperties","checkedValues","c","cb","formData","v","firstCheckbox","state","_mode","restoredValues","disabled","hasError","fieldsetClasses","describedBy","html","classMap","nothing","tokenStyles","__decorateClass","property","customElement"],"mappings":"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"}