@helixui/library 3.7.0 → 3.8.0

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 (248) hide show
  1. package/custom-elements.json +1926 -303
  2. package/dist/components/hx-action-bar/hx-action-bar.d.ts +18 -0
  3. package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
  4. package/dist/components/hx-action-bar/hx-action-bar.styles.d.ts.map +1 -1
  5. package/dist/components/hx-action-bar/index.js +1 -1
  6. package/dist/components/hx-banner/hx-banner.d.ts +19 -0
  7. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  8. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
  9. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
  10. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +18 -0
  11. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
  12. package/dist/components/hx-breadcrumb/index.js +1 -1
  13. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  14. package/dist/components/hx-button/index.js +1 -1
  15. package/dist/components/hx-button-group/hx-button-group.d.ts +47 -0
  16. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  17. package/dist/components/hx-button-group/index.js +1 -1
  18. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  19. package/dist/components/hx-checkbox/index.js +1 -1
  20. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +36 -0
  21. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  22. package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts.map +1 -1
  23. package/dist/components/hx-checkbox-group/index.js +1 -1
  24. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +19 -0
  25. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
  26. package/dist/components/hx-color-picker/hx-color-picker.d.ts +18 -0
  27. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  28. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  29. package/dist/components/hx-color-picker/index.js +1 -1
  30. package/dist/components/hx-combobox/hx-combobox.d.ts +18 -0
  31. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  32. package/dist/components/hx-copy-button/hx-copy-button.d.ts +18 -0
  33. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
  34. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
  35. package/dist/components/hx-copy-button/index.js +1 -1
  36. package/dist/components/hx-date-picker/hx-date-picker.d.ts +18 -0
  37. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  38. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  39. package/dist/components/hx-date-picker/index.js +1 -1
  40. package/dist/components/hx-drawer/hx-drawer.d.ts +18 -0
  41. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  42. package/dist/components/hx-dropdown/hx-dropdown.d.ts +18 -0
  43. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  44. package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -1
  45. package/dist/components/hx-dropdown/index.js +1 -1
  46. package/dist/components/hx-field/hx-field.d.ts +17 -0
  47. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  48. package/dist/components/hx-field-label/hx-field-label.d.ts +17 -0
  49. package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
  50. package/dist/components/hx-file-upload/hx-file-upload.d.ts +18 -0
  51. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  52. package/dist/components/hx-form/hx-form.d.ts +19 -0
  53. package/dist/components/hx-form/hx-form.d.ts.map +1 -1
  54. package/dist/components/hx-help-text/hx-help-text.d.ts +17 -0
  55. package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
  56. package/dist/components/hx-icon-button/hx-icon-button.d.ts +18 -0
  57. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  58. package/dist/components/hx-menu/hx-menu.d.ts +18 -0
  59. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  60. package/dist/components/hx-nav/hx-nav.d.ts +18 -0
  61. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  62. package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
  63. package/dist/components/hx-nav/index.js +1 -1
  64. package/dist/components/hx-number-input/hx-number-input.d.ts +18 -0
  65. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  66. package/dist/components/hx-number-input/index.js +1 -1
  67. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +18 -0
  68. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  69. package/dist/components/hx-popover/hx-popover.d.ts +18 -0
  70. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  71. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
  72. package/dist/components/hx-popover/index.js +1 -1
  73. package/dist/components/hx-popup/hx-popup.d.ts +18 -0
  74. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
  75. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
  76. package/dist/components/hx-popup/index.js +1 -1
  77. package/dist/components/hx-radio-group/hx-radio-group.d.ts +18 -0
  78. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  79. package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts.map +1 -1
  80. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
  81. package/dist/components/hx-radio-group/index.js +1 -1
  82. package/dist/components/hx-rating/hx-rating.d.ts +19 -0
  83. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  84. package/dist/components/hx-select/hx-select.d.ts +18 -0
  85. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  86. package/dist/components/hx-side-nav/hx-side-nav.d.ts +18 -0
  87. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  88. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  89. package/dist/components/hx-side-nav/index.js +1 -1
  90. package/dist/components/hx-slider/hx-slider.d.ts +19 -0
  91. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  92. package/dist/components/hx-split-button/hx-split-button.d.ts +18 -0
  93. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  94. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  95. package/dist/components/hx-split-button/index.js +1 -1
  96. package/dist/components/hx-switch/hx-switch.d.ts +18 -0
  97. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  98. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  99. package/dist/components/hx-switch/index.js +1 -1
  100. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  101. package/dist/components/hx-tabs/hx-tabs.d.ts +18 -0
  102. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  103. package/dist/components/hx-tabs/index.js +1 -1
  104. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  105. package/dist/components/hx-text-input/index.js +1 -1
  106. package/dist/components/hx-textarea/hx-textarea.d.ts +18 -0
  107. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  108. package/dist/components/hx-time-picker/hx-time-picker.d.ts +18 -0
  109. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  110. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  111. package/dist/components/hx-time-picker/index.js +1 -1
  112. package/dist/components/hx-toast/hx-toast.d.ts +19 -0
  113. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  114. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +18 -0
  115. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  116. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  117. package/dist/components/hx-toggle-button/index.js +1 -1
  118. package/dist/components/hx-tooltip/hx-tooltip.d.ts +18 -0
  119. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  120. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -1
  121. package/dist/components/hx-tooltip/index.js +1 -1
  122. package/dist/components/hx-top-nav/hx-top-nav.d.ts +18 -0
  123. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
  124. package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -1
  125. package/dist/components/hx-top-nav/index.js +1 -1
  126. package/dist/css/helix-all.css +239 -30
  127. package/dist/css/helix-core.css +4 -1
  128. package/dist/css/helix-forms.css +100 -15
  129. package/dist/css/helix-navigation.css +43 -2
  130. package/dist/css/helix-overlay.css +53 -0
  131. package/dist/css/helix-tokens.css +13 -12
  132. package/dist/css/helix-utility.css +39 -12
  133. package/dist/css/hx-action-bar.css +12 -0
  134. package/dist/css/hx-button.css +4 -1
  135. package/dist/css/hx-checkbox-group.css +11 -0
  136. package/dist/css/hx-checkbox.css +10 -0
  137. package/dist/css/hx-color-picker.css +14 -1
  138. package/dist/css/hx-copy-button.css +5 -2
  139. package/dist/css/hx-date-picker.css +6 -1
  140. package/dist/css/hx-dropdown.css +13 -0
  141. package/dist/css/hx-nav.css +24 -2
  142. package/dist/css/hx-number-input.css +8 -8
  143. package/dist/css/hx-popover.css +13 -0
  144. package/dist/css/hx-popup.css +14 -0
  145. package/dist/css/hx-radio-group.css +10 -0
  146. package/dist/css/hx-side-nav.css +7 -0
  147. package/dist/css/hx-split-button.css +22 -10
  148. package/dist/css/hx-switch.css +19 -1
  149. package/dist/css/hx-text-input.css +4 -1
  150. package/dist/css/hx-time-picker.css +7 -2
  151. package/dist/css/hx-toggle-button.css +11 -1
  152. package/dist/css/hx-tooltip.css +13 -0
  153. package/dist/css/hx-top-nav.css +12 -0
  154. package/dist/css/index.css +1 -1
  155. package/dist/css/manifest.json +40 -12
  156. package/dist/index.js +24 -24
  157. package/dist/shared/{hx-action-bar-CitgcpGv.js → hx-action-bar-BlEG4aZv.js} +41 -29
  158. package/dist/shared/hx-action-bar-BlEG4aZv.js.map +1 -0
  159. package/dist/shared/hx-banner-fpRnciIO.js.map +1 -1
  160. package/dist/shared/{hx-breadcrumb-item-3tKppF9h.js → hx-breadcrumb-item-D8xYqe3s.js} +56 -43
  161. package/dist/shared/hx-breadcrumb-item-D8xYqe3s.js.map +1 -0
  162. package/dist/shared/{hx-button-rRNmD4fd.js → hx-button-DOZTZnz-.js} +18 -15
  163. package/dist/shared/hx-button-DOZTZnz-.js.map +1 -0
  164. package/dist/shared/hx-button-group-D3QUmSzl.js +248 -0
  165. package/dist/shared/hx-button-group-D3QUmSzl.js.map +1 -0
  166. package/dist/shared/{hx-checkbox-hPlIw6Lb.js → hx-checkbox-DcgyGS9V.js} +30 -20
  167. package/dist/shared/hx-checkbox-DcgyGS9V.js.map +1 -0
  168. package/dist/shared/{hx-checkbox-group-D5piJLY8.js → hx-checkbox-group-C0q6HDqn.js} +101 -58
  169. package/dist/shared/hx-checkbox-group-C0q6HDqn.js.map +1 -0
  170. package/dist/shared/hx-clinical-status-D3XQIOqX.js.map +1 -1
  171. package/dist/shared/{hx-color-picker-DBwJzT5f.js → hx-color-picker-CYjx8i8R.js} +97 -84
  172. package/dist/shared/hx-color-picker-CYjx8i8R.js.map +1 -0
  173. package/dist/shared/hx-combobox-NgJaLbs2.js.map +1 -1
  174. package/dist/shared/{hx-copy-button-sUVuikyH.js → hx-copy-button-DJirFCUL.js} +18 -15
  175. package/dist/shared/hx-copy-button-DJirFCUL.js.map +1 -0
  176. package/dist/shared/{hx-date-picker-DSKDkCy1.js → hx-date-picker-0PtEav0K.js} +66 -61
  177. package/dist/shared/hx-date-picker-0PtEav0K.js.map +1 -0
  178. package/dist/shared/hx-drawer-CM_upadk.js.map +1 -1
  179. package/dist/shared/{hx-dropdown-D626S2ZG.js → hx-dropdown-xHwTJecv.js} +44 -31
  180. package/dist/shared/hx-dropdown-xHwTJecv.js.map +1 -0
  181. package/dist/shared/hx-field-label-BVRyyKeh.js.map +1 -1
  182. package/dist/shared/hx-field-zw0U1KVi.js.map +1 -1
  183. package/dist/shared/hx-file-upload-D3rKROK5.js.map +1 -1
  184. package/dist/shared/hx-form-CkChEATa.js.map +1 -1
  185. package/dist/shared/hx-help-text-Xb2Yr8x2.js.map +1 -1
  186. package/dist/shared/hx-icon-button-B2BdVdyK.js.map +1 -1
  187. package/dist/shared/hx-menu-divider-A6Guuzi_.js.map +1 -1
  188. package/dist/shared/{hx-nav-ldFM3Fle.js → hx-nav-ChMTfn7o.js} +66 -44
  189. package/dist/shared/hx-nav-ChMTfn7o.js.map +1 -0
  190. package/dist/shared/{hx-nav-item-CODtUlew.js → hx-nav-item-ClN17f1y.js} +62 -55
  191. package/dist/shared/hx-nav-item-ClN17f1y.js.map +1 -0
  192. package/dist/shared/{hx-number-input-yUzFOSC1.js → hx-number-input-MggsT7F0.js} +13 -13
  193. package/dist/shared/hx-number-input-MggsT7F0.js.map +1 -0
  194. package/dist/shared/hx-overflow-menu-DFjJAziP.js.map +1 -1
  195. package/dist/shared/{hx-popover-BAlAFOH9.js → hx-popover-BjB0nkcq.js} +51 -38
  196. package/dist/shared/hx-popover-BjB0nkcq.js.map +1 -0
  197. package/dist/shared/{hx-popup-COUXXZ9X.js → hx-popup-BiV_2evC.js} +59 -45
  198. package/dist/shared/hx-popup-BiV_2evC.js.map +1 -0
  199. package/dist/shared/{hx-radio-CY4kQfZw.js → hx-radio-BY4zpwdh.js} +45 -27
  200. package/dist/shared/hx-radio-BY4zpwdh.js.map +1 -0
  201. package/dist/shared/hx-rating-C3QP53k9.js.map +1 -1
  202. package/dist/shared/hx-select-DahFehiZ.js.map +1 -1
  203. package/dist/shared/hx-slider-Blmv_rwS.js.map +1 -1
  204. package/dist/shared/{hx-split-button-Ddle8iVx.js → hx-split-button-CdNz1XAu.js} +62 -50
  205. package/dist/shared/hx-split-button-CdNz1XAu.js.map +1 -0
  206. package/dist/shared/{hx-switch-TvKGvZJz.js → hx-switch-BCXuNxEH.js} +42 -24
  207. package/dist/shared/hx-switch-BCXuNxEH.js.map +1 -0
  208. package/dist/shared/{hx-tab-panel-DzsX8BHV.js → hx-tab-panel-BfisavKo.js} +47 -32
  209. package/dist/shared/hx-tab-panel-BfisavKo.js.map +1 -0
  210. package/dist/shared/{hx-text-input-D6FlOZM-.js → hx-text-input-V5sQOpDh.js} +5 -2
  211. package/dist/shared/hx-text-input-V5sQOpDh.js.map +1 -0
  212. package/dist/shared/hx-textarea-CNG590KY.js.map +1 -1
  213. package/dist/shared/{hx-time-picker-Bo7FWzmf.js → hx-time-picker-DfJkBwcX.js} +41 -36
  214. package/dist/shared/hx-time-picker-DfJkBwcX.js.map +1 -0
  215. package/dist/shared/{hx-toggle-button-DSJeFlb0.js → hx-toggle-button-xNVYeA3X.js} +37 -27
  216. package/dist/shared/hx-toggle-button-xNVYeA3X.js.map +1 -0
  217. package/dist/shared/{hx-tooltip-DVqtKPCD.js → hx-tooltip-CamO-9nd.js} +24 -11
  218. package/dist/shared/hx-tooltip-CamO-9nd.js.map +1 -0
  219. package/dist/shared/{hx-top-nav-DP6OFS8C.js → hx-top-nav-CsTxOtVI.js} +26 -14
  220. package/dist/shared/hx-top-nav-CsTxOtVI.js.map +1 -0
  221. package/dist/shared/toast-factory-Dht3pVsw.js.map +1 -1
  222. package/figma-inventory.json +1121 -345
  223. package/package.json +2 -2
  224. package/dist/shared/hx-action-bar-CitgcpGv.js.map +0 -1
  225. package/dist/shared/hx-breadcrumb-item-3tKppF9h.js.map +0 -1
  226. package/dist/shared/hx-button-group-4NUBpkyC.js +0 -181
  227. package/dist/shared/hx-button-group-4NUBpkyC.js.map +0 -1
  228. package/dist/shared/hx-button-rRNmD4fd.js.map +0 -1
  229. package/dist/shared/hx-checkbox-group-D5piJLY8.js.map +0 -1
  230. package/dist/shared/hx-checkbox-hPlIw6Lb.js.map +0 -1
  231. package/dist/shared/hx-color-picker-DBwJzT5f.js.map +0 -1
  232. package/dist/shared/hx-copy-button-sUVuikyH.js.map +0 -1
  233. package/dist/shared/hx-date-picker-DSKDkCy1.js.map +0 -1
  234. package/dist/shared/hx-dropdown-D626S2ZG.js.map +0 -1
  235. package/dist/shared/hx-nav-item-CODtUlew.js.map +0 -1
  236. package/dist/shared/hx-nav-ldFM3Fle.js.map +0 -1
  237. package/dist/shared/hx-number-input-yUzFOSC1.js.map +0 -1
  238. package/dist/shared/hx-popover-BAlAFOH9.js.map +0 -1
  239. package/dist/shared/hx-popup-COUXXZ9X.js.map +0 -1
  240. package/dist/shared/hx-radio-CY4kQfZw.js.map +0 -1
  241. package/dist/shared/hx-split-button-Ddle8iVx.js.map +0 -1
  242. package/dist/shared/hx-switch-TvKGvZJz.js.map +0 -1
  243. package/dist/shared/hx-tab-panel-DzsX8BHV.js.map +0 -1
  244. package/dist/shared/hx-text-input-D6FlOZM-.js.map +0 -1
  245. package/dist/shared/hx-time-picker-Bo7FWzmf.js.map +0 -1
  246. package/dist/shared/hx-toggle-button-DSJeFlb0.js.map +0 -1
  247. package/dist/shared/hx-tooltip-DVqtKPCD.js.map +0 -1
  248. package/dist/shared/hx-top-nav-DP6OFS8C.js.map +0 -1
@@ -2,6 +2,317 @@
2
2
  "schemaVersion": "1.0.0",
3
3
  "readme": "",
4
4
  "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "src/components/hx-action-bar/hx-action-bar.ts",
8
+ "declarations": [
9
+ {
10
+ "kind": "class",
11
+ "description": "A horizontal toolbar container for grouping related action buttons and controls.\nImplements the ARIA toolbar pattern with roving tabindex keyboard navigation.",
12
+ "name": "HelixActionBar",
13
+ "cssProperties": [
14
+ {
15
+ "description": "Bar background color (default variant).",
16
+ "name": "--hx-action-bar-bg",
17
+ "default": "transparent"
18
+ },
19
+ {
20
+ "description": "Bar border (default variant).",
21
+ "name": "--hx-action-bar-border",
22
+ "default": "none"
23
+ },
24
+ {
25
+ "description": "Inner padding.",
26
+ "name": "--hx-action-bar-padding",
27
+ "default": "var(--hx-space-2,0.5rem) var(--hx-space-3,0.75rem)"
28
+ },
29
+ {
30
+ "description": "Gap between slotted items.",
31
+ "name": "--hx-action-bar-gap",
32
+ "default": "var(--hx-space-2,0.5rem)"
33
+ },
34
+ {
35
+ "description": "Z-index when sticky or bottom position.",
36
+ "name": "--hx-action-bar-z-index",
37
+ "default": "10"
38
+ },
39
+ {
40
+ "description": "Padding.",
41
+ "name": "--hx-action-bar-padding-block-start",
42
+ "default": "0px"
43
+ },
44
+ {
45
+ "description": "Padding.",
46
+ "name": "--hx-action-bar-padding-block-end",
47
+ "default": "0px"
48
+ },
49
+ {
50
+ "description": "CSS custom property.",
51
+ "name": "--hx-border-radius-md"
52
+ },
53
+ {
54
+ "description": "Width.",
55
+ "name": "--hx-border-width-thin"
56
+ },
57
+ {
58
+ "description": "Color.",
59
+ "name": "--hx-color-neutral-0"
60
+ },
61
+ {
62
+ "description": "Color.",
63
+ "name": "--hx-color-neutral-200"
64
+ },
65
+ {
66
+ "description": "Color.",
67
+ "name": "--hx-color-neutral-50"
68
+ },
69
+ {
70
+ "description": "Size token.",
71
+ "name": "--hx-size-8"
72
+ },
73
+ {
74
+ "description": "Size token.",
75
+ "name": "--hx-size-10"
76
+ },
77
+ {
78
+ "description": "Size token.",
79
+ "name": "--hx-size-12"
80
+ },
81
+ {
82
+ "description": "Spacing token.",
83
+ "name": "--hx-space-1"
84
+ },
85
+ {
86
+ "description": "Spacing token.",
87
+ "name": "--hx-space-2"
88
+ },
89
+ {
90
+ "description": "Spacing token.",
91
+ "name": "--hx-space-3"
92
+ },
93
+ {
94
+ "description": "Spacing token.",
95
+ "name": "--hx-space-4"
96
+ }
97
+ ],
98
+ "cssParts": [
99
+ {
100
+ "description": "The root toolbar container element.",
101
+ "name": "base"
102
+ },
103
+ {
104
+ "description": "The start (left) slot wrapper.",
105
+ "name": "start"
106
+ },
107
+ {
108
+ "description": "The center (default) slot wrapper.",
109
+ "name": "center"
110
+ },
111
+ {
112
+ "description": "The end (right) slot wrapper.",
113
+ "name": "end"
114
+ },
115
+ {
116
+ "description": "The overflow slot wrapper (hidden when no overflow content).",
117
+ "name": "overflow"
118
+ }
119
+ ],
120
+ "slots": [
121
+ {
122
+ "description": "Left-aligned actions.",
123
+ "name": "start"
124
+ },
125
+ {
126
+ "description": "Center content (default slot).",
127
+ "name": ""
128
+ },
129
+ {
130
+ "description": "Right-aligned actions.",
131
+ "name": "end"
132
+ },
133
+ {
134
+ "description": "Actions revealed when the bar is constrained for space.",
135
+ "name": "overflow"
136
+ }
137
+ ],
138
+ "members": [
139
+ {
140
+ "kind": "field",
141
+ "name": "size",
142
+ "type": {
143
+ "text": "'sm' | 'md' | 'lg'"
144
+ },
145
+ "default": "'md'",
146
+ "description": "Size of the action bar — propagated as a data attribute to slotted children.",
147
+ "attribute": "hx-size",
148
+ "reflects": true
149
+ },
150
+ {
151
+ "kind": "field",
152
+ "name": "variant",
153
+ "type": {
154
+ "text": "'default' | 'outlined' | 'filled'"
155
+ },
156
+ "default": "'default'",
157
+ "description": "Visual variant controlling the bar background.",
158
+ "attribute": "variant",
159
+ "reflects": true
160
+ },
161
+ {
162
+ "kind": "field",
163
+ "name": "position",
164
+ "type": {
165
+ "text": "'top' | 'bottom' | 'sticky'"
166
+ },
167
+ "default": "'top'",
168
+ "description": "Position and sticky behavior of the action bar.\n- `top` — normal flow (default)\n- `sticky` — sticks to the top of the scroll container; add `scroll-padding-top` to the\n scroll container equal to the bar height to prevent anchor targets from scrolling behind it\n- `bottom` — sticks to the bottom of the scroll container with iOS safe-area-inset support",
169
+ "attribute": "position",
170
+ "reflects": true
171
+ },
172
+ {
173
+ "kind": "field",
174
+ "name": "accessibleLabel",
175
+ "type": {
176
+ "text": "string"
177
+ },
178
+ "default": "''",
179
+ "description": "Accessible label for the toolbar.\nRequired when multiple toolbars appear on the same page.\n\nAccepts both `accessible-label` and the standard `aria-label` HTML attribute.\nThe `accessible-label` attribute takes precedence when both are set.\n\nPreviously this was exposed as the `ariaLabel` JS property, which shadowed\nthe native `HTMLElement.ariaLabel`. That shadowing is removed; use\n`accessibleLabel` or the HTML attributes instead.",
180
+ "attribute": "accessible-label"
181
+ }
182
+ ],
183
+ "attributes": [
184
+ {
185
+ "name": "hx-size",
186
+ "type": {
187
+ "text": "'sm' | 'md' | 'lg'"
188
+ },
189
+ "default": "'md'",
190
+ "description": "Size of the action bar — propagated as a data attribute to slotted children.",
191
+ "fieldName": "size",
192
+ "attribute": "hx-size"
193
+ },
194
+ {
195
+ "name": "variant",
196
+ "type": {
197
+ "text": "'default' | 'outlined' | 'filled'"
198
+ },
199
+ "default": "'default'",
200
+ "description": "Visual variant controlling the bar background.",
201
+ "fieldName": "variant",
202
+ "attribute": "variant"
203
+ },
204
+ {
205
+ "name": "position",
206
+ "type": {
207
+ "text": "'top' | 'bottom' | 'sticky'"
208
+ },
209
+ "default": "'top'",
210
+ "description": "Position and sticky behavior of the action bar.\n- `top` — normal flow (default)\n- `sticky` — sticks to the top of the scroll container; add `scroll-padding-top` to the\n scroll container equal to the bar height to prevent anchor targets from scrolling behind it\n- `bottom` — sticks to the bottom of the scroll container with iOS safe-area-inset support",
211
+ "fieldName": "position",
212
+ "attribute": "position"
213
+ },
214
+ {
215
+ "name": "accessible-label",
216
+ "type": {
217
+ "text": "string"
218
+ },
219
+ "default": "''",
220
+ "description": "Accessible label for the toolbar.\nRequired when multiple toolbars appear on the same page.\n\nAccepts both `accessible-label` and the standard `aria-label` HTML attribute.\nThe `accessible-label` attribute takes precedence when both are set.\n\nPreviously this was exposed as the `ariaLabel` JS property, which shadowed\nthe native `HTMLElement.ariaLabel`. That shadowing is removed; use\n`accessibleLabel` or the HTML attributes instead.",
221
+ "fieldName": "accessibleLabel",
222
+ "attribute": "accessible-label"
223
+ }
224
+ ],
225
+ "superclass": {
226
+ "name": "HelixElement",
227
+ "module": "/src/base/index.js"
228
+ },
229
+ "tagName": "hx-action-bar",
230
+ "customElement": true,
231
+ "summary": "Horizontal action bar for grouping related controls.",
232
+ "aaaCertified": true,
233
+ "aaaCertifiedDate": "2026-05-08",
234
+ "helixMeta": {
235
+ "keyboardContract": {
236
+ "navigate": [
237
+ "Arrow"
238
+ ],
239
+ "activate": [
240
+ "Enter",
241
+ "Space"
242
+ ],
243
+ "disabledSuppresses": true
244
+ },
245
+ "ariaPattern": "toolbar",
246
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/",
247
+ "forcedColorsSupported": true,
248
+ "stability": "stable",
249
+ "since": "3.7.0",
250
+ "formAssociated": false,
251
+ "themeAware": true,
252
+ "brandAware": true,
253
+ "drupalSdcEligible": true,
254
+ "reactWrapperStatus": "complete",
255
+ "priorityTier": "P0",
256
+ "phiHandles": false,
257
+ "clinicalContext": "none",
258
+ "aaa": {
259
+ "certified": true,
260
+ "certifiedDate": "2026-05-08",
261
+ "criteria": [
262
+ "1.4.6",
263
+ "1.4.9",
264
+ "2.1.3",
265
+ "2.3.3",
266
+ "2.4.12",
267
+ "2.4.13",
268
+ "2.5.5",
269
+ "3.2.5",
270
+ "3.3.6",
271
+ "forced-colors",
272
+ "apg-keyboard"
273
+ ],
274
+ "auditUrl": "src/components/hx-action-bar/AAA-AUDIT.md"
275
+ },
276
+ "figma": {
277
+ "componentName": "hx-action-bar"
278
+ }
279
+ }
280
+ }
281
+ ],
282
+ "exports": [
283
+ {
284
+ "kind": "js",
285
+ "name": "HelixActionBar",
286
+ "declaration": {
287
+ "name": "HelixActionBar",
288
+ "module": "src/components/hx-action-bar/hx-action-bar.ts"
289
+ }
290
+ },
291
+ {
292
+ "kind": "custom-element-definition",
293
+ "name": "hx-action-bar",
294
+ "declaration": {
295
+ "name": "HelixActionBar",
296
+ "module": "src/components/hx-action-bar/hx-action-bar.ts"
297
+ }
298
+ }
299
+ ]
300
+ },
301
+ {
302
+ "kind": "javascript-module",
303
+ "path": "src/components/hx-action-bar/index.ts",
304
+ "declarations": [],
305
+ "exports": [
306
+ {
307
+ "kind": "js",
308
+ "name": "HelixActionBar",
309
+ "declaration": {
310
+ "name": "HelixActionBar",
311
+ "module": "./hx-action-bar.js"
312
+ }
313
+ }
314
+ ]
315
+ },
5
316
  {
6
317
  "kind": "javascript-module",
7
318
  "path": "src/components/hx-accordion/hx-accordion-item.ts",
@@ -325,272 +636,6 @@
325
636
  }
326
637
  ]
327
638
  },
328
- {
329
- "kind": "javascript-module",
330
- "path": "src/components/hx-action-bar/hx-action-bar.ts",
331
- "declarations": [
332
- {
333
- "kind": "class",
334
- "description": "A horizontal toolbar container for grouping related action buttons and controls.\nImplements the ARIA toolbar pattern with roving tabindex keyboard navigation.",
335
- "name": "HelixActionBar",
336
- "cssProperties": [
337
- {
338
- "description": "Bar background color (default variant).",
339
- "name": "--hx-action-bar-bg",
340
- "default": "transparent"
341
- },
342
- {
343
- "description": "Bar border (default variant).",
344
- "name": "--hx-action-bar-border",
345
- "default": "none"
346
- },
347
- {
348
- "description": "Inner padding.",
349
- "name": "--hx-action-bar-padding",
350
- "default": "var(--hx-space-2,0.5rem) var(--hx-space-3,0.75rem)"
351
- },
352
- {
353
- "description": "Gap between slotted items.",
354
- "name": "--hx-action-bar-gap",
355
- "default": "var(--hx-space-2,0.5rem)"
356
- },
357
- {
358
- "description": "Z-index when sticky or bottom position.",
359
- "name": "--hx-action-bar-z-index",
360
- "default": "10"
361
- },
362
- {
363
- "description": "Padding.",
364
- "name": "--hx-action-bar-padding-block-start",
365
- "default": "0px"
366
- },
367
- {
368
- "description": "Padding.",
369
- "name": "--hx-action-bar-padding-block-end",
370
- "default": "0px"
371
- },
372
- {
373
- "description": "CSS custom property.",
374
- "name": "--hx-border-radius-md"
375
- },
376
- {
377
- "description": "Width.",
378
- "name": "--hx-border-width-thin"
379
- },
380
- {
381
- "description": "Color.",
382
- "name": "--hx-color-neutral-0"
383
- },
384
- {
385
- "description": "Color.",
386
- "name": "--hx-color-neutral-200"
387
- },
388
- {
389
- "description": "Color.",
390
- "name": "--hx-color-neutral-50"
391
- },
392
- {
393
- "description": "Size token.",
394
- "name": "--hx-size-8"
395
- },
396
- {
397
- "description": "Size token.",
398
- "name": "--hx-size-10"
399
- },
400
- {
401
- "description": "Size token.",
402
- "name": "--hx-size-12"
403
- },
404
- {
405
- "description": "Spacing token.",
406
- "name": "--hx-space-1"
407
- },
408
- {
409
- "description": "Spacing token.",
410
- "name": "--hx-space-2"
411
- },
412
- {
413
- "description": "Spacing token.",
414
- "name": "--hx-space-3"
415
- },
416
- {
417
- "description": "Spacing token.",
418
- "name": "--hx-space-4"
419
- }
420
- ],
421
- "cssParts": [
422
- {
423
- "description": "The root toolbar container element.",
424
- "name": "base"
425
- },
426
- {
427
- "description": "The start (left) slot wrapper.",
428
- "name": "start"
429
- },
430
- {
431
- "description": "The center (default) slot wrapper.",
432
- "name": "center"
433
- },
434
- {
435
- "description": "The end (right) slot wrapper.",
436
- "name": "end"
437
- },
438
- {
439
- "description": "The overflow slot wrapper (hidden when no overflow content).",
440
- "name": "overflow"
441
- }
442
- ],
443
- "slots": [
444
- {
445
- "description": "Left-aligned actions.",
446
- "name": "start"
447
- },
448
- {
449
- "description": "Center content (default slot).",
450
- "name": ""
451
- },
452
- {
453
- "description": "Right-aligned actions.",
454
- "name": "end"
455
- },
456
- {
457
- "description": "Actions revealed when the bar is constrained for space.",
458
- "name": "overflow"
459
- }
460
- ],
461
- "members": [
462
- {
463
- "kind": "field",
464
- "name": "size",
465
- "type": {
466
- "text": "'sm' | 'md' | 'lg'"
467
- },
468
- "default": "'md'",
469
- "description": "Size of the action bar — propagated as a data attribute to slotted children.",
470
- "attribute": "hx-size",
471
- "reflects": true
472
- },
473
- {
474
- "kind": "field",
475
- "name": "variant",
476
- "type": {
477
- "text": "'default' | 'outlined' | 'filled'"
478
- },
479
- "default": "'default'",
480
- "description": "Visual variant controlling the bar background.",
481
- "attribute": "variant",
482
- "reflects": true
483
- },
484
- {
485
- "kind": "field",
486
- "name": "position",
487
- "type": {
488
- "text": "'top' | 'bottom' | 'sticky'"
489
- },
490
- "default": "'top'",
491
- "description": "Position and sticky behavior of the action bar.\n- `top` — normal flow (default)\n- `sticky` — sticks to the top of the scroll container; add `scroll-padding-top` to the\n scroll container equal to the bar height to prevent anchor targets from scrolling behind it\n- `bottom` — sticks to the bottom of the scroll container with iOS safe-area-inset support",
492
- "attribute": "position",
493
- "reflects": true
494
- },
495
- {
496
- "kind": "field",
497
- "name": "accessibleLabel",
498
- "type": {
499
- "text": "string"
500
- },
501
- "default": "''",
502
- "description": "Accessible label for the toolbar.\nRequired when multiple toolbars appear on the same page.\n\nAccepts both `accessible-label` and the standard `aria-label` HTML attribute.\nThe `accessible-label` attribute takes precedence when both are set.\n\nPreviously this was exposed as the `ariaLabel` JS property, which shadowed\nthe native `HTMLElement.ariaLabel`. That shadowing is removed; use\n`accessibleLabel` or the HTML attributes instead.",
503
- "attribute": "accessible-label"
504
- }
505
- ],
506
- "attributes": [
507
- {
508
- "name": "hx-size",
509
- "type": {
510
- "text": "'sm' | 'md' | 'lg'"
511
- },
512
- "default": "'md'",
513
- "description": "Size of the action bar — propagated as a data attribute to slotted children.",
514
- "fieldName": "size",
515
- "attribute": "hx-size"
516
- },
517
- {
518
- "name": "variant",
519
- "type": {
520
- "text": "'default' | 'outlined' | 'filled'"
521
- },
522
- "default": "'default'",
523
- "description": "Visual variant controlling the bar background.",
524
- "fieldName": "variant",
525
- "attribute": "variant"
526
- },
527
- {
528
- "name": "position",
529
- "type": {
530
- "text": "'top' | 'bottom' | 'sticky'"
531
- },
532
- "default": "'top'",
533
- "description": "Position and sticky behavior of the action bar.\n- `top` — normal flow (default)\n- `sticky` — sticks to the top of the scroll container; add `scroll-padding-top` to the\n scroll container equal to the bar height to prevent anchor targets from scrolling behind it\n- `bottom` — sticks to the bottom of the scroll container with iOS safe-area-inset support",
534
- "fieldName": "position",
535
- "attribute": "position"
536
- },
537
- {
538
- "name": "accessible-label",
539
- "type": {
540
- "text": "string"
541
- },
542
- "default": "''",
543
- "description": "Accessible label for the toolbar.\nRequired when multiple toolbars appear on the same page.\n\nAccepts both `accessible-label` and the standard `aria-label` HTML attribute.\nThe `accessible-label` attribute takes precedence when both are set.\n\nPreviously this was exposed as the `ariaLabel` JS property, which shadowed\nthe native `HTMLElement.ariaLabel`. That shadowing is removed; use\n`accessibleLabel` or the HTML attributes instead.",
544
- "fieldName": "accessibleLabel",
545
- "attribute": "accessible-label"
546
- }
547
- ],
548
- "superclass": {
549
- "name": "HelixElement",
550
- "module": "/src/base/index.js"
551
- },
552
- "tagName": "hx-action-bar",
553
- "customElement": true,
554
- "summary": "Horizontal action bar for grouping related controls.",
555
- "helixMeta": {
556
- "priorityTier": "P0"
557
- }
558
- }
559
- ],
560
- "exports": [
561
- {
562
- "kind": "js",
563
- "name": "HelixActionBar",
564
- "declaration": {
565
- "name": "HelixActionBar",
566
- "module": "src/components/hx-action-bar/hx-action-bar.ts"
567
- }
568
- },
569
- {
570
- "kind": "custom-element-definition",
571
- "name": "hx-action-bar",
572
- "declaration": {
573
- "name": "HelixActionBar",
574
- "module": "src/components/hx-action-bar/hx-action-bar.ts"
575
- }
576
- }
577
- ]
578
- },
579
- {
580
- "kind": "javascript-module",
581
- "path": "src/components/hx-action-bar/index.ts",
582
- "declarations": [],
583
- "exports": [
584
- {
585
- "kind": "js",
586
- "name": "HelixActionBar",
587
- "declaration": {
588
- "name": "HelixActionBar",
589
- "module": "./hx-action-bar.js"
590
- }
591
- }
592
- ]
593
- },
594
639
  {
595
640
  "kind": "javascript-module",
596
641
  "path": "src/components/hx-alert/hx-alert.ts",
@@ -2424,8 +2469,48 @@
2424
2469
  "tagName": "hx-banner",
2425
2470
  "customElement": true,
2426
2471
  "summary": "Full-width page-level banner for persistent notifications with variant-based styling and ARIA live regions.",
2472
+ "aaaCertified": true,
2473
+ "aaaCertifiedDate": "2026-05-09",
2427
2474
  "helixMeta": {
2428
- "priorityTier": "P0"
2475
+ "keyboardContract": {
2476
+ "dismiss": [
2477
+ "Escape"
2478
+ ]
2479
+ },
2480
+ "ariaPattern": "alert",
2481
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/alert/",
2482
+ "forcedColorsSupported": true,
2483
+ "stability": "stable",
2484
+ "since": "3.7.0",
2485
+ "formAssociated": false,
2486
+ "themeAware": true,
2487
+ "brandAware": true,
2488
+ "drupalSdcEligible": true,
2489
+ "reactWrapperStatus": "complete",
2490
+ "priorityTier": "P0",
2491
+ "phiHandles": false,
2492
+ "clinicalContext": "none",
2493
+ "aaa": {
2494
+ "certified": true,
2495
+ "certifiedDate": "2026-05-09",
2496
+ "criteria": [
2497
+ "1.4.6",
2498
+ "1.4.9",
2499
+ "2.1.3",
2500
+ "2.3.3",
2501
+ "2.4.12",
2502
+ "2.4.13",
2503
+ "2.5.5",
2504
+ "3.2.5",
2505
+ "3.3.6",
2506
+ "forced-colors",
2507
+ "apg-keyboard"
2508
+ ],
2509
+ "auditUrl": "src/components/hx-banner/AAA-AUDIT.md"
2510
+ },
2511
+ "figma": {
2512
+ "componentName": "hx-banner"
2513
+ }
2429
2514
  }
2430
2515
  }
2431
2516
  ],
@@ -2826,8 +2911,48 @@
2826
2911
  "tagName": "hx-breadcrumb",
2827
2912
  "customElement": true,
2828
2913
  "summary": "Navigation breadcrumb showing the page hierarchy. Works with Drupal's breadcrumb system.",
2914
+ "aaaCertified": true,
2915
+ "aaaCertifiedDate": "2026-05-08",
2829
2916
  "helixMeta": {
2830
- "priorityTier": "P0"
2917
+ "keyboardContract": {
2918
+ "navigate": [
2919
+ "Arrow"
2920
+ ]
2921
+ },
2922
+ "ariaPattern": "breadcrumb",
2923
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/",
2924
+ "forcedColorsSupported": true,
2925
+ "stability": "stable",
2926
+ "since": "3.7.0",
2927
+ "formAssociated": false,
2928
+ "themeAware": true,
2929
+ "brandAware": true,
2930
+ "drupalSdcEligible": true,
2931
+ "reactWrapperStatus": "complete",
2932
+ "priorityTier": "P0",
2933
+ "phiHandles": false,
2934
+ "clinicalContext": "none",
2935
+ "aaa": {
2936
+ "certified": true,
2937
+ "certifiedDate": "2026-05-08",
2938
+ "criteria": [
2939
+ "1.4.6",
2940
+ "1.4.9",
2941
+ "2.1.3",
2942
+ "2.3.3",
2943
+ "2.4.12",
2944
+ "2.4.13",
2945
+ "2.5.5",
2946
+ "3.2.5",
2947
+ "3.3.6",
2948
+ "forced-colors",
2949
+ "apg-keyboard"
2950
+ ],
2951
+ "auditUrl": "src/components/hx-breadcrumb/AAA-AUDIT.md"
2952
+ },
2953
+ "figma": {
2954
+ "componentName": "hx-breadcrumb"
2955
+ }
2831
2956
  }
2832
2957
  },
2833
2958
  {
@@ -3585,8 +3710,53 @@
3585
3710
  "tagName": "hx-button-group",
3586
3711
  "customElement": true,
3587
3712
  "summary": "Groups hx-button elements into a horizontal or vertical action set with shared borders.",
3713
+ "aaaCertified": true,
3714
+ "aaaCertifiedDate": "2026-05-08",
3588
3715
  "helixMeta": {
3589
- "priorityTier": "P0"
3716
+ "keyboardContract": {
3717
+ "navigate": [
3718
+ "Arrow"
3719
+ ],
3720
+ "activate": [
3721
+ "Enter",
3722
+ "Space"
3723
+ ],
3724
+ "disabledSuppresses": true
3725
+ },
3726
+ "ariaPattern": "toolbar",
3727
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/",
3728
+ "forcedColorsSupported": true,
3729
+ "stability": "stable",
3730
+ "since": "3.7.0",
3731
+ "formAssociated": false,
3732
+ "themeAware": true,
3733
+ "brandAware": true,
3734
+ "drupalSdcEligible": true,
3735
+ "reactWrapperStatus": "complete",
3736
+ "priorityTier": "P0",
3737
+ "phiHandles": false,
3738
+ "clinicalContext": "none",
3739
+ "aaa": {
3740
+ "certified": true,
3741
+ "certifiedDate": "2026-05-08",
3742
+ "criteria": [
3743
+ "1.4.6",
3744
+ "1.4.9",
3745
+ "2.1.3",
3746
+ "2.3.3",
3747
+ "2.4.12",
3748
+ "2.4.13",
3749
+ "2.5.5",
3750
+ "3.2.5",
3751
+ "3.3.6",
3752
+ "forced-colors",
3753
+ "apg-keyboard"
3754
+ ],
3755
+ "auditUrl": "src/components/hx-button-group/AAA-AUDIT.md"
3756
+ },
3757
+ "figma": {
3758
+ "componentName": "hx-button-group"
3759
+ }
3590
3760
  }
3591
3761
  }
3592
3762
  ],
@@ -5604,8 +5774,49 @@
5604
5774
  "tagName": "hx-checkbox-group",
5605
5775
  "customElement": true,
5606
5776
  "summary": "Form-associated checkbox group with label, validation, help text, and multi-value form submission.",
5777
+ "aaaCertified": true,
5778
+ "aaaCertifiedDate": "2026-05-08",
5607
5779
  "helixMeta": {
5608
- "priorityTier": "P0"
5780
+ "keyboardContract": {
5781
+ "navigate": [
5782
+ "Tab"
5783
+ ],
5784
+ "disabledSuppresses": true
5785
+ },
5786
+ "ariaPattern": "group",
5787
+ "ariaPatternSource": "https://www.w3.org/TR/wai-aria-1.2/#group",
5788
+ "forcedColorsSupported": true,
5789
+ "stability": "stable",
5790
+ "since": "3.7.0",
5791
+ "formAssociated": true,
5792
+ "themeAware": true,
5793
+ "brandAware": true,
5794
+ "drupalSdcEligible": true,
5795
+ "reactWrapperStatus": "complete",
5796
+ "priorityTier": "P0",
5797
+ "phiHandles": false,
5798
+ "clinicalContext": "none",
5799
+ "aaa": {
5800
+ "certified": true,
5801
+ "certifiedDate": "2026-05-08",
5802
+ "criteria": [
5803
+ "1.4.6",
5804
+ "1.4.9",
5805
+ "2.1.3",
5806
+ "2.3.3",
5807
+ "2.4.12",
5808
+ "2.4.13",
5809
+ "2.5.5",
5810
+ "3.2.5",
5811
+ "3.3.6",
5812
+ "forced-colors",
5813
+ "apg-keyboard"
5814
+ ],
5815
+ "auditUrl": "src/components/hx-checkbox-group/AAA-AUDIT.md"
5816
+ },
5817
+ "figma": {
5818
+ "componentName": "hx-checkbox-group"
5819
+ }
5609
5820
  }
5610
5821
  }
5611
5822
  ],
@@ -6107,8 +6318,47 @@
6107
6318
  "tagName": "hx-clinical-status",
6108
6319
  "customElement": true,
6109
6320
  "summary": "Clinical status indicator for standardized healthcare alert fatigue prevention.",
6321
+ "aaaCertified": true,
6322
+ "aaaCertifiedDate": "2026-05-09",
6110
6323
  "helixMeta": {
6111
- "priorityTier": "P0"
6324
+ "keyboardContract": {
6325
+ "dismiss": [
6326
+ "Escape"
6327
+ ]
6328
+ },
6329
+ "ariaPattern": "alert",
6330
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/alert/",
6331
+ "forcedColorsSupported": true,
6332
+ "stability": "stable",
6333
+ "since": "3.7.0",
6334
+ "formAssociated": false,
6335
+ "themeAware": true,
6336
+ "brandAware": true,
6337
+ "drupalSdcEligible": true,
6338
+ "reactWrapperStatus": "complete",
6339
+ "priorityTier": "P0",
6340
+ "phiHandles": true,
6341
+ "aaa": {
6342
+ "certified": true,
6343
+ "certifiedDate": "2026-05-09",
6344
+ "criteria": [
6345
+ "1.4.6",
6346
+ "1.4.9",
6347
+ "2.1.3",
6348
+ "2.3.3",
6349
+ "2.4.12",
6350
+ "2.4.13",
6351
+ "2.5.5",
6352
+ "3.2.5",
6353
+ "3.3.6",
6354
+ "forced-colors",
6355
+ "apg-keyboard"
6356
+ ],
6357
+ "auditUrl": "src/components/hx-clinical-status/AAA-AUDIT.md"
6358
+ },
6359
+ "figma": {
6360
+ "componentName": "hx-clinical-status"
6361
+ }
6112
6362
  }
6113
6363
  }
6114
6364
  ],
@@ -7544,8 +7794,59 @@
7544
7794
  "tagName": "hx-color-picker",
7545
7795
  "customElement": true,
7546
7796
  "summary": "Color selection control with swatches, gradient picker, and formatted input.",
7797
+ "aaaCertified": true,
7798
+ "aaaCertifiedDate": "2026-05-08",
7547
7799
  "helixMeta": {
7548
- "priorityTier": "P0"
7800
+ "keyboardContract": {
7801
+ "navigate": [
7802
+ "ArrowLeft",
7803
+ "ArrowRight",
7804
+ "ArrowUp",
7805
+ "ArrowDown",
7806
+ "Home",
7807
+ "End",
7808
+ "PageUp",
7809
+ "PageDown"
7810
+ ],
7811
+ "dismiss": [
7812
+ "Escape"
7813
+ ],
7814
+ "disabledSuppresses": true
7815
+ },
7816
+ "ariaPattern": "slider",
7817
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/slider/",
7818
+ "forcedColorsSupported": true,
7819
+ "stability": "stable",
7820
+ "since": "3.7.0",
7821
+ "formAssociated": true,
7822
+ "themeAware": true,
7823
+ "brandAware": true,
7824
+ "drupalSdcEligible": true,
7825
+ "reactWrapperStatus": "complete",
7826
+ "priorityTier": "P0",
7827
+ "phiHandles": false,
7828
+ "clinicalContext": "none",
7829
+ "aaa": {
7830
+ "certified": true,
7831
+ "certifiedDate": "2026-05-08",
7832
+ "criteria": [
7833
+ "1.4.6",
7834
+ "1.4.9",
7835
+ "2.1.3",
7836
+ "2.3.3",
7837
+ "2.4.12",
7838
+ "2.4.13",
7839
+ "2.5.5",
7840
+ "3.2.5",
7841
+ "3.3.6",
7842
+ "forced-colors",
7843
+ "apg-keyboard"
7844
+ ],
7845
+ "auditUrl": "src/components/hx-color-picker/AAA-AUDIT.md"
7846
+ },
7847
+ "figma": {
7848
+ "componentName": "hx-color-picker"
7849
+ }
7549
7850
  }
7550
7851
  },
7551
7852
  {
@@ -8370,8 +8671,57 @@
8370
8671
  "tagName": "hx-combobox",
8371
8672
  "customElement": true,
8372
8673
  "summary": "Form-associated combobox with autocomplete, filtering, and keyboard navigation.",
8674
+ "aaaCertified": true,
8675
+ "aaaCertifiedDate": "2026-05-08",
8373
8676
  "helixMeta": {
8374
- "priorityTier": "P0"
8677
+ "keyboardContract": {
8678
+ "navigate": [
8679
+ "Arrow",
8680
+ "Home",
8681
+ "End"
8682
+ ],
8683
+ "activate": [
8684
+ "Enter"
8685
+ ],
8686
+ "dismiss": [
8687
+ "Escape"
8688
+ ],
8689
+ "disabledSuppresses": true
8690
+ },
8691
+ "ariaPattern": "combobox",
8692
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/combobox/",
8693
+ "forcedColorsSupported": true,
8694
+ "stability": "stable",
8695
+ "since": "3.7.0",
8696
+ "formAssociated": true,
8697
+ "themeAware": true,
8698
+ "brandAware": true,
8699
+ "drupalSdcEligible": true,
8700
+ "reactWrapperStatus": "complete",
8701
+ "priorityTier": "P0",
8702
+ "phiHandles": false,
8703
+ "clinicalContext": "none",
8704
+ "aaa": {
8705
+ "certified": true,
8706
+ "certifiedDate": "2026-05-08",
8707
+ "criteria": [
8708
+ "1.4.6",
8709
+ "1.4.9",
8710
+ "2.1.3",
8711
+ "2.3.3",
8712
+ "2.4.12",
8713
+ "2.4.13",
8714
+ "2.5.5",
8715
+ "3.2.5",
8716
+ "3.3.6",
8717
+ "forced-colors",
8718
+ "apg-keyboard"
8719
+ ],
8720
+ "auditUrl": "src/components/hx-combobox/AAA-AUDIT.md"
8721
+ },
8722
+ "figma": {
8723
+ "componentName": "hx-combobox"
8724
+ }
8375
8725
  }
8376
8726
  }
8377
8727
  ],
@@ -8944,8 +9294,50 @@
8944
9294
  "tagName": "hx-copy-button",
8945
9295
  "customElement": true,
8946
9296
  "summary": "One-click clipboard copy with accessible success feedback.",
9297
+ "aaaCertified": true,
9298
+ "aaaCertifiedDate": "2026-05-08",
8947
9299
  "helixMeta": {
8948
- "priorityTier": "P0"
9300
+ "keyboardContract": {
9301
+ "activate": [
9302
+ "Enter",
9303
+ "Space"
9304
+ ],
9305
+ "disabledSuppresses": true
9306
+ },
9307
+ "ariaPattern": "button",
9308
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/button/",
9309
+ "forcedColorsSupported": true,
9310
+ "stability": "stable",
9311
+ "since": "3.7.0",
9312
+ "formAssociated": false,
9313
+ "themeAware": true,
9314
+ "brandAware": true,
9315
+ "drupalSdcEligible": true,
9316
+ "reactWrapperStatus": "complete",
9317
+ "priorityTier": "P0",
9318
+ "phiHandles": false,
9319
+ "clinicalContext": "none",
9320
+ "aaa": {
9321
+ "certified": true,
9322
+ "certifiedDate": "2026-05-08",
9323
+ "criteria": [
9324
+ "1.4.6",
9325
+ "1.4.9",
9326
+ "2.1.3",
9327
+ "2.3.3",
9328
+ "2.4.12",
9329
+ "2.4.13",
9330
+ "2.5.5",
9331
+ "3.2.5",
9332
+ "3.3.6",
9333
+ "forced-colors",
9334
+ "apg-keyboard"
9335
+ ],
9336
+ "auditUrl": "src/components/hx-copy-button/AAA-AUDIT.md"
9337
+ },
9338
+ "figma": {
9339
+ "componentName": "hx-copy-button"
9340
+ }
8949
9341
  }
8950
9342
  }
8951
9343
  ],
@@ -10594,8 +10986,49 @@
10594
10986
  "tagName": "hx-date-picker",
10595
10987
  "customElement": true,
10596
10988
  "summary": "Form-associated date picker with calendar popup and WCAG 2.1 AA accessibility.",
10989
+ "aaaCertified": true,
10990
+ "aaaCertifiedDate": "2026-05-08",
10597
10991
  "helixMeta": {
10598
- "priorityTier": "P0"
10992
+ "keyboardContract": {
10993
+ "dismiss": [
10994
+ "Escape"
10995
+ ],
10996
+ "trapFocus": "true"
10997
+ },
10998
+ "ariaPattern": "dialog",
10999
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/",
11000
+ "forcedColorsSupported": true,
11001
+ "stability": "stable",
11002
+ "since": "3.7.0",
11003
+ "formAssociated": true,
11004
+ "themeAware": true,
11005
+ "brandAware": true,
11006
+ "drupalSdcEligible": true,
11007
+ "reactWrapperStatus": "complete",
11008
+ "priorityTier": "P0",
11009
+ "phiHandles": false,
11010
+ "clinicalContext": "none",
11011
+ "aaa": {
11012
+ "certified": true,
11013
+ "certifiedDate": "2026-05-08",
11014
+ "criteria": [
11015
+ "1.4.6",
11016
+ "1.4.9",
11017
+ "2.1.3",
11018
+ "2.3.3",
11019
+ "2.4.12",
11020
+ "2.4.13",
11021
+ "2.5.5",
11022
+ "3.2.5",
11023
+ "3.3.6",
11024
+ "forced-colors",
11025
+ "apg-keyboard"
11026
+ ],
11027
+ "auditUrl": "src/components/hx-date-picker/AAA-AUDIT.md"
11028
+ },
11029
+ "figma": {
11030
+ "componentName": "hx-date-picker"
11031
+ }
10599
11032
  }
10600
11033
  }
10601
11034
  ],
@@ -11876,8 +12309,49 @@
11876
12309
  "tagName": "hx-drawer",
11877
12310
  "customElement": true,
11878
12311
  "summary": "Slide-in panel overlay from any viewport edge.",
12312
+ "aaaCertified": true,
12313
+ "aaaCertifiedDate": "2026-05-08",
11879
12314
  "helixMeta": {
11880
- "priorityTier": "P0"
12315
+ "keyboardContract": {
12316
+ "dismiss": [
12317
+ "Escape"
12318
+ ],
12319
+ "trapFocus": "true"
12320
+ },
12321
+ "ariaPattern": "dialog",
12322
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/",
12323
+ "forcedColorsSupported": true,
12324
+ "stability": "stable",
12325
+ "since": "3.7.0",
12326
+ "formAssociated": false,
12327
+ "themeAware": true,
12328
+ "brandAware": true,
12329
+ "drupalSdcEligible": true,
12330
+ "reactWrapperStatus": "complete",
12331
+ "priorityTier": "P0",
12332
+ "phiHandles": false,
12333
+ "clinicalContext": "none",
12334
+ "aaa": {
12335
+ "certified": true,
12336
+ "certifiedDate": "2026-05-08",
12337
+ "criteria": [
12338
+ "1.4.6",
12339
+ "1.4.9",
12340
+ "2.1.3",
12341
+ "2.3.3",
12342
+ "2.4.12",
12343
+ "2.4.13",
12344
+ "2.5.5",
12345
+ "3.2.5",
12346
+ "3.3.6",
12347
+ "forced-colors",
12348
+ "apg-keyboard"
12349
+ ],
12350
+ "auditUrl": "src/components/hx-drawer/AAA-AUDIT.md"
12351
+ },
12352
+ "figma": {
12353
+ "componentName": "hx-drawer"
12354
+ }
11881
12355
  }
11882
12356
  }
11883
12357
  ],
@@ -12136,8 +12610,58 @@
12136
12610
  "tagName": "hx-dropdown",
12137
12611
  "customElement": true,
12138
12612
  "summary": "Button that opens a floating menu panel on click.",
12613
+ "aaaCertified": true,
12614
+ "aaaCertifiedDate": "2026-05-08",
12139
12615
  "helixMeta": {
12140
- "priorityTier": "P0"
12616
+ "keyboardContract": {
12617
+ "navigate": [
12618
+ "Arrow",
12619
+ "Home",
12620
+ "End"
12621
+ ],
12622
+ "activate": [
12623
+ "Enter",
12624
+ "Space"
12625
+ ],
12626
+ "dismiss": [
12627
+ "Escape"
12628
+ ],
12629
+ "disabledSuppresses": true
12630
+ },
12631
+ "ariaPattern": "menu",
12632
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/menubar/",
12633
+ "forcedColorsSupported": true,
12634
+ "stability": "stable",
12635
+ "since": "3.7.0",
12636
+ "formAssociated": false,
12637
+ "themeAware": true,
12638
+ "brandAware": true,
12639
+ "drupalSdcEligible": true,
12640
+ "reactWrapperStatus": "complete",
12641
+ "priorityTier": "P0",
12642
+ "phiHandles": false,
12643
+ "clinicalContext": "none",
12644
+ "aaa": {
12645
+ "certified": true,
12646
+ "certifiedDate": "2026-05-08",
12647
+ "criteria": [
12648
+ "1.4.6",
12649
+ "1.4.9",
12650
+ "2.1.3",
12651
+ "2.3.3",
12652
+ "2.4.12",
12653
+ "2.4.13",
12654
+ "2.5.5",
12655
+ "3.2.5",
12656
+ "3.3.6",
12657
+ "forced-colors",
12658
+ "apg-keyboard"
12659
+ ],
12660
+ "auditUrl": "src/components/hx-dropdown/AAA-AUDIT.md"
12661
+ },
12662
+ "figma": {
12663
+ "componentName": "hx-dropdown"
12664
+ }
12141
12665
  }
12142
12666
  }
12143
12667
  ],
@@ -12481,8 +13005,42 @@
12481
13005
  "tagName": "hx-field",
12482
13006
  "customElement": true,
12483
13007
  "summary": "Layout wrapper for label, control, help text, and error message.",
13008
+ "aaaCertified": true,
13009
+ "aaaCertifiedDate": "2026-05-09",
12484
13010
  "helixMeta": {
12485
- "priorityTier": "P0"
13011
+ "ariaPattern": "label",
13012
+ "forcedColorsSupported": true,
13013
+ "stability": "stable",
13014
+ "since": "3.7.0",
13015
+ "formAssociated": false,
13016
+ "themeAware": true,
13017
+ "brandAware": true,
13018
+ "drupalSdcEligible": true,
13019
+ "reactWrapperStatus": "complete",
13020
+ "priorityTier": "P0",
13021
+ "phiHandles": false,
13022
+ "clinicalContext": "none",
13023
+ "aaa": {
13024
+ "certified": true,
13025
+ "certifiedDate": "2026-05-09",
13026
+ "criteria": [
13027
+ "1.4.6",
13028
+ "1.4.9",
13029
+ "2.1.3",
13030
+ "2.3.3",
13031
+ "2.4.12",
13032
+ "2.4.13",
13033
+ "2.5.5",
13034
+ "3.2.5",
13035
+ "3.3.6",
13036
+ "forced-colors",
13037
+ "apg-keyboard"
13038
+ ],
13039
+ "auditUrl": "src/components/hx-field/AAA-AUDIT.md"
13040
+ },
13041
+ "figma": {
13042
+ "componentName": "hx-field"
13043
+ }
12486
13044
  }
12487
13045
  }
12488
13046
  ],
@@ -12701,8 +13259,42 @@
12701
13259
  "tagName": "hx-field-label",
12702
13260
  "customElement": true,
12703
13261
  "summary": "Standardized label for form fields.",
13262
+ "aaaCertified": true,
13263
+ "aaaCertifiedDate": "2026-05-09",
12704
13264
  "helixMeta": {
12705
- "priorityTier": "P0"
13265
+ "ariaPattern": "label",
13266
+ "forcedColorsSupported": true,
13267
+ "stability": "stable",
13268
+ "since": "3.7.0",
13269
+ "formAssociated": false,
13270
+ "themeAware": true,
13271
+ "brandAware": true,
13272
+ "drupalSdcEligible": true,
13273
+ "reactWrapperStatus": "complete",
13274
+ "priorityTier": "P0",
13275
+ "phiHandles": false,
13276
+ "clinicalContext": "none",
13277
+ "aaa": {
13278
+ "certified": true,
13279
+ "certifiedDate": "2026-05-09",
13280
+ "criteria": [
13281
+ "1.4.6",
13282
+ "1.4.9",
13283
+ "2.1.3",
13284
+ "2.3.3",
13285
+ "2.4.12",
13286
+ "2.4.13",
13287
+ "2.5.5",
13288
+ "3.2.5",
13289
+ "3.3.6",
13290
+ "forced-colors",
13291
+ "apg-keyboard"
13292
+ ],
13293
+ "auditUrl": "src/components/hx-field-label/AAA-AUDIT.md"
13294
+ },
13295
+ "figma": {
13296
+ "componentName": "hx-field-label"
13297
+ }
12706
13298
  }
12707
13299
  }
12708
13300
  ],
@@ -13295,8 +13887,50 @@
13295
13887
  "tagName": "hx-file-upload",
13296
13888
  "customElement": true,
13297
13889
  "summary": "Form-associated file upload dropzone with drag-and-drop, validation, and progress tracking.",
13890
+ "aaaCertified": true,
13891
+ "aaaCertifiedDate": "2026-05-08",
13298
13892
  "helixMeta": {
13299
- "priorityTier": "P0"
13893
+ "keyboardContract": {
13894
+ "activate": [
13895
+ "Enter",
13896
+ "Space"
13897
+ ],
13898
+ "disabledSuppresses": true
13899
+ },
13900
+ "ariaPattern": "button",
13901
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/button/",
13902
+ "forcedColorsSupported": true,
13903
+ "stability": "stable",
13904
+ "since": "3.7.0",
13905
+ "formAssociated": true,
13906
+ "themeAware": true,
13907
+ "brandAware": true,
13908
+ "drupalSdcEligible": true,
13909
+ "reactWrapperStatus": "complete",
13910
+ "priorityTier": "P0",
13911
+ "phiHandles": false,
13912
+ "clinicalContext": "none",
13913
+ "aaa": {
13914
+ "certified": true,
13915
+ "certifiedDate": "2026-05-08",
13916
+ "criteria": [
13917
+ "1.4.6",
13918
+ "1.4.9",
13919
+ "2.1.3",
13920
+ "2.3.3",
13921
+ "2.4.12",
13922
+ "2.4.13",
13923
+ "2.5.5",
13924
+ "3.2.5",
13925
+ "3.3.6",
13926
+ "forced-colors",
13927
+ "apg-keyboard"
13928
+ ],
13929
+ "auditUrl": "src/components/hx-file-upload/AAA-AUDIT.md"
13930
+ },
13931
+ "figma": {
13932
+ "componentName": "hx-file-upload"
13933
+ }
13300
13934
  }
13301
13935
  }
13302
13936
  ],
@@ -13628,8 +14262,46 @@
13628
14262
  "tagName": "hx-form",
13629
14263
  "customElement": true,
13630
14264
  "summary": "Light DOM form wrapper with scoped styles for native and hx-* form elements.",
14265
+ "aaaCertified": true,
14266
+ "aaaCertifiedDate": "2026-05-09",
13631
14267
  "helixMeta": {
13632
- "priorityTier": "P0"
14268
+ "keyboardContract": {
14269
+ "submit": "Enter"
14270
+ },
14271
+ "ariaPattern": "form",
14272
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/landmarks/form.html",
14273
+ "forcedColorsSupported": true,
14274
+ "stability": "stable",
14275
+ "since": "3.7.0",
14276
+ "formAssociated": false,
14277
+ "themeAware": true,
14278
+ "brandAware": true,
14279
+ "drupalSdcEligible": true,
14280
+ "reactWrapperStatus": "complete",
14281
+ "priorityTier": "P0",
14282
+ "phiHandles": false,
14283
+ "clinicalContext": "none",
14284
+ "aaa": {
14285
+ "certified": true,
14286
+ "certifiedDate": "2026-05-09",
14287
+ "criteria": [
14288
+ "1.4.6",
14289
+ "1.4.9",
14290
+ "2.1.3",
14291
+ "2.3.3",
14292
+ "2.4.12",
14293
+ "2.4.13",
14294
+ "2.5.5",
14295
+ "3.2.5",
14296
+ "3.3.6",
14297
+ "forced-colors",
14298
+ "apg-keyboard"
14299
+ ],
14300
+ "auditUrl": "src/components/hx-form/AAA-AUDIT.md"
14301
+ },
14302
+ "figma": {
14303
+ "componentName": "hx-form"
14304
+ }
13633
14305
  }
13634
14306
  }
13635
14307
  ],
@@ -14468,8 +15140,42 @@
14468
15140
  "tagName": "hx-help-text",
14469
15141
  "customElement": true,
14470
15142
  "summary": "Help text displayed below form controls for guidance or validation feedback.",
15143
+ "aaaCertified": true,
15144
+ "aaaCertifiedDate": "2026-05-09",
14471
15145
  "helixMeta": {
14472
- "priorityTier": "P0"
15146
+ "ariaPattern": "label",
15147
+ "forcedColorsSupported": true,
15148
+ "stability": "stable",
15149
+ "since": "3.7.0",
15150
+ "formAssociated": false,
15151
+ "themeAware": true,
15152
+ "brandAware": true,
15153
+ "drupalSdcEligible": true,
15154
+ "reactWrapperStatus": "complete",
15155
+ "priorityTier": "P0",
15156
+ "phiHandles": false,
15157
+ "clinicalContext": "none",
15158
+ "aaa": {
15159
+ "certified": true,
15160
+ "certifiedDate": "2026-05-09",
15161
+ "criteria": [
15162
+ "1.4.6",
15163
+ "1.4.9",
15164
+ "2.1.3",
15165
+ "2.3.3",
15166
+ "2.4.12",
15167
+ "2.4.13",
15168
+ "2.5.5",
15169
+ "3.2.5",
15170
+ "3.3.6",
15171
+ "forced-colors",
15172
+ "apg-keyboard"
15173
+ ],
15174
+ "auditUrl": "src/components/hx-help-text/AAA-AUDIT.md"
15175
+ },
15176
+ "figma": {
15177
+ "componentName": "hx-help-text"
15178
+ }
14473
15179
  }
14474
15180
  }
14475
15181
  ],
@@ -15119,8 +15825,50 @@
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.6",
15856
+ "1.4.9",
15857
+ "2.1.3",
15858
+ "2.3.3",
15859
+ "2.4.12",
15860
+ "2.4.13",
15861
+ "2.5.5",
15862
+ "3.2.5",
15863
+ "3.3.6",
15864
+ "forced-colors",
15865
+ "apg-keyboard"
15866
+ ],
15867
+ "auditUrl": "src/components/hx-icon-button/AAA-AUDIT.md"
15868
+ },
15869
+ "figma": {
15870
+ "componentName": "hx-icon-button"
15871
+ }
15124
15872
  }
15125
15873
  }
15126
15874
  ],
@@ -16782,8 +17530,58 @@
16782
17530
  "tagName": "hx-menu",
16783
17531
  "customElement": true,
16784
17532
  "summary": "Context/action menu with keyboard-navigable items.",
17533
+ "aaaCertified": true,
17534
+ "aaaCertifiedDate": "2026-05-08",
16785
17535
  "helixMeta": {
16786
- "priorityTier": "P0"
17536
+ "keyboardContract": {
17537
+ "navigate": [
17538
+ "Arrow",
17539
+ "Home",
17540
+ "End"
17541
+ ],
17542
+ "activate": [
17543
+ "Enter",
17544
+ "Space"
17545
+ ],
17546
+ "dismiss": [
17547
+ "Escape"
17548
+ ],
17549
+ "disabledSuppresses": true
17550
+ },
17551
+ "ariaPattern": "menu",
17552
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/menubar/",
17553
+ "forcedColorsSupported": true,
17554
+ "stability": "stable",
17555
+ "since": "3.7.0",
17556
+ "formAssociated": false,
17557
+ "themeAware": true,
17558
+ "brandAware": true,
17559
+ "drupalSdcEligible": true,
17560
+ "reactWrapperStatus": "complete",
17561
+ "priorityTier": "P0",
17562
+ "phiHandles": false,
17563
+ "clinicalContext": "none",
17564
+ "aaa": {
17565
+ "certified": true,
17566
+ "certifiedDate": "2026-05-08",
17567
+ "criteria": [
17568
+ "1.4.6",
17569
+ "1.4.9",
17570
+ "2.1.3",
17571
+ "2.3.3",
17572
+ "2.4.12",
17573
+ "2.4.13",
17574
+ "2.5.5",
17575
+ "3.2.5",
17576
+ "3.3.6",
17577
+ "forced-colors",
17578
+ "apg-keyboard"
17579
+ ],
17580
+ "auditUrl": "src/components/hx-menu/AAA-AUDIT.md"
17581
+ },
17582
+ "figma": {
17583
+ "componentName": "hx-menu"
17584
+ }
16787
17585
  }
16788
17586
  }
16789
17587
  ],
@@ -17522,8 +18320,54 @@
17522
18320
  "tagName": "hx-nav",
17523
18321
  "customElement": true,
17524
18322
  "summary": "Navigation bar supporting horizontal and vertical layouts with nested submenus.",
18323
+ "aaaCertified": true,
18324
+ "aaaCertifiedDate": "2026-05-08",
17525
18325
  "helixMeta": {
17526
- "priorityTier": "P0"
18326
+ "keyboardContract": {
18327
+ "navigate": [
18328
+ "Arrow",
18329
+ "Home",
18330
+ "End"
18331
+ ],
18332
+ "activate": [
18333
+ "Enter",
18334
+ "Space"
18335
+ ]
18336
+ },
18337
+ "ariaPattern": "navigation",
18338
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/landmarks/navigation.html",
18339
+ "forcedColorsSupported": true,
18340
+ "stability": "stable",
18341
+ "since": "3.7.0",
18342
+ "formAssociated": false,
18343
+ "themeAware": true,
18344
+ "brandAware": true,
18345
+ "drupalSdcEligible": true,
18346
+ "reactWrapperStatus": "complete",
18347
+ "priorityTier": "P0",
18348
+ "phiHandles": false,
18349
+ "clinicalContext": "none",
18350
+ "aaa": {
18351
+ "certified": true,
18352
+ "certifiedDate": "2026-05-08",
18353
+ "criteria": [
18354
+ "1.4.6",
18355
+ "1.4.9",
18356
+ "2.1.3",
18357
+ "2.3.3",
18358
+ "2.4.12",
18359
+ "2.4.13",
18360
+ "2.5.5",
18361
+ "3.2.5",
18362
+ "3.3.6",
18363
+ "forced-colors",
18364
+ "apg-keyboard"
18365
+ ],
18366
+ "auditUrl": "src/components/hx-nav/AAA-AUDIT.md"
18367
+ },
18368
+ "figma": {
18369
+ "componentName": "hx-nav"
18370
+ }
17527
18371
  }
17528
18372
  }
17529
18373
  ],
@@ -18203,8 +19047,53 @@
18203
19047
  "tagName": "hx-number-input",
18204
19048
  "customElement": true,
18205
19049
  "summary": "Form-associated numeric input with stepper buttons, bounds checking,\nlabel, error, and help text.",
19050
+ "aaaCertified": true,
19051
+ "aaaCertifiedDate": "2026-05-08",
18206
19052
  "helixMeta": {
18207
- "priorityTier": "P0"
19053
+ "keyboardContract": {
19054
+ "activate": [
19055
+ "character-input"
19056
+ ],
19057
+ "navigate": [
19058
+ "ArrowUp",
19059
+ "ArrowDown"
19060
+ ],
19061
+ "disabledSuppresses": true
19062
+ },
19063
+ "ariaPattern": "spinbutton",
19064
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/spinbutton/",
19065
+ "forcedColorsSupported": true,
19066
+ "stability": "stable",
19067
+ "since": "3.7.0",
19068
+ "formAssociated": true,
19069
+ "themeAware": true,
19070
+ "brandAware": true,
19071
+ "drupalSdcEligible": true,
19072
+ "reactWrapperStatus": "complete",
19073
+ "priorityTier": "P0",
19074
+ "phiHandles": false,
19075
+ "clinicalContext": "none",
19076
+ "aaa": {
19077
+ "certified": true,
19078
+ "certifiedDate": "2026-05-08",
19079
+ "criteria": [
19080
+ "1.4.6",
19081
+ "1.4.9",
19082
+ "2.1.3",
19083
+ "2.3.3",
19084
+ "2.4.12",
19085
+ "2.4.13",
19086
+ "2.5.5",
19087
+ "3.2.5",
19088
+ "3.3.6",
19089
+ "forced-colors",
19090
+ "apg-keyboard"
19091
+ ],
19092
+ "auditUrl": "src/components/hx-number-input/AAA-AUDIT.md"
19093
+ },
19094
+ "figma": {
19095
+ "componentName": "hx-number-input"
19096
+ }
18208
19097
  }
18209
19098
  }
18210
19099
  ],
@@ -18583,8 +19472,58 @@
18583
19472
  "tagName": "hx-overflow-menu",
18584
19473
  "customElement": true,
18585
19474
  "summary": "\"...\" or kebab icon button that reveals hidden actions.",
19475
+ "aaaCertified": true,
19476
+ "aaaCertifiedDate": "2026-05-08",
18586
19477
  "helixMeta": {
18587
- "priorityTier": "P0"
19478
+ "keyboardContract": {
19479
+ "navigate": [
19480
+ "Arrow",
19481
+ "Home",
19482
+ "End"
19483
+ ],
19484
+ "activate": [
19485
+ "Enter",
19486
+ "Space"
19487
+ ],
19488
+ "dismiss": [
19489
+ "Escape"
19490
+ ],
19491
+ "disabledSuppresses": true
19492
+ },
19493
+ "ariaPattern": "menu",
19494
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/menubar/",
19495
+ "forcedColorsSupported": true,
19496
+ "stability": "stable",
19497
+ "since": "3.7.0",
19498
+ "formAssociated": false,
19499
+ "themeAware": true,
19500
+ "brandAware": true,
19501
+ "drupalSdcEligible": true,
19502
+ "reactWrapperStatus": "complete",
19503
+ "priorityTier": "P0",
19504
+ "phiHandles": false,
19505
+ "clinicalContext": "none",
19506
+ "aaa": {
19507
+ "certified": true,
19508
+ "certifiedDate": "2026-05-08",
19509
+ "criteria": [
19510
+ "1.4.6",
19511
+ "1.4.9",
19512
+ "2.1.3",
19513
+ "2.3.3",
19514
+ "2.4.12",
19515
+ "2.4.13",
19516
+ "2.5.5",
19517
+ "3.2.5",
19518
+ "3.3.6",
19519
+ "forced-colors",
19520
+ "apg-keyboard"
19521
+ ],
19522
+ "auditUrl": "src/components/hx-overflow-menu/AAA-AUDIT.md"
19523
+ },
19524
+ "figma": {
19525
+ "componentName": "hx-overflow-menu"
19526
+ }
18588
19527
  }
18589
19528
  }
18590
19529
  ],
@@ -20297,8 +21236,49 @@
20297
21236
  "tagName": "hx-popover",
20298
21237
  "customElement": true,
20299
21238
  "summary": "Rich floating overlay attached to a trigger element.",
21239
+ "aaaCertified": true,
21240
+ "aaaCertifiedDate": "2026-05-08",
20300
21241
  "helixMeta": {
20301
- "priorityTier": "P0"
21242
+ "keyboardContract": {
21243
+ "dismiss": [
21244
+ "Escape"
21245
+ ],
21246
+ "trapFocus": "true"
21247
+ },
21248
+ "ariaPattern": "dialog",
21249
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/",
21250
+ "forcedColorsSupported": true,
21251
+ "stability": "stable",
21252
+ "since": "3.7.0",
21253
+ "formAssociated": false,
21254
+ "themeAware": true,
21255
+ "brandAware": true,
21256
+ "drupalSdcEligible": true,
21257
+ "reactWrapperStatus": "complete",
21258
+ "priorityTier": "P0",
21259
+ "phiHandles": false,
21260
+ "clinicalContext": "none",
21261
+ "aaa": {
21262
+ "certified": true,
21263
+ "certifiedDate": "2026-05-08",
21264
+ "criteria": [
21265
+ "1.4.6",
21266
+ "1.4.9",
21267
+ "2.1.3",
21268
+ "2.3.3",
21269
+ "2.4.12",
21270
+ "2.4.13",
21271
+ "2.5.5",
21272
+ "3.2.5",
21273
+ "3.3.6",
21274
+ "forced-colors",
21275
+ "apg-keyboard"
21276
+ ],
21277
+ "auditUrl": "src/components/hx-popover/AAA-AUDIT.md"
21278
+ },
21279
+ "figma": {
21280
+ "componentName": "hx-popover"
21281
+ }
20302
21282
  }
20303
21283
  }
20304
21284
  ],
@@ -20698,8 +21678,43 @@
20698
21678
  "tagName": "hx-popup",
20699
21679
  "customElement": true,
20700
21680
  "summary": "Low-level popup positioning utility.",
21681
+ "aaaCertified": true,
21682
+ "aaaCertifiedDate": "2026-05-08",
20701
21683
  "helixMeta": {
20702
- "priorityTier": "P0"
21684
+ "ariaPattern": "none",
21685
+ "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).",
21686
+ "forcedColorsSupported": true,
21687
+ "stability": "stable",
21688
+ "since": "3.7.0",
21689
+ "formAssociated": false,
21690
+ "themeAware": true,
21691
+ "brandAware": true,
21692
+ "drupalSdcEligible": true,
21693
+ "reactWrapperStatus": "complete",
21694
+ "priorityTier": "P0",
21695
+ "phiHandles": false,
21696
+ "clinicalContext": "none",
21697
+ "aaa": {
21698
+ "certified": true,
21699
+ "certifiedDate": "2026-05-08",
21700
+ "criteria": [
21701
+ "1.4.6",
21702
+ "1.4.9",
21703
+ "2.1.3",
21704
+ "2.3.3",
21705
+ "2.4.12",
21706
+ "2.4.13",
21707
+ "2.5.5",
21708
+ "3.2.5",
21709
+ "3.3.6",
21710
+ "forced-colors",
21711
+ "apg-keyboard"
21712
+ ],
21713
+ "auditUrl": "src/components/hx-popup/AAA-AUDIT.md"
21714
+ },
21715
+ "figma": {
21716
+ "componentName": "hx-popup"
21717
+ }
20703
21718
  }
20704
21719
  }
20705
21720
  ],
@@ -21865,8 +22880,52 @@
21865
22880
  "tagName": "hx-radio-group",
21866
22881
  "customElement": true,
21867
22882
  "summary": "Form-associated radio group with label, validation, help text, and keyboard navigation.",
22883
+ "aaaCertified": true,
22884
+ "aaaCertifiedDate": "2026-05-08",
21868
22885
  "helixMeta": {
21869
- "priorityTier": "P0"
22886
+ "keyboardContract": {
22887
+ "navigate": [
22888
+ "Arrow"
22889
+ ],
22890
+ "activate": [
22891
+ "Space"
22892
+ ],
22893
+ "disabledSuppresses": true
22894
+ },
22895
+ "ariaPattern": "radiogroup",
22896
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/radio/",
22897
+ "forcedColorsSupported": true,
22898
+ "stability": "stable",
22899
+ "since": "3.7.0",
22900
+ "formAssociated": true,
22901
+ "themeAware": true,
22902
+ "brandAware": true,
22903
+ "drupalSdcEligible": true,
22904
+ "reactWrapperStatus": "complete",
22905
+ "priorityTier": "P0",
22906
+ "phiHandles": false,
22907
+ "clinicalContext": "none",
22908
+ "aaa": {
22909
+ "certified": true,
22910
+ "certifiedDate": "2026-05-08",
22911
+ "criteria": [
22912
+ "1.4.6",
22913
+ "1.4.9",
22914
+ "2.1.3",
22915
+ "2.3.3",
22916
+ "2.4.12",
22917
+ "2.4.13",
22918
+ "2.5.5",
22919
+ "3.2.5",
22920
+ "3.3.6",
22921
+ "forced-colors",
22922
+ "apg-keyboard"
22923
+ ],
22924
+ "auditUrl": "src/components/hx-radio-group/AAA-AUDIT.md"
22925
+ },
22926
+ "figma": {
22927
+ "componentName": "hx-radio-group"
22928
+ }
21870
22929
  }
21871
22930
  }
21872
22931
  ],
@@ -22489,8 +23548,52 @@
22489
23548
  "tagName": "hx-rating",
22490
23549
  "customElement": true,
22491
23550
  "summary": "Star rating input for user feedback and display.",
23551
+ "aaaCertified": true,
23552
+ "aaaCertifiedDate": "2026-05-09",
22492
23553
  "helixMeta": {
22493
- "priorityTier": "P0"
23554
+ "keyboardContract": {
23555
+ "navigate": [
23556
+ "Arrow"
23557
+ ],
23558
+ "activate": [
23559
+ "Space"
23560
+ ],
23561
+ "disabledSuppresses": true
23562
+ },
23563
+ "ariaPattern": "radiogroup",
23564
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/radio/",
23565
+ "forcedColorsSupported": true,
23566
+ "stability": "stable",
23567
+ "since": "3.7.0",
23568
+ "formAssociated": true,
23569
+ "themeAware": true,
23570
+ "brandAware": true,
23571
+ "drupalSdcEligible": true,
23572
+ "reactWrapperStatus": "complete",
23573
+ "priorityTier": "P0",
23574
+ "phiHandles": false,
23575
+ "clinicalContext": "none",
23576
+ "aaa": {
23577
+ "certified": true,
23578
+ "certifiedDate": "2026-05-09",
23579
+ "criteria": [
23580
+ "1.4.6",
23581
+ "1.4.9",
23582
+ "2.1.3",
23583
+ "2.3.3",
23584
+ "2.4.12",
23585
+ "2.4.13",
23586
+ "2.5.5",
23587
+ "3.2.5",
23588
+ "3.3.6",
23589
+ "forced-colors",
23590
+ "apg-keyboard"
23591
+ ],
23592
+ "auditUrl": "src/components/hx-rating/AAA-AUDIT.md"
23593
+ },
23594
+ "figma": {
23595
+ "componentName": "hx-rating"
23596
+ }
22494
23597
  }
22495
23598
  }
22496
23599
  ],
@@ -23224,8 +24327,57 @@
23224
24327
  "tagName": "hx-select",
23225
24328
  "customElement": true,
23226
24329
  "summary": "Form-associated custom select with label, error, and help text.",
24330
+ "aaaCertified": true,
24331
+ "aaaCertifiedDate": "2026-05-08",
23227
24332
  "helixMeta": {
23228
- "priorityTier": "P0"
24333
+ "keyboardContract": {
24334
+ "navigate": [
24335
+ "Arrow",
24336
+ "Home",
24337
+ "End"
24338
+ ],
24339
+ "activate": [
24340
+ "Enter"
24341
+ ],
24342
+ "dismiss": [
24343
+ "Escape"
24344
+ ],
24345
+ "disabledSuppresses": true
24346
+ },
24347
+ "ariaPattern": "combobox",
24348
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/combobox/",
24349
+ "forcedColorsSupported": true,
24350
+ "stability": "stable",
24351
+ "since": "3.7.0",
24352
+ "formAssociated": true,
24353
+ "themeAware": true,
24354
+ "brandAware": true,
24355
+ "drupalSdcEligible": true,
24356
+ "reactWrapperStatus": "complete",
24357
+ "priorityTier": "P0",
24358
+ "phiHandles": false,
24359
+ "clinicalContext": "none",
24360
+ "aaa": {
24361
+ "certified": true,
24362
+ "certifiedDate": "2026-05-08",
24363
+ "criteria": [
24364
+ "1.4.6",
24365
+ "1.4.9",
24366
+ "2.1.3",
24367
+ "2.3.3",
24368
+ "2.4.12",
24369
+ "2.4.13",
24370
+ "2.5.5",
24371
+ "3.2.5",
24372
+ "3.3.6",
24373
+ "forced-colors",
24374
+ "apg-keyboard"
24375
+ ],
24376
+ "auditUrl": "src/components/hx-select/AAA-AUDIT.md"
24377
+ },
24378
+ "figma": {
24379
+ "componentName": "hx-select"
24380
+ }
23229
24381
  }
23230
24382
  }
23231
24383
  ],
@@ -23696,8 +24848,54 @@
23696
24848
  "tagName": "hx-side-nav",
23697
24849
  "customElement": true,
23698
24850
  "summary": "Collapsible side navigation panel for enterprise healthcare applications.",
24851
+ "aaaCertified": true,
24852
+ "aaaCertifiedDate": "2026-05-08",
23699
24853
  "helixMeta": {
23700
- "priorityTier": "P0"
24854
+ "keyboardContract": {
24855
+ "navigate": [
24856
+ "Arrow",
24857
+ "Home",
24858
+ "End"
24859
+ ],
24860
+ "activate": [
24861
+ "Enter",
24862
+ "Space"
24863
+ ]
24864
+ },
24865
+ "ariaPattern": "navigation",
24866
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/landmarks/navigation.html",
24867
+ "forcedColorsSupported": true,
24868
+ "stability": "stable",
24869
+ "since": "3.7.0",
24870
+ "formAssociated": false,
24871
+ "themeAware": true,
24872
+ "brandAware": true,
24873
+ "drupalSdcEligible": true,
24874
+ "reactWrapperStatus": "complete",
24875
+ "priorityTier": "P0",
24876
+ "phiHandles": false,
24877
+ "clinicalContext": "none",
24878
+ "aaa": {
24879
+ "certified": true,
24880
+ "certifiedDate": "2026-05-08",
24881
+ "criteria": [
24882
+ "1.4.6",
24883
+ "1.4.9",
24884
+ "2.1.3",
24885
+ "2.3.3",
24886
+ "2.4.12",
24887
+ "2.4.13",
24888
+ "2.5.5",
24889
+ "3.2.5",
24890
+ "3.3.6",
24891
+ "forced-colors",
24892
+ "apg-keyboard"
24893
+ ],
24894
+ "auditUrl": "src/components/hx-side-nav/AAA-AUDIT.md"
24895
+ },
24896
+ "figma": {
24897
+ "componentName": "hx-side-nav"
24898
+ }
23701
24899
  }
23702
24900
  }
23703
24901
  ],
@@ -24567,8 +25765,53 @@
24567
25765
  "tagName": "hx-slider",
24568
25766
  "customElement": true,
24569
25767
  "summary": "Form-associated range slider with label, ticks, and value display.",
25768
+ "aaaCertified": true,
25769
+ "aaaCertifiedDate": "2026-05-09",
24570
25770
  "helixMeta": {
24571
- "priorityTier": "P0"
25771
+ "keyboardContract": {
25772
+ "navigate": [
25773
+ "Arrow",
25774
+ "Home",
25775
+ "End",
25776
+ "PageUp",
25777
+ "PageDown"
25778
+ ],
25779
+ "disabledSuppresses": true
25780
+ },
25781
+ "ariaPattern": "slider",
25782
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/slider/",
25783
+ "forcedColorsSupported": true,
25784
+ "stability": "stable",
25785
+ "since": "3.7.0",
25786
+ "formAssociated": true,
25787
+ "themeAware": true,
25788
+ "brandAware": true,
25789
+ "drupalSdcEligible": true,
25790
+ "reactWrapperStatus": "complete",
25791
+ "priorityTier": "P0",
25792
+ "phiHandles": false,
25793
+ "clinicalContext": "none",
25794
+ "aaa": {
25795
+ "certified": true,
25796
+ "certifiedDate": "2026-05-09",
25797
+ "criteria": [
25798
+ "1.4.6",
25799
+ "1.4.9",
25800
+ "2.1.3",
25801
+ "2.3.3",
25802
+ "2.4.12",
25803
+ "2.4.13",
25804
+ "2.5.5",
25805
+ "3.2.5",
25806
+ "3.3.6",
25807
+ "forced-colors",
25808
+ "apg-keyboard"
25809
+ ],
25810
+ "auditUrl": "src/components/hx-slider/AAA-AUDIT.md"
25811
+ },
25812
+ "figma": {
25813
+ "componentName": "hx-slider"
25814
+ }
24572
25815
  }
24573
25816
  }
24574
25817
  ],
@@ -25248,8 +26491,50 @@
25248
26491
  "tagName": "hx-split-button",
25249
26492
  "customElement": true,
25250
26493
  "summary": "Primary action button with attached dropdown menu for secondary actions.",
26494
+ "aaaCertified": true,
26495
+ "aaaCertifiedDate": "2026-05-08",
25251
26496
  "helixMeta": {
25252
- "priorityTier": "P0"
26497
+ "keyboardContract": {
26498
+ "activate": [
26499
+ "Enter",
26500
+ "Space"
26501
+ ],
26502
+ "disabledSuppresses": true
26503
+ },
26504
+ "ariaPattern": "button",
26505
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/button/",
26506
+ "forcedColorsSupported": true,
26507
+ "stability": "stable",
26508
+ "since": "3.7.0",
26509
+ "formAssociated": false,
26510
+ "themeAware": true,
26511
+ "brandAware": true,
26512
+ "drupalSdcEligible": true,
26513
+ "reactWrapperStatus": "complete",
26514
+ "priorityTier": "P0",
26515
+ "phiHandles": false,
26516
+ "clinicalContext": "none",
26517
+ "aaa": {
26518
+ "certified": true,
26519
+ "certifiedDate": "2026-05-08",
26520
+ "criteria": [
26521
+ "1.4.6",
26522
+ "1.4.9",
26523
+ "2.1.3",
26524
+ "2.3.3",
26525
+ "2.4.12",
26526
+ "2.4.13",
26527
+ "2.5.5",
26528
+ "3.2.5",
26529
+ "3.3.6",
26530
+ "forced-colors",
26531
+ "apg-keyboard"
26532
+ ],
26533
+ "auditUrl": "src/components/hx-split-button/AAA-AUDIT.md"
26534
+ },
26535
+ "figma": {
26536
+ "componentName": "hx-split-button"
26537
+ }
25253
26538
  }
25254
26539
  }
25255
26540
  ],
@@ -28034,8 +29319,49 @@
28034
29319
  "tagName": "hx-switch",
28035
29320
  "customElement": true,
28036
29321
  "summary": "Form-associated toggle switch with label, error, and help text.",
29322
+ "aaaCertified": true,
29323
+ "aaaCertifiedDate": "2026-05-08",
28037
29324
  "helixMeta": {
28038
- "priorityTier": "P0"
29325
+ "keyboardContract": {
29326
+ "activate": [
29327
+ "Space"
29328
+ ],
29329
+ "disabledSuppresses": true
29330
+ },
29331
+ "ariaPattern": "switch",
29332
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/switch/",
29333
+ "forcedColorsSupported": true,
29334
+ "stability": "stable",
29335
+ "since": "3.7.0",
29336
+ "formAssociated": true,
29337
+ "themeAware": true,
29338
+ "brandAware": true,
29339
+ "drupalSdcEligible": true,
29340
+ "reactWrapperStatus": "complete",
29341
+ "priorityTier": "P0",
29342
+ "phiHandles": false,
29343
+ "clinicalContext": "none",
29344
+ "aaa": {
29345
+ "certified": true,
29346
+ "certifiedDate": "2026-05-08",
29347
+ "criteria": [
29348
+ "1.4.6",
29349
+ "1.4.9",
29350
+ "2.1.3",
29351
+ "2.3.3",
29352
+ "2.4.12",
29353
+ "2.4.13",
29354
+ "2.5.5",
29355
+ "3.2.5",
29356
+ "3.3.6",
29357
+ "forced-colors",
29358
+ "apg-keyboard"
29359
+ ],
29360
+ "auditUrl": "src/components/hx-switch/AAA-AUDIT.md"
29361
+ },
29362
+ "figma": {
29363
+ "componentName": "hx-switch"
29364
+ }
28039
29365
  }
28040
29366
  }
28041
29367
  ],
@@ -29477,8 +30803,55 @@
29477
30803
  "tagName": "hx-tabs",
29478
30804
  "customElement": true,
29479
30805
  "summary": "Tab container that organizes content into selectable panels.",
30806
+ "aaaCertified": true,
30807
+ "aaaCertifiedDate": "2026-05-08",
29480
30808
  "helixMeta": {
29481
- "priorityTier": "P0"
30809
+ "keyboardContract": {
30810
+ "navigate": [
30811
+ "Arrow",
30812
+ "Home",
30813
+ "End"
30814
+ ],
30815
+ "activate": [
30816
+ "Enter",
30817
+ "Space"
30818
+ ],
30819
+ "disabledSuppresses": true
30820
+ },
30821
+ "ariaPattern": "tabs",
30822
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/tabs/",
30823
+ "forcedColorsSupported": true,
30824
+ "stability": "stable",
30825
+ "since": "3.7.0",
30826
+ "formAssociated": false,
30827
+ "themeAware": true,
30828
+ "brandAware": true,
30829
+ "drupalSdcEligible": true,
30830
+ "reactWrapperStatus": "complete",
30831
+ "priorityTier": "P0",
30832
+ "phiHandles": false,
30833
+ "clinicalContext": "none",
30834
+ "aaa": {
30835
+ "certified": true,
30836
+ "certifiedDate": "2026-05-08",
30837
+ "criteria": [
30838
+ "1.4.6",
30839
+ "1.4.9",
30840
+ "2.1.3",
30841
+ "2.3.3",
30842
+ "2.4.12",
30843
+ "2.4.13",
30844
+ "2.5.5",
30845
+ "3.2.5",
30846
+ "3.3.6",
30847
+ "forced-colors",
30848
+ "apg-keyboard"
30849
+ ],
30850
+ "auditUrl": "src/components/hx-tabs/AAA-AUDIT.md"
30851
+ },
30852
+ "figma": {
30853
+ "componentName": "hx-tabs"
30854
+ }
29482
30855
  }
29483
30856
  }
29484
30857
  ],
@@ -31561,8 +32934,49 @@
31561
32934
  "tagName": "hx-textarea",
31562
32935
  "customElement": true,
31563
32936
  "summary": "Form-associated textarea with built-in label, error, help text, character counter, and auto-resize.",
32937
+ "aaaCertified": true,
32938
+ "aaaCertifiedDate": "2026-05-08",
31564
32939
  "helixMeta": {
31565
- "priorityTier": "P0"
32940
+ "keyboardContract": {
32941
+ "activate": [
32942
+ "character-input"
32943
+ ],
32944
+ "disabledSuppresses": true
32945
+ },
32946
+ "ariaPattern": "textbox",
32947
+ "ariaPatternSource": "https://www.w3.org/TR/wai-aria-1.2/#textbox",
32948
+ "forcedColorsSupported": true,
32949
+ "stability": "stable",
32950
+ "since": "3.7.0",
32951
+ "formAssociated": true,
32952
+ "themeAware": true,
32953
+ "brandAware": true,
32954
+ "drupalSdcEligible": true,
32955
+ "reactWrapperStatus": "complete",
32956
+ "priorityTier": "P0",
32957
+ "phiHandles": false,
32958
+ "clinicalContext": "none",
32959
+ "aaa": {
32960
+ "certified": true,
32961
+ "certifiedDate": "2026-05-08",
32962
+ "criteria": [
32963
+ "1.4.6",
32964
+ "1.4.9",
32965
+ "2.1.3",
32966
+ "2.3.3",
32967
+ "2.4.12",
32968
+ "2.4.13",
32969
+ "2.5.5",
32970
+ "3.2.5",
32971
+ "3.3.6",
32972
+ "forced-colors",
32973
+ "apg-keyboard"
32974
+ ],
32975
+ "auditUrl": "src/components/hx-textarea/AAA-AUDIT.md"
32976
+ },
32977
+ "figma": {
32978
+ "componentName": "hx-textarea"
32979
+ }
31566
32980
  }
31567
32981
  }
31568
32982
  ],
@@ -32405,8 +33819,49 @@
32405
33819
  "tagName": "hx-time-picker",
32406
33820
  "customElement": true,
32407
33821
  "summary": "Form-associated time picker with 12h/24h format support and dropdown listbox.",
33822
+ "aaaCertified": true,
33823
+ "aaaCertifiedDate": "2026-05-08",
32408
33824
  "helixMeta": {
32409
- "priorityTier": "P0"
33825
+ "keyboardContract": {
33826
+ "dismiss": [
33827
+ "Escape"
33828
+ ],
33829
+ "trapFocus": "true"
33830
+ },
33831
+ "ariaPattern": "dialog",
33832
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/",
33833
+ "forcedColorsSupported": true,
33834
+ "stability": "stable",
33835
+ "since": "3.7.0",
33836
+ "formAssociated": true,
33837
+ "themeAware": true,
33838
+ "brandAware": true,
33839
+ "drupalSdcEligible": true,
33840
+ "reactWrapperStatus": "complete",
33841
+ "priorityTier": "P0",
33842
+ "phiHandles": false,
33843
+ "clinicalContext": "none",
33844
+ "aaa": {
33845
+ "certified": true,
33846
+ "certifiedDate": "2026-05-08",
33847
+ "criteria": [
33848
+ "1.4.6",
33849
+ "1.4.9",
33850
+ "2.1.3",
33851
+ "2.3.3",
33852
+ "2.4.12",
33853
+ "2.4.13",
33854
+ "2.5.5",
33855
+ "3.2.5",
33856
+ "3.3.6",
33857
+ "forced-colors",
33858
+ "apg-keyboard"
33859
+ ],
33860
+ "auditUrl": "src/components/hx-time-picker/AAA-AUDIT.md"
33861
+ },
33862
+ "figma": {
33863
+ "componentName": "hx-time-picker"
33864
+ }
32410
33865
  }
32411
33866
  }
32412
33867
  ],
@@ -32893,8 +34348,48 @@
32893
34348
  "tagName": "hx-toast",
32894
34349
  "customElement": true,
32895
34350
  "summary": "Transient notification toast component.",
34351
+ "aaaCertified": true,
34352
+ "aaaCertifiedDate": "2026-05-09",
32896
34353
  "helixMeta": {
32897
- "priorityTier": "P0"
34354
+ "keyboardContract": {
34355
+ "dismiss": [
34356
+ "Escape"
34357
+ ]
34358
+ },
34359
+ "ariaPattern": "alert",
34360
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/alert/",
34361
+ "forcedColorsSupported": true,
34362
+ "stability": "stable",
34363
+ "since": "3.7.0",
34364
+ "formAssociated": false,
34365
+ "themeAware": true,
34366
+ "brandAware": true,
34367
+ "drupalSdcEligible": true,
34368
+ "reactWrapperStatus": "complete",
34369
+ "priorityTier": "P0",
34370
+ "phiHandles": false,
34371
+ "clinicalContext": "none",
34372
+ "aaa": {
34373
+ "certified": true,
34374
+ "certifiedDate": "2026-05-09",
34375
+ "criteria": [
34376
+ "1.4.6",
34377
+ "1.4.9",
34378
+ "2.1.3",
34379
+ "2.3.3",
34380
+ "2.4.12",
34381
+ "2.4.13",
34382
+ "2.5.5",
34383
+ "3.2.5",
34384
+ "3.3.6",
34385
+ "forced-colors",
34386
+ "apg-keyboard"
34387
+ ],
34388
+ "auditUrl": "src/components/hx-toast/AAA-AUDIT.md"
34389
+ },
34390
+ "figma": {
34391
+ "componentName": "hx-toast"
34392
+ }
32898
34393
  }
32899
34394
  }
32900
34395
  ],
@@ -33527,8 +35022,50 @@
33527
35022
  "tagName": "hx-toggle-button",
33528
35023
  "customElement": true,
33529
35024
  "summary": "Two-state toggle button with pressed/unpressed ARIA semantics.",
35025
+ "aaaCertified": true,
35026
+ "aaaCertifiedDate": "2026-05-08",
33530
35027
  "helixMeta": {
33531
- "priorityTier": "P0"
35028
+ "keyboardContract": {
35029
+ "activate": [
35030
+ "Enter",
35031
+ "Space"
35032
+ ],
35033
+ "disabledSuppresses": true
35034
+ },
35035
+ "ariaPattern": "button",
35036
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/button/",
35037
+ "forcedColorsSupported": true,
35038
+ "stability": "stable",
35039
+ "since": "3.7.0",
35040
+ "formAssociated": true,
35041
+ "themeAware": true,
35042
+ "brandAware": true,
35043
+ "drupalSdcEligible": true,
35044
+ "reactWrapperStatus": "complete",
35045
+ "priorityTier": "P0",
35046
+ "phiHandles": false,
35047
+ "clinicalContext": "none",
35048
+ "aaa": {
35049
+ "certified": true,
35050
+ "certifiedDate": "2026-05-08",
35051
+ "criteria": [
35052
+ "1.4.6",
35053
+ "1.4.9",
35054
+ "2.1.3",
35055
+ "2.3.3",
35056
+ "2.4.12",
35057
+ "2.4.13",
35058
+ "2.5.5",
35059
+ "3.2.5",
35060
+ "3.3.6",
35061
+ "forced-colors",
35062
+ "apg-keyboard"
35063
+ ],
35064
+ "auditUrl": "src/components/hx-toggle-button/AAA-AUDIT.md"
35065
+ },
35066
+ "figma": {
35067
+ "componentName": "hx-toggle-button"
35068
+ }
33532
35069
  }
33533
35070
  }
33534
35071
  ],
@@ -33777,8 +35314,48 @@
33777
35314
  "tagName": "hx-tooltip",
33778
35315
  "customElement": true,
33779
35316
  "summary": "Contextual help text and abbreviations with smart positioning.",
35317
+ "aaaCertified": true,
35318
+ "aaaCertifiedDate": "2026-05-08",
33780
35319
  "helixMeta": {
33781
- "priorityTier": "P0"
35320
+ "keyboardContract": {
35321
+ "dismiss": [
35322
+ "Escape"
35323
+ ]
35324
+ },
35325
+ "ariaPattern": "tooltip",
35326
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/",
35327
+ "forcedColorsSupported": true,
35328
+ "stability": "stable",
35329
+ "since": "3.7.0",
35330
+ "formAssociated": false,
35331
+ "themeAware": true,
35332
+ "brandAware": true,
35333
+ "drupalSdcEligible": true,
35334
+ "reactWrapperStatus": "complete",
35335
+ "priorityTier": "P0",
35336
+ "phiHandles": false,
35337
+ "clinicalContext": "none",
35338
+ "aaa": {
35339
+ "certified": true,
35340
+ "certifiedDate": "2026-05-08",
35341
+ "criteria": [
35342
+ "1.4.6",
35343
+ "1.4.9",
35344
+ "2.1.3",
35345
+ "2.3.3",
35346
+ "2.4.12",
35347
+ "2.4.13",
35348
+ "2.5.5",
35349
+ "3.2.5",
35350
+ "3.3.6",
35351
+ "forced-colors",
35352
+ "apg-keyboard"
35353
+ ],
35354
+ "auditUrl": "src/components/hx-tooltip/AAA-AUDIT.md"
35355
+ },
35356
+ "figma": {
35357
+ "componentName": "hx-tooltip"
35358
+ }
33782
35359
  }
33783
35360
  }
33784
35361
  ],
@@ -34047,8 +35624,54 @@
34047
35624
  "tagName": "hx-top-nav",
34048
35625
  "customElement": true,
34049
35626
  "summary": "Site-level navigation bar with logo, nav items, and action slots.",
35627
+ "aaaCertified": true,
35628
+ "aaaCertifiedDate": "2026-05-08",
34050
35629
  "helixMeta": {
34051
- "priorityTier": "P0"
35630
+ "keyboardContract": {
35631
+ "navigate": [
35632
+ "Arrow",
35633
+ "Home",
35634
+ "End"
35635
+ ],
35636
+ "activate": [
35637
+ "Enter",
35638
+ "Space"
35639
+ ]
35640
+ },
35641
+ "ariaPattern": "navigation",
35642
+ "ariaPatternSource": "https://www.w3.org/WAI/ARIA/apg/patterns/landmarks/navigation.html",
35643
+ "forcedColorsSupported": true,
35644
+ "stability": "stable",
35645
+ "since": "3.7.0",
35646
+ "formAssociated": false,
35647
+ "themeAware": true,
35648
+ "brandAware": true,
35649
+ "drupalSdcEligible": true,
35650
+ "reactWrapperStatus": "complete",
35651
+ "priorityTier": "P0",
35652
+ "phiHandles": false,
35653
+ "clinicalContext": "none",
35654
+ "aaa": {
35655
+ "certified": true,
35656
+ "certifiedDate": "2026-05-08",
35657
+ "criteria": [
35658
+ "1.4.6",
35659
+ "1.4.9",
35660
+ "2.1.3",
35661
+ "2.3.3",
35662
+ "2.4.12",
35663
+ "2.4.13",
35664
+ "2.5.5",
35665
+ "3.2.5",
35666
+ "3.3.6",
35667
+ "forced-colors",
35668
+ "apg-keyboard"
35669
+ ],
35670
+ "auditUrl": "src/components/hx-top-nav/AAA-AUDIT.md"
35671
+ },
35672
+ "figma": {
35673
+ "componentName": "hx-top-nav"
35674
+ }
34052
35675
  }
34053
35676
  }
34054
35677
  ],