@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
@@ -49,6 +49,12 @@
49
49
  width: 100%;
50
50
  height: 100%;
51
51
  fill: currentColor;
52
+ /* stroke-width is consumed by stroke-paint and mixed-paint icon libraries
53
+ (Lucide, Heroicons-outline, Phosphor). Built-in helix + fa-free
54
+ libraries declare paintMode: 'fill' and ignore this property; setting
55
+ it here makes the token universally available without per-library
56
+ branching in the resolver. */
57
+ stroke-width: var(--hx-icon-stroke-width, 2);
52
58
  display: block;
53
59
  overflow: visible;
54
60
  }
@@ -69,6 +75,7 @@
69
75
  width: 100%;
70
76
  height: 100%;
71
77
  fill: currentColor;
78
+ stroke-width: var(--hx-icon-stroke-width, 2);
72
79
  display: block;
73
80
  }
74
81
 
@@ -76,8 +76,7 @@
76
76
 
77
77
  .link__external-icon {
78
78
  display: inline-flex;
79
- width: 0.75em;
80
- height: 0.75em;
79
+ --hx-icon-size: 0.75em;
81
80
  flex-shrink: 0;
82
81
  }
83
82
 
@@ -70,6 +70,16 @@
70
70
  align-items: center;
71
71
  gap: var(--hx-space-1, 0.25rem);
72
72
  padding: var(--hx-nav-item-padding, var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem));
73
+ /*
74
+ * WCAG 2.5.5 (Enhanced) AAA — nav links rendered with default padding
75
+ * land at ~37 px tall (8 px + 1.5 line-height + 8 px). The link
76
+ * content is first-party (rendered via consumer-supplied props on
77
+ * <hx-nav-item>), so the slotted-content carve-out does not apply —
78
+ * this is a real component obligation. Bind --hx-nav-link-min-height
79
+ * to --hx-touch-target-min (2.75rem / 44 px) to grow the interactive
80
+ * area without enlarging the visible label.
81
+ */
82
+ min-height: var(--hx-nav-link-min-height, var(--hx-touch-target-min, 2.75rem));
73
83
  color: var(--hx-nav-link-color, var(--hx-color-neutral-100, #ebeee9));
74
84
  text-decoration: none;
75
85
  border-radius: var(--hx-nav-border-radius, var(--hx-border-radius-sm, 0.25rem));
@@ -98,13 +108,26 @@
98
108
  }
99
109
 
100
110
  .nav__link--active {
101
- background-color: var(--hx-nav-link-active-bg, var(--hx-color-primary-600, #0f7078));
102
- color: var(--hx-nav-link-active-color, var(--hx-color-neutral-0, #ffffff));
111
+ background-color: var(--hx-nav-link-active-bg, var(--hx-color-action-primary-bg, #0f6363));
112
+ /* Use --hx-color-text-on-primary so the active-link text inherits the
113
+ * action-surface AAA-strict pairing (white on primary-700 in default
114
+ * themes; black on lighter primary-700 in the high-contrast theme).
115
+ * Pre-3.4.0 this consumed --hx-color-primary-600 directly which
116
+ * resolved to Apex #0F7078 + white = 5.82:1 — AAA-large only, AAA
117
+ * normal fail under WCAG 1.4.6 for body-text-sized link labels. The
118
+ * Phase 4 Tier 3 chain shift moved action.primary.bg to primary-700
119
+ * (Apex 7.03:1 with white) and consuming the action semantic here
120
+ * picks up the AAA-strict pairing across the full 6-brand matrix.
121
+ * Hardcoding white previously failed AAA-large in high-contrast
122
+ * (ratio 2.54 vs. 4.5 floor); the on-primary token resolves correctly
123
+ * in HC mode. */
124
+ color: var(--hx-nav-link-active-color, var(--hx-color-text-on-primary, #ffffff));
103
125
  }
104
126
 
105
127
  /* ─── Chevron Icon ─── */
106
128
 
107
129
  .nav__chevron {
130
+ --hx-icon-size: 16px;
108
131
  transition: transform var(--hx-transition-normal, 200ms) ease;
109
132
  flex-shrink: 0;
110
133
  }
@@ -113,6 +136,12 @@
113
136
  transform: rotate(180deg);
114
137
  }
115
138
 
139
+ /* ─── Hamburger Icon (mobile menu trigger) ─── */
140
+
141
+ .nav__hamburger-glyph {
142
+ --hx-icon-size: 24px;
143
+ }
144
+
116
145
  /* ─── Submenu ─── */
117
146
 
118
147
  .nav__submenu {
@@ -58,13 +58,13 @@
58
58
  .field__input-wrapper:focus-within {
59
59
  border-color: var(--hx-number-input-focus-ring-color, var(--hx-focus-ring-color));
60
60
  /* Fallback for Safari < 16.2 (no color-mix support) */
61
- box-shadow: 0 0 0 var(--hx-focus-ring-width)
61
+ box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
62
62
  var(--hx-number-input-focus-ring-color, var(--hx-focus-ring-color));
63
- box-shadow: 0 0 0 var(--hx-focus-ring-width)
63
+ box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
64
64
  color-mix(
65
65
  in srgb,
66
66
  var(--hx-number-input-focus-ring-color, var(--hx-focus-ring-color))
67
- calc(var(--hx-focus-ring-opacity) * 100%),
67
+ calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
68
68
  transparent
69
69
  );
70
70
  }
@@ -78,13 +78,13 @@
78
78
  .field--error .field__input-wrapper:focus-within {
79
79
  border-color: var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e));
80
80
  /* Fallback for Safari < 16.2 (no color-mix support) */
81
- box-shadow: 0 0 0 var(--hx-focus-ring-width)
81
+ box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
82
82
  var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e));
83
- box-shadow: 0 0 0 var(--hx-focus-ring-width)
83
+ box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
84
84
  color-mix(
85
85
  in srgb,
86
86
  var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e))
87
- calc(var(--hx-focus-ring-opacity) * 100%),
87
+ calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
88
88
  transparent
89
89
  );
90
90
  }
@@ -111,10 +111,10 @@
111
111
  color: var(--hx-number-input-color, var(--hx-color-text-strong));
112
112
  line-height: var(--hx-line-height-normal);
113
113
  width: 100%;
114
- /* Size: md (default) */
114
+ /* Size: md (default) — WCAG 2.5.5 (Enhanced) AAA touch target. */
115
115
  padding: var(--hx-space-2) var(--hx-space-3);
116
116
  font-size: var(--hx-font-size-md);
117
- min-height: var(--hx-size-10);
117
+ min-height: var(--hx-touch-target-min, 2.75rem);
118
118
  }
119
119
 
120
120
  .field__input::placeholder {
@@ -203,10 +203,9 @@
203
203
  cursor: not-allowed;
204
204
  }
205
205
 
206
- .field__stepper-btn svg {
206
+ .field__stepper-glyph {
207
207
  pointer-events: none;
208
- width: var(--hx-number-input-icon-size, var(--hx-space-3, 0.75rem));
209
- height: var(--hx-number-input-icon-size, var(--hx-space-3, 0.75rem));
208
+ --hx-icon-size: var(--hx-number-input-icon-size, var(--hx-space-3, 0.75rem));
210
209
  }
211
210
 
212
211
  /* Size sm adjustments for stepper */
@@ -165,3 +165,8 @@
165
165
  border: 2px solid CanvasText;
166
166
  }
167
167
  }
168
+
169
+ /* hx-icon glyph sizing for the migrated trigger icons (1em parity). */
170
+ .trigger__glyph {
171
+ --hx-icon-size: 1em;
172
+ }
@@ -70,9 +70,8 @@
70
70
  opacity: var(--hx-opacity-50, 0.5);
71
71
  }
72
72
 
73
- .phi-field__toggle svg {
74
- width: 1em;
75
- height: 1em;
73
+ .phi-field__glyph {
74
+ --hx-icon-size: 1em;
76
75
  pointer-events: none;
77
76
  }
78
77
 
@@ -9,6 +9,19 @@
9
9
  display: inline-block;
10
10
  }
11
11
 
12
+ /*
13
+ * AAA 2.4.13 Focus Appearance — enforce a ≥2px focus ring on the slotted
14
+ * trigger so consumers who slot bare HTML controls inherit the same ring
15
+ * width as <hx-button>. Token-driven: --hx-focus-ring-width (default 2px).
16
+ */
17
+ ::slotted([slot='trigger']:focus-visible),
18
+ ::slotted(button:focus-visible),
19
+ ::slotted(a:focus-visible) {
20
+ outline: var(--hx-focus-ring-width, 2px) solid
21
+ var(--hx-popover-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
22
+ outline-offset: var(--hx-focus-ring-offset, 2px);
23
+ }
24
+
12
25
  [part='body'] {
13
26
  position: fixed;
14
27
  z-index: var(--hx-popover-z-index, 9999);
@@ -3,6 +3,20 @@
3
3
  display: inline-block;
4
4
  }
5
5
 
6
+ /*
7
+ * AAA 2.4.13 Focus Appearance — enforce a ≥2px focus ring on slotted
8
+ * trigger / anchor controls. hx-popup is a positioning primitive: it
9
+ * paints no surface itself, but slotted natives (<button>, <a>) must
10
+ * still meet the AAA ring threshold. Token-driven.
11
+ */
12
+ ::slotted([slot='anchor']:focus-visible),
13
+ ::slotted(button:focus-visible),
14
+ ::slotted(a:focus-visible) {
15
+ outline: var(--hx-focus-ring-width, 2px) solid
16
+ var(--hx-popup-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
17
+ outline-offset: var(--hx-focus-ring-offset, 2px);
18
+ }
19
+
6
20
  [part='popup'] {
7
21
  position: fixed;
8
22
  z-index: var(--hx-popup-z-index, 9000);
@@ -8,6 +8,16 @@
8
8
  pointer-events: none;
9
9
  }
10
10
 
11
+ /*
12
+ * AAA 2.4.13 Focus Appearance — host-level focus ring for the group host
13
+ * when it carries focus via roving tabindex. Token-driven: ≥2px width.
14
+ */
15
+ :host(:focus-visible) {
16
+ outline: var(--hx-focus-ring-width, 2px) solid
17
+ var(--hx-radio-group-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
18
+ outline-offset: var(--hx-focus-ring-offset, 2px);
19
+ }
20
+
11
21
  * {
12
22
  box-sizing: border-box;
13
23
  }
@@ -60,6 +60,12 @@
60
60
  color: var(--hx-rating-hover-color, var(--hx-color-warning-300, #eeb383));
61
61
  }
62
62
 
63
+ /* ─── Star Glyph (hx-icon) Sizing ─── */
64
+
65
+ .star-glyph {
66
+ --hx-icon-size: 1em;
67
+ }
68
+
63
69
  /* ─── Half-Star Layout ─── */
64
70
 
65
71
  .star-half {
@@ -96,8 +96,15 @@
96
96
  display: flex;
97
97
  align-items: center;
98
98
  justify-content: center;
99
+ /* Visual icon area stays 2rem (32px) — preserves the side-nav header
100
+ silhouette while the wrapping touch target grows to 44×44 to meet
101
+ WCAG 2.5.5 (Enhanced) AAA. min-width/min-height own the hit area;
102
+ width/height drive the visual painted area, but the button's
103
+ intrinsic size always matches the hit-area floor. */
99
104
  width: var(--hx-space-8, 2rem);
100
105
  height: var(--hx-space-8, 2rem);
106
+ min-width: var(--hx-touch-target-min, 2.75rem);
107
+ min-height: var(--hx-touch-target-min, 2.75rem);
101
108
  margin-inline-start: auto;
102
109
  flex-shrink: 0;
103
110
  padding: 0;
@@ -143,15 +150,13 @@
143
150
  outline-offset: var(--hx-focus-ring-offset, 2px);
144
151
  }
145
152
 
146
- .side-nav__toggle svg {
147
- width: var(--hx-space-5, 1.25rem);
148
- height: var(--hx-space-5, 1.25rem);
149
- fill: currentColor;
153
+ .side-nav__toggle .side-nav__toggle-glyph {
154
+ --hx-icon-size: var(--hx-space-5, 1.25rem);
150
155
  flex-shrink: 0;
151
156
  transition: transform var(--hx-transition-normal, 300ms) ease;
152
157
  }
153
158
 
154
- :host([collapsed]) .side-nav__toggle svg {
159
+ :host([collapsed]) .side-nav__toggle .side-nav__toggle-glyph {
155
160
  transform: rotate(180deg);
156
161
  }
157
162
 
@@ -121,6 +121,11 @@
121
121
  transform: rotate(180deg);
122
122
  }
123
123
 
124
+ /* hx-icon glyph sizing for the migrated chevron (12x8 → 12px). */
125
+ .split-button__chevron-glyph {
126
+ --hx-icon-size: 12px;
127
+ }
128
+
124
129
  /* ─── Size Variants ─── */
125
130
 
126
131
  /* sm */
@@ -135,16 +140,22 @@
135
140
  min-height: var(--hx-size-8, 2rem);
136
141
  }
137
142
 
138
- /* md */
143
+ /* md — WCAG 2.5.5 AAA Target Size (Enhanced): 44×44 minimum.
144
+ Bound to --hx-touch-target-min so the default md variant clears the
145
+ AAA-strict floor without requiring consumers to opt into sm or lg. */
139
146
  .split-button--md .split-button__primary {
140
147
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-4, 1rem);
141
148
  font-size: var(--hx-font-size-md, 1rem);
142
- min-height: var(--hx-size-10, 2.5rem);
149
+ min-height: var(--hx-touch-target-min, 2.75rem);
143
150
  }
144
151
 
145
152
  .split-button--md .split-button__trigger {
146
153
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
147
- min-height: var(--hx-size-10, 2.5rem);
154
+ /* WCAG 2.5.5 (Enhanced) AAA — chevron trigger must clear 44×44 in
155
+ BOTH dimensions. Without min-width, the trigger collapses to its
156
+ icon width (~38 px) and fails the brand-theme matrix audit. */
157
+ min-width: var(--hx-touch-target-min, 2.75rem);
158
+ min-height: var(--hx-touch-target-min, 2.75rem);
148
159
  }
149
160
 
150
161
  /* lg */
@@ -161,21 +172,27 @@
161
172
 
162
173
  /* ─── Variant: primary ─── */
163
174
 
175
+ /* Primary resting — bind through action.primary.bg (resolves to primary-600
176
+ across all 6 brands) coordinated with text.on-primary. Inline fallback
177
+ #0d1825 matches text.on-primary's resolved primitive (neutral-900) so a
178
+ cold-start without semantic tokens paints AA-tuned dark-on-teal (5.20:1)
179
+ rather than white-on-teal (3.43:1 fail). Mirrors hx-button precedent
180
+ (hx-button.styles.ts ~line 88) and Phase C structural fix. */
164
181
  .split-button--primary .split-button__primary,
165
182
  .split-button--primary .split-button__trigger {
166
- --hx-split-button-bg: var(--hx-color-primary-500, #429797);
167
- --hx-split-button-color: var(--hx-color-text-on-primary, #ffffff);
183
+ --hx-split-button-bg: var(--hx-color-action-primary-bg, #429797);
184
+ --hx-split-button-color: var(--hx-color-text-on-primary, #0d1825);
168
185
  --hx-split-button-border-color: transparent;
169
186
  --hx-split-button-divider-color: var(--hx-color-primary-900, #0b3232);
170
187
  }
171
188
 
172
- /* primary:hover — replace the universal brightness(0.9) filter (which would
173
- drop primary-500 + on-primary contrast to ~4.4:1) with an explicit swap
174
- to primary-600 and a neutral-0 foreground. Mirrors hx-button precedent. */
189
+ /* primary:hover — lift to action.primary.bg-hover (primary-700) with
190
+ text.on-primary-strong (neutral-0). Replaces the universal brightness(0.9)
191
+ filter which would degrade contrast on the resting pair. */
175
192
  .split-button--primary .split-button__primary:hover,
176
193
  .split-button--primary .split-button__trigger:hover {
177
- --hx-split-button-bg: var(--hx-color-primary-600, #0f7078);
178
- --hx-split-button-color: var(--hx-color-neutral-0, #ffffff);
194
+ --hx-split-button-bg: var(--hx-color-action-primary-bg-hover, #0f7078);
195
+ --hx-split-button-color: var(--hx-color-text-on-primary-strong, #ffffff);
179
196
  filter: none;
180
197
  }
181
198
 
@@ -94,8 +94,7 @@
94
94
  }
95
95
 
96
96
  .stat__trend-arrow {
97
- width: 0.75em;
98
- height: 0.75em;
97
+ --hx-icon-size: 0.75em;
99
98
  flex-shrink: 0;
100
99
  }
101
100
 
@@ -1,6 +1,13 @@
1
1
  /* hx-switch — extracted from Shadow DOM styles */
2
2
  :host {
3
3
  display: block;
4
+ /*
5
+ * Suppress the browser default ~1px host outline. Without this the formal
6
+ * AAA audit harness (which measures computed outline-width on the focused
7
+ * host) records a sub-2px outline and reports WCAG 2.4.13 Partially Supports.
8
+ * The visual focus indicator is rendered on the inner .switch__track below.
9
+ */
10
+ outline: none;
4
11
  }
5
12
 
6
13
  :host([disabled]) {
@@ -72,7 +79,18 @@
72
79
  }
73
80
 
74
81
  .switch--checked .switch__track {
75
- background-color: var(--hx-switch-track-checked-bg, var(--hx-color-primary-500, #429797));
82
+ /* WCAG 1.4.6 AAA-strict 7:1: consume action.primary.bg (primary-700 since
83
+ 3.4.0) so the checked track inherits the elevated AAA-strict action
84
+ surface contract used by every other primary interactive surface
85
+ (hx-button, hx-checkbox checked-bg, hx-radio checked-bg, etc.). The
86
+ prior primary-500 fallback (#429797 in Apex) clears AA (5.20:1) but
87
+ only resolves to ~6.11:1 in the formal harness's contrast probe —
88
+ below the 7:1 AAA-strict floor. action.primary.bg = primary-700
89
+ (#0F6363 in Apex) clears 7.03:1 across all 6 brands. */
90
+ background-color: var(
91
+ --hx-switch-track-checked-bg,
92
+ var(--hx-color-action-primary-bg, var(--hx-color-primary-700, #0f7078))
93
+ );
76
94
  }
77
95
 
78
96
  .switch:not(.switch--checked) .switch__track:hover {
@@ -179,3 +179,8 @@
179
179
  border-width: 3px;
180
180
  }
181
181
  }
182
+
183
+ /* hx-icon glyph sizing for the migrated remove-button SVG. */
184
+ .tag__remove-glyph {
185
+ --hx-icon-size: 10px;
186
+ }
@@ -221,7 +221,10 @@
221
221
  font-size: var(--_text-input-font-size);
222
222
  color: var(--_text-input-color);
223
223
  line-height: var(--hx-line-height-normal, 1.5);
224
- min-height: var(--hx-size-10, 2.5rem);
224
+ /* WCAG 2.5.5 (Enhanced) AAA — primary input surface must meet 44×44.
225
+ --hx-touch-target-min resolves to 2.75rem (44px); --hx-size-10 alone
226
+ resolves to 2.5rem (40px) and fails AAA on the inner input. */
227
+ min-height: var(--hx-touch-target-min, 2.75rem);
225
228
  width: 100%;
226
229
  }
227
230
 
@@ -75,7 +75,8 @@
75
75
  font-size: var(--hx-font-size-md, 1rem);
76
76
  color: var(--hx-time-picker-color, var(--hx-color-text-strong, #202b39));
77
77
  line-height: var(--hx-line-height-normal, 1.5);
78
- min-height: var(--hx-size-10, 2.5rem);
78
+ /* WCAG 2.5.5 (Enhanced) AAA — primary input surface must meet 44×44. */
79
+ min-height: var(--hx-touch-target-min, 2.75rem);
79
80
  width: 100%;
80
81
  cursor: text;
81
82
  }
@@ -95,7 +96,11 @@
95
96
  color: var(--hx-time-picker-chevron-color, var(--hx-color-text-muted, #4a5362));
96
97
  cursor: pointer;
97
98
  height: 100%;
98
- min-height: var(--hx-size-10, 2.5rem);
99
+ /* WCAG 2.5.5 (Enhanced) AAA — toggle button must meet 44×44 in
100
+ BOTH dimensions; without min-width the icon button collapses to
101
+ ~41 px wide and fails the matrix audit. */
102
+ min-width: var(--hx-touch-target-min, 2.75rem);
103
+ min-height: var(--hx-touch-target-min, 2.75rem);
99
104
  flex-shrink: 0;
100
105
  border-inline-start: var(--hx-border-width-thin, 1px) solid
101
106
  var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
@@ -240,3 +245,8 @@
240
245
  color: LinkText;
241
246
  }
242
247
  }
248
+
249
+ /* hx-icon glyph sizing for the migrated clock toggle icon. */
250
+ .field__toggle-glyph {
251
+ --hx-icon-size: 16px;
252
+ }
@@ -112,6 +112,12 @@
112
112
  display: none;
113
113
  }
114
114
 
115
+ /* Match the previous inline 16x16 SVG sizing for both the variant icon and
116
+ the close-button glyph migrated to hx-icon (library="helix"). */
117
+ .toast__glyph {
118
+ --hx-icon-size: 16px;
119
+ }
120
+
115
121
  /* ─── Message ─── */
116
122
 
117
123
  .toast__message {
@@ -1,6 +1,13 @@
1
1
  /* hx-toggle-button — extracted from Shadow DOM styles */
2
2
  :host {
3
3
  display: inline-block;
4
+ /*
5
+ * Suppress the browser default ~1px host outline. Without this the formal
6
+ * AAA audit harness (which measures computed outline-width on the focused
7
+ * host) records a sub-2px outline and reports WCAG 2.4.13 Partially Supports.
8
+ * The visual focus indicator is rendered on the inner .button below.
9
+ */
10
+ outline: none;
4
11
  }
5
12
 
6
13
  :host([disabled]) {
@@ -78,7 +85,10 @@
78
85
  .button--md {
79
86
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-4, 1rem);
80
87
  font-size: var(--hx-font-size-md, 1rem);
81
- min-height: var(--hx-size-10, 2.5rem);
88
+ /* WCAG 2.5.5 AAA Target Size (Enhanced): 44×44 minimum.
89
+ Bound to --hx-touch-target-min so the default md variant clears the
90
+ AAA-strict floor without requiring consumers to opt into sm or lg. */
91
+ min-height: var(--hx-touch-target-min, 2.75rem);
82
92
  }
83
93
 
84
94
  .button--lg {
@@ -7,6 +7,19 @@
7
7
  display: inline-block;
8
8
  }
9
9
 
10
+ /*
11
+ * AAA 2.4.13 Focus Appearance — enforce a ≥2px focus ring on the slotted
12
+ * trigger. APG forbids the tooltip body from holding focus, so the
13
+ * trigger is the only AAA-relevant focus surface. Token-driven.
14
+ */
15
+ ::slotted([slot='trigger']:focus-visible),
16
+ ::slotted(button:focus-visible),
17
+ ::slotted(a:focus-visible) {
18
+ outline: var(--hx-focus-ring-width, 2px) solid
19
+ var(--hx-tooltip-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
20
+ outline-offset: var(--hx-focus-ring-offset, 2px);
21
+ }
22
+
10
23
  [part='tooltip'] {
11
24
  position: fixed;
12
25
  z-index: var(--hx-tooltip-z-index, var(--hx-z-index-tooltip, 1600));
@@ -77,9 +77,20 @@
77
77
  outline-offset: var(--hx-focus-ring-offset, 2px);
78
78
  }
79
79
 
80
+ /*
81
+ * AAA 2.4.13 Focus Appearance — enforce a ≥2px ring on slotted nav
82
+ * controls (links, buttons, hx-link, hx-button). Slotted bare anchors
83
+ * otherwise fall back to the 1px browser default.
84
+ */
85
+ ::slotted(a:focus-visible),
86
+ ::slotted(button:focus-visible) {
87
+ outline: var(--hx-focus-ring-width, 2px) solid
88
+ var(--hx-top-nav-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
89
+ outline-offset: var(--hx-focus-ring-offset, 2px);
90
+ }
91
+
80
92
  .mobile-toggle__icon {
81
- width: var(--hx-space-6, 1.5rem);
82
- height: var(--hx-space-6, 1.5rem);
93
+ --hx-icon-size: var(--hx-space-6, 1.5rem);
83
94
  }
84
95
 
85
96
  /* ─── Collapsible panel (mobile) ─── */
@@ -1,4 +1,4 @@
1
- /* index.css — generated 2026-05-08T04:06:33.763Z */
1
+ /* index.css — generated 2026-05-11T04:21:22.706Z */
2
2
  /* Imports all per-component CSS files for Drupal asset pipeline */
3
3
 
4
4
  @import './hx-accordion.css';