@helixui/library 3.6.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 (413) hide show
  1. package/README.md +41 -0
  2. package/aaa-verdicts.json +2036 -0
  3. package/custom-elements.json +3045 -1254
  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 +18 -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.d.ts +18 -0
  32. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  33. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  34. package/dist/components/hx-button/index.js +1 -1
  35. package/dist/components/hx-button-group/hx-button-group.d.ts +47 -0
  36. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  37. package/dist/components/hx-button-group/index.js +1 -1
  38. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
  39. package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -1
  40. package/dist/components/hx-carousel/index.js +1 -1
  41. package/dist/components/hx-checkbox/hx-checkbox.d.ts +18 -0
  42. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  43. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  44. package/dist/components/hx-checkbox/index.js +1 -1
  45. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +36 -0
  46. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  47. package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts.map +1 -1
  48. package/dist/components/hx-checkbox-group/index.js +1 -1
  49. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +26 -9
  50. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
  51. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
  52. package/dist/components/hx-clinical-status/index.js +1 -1
  53. package/dist/components/hx-color-picker/hx-color-picker.d.ts +18 -0
  54. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  55. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  56. package/dist/components/hx-color-picker/index.js +1 -1
  57. package/dist/components/hx-combobox/hx-combobox.d.ts +18 -0
  58. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  59. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
  60. package/dist/components/hx-combobox/index.js +1 -1
  61. package/dist/components/hx-copy-button/hx-copy-button.d.ts +18 -0
  62. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
  63. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
  64. package/dist/components/hx-copy-button/index.js +1 -1
  65. package/dist/components/hx-date-picker/hx-date-picker.d.ts +18 -0
  66. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  67. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  68. package/dist/components/hx-date-picker/index.js +1 -1
  69. package/dist/components/hx-dialog/hx-dialog.d.ts +18 -0
  70. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  71. package/dist/components/hx-drawer/hx-drawer.d.ts +18 -0
  72. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  73. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  74. package/dist/components/hx-drawer/index.js +1 -1
  75. package/dist/components/hx-dropdown/hx-dropdown.d.ts +18 -0
  76. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  77. package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -1
  78. package/dist/components/hx-dropdown/index.js +1 -1
  79. package/dist/components/hx-field/hx-field.d.ts +17 -0
  80. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  81. package/dist/components/hx-field-label/hx-field-label.d.ts +17 -0
  82. package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
  83. package/dist/components/hx-file-upload/hx-file-upload.d.ts +46 -0
  84. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  85. package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -1
  86. package/dist/components/hx-file-upload/index.js +1 -1
  87. package/dist/components/hx-form/hx-form.d.ts +19 -0
  88. package/dist/components/hx-form/hx-form.d.ts.map +1 -1
  89. package/dist/components/hx-help-text/hx-help-text.d.ts +17 -0
  90. package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
  91. package/dist/components/hx-help-text/hx-help-text.styles.d.ts.map +1 -1
  92. package/dist/components/hx-help-text/index.js +1 -1
  93. package/dist/components/hx-icon/hx-icon.d.ts +108 -12
  94. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
  95. package/dist/components/hx-icon/hx-icon.styles.d.ts.map +1 -1
  96. package/dist/components/hx-icon/index.js +1 -1
  97. package/dist/components/hx-icon-button/hx-icon-button.d.ts +18 -0
  98. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  99. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  100. package/dist/components/hx-icon-button/index.js +1 -1
  101. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  102. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
  103. package/dist/components/hx-link/index.js +1 -1
  104. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  105. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  106. package/dist/components/hx-menu/hx-menu.d.ts +18 -0
  107. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  108. package/dist/components/hx-menu/index.js +1 -1
  109. package/dist/components/hx-nav/hx-nav.d.ts +18 -0
  110. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  111. package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
  112. package/dist/components/hx-nav/index.js +1 -1
  113. package/dist/components/hx-number-input/hx-number-input.d.ts +18 -0
  114. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  115. package/dist/components/hx-number-input/hx-number-input.styles.d.ts.map +1 -1
  116. package/dist/components/hx-number-input/index.js +1 -1
  117. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +23 -1
  118. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  119. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  120. package/dist/components/hx-overflow-menu/index.js +1 -1
  121. package/dist/components/hx-pagination/hx-pagination.styles.d.ts.map +1 -1
  122. package/dist/components/hx-pagination/index.js +1 -1
  123. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
  124. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -1
  125. package/dist/components/hx-phi-field/index.js +1 -1
  126. package/dist/components/hx-popover/hx-popover.d.ts +18 -0
  127. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  128. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
  129. package/dist/components/hx-popover/index.js +1 -1
  130. package/dist/components/hx-popup/hx-popup.d.ts +18 -0
  131. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
  132. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
  133. package/dist/components/hx-popup/index.js +1 -1
  134. package/dist/components/hx-radio-group/hx-radio-group.d.ts +18 -0
  135. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  136. package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts.map +1 -1
  137. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
  138. package/dist/components/hx-radio-group/index.js +1 -1
  139. package/dist/components/hx-rating/hx-rating.d.ts +19 -0
  140. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  141. package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
  142. package/dist/components/hx-rating/index.js +1 -1
  143. package/dist/components/hx-select/hx-select.d.ts +18 -0
  144. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  145. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  146. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  147. package/dist/components/hx-side-nav/hx-side-nav.d.ts +18 -0
  148. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  149. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  150. package/dist/components/hx-side-nav/index.js +1 -1
  151. package/dist/components/hx-slider/hx-slider.d.ts +47 -0
  152. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  153. package/dist/components/hx-slider/index.js +1 -1
  154. package/dist/components/hx-split-button/hx-split-button.d.ts +18 -0
  155. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  156. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  157. package/dist/components/hx-split-button/index.js +1 -1
  158. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  159. package/dist/components/hx-stat/hx-stat.styles.d.ts.map +1 -1
  160. package/dist/components/hx-stat/index.js +1 -1
  161. package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
  162. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  163. package/dist/components/hx-steps/index.js +1 -1
  164. package/dist/components/hx-switch/hx-switch.d.ts +18 -0
  165. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  166. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  167. package/dist/components/hx-switch/index.js +1 -1
  168. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  169. package/dist/components/hx-tabs/hx-tabs.d.ts +18 -0
  170. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  171. package/dist/components/hx-tabs/index.js +1 -1
  172. package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
  173. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  174. package/dist/components/hx-tag/index.js +1 -1
  175. package/dist/components/hx-text-input/hx-text-input.d.ts +18 -0
  176. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  177. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  178. package/dist/components/hx-text-input/index.js +1 -1
  179. package/dist/components/hx-textarea/hx-textarea.d.ts +18 -0
  180. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  181. package/dist/components/hx-time-picker/hx-time-picker.d.ts +18 -0
  182. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  183. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  184. package/dist/components/hx-time-picker/index.js +1 -1
  185. package/dist/components/hx-toast/hx-toast.d.ts +19 -8
  186. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  187. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  188. package/dist/components/hx-toast/index.js +1 -1
  189. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +18 -0
  190. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  191. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  192. package/dist/components/hx-toggle-button/index.js +1 -1
  193. package/dist/components/hx-tooltip/hx-tooltip.d.ts +18 -0
  194. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  195. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -1
  196. package/dist/components/hx-tooltip/index.js +1 -1
  197. package/dist/components/hx-top-nav/hx-top-nav.d.ts +18 -0
  198. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
  199. package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -1
  200. package/dist/components/hx-top-nav/index.js +1 -1
  201. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  202. package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -1
  203. package/dist/components/hx-tree-view/index.js +1 -1
  204. package/dist/css/helix-all.css +414 -118
  205. package/dist/css/helix-core.css +43 -19
  206. package/dist/css/helix-feedback.css +15 -18
  207. package/dist/css/helix-forms.css +172 -44
  208. package/dist/css/helix-media.css +6 -3
  209. package/dist/css/helix-navigation.css +65 -12
  210. package/dist/css/helix-overlay.css +63 -0
  211. package/dist/css/helix-tokens.css +18 -15
  212. package/dist/css/helix-utility.css +44 -12
  213. package/dist/css/hx-action-bar.css +12 -0
  214. package/dist/css/hx-alert.css +4 -8
  215. package/dist/css/hx-avatar.css +1 -2
  216. package/dist/css/hx-badge.css +10 -5
  217. package/dist/css/hx-banner.css +4 -8
  218. package/dist/css/hx-button.css +15 -5
  219. package/dist/css/hx-carousel.css +6 -3
  220. package/dist/css/hx-checkbox-group.css +11 -0
  221. package/dist/css/hx-checkbox.css +24 -13
  222. package/dist/css/hx-clinical-status.css +4 -7
  223. package/dist/css/hx-color-picker.css +14 -1
  224. package/dist/css/hx-combobox.css +8 -0
  225. package/dist/css/hx-copy-button.css +5 -2
  226. package/dist/css/hx-date-picker.css +16 -3
  227. package/dist/css/hx-drawer.css +5 -0
  228. package/dist/css/hx-dropdown.css +18 -0
  229. package/dist/css/hx-file-upload.css +4 -0
  230. package/dist/css/hx-help-text.css +5 -0
  231. package/dist/css/hx-icon-button.css +4 -5
  232. package/dist/css/hx-icon.css +7 -0
  233. package/dist/css/hx-link.css +1 -2
  234. package/dist/css/hx-nav.css +31 -2
  235. package/dist/css/hx-number-input.css +10 -11
  236. package/dist/css/hx-overflow-menu.css +5 -0
  237. package/dist/css/hx-pagination.css +6 -3
  238. package/dist/css/hx-phi-field.css +2 -3
  239. package/dist/css/hx-popover.css +13 -0
  240. package/dist/css/hx-popup.css +14 -0
  241. package/dist/css/hx-radio-group.css +10 -0
  242. package/dist/css/hx-rating.css +6 -0
  243. package/dist/css/hx-side-nav.css +10 -5
  244. package/dist/css/hx-split-button.css +27 -10
  245. package/dist/css/hx-stat.css +1 -2
  246. package/dist/css/hx-switch.css +19 -1
  247. package/dist/css/hx-tag.css +5 -0
  248. package/dist/css/hx-text-input.css +4 -1
  249. package/dist/css/hx-time-picker.css +12 -2
  250. package/dist/css/hx-toast.css +6 -0
  251. package/dist/css/hx-toggle-button.css +29 -12
  252. package/dist/css/hx-tooltip.css +13 -0
  253. package/dist/css/hx-top-nav.css +13 -2
  254. package/dist/css/index.css +1 -1
  255. package/dist/css/manifest.json +60 -20
  256. package/dist/index.js +49 -49
  257. package/dist/shared/{hx-accordion-ZVzgDzTG.js → hx-accordion-DR--Ev4t.js} +48 -54
  258. package/dist/shared/hx-accordion-DR--Ev4t.js.map +1 -0
  259. package/dist/shared/{hx-action-bar-CitgcpGv.js → hx-action-bar-BlEG4aZv.js} +41 -29
  260. package/dist/shared/hx-action-bar-BlEG4aZv.js.map +1 -0
  261. package/dist/shared/{hx-alert-Bto8-TIi.js → hx-alert-C0axS32J.js} +40 -79
  262. package/dist/shared/hx-alert-C0axS32J.js.map +1 -0
  263. package/dist/shared/{hx-avatar-C9hOmlAb.js → hx-avatar-ChAYWnK8.js} +22 -24
  264. package/dist/shared/hx-avatar-ChAYWnK8.js.map +1 -0
  265. package/dist/shared/{hx-badge-JlFtAdxS.js → hx-badge-vX-1cuLA.js} +25 -20
  266. package/dist/shared/hx-badge-vX-1cuLA.js.map +1 -0
  267. package/dist/shared/{hx-banner-fpRnciIO.js → hx-banner-PbHwFNSb.js} +51 -90
  268. package/dist/shared/hx-banner-PbHwFNSb.js.map +1 -0
  269. package/dist/shared/{hx-breadcrumb-item-3tKppF9h.js → hx-breadcrumb-item-D8xYqe3s.js} +56 -43
  270. package/dist/shared/hx-breadcrumb-item-D8xYqe3s.js.map +1 -0
  271. package/dist/shared/{hx-button-BOwAEcF1.js → hx-button-DOZTZnz-.js} +29 -19
  272. package/dist/shared/hx-button-DOZTZnz-.js.map +1 -0
  273. package/dist/shared/hx-button-group-D3QUmSzl.js +248 -0
  274. package/dist/shared/hx-button-group-D3QUmSzl.js.map +1 -0
  275. package/dist/shared/{hx-carousel-item-z1Lc24op.js → hx-carousel-item-BVIKgQ4i.js} +72 -102
  276. package/dist/shared/hx-carousel-item-BVIKgQ4i.js.map +1 -0
  277. package/dist/shared/{hx-checkbox-CYd0YV_u.js → hx-checkbox-DDSXXhps.js} +56 -47
  278. package/dist/shared/hx-checkbox-DDSXXhps.js.map +1 -0
  279. package/dist/shared/{hx-checkbox-group-D5piJLY8.js → hx-checkbox-group-C0q6HDqn.js} +101 -58
  280. package/dist/shared/hx-checkbox-group-C0q6HDqn.js.map +1 -0
  281. package/dist/shared/{hx-clinical-status-D3XQIOqX.js → hx-clinical-status-ZSVEc3Qg.js} +68 -87
  282. package/dist/shared/hx-clinical-status-ZSVEc3Qg.js.map +1 -0
  283. package/dist/shared/{hx-color-picker-DBwJzT5f.js → hx-color-picker-CYjx8i8R.js} +97 -84
  284. package/dist/shared/hx-color-picker-CYjx8i8R.js.map +1 -0
  285. package/dist/shared/{hx-combobox-NgJaLbs2.js → hx-combobox-Be-mqOv4.js} +35 -45
  286. package/dist/shared/hx-combobox-Be-mqOv4.js.map +1 -0
  287. package/dist/shared/{hx-copy-button-sUVuikyH.js → hx-copy-button-DJirFCUL.js} +18 -15
  288. package/dist/shared/hx-copy-button-DJirFCUL.js.map +1 -0
  289. package/dist/shared/{hx-date-picker-B49yo4Vm.js → hx-date-picker-CziP3Hm1.js} +85 -84
  290. package/dist/shared/hx-date-picker-CziP3Hm1.js.map +1 -0
  291. package/dist/shared/hx-dialog-B4weoj_1.js.map +1 -1
  292. package/dist/shared/{hx-drawer-CM_upadk.js → hx-drawer-BlU2oX8-.js} +32 -36
  293. package/dist/shared/hx-drawer-BlU2oX8-.js.map +1 -0
  294. package/dist/shared/{hx-dropdown-D626S2ZG.js → hx-dropdown-DREqpIpm.js} +51 -33
  295. package/dist/shared/hx-dropdown-DREqpIpm.js.map +1 -0
  296. package/dist/shared/hx-field-label-BVRyyKeh.js.map +1 -1
  297. package/dist/shared/hx-field-zw0U1KVi.js.map +1 -1
  298. package/dist/shared/{hx-file-upload-D3rKROK5.js → hx-file-upload-CU5QGZSP.js} +137 -80
  299. package/dist/shared/hx-file-upload-CU5QGZSP.js.map +1 -0
  300. package/dist/shared/hx-form-CkChEATa.js.map +1 -1
  301. package/dist/shared/hx-help-text-CNaZ82LT.js +137 -0
  302. package/dist/shared/hx-help-text-CNaZ82LT.js.map +1 -0
  303. package/dist/shared/{hx-icon-button-a6OpeQz5.js → hx-icon-button-B2BdVdyK.js} +10 -11
  304. package/dist/shared/hx-icon-button-B2BdVdyK.js.map +1 -0
  305. package/dist/shared/hx-icon-bxz9eB9a.js +386 -0
  306. package/dist/shared/hx-icon-bxz9eB9a.js.map +1 -0
  307. package/dist/shared/{hx-link-CMnZRUtQ.js → hx-link-BURSdYLp.js} +19 -26
  308. package/dist/shared/hx-link-BURSdYLp.js.map +1 -0
  309. package/dist/shared/{hx-menu-divider-A6Guuzi_.js → hx-menu-divider-g0grbWV9.js} +19 -31
  310. package/dist/shared/hx-menu-divider-g0grbWV9.js.map +1 -0
  311. package/dist/shared/{hx-nav-ldFM3Fle.js → hx-nav-GTsAZGOx.js} +94 -85
  312. package/dist/shared/hx-nav-GTsAZGOx.js.map +1 -0
  313. package/dist/shared/{hx-nav-item-CODtUlew.js → hx-nav-item-CxE7Mp3M.js} +46 -41
  314. package/dist/shared/hx-nav-item-CxE7Mp3M.js.map +1 -0
  315. package/dist/shared/{hx-number-input-yUzFOSC1.js → hx-number-input-Bvyc9kOi.js} +59 -64
  316. package/dist/shared/hx-number-input-Bvyc9kOi.js.map +1 -0
  317. package/dist/shared/{hx-overflow-menu-DFjJAziP.js → hx-overflow-menu-LrTteeR1.js} +32 -39
  318. package/dist/shared/{hx-overflow-menu-DFjJAziP.js.map → hx-overflow-menu-LrTteeR1.js.map} +1 -1
  319. package/dist/shared/{hx-pagination-C7y8GVyU.js → hx-pagination-D726PyTM.js} +7 -4
  320. package/dist/shared/hx-pagination-D726PyTM.js.map +1 -0
  321. package/dist/shared/{hx-phi-field-C19oxlrr.js → hx-phi-field-sZt_rYIL.js} +46 -66
  322. package/dist/shared/hx-phi-field-sZt_rYIL.js.map +1 -0
  323. package/dist/shared/{hx-popover-BAlAFOH9.js → hx-popover-BjB0nkcq.js} +51 -38
  324. package/dist/shared/hx-popover-BjB0nkcq.js.map +1 -0
  325. package/dist/shared/{hx-popup-COUXXZ9X.js → hx-popup-BiV_2evC.js} +59 -45
  326. package/dist/shared/hx-popup-BiV_2evC.js.map +1 -0
  327. package/dist/shared/{hx-radio-C7eTj5YI.js → hx-radio-BD_c9NJy.js} +52 -39
  328. package/dist/shared/hx-radio-BD_c9NJy.js.map +1 -0
  329. package/dist/shared/{hx-rating-C3QP53k9.js → hx-rating-BGK4AxvI.js} +45 -71
  330. package/dist/shared/hx-rating-BGK4AxvI.js.map +1 -0
  331. package/dist/shared/hx-select-DahFehiZ.js.map +1 -1
  332. package/dist/shared/{hx-slider-Blmv_rwS.js → hx-slider-CkOk5BCY.js} +83 -23
  333. package/dist/shared/hx-slider-CkOk5BCY.js.map +1 -0
  334. package/dist/shared/{hx-split-button-Ddle8iVx.js → hx-split-button-Bg9FHrFK.js} +73 -65
  335. package/dist/shared/hx-split-button-Bg9FHrFK.js.map +1 -0
  336. package/dist/shared/{hx-stat-Gtw_SpK8.js → hx-stat-wKxbyep6.js} +22 -55
  337. package/dist/shared/hx-stat-wKxbyep6.js.map +1 -0
  338. package/dist/shared/{hx-step-R2rjp1fT.js → hx-step-CyGQAuiB.js} +7 -27
  339. package/dist/shared/hx-step-CyGQAuiB.js.map +1 -0
  340. package/dist/shared/{hx-switch-TvKGvZJz.js → hx-switch-BCXuNxEH.js} +42 -24
  341. package/dist/shared/hx-switch-BCXuNxEH.js.map +1 -0
  342. package/dist/shared/{hx-tab-panel-DzsX8BHV.js → hx-tab-panel-BfisavKo.js} +47 -32
  343. package/dist/shared/hx-tab-panel-BfisavKo.js.map +1 -0
  344. package/dist/shared/{hx-tag-C5aCUpVi.js → hx-tag-BqO6HY6V.js} +26 -21
  345. package/dist/shared/hx-tag-BqO6HY6V.js.map +1 -0
  346. package/dist/shared/{hx-text-input-D6FlOZM-.js → hx-text-input-V5sQOpDh.js} +5 -2
  347. package/dist/shared/hx-text-input-V5sQOpDh.js.map +1 -0
  348. package/dist/shared/hx-textarea-CNG590KY.js.map +1 -1
  349. package/dist/shared/{hx-time-picker-Bo7FWzmf.js → hx-time-picker-if5Cl0Ei.js} +42 -43
  350. package/dist/shared/hx-time-picker-if5Cl0Ei.js.map +1 -0
  351. package/dist/shared/{hx-toggle-button-DwBers3A.js → hx-toggle-button-xNVYeA3X.js} +64 -47
  352. package/dist/shared/hx-toggle-button-xNVYeA3X.js.map +1 -0
  353. package/dist/shared/{hx-tooltip-DVqtKPCD.js → hx-tooltip-CamO-9nd.js} +24 -11
  354. package/dist/shared/hx-tooltip-CamO-9nd.js.map +1 -0
  355. package/dist/shared/{hx-top-nav-DP6OFS8C.js → hx-top-nav-vP6oDWMV.js} +42 -44
  356. package/dist/shared/hx-top-nav-vP6oDWMV.js.map +1 -0
  357. package/dist/shared/{hx-tree-item-CXyspGxI.js → hx-tree-item-D8hwKd5m.js} +54 -57
  358. package/dist/shared/hx-tree-item-D8hwKd5m.js.map +1 -0
  359. package/dist/shared/{toast-factory-Dht3pVsw.js → toast-factory-DgnbFxVs.js} +127 -153
  360. package/dist/shared/toast-factory-DgnbFxVs.js.map +1 -0
  361. package/figma-inventory.json +1280 -429
  362. package/package.json +8 -4
  363. package/dist/shared/hx-accordion-ZVzgDzTG.js.map +0 -1
  364. package/dist/shared/hx-action-bar-CitgcpGv.js.map +0 -1
  365. package/dist/shared/hx-alert-Bto8-TIi.js.map +0 -1
  366. package/dist/shared/hx-avatar-C9hOmlAb.js.map +0 -1
  367. package/dist/shared/hx-badge-JlFtAdxS.js.map +0 -1
  368. package/dist/shared/hx-banner-fpRnciIO.js.map +0 -1
  369. package/dist/shared/hx-breadcrumb-item-3tKppF9h.js.map +0 -1
  370. package/dist/shared/hx-button-BOwAEcF1.js.map +0 -1
  371. package/dist/shared/hx-button-group-4NUBpkyC.js +0 -181
  372. package/dist/shared/hx-button-group-4NUBpkyC.js.map +0 -1
  373. package/dist/shared/hx-carousel-item-z1Lc24op.js.map +0 -1
  374. package/dist/shared/hx-checkbox-CYd0YV_u.js.map +0 -1
  375. package/dist/shared/hx-checkbox-group-D5piJLY8.js.map +0 -1
  376. package/dist/shared/hx-clinical-status-D3XQIOqX.js.map +0 -1
  377. package/dist/shared/hx-color-picker-DBwJzT5f.js.map +0 -1
  378. package/dist/shared/hx-combobox-NgJaLbs2.js.map +0 -1
  379. package/dist/shared/hx-copy-button-sUVuikyH.js.map +0 -1
  380. package/dist/shared/hx-date-picker-B49yo4Vm.js.map +0 -1
  381. package/dist/shared/hx-drawer-CM_upadk.js.map +0 -1
  382. package/dist/shared/hx-dropdown-D626S2ZG.js.map +0 -1
  383. package/dist/shared/hx-file-upload-D3rKROK5.js.map +0 -1
  384. package/dist/shared/hx-help-text-Xb2Yr8x2.js +0 -156
  385. package/dist/shared/hx-help-text-Xb2Yr8x2.js.map +0 -1
  386. package/dist/shared/hx-icon-button-a6OpeQz5.js.map +0 -1
  387. package/dist/shared/hx-icon-fuVm4-bk.js +0 -283
  388. package/dist/shared/hx-icon-fuVm4-bk.js.map +0 -1
  389. package/dist/shared/hx-link-CMnZRUtQ.js.map +0 -1
  390. package/dist/shared/hx-menu-divider-A6Guuzi_.js.map +0 -1
  391. package/dist/shared/hx-nav-item-CODtUlew.js.map +0 -1
  392. package/dist/shared/hx-nav-ldFM3Fle.js.map +0 -1
  393. package/dist/shared/hx-number-input-yUzFOSC1.js.map +0 -1
  394. package/dist/shared/hx-pagination-C7y8GVyU.js.map +0 -1
  395. package/dist/shared/hx-phi-field-C19oxlrr.js.map +0 -1
  396. package/dist/shared/hx-popover-BAlAFOH9.js.map +0 -1
  397. package/dist/shared/hx-popup-COUXXZ9X.js.map +0 -1
  398. package/dist/shared/hx-radio-C7eTj5YI.js.map +0 -1
  399. package/dist/shared/hx-rating-C3QP53k9.js.map +0 -1
  400. package/dist/shared/hx-slider-Blmv_rwS.js.map +0 -1
  401. package/dist/shared/hx-split-button-Ddle8iVx.js.map +0 -1
  402. package/dist/shared/hx-stat-Gtw_SpK8.js.map +0 -1
  403. package/dist/shared/hx-step-R2rjp1fT.js.map +0 -1
  404. package/dist/shared/hx-switch-TvKGvZJz.js.map +0 -1
  405. package/dist/shared/hx-tab-panel-DzsX8BHV.js.map +0 -1
  406. package/dist/shared/hx-tag-C5aCUpVi.js.map +0 -1
  407. package/dist/shared/hx-text-input-D6FlOZM-.js.map +0 -1
  408. package/dist/shared/hx-time-picker-Bo7FWzmf.js.map +0 -1
  409. package/dist/shared/hx-toggle-button-DwBers3A.js.map +0 -1
  410. package/dist/shared/hx-tooltip-DVqtKPCD.js.map +0 -1
  411. package/dist/shared/hx-top-nav-DP6OFS8C.js.map +0 -1
  412. package/dist/shared/hx-tree-item-CXyspGxI.js.map +0 -1
  413. package/dist/shared/toast-factory-Dht3pVsw.js.map +0 -1
@@ -105,7 +105,8 @@
105
105
  font-size: var(--hx-font-size-md, 1rem);
106
106
  color: var(--hx-date-picker-color, var(--hx-color-text-strong, #202b39));
107
107
  line-height: var(--hx-line-height-normal, 1.5);
108
- min-height: var(--hx-size-10, 2.5rem);
108
+ /* WCAG 2.5.5 (Enhanced) AAA — primary input surface must meet 44×44. */
109
+ min-height: var(--hx-touch-target-min, 2.75rem);
109
110
  width: 100%;
110
111
  cursor: default;
111
112
  }
@@ -126,6 +127,10 @@
126
127
  display: flex;
127
128
  align-items: center;
128
129
  justify-content: center;
130
+ /* WCAG 2.5.5 (Enhanced) AAA — calendar trigger must clear 44×44.
131
+ Without min-width the icon button collapses to ~41 px wide. */
132
+ min-width: var(--hx-touch-target-min, 2.75rem);
133
+ min-height: var(--hx-touch-target-min, 2.75rem);
129
134
  padding: 0 var(--hx-space-3, 0.75rem);
130
135
  border: none;
131
136
  border-left: var(--hx-border-width-thin, 1px) solid
@@ -299,13 +304,16 @@
299
304
  }
300
305
 
301
306
  .calendar__day--selected {
302
- background-color: var(--hx-date-picker-selected-bg, var(--hx-color-primary-500, #429797));
307
+ background-color: var(--hx-date-picker-selected-bg, var(--hx-color-action-primary-bg, #0f7078));
303
308
  color: var(--hx-date-picker-selected-color, var(--hx-color-text-on-primary, #ffffff));
304
309
  font-weight: var(--hx-font-weight-semibold, 600);
305
310
  }
306
311
 
307
312
  .calendar__day--selected:hover {
308
- background-color: var(--hx-date-picker-selected-hover-bg, var(--hx-color-primary-600, #0f7078));
313
+ background-color: var(
314
+ --hx-date-picker-selected-hover-bg,
315
+ var(--hx-color-action-primary-bg-hover, #0f6363)
316
+ );
309
317
  }
310
318
 
311
319
  .calendar__day--today:not(.calendar__day--selected) {
@@ -421,3 +429,8 @@
421
429
  border-color: LinkText;
422
430
  }
423
431
  }
432
+
433
+ /* hx-icon glyph sizing for the migrated calendar trigger SVG. */
434
+ .field__trigger-glyph {
435
+ --hx-icon-size: 16px;
436
+ }
@@ -298,3 +298,8 @@
298
298
  border: 1px solid ButtonText;
299
299
  }
300
300
  }
301
+
302
+ /* hx-icon glyph sizing for the migrated close-button SVG. */
303
+ .drawer-close-button-glyph {
304
+ --hx-icon-size: 16px;
305
+ }
@@ -13,11 +13,29 @@
13
13
  display: inline-block;
14
14
  }
15
15
 
16
+ /*
17
+ * AAA 2.4.13 Focus Appearance — enforce a ≥2px focus ring on the slotted
18
+ * trigger (typically <hx-button>, <button>, or <hx-icon-button>). The host
19
+ * is a popover-container; the interactive surface is the slotted trigger.
20
+ */
21
+ ::slotted([slot='trigger']:focus-visible),
22
+ ::slotted(button:focus-visible),
23
+ ::slotted(a:focus-visible) {
24
+ outline: var(--hx-focus-ring-width, 2px) solid
25
+ var(--hx-dropdown-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
26
+ outline-offset: var(--hx-focus-ring-offset, 2px);
27
+ }
28
+
16
29
  [part='panel'] {
17
30
  position: fixed;
18
31
  z-index: var(--hx-dropdown-panel-z-index, 1000);
19
32
  min-width: var(--hx-dropdown-panel-min-width, 160px);
20
33
  background: var(--hx-dropdown-panel-bg, var(--hx-color-surface-default, #ffffff));
34
+ /* Anchor slotted text color to the design-system primary text token so
35
+ slotted <li>'s and other native consumer markup don't inherit a
36
+ foreign color cascade (e.g. brand toolbar setting body { color: #fff }
37
+ and rendering Edit/Duplicate as white-on-white). */
38
+ color: var(--hx-dropdown-panel-color, var(--hx-color-text-primary, #1a1a1a));
21
39
  border: 1px solid var(--hx-dropdown-panel-border-color, var(--hx-color-border-default, #d6dbd5));
22
40
  border-radius: var(--hx-dropdown-panel-border-radius, var(--hx-border-radius-md, 0.375rem));
23
41
  box-shadow: var(
@@ -179,6 +179,10 @@
179
179
  outline-offset: var(--hx-focus-ring-offset, 2px);
180
180
  }
181
181
 
182
+ .file-item__remove-glyph {
183
+ --hx-icon-size: 14px;
184
+ }
185
+
182
186
  @media (prefers-reduced-motion: reduce) {
183
187
  .file-item__remove {
184
188
  transition: none;
@@ -21,6 +21,11 @@
21
21
  align-items: center;
22
22
  }
23
23
 
24
+ /* Render the migrated hx-icon glyph at 1em (matches the previous inline SVG sizing). */
25
+ .help-text__glyph {
26
+ --hx-icon-size: 1em;
27
+ }
28
+
24
29
  .help-text__text {
25
30
  min-width: 0;
26
31
  }
@@ -74,16 +74,15 @@
74
74
  /* ─── Style Variants ─── */
75
75
 
76
76
  .button--primary {
77
- --hx-icon-button-bg: var(--hx-color-primary-500, #429797);
77
+ --hx-icon-button-bg: var(--hx-color-action-primary-bg, #0f7078);
78
78
  --hx-icon-button-color: var(--hx-color-text-on-primary, #ffffff);
79
79
  --hx-icon-button-border-color: transparent;
80
80
  }
81
81
 
82
- /* on-primary tokens are tuned for primary-500. primary-600 + on-primary
83
- drops icon contrast to 3.07:1 — fails the 4.5:1 floor for meaningful
84
- icons. Pin fg at neutral-0 (5.82:1 on primary-600). Mirrors hx-button. */
82
+ /* Hover deepens to action.primary.bg-hover (primary-700) + neutral-0 = 7.03:1 AA.
83
+ Mirrors hx-button. */
85
84
  .button--primary:hover {
86
- --hx-icon-button-bg: var(--hx-color-primary-600, #0f7078);
85
+ --hx-icon-button-bg: var(--hx-color-action-primary-bg-hover, #0f6363);
87
86
  --hx-icon-button-color: var(--hx-color-neutral-0, #ffffff);
88
87
  }
89
88
 
@@ -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
+ }
@@ -55,7 +55,10 @@
55
55
 
56
56
  .button:hover:not(:disabled) {
57
57
  background: var(--hx-pagination-hover-bg, var(--hx-color-surface-sunken, #ebeee9));
58
- border-color: var(--hx-pagination-hover-border-color, var(--hx-color-primary-500, #429797));
58
+ border-color: var(
59
+ --hx-pagination-hover-border-color,
60
+ var(--hx-color-action-primary-bg, #0f7078)
61
+ );
59
62
  }
60
63
 
61
64
  .button:focus-visible {
@@ -65,10 +68,10 @@
65
68
  }
66
69
 
67
70
  .button[aria-current='page'] {
68
- background: var(--hx-pagination-active-bg, var(--hx-color-primary-500, #429797));
71
+ background: var(--hx-pagination-active-bg, var(--hx-color-action-primary-bg, #0f7078));
69
72
  border-color: var(
70
73
  --hx-pagination-active-border-color,
71
- var(--hx-pagination-active-bg, var(--hx-color-primary-500, #429797))
74
+ var(--hx-pagination-active-bg, var(--hx-color-action-primary-bg, #0f7078))
72
75
  );
73
76
  color: var(--hx-pagination-active-color, var(--hx-color-text-on-primary, #ffffff));
74
77
  font-weight: var(--hx-font-weight-semibold, 600);
@@ -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 {