@helixui/library 3.1.0 → 3.2.0-next.100

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 (608) hide show
  1. package/custom-elements.json +6407 -339
  2. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  3. package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts.map +1 -1
  4. package/dist/components/hx-accordion/hx-accordion.d.ts +3 -0
  5. package/dist/components/hx-accordion/hx-accordion.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 +14 -0
  8. package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
  9. package/dist/components/hx-action-bar/index.js +1 -1
  10. package/dist/components/hx-alert/hx-alert.d.ts +36 -0
  11. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  12. package/dist/components/hx-alert/hx-alert.styles.d.ts +12 -0
  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 +17 -0
  16. package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -1
  17. package/dist/components/hx-avatar/index.js +1 -1
  18. package/dist/components/hx-badge/hx-badge.d.ts +35 -0
  19. package/dist/components/hx-badge/hx-badge.d.ts.map +1 -1
  20. package/dist/components/hx-badge/index.js +1 -1
  21. package/dist/components/hx-banner/hx-banner.d.ts +34 -0
  22. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  23. package/dist/components/hx-banner/hx-banner.styles.d.ts +12 -0
  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 +3 -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 +44 -7
  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 +2 -0
  36. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  37. package/dist/components/hx-button-group/hx-button-group.styles.d.ts.map +1 -1
  38. package/dist/components/hx-button-group/index.js +1 -1
  39. package/dist/components/hx-card/hx-card.d.ts +28 -0
  40. package/dist/components/hx-card/hx-card.d.ts.map +1 -1
  41. package/dist/components/hx-card/hx-card.styles.d.ts +9 -0
  42. package/dist/components/hx-card/hx-card.styles.d.ts.map +1 -1
  43. package/dist/components/hx-card/index.js +1 -1
  44. package/dist/components/hx-carousel/hx-carousel.d.ts +25 -0
  45. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
  46. package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -1
  47. package/dist/components/hx-carousel/index.js +1 -1
  48. package/dist/components/hx-checkbox/hx-checkbox.d.ts +38 -7
  49. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  50. package/dist/components/hx-checkbox/index.js +1 -1
  51. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +16 -2
  52. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  53. package/dist/components/hx-checkbox-group/index.js +1 -1
  54. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +37 -0
  55. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
  56. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
  57. package/dist/components/hx-clinical-status/index.js +1 -1
  58. package/dist/components/hx-code-snippet/hx-code-snippet.d.ts +35 -0
  59. package/dist/components/hx-code-snippet/hx-code-snippet.d.ts.map +1 -1
  60. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
  61. package/dist/components/hx-code-snippet/index.js +1 -1
  62. package/dist/components/hx-color-picker/hx-color-picker.d.ts +29 -0
  63. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  64. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  65. package/dist/components/hx-color-picker/index.js +1 -1
  66. package/dist/components/hx-combobox/hx-combobox.d.ts +49 -0
  67. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  68. package/dist/components/hx-combobox/index.js +1 -1
  69. package/dist/components/hx-container/hx-container.d.ts +5 -0
  70. package/dist/components/hx-container/hx-container.d.ts.map +1 -1
  71. package/dist/components/hx-copy-button/hx-copy-button.d.ts +24 -0
  72. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
  73. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
  74. package/dist/components/hx-copy-button/index.js +1 -1
  75. package/dist/components/hx-counter/hx-counter.d.ts +7 -0
  76. package/dist/components/hx-counter/hx-counter.d.ts.map +1 -1
  77. package/dist/components/hx-counter/index.js +1 -1
  78. package/dist/components/hx-data-table/hx-data-table.d.ts +29 -0
  79. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  80. package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -1
  81. package/dist/components/hx-data-table/index.js +1 -1
  82. package/dist/components/hx-date-picker/hx-date-picker.d.ts +44 -0
  83. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  84. package/dist/components/hx-date-picker/index.js +1 -1
  85. package/dist/components/hx-dialog/hx-dialog.d.ts +31 -0
  86. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  87. package/dist/components/hx-dialog/hx-dialog.styles.d.ts +10 -0
  88. package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -1
  89. package/dist/components/hx-dialog/index.js +1 -1
  90. package/dist/components/hx-divider/hx-divider.d.ts +9 -0
  91. package/dist/components/hx-divider/hx-divider.d.ts.map +1 -1
  92. package/dist/components/hx-divider/index.js +1 -1
  93. package/dist/components/hx-drawer/hx-drawer.d.ts +30 -0
  94. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  95. package/dist/components/hx-drawer/hx-drawer.styles.d.ts +10 -0
  96. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  97. package/dist/components/hx-drawer/index.js +1 -1
  98. package/dist/components/hx-dropdown/hx-dropdown.d.ts +6 -0
  99. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  100. package/dist/components/hx-dropdown/index.js +1 -1
  101. package/dist/components/hx-field/hx-field.d.ts +15 -0
  102. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  103. package/dist/components/hx-field/index.js +1 -1
  104. package/dist/components/hx-field-label/hx-field-label.d.ts +11 -0
  105. package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
  106. package/dist/components/hx-field-label/index.js +1 -1
  107. package/dist/components/hx-file-upload/hx-file-upload.d.ts +35 -0
  108. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  109. package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -1
  110. package/dist/components/hx-file-upload/index.js +1 -1
  111. package/dist/components/hx-form/index.js +1 -1
  112. package/dist/components/hx-grid/hx-grid.d.ts +5 -0
  113. package/dist/components/hx-grid/hx-grid.d.ts.map +1 -1
  114. package/dist/components/hx-help-text/hx-help-text.d.ts +8 -0
  115. package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
  116. package/dist/components/hx-help-text/index.js +1 -1
  117. package/dist/components/hx-icon/hx-icon.d.ts +5 -0
  118. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
  119. package/dist/components/hx-icon/index.js +1 -1
  120. package/dist/components/hx-icon-button/hx-icon-button.d.ts +27 -0
  121. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  122. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  123. package/dist/components/hx-icon-button/index.js +1 -1
  124. package/dist/components/hx-image/hx-image.d.ts +4 -0
  125. package/dist/components/hx-image/hx-image.d.ts.map +1 -1
  126. package/dist/components/hx-image/index.js +1 -1
  127. package/dist/components/hx-link/hx-link.d.ts +15 -0
  128. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  129. package/dist/components/hx-link/index.js +1 -1
  130. package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
  131. package/dist/components/hx-list/hx-list.d.ts +3 -0
  132. package/dist/components/hx-list/hx-list.d.ts.map +1 -1
  133. package/dist/components/hx-list/index.js +1 -1
  134. package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -1
  135. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  136. package/dist/components/hx-menu/hx-menu.d.ts +6 -0
  137. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  138. package/dist/components/hx-menu/index.js +1 -1
  139. package/dist/components/hx-meter/hx-meter.d.ts +23 -0
  140. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  141. package/dist/components/hx-meter/index.js +1 -1
  142. package/dist/components/hx-nav/hx-nav.d.ts +29 -0
  143. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  144. package/dist/components/hx-nav/index.js +1 -1
  145. package/dist/components/hx-number-input/hx-number-input.d.ts +34 -0
  146. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  147. package/dist/components/hx-number-input/index.js +1 -1
  148. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +26 -0
  149. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  150. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  151. package/dist/components/hx-overflow-menu/index.js +1 -1
  152. package/dist/components/hx-pagination/hx-pagination.d.ts +21 -0
  153. package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -1
  154. package/dist/components/hx-pagination/index.js +1 -1
  155. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts +23 -0
  156. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts.map +1 -1
  157. package/dist/components/hx-patient-banner/hx-patient-banner.styles.d.ts.map +1 -1
  158. package/dist/components/hx-patient-banner/index.js +1 -1
  159. package/dist/components/hx-phi-field/hx-phi-field.d.ts +19 -5
  160. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
  161. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -1
  162. package/dist/components/hx-phi-field/index.js +1 -1
  163. package/dist/components/hx-popover/hx-popover.d.ts +15 -0
  164. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  165. package/dist/components/hx-popover/hx-popover.styles.d.ts +9 -0
  166. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
  167. package/dist/components/hx-popover/index.js +1 -1
  168. package/dist/components/hx-popup/hx-popup.d.ts +1 -0
  169. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
  170. package/dist/components/hx-popup/hx-popup.styles.d.ts +9 -0
  171. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
  172. package/dist/components/hx-popup/index.js +1 -1
  173. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +17 -0
  174. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  175. package/dist/components/hx-progress-bar/index.js +1 -1
  176. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts +15 -0
  177. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts.map +1 -1
  178. package/dist/components/hx-progress-ring/index.js +1 -1
  179. package/dist/components/hx-prose/hx-prose.d.ts +2 -0
  180. package/dist/components/hx-prose/hx-prose.d.ts.map +1 -1
  181. package/dist/components/hx-prose/index.js +1 -1
  182. package/dist/components/hx-radio-group/hx-radio-group.d.ts +17 -3
  183. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  184. package/dist/components/hx-radio-group/hx-radio.d.ts +5 -5
  185. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  186. package/dist/components/hx-radio-group/index.js +1 -1
  187. package/dist/components/hx-rating/hx-rating.d.ts +13 -0
  188. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  189. package/dist/components/hx-rating/index.js +1 -1
  190. package/dist/components/hx-select/hx-select.d.ts +43 -0
  191. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  192. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  193. package/dist/components/hx-select/index.js +1 -1
  194. package/dist/components/hx-side-nav/hx-nav-item.d.ts +7 -5
  195. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  196. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  197. package/dist/components/hx-side-nav/hx-side-nav.d.ts +9 -4
  198. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  199. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  200. package/dist/components/hx-side-nav/index.js +1 -1
  201. package/dist/components/hx-skeleton/hx-skeleton.d.ts +5 -0
  202. package/dist/components/hx-skeleton/hx-skeleton.d.ts.map +1 -1
  203. package/dist/components/hx-skeleton/index.js +1 -1
  204. package/dist/components/hx-slider/hx-slider.d.ts +38 -0
  205. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  206. package/dist/components/hx-slider/hx-slider.styles.d.ts.map +1 -1
  207. package/dist/components/hx-slider/index.js +1 -1
  208. package/dist/components/hx-spinner/hx-spinner.d.ts +10 -0
  209. package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
  210. package/dist/components/hx-spinner/index.js +1 -1
  211. package/dist/components/hx-split-button/hx-split-button.d.ts +40 -1
  212. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  213. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  214. package/dist/components/hx-split-button/index.js +1 -1
  215. package/dist/components/hx-split-panel/hx-split-panel.d.ts +12 -0
  216. package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -1
  217. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
  218. package/dist/components/hx-split-panel/index.js +1 -1
  219. package/dist/components/hx-stack/hx-stack.d.ts +5 -0
  220. package/dist/components/hx-stack/hx-stack.d.ts.map +1 -1
  221. package/dist/components/hx-stat/hx-stat.d.ts +24 -0
  222. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  223. package/dist/components/hx-stat/index.js +1 -1
  224. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts +13 -0
  225. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts.map +1 -1
  226. package/dist/components/hx-status-indicator/index.js +1 -1
  227. package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
  228. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  229. package/dist/components/hx-steps/hx-steps.d.ts +15 -0
  230. package/dist/components/hx-steps/hx-steps.d.ts.map +1 -1
  231. package/dist/components/hx-steps/index.js +1 -1
  232. package/dist/components/hx-structured-list/hx-structured-list.d.ts +7 -0
  233. package/dist/components/hx-structured-list/hx-structured-list.d.ts.map +1 -1
  234. package/dist/components/hx-structured-list/index.js +1 -1
  235. package/dist/components/hx-switch/hx-switch.d.ts +42 -0
  236. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  237. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  238. package/dist/components/hx-switch/index.js +1 -1
  239. package/dist/components/hx-table/hx-table.d.ts +20 -6
  240. package/dist/components/hx-table/hx-table.d.ts.map +1 -1
  241. package/dist/components/hx-table/hx-table.styles.d.ts.map +1 -1
  242. package/dist/components/hx-table/hx-td.d.ts +1 -1
  243. package/dist/components/hx-table/index.js +1 -1
  244. package/dist/components/hx-tabs/hx-tab-panel.d.ts +2 -2
  245. package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -1
  246. package/dist/components/hx-tabs/hx-tab.d.ts +6 -6
  247. package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
  248. package/dist/components/hx-tabs/hx-tabs.d.ts +12 -8
  249. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  250. package/dist/components/hx-tabs/index.js +1 -1
  251. package/dist/components/hx-tag/hx-tag.d.ts +36 -0
  252. package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
  253. package/dist/components/hx-tag/index.js +1 -1
  254. package/dist/components/hx-text/hx-text.d.ts +22 -0
  255. package/dist/components/hx-text/hx-text.d.ts.map +1 -1
  256. package/dist/components/hx-text/hx-text.styles.d.ts.map +1 -1
  257. package/dist/components/hx-text/index.js +1 -1
  258. package/dist/components/hx-text-input/hx-text-input.d.ts +18 -5
  259. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  260. package/dist/components/hx-text-input/hx-text-input.styles.d.ts +12 -0
  261. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  262. package/dist/components/hx-text-input/index.js +1 -1
  263. package/dist/components/hx-textarea/hx-textarea.d.ts +27 -0
  264. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  265. package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -1
  266. package/dist/components/hx-textarea/index.js +1 -1
  267. package/dist/components/hx-theme/hx-theme.d.ts +3 -0
  268. package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
  269. package/dist/components/hx-theme/index.js +1 -1
  270. package/dist/components/hx-time-picker/hx-time-picker.d.ts +32 -0
  271. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  272. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  273. package/dist/components/hx-time-picker/index.js +1 -1
  274. package/dist/components/hx-toast/hx-toast.d.ts +30 -2
  275. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  276. package/dist/components/hx-toast/hx-toast.styles.d.ts +10 -0
  277. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  278. package/dist/components/hx-toast/index.js +1 -1
  279. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +35 -0
  280. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  281. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  282. package/dist/components/hx-toggle-button/index.js +1 -1
  283. package/dist/components/hx-tooltip/hx-tooltip.d.ts +13 -0
  284. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  285. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts +8 -0
  286. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -1
  287. package/dist/components/hx-tooltip/index.js +1 -1
  288. package/dist/components/hx-top-nav/hx-top-nav.d.ts +21 -0
  289. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
  290. package/dist/components/hx-top-nav/index.js +1 -1
  291. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  292. package/dist/components/hx-tree-view/hx-tree-view.d.ts +6 -0
  293. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
  294. package/dist/components/hx-tree-view/index.js +1 -1
  295. package/dist/css/helix-all.css +1286 -889
  296. package/dist/css/helix-core.css +322 -167
  297. package/dist/css/helix-data.css +54 -46
  298. package/dist/css/helix-feedback.css +132 -95
  299. package/dist/css/helix-forms.css +499 -349
  300. package/dist/css/helix-layout.css +9 -12
  301. package/dist/css/helix-media.css +16 -12
  302. package/dist/css/helix-navigation.css +86 -66
  303. package/dist/css/helix-overlay.css +62 -56
  304. package/dist/css/helix-tokens.css +173 -106
  305. package/dist/css/helix-utility.css +57 -40
  306. package/dist/css/hx-action-bar.css +5 -5
  307. package/dist/css/hx-alert.css +27 -23
  308. package/dist/css/hx-avatar.css +3 -3
  309. package/dist/css/hx-badge.css +22 -22
  310. package/dist/css/hx-banner.css +31 -24
  311. package/dist/css/hx-button-group.css +31 -14
  312. package/dist/css/hx-button.css +151 -34
  313. package/dist/css/hx-card.css +23 -12
  314. package/dist/css/hx-carousel.css +16 -12
  315. package/dist/css/hx-checkbox-group.css +5 -5
  316. package/dist/css/hx-checkbox.css +19 -19
  317. package/dist/css/hx-clinical-status.css +28 -30
  318. package/dist/css/hx-code-snippet.css +26 -18
  319. package/dist/css/hx-color-picker.css +20 -13
  320. package/dist/css/hx-combobox.css +31 -31
  321. package/dist/css/hx-copy-button.css +6 -3
  322. package/dist/css/hx-counter.css +1 -1
  323. package/dist/css/hx-data-table.css +16 -15
  324. package/dist/css/hx-date-picker.css +34 -34
  325. package/dist/css/hx-dialog.css +31 -27
  326. package/dist/css/hx-divider.css +2 -2
  327. package/dist/css/hx-drawer.css +18 -18
  328. package/dist/css/hx-dropdown.css +2 -2
  329. package/dist/css/hx-field-label.css +3 -3
  330. package/dist/css/hx-field.css +6 -6
  331. package/dist/css/hx-file-upload.css +21 -30
  332. package/dist/css/hx-help-text.css +5 -5
  333. package/dist/css/hx-icon-button.css +46 -38
  334. package/dist/css/hx-image.css +3 -3
  335. package/dist/css/hx-link.css +9 -9
  336. package/dist/css/hx-list.css +1 -1
  337. package/dist/css/hx-menu.css +2 -2
  338. package/dist/css/hx-meter.css +10 -10
  339. package/dist/css/hx-nav.css +11 -11
  340. package/dist/css/hx-number-input.css +18 -18
  341. package/dist/css/hx-overflow-menu.css +18 -15
  342. package/dist/css/hx-pagination.css +15 -15
  343. package/dist/css/hx-patient-banner.css +17 -9
  344. package/dist/css/hx-phi-field.css +4 -7
  345. package/dist/css/hx-popover.css +7 -6
  346. package/dist/css/hx-progress-bar.css +7 -7
  347. package/dist/css/hx-progress-ring.css +6 -6
  348. package/dist/css/hx-radio-group.css +5 -5
  349. package/dist/css/hx-rating.css +5 -5
  350. package/dist/css/hx-select.css +18 -16
  351. package/dist/css/hx-side-nav.css +28 -11
  352. package/dist/css/hx-skeleton.css +1 -1
  353. package/dist/css/hx-slider.css +15 -12
  354. package/dist/css/hx-spinner.css +4 -4
  355. package/dist/css/hx-split-button.css +45 -31
  356. package/dist/css/hx-split-panel.css +9 -12
  357. package/dist/css/hx-stat.css +8 -8
  358. package/dist/css/hx-status-indicator.css +7 -7
  359. package/dist/css/hx-structured-list.css +5 -5
  360. package/dist/css/hx-switch.css +16 -8
  361. package/dist/css/hx-table.css +6 -7
  362. package/dist/css/hx-tabs.css +3 -3
  363. package/dist/css/hx-tag.css +18 -18
  364. package/dist/css/hx-text-input.css +139 -61
  365. package/dist/css/hx-text.css +9 -7
  366. package/dist/css/hx-textarea.css +66 -27
  367. package/dist/css/hx-time-picker.css +27 -21
  368. package/dist/css/hx-toast.css +36 -10
  369. package/dist/css/hx-toggle-button.css +46 -30
  370. package/dist/css/hx-tooltip.css +4 -3
  371. package/dist/css/hx-top-nav.css +8 -8
  372. package/dist/css/hx-tree-view.css +1 -1
  373. package/dist/css/index.css +1 -1
  374. package/dist/css/manifest.json +330 -230
  375. package/dist/index.js +75 -75
  376. package/dist/shared/forced-colors-CTEDFRGa.js +117 -0
  377. package/dist/shared/forced-colors-CTEDFRGa.js.map +1 -0
  378. package/dist/shared/{hx-accordion-Wt52OOZD.js → hx-accordion-ZVzgDzTG.js} +29 -29
  379. package/dist/shared/hx-accordion-ZVzgDzTG.js.map +1 -0
  380. package/dist/shared/{hx-action-bar-BKMADbHj.js → hx-action-bar-CitgcpGv.js} +38 -37
  381. package/dist/shared/hx-action-bar-CitgcpGv.js.map +1 -0
  382. package/dist/shared/{hx-alert-D7n94HwI.js → hx-alert-C597yHpD.js} +36 -31
  383. package/dist/shared/hx-alert-C597yHpD.js.map +1 -0
  384. package/dist/shared/{hx-avatar-iLYzu8MJ.js → hx-avatar-C9hOmlAb.js} +19 -18
  385. package/dist/shared/hx-avatar-C9hOmlAb.js.map +1 -0
  386. package/dist/shared/{hx-badge-CVCmMPyW.js → hx-badge-CQXgOXJM.js} +65 -64
  387. package/dist/shared/hx-badge-CQXgOXJM.js.map +1 -0
  388. package/dist/shared/{hx-banner-C_He7Tr4.js → hx-banner-Cxd7eFUP.js} +43 -35
  389. package/dist/shared/hx-banner-Cxd7eFUP.js.map +1 -0
  390. package/dist/shared/{hx-breadcrumb-item-CldCwD1d.js → hx-breadcrumb-item-3tKppF9h.js} +24 -26
  391. package/dist/shared/hx-breadcrumb-item-3tKppF9h.js.map +1 -0
  392. package/dist/shared/{hx-button-Ddl-T6T-.js → hx-button-9OUjJnk7.js} +172 -55
  393. package/dist/shared/hx-button-9OUjJnk7.js.map +1 -0
  394. package/dist/shared/{hx-button-group-BJOGWoMa.js → hx-button-group-BI-QBqmO.js} +45 -27
  395. package/dist/shared/hx-button-group-BI-QBqmO.js.map +1 -0
  396. package/dist/shared/{hx-card-ycveujjL.js → hx-card-qNAM2QNV.js} +49 -37
  397. package/dist/shared/hx-card-qNAM2QNV.js.map +1 -0
  398. package/dist/shared/{hx-carousel-item-D_dCv61-.js → hx-carousel-item-z1Lc24op.js} +41 -36
  399. package/dist/shared/hx-carousel-item-z1Lc24op.js.map +1 -0
  400. package/dist/shared/{hx-checkbox-DkkoWoye.js → hx-checkbox-DBD-gMoz.js} +42 -41
  401. package/dist/shared/hx-checkbox-DBD-gMoz.js.map +1 -0
  402. package/dist/shared/{hx-checkbox-group-C3poJ-Zw.js → hx-checkbox-group-C9n315Ju.js} +20 -19
  403. package/dist/shared/hx-checkbox-group-C9n315Ju.js.map +1 -0
  404. package/dist/shared/{hx-clinical-status-BS5lcddT.js → hx-clinical-status-D3XQIOqX.js} +55 -56
  405. package/dist/shared/hx-clinical-status-D3XQIOqX.js.map +1 -0
  406. package/dist/shared/{hx-code-snippet-B7wUKzyb.js → hx-code-snippet-B26RM1_C.js} +41 -32
  407. package/dist/shared/hx-code-snippet-B26RM1_C.js.map +1 -0
  408. package/dist/shared/{hx-color-picker-DBaKTVLr.js → hx-color-picker-uRc865FJ.js} +54 -46
  409. package/dist/shared/hx-color-picker-uRc865FJ.js.map +1 -0
  410. package/dist/shared/{hx-combobox-BmgYT7Ar.js → hx-combobox-ClhNRAS5.js} +46 -45
  411. package/dist/shared/hx-combobox-ClhNRAS5.js.map +1 -0
  412. package/dist/shared/hx-container-DVI7sxfX.js.map +1 -1
  413. package/dist/shared/{hx-copy-button-8deNUdwP.js → hx-copy-button-sUVuikyH.js} +23 -19
  414. package/dist/shared/hx-copy-button-sUVuikyH.js.map +1 -0
  415. package/dist/shared/{hx-counter-CKfl_g8K.js → hx-counter-0zYapFhf.js} +10 -9
  416. package/dist/shared/hx-counter-0zYapFhf.js.map +1 -0
  417. package/dist/shared/{hx-data-table-B6h0RPn0.js → hx-data-table-CLqVqdxr.js} +49 -47
  418. package/dist/shared/hx-data-table-CLqVqdxr.js.map +1 -0
  419. package/dist/shared/{hx-date-picker-Dq2Nb68_.js → hx-date-picker-BJm7Yrda.js} +45 -44
  420. package/dist/shared/hx-date-picker-BJm7Yrda.js.map +1 -0
  421. package/dist/shared/{hx-dialog-CvIlY0Tc.js → hx-dialog-DRN_1-Y-.js} +68 -63
  422. package/dist/shared/hx-dialog-DRN_1-Y-.js.map +1 -0
  423. package/dist/shared/{hx-divider-DwpOrzMW.js → hx-divider-CYfcUjcr.js} +18 -17
  424. package/dist/shared/hx-divider-CYfcUjcr.js.map +1 -0
  425. package/dist/shared/{hx-drawer-Cx2ZJhBe.js → hx-drawer-Y1Ui2IWJ.js} +31 -30
  426. package/dist/shared/hx-drawer-Y1Ui2IWJ.js.map +1 -0
  427. package/dist/shared/{hx-dropdown-BjDrPUq5.js → hx-dropdown-LyaRc8Rf.js} +16 -15
  428. package/dist/shared/hx-dropdown-LyaRc8Rf.js.map +1 -0
  429. package/dist/shared/{hx-field-Dp3qQMut.js → hx-field-B3Qo8OLS.js} +15 -15
  430. package/dist/shared/hx-field-B3Qo8OLS.js.map +1 -0
  431. package/dist/shared/{hx-field-label-BC8QViXv.js → hx-field-label-BVRyyKeh.js} +8 -7
  432. package/dist/shared/hx-field-label-BVRyyKeh.js.map +1 -0
  433. package/dist/shared/{hx-file-upload-B6Yl1u0i.js → hx-file-upload-D3rKROK5.js} +51 -59
  434. package/dist/shared/hx-file-upload-D3rKROK5.js.map +1 -0
  435. package/dist/shared/hx-form-CkChEATa.js +257 -0
  436. package/dist/shared/hx-form-CkChEATa.js.map +1 -0
  437. package/dist/shared/hx-grid-CXZf3jeK.js.map +1 -1
  438. package/dist/shared/{hx-help-text-D7eytSim.js → hx-help-text-Xb2Yr8x2.js} +30 -29
  439. package/dist/shared/hx-help-text-Xb2Yr8x2.js.map +1 -0
  440. package/dist/shared/{hx-icon-button-BHneqPCU.js → hx-icon-button-CGNdQSFM.js} +78 -69
  441. package/dist/shared/hx-icon-button-CGNdQSFM.js.map +1 -0
  442. package/dist/shared/{hx-icon-CcyDPDYY.js → hx-icon-fuVm4-bk.js} +15 -14
  443. package/dist/shared/hx-icon-fuVm4-bk.js.map +1 -0
  444. package/dist/shared/{hx-image-2gt14zZd.js → hx-image-Ben_4yM5.js} +18 -17
  445. package/dist/shared/hx-image-Ben_4yM5.js.map +1 -0
  446. package/dist/shared/{hx-link-BESrWK8M.js → hx-link-9Ig2DW6L.js} +20 -19
  447. package/dist/shared/hx-link-9Ig2DW6L.js.map +1 -0
  448. package/dist/shared/{hx-list-_9qVv02L.js → hx-list-CkphGi9T.js} +22 -21
  449. package/dist/shared/hx-list-CkphGi9T.js.map +1 -0
  450. package/dist/shared/{hx-menu-divider-Ck-9Os1t.js → hx-menu-divider-C2omnPtj.js} +50 -49
  451. package/dist/shared/hx-menu-divider-C2omnPtj.js.map +1 -0
  452. package/dist/shared/{hx-meter-TbROk-dw.js → hx-meter-BPscsw5t.js} +41 -40
  453. package/dist/shared/{hx-meter-TbROk-dw.js.map → hx-meter-BPscsw5t.js.map} +1 -1
  454. package/dist/shared/{hx-nav-item-pqPasRUm.js → hx-nav-item-CqbO5-T5.js} +143 -81
  455. package/dist/shared/hx-nav-item-CqbO5-T5.js.map +1 -0
  456. package/dist/shared/{hx-nav-BcYDmjf7.js → hx-nav-ldFM3Fle.js} +54 -53
  457. package/dist/shared/hx-nav-ldFM3Fle.js.map +1 -0
  458. package/dist/shared/{hx-number-input-mOIZ3-46.js → hx-number-input-yUzFOSC1.js} +68 -67
  459. package/dist/shared/hx-number-input-yUzFOSC1.js.map +1 -0
  460. package/dist/shared/{hx-overflow-menu-Dprb9lnT.js → hx-overflow-menu-DCLsdIBy.js} +33 -29
  461. package/dist/shared/hx-overflow-menu-DCLsdIBy.js.map +1 -0
  462. package/dist/shared/{hx-pagination-AguTQjYC.js → hx-pagination-C7y8GVyU.js} +43 -42
  463. package/dist/shared/hx-pagination-C7y8GVyU.js.map +1 -0
  464. package/dist/shared/{hx-patient-banner-uE6gqLpT.js → hx-patient-banner-CkS-Lmj4.js} +29 -20
  465. package/dist/shared/hx-patient-banner-CkS-Lmj4.js.map +1 -0
  466. package/dist/shared/{hx-phi-field-BC_XowhC.js → hx-phi-field-C19oxlrr.js} +13 -15
  467. package/dist/shared/hx-phi-field-C19oxlrr.js.map +1 -0
  468. package/dist/shared/{hx-popover-B2_203ct.js → hx-popover-B-FP3-wW.js} +31 -29
  469. package/dist/shared/hx-popover-B-FP3-wW.js.map +1 -0
  470. package/dist/shared/{hx-popup-DZXpsJ1R.js → hx-popup-COUXXZ9X.js} +8 -7
  471. package/dist/shared/hx-popup-COUXXZ9X.js.map +1 -0
  472. package/dist/shared/{hx-progress-bar-KjEkEJLy.js → hx-progress-bar-Bn3JEPUf.js} +28 -27
  473. package/dist/shared/hx-progress-bar-Bn3JEPUf.js.map +1 -0
  474. package/dist/shared/{hx-progress-ring-3zMwvrwD.js → hx-progress-ring-TwHyXeEp.js} +15 -14
  475. package/dist/shared/hx-progress-ring-TwHyXeEp.js.map +1 -0
  476. package/dist/shared/{hx-prose-BCtK7YL6.js → hx-prose-BThYcASV.js} +12 -12
  477. package/dist/shared/{hx-prose-BCtK7YL6.js.map → hx-prose-BThYcASV.js.map} +1 -1
  478. package/dist/shared/{hx-radio-BBC5qZgE.js → hx-radio-dFjUAost.js} +38 -37
  479. package/dist/shared/hx-radio-dFjUAost.js.map +1 -0
  480. package/dist/shared/{hx-rating-C3E3ENJb.js → hx-rating-CGtsejNf.js} +38 -37
  481. package/dist/shared/hx-rating-CGtsejNf.js.map +1 -0
  482. package/dist/shared/{hx-select-CixTo7jp.js → hx-select-Bf4usFts.js} +64 -61
  483. package/dist/shared/hx-select-Bf4usFts.js.map +1 -0
  484. package/dist/shared/{hx-skeleton-LxkI0pxr.js → hx-skeleton-Cnieh5Uc.js} +14 -13
  485. package/dist/shared/hx-skeleton-Cnieh5Uc.js.map +1 -0
  486. package/dist/shared/{hx-slider-DFHuzF3N.js → hx-slider-m0aEClH1.js} +83 -79
  487. package/dist/shared/hx-slider-m0aEClH1.js.map +1 -0
  488. package/dist/shared/{hx-spinner-BKjuCdZB.js → hx-spinner-DL5AYr16.js} +18 -17
  489. package/dist/shared/hx-spinner-DL5AYr16.js.map +1 -0
  490. package/dist/shared/{hx-split-button-CGcJMmCG.js → hx-split-button-BxDFfx4D.js} +74 -59
  491. package/dist/shared/hx-split-button-BxDFfx4D.js.map +1 -0
  492. package/dist/shared/{hx-split-panel-C-1R10Mc.js → hx-split-panel-B-u0Z3mm.js} +16 -18
  493. package/dist/shared/hx-split-panel-B-u0Z3mm.js.map +1 -0
  494. package/dist/shared/hx-stack-DGfcOfWJ.js.map +1 -1
  495. package/dist/shared/{hx-stat-BTpykQAt.js → hx-stat-WOcNV1Ry.js} +16 -15
  496. package/dist/shared/hx-stat-WOcNV1Ry.js.map +1 -0
  497. package/dist/shared/{hx-status-indicator-X2QEWNFt.js → hx-status-indicator-BlQyen43.js} +17 -16
  498. package/dist/shared/hx-status-indicator-BlQyen43.js.map +1 -0
  499. package/dist/shared/{hx-step-CRNQlmSo.js → hx-step-R2rjp1fT.js} +60 -50
  500. package/dist/shared/hx-step-R2rjp1fT.js.map +1 -0
  501. package/dist/shared/{hx-structured-list-CqNbaEXg.js → hx-structured-list-m_-dMJbC.js} +18 -17
  502. package/dist/shared/hx-structured-list-m_-dMJbC.js.map +1 -0
  503. package/dist/shared/{hx-switch-DqOD9JR7.js → hx-switch-DvAW4YY-.js} +29 -20
  504. package/dist/shared/hx-switch-DvAW4YY-.js.map +1 -0
  505. package/dist/shared/{hx-tab-panel-BIzKfW5i.js → hx-tab-panel-SWOEHuJc.js} +45 -44
  506. package/dist/shared/hx-tab-panel-SWOEHuJc.js.map +1 -0
  507. package/dist/shared/{hx-tag-CgnrNnte.js → hx-tag-CNSmdyaK.js} +63 -62
  508. package/dist/shared/hx-tag-CNSmdyaK.js.map +1 -0
  509. package/dist/shared/{hx-td-Bra35cH4.js → hx-td-DnnEMIuA.js} +62 -62
  510. package/dist/shared/hx-td-DnnEMIuA.js.map +1 -0
  511. package/dist/shared/{hx-text-DMC2CPlL.js → hx-text-Bz_9fJ3J.js} +28 -25
  512. package/dist/shared/hx-text-Bz_9fJ3J.js.map +1 -0
  513. package/dist/shared/{hx-text-input--q0GH78x.js → hx-text-input-Bn7Gn8CI.js} +150 -72
  514. package/dist/shared/hx-text-input-Bn7Gn8CI.js.map +1 -0
  515. package/dist/shared/{hx-textarea-CK621vSL.js → hx-textarea-Jx1xnhgv.js} +108 -68
  516. package/dist/shared/hx-textarea-Jx1xnhgv.js.map +1 -0
  517. package/dist/shared/{hx-theme-DfEy-SJA.js → hx-theme-BiyQ7UUK.js} +46 -35
  518. package/dist/shared/hx-theme-BiyQ7UUK.js.map +1 -0
  519. package/dist/shared/{hx-time-picker-tPUfgElQ.js → hx-time-picker-BoEIZwzv.js} +59 -52
  520. package/dist/shared/hx-time-picker-BoEIZwzv.js.map +1 -0
  521. package/dist/shared/{hx-toggle-button-L-uBJr-a.js → hx-toggle-button-DPAIh_Xo.js} +86 -69
  522. package/dist/shared/hx-toggle-button-DPAIh_Xo.js.map +1 -0
  523. package/dist/shared/{hx-tooltip-B_zfKvwc.js → hx-tooltip-nYOv9OLu.js} +18 -16
  524. package/dist/shared/hx-tooltip-nYOv9OLu.js.map +1 -0
  525. package/dist/shared/{hx-top-nav-CATbRvIv.js → hx-top-nav-DP6OFS8C.js} +31 -30
  526. package/dist/shared/hx-top-nav-DP6OFS8C.js.map +1 -0
  527. package/dist/shared/{hx-tree-item-A45WCiBu.js → hx-tree-item-Dt0Ozqyr.js} +29 -28
  528. package/dist/shared/hx-tree-item-Dt0Ozqyr.js.map +1 -0
  529. package/dist/shared/{toast-factory-BPPnG3mM.js → toast-factory-YSznocIV.js} +98 -72
  530. package/dist/shared/toast-factory-YSznocIV.js.map +1 -0
  531. package/dist/styles/forced-colors.d.ts +60 -0
  532. package/dist/styles/forced-colors.d.ts.map +1 -0
  533. package/figma-inventory.json +8690 -827
  534. package/package.json +2 -2
  535. package/dist/shared/hx-accordion-Wt52OOZD.js.map +0 -1
  536. package/dist/shared/hx-action-bar-BKMADbHj.js.map +0 -1
  537. package/dist/shared/hx-alert-D7n94HwI.js.map +0 -1
  538. package/dist/shared/hx-avatar-iLYzu8MJ.js.map +0 -1
  539. package/dist/shared/hx-badge-CVCmMPyW.js.map +0 -1
  540. package/dist/shared/hx-banner-C_He7Tr4.js.map +0 -1
  541. package/dist/shared/hx-breadcrumb-item-CldCwD1d.js.map +0 -1
  542. package/dist/shared/hx-button-Ddl-T6T-.js.map +0 -1
  543. package/dist/shared/hx-button-group-BJOGWoMa.js.map +0 -1
  544. package/dist/shared/hx-card-ycveujjL.js.map +0 -1
  545. package/dist/shared/hx-carousel-item-D_dCv61-.js.map +0 -1
  546. package/dist/shared/hx-checkbox-DkkoWoye.js.map +0 -1
  547. package/dist/shared/hx-checkbox-group-C3poJ-Zw.js.map +0 -1
  548. package/dist/shared/hx-clinical-status-BS5lcddT.js.map +0 -1
  549. package/dist/shared/hx-code-snippet-B7wUKzyb.js.map +0 -1
  550. package/dist/shared/hx-color-picker-DBaKTVLr.js.map +0 -1
  551. package/dist/shared/hx-combobox-BmgYT7Ar.js.map +0 -1
  552. package/dist/shared/hx-copy-button-8deNUdwP.js.map +0 -1
  553. package/dist/shared/hx-counter-CKfl_g8K.js.map +0 -1
  554. package/dist/shared/hx-data-table-B6h0RPn0.js.map +0 -1
  555. package/dist/shared/hx-date-picker-Dq2Nb68_.js.map +0 -1
  556. package/dist/shared/hx-dialog-CvIlY0Tc.js.map +0 -1
  557. package/dist/shared/hx-divider-DwpOrzMW.js.map +0 -1
  558. package/dist/shared/hx-drawer-Cx2ZJhBe.js.map +0 -1
  559. package/dist/shared/hx-dropdown-BjDrPUq5.js.map +0 -1
  560. package/dist/shared/hx-field-Dp3qQMut.js.map +0 -1
  561. package/dist/shared/hx-field-label-BC8QViXv.js.map +0 -1
  562. package/dist/shared/hx-file-upload-B6Yl1u0i.js.map +0 -1
  563. package/dist/shared/hx-form-ButQFt9A.js +0 -257
  564. package/dist/shared/hx-form-ButQFt9A.js.map +0 -1
  565. package/dist/shared/hx-help-text-D7eytSim.js.map +0 -1
  566. package/dist/shared/hx-icon-CcyDPDYY.js.map +0 -1
  567. package/dist/shared/hx-icon-button-BHneqPCU.js.map +0 -1
  568. package/dist/shared/hx-image-2gt14zZd.js.map +0 -1
  569. package/dist/shared/hx-link-BESrWK8M.js.map +0 -1
  570. package/dist/shared/hx-list-_9qVv02L.js.map +0 -1
  571. package/dist/shared/hx-menu-divider-Ck-9Os1t.js.map +0 -1
  572. package/dist/shared/hx-nav-BcYDmjf7.js.map +0 -1
  573. package/dist/shared/hx-nav-item-pqPasRUm.js.map +0 -1
  574. package/dist/shared/hx-number-input-mOIZ3-46.js.map +0 -1
  575. package/dist/shared/hx-overflow-menu-Dprb9lnT.js.map +0 -1
  576. package/dist/shared/hx-pagination-AguTQjYC.js.map +0 -1
  577. package/dist/shared/hx-patient-banner-uE6gqLpT.js.map +0 -1
  578. package/dist/shared/hx-phi-field-BC_XowhC.js.map +0 -1
  579. package/dist/shared/hx-popover-B2_203ct.js.map +0 -1
  580. package/dist/shared/hx-popup-DZXpsJ1R.js.map +0 -1
  581. package/dist/shared/hx-progress-bar-KjEkEJLy.js.map +0 -1
  582. package/dist/shared/hx-progress-ring-3zMwvrwD.js.map +0 -1
  583. package/dist/shared/hx-radio-BBC5qZgE.js.map +0 -1
  584. package/dist/shared/hx-rating-C3E3ENJb.js.map +0 -1
  585. package/dist/shared/hx-select-CixTo7jp.js.map +0 -1
  586. package/dist/shared/hx-skeleton-LxkI0pxr.js.map +0 -1
  587. package/dist/shared/hx-slider-DFHuzF3N.js.map +0 -1
  588. package/dist/shared/hx-spinner-BKjuCdZB.js.map +0 -1
  589. package/dist/shared/hx-split-button-CGcJMmCG.js.map +0 -1
  590. package/dist/shared/hx-split-panel-C-1R10Mc.js.map +0 -1
  591. package/dist/shared/hx-stat-BTpykQAt.js.map +0 -1
  592. package/dist/shared/hx-status-indicator-X2QEWNFt.js.map +0 -1
  593. package/dist/shared/hx-step-CRNQlmSo.js.map +0 -1
  594. package/dist/shared/hx-structured-list-CqNbaEXg.js.map +0 -1
  595. package/dist/shared/hx-switch-DqOD9JR7.js.map +0 -1
  596. package/dist/shared/hx-tab-panel-BIzKfW5i.js.map +0 -1
  597. package/dist/shared/hx-tag-CgnrNnte.js.map +0 -1
  598. package/dist/shared/hx-td-Bra35cH4.js.map +0 -1
  599. package/dist/shared/hx-text-DMC2CPlL.js.map +0 -1
  600. package/dist/shared/hx-text-input--q0GH78x.js.map +0 -1
  601. package/dist/shared/hx-textarea-CK621vSL.js.map +0 -1
  602. package/dist/shared/hx-theme-DfEy-SJA.js.map +0 -1
  603. package/dist/shared/hx-time-picker-tPUfgElQ.js.map +0 -1
  604. package/dist/shared/hx-toggle-button-L-uBJr-a.js.map +0 -1
  605. package/dist/shared/hx-tooltip-B_zfKvwc.js.map +0 -1
  606. package/dist/shared/hx-top-nav-CATbRvIv.js.map +0 -1
  607. package/dist/shared/hx-tree-item-A45WCiBu.js.map +0 -1
  608. package/dist/shared/toast-factory-BPPnG3mM.js.map +0 -1
@@ -23,8 +23,8 @@
23
23
  overflow: hidden;
24
24
  width: var(--hx-avatar-size);
25
25
  height: var(--hx-avatar-size);
26
- background-color: var(--hx-avatar-bg, var(--hx-color-primary-100));
27
- color: var(--hx-avatar-color, var(--hx-color-primary-700));
26
+ background-color: var(--hx-avatar-bg, var(--hx-color-primary-100, #dbf0f0));
27
+ color: var(--hx-avatar-color, var(--hx-color-primary-700, #0f6363));
28
28
  border-radius: var(--hx-avatar-border-radius);
29
29
  flex-shrink: 0;
30
30
  }
@@ -92,7 +92,7 @@
92
92
  .avatar__fallback-icon {
93
93
  width: 60%;
94
94
  height: 60%;
95
- color: var(--hx-avatar-color, var(--hx-color-primary-700));
95
+ color: var(--hx-avatar-color, var(--hx-color-primary-700, #0f6363));
96
96
  }
97
97
 
98
98
  /* ─── Badge Slot ─── */
@@ -145,8 +145,8 @@
145
145
  justify-content: center;
146
146
  gap: var(--hx-space-1, 0.25rem);
147
147
  border-radius: var(--hx-badge-border-radius, var(--hx-border-radius-md, 0.375rem));
148
- background-color: var(--hx-badge-bg, var(--hx-color-primary-500, #2563eb));
149
- color: var(--hx-badge-color, var(--hx-color-neutral-0, #ffffff));
148
+ background-color: var(--hx-badge-bg, var(--hx-color-primary-500, #429797));
149
+ color: var(--hx-badge-color, var(--hx-color-text-on-primary, #0d1825));
150
150
  font-family: var(--hx-badge-font-family, var(--hx-font-family-sans, sans-serif));
151
151
  font-weight: var(--hx-badge-font-weight, var(--hx-font-weight-semibold, 600));
152
152
  line-height: var(--hx-line-height-tight, 1.25);
@@ -178,65 +178,65 @@
178
178
  /* ─── Style Variants ─── */
179
179
 
180
180
  .badge--primary {
181
- --hx-badge-bg: var(--hx-color-primary-500, #2563eb);
182
- --hx-badge-color: var(--hx-color-neutral-0, #ffffff);
181
+ --hx-badge-bg: var(--hx-badge-primary-bg, var(--hx-color-primary-500, #429797));
182
+ --hx-badge-color: var(--hx-badge-primary-color, var(--hx-color-text-on-primary, #0d1825));
183
183
  --hx-badge-pulse-color-internal: var(
184
184
  --hx-badge-pulse-color,
185
- var(--hx-color-primary-500, #2563eb)
185
+ var(--hx-badge-primary-bg, var(--hx-color-primary-500, #429797))
186
186
  );
187
187
  }
188
188
 
189
189
  .badge--secondary {
190
- --hx-badge-bg: var(--hx-badge-secondary-bg, var(--hx-color-neutral-100, #f1f5f9));
191
- --hx-badge-color: var(--hx-badge-secondary-color, var(--hx-color-neutral-700, #334155));
190
+ --hx-badge-bg: var(--hx-badge-secondary-bg, var(--hx-color-neutral-100, #ebeee9));
191
+ --hx-badge-color: var(--hx-badge-secondary-color, var(--hx-color-neutral-700, #313e4b));
192
192
  --hx-badge-pulse-color-internal: var(
193
193
  --hx-badge-pulse-color,
194
- var(--hx-badge-secondary-bg, var(--hx-color-neutral-100, #f1f5f9))
194
+ var(--hx-badge-secondary-bg, var(--hx-color-neutral-100, #ebeee9))
195
195
  );
196
196
  }
197
197
 
198
198
  .badge--success {
199
- --hx-badge-bg: var(--hx-color-success-700, #166534);
200
- --hx-badge-color: var(--hx-color-neutral-0, #ffffff);
199
+ --hx-badge-bg: var(--hx-badge-success-bg, var(--hx-color-success-700, #146831));
200
+ --hx-badge-color: var(--hx-badge-success-color, var(--hx-color-neutral-0, #ffffff));
201
201
  --hx-badge-pulse-color-internal: var(
202
202
  --hx-badge-pulse-color,
203
- var(--hx-color-success-700, #166534)
203
+ var(--hx-badge-success-bg, var(--hx-color-success-700, #146831))
204
204
  );
205
205
  }
206
206
 
207
207
  .badge--warning {
208
- --hx-badge-bg: var(--hx-color-warning-500, #d97706);
209
- --hx-badge-color: var(--hx-color-neutral-900, #0f172a);
208
+ --hx-badge-bg: var(--hx-badge-warning-bg, var(--hx-color-warning-500, #c2711c));
209
+ --hx-badge-color: var(--hx-badge-warning-color, var(--hx-color-neutral-900, #0d1825));
210
210
  --hx-badge-pulse-color-internal: var(
211
211
  --hx-badge-pulse-color,
212
- var(--hx-color-warning-500, #d97706)
212
+ var(--hx-badge-warning-bg, var(--hx-color-warning-500, #c2711c))
213
213
  );
214
214
  }
215
215
 
216
216
  .badge--error {
217
- --hx-badge-bg: var(--hx-color-error-500, #dc2626);
218
- --hx-badge-color: var(--hx-color-neutral-0, #ffffff);
217
+ --hx-badge-bg: var(--hx-badge-error-bg, var(--hx-color-error-500, #e5493e));
218
+ --hx-badge-color: var(--hx-badge-error-color, var(--hx-color-text-on-error, #0d1825));
219
219
  --hx-badge-pulse-color-internal: var(
220
220
  --hx-badge-pulse-color,
221
- var(--hx-color-error-500, #dc2626)
221
+ var(--hx-badge-error-bg, var(--hx-color-error-500, #e5493e))
222
222
  );
223
223
  }
224
224
 
225
225
  .badge--neutral {
226
- --hx-badge-bg: var(--hx-color-neutral-200, #e2e8f0);
227
- --hx-badge-color: var(--hx-color-neutral-700, #334155);
226
+ --hx-badge-bg: var(--hx-badge-neutral-bg, var(--hx-color-neutral-200, #d6dbd5));
227
+ --hx-badge-color: var(--hx-badge-neutral-color, var(--hx-color-neutral-700, #313e4b));
228
228
  --hx-badge-pulse-color-internal: var(
229
229
  --hx-badge-pulse-color,
230
- var(--hx-color-neutral-200, #e2e8f0)
230
+ var(--hx-badge-neutral-bg, var(--hx-color-neutral-200, #d6dbd5))
231
231
  );
232
232
  }
233
233
 
234
234
  .badge--info {
235
- --hx-badge-bg: var(--hx-badge-info-bg, var(--hx-color-info-700, #075985));
235
+ --hx-badge-bg: var(--hx-badge-info-bg, var(--hx-color-info-700, #0e5997));
236
236
  --hx-badge-color: var(--hx-badge-info-color, var(--hx-color-neutral-0, #ffffff));
237
237
  --hx-badge-pulse-color-internal: var(
238
238
  --hx-badge-pulse-color,
239
- var(--hx-badge-info-bg, var(--hx-color-info-700, #075985))
239
+ var(--hx-badge-info-bg, var(--hx-color-info-700, #0e5997))
240
240
  );
241
241
  }
242
242
 
@@ -376,7 +376,7 @@
376
376
  gap: var(--hx-space-2, 0.5rem);
377
377
  border: var(--hx-border-width-thin, 1px) solid var(--hx-button-border-color, transparent);
378
378
  border-radius: var(--hx-button-border-radius, var(--hx-border-radius-md, 0.375rem));
379
- background-color: var(--hx-button-bg, var(--hx-color-primary-500, #2563eb));
379
+ background-color: var(--hx-button-bg, var(--hx-color-primary-500, #429797));
380
380
  color: var(--hx-button-color, var(--hx-color-neutral-0, #ffffff));
381
381
  font-family: var(--hx-button-font-family, var(--hx-font-family-sans, sans-serif));
382
382
  font-weight: var(--hx-button-font-weight, var(--hx-font-weight-semibold, 600));
@@ -395,7 +395,7 @@
395
395
 
396
396
  .button:focus-visible {
397
397
  outline: var(--hx-focus-ring-width, 2px) solid
398
- var(--hx-button-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
398
+ var(--hx-button-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
399
399
  outline-offset: var(--hx-focus-ring-offset, 2px);
400
400
  }
401
401
 
@@ -433,63 +433,108 @@
433
433
  /* ─── Style Variants ─── */
434
434
 
435
435
  .button--primary {
436
- --hx-button-bg: var(--hx-color-primary-500);
437
- --hx-button-color: var(--hx-color-neutral-0);
436
+ --hx-button-bg: var(--hx-color-action-primary-bg, #429797);
437
+ /* Inline #0d1825 matches text.on-primary's resolved primitive (neutral-900);
438
+ cold-start without the semantic still paints AA-tuned dark-on-primary
439
+ rather than white-on-primary (3.43:1 fail). */
440
+ --hx-button-color: var(--hx-color-text-on-primary, #0d1825);
438
441
  --hx-button-border-color: transparent;
439
442
  }
440
443
 
441
444
  .button--secondary {
442
445
  --hx-button-bg: transparent;
443
- --hx-button-color: var(--hx-color-primary-500);
444
- --hx-button-border-color: var(--hx-color-primary-500);
446
+ /* primary-500 (#429797) text on white surface = 3.44:1 — fails AA.
447
+ primary-600 (#0F7078) on white = 5.82:1 — AA pass. */
448
+ --hx-button-color: var(--hx-color-action-secondary-fg, #0f7078);
449
+ --hx-button-border-color: var(--hx-color-action-secondary-border, #0f7078);
445
450
  }
446
451
 
447
452
  .button--secondary:hover {
448
- --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-primary-50));
453
+ --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-action-secondary-bg-hover, #ebf8f8));
449
454
  }
450
455
 
451
456
  .button--tertiary {
452
- --hx-button-bg: var(--hx-color-neutral-100);
453
- --hx-button-color: var(--hx-color-neutral-900);
457
+ --hx-button-bg: var(--hx-color-surface-sunken, #ebeee9);
458
+ --hx-button-color: var(--hx-color-text-primary, #0d1825);
454
459
  --hx-button-border-color: transparent;
455
460
  }
456
461
 
457
462
  .button--tertiary:hover {
458
- --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-neutral-200));
463
+ --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-surface-raised, #f5f8f3));
459
464
  }
460
465
 
461
466
  .button--danger {
462
- --hx-button-bg: var(--hx-color-error-500);
463
- --hx-button-color: var(--hx-color-neutral-0);
467
+ --hx-button-bg: var(--hx-color-action-danger-bg, #e5493e);
468
+ /* Inline #0d1825 matches text.on-error's resolved primitive (neutral-900);
469
+ cold-start without the semantic still paints AA-tuned dark-on-error
470
+ rather than white-on-error (3.92:1 fail). */
471
+ --hx-button-color: var(--hx-color-text-on-error, #0d1825);
464
472
  --hx-button-border-color: transparent;
465
473
  }
466
474
 
475
+ /* on-error tokens are tuned for error-500 (neutral-900 on #E5493E ≈ 4.59:1).
476
+ error-600 (#C92A2A) drops that to 3.28:1 — AA fail. text.on-error-strong
477
+ resolves to neutral-0 across modes (no dark flip) so the darker hover fill
478
+ stays legible. Mirrors hx-toast precedent (commit 300e21ab0); routed
479
+ through the semantic tier in 3.2.1 token-cascade remediation. */
467
480
  .button--danger:hover {
468
- --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-error-600));
481
+ --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-action-danger-bg-hover, #c92a2a));
482
+ --hx-button-color: var(--hx-color-text-on-error-strong, #ffffff);
483
+ }
484
+
485
+ /* Pressed state binds explicitly to action.danger.bg-active (error-700,
486
+ #A21312) + text.on-error-strong (neutral-0) = 7.96:1 AA. Base
487
+ .button:active filter:brightness(0.8) would compound on top of bg-hover
488
+ (#C92A2A) and produce ~3.3:1 sub-AA on the bound colors. Override the
489
+ filter to none. HC override on action.danger.bg-active flips to HC
490
+ error-500 so the on-error-strong (HC = #000) pair is AA in HC too. */
491
+ .button--danger:active {
492
+ --hx-button-bg: var(--hx-button-active-bg, var(--hx-color-action-danger-bg-active, #a21312));
493
+ --hx-button-color: var(--hx-color-text-on-error-strong, #ffffff);
494
+ filter: none;
469
495
  }
470
496
 
471
497
  .button--ghost {
472
498
  --hx-button-bg: transparent;
473
- --hx-button-color: var(--hx-color-primary-500);
499
+ /* primary-500 (#429797) text on white surface = 3.44:1 — fails AA.
500
+ primary-600 (#0F7078) on white = 5.82:1 — AA pass. */
501
+ --hx-button-color: var(--hx-color-action-ghost-fg, #0f7078);
474
502
  --hx-button-border-color: transparent;
475
503
  }
476
504
 
477
505
  .button--ghost:hover {
478
- --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-neutral-100));
506
+ --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-action-ghost-bg-hover, #ebf8f8));
479
507
  }
480
508
 
481
509
  .button--outline {
482
510
  --hx-button-bg: transparent;
483
- --hx-button-color: var(--hx-color-neutral-900);
484
- --hx-button-border-color: var(--hx-color-neutral-300);
511
+ --hx-button-color: var(--hx-color-text-primary, #0d1825);
512
+ --hx-button-border-color: var(--hx-color-border-strong, #66787b);
485
513
  }
486
514
 
487
515
  .button--outline:hover {
488
- --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-neutral-50));
516
+ --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-surface-raised, #f5f8f3));
489
517
  }
490
518
 
519
+ /* on-primary token resolves to neutral-900 (#0D1825) — tuned for primary-500.
520
+ primary-600 (#0F7078) drops the pair to 3.07:1 — AA fail. text.on-primary-strong
521
+ resolves to neutral-0 across modes (no dark flip) for the darker hover fill.
522
+ Mirrors hx-toast precedent (commit 300e21ab0); routed through the semantic
523
+ tier in 3.2.1 token-cascade remediation. */
491
524
  .button--primary:hover {
492
- --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-primary-600));
525
+ --hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-action-primary-bg-hover, #0f7078));
526
+ --hx-button-color: var(--hx-color-text-on-primary-strong, #ffffff);
527
+ }
528
+
529
+ /* Pressed state binds explicitly to action.primary.bg-active (primary-700,
530
+ #0F6363) + text.on-primary-strong (neutral-0) = 7.03:1 AA. The base
531
+ .button:active filter:brightness(0.8) would compound on top of bg-hover
532
+ (#0F7078) and produce ~3.7:1 sub-AA on the bound colors. Override the
533
+ filter to none so the action.*.bg-active token is what actually paints. */
534
+ .button--primary:active {
535
+ --hx-button-bg: var(--hx-button-active-bg, var(--hx-color-action-primary-bg-active, #0f6363));
536
+ --hx-button-color: var(--hx-color-text-on-primary-strong, #ffffff);
537
+ filter: none;
493
538
  }
494
539
 
495
540
  /* ─── Disabled ─── */
@@ -533,9 +578,19 @@
533
578
 
534
579
  /* ─── Inverted Mode ─── */
535
580
 
581
+ /* Inline-fallback contract for --hx-color-border-on-dark-* in this section:
582
+ the literal rgba(255, 255, 255, 0.X) arms are a LIGHT-MODE-only last
583
+ resort (cold-start, CSS-not-loaded). At runtime, hx-theme injects
584
+ dark.color.border.on-dark-* as overlay-black-* so dark-mode inverted
585
+ buttons stay visible on the now-light surface.inverse (#EBEEE9). The
586
+ inline white overlays would render invisible (≈1.1:1) on a light surface,
587
+ but they never paint when the theme is mounted. If a future change moves
588
+ these into a context where hx-theme is not guaranteed, replace with
589
+ mode-aware tokens. */
590
+
536
591
  /* Override text color and filter-based hover/active for all variants */
537
592
  :host([inverted]) .button {
538
- color: var(--hx-button-inverted-color, var(--hx-color-neutral-0));
593
+ color: var(--hx-button-inverted-color, var(--hx-color-text-inverse, #ffffff));
539
594
  filter: none;
540
595
  }
541
596
 
@@ -548,37 +603,89 @@
548
603
  }
549
604
 
550
605
  :host([inverted]) .button:focus-visible {
606
+ /* WCAG 1.4.11: focus indicator needs ≥3:1 against adjacent colors.
607
+ border-on-dark-default (overlay-white-30) ≈ 2.7:1 on neutral-900 — fails.
608
+ border-on-dark-strong (overlay-white-70) ≈ 5:1 — passes. */
551
609
  outline-color: var(
552
610
  --hx-button-inverted-focus-ring-color,
553
- var(--hx-overlay-white-50, rgba(255, 255, 255, 0.5))
611
+ var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7))
554
612
  );
555
613
  }
556
614
 
557
- /* Primary inverted — slight transparent white overlay on hover */
558
- :host([inverted]) .button--primary:hover {
559
- --hx-button-bg: var(--hx-color-primary-400, #60a5fa);
615
+ /* Primary inverted — resting bg routes through action.primary.bg-inverted-rest
616
+ so dark mode can flip the fill to primary-600. surface.inverse becomes light
617
+ (#EBEEE9) in dark mode; primary-500 on #EBEEE9 = 2.94:1 (sub-3:1 UI floor
618
+ fail for the inverted-button boundary). primary-600 on #EBEEE9 = 4.97:1
619
+ (AA pass). Light mode tracks action.primary.bg (primary-500, 5.20:1 on
620
+ dark surface.inverse). */
621
+ :host([inverted]) .button--primary {
622
+ --hx-button-bg: var(--hx-color-action-primary-bg-inverted-rest, #429797);
623
+ }
624
+
625
+ /* Primary inverted — hover/pressed lift to action.primary.bg-inverted-hover
626
+ (primary-400, light teal). The base :host([inverted]) .button rule binds
627
+ color to text.inverse, which flips by mode (neutral-0 in light, neutral-900
628
+ in dark). On a permanent light-teal fill, white text drops to 2.4:1 in
629
+ light mode (AA fail). Pin color to text.on-primary (neutral-900, no
630
+ dark-mode flip) for both hover and active so the foreground is dark in
631
+ both modes — neutral-900 on primary-400 = 7.27:1 (AA pass).
632
+ Pressed === hover visually in inverted mode is acceptable UX (the
633
+ transient absence of pointer over the button signals release).
634
+ The fallback chain wraps --hx-button-active-bg (highest precedence) and
635
+ --hx-button-hover-bg so consumer overrides on either prop apply under
636
+ :host([inverted]) — the two share a paint here, so either knob is
637
+ honored, with active-bg winning when both are set. */
638
+ :host([inverted]) .button--primary:hover,
639
+ :host([inverted]) .button--primary:active {
640
+ --hx-button-bg: var(
641
+ --hx-button-active-bg,
642
+ var(--hx-button-hover-bg, var(--hx-color-action-primary-bg-inverted-hover, #6ab1b1))
643
+ );
644
+ color: var(
645
+ --hx-button-inverted-primary-interactive-color,
646
+ var(--hx-color-text-on-primary, #0d1825)
647
+ );
560
648
  }
561
649
 
562
- /* Secondary inverted — white border and text */
650
+ /* Danger inverted — sister to primary. Hover/pressed lift to
651
+ action.danger.bg-inverted-hover (error-400, #FC7264). Same foreground
652
+ contract: text.inverse fails in light mode (white on light red ≈ 2.6:1);
653
+ pin to text.on-error (neutral-900, no dark-mode flip) for 6.58:1 in both
654
+ modes. Same active-bg → hover-bg → semantic fallback chain as primary. */
655
+ :host([inverted]) .button--danger:hover,
656
+ :host([inverted]) .button--danger:active {
657
+ --hx-button-bg: var(
658
+ --hx-button-active-bg,
659
+ var(--hx-button-hover-bg, var(--hx-color-action-danger-bg-inverted-hover, #fc7264))
660
+ );
661
+ color: var(
662
+ --hx-button-inverted-danger-interactive-color,
663
+ var(--hx-color-text-on-error, #0d1825)
664
+ );
665
+ }
666
+
667
+ /* Secondary inverted — white border and translucent hover fill */
563
668
  :host([inverted]) .button--secondary {
564
- --hx-button-border-color: var(--hx-overlay-white-70, rgba(255, 255, 255, 0.7));
669
+ --hx-button-border-color: var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7));
565
670
  }
566
671
 
567
672
  :host([inverted]) .button--secondary:hover {
568
- --hx-button-bg: var(--hx-overlay-white-15, rgba(255, 255, 255, 0.15));
673
+ --hx-button-bg: var(--hx-color-border-on-dark-default, rgba(255, 255, 255, 0.3));
569
674
  }
570
675
 
571
- /* Tertiary inverted */
676
+ /* Tertiary inverted — resting at subtle (10%) lifts to default (30%) on hover
677
+ so the runtime hover delta is visually distinct, not collapsed onto a
678
+ single token. */
572
679
  :host([inverted]) .button--tertiary {
573
- --hx-button-bg: var(--hx-overlay-white-15, rgba(255, 255, 255, 0.15));
680
+ --hx-button-bg: var(--hx-color-border-on-dark-subtle, rgba(255, 255, 255, 0.1));
574
681
  --hx-button-border-color: transparent;
575
682
  }
576
683
 
577
684
  :host([inverted]) .button--tertiary:hover {
578
- --hx-button-bg: var(--hx-overlay-white-25, rgba(255, 255, 255, 0.25));
685
+ --hx-button-bg: var(--hx-color-border-on-dark-default, rgba(255, 255, 255, 0.3));
579
686
  }
580
687
 
581
- /* Ghost inverted — transparent base, white hover bg */
688
+ /* Ghost inverted — transparent base, translucent hover bg */
582
689
  :host([inverted]) .button--ghost {
583
690
  --hx-button-bg: transparent;
584
691
  --hx-button-border-color: transparent;
@@ -587,17 +694,17 @@
587
694
  :host([inverted]) .button--ghost:hover {
588
695
  --hx-button-bg: var(
589
696
  --hx-button-inverted-ghost-hover-bg,
590
- var(--hx-overlay-white-20, rgba(255, 255, 255, 0.2))
697
+ var(--hx-color-border-on-dark-default, rgba(255, 255, 255, 0.3))
591
698
  );
592
699
  }
593
700
 
594
701
  /* Outline inverted — white border */
595
702
  :host([inverted]) .button--outline {
596
- --hx-button-border-color: var(--hx-overlay-white-70, rgba(255, 255, 255, 0.7));
703
+ --hx-button-border-color: var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7));
597
704
  }
598
705
 
599
706
  :host([inverted]) .button--outline:hover {
600
- --hx-button-bg: var(--hx-overlay-white-15, rgba(255, 255, 255, 0.15));
707
+ --hx-button-bg: var(--hx-color-border-on-dark-default, rgba(255, 255, 255, 0.3));
601
708
  }
602
709
 
603
710
  /* ─── Prefix / Suffix / Label ─── */
@@ -625,6 +732,16 @@
625
732
  border: 2px solid ButtonText;
626
733
  }
627
734
 
735
+ .button:hover {
736
+ /* Hover affordance must survive in HC. Highlight/HighlightText is the
737
+ OS-level "selected" pair, mirroring the forcedColorsInteractive mixin's
738
+ hover contract — kept inline since this component owns its bespoke HC
739
+ block (XOR rule). */
740
+ background-color: Highlight;
741
+ color: HighlightText;
742
+ border-color: Highlight;
743
+ }
744
+
628
745
  .button:focus-visible {
629
746
  outline: 3px solid Highlight;
630
747
  outline-offset: 2px;
@@ -670,33 +787,43 @@
670
787
  /* ─── No Double Borders: Horizontal ─── */
671
788
 
672
789
  .group--horizontal ::slotted(*:not(:first-child)) {
673
- margin-inline-start: calc(-1 * var(--hx-border-width-thin, 1px));
790
+ margin-inline-start: var(
791
+ --hx-button-group-divider-offset,
792
+ calc(-1 * var(--hx-border-width-thin, 1px))
793
+ );
674
794
  }
675
795
 
676
796
  /* ─── No Double Borders: Vertical ─── */
677
797
 
678
798
  .group--vertical ::slotted(*:not(:first-child)) {
679
- margin-top: calc(-1 * var(--hx-border-width-thin, 1px));
799
+ margin-top: var(--hx-button-group-divider-offset, calc(-1 * var(--hx-border-width-thin, 1px)));
680
800
  }
681
801
 
682
802
  /* ─── Border Radius: Horizontal — Single child keeps all corners ─── */
683
803
 
684
804
  .group--horizontal ::slotted(:only-child) {
685
- --hx-button-border-radius: var(--hx-border-radius-md, 0.375rem);
805
+ --hx-button-border-radius: var(
806
+ --hx-button-group-border-radius,
807
+ var(--hx-border-radius-md, 0.375rem)
808
+ );
686
809
  }
687
810
 
688
811
  /* ─── Border Radius: Horizontal — First child keeps left corners ─── */
689
812
 
690
813
  .group--horizontal ::slotted(:first-child:not(:only-child)) {
691
- --hx-button-border-radius: var(--hx-border-radius-md, 0.375rem) 0 0
692
- var(--hx-border-radius-md, 0.375rem);
814
+ --hx-button-border-radius: var(
815
+ --hx-button-group-border-radius,
816
+ var(--hx-border-radius-md, 0.375rem)
817
+ )
818
+ 0 0 var(--hx-button-group-border-radius, var(--hx-border-radius-md, 0.375rem));
693
819
  }
694
820
 
695
821
  /* ─── Border Radius: Horizontal — Last child keeps right corners ─── */
696
822
 
697
823
  .group--horizontal ::slotted(:last-child:not(:only-child)) {
698
- --hx-button-border-radius: 0 var(--hx-border-radius-md, 0.375rem)
699
- var(--hx-border-radius-md, 0.375rem) 0;
824
+ --hx-button-border-radius: 0
825
+ var(--hx-button-group-border-radius, var(--hx-border-radius-md, 0.375rem))
826
+ var(--hx-button-group-border-radius, var(--hx-border-radius-md, 0.375rem)) 0;
700
827
  }
701
828
 
702
829
  /* ─── Border Radius: Horizontal — Middle children have no radius ─── */
@@ -708,21 +835,28 @@
708
835
  /* ─── Border Radius: Vertical — Single child keeps all corners ─── */
709
836
 
710
837
  .group--vertical ::slotted(:only-child) {
711
- --hx-button-border-radius: var(--hx-border-radius-md, 0.375rem);
838
+ --hx-button-border-radius: var(
839
+ --hx-button-group-border-radius,
840
+ var(--hx-border-radius-md, 0.375rem)
841
+ );
712
842
  }
713
843
 
714
844
  /* ─── Border Radius: Vertical — First child keeps top corners ─── */
715
845
 
716
846
  .group--vertical ::slotted(:first-child:not(:only-child)) {
717
- --hx-button-border-radius: var(--hx-border-radius-md, 0.375rem)
718
- var(--hx-border-radius-md, 0.375rem) 0 0;
847
+ --hx-button-border-radius: var(
848
+ --hx-button-group-border-radius,
849
+ var(--hx-border-radius-md, 0.375rem)
850
+ )
851
+ var(--hx-button-group-border-radius, var(--hx-border-radius-md, 0.375rem)) 0 0;
719
852
  }
720
853
 
721
854
  /* ─── Border Radius: Vertical — Last child keeps bottom corners ─── */
722
855
 
723
856
  .group--vertical ::slotted(:last-child:not(:only-child)) {
724
- --hx-button-border-radius: 0 0 var(--hx-border-radius-md, 0.375rem)
725
- var(--hx-border-radius-md, 0.375rem);
857
+ --hx-button-border-radius: 0 0
858
+ var(--hx-button-group-border-radius, var(--hx-border-radius-md, 0.375rem))
859
+ var(--hx-button-group-border-radius, var(--hx-border-radius-md, 0.375rem));
726
860
  }
727
861
 
728
862
  /* ─── Border Radius: Vertical — Middle children have no radius ─── */
@@ -734,7 +868,7 @@
734
868
  /* ─── Z-index: Raise focused child above siblings to show full focus ring ─── */
735
869
 
736
870
  .group ::slotted(:focus-within) {
737
- z-index: 1;
871
+ z-index: var(--hx-button-group-focus-z-index, 1);
738
872
  position: relative;
739
873
  }
740
874
 
@@ -747,24 +881,24 @@
747
881
  * outline from hx-button's own forced-colors block is fully visible.
748
882
  */
749
883
  .group ::slotted(:focus-within) {
750
- z-index: 2;
884
+ z-index: var(--hx-button-group-focus-z-index-hc, 2);
751
885
  }
752
886
  }
753
887
  /* ── hx-card ── */
754
888
  :host {
755
889
  display: block;
756
890
  color: var(--hx-card-color, inherit);
757
- background-color: var(--hx-card-bg, var(--hx-color-neutral-0, #ffffff));
891
+ background-color: var(--hx-card-bg, var(--hx-color-surface-default, #ffffff));
758
892
  }
759
893
 
760
894
  .card {
761
895
  display: flex;
762
896
  flex-direction: column;
763
897
  gap: var(--hx-card-gap, var(--hx-space-4, 1rem));
764
- background-color: var(--hx-card-bg, var(--hx-color-neutral-0, #ffffff));
765
- color: var(--hx-card-color, var(--hx-color-neutral-800, #1e293b));
898
+ background-color: var(--hx-card-bg, var(--hx-color-surface-default, #ffffff));
899
+ color: var(--hx-card-color, var(--hx-color-text-strong, #202b39));
766
900
  border: var(--hx-border-width-thin, 1px) solid
767
- var(--hx-card-border-color, var(--hx-color-neutral-200, #e2e8f0));
901
+ var(--hx-card-border-color, var(--hx-color-border-default, #d6dbd5));
768
902
  border-radius: var(--hx-card-border-radius, var(--hx-border-radius-lg, 0.5rem));
769
903
  overflow: hidden;
770
904
  font-family: var(--hx-card-font-family, var(--hx-font-family-sans, sans-serif));
@@ -780,11 +914,14 @@
780
914
  }
781
915
 
782
916
  .card--raised {
783
- box-shadow: var(--hx-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1));
917
+ box-shadow: var(--hx-card-shadow, var(--hx-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1)));
784
918
  }
785
919
 
786
920
  .card--floating {
787
- box-shadow: var(--hx-shadow-xl, 0 20px 25px -5px rgb(0 0 0 / 0.1));
921
+ box-shadow: var(
922
+ --hx-card-shadow-floating,
923
+ var(--hx-shadow-xl, 0 20px 25px -5px rgb(0 0 0 / 0.1))
924
+ );
788
925
  }
789
926
 
790
927
  /* ─── Style Variants ─── */
@@ -794,8 +931,8 @@
794
931
  }
795
932
 
796
933
  .card--featured {
797
- border-color: var(--hx-color-primary-500, #2563eb);
798
- border-width: var(--hx-border-width-medium, 2px);
934
+ border-color: var(--hx-card-featured-border-color, var(--hx-color-primary-500, #429797));
935
+ border-width: var(--hx-card-featured-border-width, var(--hx-border-width-medium, 2px));
799
936
  }
800
937
 
801
938
  .card--compact .card__body {
@@ -827,13 +964,13 @@
827
964
  }
828
965
 
829
966
  .card--interactive:hover {
830
- box-shadow: var(--hx-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
967
+ box-shadow: var(--hx-card-shadow-hover, var(--hx-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1)));
831
968
  transform: translateY(var(--hx-transform-lift-md, -2px));
832
969
  }
833
970
 
834
971
  .card--interactive:focus-visible {
835
972
  outline: var(--hx-focus-ring-width, 2px) solid
836
- var(--hx-card-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
973
+ var(--hx-card-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
837
974
  outline-offset: var(--hx-focus-ring-offset, 2px);
838
975
  }
839
976
 
@@ -890,7 +1027,14 @@
890
1027
  flex: 1;
891
1028
  font-size: var(--hx-font-size-md, 1rem);
892
1029
  line-height: var(--hx-line-height-normal, 1.5);
893
- color: var(--hx-card-color, var(--hx-color-neutral-600, #475569));
1030
+ /*
1031
+ * Body color cascades: component-tier --hx-card-body-color overrides
1032
+ * the host-tier --hx-card-color, which falls back to text-secondary.
1033
+ * Preserves the propagation contract: setting --hx-card-color on the
1034
+ * host flows into the body slot (and through to slotted light-DOM
1035
+ * descendants via flat-tree inheritance).
1036
+ */
1037
+ color: var(--hx-card-body-color, var(--hx-card-color, var(--hx-color-text-secondary, #313e4b)));
894
1038
  }
895
1039
 
896
1040
  .card__footer {
@@ -908,11 +1052,12 @@
908
1052
  padding-bottom: var(--hx-card-padding, var(--hx-space-6, 1.5rem));
909
1053
  padding-inline-start: var(--hx-card-padding, var(--hx-space-6, 1.5rem));
910
1054
  border-top: var(--hx-border-width-thin, 1px) solid
911
- var(--hx-card-border-color, var(--hx-color-neutral-200, #e2e8f0));
1055
+ var(--hx-card-border-color, var(--hx-color-border-default, #d6dbd5));
912
1056
  margin-top: auto;
913
1057
  }
914
1058
 
915
1059
  /* ─── Forced Colors (Windows High Contrast) ─── */
1060
+ /* Belt-and-suspenders: rich per-class HC overrides PLUS the forcedColorsSurface mixin. */
916
1061
 
917
1062
  @media (forced-colors: active) {
918
1063
  .card {
@@ -926,9 +1071,9 @@
926
1071
  /* ── hx-divider ── */
927
1072
  :host {
928
1073
  display: block;
929
- --_divider-color: var(--hx-divider-color, var(--hx-color-neutral-200, #e2e8f0));
1074
+ --_divider-color: var(--hx-divider-color, var(--hx-color-border-default, #d6dbd5));
930
1075
  --_divider-width: var(--hx-divider-width, var(--hx-border-width-thin, 1px));
931
- --_divider-label-color: var(--hx-divider-label-color, var(--hx-color-neutral-500, #64748b));
1076
+ --_divider-label-color: var(--hx-divider-label-color, var(--hx-color-text-muted, #66787b));
932
1077
  --_divider-label-size: var(--hx-divider-label-font-size, var(--hx-font-size-sm, 0.875rem));
933
1078
  --_divider-label-gap: var(--hx-divider-label-gap, var(--hx-space-3, 0.75rem));
934
1079
  }
@@ -1106,23 +1251,23 @@
1106
1251
 
1107
1252
  :host([disabled]) {
1108
1253
  pointer-events: none;
1109
- opacity: var(--hx-opacity-disabled);
1254
+ opacity: var(--hx-opacity-disabled, 0.5);
1110
1255
  }
1111
1256
 
1112
1257
  .button {
1113
1258
  display: inline-flex;
1114
1259
  align-items: center;
1115
1260
  justify-content: center;
1116
- border: var(--hx-border-width-thin) solid var(--hx-icon-button-border-color);
1117
- border-radius: var(--hx-icon-button-border-radius, var(--hx-border-radius-md));
1118
- background-color: var(--hx-icon-button-bg);
1119
- color: var(--hx-icon-button-color, var(--hx-color-primary-500));
1261
+ border: var(--hx-border-width-thin, 1px) solid var(--hx-icon-button-border-color, transparent);
1262
+ border-radius: var(--hx-icon-button-border-radius, var(--hx-border-radius-md, 0.375rem));
1263
+ background-color: var(--hx-icon-button-bg, transparent);
1264
+ color: var(--hx-icon-button-color, var(--hx-color-primary-500, #429797));
1120
1265
  cursor: pointer;
1121
1266
  transition:
1122
- background-color var(--hx-transition-fast),
1123
- color var(--hx-transition-fast),
1124
- border-color var(--hx-transition-fast),
1125
- box-shadow var(--hx-transition-fast);
1267
+ background-color var(--hx-transition-fast, 150ms ease),
1268
+ color var(--hx-transition-fast, 150ms ease),
1269
+ border-color var(--hx-transition-fast, 150ms ease),
1270
+ box-shadow var(--hx-transition-fast, 150ms ease);
1126
1271
  text-decoration: none;
1127
1272
  user-select: none;
1128
1273
  -webkit-user-select: none;
@@ -1130,9 +1275,9 @@
1130
1275
  }
1131
1276
 
1132
1277
  .button:focus-visible {
1133
- outline: var(--hx-focus-ring-width) solid
1134
- var(--hx-icon-button-focus-ring-color, var(--hx-focus-ring-color));
1135
- outline-offset: var(--hx-focus-ring-offset);
1278
+ outline: var(--hx-focus-ring-width, 2px) solid
1279
+ var(--hx-icon-button-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
1280
+ outline-offset: var(--hx-focus-ring-offset, 2px);
1136
1281
  }
1137
1282
 
1138
1283
  .button:active {
@@ -1146,82 +1291,90 @@
1146
1291
  the 2.75rem (44px) threshold, preserving the visual icon size via font-size. */
1147
1292
 
1148
1293
  .button--sm {
1149
- padding: var(--hx-space-1);
1150
- width: var(--hx-icon-button-size, var(--hx-size-8));
1151
- height: var(--hx-icon-button-size, var(--hx-size-8));
1294
+ padding: var(--hx-space-1, 0.25rem);
1295
+ width: var(--hx-icon-button-size, var(--hx-size-8, 2rem));
1296
+ height: var(--hx-icon-button-size, var(--hx-size-8, 2rem));
1152
1297
  min-width: var(--hx-touch-target-min, 2.75rem);
1153
1298
  min-height: var(--hx-touch-target-min, 2.75rem);
1154
- font-size: var(--hx-font-size-sm);
1299
+ font-size: var(--hx-font-size-sm, 0.875rem);
1155
1300
  }
1156
1301
 
1157
1302
  .button--md {
1158
- padding: var(--hx-space-2);
1159
- width: var(--hx-icon-button-size, var(--hx-size-10));
1160
- height: var(--hx-icon-button-size, var(--hx-size-10));
1303
+ padding: var(--hx-space-2, 0.5rem);
1304
+ width: var(--hx-icon-button-size, var(--hx-size-10, 2.5rem));
1305
+ height: var(--hx-icon-button-size, var(--hx-size-10, 2.5rem));
1161
1306
  min-width: var(--hx-touch-target-min, 2.75rem);
1162
1307
  min-height: var(--hx-touch-target-min, 2.75rem);
1163
- font-size: var(--hx-font-size-md);
1308
+ font-size: var(--hx-font-size-md, 1rem);
1164
1309
  }
1165
1310
 
1166
1311
  .button--lg {
1167
- padding: var(--hx-space-3);
1168
- width: var(--hx-icon-button-size, var(--hx-size-12));
1169
- height: var(--hx-icon-button-size, var(--hx-size-12));
1312
+ padding: var(--hx-space-3, 0.75rem);
1313
+ width: var(--hx-icon-button-size, var(--hx-size-12, 3rem));
1314
+ height: var(--hx-icon-button-size, var(--hx-size-12, 3rem));
1170
1315
  min-width: var(--hx-touch-target-min, 2.75rem);
1171
1316
  min-height: var(--hx-touch-target-min, 2.75rem);
1172
- font-size: var(--hx-font-size-lg);
1317
+ font-size: var(--hx-font-size-lg, 1.125rem);
1173
1318
  }
1174
1319
 
1175
1320
  /* ─── Style Variants ─── */
1176
1321
 
1177
1322
  .button--primary {
1178
- --hx-icon-button-bg: var(--hx-color-primary-500);
1179
- --hx-icon-button-color: var(--hx-color-neutral-0);
1323
+ --hx-icon-button-bg: var(--hx-color-primary-500, #429797);
1324
+ --hx-icon-button-color: var(--hx-color-text-on-primary, #ffffff);
1180
1325
  --hx-icon-button-border-color: transparent;
1181
1326
  }
1182
1327
 
1328
+ /* on-primary tokens are tuned for primary-500. primary-600 + on-primary
1329
+ drops icon contrast to 3.07:1 — fails the 4.5:1 floor for meaningful
1330
+ icons. Pin fg at neutral-0 (5.82:1 on primary-600). Mirrors hx-button. */
1183
1331
  .button--primary:hover {
1184
- --hx-icon-button-bg: var(--hx-color-primary-600);
1332
+ --hx-icon-button-bg: var(--hx-color-primary-600, #0f7078);
1333
+ --hx-icon-button-color: var(--hx-color-neutral-0, #ffffff);
1185
1334
  }
1186
1335
 
1187
1336
  .button--secondary {
1188
1337
  --hx-icon-button-bg: transparent;
1189
- --hx-icon-button-color: var(--hx-color-primary-500);
1190
- --hx-icon-button-border-color: var(--hx-color-primary-500);
1338
+ --hx-icon-button-color: var(--hx-color-primary-500, #429797);
1339
+ --hx-icon-button-border-color: var(--hx-color-primary-500, #429797);
1191
1340
  }
1192
1341
 
1193
1342
  .button--secondary:hover {
1194
- --hx-icon-button-bg: var(--hx-color-primary-50);
1343
+ --hx-icon-button-bg: var(--hx-color-primary-50, #ebf8f8);
1195
1344
  }
1196
1345
 
1197
1346
  .button--tertiary {
1198
1347
  --hx-icon-button-bg: transparent;
1199
- --hx-icon-button-color: var(--hx-color-neutral-700);
1200
- --hx-icon-button-border-color: var(--hx-color-neutral-300);
1348
+ --hx-icon-button-color: var(--hx-color-text-strong, #202b39);
1349
+ --hx-icon-button-border-color: var(--hx-color-border-strong, #66787b);
1201
1350
  }
1202
1351
 
1203
1352
  .button--tertiary:hover {
1204
- --hx-icon-button-bg: var(--hx-color-neutral-100);
1353
+ --hx-icon-button-bg: var(--hx-color-surface-sunken, #ebeee9);
1205
1354
  }
1206
1355
 
1207
1356
  .button--danger {
1208
- --hx-icon-button-bg: var(--hx-color-error-500);
1209
- --hx-icon-button-color: var(--hx-color-neutral-0);
1357
+ --hx-icon-button-bg: var(--hx-color-error-500, #e5493e);
1358
+ --hx-icon-button-color: var(--hx-color-text-on-error, #ffffff);
1210
1359
  --hx-icon-button-border-color: transparent;
1211
1360
  }
1212
1361
 
1362
+ /* on-error tokens are tuned for error-500. error-600 + on-error drops
1363
+ icon contrast to 2.25:1 — fails AA. Pin fg at neutral-0
1364
+ (6.47:1 on error-600). Mirrors hx-button danger:hover. */
1213
1365
  .button--danger:hover {
1214
- --hx-icon-button-bg: var(--hx-color-error-600);
1366
+ --hx-icon-button-bg: var(--hx-color-error-600, #c92a2a);
1367
+ --hx-icon-button-color: var(--hx-color-neutral-0, #ffffff);
1215
1368
  }
1216
1369
 
1217
1370
  .button--ghost {
1218
1371
  --hx-icon-button-bg: transparent;
1219
- --hx-icon-button-color: var(--hx-color-primary-500);
1372
+ --hx-icon-button-color: var(--hx-color-primary-500, #429797);
1220
1373
  --hx-icon-button-border-color: transparent;
1221
1374
  }
1222
1375
 
1223
1376
  .button--ghost:hover {
1224
- --hx-icon-button-bg: var(--hx-color-neutral-100);
1377
+ --hx-icon-button-bg: var(--hx-color-surface-raised, #f5f8f3);
1225
1378
  }
1226
1379
 
1227
1380
  /* ─── Icon Container ─── */
@@ -1298,8 +1451,8 @@
1298
1451
  align-items: center;
1299
1452
  justify-content: center;
1300
1453
  min-height: var(--hx-image-fallback-min-height, 3rem);
1301
- background-color: var(--hx-color-neutral-100, #f1f5f9);
1302
- color: var(--hx-color-neutral-500, #64748b);
1454
+ background-color: var(--hx-image-fallback-bg, var(--hx-color-neutral-100, #ebeee9));
1455
+ color: var(--hx-image-fallback-color, var(--hx-color-neutral-500, #66787b));
1303
1456
  }
1304
1457
 
1305
1458
  .image__img {
@@ -1312,7 +1465,7 @@
1312
1465
  .image__caption {
1313
1466
  display: none;
1314
1467
  padding: var(--hx-image-caption-padding, 0.5rem 0 0);
1315
- color: var(--hx-image-caption-color, var(--hx-color-neutral-600, #475569));
1468
+ color: var(--hx-image-caption-color, var(--hx-color-neutral-600, #4a5362));
1316
1469
  font-size: var(--hx-image-caption-font-size, 0.875rem);
1317
1470
  }
1318
1471
 
@@ -1342,7 +1495,7 @@
1342
1495
  display: inline-flex;
1343
1496
  align-items: center;
1344
1497
  gap: var(--hx-space-1, 0.25rem);
1345
- color: var(--hx-link-color, var(--hx-color-primary-500, #2563eb));
1498
+ color: var(--hx-link-color, var(--hx-color-primary-600, #0f7078));
1346
1499
  font-family: var(--hx-link-font-family, var(--hx-font-family-sans, inherit));
1347
1500
  font-size: inherit;
1348
1501
  line-height: inherit;
@@ -1356,19 +1509,19 @@
1356
1509
  }
1357
1510
 
1358
1511
  .link:hover {
1359
- color: var(--hx-link-color-hover, var(--hx-color-primary-700, #1e40af));
1512
+ color: var(--hx-link-color-hover, var(--hx-color-primary-700, #0f6363));
1360
1513
  text-decoration: var(--hx-link-text-decoration-hover, underline);
1361
1514
  }
1362
1515
 
1363
1516
  .link:active {
1364
- color: var(--hx-link-color-active, var(--hx-color-primary-800, #1e3a8a));
1517
+ color: var(--hx-link-color-active, var(--hx-color-primary-800, #07494a));
1365
1518
  }
1366
1519
 
1367
1520
  .link:focus-visible {
1368
1521
  outline: var(--hx-focus-ring-width, 2px) solid
1369
1522
  var(
1370
1523
  --hx-link-focus-ring-color,
1371
- var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
1524
+ var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
1372
1525
  );
1373
1526
  outline-offset: var(--hx-focus-ring-offset, 2px);
1374
1527
  border-radius: var(--hx-border-radius-sm, 0.25rem);
@@ -1377,29 +1530,29 @@
1377
1530
  /* --- Variant: subtle --- */
1378
1531
 
1379
1532
  .link--subtle {
1380
- color: var(--hx-link-color-subtle, var(--hx-color-neutral-600, #475569));
1533
+ color: var(--hx-link-color-subtle, var(--hx-color-text-secondary, #313e4b));
1381
1534
  text-decoration: none;
1382
1535
  }
1383
1536
 
1384
1537
  .link--subtle:hover {
1385
- color: var(--hx-link-color-hover, var(--hx-color-primary-700, #1e40af));
1538
+ color: var(--hx-link-color-hover, var(--hx-color-primary-700, #0f6363));
1386
1539
  text-decoration: underline;
1387
1540
  }
1388
1541
 
1389
1542
  /* --- Variant: danger --- */
1390
1543
 
1391
1544
  .link--danger {
1392
- color: var(--hx-link-color-danger, var(--hx-color-error-text, #b91c1c));
1545
+ color: var(--hx-link-color-danger, var(--hx-color-error-text, #c92a2a));
1393
1546
  }
1394
1547
 
1395
1548
  .link--danger:hover {
1396
- color: var(--hx-link-color-danger-hover, var(--hx-color-error-700, #991b1b));
1549
+ color: var(--hx-link-color-danger-hover, var(--hx-color-error-700, #a21312));
1397
1550
  }
1398
1551
 
1399
1552
  /* --- Disabled --- */
1400
1553
 
1401
1554
  .link--disabled {
1402
- color: var(--hx-link-color-disabled, var(--hx-color-neutral-400, #94a3b8));
1555
+ color: var(--hx-link-color-disabled, var(--hx-color-text-disabled, #8e9c98));
1403
1556
  text-decoration: none;
1404
1557
  cursor: not-allowed;
1405
1558
  }
@@ -1463,7 +1616,7 @@
1463
1616
 
1464
1617
  .skeleton {
1465
1618
  display: block;
1466
- background-color: var(--hx-skeleton-bg, var(--hx-color-neutral-200, #e2e8f0));
1619
+ background-color: var(--hx-skeleton-bg, var(--hx-color-neutral-200, #d6dbd5));
1467
1620
  overflow: hidden;
1468
1621
  position: relative;
1469
1622
  width: var(--_width, 100%);
@@ -1633,13 +1786,13 @@
1633
1786
  /* ─── Variant Colors ─── */
1634
1787
 
1635
1788
  :host([variant='default']) {
1636
- --_spinner-color: var(--hx-spinner-color, var(--hx-color-neutral-600, #475569));
1637
- --_spinner-track-color: var(--hx-spinner-track-color, var(--hx-color-neutral-200, #e2e8f0));
1789
+ --_spinner-color: var(--hx-spinner-color, var(--hx-color-neutral-600, #4a5362));
1790
+ --_spinner-track-color: var(--hx-spinner-track-color, var(--hx-color-neutral-200, #d6dbd5));
1638
1791
  }
1639
1792
 
1640
1793
  :host([variant='primary']) {
1641
- --_spinner-color: var(--hx-spinner-color, var(--hx-color-primary-500, #2563eb));
1642
- --_spinner-track-color: var(--hx-spinner-track-color, var(--hx-color-primary-100, #dbeafe));
1794
+ --_spinner-color: var(--hx-spinner-color, var(--hx-color-primary-500, #429797));
1795
+ --_spinner-track-color: var(--hx-spinner-track-color, var(--hx-color-primary-100, #dbf0f0));
1643
1796
  }
1644
1797
 
1645
1798
  :host([variant='inverted']) {
@@ -1688,15 +1841,15 @@
1688
1841
  align-items: center;
1689
1842
  gap: var(--hx-space-1, 0.25rem);
1690
1843
  border-radius: var(--hx-tag-border-radius, var(--hx-border-radius-sm, 0.25rem));
1691
- background-color: var(--hx-tag-bg, var(--hx-color-neutral-100, #f1f5f9));
1692
- color: var(--hx-tag-color, var(--hx-color-neutral-700, #334155));
1844
+ background-color: var(--hx-tag-bg, var(--hx-color-neutral-100, #ebeee9));
1845
+ color: var(--hx-tag-color, var(--hx-color-neutral-700, #313e4b));
1693
1846
  font-family: var(--hx-tag-font-family, var(--hx-font-family-sans, sans-serif));
1694
1847
  font-weight: var(--hx-tag-font-weight, var(--hx-font-weight-medium, 500));
1695
1848
  line-height: var(--hx-line-height-tight, 1.25);
1696
1849
  white-space: nowrap;
1697
1850
  vertical-align: middle;
1698
1851
  border: var(--hx-border-width-thin, 1px) solid
1699
- var(--hx-tag-border-color, var(--hx-color-neutral-200, #e2e8f0));
1852
+ var(--hx-tag-border-color, var(--hx-color-neutral-200, #d6dbd5));
1700
1853
  }
1701
1854
 
1702
1855
  /* ─── Size Variants ─── */
@@ -1722,33 +1875,33 @@
1722
1875
  /* ─── Color Variants ─── */
1723
1876
 
1724
1877
  .tag--default {
1725
- --hx-tag-bg: var(--hx-color-neutral-100, #f1f5f9);
1726
- --hx-tag-color: var(--hx-color-neutral-700, #334155);
1727
- --hx-tag-border-color: var(--hx-color-neutral-200, #e2e8f0);
1878
+ --hx-tag-bg: var(--hx-tag-default-bg, var(--hx-color-neutral-100, #ebeee9));
1879
+ --hx-tag-color: var(--hx-tag-default-color, var(--hx-color-neutral-700, #313e4b));
1880
+ --hx-tag-border-color: var(--hx-tag-default-border-color, var(--hx-color-neutral-200, #d6dbd5));
1728
1881
  }
1729
1882
 
1730
1883
  .tag--primary {
1731
- --hx-tag-bg: var(--hx-color-primary-50, #eff6ff);
1732
- --hx-tag-color: var(--hx-color-primary-700, #1e40af);
1733
- --hx-tag-border-color: var(--hx-color-primary-200, #bfdbfe);
1884
+ --hx-tag-bg: var(--hx-tag-primary-bg, var(--hx-color-primary-50, #ebf8f8));
1885
+ --hx-tag-color: var(--hx-tag-primary-color, var(--hx-color-primary-700, #0f6363));
1886
+ --hx-tag-border-color: var(--hx-tag-primary-border-color, var(--hx-color-primary-200, #bce1e1));
1734
1887
  }
1735
1888
 
1736
1889
  .tag--success {
1737
- --hx-tag-bg: var(--hx-color-success-50, #f0fdf4);
1738
- --hx-tag-color: var(--hx-color-success-700, #166534);
1739
- --hx-tag-border-color: var(--hx-color-success-200, #bbf7d0);
1890
+ --hx-tag-bg: var(--hx-tag-success-bg, var(--hx-color-success-50, #eafaec));
1891
+ --hx-tag-color: var(--hx-tag-success-color, var(--hx-color-success-700, #146831));
1892
+ --hx-tag-border-color: var(--hx-tag-success-border-color, var(--hx-color-success-200, #bae6c2));
1740
1893
  }
1741
1894
 
1742
1895
  .tag--warning {
1743
- --hx-tag-bg: var(--hx-color-warning-50, #fffbeb);
1744
- --hx-tag-color: var(--hx-color-warning-700, #92400e);
1745
- --hx-tag-border-color: var(--hx-color-warning-200, #fde68a);
1896
+ --hx-tag-bg: var(--hx-tag-warning-bg, var(--hx-color-warning-50, #fff3ea));
1897
+ --hx-tag-color: var(--hx-tag-warning-color, var(--hx-color-warning-700, #804605));
1898
+ --hx-tag-border-color: var(--hx-tag-warning-border-color, var(--hx-color-warning-200, #facfae));
1746
1899
  }
1747
1900
 
1748
1901
  .tag--danger {
1749
- --hx-tag-bg: var(--hx-color-error-50, #fef2f2);
1750
- --hx-tag-color: var(--hx-color-error-700, #991b1b);
1751
- --hx-tag-border-color: var(--hx-color-error-200, #fecaca);
1902
+ --hx-tag-bg: var(--hx-tag-danger-bg, var(--hx-color-error-50, #fff2f0));
1903
+ --hx-tag-color: var(--hx-tag-danger-color, var(--hx-color-error-700, #a21312));
1904
+ --hx-tag-border-color: var(--hx-tag-danger-border-color, var(--hx-color-error-200, #fccbc4));
1752
1905
  }
1753
1906
 
1754
1907
  /* ─── Semantic Variant Label (WCAG 1.4.1) ─── */
@@ -1912,31 +2065,33 @@
1912
2065
  /* ─── Colors ─── */
1913
2066
 
1914
2067
  .text--color-default {
1915
- --hx-text-color: var(--hx-color-neutral-900, #0f172a);
2068
+ --hx-text-color: var(--hx-text-default-color, var(--hx-color-neutral-900, #0d1825));
1916
2069
  }
1917
2070
 
1918
2071
  .text--color-subtle {
1919
- --hx-text-color: var(--hx-color-neutral-500, #64748b);
2072
+ --hx-text-color: var(--hx-text-subtle-color, var(--hx-color-neutral-500, #66787b));
1920
2073
  }
1921
2074
 
1922
2075
  .text--color-disabled {
1923
- --hx-text-color: var(--hx-color-neutral-400, #94a3b8);
2076
+ --hx-text-color: var(--hx-text-disabled-color, var(--hx-color-neutral-400, #8e9c98));
1924
2077
  }
1925
2078
 
1926
2079
  .text--color-inverse {
1927
- --hx-text-color: var(--hx-color-neutral-0, #ffffff);
2080
+ --hx-text-color: var(--hx-text-inverse-color, var(--hx-color-neutral-0, #ffffff));
1928
2081
  }
1929
2082
 
1930
2083
  .text--color-danger {
1931
- --hx-text-color: var(--hx-color-error-600, #b91c1c);
2084
+ --hx-text-color: var(--hx-text-danger-color, var(--hx-color-error-600, #c92a2a));
1932
2085
  }
1933
2086
 
1934
2087
  .text--color-success {
1935
- --hx-text-color: var(--hx-color-success-600, #15803d);
2088
+ --hx-text-color: var(--hx-text-success-color, var(--hx-color-success-700, #146831));
1936
2089
  }
1937
2090
 
1938
2091
  .text--color-warning {
1939
- --hx-text-color: var(--hx-color-warning-600, #b45309);
2092
+ /* warning-600 (#B8650E) on white = 4.28:1 — fails AA body text in the
2093
+ precision-cool palette. warning-700 (#804605) on white = 7.06:1 — AA pass. */
2094
+ --hx-text-color: var(--hx-text-warning-color, var(--hx-color-warning-700, #804605));
1940
2095
  }
1941
2096
 
1942
2097
  /* ─── Weight Overrides ─── */