@helixui/library 3.8.0 → 3.9.0-next.150

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 (250) hide show
  1. package/README.md +41 -0
  2. package/aaa-verdicts.json +2036 -0
  3. package/custom-elements.json +532 -569
  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-alert/hx-alert.d.ts +0 -8
  8. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  9. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  10. package/dist/components/hx-alert/index.js +1 -1
  11. package/dist/components/hx-avatar/hx-avatar.d.ts +4 -1
  12. package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -1
  13. package/dist/components/hx-avatar/hx-avatar.styles.d.ts.map +1 -1
  14. package/dist/components/hx-avatar/index.js +1 -1
  15. package/dist/components/hx-badge/hx-badge.d.ts.map +1 -1
  16. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
  17. package/dist/components/hx-badge/index.js +1 -1
  18. package/dist/components/hx-banner/hx-banner.d.ts +0 -8
  19. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  20. package/dist/components/hx-banner/hx-banner.styles.d.ts.map +1 -1
  21. package/dist/components/hx-banner/index.js +1 -1
  22. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
  23. package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -1
  24. package/dist/components/hx-carousel/index.js +1 -1
  25. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  26. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  27. package/dist/components/hx-checkbox/index.js +1 -1
  28. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +7 -9
  29. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
  30. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
  31. package/dist/components/hx-clinical-status/index.js +1 -1
  32. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  33. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
  34. package/dist/components/hx-combobox/index.js +1 -1
  35. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  36. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  37. package/dist/components/hx-date-picker/index.js +1 -1
  38. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  39. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  40. package/dist/components/hx-drawer/index.js +1 -1
  41. package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -1
  42. package/dist/components/hx-dropdown/index.js +1 -1
  43. package/dist/components/hx-file-upload/hx-file-upload.d.ts +28 -0
  44. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  45. package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -1
  46. package/dist/components/hx-file-upload/index.js +1 -1
  47. package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
  48. package/dist/components/hx-help-text/hx-help-text.styles.d.ts.map +1 -1
  49. package/dist/components/hx-help-text/index.js +1 -1
  50. package/dist/components/hx-icon/hx-icon.d.ts +108 -12
  51. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
  52. package/dist/components/hx-icon/hx-icon.styles.d.ts.map +1 -1
  53. package/dist/components/hx-icon/index.js +1 -1
  54. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  55. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
  56. package/dist/components/hx-link/index.js +1 -1
  57. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  58. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  59. package/dist/components/hx-menu/index.js +1 -1
  60. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  61. package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
  62. package/dist/components/hx-nav/index.js +1 -1
  63. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  64. package/dist/components/hx-number-input/hx-number-input.styles.d.ts.map +1 -1
  65. package/dist/components/hx-number-input/index.js +1 -1
  66. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +5 -1
  67. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  68. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  69. package/dist/components/hx-overflow-menu/index.js +1 -1
  70. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
  71. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -1
  72. package/dist/components/hx-phi-field/index.js +1 -1
  73. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  74. package/dist/components/hx-radio-group/index.js +1 -1
  75. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  76. package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
  77. package/dist/components/hx-rating/index.js +1 -1
  78. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  79. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  80. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  81. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  82. package/dist/components/hx-side-nav/index.js +1 -1
  83. package/dist/components/hx-slider/hx-slider.d.ts +28 -0
  84. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  85. package/dist/components/hx-slider/index.js +1 -1
  86. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  87. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  88. package/dist/components/hx-split-button/index.js +1 -1
  89. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  90. package/dist/components/hx-stat/hx-stat.styles.d.ts.map +1 -1
  91. package/dist/components/hx-stat/index.js +1 -1
  92. package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
  93. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  94. package/dist/components/hx-steps/index.js +1 -1
  95. package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
  96. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  97. package/dist/components/hx-tag/index.js +1 -1
  98. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  99. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  100. package/dist/components/hx-time-picker/index.js +1 -1
  101. package/dist/components/hx-toast/hx-toast.d.ts +0 -8
  102. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  103. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  104. package/dist/components/hx-toast/index.js +1 -1
  105. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
  106. package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -1
  107. package/dist/components/hx-top-nav/index.js +1 -1
  108. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  109. package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -1
  110. package/dist/components/hx-tree-view/index.js +1 -1
  111. package/dist/css/helix-all.css +116 -54
  112. package/dist/css/helix-core.css +19 -4
  113. package/dist/css/helix-feedback.css +15 -18
  114. package/dist/css/helix-forms.css +39 -12
  115. package/dist/css/helix-media.css +6 -3
  116. package/dist/css/helix-navigation.css +16 -7
  117. package/dist/css/helix-overlay.css +10 -0
  118. package/dist/css/helix-tokens.css +3 -2
  119. package/dist/css/helix-utility.css +5 -0
  120. package/dist/css/hx-alert.css +4 -8
  121. package/dist/css/hx-avatar.css +1 -2
  122. package/dist/css/hx-badge.css +5 -0
  123. package/dist/css/hx-banner.css +4 -8
  124. package/dist/css/hx-carousel.css +6 -3
  125. package/dist/css/hx-checkbox.css +4 -9
  126. package/dist/css/hx-clinical-status.css +4 -7
  127. package/dist/css/hx-combobox.css +8 -0
  128. package/dist/css/hx-date-picker.css +5 -0
  129. package/dist/css/hx-drawer.css +5 -0
  130. package/dist/css/hx-dropdown.css +5 -0
  131. package/dist/css/hx-file-upload.css +4 -0
  132. package/dist/css/hx-help-text.css +5 -0
  133. package/dist/css/hx-icon.css +7 -0
  134. package/dist/css/hx-link.css +1 -2
  135. package/dist/css/hx-nav.css +7 -0
  136. package/dist/css/hx-number-input.css +2 -3
  137. package/dist/css/hx-overflow-menu.css +5 -0
  138. package/dist/css/hx-phi-field.css +2 -3
  139. package/dist/css/hx-rating.css +6 -0
  140. package/dist/css/hx-side-nav.css +3 -5
  141. package/dist/css/hx-split-button.css +5 -0
  142. package/dist/css/hx-stat.css +1 -2
  143. package/dist/css/hx-tag.css +5 -0
  144. package/dist/css/hx-time-picker.css +5 -0
  145. package/dist/css/hx-toast.css +6 -0
  146. package/dist/css/hx-top-nav.css +1 -2
  147. package/dist/css/index.css +1 -1
  148. package/dist/css/manifest.json +4 -1
  149. package/dist/index.js +33 -33
  150. package/dist/shared/{hx-accordion-ZVzgDzTG.js → hx-accordion-DR--Ev4t.js} +48 -54
  151. package/dist/shared/hx-accordion-DR--Ev4t.js.map +1 -0
  152. package/dist/shared/{hx-alert-Bto8-TIi.js → hx-alert-C0axS32J.js} +40 -79
  153. package/dist/shared/hx-alert-C0axS32J.js.map +1 -0
  154. package/dist/shared/{hx-avatar-C9hOmlAb.js → hx-avatar-ChAYWnK8.js} +22 -24
  155. package/dist/shared/hx-avatar-ChAYWnK8.js.map +1 -0
  156. package/dist/shared/{hx-badge-DFL35nzi.js → hx-badge-vX-1cuLA.js} +16 -11
  157. package/dist/shared/hx-badge-vX-1cuLA.js.map +1 -0
  158. package/dist/shared/{hx-banner-fpRnciIO.js → hx-banner-PbHwFNSb.js} +51 -90
  159. package/dist/shared/hx-banner-PbHwFNSb.js.map +1 -0
  160. package/dist/shared/{hx-carousel-item-z1Lc24op.js → hx-carousel-item-BVIKgQ4i.js} +72 -102
  161. package/dist/shared/hx-carousel-item-BVIKgQ4i.js.map +1 -0
  162. package/dist/shared/{hx-checkbox-DcgyGS9V.js → hx-checkbox-DDSXXhps.js} +31 -38
  163. package/dist/shared/hx-checkbox-DDSXXhps.js.map +1 -0
  164. package/dist/shared/{hx-clinical-status-D3XQIOqX.js → hx-clinical-status-ZSVEc3Qg.js} +68 -87
  165. package/dist/shared/hx-clinical-status-ZSVEc3Qg.js.map +1 -0
  166. package/dist/shared/{hx-combobox-NgJaLbs2.js → hx-combobox-Be-mqOv4.js} +35 -45
  167. package/dist/shared/hx-combobox-Be-mqOv4.js.map +1 -0
  168. package/dist/shared/{hx-date-picker-0PtEav0K.js → hx-date-picker-CziP3Hm1.js} +15 -22
  169. package/dist/shared/hx-date-picker-CziP3Hm1.js.map +1 -0
  170. package/dist/shared/{hx-drawer-CM_upadk.js → hx-drawer-BlU2oX8-.js} +32 -36
  171. package/dist/shared/hx-drawer-BlU2oX8-.js.map +1 -0
  172. package/dist/shared/{hx-dropdown-xHwTJecv.js → hx-dropdown-DREqpIpm.js} +16 -11
  173. package/dist/shared/hx-dropdown-DREqpIpm.js.map +1 -0
  174. package/dist/shared/{hx-file-upload-D3rKROK5.js → hx-file-upload-CU5QGZSP.js} +137 -80
  175. package/dist/shared/hx-file-upload-CU5QGZSP.js.map +1 -0
  176. package/dist/shared/hx-help-text-CNaZ82LT.js +137 -0
  177. package/dist/shared/hx-help-text-CNaZ82LT.js.map +1 -0
  178. package/dist/shared/hx-icon-bxz9eB9a.js +386 -0
  179. package/dist/shared/hx-icon-bxz9eB9a.js.map +1 -0
  180. package/dist/shared/{hx-link-CMnZRUtQ.js → hx-link-BURSdYLp.js} +19 -26
  181. package/dist/shared/hx-link-BURSdYLp.js.map +1 -0
  182. package/dist/shared/{hx-menu-divider-A6Guuzi_.js → hx-menu-divider-g0grbWV9.js} +19 -31
  183. package/dist/shared/hx-menu-divider-g0grbWV9.js.map +1 -0
  184. package/dist/shared/{hx-nav-ChMTfn7o.js → hx-nav-GTsAZGOx.js} +46 -59
  185. package/dist/shared/hx-nav-GTsAZGOx.js.map +1 -0
  186. package/dist/shared/{hx-nav-item-ClN17f1y.js → hx-nav-item-CxE7Mp3M.js} +62 -64
  187. package/dist/shared/hx-nav-item-CxE7Mp3M.js.map +1 -0
  188. package/dist/shared/{hx-number-input-MggsT7F0.js → hx-number-input-Bvyc9kOi.js} +48 -53
  189. package/dist/shared/hx-number-input-Bvyc9kOi.js.map +1 -0
  190. package/dist/shared/{hx-overflow-menu-DFjJAziP.js → hx-overflow-menu-LrTteeR1.js} +32 -39
  191. package/dist/shared/hx-overflow-menu-LrTteeR1.js.map +1 -0
  192. package/dist/shared/{hx-phi-field-C19oxlrr.js → hx-phi-field-sZt_rYIL.js} +46 -66
  193. package/dist/shared/hx-phi-field-sZt_rYIL.js.map +1 -0
  194. package/dist/shared/{hx-radio-BY4zpwdh.js → hx-radio-BD_c9NJy.js} +51 -56
  195. package/dist/shared/{hx-radio-BY4zpwdh.js.map → hx-radio-BD_c9NJy.js.map} +1 -1
  196. package/dist/shared/{hx-rating-C3QP53k9.js → hx-rating-BGK4AxvI.js} +45 -71
  197. package/dist/shared/hx-rating-BGK4AxvI.js.map +1 -0
  198. package/dist/shared/{hx-slider-Blmv_rwS.js → hx-slider-CkOk5BCY.js} +83 -23
  199. package/dist/shared/{hx-slider-Blmv_rwS.js.map → hx-slider-CkOk5BCY.js.map} +1 -1
  200. package/dist/shared/{hx-split-button-CdNz1XAu.js → hx-split-button-Bg9FHrFK.js} +12 -16
  201. package/dist/shared/hx-split-button-Bg9FHrFK.js.map +1 -0
  202. package/dist/shared/{hx-stat-Gtw_SpK8.js → hx-stat-wKxbyep6.js} +22 -55
  203. package/dist/shared/hx-stat-wKxbyep6.js.map +1 -0
  204. package/dist/shared/{hx-step-CUzliIK_.js → hx-step-CyGQAuiB.js} +5 -25
  205. package/dist/shared/hx-step-CyGQAuiB.js.map +1 -0
  206. package/dist/shared/{hx-tag-C5aCUpVi.js → hx-tag-BqO6HY6V.js} +26 -21
  207. package/dist/shared/hx-tag-BqO6HY6V.js.map +1 -0
  208. package/dist/shared/{hx-time-picker-DfJkBwcX.js → hx-time-picker-if5Cl0Ei.js} +32 -38
  209. package/dist/shared/hx-time-picker-if5Cl0Ei.js.map +1 -0
  210. package/dist/shared/{hx-top-nav-CsTxOtVI.js → hx-top-nav-vP6oDWMV.js} +24 -38
  211. package/dist/shared/hx-top-nav-vP6oDWMV.js.map +1 -0
  212. package/dist/shared/{hx-tree-item-CXyspGxI.js → hx-tree-item-D8hwKd5m.js} +54 -57
  213. package/dist/shared/hx-tree-item-D8hwKd5m.js.map +1 -0
  214. package/dist/shared/{toast-factory-Dht3pVsw.js → toast-factory-DgnbFxVs.js} +127 -153
  215. package/dist/shared/toast-factory-DgnbFxVs.js.map +1 -0
  216. package/figma-inventory.json +283 -304
  217. package/package.json +8 -4
  218. package/dist/shared/hx-accordion-ZVzgDzTG.js.map +0 -1
  219. package/dist/shared/hx-alert-Bto8-TIi.js.map +0 -1
  220. package/dist/shared/hx-avatar-C9hOmlAb.js.map +0 -1
  221. package/dist/shared/hx-badge-DFL35nzi.js.map +0 -1
  222. package/dist/shared/hx-banner-fpRnciIO.js.map +0 -1
  223. package/dist/shared/hx-carousel-item-z1Lc24op.js.map +0 -1
  224. package/dist/shared/hx-checkbox-DcgyGS9V.js.map +0 -1
  225. package/dist/shared/hx-clinical-status-D3XQIOqX.js.map +0 -1
  226. package/dist/shared/hx-combobox-NgJaLbs2.js.map +0 -1
  227. package/dist/shared/hx-date-picker-0PtEav0K.js.map +0 -1
  228. package/dist/shared/hx-drawer-CM_upadk.js.map +0 -1
  229. package/dist/shared/hx-dropdown-xHwTJecv.js.map +0 -1
  230. package/dist/shared/hx-file-upload-D3rKROK5.js.map +0 -1
  231. package/dist/shared/hx-help-text-Xb2Yr8x2.js +0 -156
  232. package/dist/shared/hx-help-text-Xb2Yr8x2.js.map +0 -1
  233. package/dist/shared/hx-icon-fuVm4-bk.js +0 -283
  234. package/dist/shared/hx-icon-fuVm4-bk.js.map +0 -1
  235. package/dist/shared/hx-link-CMnZRUtQ.js.map +0 -1
  236. package/dist/shared/hx-menu-divider-A6Guuzi_.js.map +0 -1
  237. package/dist/shared/hx-nav-ChMTfn7o.js.map +0 -1
  238. package/dist/shared/hx-nav-item-ClN17f1y.js.map +0 -1
  239. package/dist/shared/hx-number-input-MggsT7F0.js.map +0 -1
  240. package/dist/shared/hx-overflow-menu-DFjJAziP.js.map +0 -1
  241. package/dist/shared/hx-phi-field-C19oxlrr.js.map +0 -1
  242. package/dist/shared/hx-rating-C3QP53k9.js.map +0 -1
  243. package/dist/shared/hx-split-button-CdNz1XAu.js.map +0 -1
  244. package/dist/shared/hx-stat-Gtw_SpK8.js.map +0 -1
  245. package/dist/shared/hx-step-CUzliIK_.js.map +0 -1
  246. package/dist/shared/hx-tag-C5aCUpVi.js.map +0 -1
  247. package/dist/shared/hx-time-picker-DfJkBwcX.js.map +0 -1
  248. package/dist/shared/hx-top-nav-CsTxOtVI.js.map +0 -1
  249. package/dist/shared/hx-tree-item-CXyspGxI.js.map +0 -1
  250. package/dist/shared/toast-factory-Dht3pVsw.js.map +0 -1
@@ -155,17 +155,12 @@
155
155
  border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #e5493e));
156
156
  }
157
157
 
158
- /* ─── Checkmark Icon ─── */
158
+ /* ─── Checkmark Icon (hx-icon library="helix") ─── */
159
159
 
160
160
  .checkbox__icon {
161
161
  display: none;
162
- width: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);
163
- height: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);
164
- fill: none;
165
- stroke: var(--hx-checkbox-checkmark-color, var(--hx-color-text-on-primary, #ffffff));
166
- stroke-width: 2.5;
167
- stroke-linecap: round;
168
- stroke-linejoin: round;
162
+ --hx-icon-size: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);
163
+ --hx-icon-color: var(--hx-checkbox-checkmark-color, var(--hx-color-text-on-primary, #ffffff));
169
164
  }
170
165
 
171
166
  .checkbox--checked .checkbox__icon--check {
@@ -272,7 +267,7 @@
272
267
  }
273
268
 
274
269
  .checkbox__icon {
275
- stroke: HighlightText;
270
+ --hx-icon-color: HighlightText;
276
271
  }
277
272
 
278
273
  .checkbox--error .checkbox__box {
@@ -1144,6 +1139,14 @@
1144
1139
  outline-offset: var(--hx-focus-ring-offset, 2px);
1145
1140
  opacity: 1;
1146
1141
  }
1142
+
1143
+ /* hx-icon glyph sizing for migrated inline SVGs (library="helix"). */
1144
+ .field__chip-remove-glyph {
1145
+ --hx-icon-size: 8px;
1146
+ }
1147
+ .field__clear-button-glyph {
1148
+ --hx-icon-size: 12px;
1149
+ }
1147
1150
  /* ── hx-date-picker ── */
1148
1151
  /* ============================================================
1149
1152
  Host
@@ -1575,6 +1578,11 @@
1575
1578
  border-color: LinkText;
1576
1579
  }
1577
1580
  }
1581
+
1582
+ /* hx-icon glyph sizing for the migrated calendar trigger SVG. */
1583
+ .field__trigger-glyph {
1584
+ --hx-icon-size: 16px;
1585
+ }
1578
1586
  /* ── hx-field ── */
1579
1587
  :host {
1580
1588
  display: block;
@@ -1965,6 +1973,10 @@
1965
1973
  outline-offset: var(--hx-focus-ring-offset, 2px);
1966
1974
  }
1967
1975
 
1976
+ .file-item__remove-glyph {
1977
+ --hx-icon-size: 14px;
1978
+ }
1979
+
1968
1980
  @media (prefers-reduced-motion: reduce) {
1969
1981
  .file-item__remove {
1970
1982
  transition: none;
@@ -2087,6 +2099,11 @@
2087
2099
  align-items: center;
2088
2100
  }
2089
2101
 
2102
+ /* Render the migrated hx-icon glyph at 1em (matches the previous inline SVG sizing). */
2103
+ .help-text__glyph {
2104
+ --hx-icon-size: 1em;
2105
+ }
2106
+
2090
2107
  .help-text__text {
2091
2108
  min-width: 0;
2092
2109
  }
@@ -2339,10 +2356,9 @@
2339
2356
  cursor: not-allowed;
2340
2357
  }
2341
2358
 
2342
- .field__stepper-btn svg {
2359
+ .field__stepper-glyph {
2343
2360
  pointer-events: none;
2344
- width: var(--hx-number-input-icon-size, var(--hx-space-3, 0.75rem));
2345
- height: var(--hx-number-input-icon-size, var(--hx-space-3, 0.75rem));
2361
+ --hx-icon-size: var(--hx-number-input-icon-size, var(--hx-space-3, 0.75rem));
2346
2362
  }
2347
2363
 
2348
2364
  /* Size sm adjustments for stepper */
@@ -2639,6 +2655,12 @@
2639
2655
  color: var(--hx-rating-hover-color, var(--hx-color-warning-300, #eeb383));
2640
2656
  }
2641
2657
 
2658
+ /* ─── Star Glyph (hx-icon) Sizing ─── */
2659
+
2660
+ .star-glyph {
2661
+ --hx-icon-size: 1em;
2662
+ }
2663
+
2642
2664
  /* ─── Half-Star Layout ─── */
2643
2665
 
2644
2666
  .star-half {
@@ -4539,6 +4561,11 @@
4539
4561
  color: LinkText;
4540
4562
  }
4541
4563
  }
4564
+
4565
+ /* hx-icon glyph sizing for the migrated clock toggle icon. */
4566
+ .field__toggle-glyph {
4567
+ --hx-icon-size: 16px;
4568
+ }
4542
4569
  /* ── hx-toggle-button ── */
4543
4570
  :host {
4544
4571
  display: inline-block;
@@ -73,9 +73,12 @@
73
73
  cursor: not-allowed;
74
74
  }
75
75
 
76
- .nav-btn svg {
77
- width: 1.25em;
78
- height: 1.25em;
76
+ .nav-btn .carousel__nav-glyph {
77
+ --hx-icon-size: 1.25em;
78
+ }
79
+
80
+ .play-pause-btn .carousel__autoplay-glyph {
81
+ --hx-icon-size: 1em;
79
82
  }
80
83
 
81
84
  /* ─── Play/Pause ─── */
@@ -223,6 +223,7 @@
223
223
  /* ─── Chevron Icon ─── */
224
224
 
225
225
  .nav__chevron {
226
+ --hx-icon-size: 16px;
226
227
  transition: transform var(--hx-transition-normal, 200ms) ease;
227
228
  flex-shrink: 0;
228
229
  }
@@ -231,6 +232,12 @@
231
232
  transform: rotate(180deg);
232
233
  }
233
234
 
235
+ /* ─── Hamburger Icon (mobile menu trigger) ─── */
236
+
237
+ .nav__hamburger-glyph {
238
+ --hx-icon-size: 24px;
239
+ }
240
+
234
241
  /* ─── Submenu ─── */
235
242
 
236
243
  .nav__submenu {
@@ -540,6 +547,11 @@
540
547
  border: 2px solid CanvasText;
541
548
  }
542
549
  }
550
+
551
+ /* hx-icon glyph sizing for the migrated trigger icons (1em parity). */
552
+ .trigger__glyph {
553
+ --hx-icon-size: 1em;
554
+ }
543
555
  /* ── hx-pagination ── */
544
556
  :host {
545
557
  display: block;
@@ -888,15 +900,13 @@
888
900
  outline-offset: var(--hx-focus-ring-offset, 2px);
889
901
  }
890
902
 
891
- .side-nav__toggle svg {
892
- width: var(--hx-space-5, 1.25rem);
893
- height: var(--hx-space-5, 1.25rem);
894
- fill: currentColor;
903
+ .side-nav__toggle .side-nav__toggle-glyph {
904
+ --hx-icon-size: var(--hx-space-5, 1.25rem);
895
905
  flex-shrink: 0;
896
906
  transition: transform var(--hx-transition-normal, 300ms) ease;
897
907
  }
898
908
 
899
- :host([collapsed]) .side-nav__toggle svg {
909
+ :host([collapsed]) .side-nav__toggle .side-nav__toggle-glyph {
900
910
  transform: rotate(180deg);
901
911
  }
902
912
 
@@ -1191,8 +1201,7 @@
1191
1201
  }
1192
1202
 
1193
1203
  .mobile-toggle__icon {
1194
- width: var(--hx-space-6, 1.5rem);
1195
- height: var(--hx-space-6, 1.5rem);
1204
+ --hx-icon-size: var(--hx-space-6, 1.5rem);
1196
1205
  }
1197
1206
 
1198
1207
  /* ─── Collapsible panel (mobile) ─── */
@@ -515,6 +515,11 @@
515
515
  border: 1px solid ButtonText;
516
516
  }
517
517
  }
518
+
519
+ /* hx-icon glyph sizing for the migrated close-button SVG. */
520
+ .drawer-close-button-glyph {
521
+ --hx-icon-size: 16px;
522
+ }
518
523
  /* ── hx-dropdown ── */
519
524
  :host {
520
525
  display: inline-block;
@@ -548,6 +553,11 @@
548
553
  z-index: var(--hx-dropdown-panel-z-index, 1000);
549
554
  min-width: var(--hx-dropdown-panel-min-width, 160px);
550
555
  background: var(--hx-dropdown-panel-bg, var(--hx-color-surface-default, #ffffff));
556
+ /* Anchor slotted text color to the design-system primary text token so
557
+ slotted <li>'s and other native consumer markup don't inherit a
558
+ foreign color cascade (e.g. brand toolbar setting body { color: #fff }
559
+ and rendering Edit/Duplicate as white-on-white). */
560
+ color: var(--hx-dropdown-panel-color, var(--hx-color-text-primary, #1a1a1a));
551
561
  border: 1px solid var(--hx-dropdown-panel-border-color, var(--hx-color-border-default, #d6dbd5));
552
562
  border-radius: var(--hx-dropdown-panel-border-radius, var(--hx-border-radius-md, 0.375rem));
553
563
  box-shadow: var(
@@ -91,7 +91,7 @@
91
91
  --hx-color-text-primary: var(--hx-color-neutral-900);
92
92
  --hx-color-text-strong: var(--hx-color-neutral-800);
93
93
  --hx-color-text-secondary: var(--hx-color-neutral-700);
94
- --hx-color-text-muted: var(--hx-color-neutral-600);
94
+ --hx-color-text-muted: var(--hx-color-neutral-700);
95
95
  --hx-color-text-placeholder: var(--hx-color-neutral-500);
96
96
  --hx-color-text-disabled: var(--hx-color-neutral-400);
97
97
  --hx-color-text-inverse: var(--hx-color-neutral-0);
@@ -109,7 +109,7 @@
109
109
  --hx-color-text-link-visited: var(--hx-color-secondary-700);
110
110
  --hx-color-text-link-active: var(--hx-color-primary-900);
111
111
  --hx-color-error-text: var(--hx-color-error-700);
112
- --hx-color-success-text: var(--hx-color-success-700);
112
+ --hx-color-success-text: var(--hx-color-success-800);
113
113
  --hx-color-surface-default: var(--hx-color-neutral-0);
114
114
  --hx-color-surface-raised: var(--hx-color-neutral-50);
115
115
  --hx-color-surface-sunken: var(--hx-color-neutral-100);
@@ -267,6 +267,7 @@
267
267
  --hx-container-xl: 1280px;
268
268
  --hx-container-content: 72rem;
269
269
  --hx-container-narrow: 48rem;
270
+ --hx-icon-stroke-width: 2;
270
271
  --hx-input-height-sm: var(--hx-size-8);
271
272
  --hx-input-height-md: var(--hx-size-11);
272
273
  --hx-input-height-lg: var(--hx-size-12);
@@ -503,6 +503,11 @@
503
503
  transform: rotate(180deg);
504
504
  }
505
505
 
506
+ /* hx-icon glyph sizing for the migrated chevron (12x8 → 12px). */
507
+ .split-button__chevron-glyph {
508
+ --hx-icon-size: 12px;
509
+ }
510
+
506
511
  /* ─── Size Variants ─── */
507
512
 
508
513
  /* sm */
@@ -82,10 +82,8 @@
82
82
  color: var(--hx-alert-icon-color, var(--hx-color-info-500, #0c8beb));
83
83
  }
84
84
 
85
- .alert__icon svg {
86
- width: var(--hx-space-5, 1.25rem);
87
- height: var(--hx-space-5, 1.25rem);
88
- fill: currentColor;
85
+ .alert__icon .alert__glyph {
86
+ --hx-icon-size: var(--hx-space-5, 1.25rem);
89
87
  }
90
88
 
91
89
  /* ─── Title ─── */
@@ -172,10 +170,8 @@
172
170
  opacity: 1;
173
171
  }
174
172
 
175
- .alert__close-button svg {
176
- width: var(--hx-space-4, 1rem);
177
- height: var(--hx-space-4, 1rem);
178
- fill: currentColor;
173
+ .alert__close-button .alert__glyph {
174
+ --hx-icon-size: var(--hx-space-4, 1rem);
179
175
  }
180
176
 
181
177
  @media (prefers-reduced-motion: reduce) {
@@ -88,8 +88,7 @@
88
88
  /* ─── Fallback Icon ─── */
89
89
 
90
90
  .avatar__fallback-icon {
91
- width: 60%;
92
- height: 60%;
91
+ --hx-icon-size: 60%;
93
92
  color: var(--hx-avatar-color, var(--hx-color-primary-700, #0f6363));
94
93
  }
95
94
 
@@ -239,3 +239,8 @@
239
239
  border-width: 2px;
240
240
  }
241
241
  }
242
+
243
+ /* hx-icon glyph sizing for the migrated remove-button SVG. */
244
+ .badge__remove-glyph {
245
+ --hx-icon-size: 10px;
246
+ }
@@ -59,10 +59,8 @@
59
59
  color: var(--hx-banner-icon-color, var(--hx-color-info-500, #0c8beb));
60
60
  }
61
61
 
62
- .banner__icon svg {
63
- width: var(--hx-space-5, 1.25rem);
64
- height: var(--hx-space-5, 1.25rem);
65
- fill: currentColor;
62
+ .banner__icon .banner__glyph {
63
+ --hx-icon-size: var(--hx-space-5, 1.25rem);
66
64
  }
67
65
 
68
66
  /* ─── Message ─── */
@@ -142,10 +140,8 @@
142
140
  opacity: 1;
143
141
  }
144
142
 
145
- .banner__close-button svg {
146
- width: var(--hx-space-4, 1rem);
147
- height: var(--hx-space-4, 1rem);
148
- fill: currentColor;
143
+ .banner__close-button .banner__glyph {
144
+ --hx-icon-size: var(--hx-space-4, 1rem);
149
145
  }
150
146
 
151
147
  /* ─── Variant: info ─── */
@@ -71,9 +71,12 @@
71
71
  cursor: not-allowed;
72
72
  }
73
73
 
74
- .nav-btn svg {
75
- width: 1.25em;
76
- height: 1.25em;
74
+ .nav-btn .carousel__nav-glyph {
75
+ --hx-icon-size: 1.25em;
76
+ }
77
+
78
+ .play-pause-btn .carousel__autoplay-glyph {
79
+ --hx-icon-size: 1em;
77
80
  }
78
81
 
79
82
  /* ─── Play/Pause ─── */
@@ -153,17 +153,12 @@
153
153
  border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #e5493e));
154
154
  }
155
155
 
156
- /* ─── Checkmark Icon ─── */
156
+ /* ─── Checkmark Icon (hx-icon library="helix") ─── */
157
157
 
158
158
  .checkbox__icon {
159
159
  display: none;
160
- width: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);
161
- height: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);
162
- fill: none;
163
- stroke: var(--hx-checkbox-checkmark-color, var(--hx-color-text-on-primary, #ffffff));
164
- stroke-width: 2.5;
165
- stroke-linecap: round;
166
- stroke-linejoin: round;
160
+ --hx-icon-size: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);
161
+ --hx-icon-color: var(--hx-checkbox-checkmark-color, var(--hx-color-text-on-primary, #ffffff));
167
162
  }
168
163
 
169
164
  .checkbox--checked .checkbox__icon--check {
@@ -270,7 +265,7 @@
270
265
  }
271
266
 
272
267
  .checkbox__icon {
273
- stroke: HighlightText;
268
+ --hx-icon-color: HighlightText;
274
269
  }
275
270
 
276
271
  .checkbox--error .checkbox__box {
@@ -108,15 +108,12 @@
108
108
  color: var(--hx-clinical-status-icon-color, var(--hx-color-info-500, #0c8beb));
109
109
  }
110
110
 
111
- .clinical-status__icon svg {
112
- width: var(--hx-space-5, 1.25rem);
113
- height: var(--hx-space-5, 1.25rem);
114
- fill: currentColor;
111
+ .clinical-status__glyph {
112
+ --hx-icon-size: var(--hx-space-5, 1.25rem);
115
113
  }
116
114
 
117
- .clinical-status--compact .clinical-status__icon svg {
118
- width: var(--hx-space-4, 1rem);
119
- height: var(--hx-space-4, 1rem);
115
+ .clinical-status--compact .clinical-status__glyph {
116
+ --hx-icon-size: var(--hx-space-4, 1rem);
120
117
  }
121
118
 
122
119
  /* ─── Message ─── */
@@ -384,3 +384,11 @@
384
384
  outline-offset: var(--hx-focus-ring-offset, 2px);
385
385
  opacity: 1;
386
386
  }
387
+
388
+ /* hx-icon glyph sizing for migrated inline SVGs (library="helix"). */
389
+ .field__chip-remove-glyph {
390
+ --hx-icon-size: 8px;
391
+ }
392
+ .field__clear-button-glyph {
393
+ --hx-icon-size: 12px;
394
+ }
@@ -429,3 +429,8 @@
429
429
  border-color: LinkText;
430
430
  }
431
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
+ }
@@ -31,6 +31,11 @@
31
31
  z-index: var(--hx-dropdown-panel-z-index, 1000);
32
32
  min-width: var(--hx-dropdown-panel-min-width, 160px);
33
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));
34
39
  border: 1px solid var(--hx-dropdown-panel-border-color, var(--hx-color-border-default, #d6dbd5));
35
40
  border-radius: var(--hx-dropdown-panel-border-radius, var(--hx-border-radius-md, 0.375rem));
36
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
  }
@@ -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
 
@@ -127,6 +127,7 @@
127
127
  /* ─── Chevron Icon ─── */
128
128
 
129
129
  .nav__chevron {
130
+ --hx-icon-size: 16px;
130
131
  transition: transform var(--hx-transition-normal, 200ms) ease;
131
132
  flex-shrink: 0;
132
133
  }
@@ -135,6 +136,12 @@
135
136
  transform: rotate(180deg);
136
137
  }
137
138
 
139
+ /* ─── Hamburger Icon (mobile menu trigger) ─── */
140
+
141
+ .nav__hamburger-glyph {
142
+ --hx-icon-size: 24px;
143
+ }
144
+
138
145
  /* ─── Submenu ─── */
139
146
 
140
147
  .nav__submenu {
@@ -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
 
@@ -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 {
@@ -150,15 +150,13 @@
150
150
  outline-offset: var(--hx-focus-ring-offset, 2px);
151
151
  }
152
152
 
153
- .side-nav__toggle svg {
154
- width: var(--hx-space-5, 1.25rem);
155
- height: var(--hx-space-5, 1.25rem);
156
- fill: currentColor;
153
+ .side-nav__toggle .side-nav__toggle-glyph {
154
+ --hx-icon-size: var(--hx-space-5, 1.25rem);
157
155
  flex-shrink: 0;
158
156
  transition: transform var(--hx-transition-normal, 300ms) ease;
159
157
  }
160
158
 
161
- :host([collapsed]) .side-nav__toggle svg {
159
+ :host([collapsed]) .side-nav__toggle .side-nav__toggle-glyph {
162
160
  transform: rotate(180deg);
163
161
  }
164
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 */
@@ -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
 
@@ -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
+ }
@@ -245,3 +245,8 @@
245
245
  color: LinkText;
246
246
  }
247
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 {
@@ -90,8 +90,7 @@
90
90
  }
91
91
 
92
92
  .mobile-toggle__icon {
93
- width: var(--hx-space-6, 1.5rem);
94
- height: var(--hx-space-6, 1.5rem);
93
+ --hx-icon-size: var(--hx-space-6, 1.5rem);
95
94
  }
96
95
 
97
96
  /* ─── Collapsible panel (mobile) ─── */
@@ -1,4 +1,4 @@
1
- /* index.css — generated 2026-05-09T16:49:04.288Z */
1
+ /* index.css — generated 2026-05-11T23:55:32.397Z */
2
2
  /* Imports all per-component CSS files for Drupal asset pipeline */
3
3
 
4
4
  @import './hx-accordion.css';