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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (817) hide show
  1. package/custom-elements.json +1110 -1249
  2. package/dist/base/helix-element.d.ts +20 -8
  3. package/dist/base/helix-element.d.ts.map +1 -1
  4. package/dist/components/hx-accordion/hx-accordion-item.d.ts +7 -4
  5. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  6. package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts.map +1 -1
  7. package/dist/components/hx-accordion/hx-accordion.d.ts +3 -2
  8. package/dist/components/hx-accordion/hx-accordion.d.ts.map +1 -1
  9. package/dist/components/hx-accordion/hx-accordion.styles.d.ts.map +1 -1
  10. package/dist/components/hx-accordion/index.d.ts +1 -0
  11. package/dist/components/hx-accordion/index.d.ts.map +1 -1
  12. package/dist/components/hx-accordion/index.js +1 -1
  13. package/dist/components/hx-action-bar/hx-action-bar.d.ts +2 -11
  14. package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
  15. package/dist/components/hx-action-bar/hx-action-bar.styles.d.ts.map +1 -1
  16. package/dist/components/hx-action-bar/index.js +1 -1
  17. package/dist/components/hx-alert/hx-alert.d.ts +7 -2
  18. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  19. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  20. package/dist/components/hx-alert/index.d.ts +1 -0
  21. package/dist/components/hx-alert/index.d.ts.map +1 -1
  22. package/dist/components/hx-alert/index.js +1 -1
  23. package/dist/components/hx-avatar/hx-avatar.d.ts +3 -2
  24. package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -1
  25. package/dist/components/hx-avatar/index.js +1 -1
  26. package/dist/components/hx-badge/hx-badge.d.ts +2 -9
  27. package/dist/components/hx-badge/hx-badge.d.ts.map +1 -1
  28. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
  29. package/dist/components/hx-badge/index.d.ts +1 -1
  30. package/dist/components/hx-badge/index.d.ts.map +1 -1
  31. package/dist/components/hx-badge/index.js +1 -1
  32. package/dist/components/hx-banner/hx-banner.d.ts +3 -2
  33. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  34. package/dist/components/hx-banner/hx-banner.styles.d.ts.map +1 -1
  35. package/dist/components/hx-banner/index.js +1 -1
  36. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts +2 -2
  37. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
  38. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
  39. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +9 -19
  40. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
  41. package/dist/components/hx-breadcrumb/hx-breadcrumb.styles.d.ts.map +1 -1
  42. package/dist/components/hx-breadcrumb/index.js +1 -1
  43. package/dist/components/hx-button/hx-button.d.ts +31 -9
  44. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  45. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  46. package/dist/components/hx-button/index.d.ts +1 -0
  47. package/dist/components/hx-button/index.d.ts.map +1 -1
  48. package/dist/components/hx-button/index.js +1 -1
  49. package/dist/components/hx-button-group/hx-button-group.d.ts +4 -6
  50. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  51. package/dist/components/hx-button-group/hx-button-group.styles.d.ts.map +1 -1
  52. package/dist/components/hx-button-group/index.js +1 -1
  53. package/dist/components/hx-card/hx-card.d.ts +19 -2
  54. package/dist/components/hx-card/hx-card.d.ts.map +1 -1
  55. package/dist/components/hx-card/hx-card.styles.d.ts.map +1 -1
  56. package/dist/components/hx-card/index.js +1 -1
  57. package/dist/components/hx-carousel/hx-carousel-item.d.ts +2 -2
  58. package/dist/components/hx-carousel/hx-carousel-item.d.ts.map +1 -1
  59. package/dist/components/hx-carousel/hx-carousel-item.styles.d.ts.map +1 -1
  60. package/dist/components/hx-carousel/hx-carousel.d.ts +2 -2
  61. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
  62. package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -1
  63. package/dist/components/hx-carousel/index.js +1 -1
  64. package/dist/components/hx-checkbox/hx-checkbox.d.ts +52 -5
  65. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  66. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  67. package/dist/components/hx-checkbox/index.d.ts +1 -0
  68. package/dist/components/hx-checkbox/index.d.ts.map +1 -1
  69. package/dist/components/hx-checkbox/index.js +1 -1
  70. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +14 -20
  71. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  72. package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts.map +1 -1
  73. package/dist/components/hx-checkbox-group/index.d.ts +1 -0
  74. package/dist/components/hx-checkbox-group/index.d.ts.map +1 -1
  75. package/dist/components/hx-checkbox-group/index.js +1 -1
  76. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +0 -7
  77. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
  78. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
  79. package/dist/components/hx-clinical-status/index.js +1 -1
  80. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
  81. package/dist/components/hx-code-snippet/index.js +1 -1
  82. package/dist/components/hx-color-picker/hx-color-picker.d.ts +8 -11
  83. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  84. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  85. package/dist/components/hx-color-picker/index.d.ts +1 -0
  86. package/dist/components/hx-color-picker/index.d.ts.map +1 -1
  87. package/dist/components/hx-color-picker/index.js +1 -1
  88. package/dist/components/hx-combobox/hx-combobox.d.ts +45 -22
  89. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  90. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
  91. package/dist/components/hx-combobox/index.d.ts +1 -0
  92. package/dist/components/hx-combobox/index.d.ts.map +1 -1
  93. package/dist/components/hx-combobox/index.js +1 -1
  94. package/dist/components/hx-container/hx-container.d.ts +2 -4
  95. package/dist/components/hx-container/hx-container.d.ts.map +1 -1
  96. package/dist/components/hx-container/hx-container.styles.d.ts.map +1 -1
  97. package/dist/components/hx-container/index.d.ts +0 -1
  98. package/dist/components/hx-container/index.d.ts.map +1 -1
  99. package/dist/components/hx-container/index.js +1 -1
  100. package/dist/components/hx-copy-button/hx-copy-button.d.ts +2 -2
  101. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
  102. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
  103. package/dist/components/hx-copy-button/index.js +1 -1
  104. package/dist/components/hx-counter/hx-counter.d.ts +3 -2
  105. package/dist/components/hx-counter/hx-counter.d.ts.map +1 -1
  106. package/dist/components/hx-counter/hx-counter.styles.d.ts.map +1 -1
  107. package/dist/components/hx-counter/index.js +1 -1
  108. package/dist/components/hx-data-table/hx-data-table.d.ts +46 -2
  109. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  110. package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -1
  111. package/dist/components/hx-data-table/index.d.ts +1 -0
  112. package/dist/components/hx-data-table/index.d.ts.map +1 -1
  113. package/dist/components/hx-data-table/index.js +1 -1
  114. package/dist/components/hx-date-picker/hx-date-picker.d.ts +35 -35
  115. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  116. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  117. package/dist/components/hx-date-picker/index.d.ts +1 -0
  118. package/dist/components/hx-date-picker/index.d.ts.map +1 -1
  119. package/dist/components/hx-date-picker/index.js +1 -1
  120. package/dist/components/hx-dialog/hx-dialog.d.ts +44 -5
  121. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  122. package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -1
  123. package/dist/components/hx-dialog/index.js +1 -1
  124. package/dist/components/hx-divider/hx-divider.d.ts +3 -4
  125. package/dist/components/hx-divider/hx-divider.d.ts.map +1 -1
  126. package/dist/components/hx-divider/hx-divider.styles.d.ts.map +1 -1
  127. package/dist/components/hx-divider/index.d.ts +0 -1
  128. package/dist/components/hx-divider/index.d.ts.map +1 -1
  129. package/dist/components/hx-divider/index.js +1 -1
  130. package/dist/components/hx-drawer/hx-drawer.d.ts +39 -2
  131. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  132. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  133. package/dist/components/hx-drawer/index.js +1 -1
  134. package/dist/components/hx-dropdown/hx-dropdown.d.ts +11 -7
  135. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  136. package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -1
  137. package/dist/components/hx-dropdown/index.js +1 -1
  138. package/dist/components/hx-field/hx-field.d.ts +4 -3
  139. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  140. package/dist/components/hx-field/hx-field.styles.d.ts.map +1 -1
  141. package/dist/components/hx-field/index.js +1 -1
  142. package/dist/components/hx-field-label/hx-field-label.d.ts +2 -2
  143. package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
  144. package/dist/components/hx-field-label/hx-field-label.styles.d.ts.map +1 -1
  145. package/dist/components/hx-field-label/index.js +1 -1
  146. package/dist/components/hx-file-upload/hx-file-upload.d.ts +39 -21
  147. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  148. package/dist/components/hx-file-upload/index.d.ts +1 -0
  149. package/dist/components/hx-file-upload/index.d.ts.map +1 -1
  150. package/dist/components/hx-file-upload/index.js +1 -1
  151. package/dist/components/hx-form/hx-form.d.ts +2 -2
  152. package/dist/components/hx-form/hx-form.d.ts.map +1 -1
  153. package/dist/components/hx-form/hx-form.styles.d.ts +8 -0
  154. package/dist/components/hx-form/hx-form.styles.d.ts.map +1 -1
  155. package/dist/components/hx-form/index.js +1 -1
  156. package/dist/components/hx-format-date/hx-format-date.d.ts +2 -2
  157. package/dist/components/hx-format-date/hx-format-date.d.ts.map +1 -1
  158. package/dist/components/hx-format-date/hx-format-date.styles.d.ts.map +1 -1
  159. package/dist/components/hx-format-date/index.js +1 -1
  160. package/dist/components/hx-grid/hx-grid.d.ts +4 -3
  161. package/dist/components/hx-grid/hx-grid.d.ts.map +1 -1
  162. package/dist/components/hx-grid/hx-grid.styles.d.ts.map +1 -1
  163. package/dist/components/hx-grid/index.js +1 -1
  164. package/dist/components/hx-help-text/hx-help-text.d.ts +2 -4
  165. package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
  166. package/dist/components/hx-help-text/hx-help-text.styles.d.ts.map +1 -1
  167. package/dist/components/hx-help-text/index.js +1 -1
  168. package/dist/components/hx-icon/hx-icon.d.ts +17 -2
  169. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
  170. package/dist/components/hx-icon/hx-icon.styles.d.ts.map +1 -1
  171. package/dist/components/hx-icon/index.js +1 -1
  172. package/dist/components/hx-icon-button/hx-icon-button.d.ts +10 -14
  173. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  174. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  175. package/dist/components/hx-icon-button/index.js +1 -1
  176. package/dist/components/hx-image/hx-image.d.ts +2 -2
  177. package/dist/components/hx-image/hx-image.d.ts.map +1 -1
  178. package/dist/components/hx-image/hx-image.styles.d.ts.map +1 -1
  179. package/dist/components/hx-image/index.js +1 -1
  180. package/dist/components/hx-link/hx-link.d.ts +2 -2
  181. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  182. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
  183. package/dist/components/hx-link/index.js +1 -1
  184. package/dist/components/hx-list/hx-list-item.d.ts +3 -2
  185. package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
  186. package/dist/components/hx-list/hx-list.d.ts +3 -2
  187. package/dist/components/hx-list/hx-list.d.ts.map +1 -1
  188. package/dist/components/hx-list/hx-list.styles.d.ts.map +1 -1
  189. package/dist/components/hx-list/index.js +1 -1
  190. package/dist/components/hx-menu/hx-menu-divider.d.ts +2 -2
  191. package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -1
  192. package/dist/components/hx-menu/hx-menu-divider.styles.d.ts.map +1 -1
  193. package/dist/components/hx-menu/hx-menu-item.d.ts +2 -2
  194. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  195. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  196. package/dist/components/hx-menu/hx-menu.d.ts +2 -2
  197. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  198. package/dist/components/hx-menu/hx-menu.styles.d.ts.map +1 -1
  199. package/dist/components/hx-menu/index.js +1 -1
  200. package/dist/components/hx-meter/hx-meter.d.ts +3 -4
  201. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  202. package/dist/components/hx-meter/hx-meter.styles.d.ts.map +1 -1
  203. package/dist/components/hx-meter/index.js +1 -1
  204. package/dist/components/hx-nav/hx-nav.d.ts +2 -4
  205. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  206. package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
  207. package/dist/components/hx-nav/index.d.ts +1 -1
  208. package/dist/components/hx-nav/index.d.ts.map +1 -1
  209. package/dist/components/hx-nav/index.js +1 -1
  210. package/dist/components/hx-number-input/hx-number-input.d.ts +14 -20
  211. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  212. package/dist/components/hx-number-input/hx-number-input.styles.d.ts.map +1 -1
  213. package/dist/components/hx-number-input/index.d.ts +1 -0
  214. package/dist/components/hx-number-input/index.d.ts.map +1 -1
  215. package/dist/components/hx-number-input/index.js +1 -1
  216. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +2 -2
  217. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  218. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  219. package/dist/components/hx-overflow-menu/index.js +1 -1
  220. package/dist/components/hx-pagination/hx-pagination.d.ts +10 -2
  221. package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -1
  222. package/dist/components/hx-pagination/index.d.ts +1 -0
  223. package/dist/components/hx-pagination/index.d.ts.map +1 -1
  224. package/dist/components/hx-pagination/index.js +1 -1
  225. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts +47 -5
  226. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts.map +1 -1
  227. package/dist/components/hx-patient-banner/hx-patient-banner.styles.d.ts.map +1 -1
  228. package/dist/components/hx-patient-banner/index.js +1 -1
  229. package/dist/components/hx-phi-field/hx-phi-field.d.ts +85 -5
  230. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
  231. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -1
  232. package/dist/components/hx-phi-field/index.js +1 -1
  233. package/dist/components/hx-popover/hx-popover.d.ts +4 -2
  234. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  235. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
  236. package/dist/components/hx-popover/index.js +1 -1
  237. package/dist/components/hx-popup/hx-popup.d.ts +7 -2
  238. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
  239. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
  240. package/dist/components/hx-popup/index.js +1 -1
  241. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +3 -4
  242. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  243. package/dist/components/hx-progress-bar/index.js +1 -1
  244. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts +3 -2
  245. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts.map +1 -1
  246. package/dist/components/hx-progress-ring/hx-progress-ring.styles.d.ts.map +1 -1
  247. package/dist/components/hx-progress-ring/index.js +1 -1
  248. package/dist/components/hx-prose/hx-prose.d.ts +3 -2
  249. package/dist/components/hx-prose/hx-prose.d.ts.map +1 -1
  250. package/dist/components/hx-prose/hx-prose.styles.d.ts +8 -0
  251. package/dist/components/hx-prose/hx-prose.styles.d.ts.map +1 -1
  252. package/dist/components/hx-prose/index.js +1 -1
  253. package/dist/components/hx-radio-group/hx-radio-group.d.ts +14 -39
  254. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  255. package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts.map +1 -1
  256. package/dist/components/hx-radio-group/hx-radio.d.ts +19 -4
  257. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  258. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
  259. package/dist/components/hx-radio-group/index.d.ts +1 -0
  260. package/dist/components/hx-radio-group/index.d.ts.map +1 -1
  261. package/dist/components/hx-radio-group/index.js +1 -1
  262. package/dist/components/hx-rating/hx-rating.d.ts +9 -20
  263. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  264. package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
  265. package/dist/components/hx-rating/index.d.ts +1 -0
  266. package/dist/components/hx-rating/index.d.ts.map +1 -1
  267. package/dist/components/hx-rating/index.js +1 -1
  268. package/dist/components/hx-select/hx-select.d.ts +26 -17
  269. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  270. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  271. package/dist/components/hx-select/index.d.ts +1 -0
  272. package/dist/components/hx-select/index.d.ts.map +1 -1
  273. package/dist/components/hx-select/index.js +1 -1
  274. package/dist/components/hx-side-nav/hx-nav-item.d.ts +2 -5
  275. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  276. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  277. package/dist/components/hx-side-nav/hx-side-nav.d.ts +3 -2
  278. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  279. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  280. package/dist/components/hx-side-nav/index.js +1 -1
  281. package/dist/components/hx-skeleton/hx-skeleton.d.ts +3 -2
  282. package/dist/components/hx-skeleton/hx-skeleton.d.ts.map +1 -1
  283. package/dist/components/hx-skeleton/hx-skeleton.styles.d.ts.map +1 -1
  284. package/dist/components/hx-skeleton/index.js +1 -1
  285. package/dist/components/hx-slider/hx-slider.d.ts +18 -22
  286. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  287. package/dist/components/hx-slider/hx-slider.styles.d.ts.map +1 -1
  288. package/dist/components/hx-slider/index.d.ts +1 -0
  289. package/dist/components/hx-slider/index.d.ts.map +1 -1
  290. package/dist/components/hx-slider/index.js +1 -1
  291. package/dist/components/hx-spinner/hx-spinner.d.ts +2 -2
  292. package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
  293. package/dist/components/hx-spinner/hx-spinner.styles.d.ts.map +1 -1
  294. package/dist/components/hx-spinner/index.js +1 -1
  295. package/dist/components/hx-split-button/hx-split-button.d.ts +10 -4
  296. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  297. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  298. package/dist/components/hx-split-button/index.js +1 -1
  299. package/dist/components/hx-split-panel/hx-split-panel.d.ts +12 -2
  300. package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -1
  301. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
  302. package/dist/components/hx-split-panel/index.js +1 -1
  303. package/dist/components/hx-stack/hx-stack.d.ts +2 -2
  304. package/dist/components/hx-stack/hx-stack.d.ts.map +1 -1
  305. package/dist/components/hx-stack/hx-stack.styles.d.ts.map +1 -1
  306. package/dist/components/hx-stack/index.js +1 -1
  307. package/dist/components/hx-stat/hx-stat.d.ts +4 -3
  308. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  309. package/dist/components/hx-stat/index.js +1 -1
  310. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts +3 -2
  311. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts.map +1 -1
  312. package/dist/components/hx-status-indicator/hx-status-indicator.styles.d.ts.map +1 -1
  313. package/dist/components/hx-status-indicator/index.js +1 -1
  314. package/dist/components/hx-steps/hx-step.d.ts +3 -2
  315. package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
  316. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  317. package/dist/components/hx-steps/hx-steps.d.ts +11 -4
  318. package/dist/components/hx-steps/hx-steps.d.ts.map +1 -1
  319. package/dist/components/hx-steps/hx-steps.styles.d.ts.map +1 -1
  320. package/dist/components/hx-steps/index.js +1 -1
  321. package/dist/components/hx-structured-list/hx-structured-list.d.ts +3 -3
  322. package/dist/components/hx-structured-list/hx-structured-list.d.ts.map +1 -1
  323. package/dist/components/hx-structured-list/hx-structured-list.styles.d.ts.map +1 -1
  324. package/dist/components/hx-structured-list/index.js +1 -1
  325. package/dist/components/hx-style-scope/hx-style-scope.d.ts +3 -2
  326. package/dist/components/hx-style-scope/hx-style-scope.d.ts.map +1 -1
  327. package/dist/components/hx-style-scope/hx-style-scope.styles.d.ts.map +1 -1
  328. package/dist/components/hx-style-scope/index.js +1 -1
  329. package/dist/components/hx-switch/hx-switch.d.ts +25 -29
  330. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  331. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  332. package/dist/components/hx-switch/index.d.ts +2 -1
  333. package/dist/components/hx-switch/index.d.ts.map +1 -1
  334. package/dist/components/hx-switch/index.js +1 -1
  335. package/dist/components/hx-table/hx-table.d.ts +3 -2
  336. package/dist/components/hx-table/hx-table.d.ts.map +1 -1
  337. package/dist/components/hx-table/hx-table.styles.d.ts.map +1 -1
  338. package/dist/components/hx-table/hx-tbody.d.ts +2 -2
  339. package/dist/components/hx-table/hx-tbody.d.ts.map +1 -1
  340. package/dist/components/hx-table/hx-td.d.ts +2 -2
  341. package/dist/components/hx-table/hx-td.d.ts.map +1 -1
  342. package/dist/components/hx-table/hx-tfoot.d.ts +2 -2
  343. package/dist/components/hx-table/hx-tfoot.d.ts.map +1 -1
  344. package/dist/components/hx-table/hx-th.d.ts +2 -2
  345. package/dist/components/hx-table/hx-th.d.ts.map +1 -1
  346. package/dist/components/hx-table/hx-thead.d.ts +2 -2
  347. package/dist/components/hx-table/hx-thead.d.ts.map +1 -1
  348. package/dist/components/hx-table/hx-tr.d.ts +2 -2
  349. package/dist/components/hx-table/hx-tr.d.ts.map +1 -1
  350. package/dist/components/hx-table/index.js +1 -1
  351. package/dist/components/hx-tabs/hx-tab-panel.d.ts +2 -2
  352. package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -1
  353. package/dist/components/hx-tabs/hx-tab-panel.styles.d.ts.map +1 -1
  354. package/dist/components/hx-tabs/hx-tab.d.ts +2 -2
  355. package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
  356. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  357. package/dist/components/hx-tabs/hx-tabs.d.ts +14 -2
  358. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  359. package/dist/components/hx-tabs/hx-tabs.styles.d.ts.map +1 -1
  360. package/dist/components/hx-tabs/index.d.ts +1 -0
  361. package/dist/components/hx-tabs/index.d.ts.map +1 -1
  362. package/dist/components/hx-tabs/index.js +1 -1
  363. package/dist/components/hx-tag/hx-tag.d.ts +2 -4
  364. package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
  365. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  366. package/dist/components/hx-tag/index.d.ts +0 -2
  367. package/dist/components/hx-tag/index.d.ts.map +1 -1
  368. package/dist/components/hx-tag/index.js +1 -1
  369. package/dist/components/hx-text/hx-text.d.ts +2 -2
  370. package/dist/components/hx-text/hx-text.d.ts.map +1 -1
  371. package/dist/components/hx-text/hx-text.styles.d.ts.map +1 -1
  372. package/dist/components/hx-text/index.js +1 -1
  373. package/dist/components/hx-text-input/hx-text-input.d.ts +34 -7
  374. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  375. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  376. package/dist/components/hx-text-input/index.d.ts +1 -0
  377. package/dist/components/hx-text-input/index.d.ts.map +1 -1
  378. package/dist/components/hx-text-input/index.js +1 -1
  379. package/dist/components/hx-textarea/hx-textarea.d.ts +41 -25
  380. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  381. package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -1
  382. package/dist/components/hx-textarea/index.d.ts +1 -0
  383. package/dist/components/hx-textarea/index.d.ts.map +1 -1
  384. package/dist/components/hx-textarea/index.js +1 -1
  385. package/dist/components/hx-theme/hx-theme.d.ts +3 -11
  386. package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
  387. package/dist/components/hx-theme/hx-theme.styles.d.ts.map +1 -1
  388. package/dist/components/hx-theme/index.d.ts +0 -2
  389. package/dist/components/hx-theme/index.d.ts.map +1 -1
  390. package/dist/components/hx-theme/index.js +1 -1
  391. package/dist/components/hx-time-picker/hx-time-picker.d.ts +13 -31
  392. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  393. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  394. package/dist/components/hx-time-picker/index.d.ts +1 -0
  395. package/dist/components/hx-time-picker/index.d.ts.map +1 -1
  396. package/dist/components/hx-time-picker/index.js +1 -1
  397. package/dist/components/hx-toast/hx-toast-stack.d.ts +2 -2
  398. package/dist/components/hx-toast/hx-toast-stack.d.ts.map +1 -1
  399. package/dist/components/hx-toast/hx-toast.d.ts +3 -2
  400. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  401. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  402. package/dist/components/hx-toast/index.js +1 -1
  403. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +10 -13
  404. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  405. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  406. package/dist/components/hx-toggle-button/index.d.ts +1 -0
  407. package/dist/components/hx-toggle-button/index.d.ts.map +1 -1
  408. package/dist/components/hx-toggle-button/index.js +1 -1
  409. package/dist/components/hx-tooltip/hx-tooltip.d.ts +2 -2
  410. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  411. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -1
  412. package/dist/components/hx-tooltip/index.js +1 -1
  413. package/dist/components/hx-top-nav/hx-top-nav.d.ts +2 -2
  414. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
  415. package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -1
  416. package/dist/components/hx-top-nav/index.js +1 -1
  417. package/dist/components/hx-tree-view/hx-tree-item.d.ts +2 -4
  418. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  419. package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -1
  420. package/dist/components/hx-tree-view/hx-tree-view.d.ts +2 -4
  421. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
  422. package/dist/components/hx-tree-view/hx-tree-view.styles.d.ts.map +1 -1
  423. package/dist/components/hx-tree-view/index.d.ts +0 -4
  424. package/dist/components/hx-tree-view/index.d.ts.map +1 -1
  425. package/dist/components/hx-tree-view/index.js +1 -1
  426. package/dist/components/hx-visually-hidden/hx-visually-hidden.d.ts +2 -2
  427. package/dist/components/hx-visually-hidden/hx-visually-hidden.d.ts.map +1 -1
  428. package/dist/components/hx-visually-hidden/hx-visually-hidden.styles.d.ts.map +1 -1
  429. package/dist/components/hx-visually-hidden/index.js +1 -1
  430. package/dist/css/helix-all.css +3600 -790
  431. package/dist/css/helix-core.css +244 -50
  432. package/dist/css/helix-data.css +86 -7
  433. package/dist/css/helix-feedback.css +159 -61
  434. package/dist/css/helix-forms.css +2054 -105
  435. package/dist/css/helix-layout.css +53 -1
  436. package/dist/css/helix-media.css +40 -16
  437. package/dist/css/helix-navigation.css +209 -48
  438. package/dist/css/helix-overlay.css +99 -12
  439. package/dist/css/helix-tokens.css +30 -11
  440. package/dist/css/helix-utility.css +118 -9
  441. package/dist/css/hx-accordion.css +9 -1
  442. package/dist/css/hx-action-bar.css +17 -3
  443. package/dist/css/hx-alert.css +39 -18
  444. package/dist/css/hx-avatar.css +1 -1
  445. package/dist/css/hx-badge.css +31 -15
  446. package/dist/css/hx-banner.css +35 -18
  447. package/dist/css/hx-breadcrumb.css +27 -0
  448. package/dist/css/hx-button-group.css +13 -0
  449. package/dist/css/hx-button.css +6 -3
  450. package/dist/css/hx-card.css +18 -6
  451. package/dist/css/hx-carousel.css +40 -16
  452. package/dist/css/hx-checkbox-group.css +36 -4
  453. package/dist/css/hx-checkbox.css +74 -8
  454. package/dist/css/hx-clinical-status.css +46 -23
  455. package/dist/css/hx-code-snippet.css +25 -3
  456. package/dist/css/hx-color-picker.css +276 -1
  457. package/dist/css/hx-combobox.css +391 -1
  458. package/dist/css/hx-container.css +10 -0
  459. package/dist/css/hx-copy-button.css +31 -3
  460. package/dist/css/hx-counter.css +11 -1
  461. package/dist/css/hx-data-table.css +24 -1
  462. package/dist/css/hx-date-picker.css +437 -1
  463. package/dist/css/hx-dialog.css +23 -2
  464. package/dist/css/hx-divider.css +8 -0
  465. package/dist/css/hx-drawer.css +22 -1
  466. package/dist/css/hx-dropdown.css +10 -1
  467. package/dist/css/hx-field-label.css +18 -2
  468. package/dist/css/hx-field.css +39 -3
  469. package/dist/css/hx-file-upload.css +12 -12
  470. package/dist/css/hx-format-date.css +11 -0
  471. package/dist/css/hx-grid.css +10 -0
  472. package/dist/css/hx-help-text.css +25 -5
  473. package/dist/css/hx-icon-button.css +27 -0
  474. package/dist/css/hx-icon.css +8 -0
  475. package/dist/css/hx-image.css +11 -3
  476. package/dist/css/hx-link.css +23 -5
  477. package/dist/css/hx-list.css +10 -0
  478. package/dist/css/hx-menu.css +10 -2
  479. package/dist/css/hx-meter.css +22 -9
  480. package/dist/css/hx-nav.css +27 -12
  481. package/dist/css/hx-number-input.css +78 -0
  482. package/dist/css/hx-overflow-menu.css +41 -10
  483. package/dist/css/hx-pagination.css +13 -13
  484. package/dist/css/hx-patient-banner.css +30 -10
  485. package/dist/css/hx-phi-field.css +5 -2
  486. package/dist/css/hx-popover.css +16 -4
  487. package/dist/css/hx-popup.css +12 -0
  488. package/dist/css/hx-progress-bar.css +1 -1
  489. package/dist/css/hx-progress-ring.css +23 -1
  490. package/dist/css/hx-radio-group.css +35 -3
  491. package/dist/css/hx-rating.css +45 -4
  492. package/dist/css/hx-select.css +89 -7
  493. package/dist/css/hx-side-nav.css +26 -0
  494. package/dist/css/hx-skeleton.css +12 -0
  495. package/dist/css/hx-slider.css +16 -11
  496. package/dist/css/hx-spinner.css +12 -0
  497. package/dist/css/hx-split-button.css +37 -2
  498. package/dist/css/hx-split-panel.css +14 -0
  499. package/dist/css/hx-stack.css +10 -0
  500. package/dist/css/hx-stat.css +5 -5
  501. package/dist/css/hx-status-indicator.css +15 -2
  502. package/dist/css/hx-steps.css +12 -0
  503. package/dist/css/hx-structured-list.css +18 -2
  504. package/dist/css/hx-style-scope.css +11 -0
  505. package/dist/css/hx-switch.css +66 -4
  506. package/dist/css/hx-table.css +9 -1
  507. package/dist/css/hx-tabs.css +15 -3
  508. package/dist/css/hx-tag.css +24 -12
  509. package/dist/css/hx-text-input.css +71 -9
  510. package/dist/css/hx-text.css +38 -5
  511. package/dist/css/hx-textarea.css +71 -15
  512. package/dist/css/hx-theme.css +11 -0
  513. package/dist/css/hx-time-picker.css +224 -1
  514. package/dist/css/hx-toast.css +19 -7
  515. package/dist/css/hx-toggle-button.css +41 -4
  516. package/dist/css/hx-tooltip.css +16 -4
  517. package/dist/css/hx-top-nav.css +29 -8
  518. package/dist/css/hx-tree-view.css +9 -0
  519. package/dist/css/hx-visually-hidden.css +12 -0
  520. package/dist/css/index.css +1 -1
  521. package/dist/css/manifest.json +42 -9
  522. package/dist/form-test-utils.d.ts +45 -0
  523. package/dist/form-test-utils.d.ts.map +1 -0
  524. package/dist/index.d.ts +28 -14
  525. package/dist/index.d.ts.map +1 -1
  526. package/dist/index.js +189 -177
  527. package/dist/index.js.map +1 -1
  528. package/dist/mixins/FormMixin.d.ts +24 -5
  529. package/dist/mixins/FormMixin.d.ts.map +1 -1
  530. package/dist/mixins/aria-delegation.d.ts +1 -1
  531. package/dist/mixins/aria-delegation.d.ts.map +1 -1
  532. package/dist/mixins/index.d.ts +3 -1
  533. package/dist/mixins/index.d.ts.map +1 -1
  534. package/dist/shared/{FormMixin-Bjvw20G5.js → FormMixin-B8PXk5RQ.js} +31 -14
  535. package/dist/shared/FormMixin-B8PXk5RQ.js.map +1 -0
  536. package/dist/shared/{aria-delegation-CBP9eQ0M.js → aria-delegation-Doq6RRUy.js} +6 -6
  537. package/dist/shared/aria-delegation-Doq6RRUy.js.map +1 -0
  538. package/dist/shared/{helix-element-CZvaIEQP.js → helix-element-BNEYeiys.js} +30 -27
  539. package/dist/shared/helix-element-BNEYeiys.js.map +1 -0
  540. package/dist/shared/{hx-accordion-CpfO0YQo.js → hx-accordion-Wt52OOZD.js} +127 -80
  541. package/dist/shared/hx-accordion-Wt52OOZD.js.map +1 -0
  542. package/dist/shared/{hx-action-bar-CNLYufVd.js → hx-action-bar-BKMADbHj.js} +89 -85
  543. package/dist/shared/hx-action-bar-BKMADbHj.js.map +1 -0
  544. package/dist/shared/{hx-alert-CHOjTBds.js → hx-alert-D7n94HwI.js} +47 -26
  545. package/dist/shared/hx-alert-D7n94HwI.js.map +1 -0
  546. package/dist/shared/{hx-avatar-an-WsuLl.js → hx-avatar-iLYzu8MJ.js} +10 -10
  547. package/dist/shared/hx-avatar-iLYzu8MJ.js.map +1 -0
  548. package/dist/shared/{hx-badge-RPzd-t5l.js → hx-badge-CVCmMPyW.js} +43 -27
  549. package/dist/shared/hx-badge-CVCmMPyW.js.map +1 -0
  550. package/dist/shared/{hx-banner-B-WEDiq7.js → hx-banner-C_He7Tr4.js} +60 -43
  551. package/dist/shared/hx-banner-C_He7Tr4.js.map +1 -0
  552. package/dist/shared/{hx-breadcrumb-item-jLAKK038.js → hx-breadcrumb-item-CldCwD1d.js} +123 -83
  553. package/dist/shared/hx-breadcrumb-item-CldCwD1d.js.map +1 -0
  554. package/dist/shared/{hx-button-DoN8jjQT.js → hx-button-Ddl-T6T-.js} +117 -92
  555. package/dist/shared/hx-button-Ddl-T6T-.js.map +1 -0
  556. package/dist/shared/{hx-button-group-BXlMQTt_.js → hx-button-group-BJOGWoMa.js} +33 -21
  557. package/dist/shared/hx-button-group-BJOGWoMa.js.map +1 -0
  558. package/dist/shared/{hx-card-BgXZXDuc.js → hx-card-ycveujjL.js} +64 -38
  559. package/dist/shared/hx-card-ycveujjL.js.map +1 -0
  560. package/dist/shared/{hx-carousel-item-Dwt9Pphz.js → hx-carousel-item-D_dCv61-.js} +76 -41
  561. package/dist/shared/hx-carousel-item-D_dCv61-.js.map +1 -0
  562. package/dist/shared/{hx-checkbox-C82GjRXe.js → hx-checkbox-DkkoWoye.js} +163 -80
  563. package/dist/shared/hx-checkbox-DkkoWoye.js.map +1 -0
  564. package/dist/shared/{hx-checkbox-group-DThZeN5d.js → hx-checkbox-group-C3poJ-Zw.js} +105 -79
  565. package/dist/shared/hx-checkbox-group-C3poJ-Zw.js.map +1 -0
  566. package/dist/shared/{hx-clinical-status-BjtT5c0M.js → hx-clinical-status-BS5lcddT.js} +60 -38
  567. package/dist/shared/hx-clinical-status-BS5lcddT.js.map +1 -0
  568. package/dist/shared/{hx-code-snippet-DcVENSuC.js → hx-code-snippet-B7wUKzyb.js} +32 -11
  569. package/dist/shared/hx-code-snippet-B7wUKzyb.js.map +1 -0
  570. package/dist/shared/{hx-color-picker-C6EIuS9t.js → hx-color-picker-DBaKTVLr.js} +380 -119
  571. package/dist/shared/hx-color-picker-DBaKTVLr.js.map +1 -0
  572. package/dist/shared/hx-combobox-BmgYT7Ar.js +929 -0
  573. package/dist/shared/hx-combobox-BmgYT7Ar.js.map +1 -0
  574. package/dist/shared/{hx-container-BwWbMPTH.js → hx-container-DVI7sxfX.js} +25 -15
  575. package/dist/shared/hx-container-DVI7sxfX.js.map +1 -0
  576. package/dist/shared/{hx-copy-button-BoM0WsMd.js → hx-copy-button-8deNUdwP.js} +68 -40
  577. package/dist/shared/hx-copy-button-8deNUdwP.js.map +1 -0
  578. package/dist/shared/{hx-counter-B5NgKlw4.js → hx-counter-CKfl_g8K.js} +32 -22
  579. package/dist/shared/hx-counter-CKfl_g8K.js.map +1 -0
  580. package/dist/shared/{hx-data-table-D5Ne-goy.js → hx-data-table-B6h0RPn0.js} +203 -132
  581. package/dist/shared/hx-data-table-B6h0RPn0.js.map +1 -0
  582. package/dist/shared/hx-date-picker-Dq2Nb68_.js +1077 -0
  583. package/dist/shared/hx-date-picker-Dq2Nb68_.js.map +1 -0
  584. package/dist/shared/{hx-dialog-D4ubstxx.js → hx-dialog-CvIlY0Tc.js} +85 -52
  585. package/dist/shared/hx-dialog-CvIlY0Tc.js.map +1 -0
  586. package/dist/shared/{hx-divider-BBtOLHRP.js → hx-divider-DwpOrzMW.js} +23 -15
  587. package/dist/shared/hx-divider-DwpOrzMW.js.map +1 -0
  588. package/dist/shared/{hx-drawer--WDLuWtS.js → hx-drawer-Cx2ZJhBe.js} +101 -66
  589. package/dist/shared/hx-drawer-Cx2ZJhBe.js.map +1 -0
  590. package/dist/shared/{hx-dropdown-n5-XSmiV.js → hx-dropdown-BjDrPUq5.js} +55 -46
  591. package/dist/shared/hx-dropdown-BjDrPUq5.js.map +1 -0
  592. package/dist/shared/{hx-field-CwT9tki1.js → hx-field-Dp3qQMut.js} +61 -25
  593. package/dist/shared/hx-field-Dp3qQMut.js.map +1 -0
  594. package/dist/shared/{hx-field-label-CcOK9VU3.js → hx-field-label-BC8QViXv.js} +41 -25
  595. package/dist/shared/hx-field-label-BC8QViXv.js.map +1 -0
  596. package/dist/shared/{hx-file-upload-Di_vpQaG.js → hx-file-upload-B6Yl1u0i.js} +110 -102
  597. package/dist/shared/hx-file-upload-B6Yl1u0i.js.map +1 -0
  598. package/dist/shared/{hx-form-BM6PHsw3.js → hx-form-ButQFt9A.js} +12 -11
  599. package/dist/shared/hx-form-ButQFt9A.js.map +1 -0
  600. package/dist/shared/{hx-format-date-B7L9odbA.js → hx-format-date-CKnlQOmV.js} +20 -9
  601. package/dist/shared/hx-format-date-CKnlQOmV.js.map +1 -0
  602. package/dist/shared/{hx-grid-BIAR5h9m.js → hx-grid-CXZf3jeK.js} +28 -18
  603. package/dist/shared/hx-grid-CXZf3jeK.js.map +1 -0
  604. package/dist/shared/{hx-help-text-Bmb80bP4.js → hx-help-text-D7eytSim.js} +45 -25
  605. package/dist/shared/hx-help-text-D7eytSim.js.map +1 -0
  606. package/dist/shared/{hx-icon-BKHs3OLu.js → hx-icon-CcyDPDYY.js} +104 -62
  607. package/dist/shared/hx-icon-CcyDPDYY.js.map +1 -0
  608. package/dist/shared/{hx-icon-button-CJuy9xbw.js → hx-icon-button-BHneqPCU.js} +58 -42
  609. package/dist/shared/hx-icon-button-BHneqPCU.js.map +1 -0
  610. package/dist/shared/{hx-image-ztiXumZB.js → hx-image-2gt14zZd.js} +34 -26
  611. package/dist/shared/hx-image-2gt14zZd.js.map +1 -0
  612. package/dist/shared/{hx-link-CN7AvGOW.js → hx-link-BESrWK8M.js} +51 -33
  613. package/dist/shared/hx-link-BESrWK8M.js.map +1 -0
  614. package/dist/shared/{hx-list-Dnei26t4.js → hx-list-_9qVv02L.js} +32 -22
  615. package/dist/shared/hx-list-_9qVv02L.js.map +1 -0
  616. package/dist/shared/{hx-menu-divider-DRT8yHRZ.js → hx-menu-divider-Ck-9Os1t.js} +103 -60
  617. package/dist/shared/hx-menu-divider-Ck-9Os1t.js.map +1 -0
  618. package/dist/shared/{hx-meter-BcVC9yrt.js → hx-meter-TbROk-dw.js} +57 -43
  619. package/dist/shared/hx-meter-TbROk-dw.js.map +1 -0
  620. package/dist/shared/{hx-nav-l0Rp7WPW.js → hx-nav-BcYDmjf7.js} +71 -56
  621. package/dist/shared/hx-nav-BcYDmjf7.js.map +1 -0
  622. package/dist/shared/{hx-nav-item-CJN4VDrf.js → hx-nav-item-pqPasRUm.js} +67 -23
  623. package/dist/shared/hx-nav-item-pqPasRUm.js.map +1 -0
  624. package/dist/shared/{hx-number-input-0Waw7Z7u.js → hx-number-input-mOIZ3-46.js} +169 -96
  625. package/dist/shared/hx-number-input-mOIZ3-46.js.map +1 -0
  626. package/dist/shared/{hx-overflow-menu-DElwFSCd.js → hx-overflow-menu-Dprb9lnT.js} +70 -38
  627. package/dist/shared/hx-overflow-menu-Dprb9lnT.js.map +1 -0
  628. package/dist/shared/{hx-pagination-BNtx-LG6.js → hx-pagination-AguTQjYC.js} +35 -35
  629. package/dist/shared/hx-pagination-AguTQjYC.js.map +1 -0
  630. package/dist/shared/{hx-patient-banner-BKiN7nIE.js → hx-patient-banner-uE6gqLpT.js} +67 -47
  631. package/dist/shared/hx-patient-banner-uE6gqLpT.js.map +1 -0
  632. package/dist/shared/{hx-phi-field-DD1qcBSO.js → hx-phi-field-BC_XowhC.js} +138 -56
  633. package/dist/shared/hx-phi-field-BC_XowhC.js.map +1 -0
  634. package/dist/shared/{hx-popover-CydNuVkT.js → hx-popover-B2_203ct.js} +44 -30
  635. package/dist/shared/hx-popover-B2_203ct.js.map +1 -0
  636. package/dist/shared/{hx-popup-DbzezTOd.js → hx-popup-DZXpsJ1R.js} +89 -64
  637. package/dist/shared/hx-popup-DZXpsJ1R.js.map +1 -0
  638. package/dist/shared/{hx-progress-bar-Cm0VihTN.js → hx-progress-bar-KjEkEJLy.js} +21 -20
  639. package/dist/shared/hx-progress-bar-KjEkEJLy.js.map +1 -0
  640. package/dist/shared/{hx-progress-ring-Cs0WgWDJ.js → hx-progress-ring-3zMwvrwD.js} +53 -31
  641. package/dist/shared/hx-progress-ring-3zMwvrwD.js.map +1 -0
  642. package/dist/shared/{hx-prose-Ml_L2zje.js → hx-prose-BCtK7YL6.js} +48 -15
  643. package/dist/shared/{hx-prose-Ml_L2zje.js.map → hx-prose-BCtK7YL6.js.map} +1 -1
  644. package/dist/shared/{hx-radio-f8c5ggHG.js → hx-radio-BBC5qZgE.js} +202 -123
  645. package/dist/shared/hx-radio-BBC5qZgE.js.map +1 -0
  646. package/dist/shared/{hx-rating-qRJZXskm.js → hx-rating-C3E3ENJb.js} +92 -69
  647. package/dist/shared/hx-rating-C3E3ENJb.js.map +1 -0
  648. package/dist/shared/{hx-select-CgcgsHU5.js → hx-select-CixTo7jp.js} +206 -135
  649. package/dist/shared/hx-select-CixTo7jp.js.map +1 -0
  650. package/dist/shared/{hx-skeleton-tiYvKO-t.js → hx-skeleton-LxkI0pxr.js} +39 -27
  651. package/dist/shared/hx-skeleton-LxkI0pxr.js.map +1 -0
  652. package/dist/shared/{hx-slider-BvXtvxmN.js → hx-slider-DFHuzF3N.js} +79 -91
  653. package/dist/shared/hx-slider-DFHuzF3N.js.map +1 -0
  654. package/dist/shared/{hx-spinner-D6nzuGmj.js → hx-spinner-BKjuCdZB.js} +32 -20
  655. package/dist/shared/hx-spinner-BKjuCdZB.js.map +1 -0
  656. package/dist/shared/{hx-split-button-CPndTJlC.js → hx-split-button-CGcJMmCG.js} +59 -22
  657. package/dist/shared/hx-split-button-CGcJMmCG.js.map +1 -0
  658. package/dist/shared/{hx-split-panel-Dx72NaET.js → hx-split-panel-C-1R10Mc.js} +71 -47
  659. package/dist/shared/hx-split-panel-C-1R10Mc.js.map +1 -0
  660. package/dist/shared/{hx-stack-B76_1O6g.js → hx-stack-DGfcOfWJ.js} +21 -11
  661. package/dist/shared/hx-stack-DGfcOfWJ.js.map +1 -0
  662. package/dist/shared/{hx-stat-DKlyBL_K.js → hx-stat-BTpykQAt.js} +14 -14
  663. package/dist/shared/hx-stat-BTpykQAt.js.map +1 -0
  664. package/dist/shared/{hx-status-indicator-ClWpK6zz.js → hx-status-indicator-X2QEWNFt.js} +36 -23
  665. package/dist/shared/hx-status-indicator-X2QEWNFt.js.map +1 -0
  666. package/dist/shared/{hx-step-C2Jk4mHa.js → hx-step-CRNQlmSo.js} +83 -32
  667. package/dist/shared/hx-step-CRNQlmSo.js.map +1 -0
  668. package/dist/shared/{hx-structured-list-DKlrv7kS.js → hx-structured-list-CqNbaEXg.js} +32 -16
  669. package/dist/shared/hx-structured-list-CqNbaEXg.js.map +1 -0
  670. package/dist/shared/hx-style-scope-TDnR8H4O.js +251 -0
  671. package/dist/shared/hx-style-scope-TDnR8H4O.js.map +1 -0
  672. package/dist/shared/{hx-switch-BzMN37PV.js → hx-switch-DqOD9JR7.js} +122 -81
  673. package/dist/shared/hx-switch-DqOD9JR7.js.map +1 -0
  674. package/dist/shared/{hx-tab-panel-J58zOSjq.js → hx-tab-panel-BIzKfW5i.js} +156 -102
  675. package/dist/shared/hx-tab-panel-BIzKfW5i.js.map +1 -0
  676. package/dist/shared/{hx-tag-F0ZcYj9b.js → hx-tag-CgnrNnte.js} +30 -18
  677. package/dist/shared/hx-tag-CgnrNnte.js.map +1 -0
  678. package/dist/shared/{hx-td-CNCvzBwY.js → hx-td-Bra35cH4.js} +55 -47
  679. package/dist/shared/hx-td-Bra35cH4.js.map +1 -0
  680. package/dist/shared/{hx-text-DcWBqZwx.js → hx-text-DMC2CPlL.js} +74 -41
  681. package/dist/shared/hx-text-DMC2CPlL.js.map +1 -0
  682. package/dist/shared/{hx-text-input-Zuodg9s_.js → hx-text-input--q0GH78x.js} +123 -62
  683. package/dist/shared/hx-text-input--q0GH78x.js.map +1 -0
  684. package/dist/shared/{hx-textarea-BfSJJtA1.js → hx-textarea-CK621vSL.js} +124 -89
  685. package/dist/shared/hx-textarea-CK621vSL.js.map +1 -0
  686. package/dist/shared/{hx-theme-pc1V7dyL.js → hx-theme-DfEy-SJA.js} +72 -64
  687. package/dist/shared/hx-theme-DfEy-SJA.js.map +1 -0
  688. package/dist/shared/{hx-time-picker-CZvmihHD.js → hx-time-picker-tPUfgElQ.js} +300 -82
  689. package/dist/shared/hx-time-picker-tPUfgElQ.js.map +1 -0
  690. package/dist/shared/{hx-toggle-button-BZUQUULm.js → hx-toggle-button-L-uBJr-a.js} +72 -42
  691. package/dist/shared/hx-toggle-button-L-uBJr-a.js.map +1 -0
  692. package/dist/shared/{hx-tooltip-Ny4i1Idj.js → hx-tooltip-B_zfKvwc.js} +44 -31
  693. package/dist/shared/hx-tooltip-B_zfKvwc.js.map +1 -0
  694. package/dist/shared/{hx-top-nav-CC4FW2Hp.js → hx-top-nav-CATbRvIv.js} +53 -30
  695. package/dist/shared/hx-top-nav-CATbRvIv.js.map +1 -0
  696. package/dist/shared/{hx-tree-item-CPQ9dJiK.js → hx-tree-item-A45WCiBu.js} +37 -9
  697. package/dist/shared/hx-tree-item-A45WCiBu.js.map +1 -0
  698. package/dist/shared/hx-visually-hidden-0bZKOWgT.js +66 -0
  699. package/dist/shared/hx-visually-hidden-0bZKOWgT.js.map +1 -0
  700. package/dist/shared/id-counter-DuX8vsui.js +11 -0
  701. package/dist/shared/{id-counter-PTgF-zcG.js.map → id-counter-DuX8vsui.js.map} +1 -1
  702. package/dist/shared/{toast-factory-CEMNOt1T.js → toast-factory-BPPnG3mM.js} +58 -46
  703. package/dist/shared/toast-factory-BPPnG3mM.js.map +1 -0
  704. package/dist/utilities/injectLightStyles.d.ts.map +1 -1
  705. package/dist/utilities/sanitizeCss.d.ts +43 -0
  706. package/dist/utilities/sanitizeCss.d.ts.map +1 -0
  707. package/package.json +29 -13
  708. package/dist/shared/FormMixin-Bjvw20G5.js.map +0 -1
  709. package/dist/shared/aria-delegation-CBP9eQ0M.js.map +0 -1
  710. package/dist/shared/document-token-adoption-DuYNKd4k.js +0 -21
  711. package/dist/shared/document-token-adoption-DuYNKd4k.js.map +0 -1
  712. package/dist/shared/helix-element-CZvaIEQP.js.map +0 -1
  713. package/dist/shared/hx-accordion-CpfO0YQo.js.map +0 -1
  714. package/dist/shared/hx-action-bar-CNLYufVd.js.map +0 -1
  715. package/dist/shared/hx-alert-CHOjTBds.js.map +0 -1
  716. package/dist/shared/hx-avatar-an-WsuLl.js.map +0 -1
  717. package/dist/shared/hx-badge-RPzd-t5l.js.map +0 -1
  718. package/dist/shared/hx-banner-B-WEDiq7.js.map +0 -1
  719. package/dist/shared/hx-breadcrumb-item-jLAKK038.js.map +0 -1
  720. package/dist/shared/hx-button-DoN8jjQT.js.map +0 -1
  721. package/dist/shared/hx-button-group-BXlMQTt_.js.map +0 -1
  722. package/dist/shared/hx-card-BgXZXDuc.js.map +0 -1
  723. package/dist/shared/hx-carousel-item-Dwt9Pphz.js.map +0 -1
  724. package/dist/shared/hx-checkbox-C82GjRXe.js.map +0 -1
  725. package/dist/shared/hx-checkbox-group-DThZeN5d.js.map +0 -1
  726. package/dist/shared/hx-clinical-status-BjtT5c0M.js.map +0 -1
  727. package/dist/shared/hx-code-snippet-DcVENSuC.js.map +0 -1
  728. package/dist/shared/hx-color-picker-C6EIuS9t.js.map +0 -1
  729. package/dist/shared/hx-combobox-BJ4lQocO.js +0 -544
  730. package/dist/shared/hx-combobox-BJ4lQocO.js.map +0 -1
  731. package/dist/shared/hx-container-BwWbMPTH.js.map +0 -1
  732. package/dist/shared/hx-copy-button-BoM0WsMd.js.map +0 -1
  733. package/dist/shared/hx-counter-B5NgKlw4.js.map +0 -1
  734. package/dist/shared/hx-data-table-D5Ne-goy.js.map +0 -1
  735. package/dist/shared/hx-date-picker-Cd3I3WkX.js +0 -627
  736. package/dist/shared/hx-date-picker-Cd3I3WkX.js.map +0 -1
  737. package/dist/shared/hx-dialog-D4ubstxx.js.map +0 -1
  738. package/dist/shared/hx-divider-BBtOLHRP.js.map +0 -1
  739. package/dist/shared/hx-drawer--WDLuWtS.js.map +0 -1
  740. package/dist/shared/hx-dropdown-n5-XSmiV.js.map +0 -1
  741. package/dist/shared/hx-field-CwT9tki1.js.map +0 -1
  742. package/dist/shared/hx-field-label-CcOK9VU3.js.map +0 -1
  743. package/dist/shared/hx-file-upload-Di_vpQaG.js.map +0 -1
  744. package/dist/shared/hx-form-BM6PHsw3.js.map +0 -1
  745. package/dist/shared/hx-format-date-B7L9odbA.js.map +0 -1
  746. package/dist/shared/hx-grid-BIAR5h9m.js.map +0 -1
  747. package/dist/shared/hx-help-text-Bmb80bP4.js.map +0 -1
  748. package/dist/shared/hx-icon-BKHs3OLu.js.map +0 -1
  749. package/dist/shared/hx-icon-button-CJuy9xbw.js.map +0 -1
  750. package/dist/shared/hx-image-ztiXumZB.js.map +0 -1
  751. package/dist/shared/hx-link-CN7AvGOW.js.map +0 -1
  752. package/dist/shared/hx-list-Dnei26t4.js.map +0 -1
  753. package/dist/shared/hx-menu-divider-DRT8yHRZ.js.map +0 -1
  754. package/dist/shared/hx-meter-BcVC9yrt.js.map +0 -1
  755. package/dist/shared/hx-nav-item-CJN4VDrf.js.map +0 -1
  756. package/dist/shared/hx-nav-l0Rp7WPW.js.map +0 -1
  757. package/dist/shared/hx-number-input-0Waw7Z7u.js.map +0 -1
  758. package/dist/shared/hx-overflow-menu-DElwFSCd.js.map +0 -1
  759. package/dist/shared/hx-pagination-BNtx-LG6.js.map +0 -1
  760. package/dist/shared/hx-patient-banner-BKiN7nIE.js.map +0 -1
  761. package/dist/shared/hx-phi-field-DD1qcBSO.js.map +0 -1
  762. package/dist/shared/hx-popover-CydNuVkT.js.map +0 -1
  763. package/dist/shared/hx-popup-DbzezTOd.js.map +0 -1
  764. package/dist/shared/hx-progress-bar-Cm0VihTN.js.map +0 -1
  765. package/dist/shared/hx-progress-ring-Cs0WgWDJ.js.map +0 -1
  766. package/dist/shared/hx-radio-f8c5ggHG.js.map +0 -1
  767. package/dist/shared/hx-rating-qRJZXskm.js.map +0 -1
  768. package/dist/shared/hx-select-CgcgsHU5.js.map +0 -1
  769. package/dist/shared/hx-skeleton-tiYvKO-t.js.map +0 -1
  770. package/dist/shared/hx-slider-BvXtvxmN.js.map +0 -1
  771. package/dist/shared/hx-spinner-D6nzuGmj.js.map +0 -1
  772. package/dist/shared/hx-split-button-CPndTJlC.js.map +0 -1
  773. package/dist/shared/hx-split-panel-Dx72NaET.js.map +0 -1
  774. package/dist/shared/hx-stack-B76_1O6g.js.map +0 -1
  775. package/dist/shared/hx-stat-DKlyBL_K.js.map +0 -1
  776. package/dist/shared/hx-status-indicator-ClWpK6zz.js.map +0 -1
  777. package/dist/shared/hx-step-C2Jk4mHa.js.map +0 -1
  778. package/dist/shared/hx-structured-list-DKlrv7kS.js.map +0 -1
  779. package/dist/shared/hx-style-scope-CsQ2Phf_.js +0 -126
  780. package/dist/shared/hx-style-scope-CsQ2Phf_.js.map +0 -1
  781. package/dist/shared/hx-switch-BzMN37PV.js.map +0 -1
  782. package/dist/shared/hx-tab-panel-J58zOSjq.js.map +0 -1
  783. package/dist/shared/hx-tag-F0ZcYj9b.js.map +0 -1
  784. package/dist/shared/hx-td-CNCvzBwY.js.map +0 -1
  785. package/dist/shared/hx-text-DcWBqZwx.js.map +0 -1
  786. package/dist/shared/hx-text-input-Zuodg9s_.js.map +0 -1
  787. package/dist/shared/hx-textarea-BfSJJtA1.js.map +0 -1
  788. package/dist/shared/hx-theme-pc1V7dyL.js.map +0 -1
  789. package/dist/shared/hx-time-picker-CZvmihHD.js.map +0 -1
  790. package/dist/shared/hx-toggle-button-BZUQUULm.js.map +0 -1
  791. package/dist/shared/hx-tooltip-Ny4i1Idj.js.map +0 -1
  792. package/dist/shared/hx-top-nav-CC4FW2Hp.js.map +0 -1
  793. package/dist/shared/hx-tree-item-CPQ9dJiK.js.map +0 -1
  794. package/dist/shared/hx-visually-hidden-vKX8QjeX.js +0 -54
  795. package/dist/shared/hx-visually-hidden-vKX8QjeX.js.map +0 -1
  796. package/dist/shared/id-counter-PTgF-zcG.js +0 -15
  797. package/dist/shared/toast-factory-CEMNOt1T.js.map +0 -1
  798. package/dist/tools/cem-a11y-analyzer/analyzers/aria-analyzer.d.ts +0 -12
  799. package/dist/tools/cem-a11y-analyzer/analyzers/aria-analyzer.d.ts.map +0 -1
  800. package/dist/tools/cem-a11y-analyzer/analyzers/focus-analyzer.d.ts +0 -13
  801. package/dist/tools/cem-a11y-analyzer/analyzers/focus-analyzer.d.ts.map +0 -1
  802. package/dist/tools/cem-a11y-analyzer/analyzers/form-analyzer.d.ts +0 -13
  803. package/dist/tools/cem-a11y-analyzer/analyzers/form-analyzer.d.ts.map +0 -1
  804. package/dist/tools/cem-a11y-analyzer/analyzers/keyboard-analyzer.d.ts +0 -12
  805. package/dist/tools/cem-a11y-analyzer/analyzers/keyboard-analyzer.d.ts.map +0 -1
  806. package/dist/tools/cem-a11y-analyzer/analyzers/label-analyzer.d.ts +0 -13
  807. package/dist/tools/cem-a11y-analyzer/analyzers/label-analyzer.d.ts.map +0 -1
  808. package/dist/tools/cem-a11y-analyzer/analyzers/motion-analyzer.d.ts +0 -12
  809. package/dist/tools/cem-a11y-analyzer/analyzers/motion-analyzer.d.ts.map +0 -1
  810. package/dist/tools/cem-a11y-analyzer/index.d.ts +0 -14
  811. package/dist/tools/cem-a11y-analyzer/index.d.ts.map +0 -1
  812. package/dist/tools/cem-a11y-analyzer/reporter.d.ts +0 -6
  813. package/dist/tools/cem-a11y-analyzer/reporter.d.ts.map +0 -1
  814. package/dist/tools/cem-a11y-analyzer/scorer.d.ts +0 -22
  815. package/dist/tools/cem-a11y-analyzer/scorer.d.ts.map +0 -1
  816. package/dist/tools/cem-a11y-analyzer/types.d.ts +0 -171
  817. package/dist/tools/cem-a11y-analyzer/types.d.ts.map +0 -1
@@ -1,8 +1,10 @@
1
- import { css as g, LitElement as m, nothing as h, html as p } from "lit";
2
- import "./document-token-adoption-DuYNKd4k.js";
3
- import { property as d, state as w, customElement as y } from "lit/decorators.js";
4
- import { classMap as k } from "lit/directives/class-map.js";
5
- const R = g`
1
+ import { css as g, nothing as h, html as p } from "lit";
2
+ import { property as d, state as R, customElement as m } from "lit/decorators.js";
3
+ import { classMap as y } from "lit/directives/class-map.js";
4
+ import { F as S } from "./FormMixin-B8PXk5RQ.js";
5
+ import { H as k } from "./helix-element-BNEYeiys.js";
6
+ import { c as w } from "./id-counter-DuX8vsui.js";
7
+ const E = g`
6
8
  :host {
7
9
  display: block;
8
10
  }
@@ -25,7 +27,7 @@ const R = g`
25
27
  display: flex;
26
28
  flex-direction: column;
27
29
  gap: var(--hx-space-2, 0.5rem);
28
- font-family: var(--hx-font-family-sans, sans-serif);
30
+ font-family: var(--hx-radio-group-font-family, var(--hx-font-family-sans, sans-serif));
29
31
  }
30
32
 
31
33
  /* ─── Legend ─── */
@@ -36,7 +38,7 @@ const R = g`
36
38
  gap: var(--hx-space-1, 0.25rem);
37
39
  font-size: var(--hx-font-size-sm, 0.875rem);
38
40
  font-weight: var(--hx-font-weight-medium, 500);
39
- color: var(--hx-radio-group-label-color, var(--hx-color-neutral-700, #343a40));
41
+ color: var(--hx-radio-group-label-color, var(--hx-color-neutral-700, #334155));
40
42
  line-height: var(--hx-line-height-normal, 1.5);
41
43
  padding: 0;
42
44
  margin-bottom: var(--hx-space-1, 0.25rem);
@@ -70,7 +72,7 @@ const R = g`
70
72
 
71
73
  .fieldset__help-text {
72
74
  font-size: var(--hx-font-size-xs, 0.75rem);
73
- color: var(--hx-radio-group-help-text-color, var(--hx-color-neutral-500, #6c757d));
75
+ color: var(--hx-radio-group-help-text-color, var(--hx-color-neutral-500, #64748b));
74
76
  line-height: var(--hx-line-height-normal, 1.5);
75
77
  }
76
78
 
@@ -79,19 +81,52 @@ const R = g`
79
81
  color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #b91c1c));
80
82
  line-height: var(--hx-line-height-normal, 1.5);
81
83
  }
84
+
85
+ /* ─── High Contrast Mode (forced-colors) ─── */
86
+
87
+ @media (forced-colors: active) {
88
+ .fieldset {
89
+ border: none;
90
+ }
91
+
92
+ .fieldset__legend {
93
+ color: CanvasText;
94
+ }
95
+
96
+ .fieldset--error .fieldset__legend {
97
+ color: LinkText;
98
+ }
99
+
100
+ :host([disabled]) {
101
+ opacity: 1;
102
+ }
103
+
104
+ :host([disabled]) .fieldset__legend {
105
+ color: GrayText;
106
+ }
107
+
108
+ .fieldset__help-text {
109
+ color: GrayText;
110
+ }
111
+
112
+ .fieldset__error {
113
+ color: LinkText;
114
+ }
115
+ }
82
116
  `;
83
- var S = Object.defineProperty, E = Object.getOwnPropertyDescriptor, n = (e, r, s, t) => {
84
- for (var i = t > 1 ? void 0 : t ? E(r, s) : r, a = e.length - 1, l; a >= 0; a--)
85
- (l = e[a]) && (i = (t ? l(r, s, i) : l(i)) || i);
86
- return t && i && S(r, s, i), i;
117
+ var C = Object.defineProperty, I = Object.getOwnPropertyDescriptor, n = (e, t, i, r) => {
118
+ for (var o = r > 1 ? void 0 : r ? I(t, i) : t, a = e.length - 1, s; a >= 0; a--)
119
+ (s = e[a]) && (o = (r ? s(t, i, o) : s(o)) || o);
120
+ return r && o && C(t, i, o), o;
87
121
  };
88
- let C = 0, o = class extends m {
122
+ const $ = w("hx-radio-group");
123
+ let l = class extends S(k) {
89
124
  constructor() {
90
- super(), this.value = "", this.name = "", this.label = "", this.required = !1, this.disabled = !1, this.error = "", this.helpText = "", this.orientation = "vertical", this._hasErrorSlot = !1, this._groupId = `hx-radio-group-${++C}`, this._helpTextId = `${this._groupId}-help`, this._errorId = `${this._groupId}-error`, this._cachedRadios = null, this._individualDisabledStates = /* @__PURE__ */ new WeakMap(), this._handleRadioSelect = (e) => {
125
+ super(...arguments), this.value = "", this.name = "", this.label = "", this.required = !1, this.disabled = !1, this.error = "", this.helpText = "", this.orientation = "vertical", this._hasErrorSlot = !1, this._groupId = $(), this._helpTextId = `${this._groupId}-help`, this._errorId = `${this._groupId}-error`, this._cachedRadios = null, this._individualDisabledStates = /* @__PURE__ */ new WeakMap(), this._handleRadioSelect = (e) => {
91
126
  if (!(e instanceof CustomEvent)) return;
92
127
  e.stopPropagation();
93
- const r = e.detail.value;
94
- r !== this.value && (this.value = r, this.dispatchEvent(
128
+ const t = e.detail.value;
129
+ t !== this.value && (this.value = t, this._handleInteractionInput(), this.dispatchEvent(
95
130
  new CustomEvent("hx-change", {
96
131
  bubbles: !0,
97
132
  composed: !0,
@@ -99,9 +134,9 @@ let C = 0, o = class extends m {
99
134
  })
100
135
  ));
101
136
  }, this._handleKeydown = (e) => {
102
- var b, x, v, _;
103
- const r = this._getEnabledRadios();
104
- if (r.length === 0 || ![
137
+ var _, b, x, v;
138
+ const t = this._getEnabledRadios();
139
+ if (t.length === 0 || ![
105
140
  "ArrowUp",
106
141
  "ArrowDown",
107
142
  "ArrowLeft",
@@ -112,7 +147,7 @@ let C = 0, o = class extends m {
112
147
  ].includes(e.key))
113
148
  return;
114
149
  if (e.preventDefault(), e.key === " ") {
115
- const u = (x = (b = e.target) == null ? void 0 : b.closest) == null ? void 0 : x.call(b, "hx-radio");
150
+ const u = (b = (_ = e.target) == null ? void 0 : _.closest) == null ? void 0 : b.call(_, "hx-radio");
116
151
  u && !u.disabled && u.dispatchEvent(
117
152
  new CustomEvent("hx-radio-select", {
118
153
  bubbles: !0,
@@ -122,18 +157,18 @@ let C = 0, o = class extends m {
122
157
  );
123
158
  return;
124
159
  }
125
- const t = (_ = (v = e.target) == null ? void 0 : v.closest) == null ? void 0 : _.call(v, "hx-radio"), i = t ? r.indexOf(t) : r.findIndex((u) => u.checked);
160
+ const r = (v = (x = e.target) == null ? void 0 : x.closest) == null ? void 0 : v.call(x, "hx-radio"), o = r ? t.indexOf(r) : t.findIndex((u) => u.checked);
126
161
  let a;
127
- e.key === "Home" ? a = 0 : e.key === "End" ? a = r.length - 1 : e.key === "ArrowDown" || e.key === "ArrowRight" ? a = i === -1 ? 0 : (i + 1) % r.length : a = i <= 0 ? r.length - 1 : i - 1;
128
- const l = r[a];
129
- l && (l.focus(), l.dispatchEvent(
162
+ e.key === "Home" ? a = 0 : e.key === "End" ? a = t.length - 1 : e.key === "ArrowDown" || e.key === "ArrowRight" ? a = o === -1 ? 0 : (o + 1) % t.length : a = o <= 0 ? t.length - 1 : o - 1;
163
+ const s = t[a];
164
+ s && (s.focus(), s.dispatchEvent(
130
165
  new CustomEvent("hx-radio-select", {
131
166
  bubbles: !0,
132
167
  composed: !0,
133
- detail: { value: l.value }
168
+ detail: { value: s.value }
134
169
  })
135
170
  ));
136
- }, this._internals = this.attachInternals();
171
+ };
137
172
  }
138
173
  /**
139
174
  * Queries the rendered group container element within the shadow root.
@@ -159,10 +194,21 @@ let C = 0, o = class extends m {
159
194
  super.disconnectedCallback(), this.removeEventListener("hx-radio-select", this._handleRadioSelect), this.removeEventListener("keydown", this._handleKeydown);
160
195
  }
161
196
  updated(e) {
162
- super.updated(e), e.has("value") && (this._internals.setFormValue(this.value || null), this._syncRadios(), this._updateValidity()), e.has("disabled") && this._syncRadios();
197
+ var t;
198
+ if (super.updated(e), e.has("value") && (this._internals.setFormValue(this.value || null), this._syncRadios()), e.has("disabled") && this._syncRadios(), e.has("error") && this.error) {
199
+ const i = (t = this.shadowRoot) == null ? void 0 : t.querySelector('[role="alert"]');
200
+ if (i) {
201
+ const r = this.error;
202
+ requestAnimationFrame(() => {
203
+ i.textContent = "", requestAnimationFrame(() => {
204
+ i.textContent = r;
205
+ });
206
+ });
207
+ }
208
+ }
163
209
  }
164
210
  firstUpdated(e) {
165
- super.firstUpdated(e), this._syncRadios(), this._updateValidity(), !this.label && this.getAttribute("aria-label");
211
+ super.firstUpdated(e), this._syncRadios(), !this.label && this.getAttribute("aria-label");
166
212
  }
167
213
  /**
168
214
  * Returns all child hx-radio elements, using the cache when available.
@@ -183,24 +229,24 @@ let C = 0, o = class extends m {
183
229
  * @internal
184
230
  */
185
231
  _syncRadios() {
186
- const e = this._getRadios(), r = this._getEnabledRadios();
187
- e.forEach((t) => {
188
- const i = t.value === this.value && this.value !== "";
189
- if (t.checked = i, this.disabled)
190
- this._individualDisabledStates.has(t) || this._individualDisabledStates.set(t, t.disabled), t.disabled = !0;
232
+ const e = this._getRadios(), t = this._getEnabledRadios();
233
+ e.forEach((r) => {
234
+ const o = r.value === this.value && this.value !== "";
235
+ if (r.checked = o, this.disabled)
236
+ this._individualDisabledStates.has(r) || this._individualDisabledStates.set(r, r.disabled), r.disabled = !0;
191
237
  else {
192
- const a = this._individualDisabledStates.get(t);
193
- a !== void 0 && (t.disabled = a, this._individualDisabledStates.delete(t));
238
+ const a = this._individualDisabledStates.get(r);
239
+ a !== void 0 && (r.disabled = a, this._individualDisabledStates.delete(r));
194
240
  }
195
241
  });
196
- const s = r.find((t) => t.checked);
197
- if (e.forEach((t) => {
198
- t.tabIndex = -1;
199
- }), s)
200
- s.tabIndex = 0;
201
- else if (r.length > 0) {
202
- const t = r[0];
203
- t && (t.tabIndex = 0);
242
+ const i = t.find((r) => r.checked);
243
+ if (e.forEach((r) => {
244
+ r.tabIndex = -1;
245
+ }), i)
246
+ i.tabIndex = 0;
247
+ else if (t.length > 0) {
248
+ const r = t[0];
249
+ r && (r.tabIndex = 0);
204
250
  }
205
251
  }
206
252
  /**
@@ -211,41 +257,6 @@ let C = 0, o = class extends m {
211
257
  this._cachedRadios = null, this._syncRadios();
212
258
  }
213
259
  // ─── Form Integration ───
214
- /**
215
- * Returns the associated form element, if any.
216
- * @returns The associated `HTMLFormElement`, or `null` if not in a form.
217
- */
218
- get form() {
219
- return this._internals.form;
220
- }
221
- /**
222
- * Returns the validation message.
223
- * @returns The current validation message string.
224
- */
225
- get validationMessage() {
226
- return this._internals.validationMessage;
227
- }
228
- /**
229
- * Returns the ValidityState object.
230
- * @returns The `ValidityState` representing the current validity of the element.
231
- */
232
- get validity() {
233
- return this._internals.validity;
234
- }
235
- /**
236
- * Checks whether the group satisfies its constraints.
237
- * @returns `true` if the group is valid, `false` otherwise.
238
- */
239
- checkValidity() {
240
- return this._internals.checkValidity();
241
- }
242
- /**
243
- * Reports validity and shows the browser's constraint validation UI.
244
- * @returns `true` if the group is valid, `false` otherwise.
245
- */
246
- reportValidity() {
247
- return this._internals.reportValidity();
248
- }
249
260
  /**
250
261
  * Updates the ElementInternals validity state based on the required constraint and current value.
251
262
  * @internal
@@ -258,36 +269,39 @@ let C = 0, o = class extends m {
258
269
  ) : this._internals.setValidity({});
259
270
  }
260
271
  /** @internal */
261
- formResetCallback() {
262
- this.value = "", this._internals.setFormValue(null), this._syncRadios();
272
+ _onFormReset() {
273
+ this.value = "", this._internals.setFormValue(null), this._syncRadios(), this._resetInteractionState();
263
274
  }
264
275
  /** @internal */
265
- formStateRestoreCallback(e, r) {
276
+ _onFormStateRestore(e, t) {
266
277
  typeof e == "string" && (this.value = e);
267
278
  }
268
279
  /** @internal */
269
- formDisabledCallback(e) {
280
+ _onFormDisabled(e) {
270
281
  this.disabled = e;
271
282
  }
272
283
  // ─── Render ───
273
284
  render() {
274
- const e = !!this.error, r = `${this._groupId}-legend`, s = {
285
+ const e = !!this.error, t = `${this._groupId}-legend`, i = {
275
286
  fieldset: !0,
276
287
  "fieldset--error": e,
277
288
  "fieldset--disabled": this.disabled,
278
289
  "fieldset--required": this.required
279
- }, t = !!this.helpText, a = [e ? this._errorId : null, t ? this._helpTextId : null].filter(Boolean).join(" ") || h;
290
+ }, r = !!this.helpText, s = [
291
+ e || this._hasErrorSlot ? this._errorId : null,
292
+ r ? this._helpTextId : null
293
+ ].filter(Boolean).join(" ") || h;
280
294
  return p`
281
295
  <fieldset
282
296
  part="fieldset"
283
- class=${k(s)}
297
+ class=${y(i)}
284
298
  role="radiogroup"
285
- aria-labelledby=${this.label ? r : h}
286
- aria-describedby=${a}
299
+ aria-labelledby=${this.label ? t : h}
300
+ aria-describedby=${s}
287
301
  aria-required=${this.required ? "true" : h}
288
302
  >
289
303
  ${this.label ? p`
290
- <legend part="legend" class="fieldset__legend" id=${r}>
304
+ <legend part="legend" class="fieldset__legend" id=${t}>
291
305
  ${this.label}
292
306
  ${this.required ? p`<span class="fieldset__required-marker" aria-hidden="true">*</span>` : h}
293
307
  </legend>
@@ -314,39 +328,39 @@ let C = 0, o = class extends m {
314
328
  `;
315
329
  }
316
330
  };
317
- o.styles = [R];
318
- o.formAssociated = !0;
331
+ l.styles = [E];
332
+ l.formAssociated = !0;
319
333
  n([
320
- d({ type: String })
321
- ], o.prototype, "value", 2);
334
+ d({ type: String, reflect: !0 })
335
+ ], l.prototype, "value", 2);
322
336
  n([
323
- d({ type: String })
324
- ], o.prototype, "name", 2);
337
+ d({ type: String, reflect: !0 })
338
+ ], l.prototype, "name", 2);
325
339
  n([
326
340
  d({ type: String })
327
- ], o.prototype, "label", 2);
341
+ ], l.prototype, "label", 2);
328
342
  n([
329
343
  d({ type: Boolean, reflect: !0 })
330
- ], o.prototype, "required", 2);
344
+ ], l.prototype, "required", 2);
331
345
  n([
332
346
  d({ type: Boolean, reflect: !0 })
333
- ], o.prototype, "disabled", 2);
347
+ ], l.prototype, "disabled", 2);
334
348
  n([
335
349
  d({ type: String })
336
- ], o.prototype, "error", 2);
350
+ ], l.prototype, "error", 2);
337
351
  n([
338
352
  d({ type: String, attribute: "help-text" })
339
- ], o.prototype, "helpText", 2);
353
+ ], l.prototype, "helpText", 2);
340
354
  n([
341
355
  d({ type: String, reflect: !0 })
342
- ], o.prototype, "orientation", 2);
356
+ ], l.prototype, "orientation", 2);
343
357
  n([
344
- w()
345
- ], o.prototype, "_hasErrorSlot", 2);
346
- o = n([
347
- y("hx-radio-group")
348
- ], o);
349
- const $ = g`
358
+ R()
359
+ ], l.prototype, "_hasErrorSlot", 2);
360
+ l = n([
361
+ m("hx-radio-group")
362
+ ], l);
363
+ const T = g`
350
364
  :host {
351
365
  display: block;
352
366
  }
@@ -368,7 +382,7 @@ const $ = g`
368
382
  min-height: var(--hx-touch-target-min, 2.75rem);
369
383
  cursor: pointer;
370
384
  position: relative;
371
- font-family: var(--hx-font-family-sans, sans-serif);
385
+ font-family: var(--hx-radio-font-family, var(--hx-font-family-sans, sans-serif));
372
386
  }
373
387
 
374
388
  .radio--disabled {
@@ -398,7 +412,7 @@ const $ = g`
398
412
  width: var(--hx-radio-size, var(--hx-size-5, 1.25rem));
399
413
  height: var(--hx-radio-size, var(--hx-size-5, 1.25rem));
400
414
  border: var(--hx-border-width-medium, 2px) solid
401
- var(--hx-radio-border-color, var(--hx-color-neutral-300, #ced4da));
415
+ var(--hx-radio-border-color, var(--hx-color-neutral-300, #cbd5e1));
402
416
  border-radius: var(--hx-border-radius-full, 9999px);
403
417
  background-color: var(--hx-color-neutral-0, #ffffff);
404
418
  transition:
@@ -444,14 +458,14 @@ const $ = g`
444
458
  /* ─── Hover State ─── */
445
459
 
446
460
  .radio:not(.radio--disabled):not(.radio--checked):hover .radio__control {
447
- border-color: var(--hx-color-neutral-400, #adb5bd);
461
+ border-color: var(--hx-color-neutral-400, #94a3b8);
448
462
  }
449
463
 
450
464
  /* ─── Label ─── */
451
465
 
452
466
  .radio__label {
453
467
  font-size: var(--hx-font-size-md, 1rem);
454
- color: var(--hx-radio-label-color, var(--hx-color-neutral-700, #343a40));
468
+ color: var(--hx-radio-label-color, var(--hx-color-neutral-700, #334155));
455
469
  line-height: var(--hx-line-height-normal, 1.5);
456
470
  user-select: none;
457
471
  -webkit-user-select: none;
@@ -465,22 +479,87 @@ const $ = g`
465
479
  transition: none;
466
480
  }
467
481
  }
482
+
483
+ /* ─── High Contrast Mode (forced-colors) ─── */
484
+
485
+ @media (forced-colors: active) {
486
+ .radio__control {
487
+ forced-color-adjust: none;
488
+ background-color: ButtonFace;
489
+ border: 2px solid ButtonText;
490
+ }
491
+
492
+ :host(:focus-visible) .radio__control {
493
+ outline: 3px solid Highlight;
494
+ outline-offset: 2px;
495
+ }
496
+
497
+ .radio--checked .radio__control {
498
+ background-color: Highlight;
499
+ border-color: Highlight;
500
+ }
501
+
502
+ .radio--checked .radio__dot {
503
+ background-color: HighlightText;
504
+ }
505
+
506
+ :host([disabled]) {
507
+ opacity: 1;
508
+ }
509
+
510
+ :host([disabled]) .radio__control {
511
+ border-color: GrayText;
512
+ background-color: ButtonFace;
513
+ }
514
+
515
+ :host([disabled]) .radio--checked .radio__control {
516
+ background-color: GrayText;
517
+ border-color: GrayText;
518
+ }
519
+
520
+ :host([disabled]) .radio__label {
521
+ color: GrayText;
522
+ }
523
+
524
+ .radio__label {
525
+ color: CanvasText;
526
+ }
527
+ }
468
528
  `;
469
- var I = Object.defineProperty, A = Object.getOwnPropertyDescriptor, f = (e, r, s, t) => {
470
- for (var i = t > 1 ? void 0 : t ? A(r, s) : r, a = e.length - 1, l; a >= 0; a--)
471
- (l = e[a]) && (i = (t ? l(r, s, i) : l(i)) || i);
472
- return t && i && I(r, s, i), i;
529
+ var H = Object.defineProperty, z = Object.getOwnPropertyDescriptor, f = (e, t, i, r) => {
530
+ for (var o = r > 1 ? void 0 : r ? z(t, i) : t, a = e.length - 1, s; a >= 0; a--)
531
+ (s = e[a]) && (o = (r ? s(t, i, o) : s(o)) || o);
532
+ return r && o && H(t, i, o), o;
473
533
  };
474
- let z = 0, c = class extends m {
534
+ const A = w("hx-radio");
535
+ let c = class extends k {
475
536
  constructor() {
476
- super(...arguments), this.value = "", this.label = "", this.disabled = !1, this.checked = !1, this._inputId = `hx-radio-${++z}`;
537
+ super(...arguments), this.value = "", this.label = "", this.disabled = !1, this.checked = !1, this._inputId = A();
477
538
  }
478
539
  // ─── Lifecycle ───
479
540
  connectedCallback() {
480
- super.connectedCallback(), this.setAttribute("role", "radio"), this.setAttribute("aria-checked", String(this.checked)), this.label && this.setAttribute("aria-label", this.label), this.disabled ? this.setAttribute("aria-disabled", "true") : this.removeAttribute("aria-disabled");
541
+ super.connectedCallback(), this._internals.role = "radio", this._syncAriaState();
481
542
  }
482
543
  updated(e) {
483
- super.updated(e), e.has("checked") && this.setAttribute("aria-checked", String(this.checked)), e.has("label") && (this.label ? this.setAttribute("aria-label", this.label) : this.removeAttribute("aria-label")), e.has("disabled") && (this.disabled ? this.setAttribute("aria-disabled", "true") : this.removeAttribute("aria-disabled"));
544
+ super.updated(e), (e.has("checked") || e.has("label") || e.has("disabled")) && this._syncAriaState();
545
+ }
546
+ /**
547
+ * Mirror reactive ARIA state onto ElementInternals. Setting a value to `null`
548
+ * removes it from the accessibility tree (matching the previous
549
+ * removeAttribute behavior).
550
+ *
551
+ * WCAG 4.1.2: expose the label text as ariaLabel on the host so assistive
552
+ * technology can associate the visible label with the radio role. The label
553
+ * span lives inside Shadow DOM and aria-labelledby cannot cross shadow
554
+ * boundaries, so ariaLabel on the host is the correct pattern here.
555
+ *
556
+ * WCAG 4.1.2: omit ariaDisabled entirely when not disabled. Setting
557
+ * aria-disabled="false" is verbose and unnecessary — omission is preferred.
558
+ *
559
+ * @internal
560
+ */
561
+ _syncAriaState() {
562
+ this._internals.ariaChecked = String(this.checked), this._internals.ariaLabel = this.label || null, this._internals.ariaDisabled = this.disabled ? "true" : null;
484
563
  }
485
564
  // ─── Event Handling ───
486
565
  /** @internal */
@@ -501,7 +580,7 @@ let z = 0, c = class extends m {
501
580
  "radio--disabled": this.disabled
502
581
  };
503
582
  return p`
504
- <div class=${k(e)} @click=${this._handleClick}>
583
+ <div class=${y(e)} @click=${this._handleClick}>
505
584
  <input
506
585
  class="radio__input"
507
586
  type="radio"
@@ -521,7 +600,7 @@ let z = 0, c = class extends m {
521
600
  `;
522
601
  }
523
602
  };
524
- c.styles = [$];
603
+ c.styles = [T];
525
604
  f([
526
605
  d({ type: String })
527
606
  ], c.prototype, "value", 2);
@@ -535,10 +614,10 @@ f([
535
614
  d({ type: Boolean, reflect: !0 })
536
615
  ], c.prototype, "checked", 2);
537
616
  c = f([
538
- y("hx-radio")
617
+ m("hx-radio")
539
618
  ], c);
540
619
  export {
541
620
  c as H,
542
- o as a
621
+ l as a
543
622
  };
544
- //# sourceMappingURL=hx-radio-f8c5ggHG.js.map
623
+ //# sourceMappingURL=hx-radio-BBC5qZgE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hx-radio-BBC5qZgE.js","sources":["../../src/components/hx-radio-group/hx-radio-group.styles.ts","../../src/components/hx-radio-group/hx-radio-group.ts","../../src/components/hx-radio-group/hx-radio.styles.ts","../../src/components/hx-radio-group/hx-radio.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixRadioGroupStyles = 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 /* ─── 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, 0.5rem);\n font-family: var(--hx-radio-group-font-family, var(--hx-font-family-sans, sans-serif));\n }\n\n /* ─── Legend ─── */\n\n .fieldset__legend {\n display: flex;\n align-items: baseline;\n gap: var(--hx-space-1, 0.25rem);\n font-size: var(--hx-font-size-sm, 0.875rem);\n font-weight: var(--hx-font-weight-medium, 500);\n color: var(--hx-radio-group-label-color, var(--hx-color-neutral-700, #334155));\n line-height: var(--hx-line-height-normal, 1.5);\n padding: 0;\n margin-bottom: var(--hx-space-1, 0.25rem);\n }\n\n .fieldset__required-marker {\n color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #b91c1c));\n font-weight: var(--hx-font-weight-bold, 700);\n }\n\n /* ─── Group Container ─── */\n\n .fieldset__group {\n display: flex;\n flex-direction: column;\n gap: var(--hx-radio-group-gap, var(--hx-space-3, 0.75rem));\n }\n\n :host([orientation='horizontal']) .fieldset__group {\n flex-direction: row;\n flex-wrap: wrap;\n }\n\n /* ─── Error State ─── */\n\n .fieldset--error .fieldset__legend {\n color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #b91c1c));\n }\n\n /* ─── Help Text & Error Messages ─── */\n\n .fieldset__help-text {\n font-size: var(--hx-font-size-xs, 0.75rem);\n color: var(--hx-radio-group-help-text-color, var(--hx-color-neutral-500, #64748b));\n line-height: var(--hx-line-height-normal, 1.5);\n }\n\n .fieldset__error {\n font-size: var(--hx-font-size-xs, 0.75rem);\n color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #b91c1c));\n line-height: var(--hx-line-height-normal, 1.5);\n }\n\n /* ─── High Contrast Mode (forced-colors) ─── */\n\n @media (forced-colors: active) {\n .fieldset {\n border: none;\n }\n\n .fieldset__legend {\n color: CanvasText;\n }\n\n .fieldset--error .fieldset__legend {\n color: LinkText;\n }\n\n :host([disabled]) {\n opacity: 1;\n }\n\n :host([disabled]) .fieldset__legend {\n color: GrayText;\n }\n\n .fieldset__help-text {\n color: GrayText;\n }\n\n .fieldset__error {\n color: LinkText;\n }\n }\n`;\n","import { html, nothing, type PropertyValues } from 'lit';\nimport '../../utilities/document-token-adoption.js';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { devWarn } from '../../utils/dev-warn.js';\nimport { HelixElement, createIdCounter } from '../../base/index.js';\nimport { FormMixin } from '../../mixins/FormMixin.js';\nimport { helixRadioGroupStyles } from './hx-radio-group.styles.js';\nimport type { HelixRadio } from './hx-radio.js';\n\nconst _nextRadioGroupId = createIdCounter('hx-radio-group');\n\n/** Detail for the hx-change event dispatched by hx-radio-group. */\nexport interface HxRadioGroupChangeDetail {\n value: string;\n checked: boolean;\n}\n\n/**\n * A form-associated radio group that manages a set of `<hx-radio>` children.\n *\n * @summary Form-associated radio group with label, validation, help text, and keyboard navigation.\n *\n * @tag hx-radio-group\n *\n * @slot - `<hx-radio>` elements.\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<{value: string, checked: boolean}>} hx-change - Dispatched when the selected radio changes.\n * @fires {CustomEvent<{value: string}>} hx-radio-select - Internal event dispatched by `hx-radio` when selected; consumed by the group.\n *\n * @csspart fieldset - The fieldset wrapper.\n * @csspart legend - The legend/label.\n * @csspart group - The container for radio items.\n * @csspart error - The error message.\n * @csspart help-text - The help text.\n *\n * @cssprop [--hx-radio-group-gap=var(--hx-space-3, 0.75rem)] - Gap between radio items.\n * @cssprop [--hx-radio-group-label-color=var(--hx-color-neutral-700, #343a40)] - Label text color.\n * @cssprop [--hx-radio-group-error-color=var(--hx-color-error-500, #dc3545)] - Error message color.\n * @cssprop [--hx-radio-group-help-text-color=var(--hx-color-neutral-500, #6c757d)] - Help text color.\n */\n@customElement('hx-radio-group')\nexport class HelixRadioGroup extends FormMixin(HelixElement) {\n static override styles = [helixRadioGroupStyles];\n\n // ─── Form Association ───\n\n /**\n * Enables ElementInternals form association for this component.\n * @internal\n */\n static override formAssociated = true;\n\n // ─── Properties ───\n\n /**\n * The selected radio's value.\n * @attr value\n */\n @property({ type: String, reflect: true })\n value = '';\n\n /**\n * The name used for form submission.\n * @attr name\n */\n @property({ type: String, reflect: true })\n name = '';\n\n /**\n * The fieldset legend/label text.\n * @attr label\n */\n @property({ type: String })\n label = '';\n\n /**\n * Whether a selection is required 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 displayed below the group for guidance.\n * @attr help-text\n */\n @property({ type: String, attribute: 'help-text' })\n helpText = '';\n\n /**\n * Layout orientation of the radio items.\n * @attr orientation\n */\n @property({ type: String, reflect: true })\n orientation: 'vertical' | 'horizontal' = 'vertical';\n\n /**\n * Queries the rendered group container element within the shadow root.\n * @internal\n */\n private get _groupEl(): HTMLElement | null {\n return this.renderRoot?.querySelector('.fieldset__group') ?? null;\n }\n\n /**\n * Tracks whether the error slot has assigned content.\n * @internal\n */\n @state() private _hasErrorSlot = false;\n\n // ─── Internal IDs ───\n\n /**\n * Unique identifier for this radio group instance used in ARIA attributes.\n * @internal\n */\n private _groupId = _nextRadioGroupId();\n /**\n * Unique identifier for the help text element, used in aria-describedby.\n * @internal\n */\n private _helpTextId = `${this._groupId}-help`;\n /**\n * Unique identifier for the error element, used in aria-describedby.\n * @internal\n */\n private _errorId = `${this._groupId}-error`;\n\n // ─── Slot Handlers ───\n\n /**\n * Handles slotchange events on the error slot to detect assigned content.\n * @internal\n */\n private _handleErrorSlotChange(e: Event): void {\n if (!(e.target instanceof HTMLSlotElement)) return;\n this._hasErrorSlot = e.target.assignedNodes({ flatten: true }).length > 0;\n }\n\n // ─── Lifecycle ───\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('hx-radio-select', this._handleRadioSelect);\n this.addEventListener('keydown', this._handleKeydown);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('hx-radio-select', this._handleRadioSelect);\n this.removeEventListener('keydown', this._handleKeydown);\n }\n\n override updated(changedProperties: PropertyValues<this>): void {\n super.updated(changedProperties);\n if (changedProperties.has('value')) {\n this._internals.setFormValue(this.value || null);\n this._syncRadios();\n }\n if (changedProperties.has('disabled')) {\n this._syncRadios();\n }\n // Force screen reader re-announcement when error text changes (a11y-v3-005)\n if (changedProperties.has('error') && this.error) {\n const errorEl = this.shadowRoot?.querySelector('[role=\"alert\"]');\n if (errorEl) {\n const msg = this.error;\n requestAnimationFrame(() => {\n errorEl.textContent = '';\n requestAnimationFrame(() => {\n errorEl.textContent = msg;\n });\n });\n }\n }\n }\n\n override firstUpdated(changedProperties: PropertyValues<this>): void {\n super.firstUpdated(changedProperties);\n this._syncRadios();\n // WCAG 4.1.2: warn when no accessible name is available for the radio group.\n // The fieldset needs either a label prop (rendered as <legend>) or an aria-label\n // attribute on the host element so screen readers can identify the group.\n if (!this.label && !this.getAttribute('aria-label')) {\n devWarn(\n 'hx-radio-group',\n 'No accessible label provided. Set the `label` attribute or add `aria-label` to the host element. An unlabeled radio group violates WCAG 2.1 AA (4.1.2 Name, Role, Value).',\n );\n }\n }\n\n // ─── Radio Management ───\n\n /**\n * Cached list of child hx-radio elements; invalidated on slot change.\n * @internal\n */\n private _cachedRadios: HelixRadio[] | null = null;\n /**\n * Stores each radio's individual disabled state before group-level disabling overrides it.\n * @internal\n */\n private _individualDisabledStates = new WeakMap<HelixRadio, boolean>();\n\n /**\n * Returns all child hx-radio elements, using the cache when available.\n * @internal\n */\n private _getRadios(): HelixRadio[] {\n if (!this._cachedRadios) {\n this._cachedRadios = Array.from(this.querySelectorAll('hx-radio')) as HelixRadio[];\n }\n return this._cachedRadios;\n }\n\n /**\n * Returns only the child hx-radio elements that are not disabled.\n * @internal\n */\n private _getEnabledRadios(): HelixRadio[] {\n return this._getRadios().filter((radio) => !radio.disabled && !this.disabled);\n }\n\n /**\n * Synchronizes checked state, disabled state, and roving tabindex across all child radios.\n * @internal\n */\n private _syncRadios(): void {\n const radios = this._getRadios();\n const enabledRadios = this._getEnabledRadios();\n\n radios.forEach((radio) => {\n const isChecked = radio.value === this.value && this.value !== '';\n radio.checked = isChecked;\n\n if (this.disabled) {\n // Store individual disabled state before overriding with group disabled\n if (!this._individualDisabledStates.has(radio)) {\n this._individualDisabledStates.set(radio, radio.disabled);\n }\n radio.disabled = true;\n } else {\n // Restore individual disabled state when group is re-enabled\n const originalDisabled = this._individualDisabledStates.get(radio);\n if (originalDisabled !== undefined) {\n radio.disabled = originalDisabled;\n this._individualDisabledStates.delete(radio);\n }\n }\n });\n\n // Roving tabindex management\n const checkedRadio = enabledRadios.find((r) => r.checked);\n radios.forEach((radio) => {\n radio.tabIndex = -1;\n });\n\n if (checkedRadio) {\n checkedRadio.tabIndex = 0;\n } else if (enabledRadios.length > 0) {\n const firstRadio = enabledRadios[0];\n if (firstRadio) {\n firstRadio.tabIndex = 0;\n }\n }\n }\n\n // ─── Event Handling ───\n\n /**\n * Handles the internal hx-radio-select event to update the group's selected value.\n * @internal\n */\n private _handleRadioSelect = (e: Event): void => {\n if (!(e instanceof CustomEvent)) return;\n e.stopPropagation();\n\n const newValue = (e.detail as { value: string }).value;\n if (newValue === this.value) {\n return;\n }\n\n this.value = newValue;\n this._handleInteractionInput();\n // Reactive update in updated() will call setFormValue, _syncRadios, _updateValidity\n\n /**\n * Dispatched when the selected radio changes.\n * @event hx-change\n */\n this.dispatchEvent(\n new CustomEvent<{ value: string; checked: boolean }>('hx-change', {\n bubbles: true,\n composed: true,\n detail: { value: this.value, checked: true },\n }),\n );\n };\n\n /**\n * Handles keyboard navigation (arrow keys, Home, End, Space) within the radio group.\n * @internal\n */\n private _handleKeydown = (e: KeyboardEvent): void => {\n const enabledRadios = this._getEnabledRadios();\n if (enabledRadios.length === 0) {\n return;\n }\n\n const isHandledKey = [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n ' ',\n 'Home',\n 'End',\n ].includes(e.key);\n if (!isHandledKey) {\n return;\n }\n\n e.preventDefault();\n\n // Space: select the currently focused radio without moving focus\n if (e.key === ' ') {\n const targetRadio = (e.target as Element)?.closest?.('hx-radio') as HelixRadio | null;\n if (targetRadio && !targetRadio.disabled) {\n targetRadio.dispatchEvent(\n new CustomEvent<{ value: string }>('hx-radio-select', {\n bubbles: true,\n composed: true,\n detail: { value: targetRadio.value },\n }),\n );\n }\n return;\n }\n\n const targetRadio = (e.target as Element)?.closest?.('hx-radio') as HelixRadio | null;\n const currentIndex = targetRadio\n ? enabledRadios.indexOf(targetRadio)\n : enabledRadios.findIndex((radio) => radio.checked);\n\n let nextIndex: number;\n if (e.key === 'Home') {\n nextIndex = 0;\n } else if (e.key === 'End') {\n nextIndex = enabledRadios.length - 1;\n } else if (e.key === 'ArrowDown' || e.key === 'ArrowRight') {\n nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % enabledRadios.length;\n } else {\n nextIndex = currentIndex <= 0 ? enabledRadios.length - 1 : currentIndex - 1;\n }\n\n const nextRadio = enabledRadios[nextIndex];\n if (nextRadio) {\n nextRadio.focus();\n nextRadio.dispatchEvent(\n new CustomEvent<{ value: string }>('hx-radio-select', {\n bubbles: true,\n composed: true,\n detail: { value: nextRadio.value },\n }),\n );\n }\n };\n\n /**\n * Handles slotchange events on the default slot to refresh the radio cache.\n * @internal\n */\n private _handleSlotChange(): void {\n this._cachedRadios = null;\n this._syncRadios();\n }\n\n // ─── Form Integration ───\n\n /**\n * Updates the ElementInternals validity state based on the required constraint and current value.\n * @internal\n */\n override _updateValidity(): void {\n if (this.required && !this.value) {\n this._internals.setValidity(\n { valueMissing: true },\n this.error || 'Please select an option.',\n this._groupEl ?? undefined,\n );\n } else {\n this._internals.setValidity({});\n }\n }\n\n /** @internal */\n protected override _onFormReset(): void {\n this.value = '';\n this._internals.setFormValue(null);\n this._syncRadios();\n this._resetInteractionState();\n }\n\n /** @internal */\n protected override _onFormStateRestore(\n state: File | string | FormData | null,\n _mode: 'restore' | 'autocomplete',\n ): void {\n if (typeof state === 'string') {\n this.value = state;\n }\n }\n\n /** @internal */\n protected override _onFormDisabled(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n // ─── Render ───\n\n override render() {\n const hasError = !!this.error;\n const legendId = `${this._groupId}-legend`;\n\n const fieldsetClasses = {\n fieldset: true,\n 'fieldset--error': hasError,\n 'fieldset--disabled': this.disabled,\n 'fieldset--required': this.required,\n };\n\n // WCAG 1.3.1: _errorId is now on the persistent wrapper div around the error slot,\n // so it remains valid whether error content comes from the slot or the property.\n const hasHelp = !!this.helpText;\n const hasErrorContent = hasError || this._hasErrorSlot;\n const describedByIds = [\n hasErrorContent ? this._errorId : null,\n hasHelp ? this._helpTextId : null,\n ]\n .filter(Boolean)\n .join(' ');\n const describedBy = describedByIds || nothing;\n\n return html`\n <fieldset\n part=\"fieldset\"\n class=${classMap(fieldsetClasses)}\n role=\"radiogroup\"\n aria-labelledby=${this.label ? legendId : nothing}\n aria-describedby=${describedBy}\n aria-required=${this.required ? 'true' : nothing}\n >\n ${this.label\n ? html`\n <legend part=\"legend\" class=\"fieldset__legend\" id=${legendId}>\n ${this.label}\n ${this.required\n ? html`<span class=\"fieldset__required-marker\" aria-hidden=\"true\">*</span>`\n : nothing}\n </legend>\n `\n : nothing}\n\n <div part=\"group\" class=\"fieldset__group\" role=\"none\">\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n\n <!-- WCAG 1.3.1: wrap slot in a persistent container so _errorId stays stable\n regardless of whether error content comes from the slot or the property. -->\n <div id=${this._errorId}>\n <slot name=\"error\" @slotchange=${this._handleErrorSlotChange}>\n ${hasError\n ? html`<div part=\"error\" class=\"fieldset__error\" role=\"alert\">${this.error}</div>`\n : nothing}\n </slot>\n </div>\n\n ${this.helpText && !hasError\n ? html`\n <div part=\"help-text\" class=\"fieldset__help-text\" id=${this._helpTextId}>\n <slot name=\"help-text\">${this.helpText}</slot>\n </div>\n `\n : nothing}\n </fieldset>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-radio-group': HelixRadioGroup;\n }\n}\n\n/** Canonical type alias for the hx-radio-group component. */\nexport type HxRadioGroup = HelixRadioGroup;\n","import { css } from 'lit';\n\nexport const helixRadioStyles = 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 .radio {\n display: inline-flex;\n align-items: center;\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 position: relative;\n font-family: var(--hx-radio-font-family, var(--hx-font-family-sans, sans-serif));\n }\n\n .radio--disabled {\n cursor: not-allowed;\n }\n\n /* ─── Hidden Native Input ─── */\n\n .radio__input {\n position: absolute;\n width: var(--hx-space-px);\n height: var(--hx-space-px);\n padding: 0;\n margin: calc(var(--hx-space-px) * -1);\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n /* ─── Visual Radio Circle ─── */\n\n .radio__control {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--hx-radio-size, var(--hx-size-5, 1.25rem));\n height: var(--hx-radio-size, var(--hx-size-5, 1.25rem));\n border: var(--hx-border-width-medium, 2px) solid\n var(--hx-radio-border-color, var(--hx-color-neutral-300, #cbd5e1));\n border-radius: var(--hx-border-radius-full, 9999px);\n background-color: var(--hx-color-neutral-0, #ffffff);\n transition:\n border-color var(--hx-transition-fast, 150ms ease),\n background-color var(--hx-transition-fast, 150ms ease),\n box-shadow var(--hx-transition-fast, 150ms ease);\n flex-shrink: 0;\n }\n\n /* ─── Inner Dot ─── */\n\n .radio__dot {\n width: calc(var(--hx-radio-size, var(--hx-size-5, 1.25rem)) * 0.4);\n height: calc(var(--hx-radio-size, var(--hx-size-5, 1.25rem)) * 0.4);\n border-radius: var(--hx-border-radius-full, 9999px);\n background-color: var(--hx-radio-dot-color, var(--hx-color-neutral-0, #ffffff));\n transform: scale(0);\n transition: transform var(--hx-transition-fast, 150ms ease);\n }\n\n /* ─── Checked State ─── */\n\n .radio--checked .radio__control {\n border-color: var(--hx-radio-checked-border-color, var(--hx-color-primary-500, #2563eb));\n background-color: var(--hx-radio-checked-bg, var(--hx-color-primary-500, #2563eb));\n }\n\n .radio--checked .radio__dot {\n transform: scale(1);\n }\n\n /* ─── Focus State ─── */\n\n :host(:focus-visible) .radio__control {\n outline: var(--hx-focus-ring-width, 2px) solid\n var(\n --hx-radio-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 /* ─── Hover State ─── */\n\n .radio:not(.radio--disabled):not(.radio--checked):hover .radio__control {\n border-color: var(--hx-color-neutral-400, #94a3b8);\n }\n\n /* ─── Label ─── */\n\n .radio__label {\n font-size: var(--hx-font-size-md, 1rem);\n color: var(--hx-radio-label-color, var(--hx-color-neutral-700, #334155));\n line-height: var(--hx-line-height-normal, 1.5);\n user-select: none;\n -webkit-user-select: none;\n }\n\n /* ─── Reduced Motion ─── */\n\n @media (prefers-reduced-motion: reduce) {\n .radio__control,\n .radio__dot {\n transition: none;\n }\n }\n\n /* ─── High Contrast Mode (forced-colors) ─── */\n\n @media (forced-colors: active) {\n .radio__control {\n forced-color-adjust: none;\n background-color: ButtonFace;\n border: 2px solid ButtonText;\n }\n\n :host(:focus-visible) .radio__control {\n outline: 3px solid Highlight;\n outline-offset: 2px;\n }\n\n .radio--checked .radio__control {\n background-color: Highlight;\n border-color: Highlight;\n }\n\n .radio--checked .radio__dot {\n background-color: HighlightText;\n }\n\n :host([disabled]) {\n opacity: 1;\n }\n\n :host([disabled]) .radio__control {\n border-color: GrayText;\n background-color: ButtonFace;\n }\n\n :host([disabled]) .radio--checked .radio__control {\n background-color: GrayText;\n border-color: GrayText;\n }\n\n :host([disabled]) .radio__label {\n color: GrayText;\n }\n\n .radio__label {\n color: CanvasText;\n }\n }\n`;\n","import { html, type PropertyValues } from 'lit';\nimport '../../utilities/document-token-adoption.js';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { HelixElement, createIdCounter } from '../../base/index.js';\nimport { helixRadioStyles } from './hx-radio.styles.js';\n\nconst _nextRadioId = createIdCounter('hx-radio');\n\n/**\n * An individual radio button, designed to be used inside a `<hx-radio-group>`.\n *\n * @summary Presentational radio button managed by its parent radio group.\n *\n * @tag hx-radio\n *\n * @slot - Custom label content (overrides the label property).\n *\n * @csspart radio - The visual radio circle.\n * @csspart label - The label text.\n *\n * @cssprop [--hx-radio-size=var(--hx-size-5, 1.25rem)] - Radio circle size.\n * @cssprop [--hx-radio-border-color=var(--hx-color-neutral-300, #ced4da)] - Radio border color.\n * @cssprop [--hx-radio-checked-bg=var(--hx-color-primary-500, #2563EB)] - Checked background color.\n * @cssprop [--hx-radio-checked-border-color=var(--hx-color-primary-500, #2563EB)] - Checked border color.\n * @cssprop [--hx-radio-dot-color=var(--hx-color-neutral-0, #ffffff)] - Inner dot color when checked.\n * @cssprop [--hx-radio-focus-ring-color=var(--hx-focus-ring-color, #2563EB)] - Focus ring color.\n * @cssprop [--hx-radio-label-color=var(--hx-color-neutral-700, #343a40)] - Label text color.\n */\n@customElement('hx-radio')\nexport class HelixRadio extends HelixElement {\n static override styles = [helixRadioStyles];\n\n // ─── Properties ───\n\n /**\n * The value this radio represents.\n * @attr value\n */\n @property({ type: String })\n value = '';\n\n /**\n * Visible label text for the radio.\n * @attr label\n */\n @property({ type: String })\n label = '';\n\n /**\n * Whether this radio is disabled.\n * @attr disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Whether this radio is checked. Managed by the parent group.\n * @attr checked\n */\n @property({ type: Boolean, reflect: true })\n checked = false;\n\n // ─── Lifecycle ───\n\n override connectedCallback(): void {\n super.connectedCallback();\n // ARIA role and state are projected to the accessibility tree via\n // ElementInternals rather than imperative setAttribute calls. This keeps\n // the host element's attribute surface clean — consumers cannot accidentally\n // override role/aria-* — and aligns with the standards pattern for\n // custom elements. See https://wicg.github.io/aom/spec/aria-reflection.html.\n this._internals.role = 'radio';\n this._syncAriaState();\n }\n\n override updated(changedProperties: PropertyValues<this>): void {\n super.updated(changedProperties);\n if (\n changedProperties.has('checked') ||\n changedProperties.has('label') ||\n changedProperties.has('disabled')\n ) {\n this._syncAriaState();\n }\n }\n\n /**\n * Mirror reactive ARIA state onto ElementInternals. Setting a value to `null`\n * removes it from the accessibility tree (matching the previous\n * removeAttribute behavior).\n *\n * WCAG 4.1.2: expose the label text as ariaLabel on the host so assistive\n * technology can associate the visible label with the radio role. The label\n * span lives inside Shadow DOM and aria-labelledby cannot cross shadow\n * boundaries, so ariaLabel on the host is the correct pattern here.\n *\n * WCAG 4.1.2: omit ariaDisabled entirely when not disabled. Setting\n * aria-disabled=\"false\" is verbose and unnecessary — omission is preferred.\n *\n * @internal\n */\n private _syncAriaState(): void {\n this._internals.ariaChecked = String(this.checked);\n this._internals.ariaLabel = this.label || null;\n this._internals.ariaDisabled = this.disabled ? 'true' : null;\n }\n\n // ─── Internal IDs ───\n\n /** @internal */\n private _inputId = _nextRadioId();\n\n // ─── Event Handling ───\n\n /** @internal */\n private _handleClick(): void {\n if (this.disabled) {\n return;\n }\n\n /**\n * Internal event dispatched to signal selection to the parent group.\n * Not part of the public API.\n * @internal\n */\n this.dispatchEvent(\n new CustomEvent<{ value: string }>('hx-radio-select', {\n bubbles: true,\n composed: true,\n detail: { value: this.value },\n }),\n );\n }\n\n // ─── Render ───\n\n override render() {\n const classes = {\n radio: true,\n 'radio--checked': this.checked,\n 'radio--disabled': this.disabled,\n };\n\n return html`\n <div class=${classMap(classes)} @click=${this._handleClick}>\n <input\n class=\"radio__input\"\n type=\"radio\"\n id=${this._inputId}\n .checked=${this.checked}\n ?disabled=${this.disabled}\n tabindex=\"-1\"\n aria-hidden=\"true\"\n />\n <span part=\"radio\" class=\"radio__control\" aria-hidden=\"true\">\n <span class=\"radio__dot\"></span>\n </span>\n <span part=\"label\" class=\"radio__label\">\n <slot>${this.label}</slot>\n </span>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-radio': HelixRadio;\n }\n}\n\n/** Canonical type alias for the hx-radio component. */\nexport type HxRadio = HelixRadio;\n"],"names":["helixRadioGroupStyles","css","_nextRadioGroupId","createIdCounter","HelixRadioGroup","FormMixin","HelixElement","newValue","enabledRadios","targetRadio","_b","_a","_d","_c","currentIndex","radio","nextIndex","nextRadio","changedProperties","errorEl","msg","radios","isChecked","originalDisabled","checkedRadio","firstRadio","state","_mode","disabled","hasError","legendId","fieldsetClasses","hasHelp","describedBy","nothing","html","classMap","__decorateClass","property","customElement","helixRadioStyles","_nextRadioId","HelixRadio","classes"],"mappings":"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"}