@helixui/library 3.7.0 → 3.8.0-next.145

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 (394) hide show
  1. package/README.md +41 -0
  2. package/aaa-verdicts.json +2036 -0
  3. package/custom-elements.json +1657 -71
  4. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  5. package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts.map +1 -1
  6. package/dist/components/hx-accordion/index.js +1 -1
  7. package/dist/components/hx-action-bar/hx-action-bar.d.ts +18 -0
  8. package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
  9. package/dist/components/hx-action-bar/hx-action-bar.styles.d.ts.map +1 -1
  10. package/dist/components/hx-action-bar/index.js +1 -1
  11. package/dist/components/hx-alert/hx-alert.d.ts +0 -8
  12. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  13. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  14. package/dist/components/hx-alert/index.js +1 -1
  15. package/dist/components/hx-avatar/hx-avatar.d.ts +4 -1
  16. package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -1
  17. package/dist/components/hx-avatar/hx-avatar.styles.d.ts.map +1 -1
  18. package/dist/components/hx-avatar/index.js +1 -1
  19. package/dist/components/hx-badge/hx-badge.d.ts.map +1 -1
  20. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
  21. package/dist/components/hx-badge/index.js +1 -1
  22. package/dist/components/hx-banner/hx-banner.d.ts +19 -8
  23. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  24. package/dist/components/hx-banner/hx-banner.styles.d.ts.map +1 -1
  25. package/dist/components/hx-banner/index.js +1 -1
  26. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
  27. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
  28. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +18 -0
  29. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
  30. package/dist/components/hx-breadcrumb/index.js +1 -1
  31. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  32. package/dist/components/hx-button/index.js +1 -1
  33. package/dist/components/hx-button-group/hx-button-group.d.ts +47 -0
  34. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  35. package/dist/components/hx-button-group/index.js +1 -1
  36. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
  37. package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -1
  38. package/dist/components/hx-carousel/index.js +1 -1
  39. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  40. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  41. package/dist/components/hx-checkbox/index.js +1 -1
  42. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +36 -0
  43. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  44. package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts.map +1 -1
  45. package/dist/components/hx-checkbox-group/index.js +1 -1
  46. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +26 -9
  47. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
  48. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
  49. package/dist/components/hx-clinical-status/index.js +1 -1
  50. package/dist/components/hx-color-picker/hx-color-picker.d.ts +18 -0
  51. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  52. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  53. package/dist/components/hx-color-picker/index.js +1 -1
  54. package/dist/components/hx-combobox/hx-combobox.d.ts +18 -0
  55. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  56. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
  57. package/dist/components/hx-combobox/index.js +1 -1
  58. package/dist/components/hx-copy-button/hx-copy-button.d.ts +18 -0
  59. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
  60. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
  61. package/dist/components/hx-copy-button/index.js +1 -1
  62. package/dist/components/hx-date-picker/hx-date-picker.d.ts +18 -0
  63. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  64. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  65. package/dist/components/hx-date-picker/index.js +1 -1
  66. package/dist/components/hx-drawer/hx-drawer.d.ts +18 -0
  67. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  68. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  69. package/dist/components/hx-drawer/index.js +1 -1
  70. package/dist/components/hx-dropdown/hx-dropdown.d.ts +18 -0
  71. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  72. package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -1
  73. package/dist/components/hx-dropdown/index.js +1 -1
  74. package/dist/components/hx-field/hx-field.d.ts +17 -0
  75. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  76. package/dist/components/hx-field-label/hx-field-label.d.ts +17 -0
  77. package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
  78. package/dist/components/hx-file-upload/hx-file-upload.d.ts +46 -0
  79. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  80. package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -1
  81. package/dist/components/hx-file-upload/index.js +1 -1
  82. package/dist/components/hx-form/hx-form.d.ts +19 -0
  83. package/dist/components/hx-form/hx-form.d.ts.map +1 -1
  84. package/dist/components/hx-help-text/hx-help-text.d.ts +17 -0
  85. package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
  86. package/dist/components/hx-help-text/hx-help-text.styles.d.ts.map +1 -1
  87. package/dist/components/hx-help-text/index.js +1 -1
  88. package/dist/components/hx-icon/hx-icon.d.ts +108 -12
  89. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
  90. package/dist/components/hx-icon/hx-icon.styles.d.ts.map +1 -1
  91. package/dist/components/hx-icon/index.js +1 -1
  92. package/dist/components/hx-icon-button/hx-icon-button.d.ts +18 -0
  93. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  94. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  95. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
  96. package/dist/components/hx-link/index.js +1 -1
  97. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  98. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  99. package/dist/components/hx-menu/hx-menu.d.ts +18 -0
  100. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  101. package/dist/components/hx-menu/index.js +1 -1
  102. package/dist/components/hx-nav/hx-nav.d.ts +18 -0
  103. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  104. package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
  105. package/dist/components/hx-nav/index.js +1 -1
  106. package/dist/components/hx-number-input/hx-number-input.d.ts +18 -0
  107. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  108. package/dist/components/hx-number-input/hx-number-input.styles.d.ts.map +1 -1
  109. package/dist/components/hx-number-input/index.js +1 -1
  110. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +23 -1
  111. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  112. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  113. package/dist/components/hx-overflow-menu/index.js +1 -1
  114. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
  115. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -1
  116. package/dist/components/hx-phi-field/index.js +1 -1
  117. package/dist/components/hx-popover/hx-popover.d.ts +18 -0
  118. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  119. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
  120. package/dist/components/hx-popover/index.js +1 -1
  121. package/dist/components/hx-popup/hx-popup.d.ts +18 -0
  122. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
  123. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
  124. package/dist/components/hx-popup/index.js +1 -1
  125. package/dist/components/hx-radio-group/hx-radio-group.d.ts +18 -0
  126. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  127. package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts.map +1 -1
  128. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
  129. package/dist/components/hx-radio-group/index.js +1 -1
  130. package/dist/components/hx-rating/hx-rating.d.ts +19 -0
  131. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  132. package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
  133. package/dist/components/hx-rating/index.js +1 -1
  134. package/dist/components/hx-select/hx-select.d.ts +18 -0
  135. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  136. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  137. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  138. package/dist/components/hx-side-nav/hx-side-nav.d.ts +18 -0
  139. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  140. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  141. package/dist/components/hx-side-nav/index.js +1 -1
  142. package/dist/components/hx-slider/hx-slider.d.ts +47 -0
  143. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  144. package/dist/components/hx-slider/index.js +1 -1
  145. package/dist/components/hx-split-button/hx-split-button.d.ts +18 -0
  146. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  147. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  148. package/dist/components/hx-split-button/index.js +1 -1
  149. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  150. package/dist/components/hx-stat/hx-stat.styles.d.ts.map +1 -1
  151. package/dist/components/hx-stat/index.js +1 -1
  152. package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
  153. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  154. package/dist/components/hx-steps/index.js +1 -1
  155. package/dist/components/hx-switch/hx-switch.d.ts +18 -0
  156. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  157. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  158. package/dist/components/hx-switch/index.js +1 -1
  159. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  160. package/dist/components/hx-tabs/hx-tabs.d.ts +18 -0
  161. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  162. package/dist/components/hx-tabs/index.js +1 -1
  163. package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
  164. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  165. package/dist/components/hx-tag/index.js +1 -1
  166. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  167. package/dist/components/hx-text-input/index.js +1 -1
  168. package/dist/components/hx-textarea/hx-textarea.d.ts +18 -0
  169. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  170. package/dist/components/hx-time-picker/hx-time-picker.d.ts +18 -0
  171. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  172. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  173. package/dist/components/hx-time-picker/index.js +1 -1
  174. package/dist/components/hx-toast/hx-toast.d.ts +19 -8
  175. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  176. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  177. package/dist/components/hx-toast/index.js +1 -1
  178. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +18 -0
  179. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  180. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  181. package/dist/components/hx-toggle-button/index.js +1 -1
  182. package/dist/components/hx-tooltip/hx-tooltip.d.ts +18 -0
  183. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  184. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -1
  185. package/dist/components/hx-tooltip/index.js +1 -1
  186. package/dist/components/hx-top-nav/hx-top-nav.d.ts +18 -0
  187. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
  188. package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -1
  189. package/dist/components/hx-top-nav/index.js +1 -1
  190. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  191. package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -1
  192. package/dist/components/hx-tree-view/index.js +1 -1
  193. package/dist/css/helix-all.css +355 -84
  194. package/dist/css/helix-core.css +23 -5
  195. package/dist/css/helix-feedback.css +15 -18
  196. package/dist/css/helix-forms.css +139 -27
  197. package/dist/css/helix-media.css +6 -3
  198. package/dist/css/helix-navigation.css +59 -9
  199. package/dist/css/helix-overlay.css +63 -0
  200. package/dist/css/helix-tokens.css +16 -14
  201. package/dist/css/helix-utility.css +44 -12
  202. package/dist/css/hx-action-bar.css +12 -0
  203. package/dist/css/hx-alert.css +4 -8
  204. package/dist/css/hx-avatar.css +1 -2
  205. package/dist/css/hx-badge.css +5 -0
  206. package/dist/css/hx-banner.css +4 -8
  207. package/dist/css/hx-button.css +4 -1
  208. package/dist/css/hx-carousel.css +6 -3
  209. package/dist/css/hx-checkbox-group.css +11 -0
  210. package/dist/css/hx-checkbox.css +14 -9
  211. package/dist/css/hx-clinical-status.css +4 -7
  212. package/dist/css/hx-color-picker.css +14 -1
  213. package/dist/css/hx-combobox.css +8 -0
  214. package/dist/css/hx-copy-button.css +5 -2
  215. package/dist/css/hx-date-picker.css +11 -1
  216. package/dist/css/hx-drawer.css +5 -0
  217. package/dist/css/hx-dropdown.css +18 -0
  218. package/dist/css/hx-file-upload.css +4 -0
  219. package/dist/css/hx-help-text.css +5 -0
  220. package/dist/css/hx-icon.css +7 -0
  221. package/dist/css/hx-link.css +1 -2
  222. package/dist/css/hx-nav.css +31 -2
  223. package/dist/css/hx-number-input.css +10 -11
  224. package/dist/css/hx-overflow-menu.css +5 -0
  225. package/dist/css/hx-phi-field.css +2 -3
  226. package/dist/css/hx-popover.css +13 -0
  227. package/dist/css/hx-popup.css +14 -0
  228. package/dist/css/hx-radio-group.css +10 -0
  229. package/dist/css/hx-rating.css +6 -0
  230. package/dist/css/hx-side-nav.css +10 -5
  231. package/dist/css/hx-split-button.css +27 -10
  232. package/dist/css/hx-stat.css +1 -2
  233. package/dist/css/hx-switch.css +19 -1
  234. package/dist/css/hx-tag.css +5 -0
  235. package/dist/css/hx-text-input.css +4 -1
  236. package/dist/css/hx-time-picker.css +12 -2
  237. package/dist/css/hx-toast.css +6 -0
  238. package/dist/css/hx-toggle-button.css +11 -1
  239. package/dist/css/hx-tooltip.css +13 -0
  240. package/dist/css/hx-top-nav.css +13 -2
  241. package/dist/css/index.css +1 -1
  242. package/dist/css/manifest.json +43 -12
  243. package/dist/index.js +47 -47
  244. package/dist/shared/{hx-accordion-ZVzgDzTG.js → hx-accordion-DR--Ev4t.js} +48 -54
  245. package/dist/shared/hx-accordion-DR--Ev4t.js.map +1 -0
  246. package/dist/shared/{hx-action-bar-CitgcpGv.js → hx-action-bar-BlEG4aZv.js} +41 -29
  247. package/dist/shared/hx-action-bar-BlEG4aZv.js.map +1 -0
  248. package/dist/shared/{hx-alert-Bto8-TIi.js → hx-alert-C0axS32J.js} +40 -79
  249. package/dist/shared/hx-alert-C0axS32J.js.map +1 -0
  250. package/dist/shared/{hx-avatar-C9hOmlAb.js → hx-avatar-ChAYWnK8.js} +22 -24
  251. package/dist/shared/hx-avatar-ChAYWnK8.js.map +1 -0
  252. package/dist/shared/{hx-badge-DFL35nzi.js → hx-badge-vX-1cuLA.js} +16 -11
  253. package/dist/shared/hx-badge-vX-1cuLA.js.map +1 -0
  254. package/dist/shared/{hx-banner-fpRnciIO.js → hx-banner-PbHwFNSb.js} +51 -90
  255. package/dist/shared/hx-banner-PbHwFNSb.js.map +1 -0
  256. package/dist/shared/{hx-breadcrumb-item-3tKppF9h.js → hx-breadcrumb-item-D8xYqe3s.js} +56 -43
  257. package/dist/shared/hx-breadcrumb-item-D8xYqe3s.js.map +1 -0
  258. package/dist/shared/{hx-button-rRNmD4fd.js → hx-button-DOZTZnz-.js} +18 -15
  259. package/dist/shared/hx-button-DOZTZnz-.js.map +1 -0
  260. package/dist/shared/hx-button-group-D3QUmSzl.js +248 -0
  261. package/dist/shared/hx-button-group-D3QUmSzl.js.map +1 -0
  262. package/dist/shared/{hx-carousel-item-z1Lc24op.js → hx-carousel-item-BVIKgQ4i.js} +72 -102
  263. package/dist/shared/hx-carousel-item-BVIKgQ4i.js.map +1 -0
  264. package/dist/shared/{hx-checkbox-hPlIw6Lb.js → hx-checkbox-DDSXXhps.js} +33 -30
  265. package/dist/shared/hx-checkbox-DDSXXhps.js.map +1 -0
  266. package/dist/shared/{hx-checkbox-group-D5piJLY8.js → hx-checkbox-group-C0q6HDqn.js} +101 -58
  267. package/dist/shared/hx-checkbox-group-C0q6HDqn.js.map +1 -0
  268. package/dist/shared/{hx-clinical-status-D3XQIOqX.js → hx-clinical-status-ZSVEc3Qg.js} +68 -87
  269. package/dist/shared/hx-clinical-status-ZSVEc3Qg.js.map +1 -0
  270. package/dist/shared/{hx-color-picker-DBwJzT5f.js → hx-color-picker-CYjx8i8R.js} +97 -84
  271. package/dist/shared/hx-color-picker-CYjx8i8R.js.map +1 -0
  272. package/dist/shared/{hx-combobox-NgJaLbs2.js → hx-combobox-Be-mqOv4.js} +35 -45
  273. package/dist/shared/hx-combobox-Be-mqOv4.js.map +1 -0
  274. package/dist/shared/{hx-copy-button-sUVuikyH.js → hx-copy-button-DJirFCUL.js} +18 -15
  275. package/dist/shared/hx-copy-button-DJirFCUL.js.map +1 -0
  276. package/dist/shared/{hx-date-picker-DSKDkCy1.js → hx-date-picker-CziP3Hm1.js} +80 -82
  277. package/dist/shared/hx-date-picker-CziP3Hm1.js.map +1 -0
  278. package/dist/shared/{hx-drawer-CM_upadk.js → hx-drawer-BlU2oX8-.js} +32 -36
  279. package/dist/shared/hx-drawer-BlU2oX8-.js.map +1 -0
  280. package/dist/shared/{hx-dropdown-D626S2ZG.js → hx-dropdown-DREqpIpm.js} +51 -33
  281. package/dist/shared/hx-dropdown-DREqpIpm.js.map +1 -0
  282. package/dist/shared/hx-field-label-BVRyyKeh.js.map +1 -1
  283. package/dist/shared/hx-field-zw0U1KVi.js.map +1 -1
  284. package/dist/shared/{hx-file-upload-D3rKROK5.js → hx-file-upload-CU5QGZSP.js} +137 -80
  285. package/dist/shared/hx-file-upload-CU5QGZSP.js.map +1 -0
  286. package/dist/shared/hx-form-CkChEATa.js.map +1 -1
  287. package/dist/shared/hx-help-text-CNaZ82LT.js +137 -0
  288. package/dist/shared/hx-help-text-CNaZ82LT.js.map +1 -0
  289. package/dist/shared/hx-icon-button-B2BdVdyK.js.map +1 -1
  290. package/dist/shared/hx-icon-bxz9eB9a.js +386 -0
  291. package/dist/shared/hx-icon-bxz9eB9a.js.map +1 -0
  292. package/dist/shared/{hx-link-CMnZRUtQ.js → hx-link-BURSdYLp.js} +19 -26
  293. package/dist/shared/hx-link-BURSdYLp.js.map +1 -0
  294. package/dist/shared/{hx-menu-divider-A6Guuzi_.js → hx-menu-divider-g0grbWV9.js} +19 -31
  295. package/dist/shared/hx-menu-divider-g0grbWV9.js.map +1 -0
  296. package/dist/shared/{hx-nav-ldFM3Fle.js → hx-nav-GTsAZGOx.js} +94 -85
  297. package/dist/shared/hx-nav-GTsAZGOx.js.map +1 -0
  298. package/dist/shared/{hx-nav-item-CODtUlew.js → hx-nav-item-CxE7Mp3M.js} +46 -41
  299. package/dist/shared/hx-nav-item-CxE7Mp3M.js.map +1 -0
  300. package/dist/shared/{hx-number-input-yUzFOSC1.js → hx-number-input-Bvyc9kOi.js} +59 -64
  301. package/dist/shared/hx-number-input-Bvyc9kOi.js.map +1 -0
  302. package/dist/shared/{hx-overflow-menu-DFjJAziP.js → hx-overflow-menu-LrTteeR1.js} +32 -39
  303. package/dist/shared/{hx-overflow-menu-DFjJAziP.js.map → hx-overflow-menu-LrTteeR1.js.map} +1 -1
  304. package/dist/shared/{hx-phi-field-C19oxlrr.js → hx-phi-field-sZt_rYIL.js} +46 -66
  305. package/dist/shared/hx-phi-field-sZt_rYIL.js.map +1 -0
  306. package/dist/shared/{hx-popover-BAlAFOH9.js → hx-popover-BjB0nkcq.js} +51 -38
  307. package/dist/shared/hx-popover-BjB0nkcq.js.map +1 -0
  308. package/dist/shared/{hx-popup-COUXXZ9X.js → hx-popup-BiV_2evC.js} +59 -45
  309. package/dist/shared/hx-popup-BiV_2evC.js.map +1 -0
  310. package/dist/shared/{hx-radio-CY4kQfZw.js → hx-radio-BD_c9NJy.js} +83 -70
  311. package/dist/shared/hx-radio-BD_c9NJy.js.map +1 -0
  312. package/dist/shared/{hx-rating-C3QP53k9.js → hx-rating-BGK4AxvI.js} +45 -71
  313. package/dist/shared/hx-rating-BGK4AxvI.js.map +1 -0
  314. package/dist/shared/hx-select-DahFehiZ.js.map +1 -1
  315. package/dist/shared/{hx-slider-Blmv_rwS.js → hx-slider-CkOk5BCY.js} +83 -23
  316. package/dist/shared/hx-slider-CkOk5BCY.js.map +1 -0
  317. package/dist/shared/{hx-split-button-Ddle8iVx.js → hx-split-button-Bg9FHrFK.js} +73 -65
  318. package/dist/shared/hx-split-button-Bg9FHrFK.js.map +1 -0
  319. package/dist/shared/{hx-stat-Gtw_SpK8.js → hx-stat-wKxbyep6.js} +22 -55
  320. package/dist/shared/hx-stat-wKxbyep6.js.map +1 -0
  321. package/dist/shared/{hx-step-CUzliIK_.js → hx-step-CyGQAuiB.js} +5 -25
  322. package/dist/shared/hx-step-CyGQAuiB.js.map +1 -0
  323. package/dist/shared/{hx-switch-TvKGvZJz.js → hx-switch-BCXuNxEH.js} +42 -24
  324. package/dist/shared/hx-switch-BCXuNxEH.js.map +1 -0
  325. package/dist/shared/{hx-tab-panel-DzsX8BHV.js → hx-tab-panel-BfisavKo.js} +47 -32
  326. package/dist/shared/hx-tab-panel-BfisavKo.js.map +1 -0
  327. package/dist/shared/{hx-tag-C5aCUpVi.js → hx-tag-BqO6HY6V.js} +26 -21
  328. package/dist/shared/hx-tag-BqO6HY6V.js.map +1 -0
  329. package/dist/shared/{hx-text-input-D6FlOZM-.js → hx-text-input-V5sQOpDh.js} +5 -2
  330. package/dist/shared/hx-text-input-V5sQOpDh.js.map +1 -0
  331. package/dist/shared/hx-textarea-CNG590KY.js.map +1 -1
  332. package/dist/shared/{hx-time-picker-Bo7FWzmf.js → hx-time-picker-if5Cl0Ei.js} +42 -43
  333. package/dist/shared/hx-time-picker-if5Cl0Ei.js.map +1 -0
  334. package/dist/shared/{hx-toggle-button-DSJeFlb0.js → hx-toggle-button-xNVYeA3X.js} +37 -27
  335. package/dist/shared/hx-toggle-button-xNVYeA3X.js.map +1 -0
  336. package/dist/shared/{hx-tooltip-DVqtKPCD.js → hx-tooltip-CamO-9nd.js} +24 -11
  337. package/dist/shared/hx-tooltip-CamO-9nd.js.map +1 -0
  338. package/dist/shared/{hx-top-nav-DP6OFS8C.js → hx-top-nav-vP6oDWMV.js} +42 -44
  339. package/dist/shared/hx-top-nav-vP6oDWMV.js.map +1 -0
  340. package/dist/shared/{hx-tree-item-CXyspGxI.js → hx-tree-item-D8hwKd5m.js} +54 -57
  341. package/dist/shared/hx-tree-item-D8hwKd5m.js.map +1 -0
  342. package/dist/shared/{toast-factory-Dht3pVsw.js → toast-factory-DgnbFxVs.js} +127 -153
  343. package/dist/shared/toast-factory-DgnbFxVs.js.map +1 -0
  344. package/figma-inventory.json +1166 -411
  345. package/package.json +8 -4
  346. package/dist/shared/hx-accordion-ZVzgDzTG.js.map +0 -1
  347. package/dist/shared/hx-action-bar-CitgcpGv.js.map +0 -1
  348. package/dist/shared/hx-alert-Bto8-TIi.js.map +0 -1
  349. package/dist/shared/hx-avatar-C9hOmlAb.js.map +0 -1
  350. package/dist/shared/hx-badge-DFL35nzi.js.map +0 -1
  351. package/dist/shared/hx-banner-fpRnciIO.js.map +0 -1
  352. package/dist/shared/hx-breadcrumb-item-3tKppF9h.js.map +0 -1
  353. package/dist/shared/hx-button-group-4NUBpkyC.js +0 -181
  354. package/dist/shared/hx-button-group-4NUBpkyC.js.map +0 -1
  355. package/dist/shared/hx-button-rRNmD4fd.js.map +0 -1
  356. package/dist/shared/hx-carousel-item-z1Lc24op.js.map +0 -1
  357. package/dist/shared/hx-checkbox-group-D5piJLY8.js.map +0 -1
  358. package/dist/shared/hx-checkbox-hPlIw6Lb.js.map +0 -1
  359. package/dist/shared/hx-clinical-status-D3XQIOqX.js.map +0 -1
  360. package/dist/shared/hx-color-picker-DBwJzT5f.js.map +0 -1
  361. package/dist/shared/hx-combobox-NgJaLbs2.js.map +0 -1
  362. package/dist/shared/hx-copy-button-sUVuikyH.js.map +0 -1
  363. package/dist/shared/hx-date-picker-DSKDkCy1.js.map +0 -1
  364. package/dist/shared/hx-drawer-CM_upadk.js.map +0 -1
  365. package/dist/shared/hx-dropdown-D626S2ZG.js.map +0 -1
  366. package/dist/shared/hx-file-upload-D3rKROK5.js.map +0 -1
  367. package/dist/shared/hx-help-text-Xb2Yr8x2.js +0 -156
  368. package/dist/shared/hx-help-text-Xb2Yr8x2.js.map +0 -1
  369. package/dist/shared/hx-icon-fuVm4-bk.js +0 -283
  370. package/dist/shared/hx-icon-fuVm4-bk.js.map +0 -1
  371. package/dist/shared/hx-link-CMnZRUtQ.js.map +0 -1
  372. package/dist/shared/hx-menu-divider-A6Guuzi_.js.map +0 -1
  373. package/dist/shared/hx-nav-item-CODtUlew.js.map +0 -1
  374. package/dist/shared/hx-nav-ldFM3Fle.js.map +0 -1
  375. package/dist/shared/hx-number-input-yUzFOSC1.js.map +0 -1
  376. package/dist/shared/hx-phi-field-C19oxlrr.js.map +0 -1
  377. package/dist/shared/hx-popover-BAlAFOH9.js.map +0 -1
  378. package/dist/shared/hx-popup-COUXXZ9X.js.map +0 -1
  379. package/dist/shared/hx-radio-CY4kQfZw.js.map +0 -1
  380. package/dist/shared/hx-rating-C3QP53k9.js.map +0 -1
  381. package/dist/shared/hx-slider-Blmv_rwS.js.map +0 -1
  382. package/dist/shared/hx-split-button-Ddle8iVx.js.map +0 -1
  383. package/dist/shared/hx-stat-Gtw_SpK8.js.map +0 -1
  384. package/dist/shared/hx-step-CUzliIK_.js.map +0 -1
  385. package/dist/shared/hx-switch-TvKGvZJz.js.map +0 -1
  386. package/dist/shared/hx-tab-panel-DzsX8BHV.js.map +0 -1
  387. package/dist/shared/hx-tag-C5aCUpVi.js.map +0 -1
  388. package/dist/shared/hx-text-input-D6FlOZM-.js.map +0 -1
  389. package/dist/shared/hx-time-picker-Bo7FWzmf.js.map +0 -1
  390. package/dist/shared/hx-toggle-button-DSJeFlb0.js.map +0 -1
  391. package/dist/shared/hx-tooltip-DVqtKPCD.js.map +0 -1
  392. package/dist/shared/hx-top-nav-DP6OFS8C.js.map +0 -1
  393. package/dist/shared/hx-tree-item-CXyspGxI.js.map +0 -1
  394. package/dist/shared/toast-factory-Dht3pVsw.js.map +0 -1
@@ -552,8 +552,51 @@
552
552
  "tagName": "hx-action-bar",
553
553
  "customElement": true,
554
554
  "summary": "Horizontal action bar for grouping related controls.",
555
+ "aaaCertified": true,
556
+ "aaaCertifiedDate": "2026-05-08",
555
557
  "helixMeta": {
556
- "priorityTier": "P0"
558
+ "keyboardContract": {
559
+ "navigate": [
560
+ "Arrow"
561
+ ],
562
+ "activate": [
563
+ "Enter",
564
+ "Space"
565
+ ],
566
+ "disabledSuppresses": true
567
+ },
568
+ "ariaPattern": "toolbar",
569
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/",
570
+ "forcedColorsSupported": true,
571
+ "stability": "stable",
572
+ "since": "3.7.0",
573
+ "formAssociated": false,
574
+ "themeAware": true,
575
+ "brandAware": true,
576
+ "drupalSdcEligible": true,
577
+ "reactWrapperStatus": "complete",
578
+ "priorityTier": "P0",
579
+ "phiHandles": false,
580
+ "clinicalContext": "none",
581
+ "aaa": {
582
+ "certified": true,
583
+ "certifiedDate": "2026-05-08",
584
+ "criteria": [
585
+ "1.4.9",
586
+ "2.1.3",
587
+ "3.2.5",
588
+ "forced-colors",
589
+ "apg-keyboard",
590
+ "1.4.6",
591
+ "2.4.12",
592
+ "2.4.13",
593
+ "2.5.5"
594
+ ],
595
+ "auditUrl": "src/components/hx-action-bar/AAA-AUDIT.md"
596
+ },
597
+ "figma": {
598
+ "componentName": "hx-action-bar"
599
+ }
557
600
  }
558
601
  }
559
602
  ],
@@ -1079,17 +1122,13 @@
1079
1122
  "certified": true,
1080
1123
  "certifiedDate": "2026-05-08",
1081
1124
  "criteria": [
1082
- "1.4.6",
1083
1125
  "1.4.9",
1084
1126
  "2.1.3",
1085
1127
  "2.3.3",
1086
- "2.4.12",
1087
- "2.4.13",
1088
- "2.5.5",
1089
1128
  "3.2.5",
1090
- "3.3.6",
1091
1129
  "forced-colors",
1092
- "apg-keyboard"
1130
+ "apg-keyboard",
1131
+ "2.4.12"
1093
1132
  ],
1094
1133
  "auditUrl": "src/components/hx-alert/AAA-AUDIT.md"
1095
1134
  },
@@ -2424,8 +2463,44 @@
2424
2463
  "tagName": "hx-banner",
2425
2464
  "customElement": true,
2426
2465
  "summary": "Full-width page-level banner for persistent notifications with variant-based styling and ARIA live regions.",
2466
+ "aaaCertified": true,
2467
+ "aaaCertifiedDate": "2026-05-09",
2427
2468
  "helixMeta": {
2428
- "priorityTier": "P0"
2469
+ "keyboardContract": {
2470
+ "dismiss": [
2471
+ "Escape"
2472
+ ]
2473
+ },
2474
+ "ariaPattern": "alert",
2475
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/alert/",
2476
+ "forcedColorsSupported": true,
2477
+ "stability": "stable",
2478
+ "since": "3.7.0",
2479
+ "formAssociated": false,
2480
+ "themeAware": true,
2481
+ "brandAware": true,
2482
+ "drupalSdcEligible": true,
2483
+ "reactWrapperStatus": "complete",
2484
+ "priorityTier": "P0",
2485
+ "phiHandles": false,
2486
+ "clinicalContext": "none",
2487
+ "aaa": {
2488
+ "certified": true,
2489
+ "certifiedDate": "2026-05-09",
2490
+ "criteria": [
2491
+ "1.4.9",
2492
+ "2.1.3",
2493
+ "2.3.3",
2494
+ "3.2.5",
2495
+ "forced-colors",
2496
+ "apg-keyboard",
2497
+ "2.4.12"
2498
+ ],
2499
+ "auditUrl": "src/components/hx-banner/AAA-AUDIT.md"
2500
+ },
2501
+ "figma": {
2502
+ "componentName": "hx-banner"
2503
+ }
2429
2504
  }
2430
2505
  }
2431
2506
  ],
@@ -2826,8 +2901,44 @@
2826
2901
  "tagName": "hx-breadcrumb",
2827
2902
  "customElement": true,
2828
2903
  "summary": "Navigation breadcrumb showing the page hierarchy. Works with Drupal's breadcrumb system.",
2904
+ "aaaCertified": true,
2905
+ "aaaCertifiedDate": "2026-05-08",
2829
2906
  "helixMeta": {
2830
- "priorityTier": "P0"
2907
+ "keyboardContract": {
2908
+ "navigate": [
2909
+ "Arrow"
2910
+ ]
2911
+ },
2912
+ "ariaPattern": "breadcrumb",
2913
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/",
2914
+ "forcedColorsSupported": true,
2915
+ "stability": "stable",
2916
+ "since": "3.7.0",
2917
+ "formAssociated": false,
2918
+ "themeAware": true,
2919
+ "brandAware": true,
2920
+ "drupalSdcEligible": true,
2921
+ "reactWrapperStatus": "complete",
2922
+ "priorityTier": "P0",
2923
+ "phiHandles": false,
2924
+ "clinicalContext": "none",
2925
+ "aaa": {
2926
+ "certified": true,
2927
+ "certifiedDate": "2026-05-08",
2928
+ "criteria": [
2929
+ "1.4.9",
2930
+ "2.1.3",
2931
+ "3.2.5",
2932
+ "apg-keyboard",
2933
+ "2.4.12",
2934
+ "2.4.13",
2935
+ "2.5.5"
2936
+ ],
2937
+ "auditUrl": "src/components/hx-breadcrumb/AAA-AUDIT.md"
2938
+ },
2939
+ "figma": {
2940
+ "componentName": "hx-breadcrumb"
2941
+ }
2831
2942
  }
2832
2943
  },
2833
2944
  {
@@ -3417,17 +3528,16 @@
3417
3528
  "certified": true,
3418
3529
  "certifiedDate": "2026-05-08",
3419
3530
  "criteria": [
3420
- "1.4.6",
3421
3531
  "1.4.9",
3422
3532
  "2.1.3",
3423
3533
  "2.3.3",
3424
- "2.4.12",
3425
- "2.4.13",
3426
- "2.5.5",
3427
3534
  "3.2.5",
3428
- "3.3.6",
3429
3535
  "forced-colors",
3430
- "apg-keyboard"
3536
+ "apg-keyboard",
3537
+ "1.4.6",
3538
+ "2.4.12",
3539
+ "2.4.13",
3540
+ "2.5.5"
3431
3541
  ],
3432
3542
  "auditUrl": "src/components/hx-button/AAA-AUDIT.md"
3433
3543
  },
@@ -3585,8 +3695,49 @@
3585
3695
  "tagName": "hx-button-group",
3586
3696
  "customElement": true,
3587
3697
  "summary": "Groups hx-button elements into a horizontal or vertical action set with shared borders.",
3698
+ "aaaCertified": true,
3699
+ "aaaCertifiedDate": "2026-05-08",
3588
3700
  "helixMeta": {
3589
- "priorityTier": "P0"
3701
+ "keyboardContract": {
3702
+ "navigate": [
3703
+ "Arrow"
3704
+ ],
3705
+ "activate": [
3706
+ "Enter",
3707
+ "Space"
3708
+ ],
3709
+ "disabledSuppresses": true
3710
+ },
3711
+ "ariaPattern": "toolbar",
3712
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/",
3713
+ "forcedColorsSupported": true,
3714
+ "stability": "stable",
3715
+ "since": "3.7.0",
3716
+ "formAssociated": false,
3717
+ "themeAware": true,
3718
+ "brandAware": true,
3719
+ "drupalSdcEligible": true,
3720
+ "reactWrapperStatus": "complete",
3721
+ "priorityTier": "P0",
3722
+ "phiHandles": false,
3723
+ "clinicalContext": "none",
3724
+ "aaa": {
3725
+ "certified": true,
3726
+ "certifiedDate": "2026-05-08",
3727
+ "criteria": [
3728
+ "1.4.9",
3729
+ "2.1.3",
3730
+ "3.2.5",
3731
+ "apg-keyboard",
3732
+ "2.4.12",
3733
+ "2.4.13",
3734
+ "2.5.5"
3735
+ ],
3736
+ "auditUrl": "src/components/hx-button-group/AAA-AUDIT.md"
3737
+ },
3738
+ "figma": {
3739
+ "componentName": "hx-button-group"
3740
+ }
3590
3741
  }
3591
3742
  }
3592
3743
  ],
@@ -5251,17 +5402,16 @@
5251
5402
  "certified": true,
5252
5403
  "certifiedDate": "2026-05-08",
5253
5404
  "criteria": [
5254
- "1.4.6",
5255
5405
  "1.4.9",
5256
5406
  "2.1.3",
5257
5407
  "2.3.3",
5258
- "2.4.12",
5259
- "2.4.13",
5260
- "2.5.5",
5261
5408
  "3.2.5",
5262
5409
  "3.3.6",
5263
5410
  "forced-colors",
5264
- "apg-keyboard"
5411
+ "apg-keyboard",
5412
+ "2.4.12",
5413
+ "2.4.13",
5414
+ "2.5.5"
5265
5415
  ],
5266
5416
  "auditUrl": "src/components/hx-checkbox/AAA-AUDIT.md"
5267
5417
  },
@@ -5604,8 +5754,44 @@
5604
5754
  "tagName": "hx-checkbox-group",
5605
5755
  "customElement": true,
5606
5756
  "summary": "Form-associated checkbox group with label, validation, help text, and multi-value form submission.",
5757
+ "aaaCertified": true,
5758
+ "aaaCertifiedDate": "2026-05-08",
5607
5759
  "helixMeta": {
5608
- "priorityTier": "P0"
5760
+ "keyboardContract": {
5761
+ "navigate": [
5762
+ "Tab"
5763
+ ],
5764
+ "disabledSuppresses": true
5765
+ },
5766
+ "ariaPattern": "group",
5767
+ "ariaPatternSource": "https://www.w3.org/TR/wai-aria-1.2/#group",
5768
+ "forcedColorsSupported": true,
5769
+ "stability": "stable",
5770
+ "since": "3.7.0",
5771
+ "formAssociated": true,
5772
+ "themeAware": true,
5773
+ "brandAware": true,
5774
+ "drupalSdcEligible": true,
5775
+ "reactWrapperStatus": "complete",
5776
+ "priorityTier": "P0",
5777
+ "phiHandles": false,
5778
+ "clinicalContext": "none",
5779
+ "aaa": {
5780
+ "certified": true,
5781
+ "certifiedDate": "2026-05-08",
5782
+ "criteria": [
5783
+ "1.4.9",
5784
+ "3.2.5",
5785
+ "3.3.6",
5786
+ "forced-colors",
5787
+ "apg-keyboard",
5788
+ "2.4.12"
5789
+ ],
5790
+ "auditUrl": "src/components/hx-checkbox-group/AAA-AUDIT.md"
5791
+ },
5792
+ "figma": {
5793
+ "componentName": "hx-checkbox-group"
5794
+ }
5609
5795
  }
5610
5796
  }
5611
5797
  ],
@@ -6107,8 +6293,43 @@
6107
6293
  "tagName": "hx-clinical-status",
6108
6294
  "customElement": true,
6109
6295
  "summary": "Clinical status indicator for standardized healthcare alert fatigue prevention.",
6296
+ "aaaCertified": true,
6297
+ "aaaCertifiedDate": "2026-05-09",
6110
6298
  "helixMeta": {
6111
- "priorityTier": "P0"
6299
+ "keyboardContract": {
6300
+ "dismiss": [
6301
+ "Escape"
6302
+ ]
6303
+ },
6304
+ "ariaPattern": "alert",
6305
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/alert/",
6306
+ "forcedColorsSupported": true,
6307
+ "stability": "stable",
6308
+ "since": "3.7.0",
6309
+ "formAssociated": false,
6310
+ "themeAware": true,
6311
+ "brandAware": true,
6312
+ "drupalSdcEligible": true,
6313
+ "reactWrapperStatus": "complete",
6314
+ "priorityTier": "P0",
6315
+ "phiHandles": true,
6316
+ "aaa": {
6317
+ "certified": true,
6318
+ "certifiedDate": "2026-05-09",
6319
+ "criteria": [
6320
+ "1.4.9",
6321
+ "2.1.3",
6322
+ "2.3.3",
6323
+ "3.2.5",
6324
+ "forced-colors",
6325
+ "apg-keyboard",
6326
+ "2.4.12"
6327
+ ],
6328
+ "auditUrl": "src/components/hx-clinical-status/AAA-AUDIT.md"
6329
+ },
6330
+ "figma": {
6331
+ "componentName": "hx-clinical-status"
6332
+ }
6112
6333
  }
6113
6334
  }
6114
6335
  ],
@@ -7544,8 +7765,59 @@
7544
7765
  "tagName": "hx-color-picker",
7545
7766
  "customElement": true,
7546
7767
  "summary": "Color selection control with swatches, gradient picker, and formatted input.",
7768
+ "aaaCertified": true,
7769
+ "aaaCertifiedDate": "2026-05-08",
7547
7770
  "helixMeta": {
7548
- "priorityTier": "P0"
7771
+ "keyboardContract": {
7772
+ "navigate": [
7773
+ "ArrowLeft",
7774
+ "ArrowRight",
7775
+ "ArrowUp",
7776
+ "ArrowDown",
7777
+ "Home",
7778
+ "End",
7779
+ "PageUp",
7780
+ "PageDown"
7781
+ ],
7782
+ "dismiss": [
7783
+ "Escape"
7784
+ ],
7785
+ "disabledSuppresses": true
7786
+ },
7787
+ "ariaPattern": "slider",
7788
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/slider/",
7789
+ "forcedColorsSupported": true,
7790
+ "stability": "stable",
7791
+ "since": "3.7.0",
7792
+ "formAssociated": true,
7793
+ "themeAware": true,
7794
+ "brandAware": true,
7795
+ "drupalSdcEligible": true,
7796
+ "reactWrapperStatus": "complete",
7797
+ "priorityTier": "P0",
7798
+ "phiHandles": false,
7799
+ "clinicalContext": "none",
7800
+ "aaa": {
7801
+ "certified": true,
7802
+ "certifiedDate": "2026-05-08",
7803
+ "criteria": [
7804
+ "1.4.9",
7805
+ "2.1.3",
7806
+ "2.3.3",
7807
+ "3.2.5",
7808
+ "3.3.6",
7809
+ "forced-colors",
7810
+ "apg-keyboard",
7811
+ "1.4.6",
7812
+ "2.4.12",
7813
+ "2.4.13",
7814
+ "2.5.5"
7815
+ ],
7816
+ "auditUrl": "src/components/hx-color-picker/AAA-AUDIT.md"
7817
+ },
7818
+ "figma": {
7819
+ "componentName": "hx-color-picker"
7820
+ }
7549
7821
  }
7550
7822
  },
7551
7823
  {
@@ -8370,8 +8642,56 @@
8370
8642
  "tagName": "hx-combobox",
8371
8643
  "customElement": true,
8372
8644
  "summary": "Form-associated combobox with autocomplete, filtering, and keyboard navigation.",
8645
+ "aaaCertified": true,
8646
+ "aaaCertifiedDate": "2026-05-08",
8373
8647
  "helixMeta": {
8374
- "priorityTier": "P0"
8648
+ "keyboardContract": {
8649
+ "navigate": [
8650
+ "Arrow",
8651
+ "Home",
8652
+ "End"
8653
+ ],
8654
+ "activate": [
8655
+ "Enter"
8656
+ ],
8657
+ "dismiss": [
8658
+ "Escape"
8659
+ ],
8660
+ "disabledSuppresses": true
8661
+ },
8662
+ "ariaPattern": "combobox",
8663
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/combobox/",
8664
+ "forcedColorsSupported": true,
8665
+ "stability": "stable",
8666
+ "since": "3.7.0",
8667
+ "formAssociated": true,
8668
+ "themeAware": true,
8669
+ "brandAware": true,
8670
+ "drupalSdcEligible": true,
8671
+ "reactWrapperStatus": "complete",
8672
+ "priorityTier": "P0",
8673
+ "phiHandles": false,
8674
+ "clinicalContext": "none",
8675
+ "aaa": {
8676
+ "certified": true,
8677
+ "certifiedDate": "2026-05-08",
8678
+ "criteria": [
8679
+ "1.4.9",
8680
+ "2.1.3",
8681
+ "2.3.3",
8682
+ "3.2.5",
8683
+ "3.3.6",
8684
+ "forced-colors",
8685
+ "apg-keyboard",
8686
+ "2.4.12",
8687
+ "2.4.13",
8688
+ "2.5.5"
8689
+ ],
8690
+ "auditUrl": "src/components/hx-combobox/AAA-AUDIT.md"
8691
+ },
8692
+ "figma": {
8693
+ "componentName": "hx-combobox"
8694
+ }
8375
8695
  }
8376
8696
  }
8377
8697
  ],
@@ -8944,8 +9264,48 @@
8944
9264
  "tagName": "hx-copy-button",
8945
9265
  "customElement": true,
8946
9266
  "summary": "One-click clipboard copy with accessible success feedback.",
9267
+ "aaaCertified": true,
9268
+ "aaaCertifiedDate": "2026-05-08",
8947
9269
  "helixMeta": {
8948
- "priorityTier": "P0"
9270
+ "keyboardContract": {
9271
+ "activate": [
9272
+ "Enter",
9273
+ "Space"
9274
+ ],
9275
+ "disabledSuppresses": true
9276
+ },
9277
+ "ariaPattern": "button",
9278
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/button/",
9279
+ "forcedColorsSupported": true,
9280
+ "stability": "stable",
9281
+ "since": "3.7.0",
9282
+ "formAssociated": false,
9283
+ "themeAware": true,
9284
+ "brandAware": true,
9285
+ "drupalSdcEligible": true,
9286
+ "reactWrapperStatus": "complete",
9287
+ "priorityTier": "P0",
9288
+ "phiHandles": false,
9289
+ "clinicalContext": "none",
9290
+ "aaa": {
9291
+ "certified": true,
9292
+ "certifiedDate": "2026-05-08",
9293
+ "criteria": [
9294
+ "1.4.9",
9295
+ "2.1.3",
9296
+ "2.3.3",
9297
+ "3.2.5",
9298
+ "forced-colors",
9299
+ "apg-keyboard",
9300
+ "2.4.12",
9301
+ "2.4.13",
9302
+ "2.5.5"
9303
+ ],
9304
+ "auditUrl": "src/components/hx-copy-button/AAA-AUDIT.md"
9305
+ },
9306
+ "figma": {
9307
+ "componentName": "hx-copy-button"
9308
+ }
8949
9309
  }
8950
9310
  }
8951
9311
  ],
@@ -10594,8 +10954,48 @@
10594
10954
  "tagName": "hx-date-picker",
10595
10955
  "customElement": true,
10596
10956
  "summary": "Form-associated date picker with calendar popup and WCAG 2.1 AA accessibility.",
10957
+ "aaaCertified": true,
10958
+ "aaaCertifiedDate": "2026-05-08",
10597
10959
  "helixMeta": {
10598
- "priorityTier": "P0"
10960
+ "keyboardContract": {
10961
+ "dismiss": [
10962
+ "Escape"
10963
+ ],
10964
+ "trapFocus": "true"
10965
+ },
10966
+ "ariaPattern": "dialog",
10967
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/",
10968
+ "forcedColorsSupported": true,
10969
+ "stability": "stable",
10970
+ "since": "3.7.0",
10971
+ "formAssociated": true,
10972
+ "themeAware": true,
10973
+ "brandAware": true,
10974
+ "drupalSdcEligible": true,
10975
+ "reactWrapperStatus": "complete",
10976
+ "priorityTier": "P0",
10977
+ "phiHandles": false,
10978
+ "clinicalContext": "none",
10979
+ "aaa": {
10980
+ "certified": true,
10981
+ "certifiedDate": "2026-05-08",
10982
+ "criteria": [
10983
+ "1.4.9",
10984
+ "2.1.3",
10985
+ "2.3.3",
10986
+ "3.2.5",
10987
+ "3.3.6",
10988
+ "forced-colors",
10989
+ "apg-keyboard",
10990
+ "2.4.12",
10991
+ "2.4.13",
10992
+ "2.5.5"
10993
+ ],
10994
+ "auditUrl": "src/components/hx-date-picker/AAA-AUDIT.md"
10995
+ },
10996
+ "figma": {
10997
+ "componentName": "hx-date-picker"
10998
+ }
10599
10999
  }
10600
11000
  }
10601
11001
  ],
@@ -11134,17 +11534,15 @@
11134
11534
  "certified": true,
11135
11535
  "certifiedDate": "2026-05-08",
11136
11536
  "criteria": [
11137
- "1.4.6",
11138
11537
  "1.4.9",
11139
11538
  "2.1.3",
11140
11539
  "2.3.3",
11141
- "2.4.12",
11142
- "2.4.13",
11143
- "2.5.5",
11144
11540
  "3.2.5",
11145
- "3.3.6",
11146
11541
  "forced-colors",
11147
- "apg-keyboard"
11542
+ "apg-keyboard",
11543
+ "1.4.6",
11544
+ "2.4.12",
11545
+ "2.4.13"
11148
11546
  ],
11149
11547
  "auditUrl": "src/components/hx-dialog/AAA-AUDIT.md"
11150
11548
  },
@@ -11876,8 +12274,46 @@
11876
12274
  "tagName": "hx-drawer",
11877
12275
  "customElement": true,
11878
12276
  "summary": "Slide-in panel overlay from any viewport edge.",
12277
+ "aaaCertified": true,
12278
+ "aaaCertifiedDate": "2026-05-08",
11879
12279
  "helixMeta": {
11880
- "priorityTier": "P0"
12280
+ "keyboardContract": {
12281
+ "dismiss": [
12282
+ "Escape"
12283
+ ],
12284
+ "trapFocus": "true"
12285
+ },
12286
+ "ariaPattern": "dialog",
12287
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/",
12288
+ "forcedColorsSupported": true,
12289
+ "stability": "stable",
12290
+ "since": "3.7.0",
12291
+ "formAssociated": false,
12292
+ "themeAware": true,
12293
+ "brandAware": true,
12294
+ "drupalSdcEligible": true,
12295
+ "reactWrapperStatus": "complete",
12296
+ "priorityTier": "P0",
12297
+ "phiHandles": false,
12298
+ "clinicalContext": "none",
12299
+ "aaa": {
12300
+ "certified": true,
12301
+ "certifiedDate": "2026-05-08",
12302
+ "criteria": [
12303
+ "1.4.9",
12304
+ "2.1.3",
12305
+ "2.3.3",
12306
+ "3.2.5",
12307
+ "forced-colors",
12308
+ "apg-keyboard",
12309
+ "2.4.12",
12310
+ "2.4.13"
12311
+ ],
12312
+ "auditUrl": "src/components/hx-drawer/AAA-AUDIT.md"
12313
+ },
12314
+ "figma": {
12315
+ "componentName": "hx-drawer"
12316
+ }
11881
12317
  }
11882
12318
  }
11883
12319
  ],
@@ -12136,8 +12572,55 @@
12136
12572
  "tagName": "hx-dropdown",
12137
12573
  "customElement": true,
12138
12574
  "summary": "Button that opens a floating menu panel on click.",
12575
+ "aaaCertified": true,
12576
+ "aaaCertifiedDate": "2026-05-08",
12139
12577
  "helixMeta": {
12140
- "priorityTier": "P0"
12578
+ "keyboardContract": {
12579
+ "navigate": [
12580
+ "Arrow",
12581
+ "Home",
12582
+ "End"
12583
+ ],
12584
+ "activate": [
12585
+ "Enter",
12586
+ "Space"
12587
+ ],
12588
+ "dismiss": [
12589
+ "Escape"
12590
+ ],
12591
+ "disabledSuppresses": true
12592
+ },
12593
+ "ariaPattern": "menu",
12594
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/menubar/",
12595
+ "forcedColorsSupported": true,
12596
+ "stability": "stable",
12597
+ "since": "3.7.0",
12598
+ "formAssociated": false,
12599
+ "themeAware": true,
12600
+ "brandAware": true,
12601
+ "drupalSdcEligible": true,
12602
+ "reactWrapperStatus": "complete",
12603
+ "priorityTier": "P0",
12604
+ "phiHandles": false,
12605
+ "clinicalContext": "none",
12606
+ "aaa": {
12607
+ "certified": true,
12608
+ "certifiedDate": "2026-05-08",
12609
+ "criteria": [
12610
+ "1.4.9",
12611
+ "2.1.3",
12612
+ "2.3.3",
12613
+ "3.2.5",
12614
+ "forced-colors",
12615
+ "apg-keyboard",
12616
+ "2.4.12",
12617
+ "2.4.13"
12618
+ ],
12619
+ "auditUrl": "src/components/hx-dropdown/AAA-AUDIT.md"
12620
+ },
12621
+ "figma": {
12622
+ "componentName": "hx-dropdown"
12623
+ }
12141
12624
  }
12142
12625
  }
12143
12626
  ],
@@ -12481,8 +12964,36 @@
12481
12964
  "tagName": "hx-field",
12482
12965
  "customElement": true,
12483
12966
  "summary": "Layout wrapper for label, control, help text, and error message.",
12967
+ "aaaCertified": true,
12968
+ "aaaCertifiedDate": "2026-05-09",
12484
12969
  "helixMeta": {
12485
- "priorityTier": "P0"
12970
+ "ariaPattern": "label",
12971
+ "forcedColorsSupported": true,
12972
+ "stability": "stable",
12973
+ "since": "3.7.0",
12974
+ "formAssociated": false,
12975
+ "themeAware": true,
12976
+ "brandAware": true,
12977
+ "drupalSdcEligible": true,
12978
+ "reactWrapperStatus": "complete",
12979
+ "priorityTier": "P0",
12980
+ "phiHandles": false,
12981
+ "clinicalContext": "none",
12982
+ "aaa": {
12983
+ "certified": true,
12984
+ "certifiedDate": "2026-05-09",
12985
+ "criteria": [
12986
+ "1.4.9",
12987
+ "3.2.5",
12988
+ "forced-colors",
12989
+ "apg-keyboard",
12990
+ "2.4.12"
12991
+ ],
12992
+ "auditUrl": "src/components/hx-field/AAA-AUDIT.md"
12993
+ },
12994
+ "figma": {
12995
+ "componentName": "hx-field"
12996
+ }
12486
12997
  }
12487
12998
  }
12488
12999
  ],
@@ -12701,8 +13212,36 @@
12701
13212
  "tagName": "hx-field-label",
12702
13213
  "customElement": true,
12703
13214
  "summary": "Standardized label for form fields.",
13215
+ "aaaCertified": true,
13216
+ "aaaCertifiedDate": "2026-05-09",
12704
13217
  "helixMeta": {
12705
- "priorityTier": "P0"
13218
+ "ariaPattern": "label",
13219
+ "forcedColorsSupported": true,
13220
+ "stability": "stable",
13221
+ "since": "3.7.0",
13222
+ "formAssociated": false,
13223
+ "themeAware": true,
13224
+ "brandAware": true,
13225
+ "drupalSdcEligible": true,
13226
+ "reactWrapperStatus": "complete",
13227
+ "priorityTier": "P0",
13228
+ "phiHandles": false,
13229
+ "clinicalContext": "none",
13230
+ "aaa": {
13231
+ "certified": true,
13232
+ "certifiedDate": "2026-05-09",
13233
+ "criteria": [
13234
+ "1.4.9",
13235
+ "3.2.5",
13236
+ "forced-colors",
13237
+ "apg-keyboard",
13238
+ "2.4.12"
13239
+ ],
13240
+ "auditUrl": "src/components/hx-field-label/AAA-AUDIT.md"
13241
+ },
13242
+ "figma": {
13243
+ "componentName": "hx-field-label"
13244
+ }
12706
13245
  }
12707
13246
  }
12708
13247
  ],
@@ -13030,6 +13569,17 @@
13030
13569
  "attribute": "disabled",
13031
13570
  "reflects": true
13032
13571
  },
13572
+ {
13573
+ "kind": "field",
13574
+ "name": "required",
13575
+ "type": {
13576
+ "text": "boolean"
13577
+ },
13578
+ "default": "false",
13579
+ "description": "Whether the field must have at least one file selected for form submission.\nDrives `validity.valueMissing` when the file list is empty.",
13580
+ "attribute": "required",
13581
+ "reflects": true
13582
+ },
13033
13583
  {
13034
13584
  "kind": "field",
13035
13585
  "name": "error",
@@ -13228,6 +13778,16 @@
13228
13778
  "fieldName": "disabled",
13229
13779
  "attribute": "disabled"
13230
13780
  },
13781
+ {
13782
+ "name": "required",
13783
+ "type": {
13784
+ "text": "boolean"
13785
+ },
13786
+ "default": "false",
13787
+ "description": "Whether the field must have at least one file selected for form submission.\nDrives `validity.valueMissing` when the file list is empty.",
13788
+ "fieldName": "required",
13789
+ "attribute": "required"
13790
+ },
13231
13791
  {
13232
13792
  "name": "error",
13233
13793
  "type": {
@@ -13295,8 +13855,50 @@
13295
13855
  "tagName": "hx-file-upload",
13296
13856
  "customElement": true,
13297
13857
  "summary": "Form-associated file upload dropzone with drag-and-drop, validation, and progress tracking.",
13858
+ "aaaCertified": true,
13859
+ "aaaCertifiedDate": "2026-05-08",
13298
13860
  "helixMeta": {
13299
- "priorityTier": "P0"
13861
+ "keyboardContract": {
13862
+ "activate": [
13863
+ "Enter",
13864
+ "Space"
13865
+ ],
13866
+ "disabledSuppresses": true
13867
+ },
13868
+ "ariaPattern": "button",
13869
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/button/",
13870
+ "forcedColorsSupported": true,
13871
+ "stability": "stable",
13872
+ "since": "3.7.0",
13873
+ "formAssociated": true,
13874
+ "themeAware": true,
13875
+ "brandAware": true,
13876
+ "drupalSdcEligible": true,
13877
+ "reactWrapperStatus": "complete",
13878
+ "priorityTier": "P0",
13879
+ "phiHandles": false,
13880
+ "clinicalContext": "none",
13881
+ "aaa": {
13882
+ "certified": true,
13883
+ "certifiedDate": "2026-05-08",
13884
+ "criteria": [
13885
+ "1.4.9",
13886
+ "2.1.3",
13887
+ "2.3.3",
13888
+ "3.2.5",
13889
+ "3.3.6",
13890
+ "forced-colors",
13891
+ "apg-keyboard",
13892
+ "1.4.6",
13893
+ "2.4.12",
13894
+ "2.4.13",
13895
+ "2.5.5"
13896
+ ],
13897
+ "auditUrl": "src/components/hx-file-upload/AAA-AUDIT.md"
13898
+ },
13899
+ "figma": {
13900
+ "componentName": "hx-file-upload"
13901
+ }
13300
13902
  }
13301
13903
  }
13302
13904
  ],
@@ -13628,8 +14230,39 @@
13628
14230
  "tagName": "hx-form",
13629
14231
  "customElement": true,
13630
14232
  "summary": "Light DOM form wrapper with scoped styles for native and hx-* form elements.",
14233
+ "aaaCertified": true,
14234
+ "aaaCertifiedDate": "2026-05-09",
13631
14235
  "helixMeta": {
13632
- "priorityTier": "P0"
14236
+ "keyboardContract": {
14237
+ "submit": "Enter"
14238
+ },
14239
+ "ariaPattern": "form",
14240
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/landmarks/form.html",
14241
+ "forcedColorsSupported": true,
14242
+ "stability": "stable",
14243
+ "since": "3.7.0",
14244
+ "formAssociated": false,
14245
+ "themeAware": true,
14246
+ "brandAware": true,
14247
+ "drupalSdcEligible": true,
14248
+ "reactWrapperStatus": "complete",
14249
+ "priorityTier": "P0",
14250
+ "phiHandles": false,
14251
+ "clinicalContext": "none",
14252
+ "aaa": {
14253
+ "certified": true,
14254
+ "certifiedDate": "2026-05-09",
14255
+ "criteria": [
14256
+ "1.4.9",
14257
+ "3.2.5",
14258
+ "apg-keyboard",
14259
+ "2.4.12"
14260
+ ],
14261
+ "auditUrl": "src/components/hx-form/AAA-AUDIT.md"
14262
+ },
14263
+ "figma": {
14264
+ "componentName": "hx-form"
14265
+ }
13633
14266
  }
13634
14267
  }
13635
14268
  ],
@@ -14468,8 +15101,36 @@
14468
15101
  "tagName": "hx-help-text",
14469
15102
  "customElement": true,
14470
15103
  "summary": "Help text displayed below form controls for guidance or validation feedback.",
15104
+ "aaaCertified": true,
15105
+ "aaaCertifiedDate": "2026-05-09",
14471
15106
  "helixMeta": {
14472
- "priorityTier": "P0"
15107
+ "ariaPattern": "label",
15108
+ "forcedColorsSupported": true,
15109
+ "stability": "stable",
15110
+ "since": "3.7.0",
15111
+ "formAssociated": false,
15112
+ "themeAware": true,
15113
+ "brandAware": true,
15114
+ "drupalSdcEligible": true,
15115
+ "reactWrapperStatus": "complete",
15116
+ "priorityTier": "P0",
15117
+ "phiHandles": false,
15118
+ "clinicalContext": "none",
15119
+ "aaa": {
15120
+ "certified": true,
15121
+ "certifiedDate": "2026-05-09",
15122
+ "criteria": [
15123
+ "1.4.9",
15124
+ "3.2.5",
15125
+ "forced-colors",
15126
+ "apg-keyboard",
15127
+ "2.4.12"
15128
+ ],
15129
+ "auditUrl": "src/components/hx-help-text/AAA-AUDIT.md"
15130
+ },
15131
+ "figma": {
15132
+ "componentName": "hx-help-text"
15133
+ }
14473
15134
  }
14474
15135
  }
14475
15136
  ],
@@ -14513,7 +15174,7 @@
14513
15174
  "declarations": [
14514
15175
  {
14515
15176
  "kind": "class",
14516
- "description": "An icon component that supports inline SVG fetching and SVG sprite sheet references.\nDecorative icons are automatically hidden from assistive technology.\nWhen a label is provided the icon is announced as an image with that label.\n\n**Render modes:**\n- **Sprite mode** (recommended for Drupal/SSR): Set `name` and optionally `sprite-url`.\n Renders an `<svg><use href=\"...#name\">` works server-side without JavaScript.\n- **Inline mode**: Set `src` to a URL of a standalone SVG file. The component fetches,\n sanitizes, and embeds the SVG markup. Requires JavaScript; not server-side renderable.\n For Drupal/Twig templates use sprite mode to avoid content shift before hydration.",
15177
+ "description": "An icon component that resolves through the `@helixui/icons` registry,\nwith sprite-sheet and inline-fetch escape hatches for legacy / consumer\npatterns. Decorative icons are automatically hidden from assistive\ntechnology. When a label is provided the icon is announced as an image\nwith that label.\n\n**Render modes (in resolution order):**\n1. **Inline fetch (`src`)** — Set `src` to a URL of a standalone SVG file.\n The component fetches, sanitizes, and embeds the SVG markup. Requires\n JavaScript; not server-side renderable. Library attribute is ignored.\n2. **Explicit sprite (`sprite-url` + `name`)** — Pin the sprite URL on the\n element instead of resolving through the registry. Library attribute is\n ignored.\n3. **Registry (`library` + `name`)** (recommended) Resolves through the\n `@helixui/icons` registry. Set `library=\"fa-free\"` for the FA Free Solid\n set bundled with `@helixui/icons`, or `library=\"helix\"` for the curated\n 32-glyph helix set. Consumer libraries register via `registerIconLibrary()`\n and become resolvable here without modifying the component.\n4. **Bare name (`name` only, no `library`)** `library` defaults to the\n empty string. The component emits `<use href=\"#name\">` against a\n document-local sprite pre-3.9.0 back-compat behavior. Consumers\n opt INTO registry resolution by setting `library` explicitly.\n5. **No name / no src** Renders nothing.",
14517
15178
  "name": "HelixIcon",
14518
15179
  "cssProperties": [
14519
15180
  {
@@ -14526,6 +15187,11 @@
14526
15187
  "name": "--hx-icon-color",
14527
15188
  "default": "currentColor"
14528
15189
  },
15190
+ {
15191
+ "description": "Default stroke width consumed by stroke-paint and mixed-paint icon libraries (Lucide, Heroicons-outline, Phosphor). Built-in helix + fa-free libraries are fill-only and ignore this token.",
15192
+ "name": "--hx-icon-stroke-width",
15193
+ "default": "2"
15194
+ },
14529
15195
  {
14530
15196
  "description": "Size token.",
14531
15197
  "name": "--hx-size-4"
@@ -14564,6 +15230,17 @@
14564
15230
  "description": "Icon name used as the fragment identifier when referencing a sprite sheet.\nFor sprite mode provide the bare symbol id (e.g. `check`). The component\nwill build the full href as `${spriteUrl}#${name}`. If `name` already\nstarts with `#` it is used as-is (inline sprite reference without a base\nURL).",
14565
15231
  "attribute": "name"
14566
15232
  },
15233
+ {
15234
+ "kind": "field",
15235
+ "name": "library",
15236
+ "type": {
15237
+ "text": "string"
15238
+ },
15239
+ "default": "''",
15240
+ "description": "Identifier of the icon library to resolve `name` through. Default is\nthe empty string — meaning bare `<hx-icon name=\"foo\">` continues to\nrender a document-local sprite fragment (`<use href=\"#foo\">`) per the\npre-3.9.0 contract. Set explicitly to `'fa-free'` for the FA Free Solid\nset bundled with `@helixui/icons`, `'helix'` for the curated 32-glyph\nhelix set, or to any consumer-registered library identifier.\n\nLibrary resolution applies only when `src` is empty AND `sprite-url` is\nnot set; the inline-fetch and explicit-sprite paths are kept as escape\nhatches and ignore the library attribute.",
15241
+ "attribute": "library",
15242
+ "reflects": true
15243
+ },
14567
15244
  {
14568
15245
  "kind": "field",
14569
15246
  "name": "src",
@@ -14591,7 +15268,7 @@
14591
15268
  "text": "'xs' | 'sm' | 'md' | 'lg' | 'xl'"
14592
15269
  },
14593
15270
  "default": "'md'",
14594
- "description": "Size variant of the icon.\n\nSet via the `hx-size` HTML attribute (e.g. `hx-size=\"lg\"`) or via the\n`size` JavaScript property (e.g. `el.size = 'lg'`). Both are equivalent —\nthe `attribute: 'hx-size'` mapping is used to avoid colliding with the\nnative `<input>` `size` attribute in Drupal attribute-passthrough scenarios.\nThe CEM exposes both the JS property name (`size`) and the HTML attribute\nname (`hx-size`).",
15271
+ "description": "Size variant of the icon.\n\nSet via the `hx-size` HTML attribute (e.g. `hx-size=\"lg\"`) or via the\n`size` JavaScript property (e.g. `el.size = 'lg'`). Both are equivalent —\nthe `attribute: 'hx-size'` mapping is used to avoid colliding with the\nnative HTMLInputElement `size` attribute in Drupal attribute-passthrough\nscenarios.\nThe CEM exposes both the JS property name (`size`) and the HTML attribute\nname (`hx-size`).",
14595
15272
  "attribute": "hx-size",
14596
15273
  "reflects": true
14597
15274
  },
@@ -14627,6 +15304,16 @@
14627
15304
  "fieldName": "name",
14628
15305
  "attribute": "name"
14629
15306
  },
15307
+ {
15308
+ "name": "library",
15309
+ "type": {
15310
+ "text": "string"
15311
+ },
15312
+ "default": "''",
15313
+ "description": "Identifier of the icon library to resolve `name` through. Default is\nthe empty string — meaning bare `<hx-icon name=\"foo\">` continues to\nrender a document-local sprite fragment (`<use href=\"#foo\">`) per the\npre-3.9.0 contract. Set explicitly to `'fa-free'` for the FA Free Solid\nset bundled with `@helixui/icons`, `'helix'` for the curated 32-glyph\nhelix set, or to any consumer-registered library identifier.\n\nLibrary resolution applies only when `src` is empty AND `sprite-url` is\nnot set; the inline-fetch and explicit-sprite paths are kept as escape\nhatches and ignore the library attribute.",
15314
+ "fieldName": "library",
15315
+ "attribute": "library"
15316
+ },
14630
15317
  {
14631
15318
  "name": "src",
14632
15319
  "type": {
@@ -14653,7 +15340,7 @@
14653
15340
  "text": "'xs' | 'sm' | 'md' | 'lg' | 'xl'"
14654
15341
  },
14655
15342
  "default": "'md'",
14656
- "description": "Size variant of the icon.\n\nSet via the `hx-size` HTML attribute (e.g. `hx-size=\"lg\"`) or via the\n`size` JavaScript property (e.g. `el.size = 'lg'`). Both are equivalent —\nthe `attribute: 'hx-size'` mapping is used to avoid colliding with the\nnative `<input>` `size` attribute in Drupal attribute-passthrough scenarios.\nThe CEM exposes both the JS property name (`size`) and the HTML attribute\nname (`hx-size`).",
15343
+ "description": "Size variant of the icon.\n\nSet via the `hx-size` HTML attribute (e.g. `hx-size=\"lg\"`) or via the\n`size` JavaScript property (e.g. `el.size = 'lg'`). Both are equivalent —\nthe `attribute: 'hx-size'` mapping is used to avoid colliding with the\nnative HTMLInputElement `size` attribute in Drupal attribute-passthrough\nscenarios.\nThe CEM exposes both the JS property name (`size`) and the HTML attribute\nname (`hx-size`).",
14657
15344
  "fieldName": "size",
14658
15345
  "attribute": "hx-size"
14659
15346
  },
@@ -14684,9 +15371,28 @@
14684
15371
  },
14685
15372
  "tagName": "hx-icon",
14686
15373
  "customElement": true,
14687
- "summary": "SVG icon with sprite and inline fetch modes for healthcare applications.",
15374
+ "summary": "SVG icon with registry resolution + sprite and inline-fetch escape hatches.",
15375
+ "aaaCertified": true,
15376
+ "aaaCertifiedDate": "2026-05-10",
14688
15377
  "helixMeta": {
14689
- "priorityTier": "P2"
15378
+ "ariaPattern": "none",
15379
+ "forcedColorsSupported": true,
15380
+ "stability": "stable",
15381
+ "since": "3.9.0",
15382
+ "priorityTier": "P0",
15383
+ "aaa": {
15384
+ "certified": true,
15385
+ "certifiedDate": "2026-05-10",
15386
+ "criteria": [
15387
+ "1.4.9",
15388
+ "3.2.5",
15389
+ "forced-colors",
15390
+ "apg-keyboard",
15391
+ "non-text-contrast-icon",
15392
+ "2.4.12"
15393
+ ],
15394
+ "auditUrl": "src/components/hx-icon/AAA-AUDIT.md"
15395
+ }
14690
15396
  }
14691
15397
  }
14692
15398
  ],
@@ -15119,8 +15825,48 @@
15119
15825
  "tagName": "hx-icon-button",
15120
15826
  "customElement": true,
15121
15827
  "summary": "Icon-only action button with full accessibility support.",
15828
+ "aaaCertified": true,
15829
+ "aaaCertifiedDate": "2026-05-08",
15122
15830
  "helixMeta": {
15123
- "priorityTier": "P0"
15831
+ "keyboardContract": {
15832
+ "activate": [
15833
+ "Enter",
15834
+ "Space"
15835
+ ],
15836
+ "disabledSuppresses": true
15837
+ },
15838
+ "ariaPattern": "button",
15839
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/button/",
15840
+ "forcedColorsSupported": true,
15841
+ "stability": "stable",
15842
+ "since": "3.7.0",
15843
+ "formAssociated": true,
15844
+ "themeAware": true,
15845
+ "brandAware": true,
15846
+ "drupalSdcEligible": true,
15847
+ "reactWrapperStatus": "complete",
15848
+ "priorityTier": "P0",
15849
+ "phiHandles": false,
15850
+ "clinicalContext": "none",
15851
+ "aaa": {
15852
+ "certified": true,
15853
+ "certifiedDate": "2026-05-08",
15854
+ "criteria": [
15855
+ "1.4.9",
15856
+ "2.1.3",
15857
+ "2.3.3",
15858
+ "3.2.5",
15859
+ "forced-colors",
15860
+ "apg-keyboard",
15861
+ "2.4.12",
15862
+ "2.4.13",
15863
+ "2.5.5"
15864
+ ],
15865
+ "auditUrl": "src/components/hx-icon-button/AAA-AUDIT.md"
15866
+ },
15867
+ "figma": {
15868
+ "componentName": "hx-icon-button"
15869
+ }
15124
15870
  }
15125
15871
  }
15126
15872
  ],
@@ -16782,8 +17528,56 @@
16782
17528
  "tagName": "hx-menu",
16783
17529
  "customElement": true,
16784
17530
  "summary": "Context/action menu with keyboard-navigable items.",
17531
+ "aaaCertified": true,
17532
+ "aaaCertifiedDate": "2026-05-08",
16785
17533
  "helixMeta": {
16786
- "priorityTier": "P0"
17534
+ "keyboardContract": {
17535
+ "navigate": [
17536
+ "Arrow",
17537
+ "Home",
17538
+ "End"
17539
+ ],
17540
+ "activate": [
17541
+ "Enter",
17542
+ "Space"
17543
+ ],
17544
+ "dismiss": [
17545
+ "Escape"
17546
+ ],
17547
+ "disabledSuppresses": true
17548
+ },
17549
+ "ariaPattern": "menu",
17550
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/menubar/",
17551
+ "forcedColorsSupported": true,
17552
+ "stability": "stable",
17553
+ "since": "3.7.0",
17554
+ "formAssociated": false,
17555
+ "themeAware": true,
17556
+ "brandAware": true,
17557
+ "drupalSdcEligible": true,
17558
+ "reactWrapperStatus": "complete",
17559
+ "priorityTier": "P0",
17560
+ "phiHandles": false,
17561
+ "clinicalContext": "none",
17562
+ "aaa": {
17563
+ "certified": true,
17564
+ "certifiedDate": "2026-05-08",
17565
+ "criteria": [
17566
+ "1.4.9",
17567
+ "2.1.3",
17568
+ "3.2.5",
17569
+ "forced-colors",
17570
+ "apg-keyboard",
17571
+ "1.4.6",
17572
+ "2.4.12",
17573
+ "2.4.13",
17574
+ "2.5.5"
17575
+ ],
17576
+ "auditUrl": "src/components/hx-menu/AAA-AUDIT.md"
17577
+ },
17578
+ "figma": {
17579
+ "componentName": "hx-menu"
17580
+ }
16787
17581
  }
16788
17582
  }
16789
17583
  ],
@@ -17522,8 +18316,53 @@
17522
18316
  "tagName": "hx-nav",
17523
18317
  "customElement": true,
17524
18318
  "summary": "Navigation bar supporting horizontal and vertical layouts with nested submenus.",
18319
+ "aaaCertified": true,
18320
+ "aaaCertifiedDate": "2026-05-08",
17525
18321
  "helixMeta": {
17526
- "priorityTier": "P0"
18322
+ "keyboardContract": {
18323
+ "navigate": [
18324
+ "Arrow",
18325
+ "Home",
18326
+ "End"
18327
+ ],
18328
+ "activate": [
18329
+ "Enter",
18330
+ "Space"
18331
+ ]
18332
+ },
18333
+ "ariaPattern": "navigation",
18334
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/landmarks/navigation.html",
18335
+ "forcedColorsSupported": true,
18336
+ "stability": "stable",
18337
+ "since": "3.7.0",
18338
+ "formAssociated": false,
18339
+ "themeAware": true,
18340
+ "brandAware": true,
18341
+ "drupalSdcEligible": true,
18342
+ "reactWrapperStatus": "complete",
18343
+ "priorityTier": "P0",
18344
+ "phiHandles": false,
18345
+ "clinicalContext": "none",
18346
+ "aaa": {
18347
+ "certified": true,
18348
+ "certifiedDate": "2026-05-08",
18349
+ "criteria": [
18350
+ "1.4.9",
18351
+ "2.1.3",
18352
+ "2.3.3",
18353
+ "3.2.5",
18354
+ "forced-colors",
18355
+ "apg-keyboard",
18356
+ "1.4.6",
18357
+ "2.4.12",
18358
+ "2.4.13",
18359
+ "2.5.5"
18360
+ ],
18361
+ "auditUrl": "src/components/hx-nav/AAA-AUDIT.md"
18362
+ },
18363
+ "figma": {
18364
+ "componentName": "hx-nav"
18365
+ }
17527
18366
  }
17528
18367
  }
17529
18368
  ],
@@ -18203,8 +19042,52 @@
18203
19042
  "tagName": "hx-number-input",
18204
19043
  "customElement": true,
18205
19044
  "summary": "Form-associated numeric input with stepper buttons, bounds checking,\nlabel, error, and help text.",
19045
+ "aaaCertified": true,
19046
+ "aaaCertifiedDate": "2026-05-08",
18206
19047
  "helixMeta": {
18207
- "priorityTier": "P0"
19048
+ "keyboardContract": {
19049
+ "activate": [
19050
+ "character-input"
19051
+ ],
19052
+ "navigate": [
19053
+ "ArrowUp",
19054
+ "ArrowDown"
19055
+ ],
19056
+ "disabledSuppresses": true
19057
+ },
19058
+ "ariaPattern": "spinbutton",
19059
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/spinbutton/",
19060
+ "forcedColorsSupported": true,
19061
+ "stability": "stable",
19062
+ "since": "3.7.0",
19063
+ "formAssociated": true,
19064
+ "themeAware": true,
19065
+ "brandAware": true,
19066
+ "drupalSdcEligible": true,
19067
+ "reactWrapperStatus": "complete",
19068
+ "priorityTier": "P0",
19069
+ "phiHandles": false,
19070
+ "clinicalContext": "none",
19071
+ "aaa": {
19072
+ "certified": true,
19073
+ "certifiedDate": "2026-05-08",
19074
+ "criteria": [
19075
+ "1.4.9",
19076
+ "2.1.3",
19077
+ "2.3.3",
19078
+ "3.2.5",
19079
+ "3.3.6",
19080
+ "forced-colors",
19081
+ "apg-keyboard",
19082
+ "2.4.12",
19083
+ "2.4.13",
19084
+ "2.5.5"
19085
+ ],
19086
+ "auditUrl": "src/components/hx-number-input/AAA-AUDIT.md"
19087
+ },
19088
+ "figma": {
19089
+ "componentName": "hx-number-input"
19090
+ }
18208
19091
  }
18209
19092
  }
18210
19093
  ],
@@ -18583,8 +19466,56 @@
18583
19466
  "tagName": "hx-overflow-menu",
18584
19467
  "customElement": true,
18585
19468
  "summary": "\"...\" or kebab icon button that reveals hidden actions.",
19469
+ "aaaCertified": true,
19470
+ "aaaCertifiedDate": "2026-05-08",
18586
19471
  "helixMeta": {
18587
- "priorityTier": "P0"
19472
+ "keyboardContract": {
19473
+ "navigate": [
19474
+ "Arrow",
19475
+ "Home",
19476
+ "End"
19477
+ ],
19478
+ "activate": [
19479
+ "Enter",
19480
+ "Space"
19481
+ ],
19482
+ "dismiss": [
19483
+ "Escape"
19484
+ ],
19485
+ "disabledSuppresses": true
19486
+ },
19487
+ "ariaPattern": "menu",
19488
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/menubar/",
19489
+ "forcedColorsSupported": true,
19490
+ "stability": "stable",
19491
+ "since": "3.7.0",
19492
+ "formAssociated": false,
19493
+ "themeAware": true,
19494
+ "brandAware": true,
19495
+ "drupalSdcEligible": true,
19496
+ "reactWrapperStatus": "complete",
19497
+ "priorityTier": "P0",
19498
+ "phiHandles": false,
19499
+ "clinicalContext": "none",
19500
+ "aaa": {
19501
+ "certified": true,
19502
+ "certifiedDate": "2026-05-08",
19503
+ "criteria": [
19504
+ "1.4.9",
19505
+ "2.1.3",
19506
+ "2.3.3",
19507
+ "3.2.5",
19508
+ "forced-colors",
19509
+ "apg-keyboard",
19510
+ "2.4.12",
19511
+ "2.4.13",
19512
+ "2.5.5"
19513
+ ],
19514
+ "auditUrl": "src/components/hx-overflow-menu/AAA-AUDIT.md"
19515
+ },
19516
+ "figma": {
19517
+ "componentName": "hx-overflow-menu"
19518
+ }
18588
19519
  }
18589
19520
  }
18590
19521
  ],
@@ -20297,8 +21228,47 @@
20297
21228
  "tagName": "hx-popover",
20298
21229
  "customElement": true,
20299
21230
  "summary": "Rich floating overlay attached to a trigger element.",
21231
+ "aaaCertified": true,
21232
+ "aaaCertifiedDate": "2026-05-08",
20300
21233
  "helixMeta": {
20301
- "priorityTier": "P0"
21234
+ "keyboardContract": {
21235
+ "dismiss": [
21236
+ "Escape"
21237
+ ],
21238
+ "trapFocus": "true"
21239
+ },
21240
+ "ariaPattern": "dialog",
21241
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/",
21242
+ "forcedColorsSupported": true,
21243
+ "stability": "stable",
21244
+ "since": "3.7.0",
21245
+ "formAssociated": false,
21246
+ "themeAware": true,
21247
+ "brandAware": true,
21248
+ "drupalSdcEligible": true,
21249
+ "reactWrapperStatus": "complete",
21250
+ "priorityTier": "P0",
21251
+ "phiHandles": false,
21252
+ "clinicalContext": "none",
21253
+ "aaa": {
21254
+ "certified": true,
21255
+ "certifiedDate": "2026-05-08",
21256
+ "criteria": [
21257
+ "1.4.9",
21258
+ "2.1.3",
21259
+ "2.3.3",
21260
+ "3.2.5",
21261
+ "forced-colors",
21262
+ "apg-keyboard",
21263
+ "1.4.6",
21264
+ "2.4.12",
21265
+ "2.4.13"
21266
+ ],
21267
+ "auditUrl": "src/components/hx-popover/AAA-AUDIT.md"
21268
+ },
21269
+ "figma": {
21270
+ "componentName": "hx-popover"
21271
+ }
20302
21272
  }
20303
21273
  }
20304
21274
  ],
@@ -20698,8 +21668,39 @@
20698
21668
  "tagName": "hx-popup",
20699
21669
  "customElement": true,
20700
21670
  "summary": "Low-level popup positioning utility.",
21671
+ "aaaCertified": true,
21672
+ "aaaCertifiedDate": "2026-05-08",
20701
21673
  "helixMeta": {
20702
- "priorityTier": "P0"
21674
+ "ariaPattern": "none",
21675
+ "ariaPatternSource": "https://www.w3.org/TR/wai-aria-1.2/#aria-haspopup — popup is a structural anchor primitive, not a widget role. The Phase 4 Tier 3 formal AAA re-cert harness treats `none` as a no-key-required pattern (see APG_KEYBOARD_EXPECTATIONS in scripts/aaa-formal-audit.mjs).",
21676
+ "forcedColorsSupported": true,
21677
+ "stability": "stable",
21678
+ "since": "3.7.0",
21679
+ "formAssociated": false,
21680
+ "themeAware": true,
21681
+ "brandAware": true,
21682
+ "drupalSdcEligible": true,
21683
+ "reactWrapperStatus": "complete",
21684
+ "priorityTier": "P0",
21685
+ "phiHandles": false,
21686
+ "clinicalContext": "none",
21687
+ "aaa": {
21688
+ "certified": true,
21689
+ "certifiedDate": "2026-05-08",
21690
+ "criteria": [
21691
+ "1.4.9",
21692
+ "2.3.3",
21693
+ "3.2.5",
21694
+ "forced-colors",
21695
+ "apg-keyboard",
21696
+ "1.4.6",
21697
+ "2.4.12"
21698
+ ],
21699
+ "auditUrl": "src/components/hx-popup/AAA-AUDIT.md"
21700
+ },
21701
+ "figma": {
21702
+ "componentName": "hx-popup"
21703
+ }
20703
21704
  }
20704
21705
  }
20705
21706
  ],
@@ -21865,8 +22866,50 @@
21865
22866
  "tagName": "hx-radio-group",
21866
22867
  "customElement": true,
21867
22868
  "summary": "Form-associated radio group with label, validation, help text, and keyboard navigation.",
22869
+ "aaaCertified": true,
22870
+ "aaaCertifiedDate": "2026-05-08",
21868
22871
  "helixMeta": {
21869
- "priorityTier": "P0"
22872
+ "keyboardContract": {
22873
+ "navigate": [
22874
+ "Arrow"
22875
+ ],
22876
+ "activate": [
22877
+ "Space"
22878
+ ],
22879
+ "disabledSuppresses": true
22880
+ },
22881
+ "ariaPattern": "radiogroup",
22882
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/radio/",
22883
+ "forcedColorsSupported": true,
22884
+ "stability": "stable",
22885
+ "since": "3.7.0",
22886
+ "formAssociated": true,
22887
+ "themeAware": true,
22888
+ "brandAware": true,
22889
+ "drupalSdcEligible": true,
22890
+ "reactWrapperStatus": "complete",
22891
+ "priorityTier": "P0",
22892
+ "phiHandles": false,
22893
+ "clinicalContext": "none",
22894
+ "aaa": {
22895
+ "certified": true,
22896
+ "certifiedDate": "2026-05-08",
22897
+ "criteria": [
22898
+ "1.4.9",
22899
+ "2.1.3",
22900
+ "3.2.5",
22901
+ "3.3.6",
22902
+ "forced-colors",
22903
+ "apg-keyboard",
22904
+ "2.4.12",
22905
+ "2.4.13",
22906
+ "2.5.5"
22907
+ ],
22908
+ "auditUrl": "src/components/hx-radio-group/AAA-AUDIT.md"
22909
+ },
22910
+ "figma": {
22911
+ "componentName": "hx-radio-group"
22912
+ }
21870
22913
  }
21871
22914
  }
21872
22915
  ],
@@ -22489,8 +23532,51 @@
22489
23532
  "tagName": "hx-rating",
22490
23533
  "customElement": true,
22491
23534
  "summary": "Star rating input for user feedback and display.",
23535
+ "aaaCertified": true,
23536
+ "aaaCertifiedDate": "2026-05-09",
22492
23537
  "helixMeta": {
22493
- "priorityTier": "P0"
23538
+ "keyboardContract": {
23539
+ "navigate": [
23540
+ "Arrow"
23541
+ ],
23542
+ "activate": [
23543
+ "Space"
23544
+ ],
23545
+ "disabledSuppresses": true
23546
+ },
23547
+ "ariaPattern": "radiogroup",
23548
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/radio/",
23549
+ "forcedColorsSupported": true,
23550
+ "stability": "stable",
23551
+ "since": "3.7.0",
23552
+ "formAssociated": true,
23553
+ "themeAware": true,
23554
+ "brandAware": true,
23555
+ "drupalSdcEligible": true,
23556
+ "reactWrapperStatus": "complete",
23557
+ "priorityTier": "P0",
23558
+ "phiHandles": false,
23559
+ "clinicalContext": "none",
23560
+ "aaa": {
23561
+ "certified": true,
23562
+ "certifiedDate": "2026-05-09",
23563
+ "criteria": [
23564
+ "1.4.9",
23565
+ "2.1.3",
23566
+ "2.3.3",
23567
+ "3.2.5",
23568
+ "3.3.6",
23569
+ "forced-colors",
23570
+ "apg-keyboard",
23571
+ "2.4.12",
23572
+ "2.4.13",
23573
+ "2.5.5"
23574
+ ],
23575
+ "auditUrl": "src/components/hx-rating/AAA-AUDIT.md"
23576
+ },
23577
+ "figma": {
23578
+ "componentName": "hx-rating"
23579
+ }
22494
23580
  }
22495
23581
  }
22496
23582
  ],
@@ -23224,8 +24310,57 @@
23224
24310
  "tagName": "hx-select",
23225
24311
  "customElement": true,
23226
24312
  "summary": "Form-associated custom select with label, error, and help text.",
24313
+ "aaaCertified": true,
24314
+ "aaaCertifiedDate": "2026-05-08",
23227
24315
  "helixMeta": {
23228
- "priorityTier": "P0"
24316
+ "keyboardContract": {
24317
+ "navigate": [
24318
+ "Arrow",
24319
+ "Home",
24320
+ "End"
24321
+ ],
24322
+ "activate": [
24323
+ "Enter"
24324
+ ],
24325
+ "dismiss": [
24326
+ "Escape"
24327
+ ],
24328
+ "disabledSuppresses": true
24329
+ },
24330
+ "ariaPattern": "combobox",
24331
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/combobox/",
24332
+ "forcedColorsSupported": true,
24333
+ "stability": "stable",
24334
+ "since": "3.7.0",
24335
+ "formAssociated": true,
24336
+ "themeAware": true,
24337
+ "brandAware": true,
24338
+ "drupalSdcEligible": true,
24339
+ "reactWrapperStatus": "complete",
24340
+ "priorityTier": "P0",
24341
+ "phiHandles": false,
24342
+ "clinicalContext": "none",
24343
+ "aaa": {
24344
+ "certified": true,
24345
+ "certifiedDate": "2026-05-08",
24346
+ "criteria": [
24347
+ "1.4.9",
24348
+ "2.1.3",
24349
+ "2.3.3",
24350
+ "3.2.5",
24351
+ "3.3.6",
24352
+ "forced-colors",
24353
+ "apg-keyboard",
24354
+ "1.4.6",
24355
+ "2.4.12",
24356
+ "2.4.13",
24357
+ "2.5.5"
24358
+ ],
24359
+ "auditUrl": "src/components/hx-select/AAA-AUDIT.md"
24360
+ },
24361
+ "figma": {
24362
+ "componentName": "hx-select"
24363
+ }
23229
24364
  }
23230
24365
  }
23231
24366
  ],
@@ -23696,8 +24831,52 @@
23696
24831
  "tagName": "hx-side-nav",
23697
24832
  "customElement": true,
23698
24833
  "summary": "Collapsible side navigation panel for enterprise healthcare applications.",
24834
+ "aaaCertified": true,
24835
+ "aaaCertifiedDate": "2026-05-08",
23699
24836
  "helixMeta": {
23700
- "priorityTier": "P0"
24837
+ "keyboardContract": {
24838
+ "navigate": [
24839
+ "Arrow",
24840
+ "Home",
24841
+ "End"
24842
+ ],
24843
+ "activate": [
24844
+ "Enter",
24845
+ "Space"
24846
+ ]
24847
+ },
24848
+ "ariaPattern": "navigation",
24849
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/landmarks/navigation.html",
24850
+ "forcedColorsSupported": true,
24851
+ "stability": "stable",
24852
+ "since": "3.7.0",
24853
+ "formAssociated": false,
24854
+ "themeAware": true,
24855
+ "brandAware": true,
24856
+ "drupalSdcEligible": true,
24857
+ "reactWrapperStatus": "complete",
24858
+ "priorityTier": "P0",
24859
+ "phiHandles": false,
24860
+ "clinicalContext": "none",
24861
+ "aaa": {
24862
+ "certified": true,
24863
+ "certifiedDate": "2026-05-08",
24864
+ "criteria": [
24865
+ "1.4.9",
24866
+ "2.1.3",
24867
+ "2.3.3",
24868
+ "3.2.5",
24869
+ "forced-colors",
24870
+ "apg-keyboard",
24871
+ "2.4.12",
24872
+ "2.4.13",
24873
+ "2.5.5"
24874
+ ],
24875
+ "auditUrl": "src/components/hx-side-nav/AAA-AUDIT.md"
24876
+ },
24877
+ "figma": {
24878
+ "componentName": "hx-side-nav"
24879
+ }
23701
24880
  }
23702
24881
  }
23703
24882
  ],
@@ -24567,8 +25746,51 @@
24567
25746
  "tagName": "hx-slider",
24568
25747
  "customElement": true,
24569
25748
  "summary": "Form-associated range slider with label, ticks, and value display.",
25749
+ "aaaCertified": true,
25750
+ "aaaCertifiedDate": "2026-05-09",
24570
25751
  "helixMeta": {
24571
- "priorityTier": "P0"
25752
+ "keyboardContract": {
25753
+ "navigate": [
25754
+ "Arrow",
25755
+ "Home",
25756
+ "End",
25757
+ "PageUp",
25758
+ "PageDown"
25759
+ ],
25760
+ "disabledSuppresses": true
25761
+ },
25762
+ "ariaPattern": "slider",
25763
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/slider/",
25764
+ "forcedColorsSupported": true,
25765
+ "stability": "stable",
25766
+ "since": "3.7.0",
25767
+ "formAssociated": true,
25768
+ "themeAware": true,
25769
+ "brandAware": true,
25770
+ "drupalSdcEligible": true,
25771
+ "reactWrapperStatus": "complete",
25772
+ "priorityTier": "P0",
25773
+ "phiHandles": false,
25774
+ "clinicalContext": "none",
25775
+ "aaa": {
25776
+ "certified": true,
25777
+ "certifiedDate": "2026-05-09",
25778
+ "criteria": [
25779
+ "1.4.9",
25780
+ "2.1.3",
25781
+ "2.3.3",
25782
+ "3.2.5",
25783
+ "3.3.6",
25784
+ "forced-colors",
25785
+ "apg-keyboard",
25786
+ "2.4.12",
25787
+ "2.4.13"
25788
+ ],
25789
+ "auditUrl": "src/components/hx-slider/AAA-AUDIT.md"
25790
+ },
25791
+ "figma": {
25792
+ "componentName": "hx-slider"
25793
+ }
24572
25794
  }
24573
25795
  }
24574
25796
  ],
@@ -25248,8 +26470,49 @@
25248
26470
  "tagName": "hx-split-button",
25249
26471
  "customElement": true,
25250
26472
  "summary": "Primary action button with attached dropdown menu for secondary actions.",
26473
+ "aaaCertified": true,
26474
+ "aaaCertifiedDate": "2026-05-08",
25251
26475
  "helixMeta": {
25252
- "priorityTier": "P0"
26476
+ "keyboardContract": {
26477
+ "activate": [
26478
+ "Enter",
26479
+ "Space"
26480
+ ],
26481
+ "disabledSuppresses": true
26482
+ },
26483
+ "ariaPattern": "button",
26484
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/button/",
26485
+ "forcedColorsSupported": true,
26486
+ "stability": "stable",
26487
+ "since": "3.7.0",
26488
+ "formAssociated": false,
26489
+ "themeAware": true,
26490
+ "brandAware": true,
26491
+ "drupalSdcEligible": true,
26492
+ "reactWrapperStatus": "complete",
26493
+ "priorityTier": "P0",
26494
+ "phiHandles": false,
26495
+ "clinicalContext": "none",
26496
+ "aaa": {
26497
+ "certified": true,
26498
+ "certifiedDate": "2026-05-08",
26499
+ "criteria": [
26500
+ "1.4.9",
26501
+ "2.1.3",
26502
+ "2.3.3",
26503
+ "3.2.5",
26504
+ "forced-colors",
26505
+ "apg-keyboard",
26506
+ "1.4.6",
26507
+ "2.4.12",
26508
+ "2.4.13",
26509
+ "2.5.5"
26510
+ ],
26511
+ "auditUrl": "src/components/hx-split-button/AAA-AUDIT.md"
26512
+ },
26513
+ "figma": {
26514
+ "componentName": "hx-split-button"
26515
+ }
25253
26516
  }
25254
26517
  }
25255
26518
  ],
@@ -28034,8 +29297,48 @@
28034
29297
  "tagName": "hx-switch",
28035
29298
  "customElement": true,
28036
29299
  "summary": "Form-associated toggle switch with label, error, and help text.",
29300
+ "aaaCertified": true,
29301
+ "aaaCertifiedDate": "2026-05-08",
28037
29302
  "helixMeta": {
28038
- "priorityTier": "P0"
29303
+ "keyboardContract": {
29304
+ "activate": [
29305
+ "Space"
29306
+ ],
29307
+ "disabledSuppresses": true
29308
+ },
29309
+ "ariaPattern": "switch",
29310
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/switch/",
29311
+ "forcedColorsSupported": true,
29312
+ "stability": "stable",
29313
+ "since": "3.7.0",
29314
+ "formAssociated": true,
29315
+ "themeAware": true,
29316
+ "brandAware": true,
29317
+ "drupalSdcEligible": true,
29318
+ "reactWrapperStatus": "complete",
29319
+ "priorityTier": "P0",
29320
+ "phiHandles": false,
29321
+ "clinicalContext": "none",
29322
+ "aaa": {
29323
+ "certified": true,
29324
+ "certifiedDate": "2026-05-08",
29325
+ "criteria": [
29326
+ "1.4.9",
29327
+ "2.1.3",
29328
+ "2.3.3",
29329
+ "3.2.5",
29330
+ "3.3.6",
29331
+ "forced-colors",
29332
+ "apg-keyboard",
29333
+ "2.4.12",
29334
+ "2.4.13",
29335
+ "2.5.5"
29336
+ ],
29337
+ "auditUrl": "src/components/hx-switch/AAA-AUDIT.md"
29338
+ },
29339
+ "figma": {
29340
+ "componentName": "hx-switch"
29341
+ }
28039
29342
  }
28040
29343
  }
28041
29344
  ],
@@ -29477,8 +30780,52 @@
29477
30780
  "tagName": "hx-tabs",
29478
30781
  "customElement": true,
29479
30782
  "summary": "Tab container that organizes content into selectable panels.",
30783
+ "aaaCertified": true,
30784
+ "aaaCertifiedDate": "2026-05-08",
29480
30785
  "helixMeta": {
29481
- "priorityTier": "P0"
30786
+ "keyboardContract": {
30787
+ "navigate": [
30788
+ "Arrow",
30789
+ "Home",
30790
+ "End"
30791
+ ],
30792
+ "activate": [
30793
+ "Enter",
30794
+ "Space"
30795
+ ],
30796
+ "disabledSuppresses": true
30797
+ },
30798
+ "ariaPattern": "tabs",
30799
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/tabs/",
30800
+ "forcedColorsSupported": true,
30801
+ "stability": "stable",
30802
+ "since": "3.7.0",
30803
+ "formAssociated": false,
30804
+ "themeAware": true,
30805
+ "brandAware": true,
30806
+ "drupalSdcEligible": true,
30807
+ "reactWrapperStatus": "complete",
30808
+ "priorityTier": "P0",
30809
+ "phiHandles": false,
30810
+ "clinicalContext": "none",
30811
+ "aaa": {
30812
+ "certified": true,
30813
+ "certifiedDate": "2026-05-08",
30814
+ "criteria": [
30815
+ "1.4.9",
30816
+ "2.1.3",
30817
+ "3.2.5",
30818
+ "forced-colors",
30819
+ "apg-keyboard",
30820
+ "2.4.12",
30821
+ "2.4.13",
30822
+ "2.5.5"
30823
+ ],
30824
+ "auditUrl": "src/components/hx-tabs/AAA-AUDIT.md"
30825
+ },
30826
+ "figma": {
30827
+ "componentName": "hx-tabs"
30828
+ }
29482
30829
  }
29483
30830
  }
29484
30831
  ],
@@ -30909,17 +32256,16 @@
30909
32256
  "certified": true,
30910
32257
  "certifiedDate": "2026-05-08",
30911
32258
  "criteria": [
30912
- "1.4.6",
30913
32259
  "1.4.9",
30914
32260
  "2.1.3",
30915
32261
  "2.3.3",
30916
- "2.4.12",
30917
- "2.4.13",
30918
- "2.5.5",
30919
32262
  "3.2.5",
30920
32263
  "3.3.6",
30921
32264
  "forced-colors",
30922
- "apg-keyboard"
32265
+ "apg-keyboard",
32266
+ "2.4.12",
32267
+ "2.4.13",
32268
+ "2.5.5"
30923
32269
  ],
30924
32270
  "auditUrl": "src/components/hx-text-input/AAA-AUDIT.md"
30925
32271
  },
@@ -31561,8 +32907,48 @@
31561
32907
  "tagName": "hx-textarea",
31562
32908
  "customElement": true,
31563
32909
  "summary": "Form-associated textarea with built-in label, error, help text, character counter, and auto-resize.",
32910
+ "aaaCertified": true,
32911
+ "aaaCertifiedDate": "2026-05-08",
31564
32912
  "helixMeta": {
31565
- "priorityTier": "P0"
32913
+ "keyboardContract": {
32914
+ "activate": [
32915
+ "character-input"
32916
+ ],
32917
+ "disabledSuppresses": true
32918
+ },
32919
+ "ariaPattern": "textbox",
32920
+ "ariaPatternSource": "https://www.w3.org/TR/wai-aria-1.2/#textbox",
32921
+ "forcedColorsSupported": true,
32922
+ "stability": "stable",
32923
+ "since": "3.7.0",
32924
+ "formAssociated": true,
32925
+ "themeAware": true,
32926
+ "brandAware": true,
32927
+ "drupalSdcEligible": true,
32928
+ "reactWrapperStatus": "complete",
32929
+ "priorityTier": "P0",
32930
+ "phiHandles": false,
32931
+ "clinicalContext": "none",
32932
+ "aaa": {
32933
+ "certified": true,
32934
+ "certifiedDate": "2026-05-08",
32935
+ "criteria": [
32936
+ "1.4.9",
32937
+ "2.1.3",
32938
+ "2.3.3",
32939
+ "3.2.5",
32940
+ "3.3.6",
32941
+ "forced-colors",
32942
+ "apg-keyboard",
32943
+ "2.4.12",
32944
+ "2.4.13",
32945
+ "2.5.5"
32946
+ ],
32947
+ "auditUrl": "src/components/hx-textarea/AAA-AUDIT.md"
32948
+ },
32949
+ "figma": {
32950
+ "componentName": "hx-textarea"
32951
+ }
31566
32952
  }
31567
32953
  }
31568
32954
  ],
@@ -32405,8 +33791,48 @@
32405
33791
  "tagName": "hx-time-picker",
32406
33792
  "customElement": true,
32407
33793
  "summary": "Form-associated time picker with 12h/24h format support and dropdown listbox.",
33794
+ "aaaCertified": true,
33795
+ "aaaCertifiedDate": "2026-05-08",
32408
33796
  "helixMeta": {
32409
- "priorityTier": "P0"
33797
+ "keyboardContract": {
33798
+ "dismiss": [
33799
+ "Escape"
33800
+ ],
33801
+ "trapFocus": "true"
33802
+ },
33803
+ "ariaPattern": "dialog",
33804
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/",
33805
+ "forcedColorsSupported": true,
33806
+ "stability": "stable",
33807
+ "since": "3.7.0",
33808
+ "formAssociated": true,
33809
+ "themeAware": true,
33810
+ "brandAware": true,
33811
+ "drupalSdcEligible": true,
33812
+ "reactWrapperStatus": "complete",
33813
+ "priorityTier": "P0",
33814
+ "phiHandles": false,
33815
+ "clinicalContext": "none",
33816
+ "aaa": {
33817
+ "certified": true,
33818
+ "certifiedDate": "2026-05-08",
33819
+ "criteria": [
33820
+ "1.4.9",
33821
+ "2.1.3",
33822
+ "2.3.3",
33823
+ "3.2.5",
33824
+ "3.3.6",
33825
+ "forced-colors",
33826
+ "apg-keyboard",
33827
+ "2.4.12",
33828
+ "2.4.13",
33829
+ "2.5.5"
33830
+ ],
33831
+ "auditUrl": "src/components/hx-time-picker/AAA-AUDIT.md"
33832
+ },
33833
+ "figma": {
33834
+ "componentName": "hx-time-picker"
33835
+ }
32410
33836
  }
32411
33837
  }
32412
33838
  ],
@@ -32893,8 +34319,44 @@
32893
34319
  "tagName": "hx-toast",
32894
34320
  "customElement": true,
32895
34321
  "summary": "Transient notification toast component.",
34322
+ "aaaCertified": true,
34323
+ "aaaCertifiedDate": "2026-05-09",
32896
34324
  "helixMeta": {
32897
- "priorityTier": "P0"
34325
+ "keyboardContract": {
34326
+ "dismiss": [
34327
+ "Escape"
34328
+ ]
34329
+ },
34330
+ "ariaPattern": "alert",
34331
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/alert/",
34332
+ "forcedColorsSupported": true,
34333
+ "stability": "stable",
34334
+ "since": "3.7.0",
34335
+ "formAssociated": false,
34336
+ "themeAware": true,
34337
+ "brandAware": true,
34338
+ "drupalSdcEligible": true,
34339
+ "reactWrapperStatus": "complete",
34340
+ "priorityTier": "P0",
34341
+ "phiHandles": false,
34342
+ "clinicalContext": "none",
34343
+ "aaa": {
34344
+ "certified": true,
34345
+ "certifiedDate": "2026-05-09",
34346
+ "criteria": [
34347
+ "1.4.9",
34348
+ "2.1.3",
34349
+ "2.3.3",
34350
+ "3.2.5",
34351
+ "forced-colors",
34352
+ "apg-keyboard",
34353
+ "2.4.12"
34354
+ ],
34355
+ "auditUrl": "src/components/hx-toast/AAA-AUDIT.md"
34356
+ },
34357
+ "figma": {
34358
+ "componentName": "hx-toast"
34359
+ }
32898
34360
  }
32899
34361
  }
32900
34362
  ],
@@ -33527,8 +34989,50 @@
33527
34989
  "tagName": "hx-toggle-button",
33528
34990
  "customElement": true,
33529
34991
  "summary": "Two-state toggle button with pressed/unpressed ARIA semantics.",
34992
+ "aaaCertified": true,
34993
+ "aaaCertifiedDate": "2026-05-08",
33530
34994
  "helixMeta": {
33531
- "priorityTier": "P0"
34995
+ "keyboardContract": {
34996
+ "activate": [
34997
+ "Enter",
34998
+ "Space"
34999
+ ],
35000
+ "disabledSuppresses": true
35001
+ },
35002
+ "ariaPattern": "button",
35003
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/button/",
35004
+ "forcedColorsSupported": true,
35005
+ "stability": "stable",
35006
+ "since": "3.7.0",
35007
+ "formAssociated": true,
35008
+ "themeAware": true,
35009
+ "brandAware": true,
35010
+ "drupalSdcEligible": true,
35011
+ "reactWrapperStatus": "complete",
35012
+ "priorityTier": "P0",
35013
+ "phiHandles": false,
35014
+ "clinicalContext": "none",
35015
+ "aaa": {
35016
+ "certified": true,
35017
+ "certifiedDate": "2026-05-08",
35018
+ "criteria": [
35019
+ "1.4.9",
35020
+ "2.1.3",
35021
+ "2.3.3",
35022
+ "3.2.5",
35023
+ "3.3.6",
35024
+ "forced-colors",
35025
+ "apg-keyboard",
35026
+ "1.4.6",
35027
+ "2.4.12",
35028
+ "2.4.13",
35029
+ "2.5.5"
35030
+ ],
35031
+ "auditUrl": "src/components/hx-toggle-button/AAA-AUDIT.md"
35032
+ },
35033
+ "figma": {
35034
+ "componentName": "hx-toggle-button"
35035
+ }
33532
35036
  }
33533
35037
  }
33534
35038
  ],
@@ -33777,8 +35281,46 @@
33777
35281
  "tagName": "hx-tooltip",
33778
35282
  "customElement": true,
33779
35283
  "summary": "Contextual help text and abbreviations with smart positioning.",
35284
+ "aaaCertified": true,
35285
+ "aaaCertifiedDate": "2026-05-08",
33780
35286
  "helixMeta": {
33781
- "priorityTier": "P0"
35287
+ "keyboardContract": {
35288
+ "dismiss": [
35289
+ "Escape"
35290
+ ]
35291
+ },
35292
+ "ariaPattern": "tooltip",
35293
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/",
35294
+ "forcedColorsSupported": true,
35295
+ "stability": "stable",
35296
+ "since": "3.7.0",
35297
+ "formAssociated": false,
35298
+ "themeAware": true,
35299
+ "brandAware": true,
35300
+ "drupalSdcEligible": true,
35301
+ "reactWrapperStatus": "complete",
35302
+ "priorityTier": "P0",
35303
+ "phiHandles": false,
35304
+ "clinicalContext": "none",
35305
+ "aaa": {
35306
+ "certified": true,
35307
+ "certifiedDate": "2026-05-08",
35308
+ "criteria": [
35309
+ "1.4.9",
35310
+ "2.1.3",
35311
+ "2.3.3",
35312
+ "3.2.5",
35313
+ "forced-colors",
35314
+ "apg-keyboard",
35315
+ "1.4.6",
35316
+ "2.4.12",
35317
+ "2.4.13"
35318
+ ],
35319
+ "auditUrl": "src/components/hx-tooltip/AAA-AUDIT.md"
35320
+ },
35321
+ "figma": {
35322
+ "componentName": "hx-tooltip"
35323
+ }
33782
35324
  }
33783
35325
  }
33784
35326
  ],
@@ -34047,8 +35589,52 @@
34047
35589
  "tagName": "hx-top-nav",
34048
35590
  "customElement": true,
34049
35591
  "summary": "Site-level navigation bar with logo, nav items, and action slots.",
35592
+ "aaaCertified": true,
35593
+ "aaaCertifiedDate": "2026-05-08",
34050
35594
  "helixMeta": {
34051
- "priorityTier": "P0"
35595
+ "keyboardContract": {
35596
+ "navigate": [
35597
+ "Arrow",
35598
+ "Home",
35599
+ "End"
35600
+ ],
35601
+ "activate": [
35602
+ "Enter",
35603
+ "Space"
35604
+ ]
35605
+ },
35606
+ "ariaPattern": "navigation",
35607
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/landmarks/navigation.html",
35608
+ "forcedColorsSupported": true,
35609
+ "stability": "stable",
35610
+ "since": "3.7.0",
35611
+ "formAssociated": false,
35612
+ "themeAware": true,
35613
+ "brandAware": true,
35614
+ "drupalSdcEligible": true,
35615
+ "reactWrapperStatus": "complete",
35616
+ "priorityTier": "P0",
35617
+ "phiHandles": false,
35618
+ "clinicalContext": "none",
35619
+ "aaa": {
35620
+ "certified": true,
35621
+ "certifiedDate": "2026-05-08",
35622
+ "criteria": [
35623
+ "1.4.9",
35624
+ "2.1.3",
35625
+ "2.3.3",
35626
+ "3.2.5",
35627
+ "forced-colors",
35628
+ "apg-keyboard",
35629
+ "2.4.12",
35630
+ "2.4.13",
35631
+ "2.5.5"
35632
+ ],
35633
+ "auditUrl": "src/components/hx-top-nav/AAA-AUDIT.md"
35634
+ },
35635
+ "figma": {
35636
+ "componentName": "hx-top-nav"
35637
+ }
34052
35638
  }
34053
35639
  }
34054
35640
  ],