@helixui/library 1.1.2 → 2.0.0-next.31

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 (691) hide show
  1. package/custom-elements.json +3221 -2224
  2. package/dist/base/helix-element.d.ts +134 -0
  3. package/dist/base/helix-element.d.ts.map +1 -0
  4. package/dist/base/id-counter.d.ts +32 -0
  5. package/dist/base/id-counter.d.ts.map +1 -0
  6. package/dist/base/index.d.ts +4 -0
  7. package/dist/base/index.d.ts.map +1 -0
  8. package/dist/base/styles.d.ts +29 -0
  9. package/dist/base/styles.d.ts.map +1 -0
  10. package/dist/components/hx-accordion/hx-accordion-item.d.ts +3 -0
  11. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  12. package/dist/components/hx-accordion/hx-accordion.d.ts +4 -1
  13. package/dist/components/hx-accordion/hx-accordion.d.ts.map +1 -1
  14. package/dist/components/hx-accordion/index.js +1 -1
  15. package/dist/components/hx-action-bar/hx-action-bar.d.ts +1 -1
  16. package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
  17. package/dist/components/hx-action-bar/index.js +1 -1
  18. package/dist/components/hx-alert/hx-alert.d.ts +10 -5
  19. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  20. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  21. package/dist/components/hx-alert/index.js +1 -1
  22. package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -1
  23. package/dist/components/hx-avatar/hx-avatar.styles.d.ts.map +1 -1
  24. package/dist/components/hx-avatar/index.js +1 -1
  25. package/dist/components/hx-badge/hx-badge.d.ts.map +1 -1
  26. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
  27. package/dist/components/hx-badge/index.js +1 -1
  28. package/dist/components/hx-banner/hx-banner.d.ts +15 -5
  29. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  30. package/dist/components/hx-banner/hx-banner.styles.d.ts.map +1 -1
  31. package/dist/components/hx-banner/index.js +1 -1
  32. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts +1 -0
  33. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
  34. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +42 -11
  35. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
  36. package/dist/components/hx-breadcrumb/index.js +1 -1
  37. package/dist/components/hx-button/hx-button.d.ts +22 -13
  38. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  39. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  40. package/dist/components/hx-button/index.js +1 -1
  41. package/dist/components/hx-button-group/hx-button-group.d.ts +3 -6
  42. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  43. package/dist/components/hx-button-group/index.js +1 -1
  44. package/dist/components/hx-card/hx-card.d.ts +7 -7
  45. package/dist/components/hx-card/hx-card.d.ts.map +1 -1
  46. package/dist/components/hx-card/index.js +1 -1
  47. package/dist/components/hx-carousel/hx-carousel-item.d.ts.map +1 -1
  48. package/dist/components/hx-carousel/hx-carousel.d.ts +2 -2
  49. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
  50. package/dist/components/hx-carousel/index.js +1 -1
  51. package/dist/components/hx-checkbox/hx-checkbox.d.ts +18 -18
  52. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  53. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  54. package/dist/components/hx-checkbox/index.js +1 -1
  55. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +8 -3
  56. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  57. package/dist/components/hx-checkbox-group/index.js +1 -1
  58. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +134 -0
  59. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -0
  60. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts +2 -0
  61. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -0
  62. package/dist/components/hx-clinical-status/index.d.ts +3 -0
  63. package/dist/components/hx-clinical-status/index.d.ts.map +1 -0
  64. package/dist/components/hx-clinical-status/index.js +5 -0
  65. package/dist/components/hx-clinical-status/index.js.map +1 -0
  66. package/dist/components/hx-code-snippet/hx-code-snippet.d.ts.map +1 -1
  67. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
  68. package/dist/components/hx-code-snippet/index.js +1 -1
  69. package/dist/components/hx-color-picker/color-utils.d.ts +27 -0
  70. package/dist/components/hx-color-picker/color-utils.d.ts.map +1 -0
  71. package/dist/components/hx-color-picker/hx-color-picker.d.ts +16 -4
  72. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  73. package/dist/components/hx-color-picker/index.js +1 -1
  74. package/dist/components/hx-combobox/hx-combobox.d.ts +9 -4
  75. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  76. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
  77. package/dist/components/hx-combobox/index.js +1 -1
  78. package/dist/components/hx-container/hx-container.d.ts.map +1 -1
  79. package/dist/components/hx-container/index.js +1 -1
  80. package/dist/components/hx-copy-button/hx-copy-button.d.ts +6 -1
  81. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
  82. package/dist/components/hx-copy-button/index.js +1 -1
  83. package/dist/components/hx-counter/hx-counter.d.ts +20 -3
  84. package/dist/components/hx-counter/hx-counter.d.ts.map +1 -1
  85. package/dist/components/hx-counter/hx-counter.styles.d.ts.map +1 -1
  86. package/dist/components/hx-counter/index.js +1 -1
  87. package/dist/components/hx-data-table/hx-data-table.d.ts +8 -0
  88. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  89. package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -1
  90. package/dist/components/hx-data-table/index.js +1 -1
  91. package/dist/components/hx-date-picker/hx-date-picker.d.ts +40 -3
  92. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  93. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  94. package/dist/components/hx-date-picker/index.js +1 -1
  95. package/dist/components/hx-dialog/hx-dialog.d.ts +4 -1
  96. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  97. package/dist/components/hx-dialog/index.js +1 -1
  98. package/dist/components/hx-divider/hx-divider.d.ts.map +1 -1
  99. package/dist/components/hx-divider/index.js +1 -1
  100. package/dist/components/hx-drawer/hx-drawer.d.ts +5 -8
  101. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  102. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  103. package/dist/components/hx-drawer/index.js +1 -1
  104. package/dist/components/hx-dropdown/hx-dropdown.d.ts +14 -1
  105. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  106. package/dist/components/hx-dropdown/index.js +1 -1
  107. package/dist/components/hx-field/hx-field.d.ts +1 -1
  108. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  109. package/dist/components/hx-field/index.js +1 -1
  110. package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
  111. package/dist/components/hx-field-label/hx-field-label.styles.d.ts.map +1 -1
  112. package/dist/components/hx-field-label/index.js +1 -1
  113. package/dist/components/hx-file-upload/hx-file-upload.d.ts +8 -9
  114. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  115. package/dist/components/hx-file-upload/index.js +1 -1
  116. package/dist/components/hx-form/hx-form.d.ts.map +1 -1
  117. package/dist/components/hx-form/index.js +1 -1
  118. package/dist/components/hx-format-date/hx-format-date.d.ts.map +1 -1
  119. package/dist/components/hx-format-date/index.js +1 -1
  120. package/dist/components/hx-grid/hx-grid.d.ts +5 -9
  121. package/dist/components/hx-grid/hx-grid.d.ts.map +1 -1
  122. package/dist/components/hx-grid/index.js +1 -1
  123. package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
  124. package/dist/components/hx-help-text/index.js +1 -1
  125. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
  126. package/dist/components/hx-icon/index.js +1 -1
  127. package/dist/components/hx-icon-button/hx-icon-button.d.ts +4 -3
  128. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  129. package/dist/components/hx-icon-button/index.js +1 -1
  130. package/dist/components/hx-image/hx-image.d.ts.map +1 -1
  131. package/dist/components/hx-image/index.js +1 -1
  132. package/dist/components/hx-link/hx-link.d.ts +1 -1
  133. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  134. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
  135. package/dist/components/hx-link/index.js +1 -1
  136. package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
  137. package/dist/components/hx-list/hx-list.d.ts.map +1 -1
  138. package/dist/components/hx-list/index.js +1 -1
  139. package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -1
  140. package/dist/components/hx-menu/hx-menu-item.d.ts +5 -0
  141. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  142. package/dist/components/hx-menu/hx-menu.d.ts +1 -0
  143. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  144. package/dist/components/hx-menu/hx-menu.styles.d.ts.map +1 -1
  145. package/dist/components/hx-menu/index.js +1 -1
  146. package/dist/components/hx-meter/hx-meter.d.ts +2 -2
  147. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  148. package/dist/components/hx-meter/index.js +1 -1
  149. package/dist/components/hx-nav/hx-nav.d.ts +10 -0
  150. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  151. package/dist/components/hx-nav/index.js +1 -1
  152. package/dist/components/hx-number-input/hx-number-input.d.ts +4 -3
  153. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  154. package/dist/components/hx-number-input/index.js +1 -1
  155. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +3 -3
  156. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  157. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  158. package/dist/components/hx-overflow-menu/index.js +1 -1
  159. package/dist/components/hx-pagination/hx-pagination.d.ts +8 -0
  160. package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -1
  161. package/dist/components/hx-pagination/hx-pagination.styles.d.ts.map +1 -1
  162. package/dist/components/hx-pagination/index.js +1 -1
  163. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts +113 -0
  164. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts.map +1 -0
  165. package/dist/components/hx-patient-banner/hx-patient-banner.styles.d.ts +2 -0
  166. package/dist/components/hx-patient-banner/hx-patient-banner.styles.d.ts.map +1 -0
  167. package/dist/components/hx-patient-banner/index.d.ts +3 -0
  168. package/dist/components/hx-patient-banner/index.d.ts.map +1 -0
  169. package/dist/components/hx-patient-banner/index.js +5 -0
  170. package/dist/components/hx-patient-banner/index.js.map +1 -0
  171. package/dist/components/hx-phi-field/hx-phi-field.d.ts +97 -0
  172. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -0
  173. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts +2 -0
  174. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -0
  175. package/dist/components/hx-phi-field/index.d.ts +3 -0
  176. package/dist/components/hx-phi-field/index.d.ts.map +1 -0
  177. package/dist/components/hx-phi-field/index.js +5 -0
  178. package/dist/components/hx-phi-field/index.js.map +1 -0
  179. package/dist/components/hx-popover/hx-popover.d.ts +25 -9
  180. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  181. package/dist/components/hx-popover/index.js +1 -1
  182. package/dist/components/hx-popup/hx-popup.d.ts +5 -8
  183. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
  184. package/dist/components/hx-popup/index.js +1 -1
  185. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +2 -0
  186. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  187. package/dist/components/hx-progress-bar/hx-progress-bar.styles.d.ts.map +1 -1
  188. package/dist/components/hx-progress-bar/index.js +1 -1
  189. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts.map +1 -1
  190. package/dist/components/hx-progress-ring/index.js +1 -1
  191. package/dist/components/hx-prose/hx-prose.d.ts +1 -0
  192. package/dist/components/hx-prose/hx-prose.d.ts.map +1 -1
  193. package/dist/components/hx-radio-group/hx-radio-group.d.ts +3 -7
  194. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  195. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  196. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
  197. package/dist/components/hx-radio-group/index.js +1 -1
  198. package/dist/components/hx-rating/hx-rating.d.ts +3 -3
  199. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  200. package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
  201. package/dist/components/hx-rating/index.js +1 -1
  202. package/dist/components/hx-select/hx-select.d.ts +17 -11
  203. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  204. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  205. package/dist/components/hx-select/index.js +1 -1
  206. package/dist/components/hx-side-nav/hx-nav-item.d.ts +12 -0
  207. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  208. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  209. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  210. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  211. package/dist/components/hx-side-nav/index.js +1 -1
  212. package/dist/components/hx-skeleton/hx-skeleton.d.ts +2 -2
  213. package/dist/components/hx-skeleton/hx-skeleton.d.ts.map +1 -1
  214. package/dist/components/hx-skeleton/index.js +1 -1
  215. package/dist/components/hx-slider/hx-slider.d.ts +5 -8
  216. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  217. package/dist/components/hx-slider/hx-slider.styles.d.ts.map +1 -1
  218. package/dist/components/hx-slider/index.js +1 -1
  219. package/dist/components/hx-spinner/hx-spinner.d.ts +14 -1
  220. package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
  221. package/dist/components/hx-spinner/hx-spinner.styles.d.ts.map +1 -1
  222. package/dist/components/hx-spinner/index.js +1 -1
  223. package/dist/components/hx-split-button/hx-split-button.d.ts +10 -4
  224. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  225. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  226. package/dist/components/hx-split-button/index.js +1 -1
  227. package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -1
  228. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
  229. package/dist/components/hx-split-panel/index.js +1 -1
  230. package/dist/components/hx-stack/hx-stack.d.ts.map +1 -1
  231. package/dist/components/hx-stack/index.js +1 -1
  232. package/dist/components/hx-stat/hx-stat.d.ts +7 -2
  233. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  234. package/dist/components/hx-stat/index.js +1 -1
  235. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts +19 -3
  236. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts.map +1 -1
  237. package/dist/components/hx-status-indicator/hx-status-indicator.styles.d.ts.map +1 -1
  238. package/dist/components/hx-status-indicator/index.js +1 -1
  239. package/dist/components/hx-steps/hx-step.d.ts +7 -0
  240. package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
  241. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  242. package/dist/components/hx-steps/hx-steps.d.ts.map +1 -1
  243. package/dist/components/hx-steps/index.js +1 -1
  244. package/dist/components/hx-structured-list/hx-structured-list.d.ts +10 -3
  245. package/dist/components/hx-structured-list/hx-structured-list.d.ts.map +1 -1
  246. package/dist/components/hx-structured-list/index.js +1 -1
  247. package/dist/components/hx-style-scope/hx-style-scope.d.ts +71 -0
  248. package/dist/components/hx-style-scope/hx-style-scope.d.ts.map +1 -0
  249. package/dist/components/hx-style-scope/hx-style-scope.styles.d.ts +10 -0
  250. package/dist/components/hx-style-scope/hx-style-scope.styles.d.ts.map +1 -0
  251. package/dist/components/hx-style-scope/index.d.ts +2 -0
  252. package/dist/components/hx-style-scope/index.d.ts.map +1 -0
  253. package/dist/components/hx-style-scope/index.js +5 -0
  254. package/dist/components/hx-style-scope/index.js.map +1 -0
  255. package/dist/components/hx-switch/hx-switch.d.ts +4 -4
  256. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  257. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  258. package/dist/components/hx-switch/index.js +1 -1
  259. package/dist/components/hx-table/hx-table.d.ts +1 -0
  260. package/dist/components/hx-table/hx-table.d.ts.map +1 -1
  261. package/dist/components/hx-table/hx-tbody.d.ts.map +1 -1
  262. package/dist/components/hx-table/hx-td.d.ts.map +1 -1
  263. package/dist/components/hx-table/hx-tfoot.d.ts.map +1 -1
  264. package/dist/components/hx-table/hx-th.d.ts.map +1 -1
  265. package/dist/components/hx-table/hx-thead.d.ts.map +1 -1
  266. package/dist/components/hx-table/hx-tr.d.ts.map +1 -1
  267. package/dist/components/hx-table/index.js +1 -1
  268. package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -1
  269. package/dist/components/hx-tabs/hx-tab-panel.styles.d.ts.map +1 -1
  270. package/dist/components/hx-tabs/hx-tab.d.ts +1 -0
  271. package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
  272. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  273. package/dist/components/hx-tabs/hx-tabs.d.ts +12 -2
  274. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  275. package/dist/components/hx-tabs/index.js +1 -1
  276. package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
  277. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  278. package/dist/components/hx-tag/index.js +1 -1
  279. package/dist/components/hx-text/hx-text.d.ts.map +1 -1
  280. package/dist/components/hx-text/index.js +1 -1
  281. package/dist/components/hx-text-input/hx-text-input.d.ts +16 -15
  282. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  283. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  284. package/dist/components/hx-text-input/index.js +1 -1
  285. package/dist/components/hx-textarea/hx-textarea.d.ts +4 -4
  286. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  287. package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -1
  288. package/dist/components/hx-textarea/index.js +1 -1
  289. package/dist/components/hx-theme/hx-theme.d.ts +82 -3
  290. package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
  291. package/dist/components/hx-theme/index.js +1 -1
  292. package/dist/components/hx-time-picker/hx-time-picker.d.ts +6 -1
  293. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  294. package/dist/components/hx-time-picker/index.js +1 -1
  295. package/dist/components/hx-toast/hx-toast-stack.d.ts +1 -1
  296. package/dist/components/hx-toast/hx-toast-stack.d.ts.map +1 -1
  297. package/dist/components/hx-toast/hx-toast.d.ts +9 -5
  298. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  299. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  300. package/dist/components/hx-toast/index.js +1 -1
  301. package/dist/components/hx-toast/toast-factory.d.ts.map +1 -1
  302. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +4 -3
  303. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  304. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  305. package/dist/components/hx-toggle-button/index.js +1 -1
  306. package/dist/components/hx-tooltip/hx-tooltip.d.ts +1 -2
  307. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  308. package/dist/components/hx-tooltip/index.js +1 -1
  309. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
  310. package/dist/components/hx-top-nav/index.js +1 -1
  311. package/dist/components/hx-tree-view/hx-tree-item.d.ts +12 -0
  312. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  313. package/dist/components/hx-tree-view/hx-tree-view.d.ts +27 -2
  314. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
  315. package/dist/components/hx-tree-view/hx-tree-view.styles.d.ts.map +1 -1
  316. package/dist/components/hx-tree-view/index.js +1 -1
  317. package/dist/components/hx-visually-hidden/hx-visually-hidden.d.ts.map +1 -1
  318. package/dist/components/hx-visually-hidden/index.js +1 -1
  319. package/dist/controllers/helix-audit-controller.d.ts +71 -0
  320. package/dist/controllers/helix-audit-controller.d.ts.map +1 -0
  321. package/dist/css/helix-all.css +9743 -0
  322. package/dist/css/helix-core.css +1839 -0
  323. package/dist/css/helix-data.css +639 -0
  324. package/dist/css/helix-feedback.css +1268 -0
  325. package/dist/css/helix-forms.css +2525 -0
  326. package/dist/css/helix-layout.css +380 -0
  327. package/dist/css/helix-media.css +213 -0
  328. package/dist/css/helix-navigation.css +1131 -0
  329. package/dist/css/helix-overlay.css +643 -0
  330. package/dist/css/helix-tokens.css +432 -0
  331. package/dist/css/helix-utility.css +633 -0
  332. package/dist/css/hx-accordion.css +10 -0
  333. package/dist/css/hx-action-bar.css +117 -0
  334. package/dist/css/hx-alert.css +213 -0
  335. package/dist/css/hx-avatar.css +134 -0
  336. package/dist/css/hx-badge.css +178 -0
  337. package/dist/css/hx-banner.css +203 -0
  338. package/dist/css/hx-breadcrumb.css +36 -0
  339. package/dist/css/hx-button-group.css +91 -0
  340. package/dist/css/hx-button.css +296 -0
  341. package/dist/css/hx-card.css +161 -0
  342. package/dist/css/hx-carousel.css +211 -0
  343. package/dist/css/hx-checkbox-group.css +77 -0
  344. package/dist/css/hx-checkbox.css +219 -0
  345. package/dist/css/hx-clinical-status.css +248 -0
  346. package/dist/css/hx-code-snippet.css +179 -0
  347. package/dist/css/hx-color-picker.css +2 -0
  348. package/dist/css/hx-combobox.css +2 -0
  349. package/dist/css/hx-container.css +82 -0
  350. package/dist/css/hx-copy-button.css +121 -0
  351. package/dist/css/hx-counter.css +51 -0
  352. package/dist/css/hx-data-table.css +207 -0
  353. package/dist/css/hx-date-picker.css +2 -0
  354. package/dist/css/hx-dialog.css +190 -0
  355. package/dist/css/hx-divider.css +87 -0
  356. package/dist/css/hx-drawer.css +262 -0
  357. package/dist/css/hx-dropdown.css +46 -0
  358. package/dist/css/hx-field-label.css +38 -0
  359. package/dist/css/hx-field.css +119 -0
  360. package/dist/css/hx-file-upload.css +241 -0
  361. package/dist/css/hx-form.css +2 -0
  362. package/dist/css/hx-format-date.css +10 -0
  363. package/dist/css/hx-grid.css +14 -0
  364. package/dist/css/hx-help-text.css +50 -0
  365. package/dist/css/hx-icon-button.css +152 -0
  366. package/dist/css/hx-icon.css +73 -0
  367. package/dist/css/hx-image.css +41 -0
  368. package/dist/css/hx-link.css +105 -0
  369. package/dist/css/hx-list.css +48 -0
  370. package/dist/css/hx-menu.css +23 -0
  371. package/dist/css/hx-meter.css +113 -0
  372. package/dist/css/hx-nav.css +242 -0
  373. package/dist/css/hx-number-input.css +246 -0
  374. package/dist/css/hx-overflow-menu.css +133 -0
  375. package/dist/css/hx-pagination.css +193 -0
  376. package/dist/css/hx-patient-banner.css +139 -0
  377. package/dist/css/hx-phi-field.css +97 -0
  378. package/dist/css/hx-popover.css +61 -0
  379. package/dist/css/hx-popup.css +31 -0
  380. package/dist/css/hx-progress-bar.css +133 -0
  381. package/dist/css/hx-progress-ring.css +142 -0
  382. package/dist/css/hx-prose.css +2 -0
  383. package/dist/css/hx-radio-group.css +77 -0
  384. package/dist/css/hx-rating.css +96 -0
  385. package/dist/css/hx-select.css +295 -0
  386. package/dist/css/hx-side-nav.css +149 -0
  387. package/dist/css/hx-skeleton.css +82 -0
  388. package/dist/css/hx-slider.css +287 -0
  389. package/dist/css/hx-spinner.css +116 -0
  390. package/dist/css/hx-split-button.css +309 -0
  391. package/dist/css/hx-split-panel.css +168 -0
  392. package/dist/css/hx-stack.css +104 -0
  393. package/dist/css/hx-stat.css +106 -0
  394. package/dist/css/hx-status-indicator.css +126 -0
  395. package/dist/css/hx-steps.css +52 -0
  396. package/dist/css/hx-structured-list.css +75 -0
  397. package/dist/css/hx-style-scope.css +4 -0
  398. package/dist/css/hx-switch.css +169 -0
  399. package/dist/css/hx-table.css +128 -0
  400. package/dist/css/hx-tabs.css +76 -0
  401. package/dist/css/hx-tag.css +146 -0
  402. package/dist/css/hx-text-input.css +214 -0
  403. package/dist/css/hx-text.css +149 -0
  404. package/dist/css/hx-textarea.css +180 -0
  405. package/dist/css/hx-theme.css +23 -0
  406. package/dist/css/hx-time-picker.css +2 -0
  407. package/dist/css/hx-toast.css +230 -0
  408. package/dist/css/hx-toggle-button.css +207 -0
  409. package/dist/css/hx-tooltip.css +51 -0
  410. package/dist/css/hx-top-nav.css +203 -0
  411. package/dist/css/hx-tree-view.css +22 -0
  412. package/dist/css/hx-visually-hidden.css +26 -0
  413. package/dist/css/index.css +84 -0
  414. package/dist/css/manifest.json +2704 -0
  415. package/dist/index.d.ts +15 -9
  416. package/dist/index.d.ts.map +1 -1
  417. package/dist/index.js +268 -176
  418. package/dist/index.js.map +1 -1
  419. package/dist/mixins/FocusMixin.d.ts +49 -0
  420. package/dist/mixins/FocusMixin.d.ts.map +1 -0
  421. package/dist/mixins/FormMixin.d.ts +69 -0
  422. package/dist/mixins/FormMixin.d.ts.map +1 -0
  423. package/dist/mixins/aria-delegation.d.ts +97 -0
  424. package/dist/mixins/aria-delegation.d.ts.map +1 -0
  425. package/dist/mixins/index.d.ts +5 -0
  426. package/dist/mixins/index.d.ts.map +1 -0
  427. package/dist/shared/FormMixin-Bjvw20G5.js +88 -0
  428. package/dist/shared/FormMixin-Bjvw20G5.js.map +1 -0
  429. package/dist/shared/aria-delegation-CBP9eQ0M.js +107 -0
  430. package/dist/shared/aria-delegation-CBP9eQ0M.js.map +1 -0
  431. package/dist/shared/document-token-adoption-DuYNKd4k.js +21 -0
  432. package/dist/shared/document-token-adoption-DuYNKd4k.js.map +1 -0
  433. package/dist/shared/{hx-accordion-D1kFhdeQ.js → hx-accordion-CpfO0YQo.js} +86 -58
  434. package/dist/shared/hx-accordion-CpfO0YQo.js.map +1 -0
  435. package/dist/shared/{hx-action-bar-D4bulGQP.js → hx-action-bar-BpY1Z1UV.js} +34 -35
  436. package/dist/shared/hx-action-bar-BpY1Z1UV.js.map +1 -0
  437. package/dist/shared/{hx-alert-CSxCF2rr.js → hx-alert-CHOjTBds.js} +38 -34
  438. package/dist/shared/hx-alert-CHOjTBds.js.map +1 -0
  439. package/dist/shared/{hx-avatar-Cun-O99h.js → hx-avatar-an-WsuLl.js} +32 -15
  440. package/dist/shared/hx-avatar-an-WsuLl.js.map +1 -0
  441. package/dist/shared/{hx-badge-CsFd2xtw.js → hx-badge-DDXTLoWi.js} +49 -40
  442. package/dist/shared/hx-badge-DDXTLoWi.js.map +1 -0
  443. package/dist/shared/{hx-banner-BTV-X2xF.js → hx-banner-B-WEDiq7.js} +95 -60
  444. package/dist/shared/hx-banner-B-WEDiq7.js.map +1 -0
  445. package/dist/shared/{hx-breadcrumb-item-4IwaLgaO.js → hx-breadcrumb-item-DzLyeL5Z.js} +92 -89
  446. package/dist/shared/hx-breadcrumb-item-DzLyeL5Z.js.map +1 -0
  447. package/dist/shared/{hx-button-7k-KeCYU.js → hx-button-DoN8jjQT.js} +128 -63
  448. package/dist/shared/hx-button-DoN8jjQT.js.map +1 -0
  449. package/dist/shared/{hx-button-group-CWjWv-wS.js → hx-button-group-BXlMQTt_.js} +9 -9
  450. package/dist/shared/hx-button-group-BXlMQTt_.js.map +1 -0
  451. package/dist/shared/{hx-card-0hT3G5hi.js → hx-card-BgXZXDuc.js} +34 -34
  452. package/dist/shared/hx-card-BgXZXDuc.js.map +1 -0
  453. package/dist/shared/{hx-carousel-item-DgeYyYZJ.js → hx-carousel-item-Dwt9Pphz.js} +25 -25
  454. package/dist/shared/hx-carousel-item-Dwt9Pphz.js.map +1 -0
  455. package/dist/shared/{hx-checkbox-BvjO-O41.js → hx-checkbox-CTEZ9IFq.js} +67 -70
  456. package/dist/shared/hx-checkbox-CTEZ9IFq.js.map +1 -0
  457. package/dist/shared/{hx-checkbox-group-Z5VvWzcj.js → hx-checkbox-group-DThZeN5d.js} +48 -42
  458. package/dist/shared/hx-checkbox-group-DThZeN5d.js.map +1 -0
  459. package/dist/shared/hx-clinical-status-m4soOOwg.js +469 -0
  460. package/dist/shared/hx-clinical-status-m4soOOwg.js.map +1 -0
  461. package/dist/shared/{hx-code-snippet-DqzPkH4K.js → hx-code-snippet-CoLYvX1Z.js} +57 -48
  462. package/dist/shared/hx-code-snippet-CoLYvX1Z.js.map +1 -0
  463. package/dist/shared/{hx-color-picker-Da8z6AlQ.js → hx-color-picker-DhOaNe6-.js} +153 -137
  464. package/dist/shared/hx-color-picker-DhOaNe6-.js.map +1 -0
  465. package/dist/shared/{hx-combobox-CivfelTS.js → hx-combobox-BJ4lQocO.js} +17 -17
  466. package/dist/shared/hx-combobox-BJ4lQocO.js.map +1 -0
  467. package/dist/shared/{hx-container-DLUKnTi9.js → hx-container-31QT9KV_.js} +15 -15
  468. package/dist/shared/hx-container-31QT9KV_.js.map +1 -0
  469. package/dist/shared/{hx-copy-button--0dymSvw.js → hx-copy-button-BoM0WsMd.js} +52 -45
  470. package/dist/shared/hx-copy-button-BoM0WsMd.js.map +1 -0
  471. package/dist/shared/hx-counter-CP42cSVK.js +185 -0
  472. package/dist/shared/hx-counter-CP42cSVK.js.map +1 -0
  473. package/dist/shared/{hx-data-table-BWvd5NNx.js → hx-data-table-D5Ne-goy.js} +89 -53
  474. package/dist/shared/hx-data-table-D5Ne-goy.js.map +1 -0
  475. package/dist/shared/{hx-date-picker-6voxxxNE.js → hx-date-picker-Cd3I3WkX.js} +105 -92
  476. package/dist/shared/hx-date-picker-Cd3I3WkX.js.map +1 -0
  477. package/dist/shared/{hx-dialog-DkUSnVgw.js → hx-dialog-D4ubstxx.js} +98 -89
  478. package/dist/shared/hx-dialog-D4ubstxx.js.map +1 -0
  479. package/dist/shared/{hx-divider-DNNs4e8q.js → hx-divider-BBtOLHRP.js} +15 -15
  480. package/dist/shared/hx-divider-BBtOLHRP.js.map +1 -0
  481. package/dist/shared/{hx-drawer-CJcRZcns.js → hx-drawer--WDLuWtS.js} +87 -47
  482. package/dist/shared/hx-drawer--WDLuWtS.js.map +1 -0
  483. package/dist/shared/{hx-dropdown-Bo0KTM1A.js → hx-dropdown-n5-XSmiV.js} +56 -41
  484. package/dist/shared/hx-dropdown-n5-XSmiV.js.map +1 -0
  485. package/dist/shared/{hx-field-3MmzJ4kZ.js → hx-field-CwT9tki1.js} +21 -21
  486. package/dist/shared/hx-field-CwT9tki1.js.map +1 -0
  487. package/dist/shared/{hx-field-label-Bg-EWvqF.js → hx-field-label-CcOK9VU3.js} +11 -14
  488. package/dist/shared/hx-field-label-CcOK9VU3.js.map +1 -0
  489. package/dist/shared/{hx-file-upload-ByjAgfNy.js → hx-file-upload-Dwtu3WcB.js} +79 -88
  490. package/dist/shared/hx-file-upload-Dwtu3WcB.js.map +1 -0
  491. package/dist/shared/{hx-form-BpS6v3Iu.js → hx-form-fJE-FJQV.js} +36 -32
  492. package/dist/shared/{hx-form-BpS6v3Iu.js.map → hx-form-fJE-FJQV.js.map} +1 -1
  493. package/dist/shared/{hx-format-date-BdnWV2kX.js → hx-format-date-B7L9odbA.js} +19 -17
  494. package/dist/shared/hx-format-date-B7L9odbA.js.map +1 -0
  495. package/dist/shared/{hx-grid-gEjuF0cR.js → hx-grid-BIAR5h9m.js} +12 -12
  496. package/dist/shared/hx-grid-BIAR5h9m.js.map +1 -0
  497. package/dist/shared/{hx-help-text-BAcEGRUE.js → hx-help-text-Bmb80bP4.js} +13 -13
  498. package/dist/shared/hx-help-text-Bmb80bP4.js.map +1 -0
  499. package/dist/shared/{hx-icon-CP6OnLoM.js → hx-icon-BKHs3OLu.js} +15 -15
  500. package/dist/shared/hx-icon-BKHs3OLu.js.map +1 -0
  501. package/dist/shared/{hx-icon-button-DzH_bRtC.js → hx-icon-button-CJuy9xbw.js} +10 -10
  502. package/dist/shared/hx-icon-button-CJuy9xbw.js.map +1 -0
  503. package/dist/shared/{hx-image-C6pGiI6c.js → hx-image-ztiXumZB.js} +21 -21
  504. package/dist/shared/hx-image-ztiXumZB.js.map +1 -0
  505. package/dist/shared/{hx-link-Tmk_YPvW.js → hx-link-IVsXmsKx.js} +27 -25
  506. package/dist/shared/hx-link-IVsXmsKx.js.map +1 -0
  507. package/dist/shared/{hx-list-DwInEX2H.js → hx-list-CoTDMp19.js} +12 -12
  508. package/dist/shared/hx-list-CoTDMp19.js.map +1 -0
  509. package/dist/shared/{hx-menu-divider-DR4G_rqw.js → hx-menu-divider-DRT8yHRZ.js} +50 -30
  510. package/dist/shared/hx-menu-divider-DRT8yHRZ.js.map +1 -0
  511. package/dist/shared/{hx-meter-uXkTZq-W.js → hx-meter-BvSJoqDp.js} +18 -18
  512. package/dist/shared/hx-meter-BvSJoqDp.js.map +1 -0
  513. package/dist/shared/{hx-nav-item-D3EJatzc.js → hx-nav-item-CJN4VDrf.js} +181 -115
  514. package/dist/shared/hx-nav-item-CJN4VDrf.js.map +1 -0
  515. package/dist/shared/{hx-nav-3JsN2Oak.js → hx-nav-l0Rp7WPW.js} +119 -107
  516. package/dist/shared/hx-nav-l0Rp7WPW.js.map +1 -0
  517. package/dist/shared/{hx-number-input-CIpL2BEh.js → hx-number-input-0Waw7Z7u.js} +42 -41
  518. package/dist/shared/hx-number-input-0Waw7Z7u.js.map +1 -0
  519. package/dist/shared/{hx-overflow-menu-2kgOJ_ht.js → hx-overflow-menu-DElwFSCd.js} +20 -16
  520. package/dist/shared/hx-overflow-menu-DElwFSCd.js.map +1 -0
  521. package/dist/shared/{hx-pagination-Blt-fFqV.js → hx-pagination-BNtx-LG6.js} +91 -75
  522. package/dist/shared/hx-pagination-BNtx-LG6.js.map +1 -0
  523. package/dist/shared/hx-patient-banner-BKiN7nIE.js +297 -0
  524. package/dist/shared/hx-patient-banner-BKiN7nIE.js.map +1 -0
  525. package/dist/shared/hx-phi-field-BiJH3V-k.js +295 -0
  526. package/dist/shared/hx-phi-field-BiJH3V-k.js.map +1 -0
  527. package/dist/shared/{hx-popover-DxE67miP.js → hx-popover-D63RXn5H.js} +96 -69
  528. package/dist/shared/hx-popover-D63RXn5H.js.map +1 -0
  529. package/dist/shared/{hx-popup-Dg6n_PbY.js → hx-popup-BQWMhvMO.js} +15 -15
  530. package/dist/shared/hx-popup-BQWMhvMO.js.map +1 -0
  531. package/dist/shared/{hx-progress-bar-Dm_EHyng.js → hx-progress-bar-Cm0VihTN.js} +44 -42
  532. package/dist/shared/hx-progress-bar-Cm0VihTN.js.map +1 -0
  533. package/dist/shared/{hx-progress-ring-DpxBDD5d.js → hx-progress-ring-BJeiDr3q.js} +8 -8
  534. package/dist/shared/hx-progress-ring-BJeiDr3q.js.map +1 -0
  535. package/dist/shared/hx-prose-Ml_L2zje.js.map +1 -1
  536. package/dist/shared/{hx-radio-BywgVSEu.js → hx-radio-f8c5ggHG.js} +40 -39
  537. package/dist/shared/hx-radio-f8c5ggHG.js.map +1 -0
  538. package/dist/shared/{hx-rating-CUWBQ0fZ.js → hx-rating-qRJZXskm.js} +92 -96
  539. package/dist/shared/hx-rating-qRJZXskm.js.map +1 -0
  540. package/dist/shared/{hx-select-BwDwxk-M.js → hx-select-B5wq9Swh.js} +137 -98
  541. package/dist/shared/hx-select-B5wq9Swh.js.map +1 -0
  542. package/dist/shared/{hx-skeleton-BHvALyd7.js → hx-skeleton-e5K9Qaxq.js} +6 -6
  543. package/dist/shared/hx-skeleton-e5K9Qaxq.js.map +1 -0
  544. package/dist/shared/{hx-slider-D_0EKJyk.js → hx-slider-BvXtvxmN.js} +31 -26
  545. package/dist/shared/hx-slider-BvXtvxmN.js.map +1 -0
  546. package/dist/shared/{hx-spinner-DMn4SChS.js → hx-spinner-Dyese1Tb.js} +15 -14
  547. package/dist/shared/hx-spinner-Dyese1Tb.js.map +1 -0
  548. package/dist/shared/{hx-split-button-CypgLXw1.js → hx-split-button-CPndTJlC.js} +44 -35
  549. package/dist/shared/hx-split-button-CPndTJlC.js.map +1 -0
  550. package/dist/shared/{hx-split-panel-CV_Kr4EK.js → hx-split-panel-Dx72NaET.js} +18 -15
  551. package/dist/shared/hx-split-panel-Dx72NaET.js.map +1 -0
  552. package/dist/shared/{hx-stack-BStY1RmV.js → hx-stack-B76_1O6g.js} +9 -9
  553. package/dist/shared/hx-stack-B76_1O6g.js.map +1 -0
  554. package/dist/shared/{hx-stat-CHntLHJM.js → hx-stat-DKD2E7An.js} +43 -35
  555. package/dist/shared/hx-stat-DKD2E7An.js.map +1 -0
  556. package/dist/shared/{hx-status-indicator-C1BwEvUw.js → hx-status-indicator-ClWpK6zz.js} +81 -40
  557. package/dist/shared/hx-status-indicator-ClWpK6zz.js.map +1 -0
  558. package/dist/shared/{hx-step-BIVWSPxd.js → hx-step-C2Jk4mHa.js} +48 -84
  559. package/dist/shared/hx-step-C2Jk4mHa.js.map +1 -0
  560. package/dist/shared/{hx-structured-list-CMWllxGg.js → hx-structured-list-DKlrv7kS.js} +25 -22
  561. package/dist/shared/hx-structured-list-DKlrv7kS.js.map +1 -0
  562. package/dist/shared/hx-style-scope-CsQ2Phf_.js +126 -0
  563. package/dist/shared/hx-style-scope-CsQ2Phf_.js.map +1 -0
  564. package/dist/shared/{hx-switch-BgX8kuWt.js → hx-switch-BzMN37PV.js} +14 -11
  565. package/dist/shared/hx-switch-BzMN37PV.js.map +1 -0
  566. package/dist/shared/{hx-tab-panel-DhOq67jj.js → hx-tab-panel-J58zOSjq.js} +165 -126
  567. package/dist/shared/hx-tab-panel-J58zOSjq.js.map +1 -0
  568. package/dist/shared/{hx-tag-CzOTDcXI.js → hx-tag-F0ZcYj9b.js} +20 -19
  569. package/dist/shared/hx-tag-F0ZcYj9b.js.map +1 -0
  570. package/dist/shared/{hx-td-h6oeW6YC.js → hx-td-CNCvzBwY.js} +49 -46
  571. package/dist/shared/hx-td-CNCvzBwY.js.map +1 -0
  572. package/dist/shared/{hx-text-DTXjiviE.js → hx-text-DcWBqZwx.js} +27 -27
  573. package/dist/shared/hx-text-DcWBqZwx.js.map +1 -0
  574. package/dist/shared/hx-text-input-Scyeefec.js +576 -0
  575. package/dist/shared/hx-text-input-Scyeefec.js.map +1 -0
  576. package/dist/shared/{hx-textarea-BgX7rxyo.js → hx-textarea-BfSJJtA1.js} +23 -23
  577. package/dist/shared/hx-textarea-BfSJJtA1.js.map +1 -0
  578. package/dist/shared/hx-theme-pc1V7dyL.js +300 -0
  579. package/dist/shared/hx-theme-pc1V7dyL.js.map +1 -0
  580. package/dist/shared/{hx-time-picker-DmLu7WUC.js → hx-time-picker-CZvmihHD.js} +89 -88
  581. package/dist/shared/hx-time-picker-CZvmihHD.js.map +1 -0
  582. package/dist/shared/{hx-toggle-button-D1jpDvSA.js → hx-toggle-button-BZUQUULm.js} +14 -11
  583. package/dist/shared/hx-toggle-button-BZUQUULm.js.map +1 -0
  584. package/dist/shared/{hx-tooltip-kh7QFPKu.js → hx-tooltip-Ny4i1Idj.js} +26 -21
  585. package/dist/shared/hx-tooltip-Ny4i1Idj.js.map +1 -0
  586. package/dist/shared/{hx-top-nav-DYlnzDaU.js → hx-top-nav-CC4FW2Hp.js} +7 -7
  587. package/dist/shared/hx-top-nav-CC4FW2Hp.js.map +1 -0
  588. package/dist/shared/{hx-tree-item-BP6UF_H1.js → hx-tree-item-CPQ9dJiK.js} +170 -106
  589. package/dist/shared/hx-tree-item-CPQ9dJiK.js.map +1 -0
  590. package/dist/shared/{hx-visually-hidden-CCTQTjbR.js → hx-visually-hidden-vKX8QjeX.js} +13 -13
  591. package/dist/shared/hx-visually-hidden-vKX8QjeX.js.map +1 -0
  592. package/dist/shared/id-counter-JhvVCnjh.js +143 -0
  593. package/dist/shared/id-counter-JhvVCnjh.js.map +1 -0
  594. package/dist/shared/{toast-factory-DTy-qN8r.js → toast-factory-CEMNOt1T.js} +58 -46
  595. package/dist/shared/toast-factory-CEMNOt1T.js.map +1 -0
  596. package/dist/utilities/adoptedStylesheetRegistry.d.ts +47 -0
  597. package/dist/utilities/adoptedStylesheetRegistry.d.ts.map +1 -0
  598. package/dist/utilities/document-token-adoption.d.ts +10 -0
  599. package/dist/utilities/document-token-adoption.d.ts.map +1 -0
  600. package/dist/utilities/generateScopedSelectors.d.ts +30 -0
  601. package/dist/utilities/generateScopedSelectors.d.ts.map +1 -0
  602. package/dist/utilities/injectLightStyles.d.ts +37 -0
  603. package/dist/utilities/injectLightStyles.d.ts.map +1 -0
  604. package/dist/utilities/lightStyleRegistry.d.ts +41 -0
  605. package/dist/utilities/lightStyleRegistry.d.ts.map +1 -0
  606. package/dist/utilities/sheetManager.d.ts +62 -0
  607. package/dist/utilities/sheetManager.d.ts.map +1 -0
  608. package/dist/utils/contrast-checker.d.ts +86 -0
  609. package/dist/utils/contrast-checker.d.ts.map +1 -0
  610. package/dist/utils/token-merger.d.ts +24 -0
  611. package/dist/utils/token-merger.d.ts.map +1 -0
  612. package/fouc.css +37 -0
  613. package/package.json +28 -6
  614. package/dist/shared/hx-accordion-D1kFhdeQ.js.map +0 -1
  615. package/dist/shared/hx-action-bar-D4bulGQP.js.map +0 -1
  616. package/dist/shared/hx-alert-CSxCF2rr.js.map +0 -1
  617. package/dist/shared/hx-avatar-Cun-O99h.js.map +0 -1
  618. package/dist/shared/hx-badge-CsFd2xtw.js.map +0 -1
  619. package/dist/shared/hx-banner-BTV-X2xF.js.map +0 -1
  620. package/dist/shared/hx-breadcrumb-item-4IwaLgaO.js.map +0 -1
  621. package/dist/shared/hx-button-7k-KeCYU.js.map +0 -1
  622. package/dist/shared/hx-button-group-CWjWv-wS.js.map +0 -1
  623. package/dist/shared/hx-card-0hT3G5hi.js.map +0 -1
  624. package/dist/shared/hx-carousel-item-DgeYyYZJ.js.map +0 -1
  625. package/dist/shared/hx-checkbox-BvjO-O41.js.map +0 -1
  626. package/dist/shared/hx-checkbox-group-Z5VvWzcj.js.map +0 -1
  627. package/dist/shared/hx-code-snippet-DqzPkH4K.js.map +0 -1
  628. package/dist/shared/hx-color-picker-Da8z6AlQ.js.map +0 -1
  629. package/dist/shared/hx-combobox-CivfelTS.js.map +0 -1
  630. package/dist/shared/hx-container-DLUKnTi9.js.map +0 -1
  631. package/dist/shared/hx-copy-button--0dymSvw.js.map +0 -1
  632. package/dist/shared/hx-counter-Duf00H7p.js +0 -147
  633. package/dist/shared/hx-counter-Duf00H7p.js.map +0 -1
  634. package/dist/shared/hx-data-table-BWvd5NNx.js.map +0 -1
  635. package/dist/shared/hx-date-picker-6voxxxNE.js.map +0 -1
  636. package/dist/shared/hx-dialog-DkUSnVgw.js.map +0 -1
  637. package/dist/shared/hx-divider-DNNs4e8q.js.map +0 -1
  638. package/dist/shared/hx-drawer-CJcRZcns.js.map +0 -1
  639. package/dist/shared/hx-dropdown-Bo0KTM1A.js.map +0 -1
  640. package/dist/shared/hx-field-3MmzJ4kZ.js.map +0 -1
  641. package/dist/shared/hx-field-label-Bg-EWvqF.js.map +0 -1
  642. package/dist/shared/hx-file-upload-ByjAgfNy.js.map +0 -1
  643. package/dist/shared/hx-format-date-BdnWV2kX.js.map +0 -1
  644. package/dist/shared/hx-grid-gEjuF0cR.js.map +0 -1
  645. package/dist/shared/hx-help-text-BAcEGRUE.js.map +0 -1
  646. package/dist/shared/hx-icon-CP6OnLoM.js.map +0 -1
  647. package/dist/shared/hx-icon-button-DzH_bRtC.js.map +0 -1
  648. package/dist/shared/hx-image-C6pGiI6c.js.map +0 -1
  649. package/dist/shared/hx-link-Tmk_YPvW.js.map +0 -1
  650. package/dist/shared/hx-list-DwInEX2H.js.map +0 -1
  651. package/dist/shared/hx-menu-divider-DR4G_rqw.js.map +0 -1
  652. package/dist/shared/hx-meter-uXkTZq-W.js.map +0 -1
  653. package/dist/shared/hx-nav-3JsN2Oak.js.map +0 -1
  654. package/dist/shared/hx-nav-item-D3EJatzc.js.map +0 -1
  655. package/dist/shared/hx-number-input-CIpL2BEh.js.map +0 -1
  656. package/dist/shared/hx-overflow-menu-2kgOJ_ht.js.map +0 -1
  657. package/dist/shared/hx-pagination-Blt-fFqV.js.map +0 -1
  658. package/dist/shared/hx-popover-DxE67miP.js.map +0 -1
  659. package/dist/shared/hx-popup-Dg6n_PbY.js.map +0 -1
  660. package/dist/shared/hx-progress-bar-Dm_EHyng.js.map +0 -1
  661. package/dist/shared/hx-progress-ring-DpxBDD5d.js.map +0 -1
  662. package/dist/shared/hx-radio-BywgVSEu.js.map +0 -1
  663. package/dist/shared/hx-rating-CUWBQ0fZ.js.map +0 -1
  664. package/dist/shared/hx-select-BwDwxk-M.js.map +0 -1
  665. package/dist/shared/hx-skeleton-BHvALyd7.js.map +0 -1
  666. package/dist/shared/hx-slider-D_0EKJyk.js.map +0 -1
  667. package/dist/shared/hx-spinner-DMn4SChS.js.map +0 -1
  668. package/dist/shared/hx-split-button-CypgLXw1.js.map +0 -1
  669. package/dist/shared/hx-split-panel-CV_Kr4EK.js.map +0 -1
  670. package/dist/shared/hx-stack-BStY1RmV.js.map +0 -1
  671. package/dist/shared/hx-stat-CHntLHJM.js.map +0 -1
  672. package/dist/shared/hx-status-indicator-C1BwEvUw.js.map +0 -1
  673. package/dist/shared/hx-step-BIVWSPxd.js.map +0 -1
  674. package/dist/shared/hx-structured-list-CMWllxGg.js.map +0 -1
  675. package/dist/shared/hx-switch-BgX8kuWt.js.map +0 -1
  676. package/dist/shared/hx-tab-panel-DhOq67jj.js.map +0 -1
  677. package/dist/shared/hx-tag-CzOTDcXI.js.map +0 -1
  678. package/dist/shared/hx-td-h6oeW6YC.js.map +0 -1
  679. package/dist/shared/hx-text-DTXjiviE.js.map +0 -1
  680. package/dist/shared/hx-text-input-CqEdDHMU.js +0 -461
  681. package/dist/shared/hx-text-input-CqEdDHMU.js.map +0 -1
  682. package/dist/shared/hx-textarea-BgX7rxyo.js.map +0 -1
  683. package/dist/shared/hx-theme-6GDoUG8j.js +0 -176
  684. package/dist/shared/hx-theme-6GDoUG8j.js.map +0 -1
  685. package/dist/shared/hx-time-picker-DmLu7WUC.js.map +0 -1
  686. package/dist/shared/hx-toggle-button-D1jpDvSA.js.map +0 -1
  687. package/dist/shared/hx-tooltip-kh7QFPKu.js.map +0 -1
  688. package/dist/shared/hx-top-nav-DYlnzDaU.js.map +0 -1
  689. package/dist/shared/hx-tree-item-BP6UF_H1.js.map +0 -1
  690. package/dist/shared/hx-visually-hidden-CCTQTjbR.js.map +0 -1
  691. package/dist/shared/toast-factory-DTy-qN8r.js.map +0 -1
@@ -0,0 +1,1131 @@
1
+ /* helix-navigation.css — 10 components */
2
+
3
+ /* ── hx-breadcrumb ── */
4
+ :host {
5
+ display: block;
6
+ font-family: var(
7
+ --hx-breadcrumb-font-family,
8
+ var(--hx-font-family-sans, system-ui, sans-serif)
9
+ );
10
+ font-size: var(--hx-breadcrumb-font-size, var(--hx-font-size-sm, 0.875rem));
11
+ }
12
+
13
+ [part='nav'] {
14
+ /* nav landmark — no additional styling needed */
15
+ }
16
+
17
+ [part='list'] {
18
+ display: flex;
19
+ flex-wrap: wrap;
20
+ align-items: center;
21
+ list-style: none;
22
+ margin: 0;
23
+ padding: 0;
24
+ gap: 0;
25
+ }
26
+
27
+ /* Hide middle items when collapsed via maxItems */
28
+ ::slotted([data-bc-hidden]) {
29
+ display: none;
30
+ }
31
+
32
+ /* Visually hide the separator slot — used only to read text content.
33
+ * display:none is intentional: the slot contains no interactive or focusable
34
+ * content. If a future change adds focusable elements to this slot, switch to
35
+ * visibility:hidden + position:absolute to preserve focus reachability. */
36
+ .separator-slot {
37
+ display: none;
38
+ }
39
+ /* ── hx-menu ── */
40
+ :host {
41
+ display: block;
42
+ }
43
+
44
+ .menu {
45
+ display: flex;
46
+ flex-direction: column;
47
+ padding: var(--hx-space-1, 0.25rem);
48
+ background: var(--hx-menu-bg, var(--hx-color-neutral-0, #ffffff));
49
+ border: var(--hx-border-width-thin, 1px) solid
50
+ var(--hx-menu-border-color, var(--hx-color-neutral-200, #e2e8f0));
51
+ border-radius: var(--hx-menu-border-radius, var(--hx-border-radius-md, 0.375rem));
52
+ box-shadow: var(
53
+ --hx-menu-shadow,
54
+ 0 4px 6px -1px rgb(0 0 0 / 0.1),
55
+ 0 2px 4px -2px rgb(0 0 0 / 0.1)
56
+ );
57
+ min-width: var(--hx-menu-min-width, 10rem);
58
+ max-height: var(--hx-menu-max-height, 20rem);
59
+ overflow-y: auto;
60
+ outline: none;
61
+ }
62
+ /* ── hx-nav ── */
63
+ :host {
64
+ display: block;
65
+ font-family: var(--hx-nav-font-family, var(--hx-font-family-sans, sans-serif));
66
+ font-size: var(--hx-nav-font-size, var(--hx-font-size-sm, 0.875rem));
67
+ }
68
+
69
+ * {
70
+ box-sizing: border-box;
71
+ }
72
+
73
+ /* ─── Nav Container ─── */
74
+
75
+ [part='nav'] {
76
+ position: relative;
77
+ background-color: var(--hx-nav-bg, var(--hx-color-neutral-900, #111827));
78
+ color: var(--hx-nav-color, var(--hx-color-neutral-100, #f3f4f6));
79
+ padding: var(--hx-nav-padding, var(--hx-space-2, 0.5rem) var(--hx-space-4, 1rem));
80
+ }
81
+
82
+ /* ─── Hamburger Toggle ─── */
83
+
84
+ [part='toggle'] {
85
+ display: none;
86
+ align-items: center;
87
+ justify-content: center;
88
+ padding: var(--hx-space-2, 0.5rem);
89
+ background: transparent;
90
+ border: none;
91
+ border-radius: var(--hx-nav-border-radius, var(--hx-border-radius-sm, 0.25rem));
92
+ color: var(--hx-nav-color, var(--hx-color-neutral-100, #f3f4f6));
93
+ cursor: pointer;
94
+ transition: background-color var(--hx-transition-fast, 150ms) ease;
95
+ line-height: 0;
96
+ }
97
+
98
+ [part='toggle']:hover {
99
+ background-color: var(--hx-nav-link-hover-bg, var(--hx-color-neutral-700, #374151));
100
+ }
101
+
102
+ [part='toggle']:focus-visible {
103
+ outline: var(--hx-focus-ring-width, 2px) solid
104
+ var(--hx-nav-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
105
+ outline-offset: var(--hx-focus-ring-offset, 2px);
106
+ }
107
+
108
+ /* ─── Navigation List ─── */
109
+
110
+ [part='list'] {
111
+ display: flex;
112
+ flex-direction: row;
113
+ flex-wrap: wrap;
114
+ list-style: none;
115
+ margin: 0;
116
+ padding: 0;
117
+ gap: var(--hx-space-1, 0.25rem);
118
+ align-items: center;
119
+ }
120
+
121
+ /* ─── Nav Item ─── */
122
+
123
+ [part='item'] {
124
+ position: relative;
125
+ }
126
+
127
+ /* ─── Nav Link / Button ─── */
128
+
129
+ .nav__link {
130
+ display: inline-flex;
131
+ align-items: center;
132
+ gap: var(--hx-space-1, 0.25rem);
133
+ padding: var(--hx-nav-item-padding, var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem));
134
+ color: var(--hx-nav-link-color, var(--hx-color-neutral-100, #f3f4f6));
135
+ text-decoration: none;
136
+ border-radius: var(--hx-nav-border-radius, var(--hx-border-radius-sm, 0.25rem));
137
+ border: none;
138
+ background: transparent;
139
+ cursor: pointer;
140
+ font-family: inherit;
141
+ font-size: inherit;
142
+ font-weight: var(--hx-font-weight-medium, 500);
143
+ line-height: var(--hx-line-height-normal, 1.5);
144
+ white-space: nowrap;
145
+ transition:
146
+ background-color var(--hx-transition-fast, 150ms) ease,
147
+ color var(--hx-transition-fast, 150ms) ease;
148
+ }
149
+
150
+ .nav__link:hover {
151
+ background-color: var(--hx-nav-link-hover-bg, var(--hx-color-neutral-700, #374151));
152
+ color: var(--hx-nav-link-hover-color, var(--hx-color-neutral-0, #ffffff));
153
+ }
154
+
155
+ .nav__link:focus-visible {
156
+ outline: var(--hx-focus-ring-width, 2px) solid
157
+ var(--hx-nav-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
158
+ outline-offset: var(--hx-focus-ring-offset, 2px);
159
+ }
160
+
161
+ .nav__link--active {
162
+ background-color: var(--hx-nav-link-active-bg, var(--hx-color-primary-600, #2563eb));
163
+ color: var(--hx-nav-link-active-color, var(--hx-color-neutral-0, #ffffff));
164
+ }
165
+
166
+ /* ─── Chevron Icon ─── */
167
+
168
+ .nav__chevron {
169
+ transition: transform var(--hx-transition-normal, 200ms) ease;
170
+ flex-shrink: 0;
171
+ }
172
+
173
+ .nav__link--expanded .nav__chevron {
174
+ transform: rotate(180deg);
175
+ }
176
+
177
+ /* ─── Submenu ─── */
178
+
179
+ .nav__submenu {
180
+ position: absolute;
181
+ top: calc(100% + var(--hx-space-1, 0.25rem));
182
+ left: 0;
183
+ min-width: var(--hx-nav-submenu-min-width, 12rem);
184
+ list-style: none;
185
+ margin: 0;
186
+ padding: var(--hx-space-1, 0.25rem) 0;
187
+ background-color: var(--hx-nav-submenu-bg, var(--hx-color-neutral-800, #1f2937));
188
+ border-radius: var(--hx-border-radius-md, 0.375rem);
189
+ box-shadow: var(
190
+ --hx-shadow-md,
191
+ 0 4px 6px -1px rgb(0 0 0 / 0.1),
192
+ 0 2px 4px -2px rgb(0 0 0 / 0.1)
193
+ );
194
+ z-index: var(--hx-z-index-dropdown, 1000);
195
+ }
196
+
197
+ .nav__submenu[hidden] {
198
+ display: none;
199
+ }
200
+
201
+ .nav__submenu .nav__link {
202
+ display: block;
203
+ width: 100%;
204
+ text-align: start;
205
+ border-radius: 0;
206
+ padding: var(--hx-space-2, 0.5rem) var(--hx-space-4, 1rem);
207
+ }
208
+
209
+ /* ─── Vertical / Sidebar Orientation ─── */
210
+
211
+ :host([orientation='vertical']) [part='nav'] {
212
+ padding: var(--hx-space-4, 1rem) var(--hx-space-2, 0.5rem);
213
+ }
214
+
215
+ :host([orientation='vertical']) [part='list'] {
216
+ flex-direction: column;
217
+ align-items: stretch;
218
+ gap: var(--hx-space-1, 0.25rem);
219
+ }
220
+
221
+ :host([orientation='vertical']) .nav__link {
222
+ width: 100%;
223
+ justify-content: flex-start;
224
+ }
225
+
226
+ :host([orientation='vertical']) .nav__submenu {
227
+ position: static;
228
+ box-shadow: none;
229
+ border-radius: 0;
230
+ background-color: transparent;
231
+ padding: 0;
232
+ padding-inline-start: var(--hx-space-4, 1rem);
233
+ }
234
+
235
+ :host([orientation='vertical']) .nav__submenu[hidden] {
236
+ display: none;
237
+ }
238
+
239
+ :host([orientation='vertical']) .nav__submenu .nav__link {
240
+ padding: var(--hx-space-1-5, 0.375rem) var(--hx-space-3, 0.75rem);
241
+ font-size: var(--hx-font-size-xs, 0.75rem);
242
+ color: var(--hx-nav-link-color, var(--hx-color-neutral-300, #d1d5db));
243
+ }
244
+
245
+ /* ─── Mobile Responsive ─── */
246
+
247
+ @media (max-width: 768px) {
248
+ [part='nav'] {
249
+ display: flex;
250
+ flex-direction: column;
251
+ padding: var(--hx-space-2, 0.5rem);
252
+ }
253
+
254
+ [part='toggle'] {
255
+ display: inline-flex;
256
+ align-self: flex-end;
257
+ }
258
+
259
+ [part='list'] {
260
+ display: none;
261
+ flex-direction: column;
262
+ align-items: stretch;
263
+ width: 100%;
264
+ margin-top: var(--hx-space-2, 0.5rem);
265
+ gap: var(--hx-space-1, 0.25rem);
266
+ }
267
+
268
+ [part='list'].nav__list--open {
269
+ display: flex;
270
+ }
271
+
272
+ [part='item'] {
273
+ width: 100%;
274
+ }
275
+
276
+ .nav__link {
277
+ width: 100%;
278
+ justify-content: flex-start;
279
+ }
280
+
281
+ .nav__submenu {
282
+ position: static;
283
+ box-shadow: none;
284
+ border-radius: 0;
285
+ padding-inline-start: var(--hx-space-4, 1rem);
286
+ background-color: transparent;
287
+ }
288
+
289
+ .nav__submenu .nav__link {
290
+ padding: var(--hx-space-1-5, 0.375rem) var(--hx-space-3, 0.75rem);
291
+ }
292
+ }
293
+
294
+ /* ─── Reduced Motion ─── */
295
+
296
+ @media (prefers-reduced-motion: reduce) {
297
+ .nav__link,
298
+ .nav__chevron,
299
+ [part='toggle'] {
300
+ transition: none;
301
+ animation: none;
302
+ }
303
+ }
304
+ /* ── hx-overflow-menu ── */
305
+ :host {
306
+ display: inline-block;
307
+ position: relative;
308
+ }
309
+
310
+ :host([disabled]) {
311
+ pointer-events: none;
312
+ opacity: var(--hx-opacity-disabled, 0.4);
313
+ }
314
+
315
+ /* ─── Trigger Button ─── */
316
+
317
+ .trigger {
318
+ display: inline-flex;
319
+ align-items: center;
320
+ justify-content: center;
321
+ border: var(--hx-border-width-thin, 1px) solid transparent;
322
+ border-radius: var(--hx-border-radius-md, 0.375rem);
323
+ background-color: transparent;
324
+ color: var(--hx-overflow-menu-button-color, var(--hx-color-neutral-600, #4b5563));
325
+ cursor: pointer;
326
+ transition:
327
+ background-color var(--hx-transition-fast, 0.15s ease),
328
+ color var(--hx-transition-fast, 0.15s ease);
329
+ flex-shrink: 0;
330
+ padding: 0;
331
+ line-height: 1;
332
+ }
333
+
334
+ .trigger:focus-visible {
335
+ outline: var(--hx-focus-ring-width, 2px) solid
336
+ var(
337
+ --hx-overflow-menu-focus-ring-color,
338
+ var(--hx-focus-ring-color, var(--hx-color-primary-500))
339
+ );
340
+ outline-offset: var(--hx-focus-ring-offset, 2px);
341
+ }
342
+
343
+ .trigger:hover:not([disabled]) {
344
+ background-color: var(--hx-color-neutral-100, #f3f4f6);
345
+ }
346
+
347
+ .trigger--open {
348
+ background-color: var(--hx-color-neutral-100, #f3f4f6);
349
+ }
350
+
351
+ /* ─── Size Variants ─── */
352
+
353
+ .trigger--sm {
354
+ width: var(--hx-size-8, 2rem);
355
+ height: var(--hx-size-8, 2rem);
356
+ min-width: var(--hx-size-touch-target, 2.75rem);
357
+ min-height: var(--hx-size-touch-target, 2.75rem);
358
+ font-size: var(--hx-font-size-sm, 0.875rem);
359
+ }
360
+
361
+ .trigger--md {
362
+ width: var(--hx-size-10, 2.5rem);
363
+ height: var(--hx-size-10, 2.5rem);
364
+ min-width: var(--hx-size-touch-target, 2.75rem);
365
+ min-height: var(--hx-size-touch-target, 2.75rem);
366
+ font-size: var(--hx-font-size-md, 1rem);
367
+ }
368
+
369
+ .trigger--lg {
370
+ width: var(--hx-size-12, 3rem);
371
+ height: var(--hx-size-12, 3rem);
372
+ font-size: var(--hx-font-size-lg, 1.125rem);
373
+ }
374
+
375
+ /* ─── Panel ─── */
376
+
377
+ .panel {
378
+ position: fixed;
379
+ z-index: var(--hx-overflow-menu-panel-z-index, 1000);
380
+ min-width: var(--hx-overflow-menu-panel-min-width, 160px);
381
+ background: var(--hx-overflow-menu-panel-bg, var(--hx-color-neutral-0, #fff));
382
+ border: var(--hx-overflow-menu-panel-border, 1px solid var(--hx-color-neutral-200, #e5e7eb));
383
+ border-radius: var(
384
+ --hx-overflow-menu-panel-border-radius,
385
+ var(--hx-border-radius-md, 0.375rem)
386
+ );
387
+ box-shadow: var(
388
+ --hx-overflow-menu-panel-shadow,
389
+ 0 4px 16px var(--hx-overlay-black-12, rgba(0, 0, 0, 0.12))
390
+ );
391
+ padding: var(--hx-space-1, 0.25rem) 0;
392
+ outline: none;
393
+ }
394
+
395
+ /* ─── Slot: menu items ─── */
396
+
397
+ ::slotted([role='menuitem']),
398
+ ::slotted([role='menuitemcheckbox']),
399
+ ::slotted([role='menuitemradio']) {
400
+ display: block;
401
+ width: 100%;
402
+ padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
403
+ background: none;
404
+ border: none;
405
+ text-align: start;
406
+ font-size: var(--hx-font-size-sm, 0.875rem);
407
+ color: var(--hx-color-neutral-900, #111827);
408
+ cursor: pointer;
409
+ white-space: nowrap;
410
+ box-sizing: border-box;
411
+ }
412
+
413
+ ::slotted([role='menuitem']:hover),
414
+ ::slotted([role='menuitemcheckbox']:hover),
415
+ ::slotted([role='menuitemradio']:hover) {
416
+ background-color: var(--hx-color-neutral-50, #f9fafb);
417
+ }
418
+
419
+ ::slotted([role='menuitem']:focus-visible),
420
+ ::slotted([role='menuitemcheckbox']:focus-visible),
421
+ ::slotted([role='menuitemradio']:focus-visible) {
422
+ outline: var(--hx-focus-ring-width, 2px) solid
423
+ var(
424
+ --hx-overflow-menu-focus-ring-color,
425
+ var(--hx-focus-ring-color, var(--hx-color-primary-500))
426
+ );
427
+ outline-offset: 0;
428
+ }
429
+
430
+ /* ─── Reduced Motion ─── */
431
+
432
+ @media (prefers-reduced-motion: reduce) {
433
+ .trigger {
434
+ transition: none;
435
+ }
436
+ }
437
+ /* ── hx-pagination ── */
438
+ :host {
439
+ display: block;
440
+ font-family: var(--hx-font-family-sans, sans-serif);
441
+ }
442
+
443
+ .pagination-root {
444
+ display: flex;
445
+ align-items: center;
446
+ gap: var(--hx-space-4, 1rem);
447
+ flex-wrap: wrap;
448
+ }
449
+
450
+ nav {
451
+ display: flex;
452
+ align-items: center;
453
+ justify-content: center;
454
+ }
455
+
456
+ .list {
457
+ display: flex;
458
+ align-items: center;
459
+ gap: var(--hx-pagination-gap, var(--hx-space-1, 0.25rem));
460
+ list-style: none;
461
+ margin: 0;
462
+ padding: 0;
463
+ }
464
+
465
+ .item {
466
+ display: flex;
467
+ }
468
+
469
+ .button {
470
+ display: inline-flex;
471
+ align-items: center;
472
+ justify-content: center;
473
+ min-width: var(--hx-pagination-button-size, 2.25rem);
474
+ height: var(--hx-pagination-button-size, 2.25rem);
475
+ padding: 0 var(--hx-space-2, 0.5rem);
476
+ border: var(--hx-border-width-thin, 1px) solid
477
+ var(--hx-pagination-border-color, var(--hx-color-neutral-300, #d1d5db));
478
+ border-radius: var(--hx-pagination-border-radius, var(--hx-border-radius-md, 0.375rem));
479
+ background: var(--hx-pagination-bg, var(--hx-color-neutral-0, #ffffff));
480
+ color: var(--hx-pagination-color, var(--hx-color-neutral-900, #111827));
481
+ font-size: var(--hx-font-size-sm, 0.875rem);
482
+ font-family: inherit;
483
+ cursor: pointer;
484
+ transition:
485
+ background-color var(--hx-transition-fast, 150ms) ease,
486
+ border-color var(--hx-transition-fast, 150ms) ease,
487
+ color var(--hx-transition-fast, 150ms) ease;
488
+ text-decoration: none;
489
+ white-space: nowrap;
490
+ }
491
+
492
+ .button:hover:not(:disabled) {
493
+ background: var(--hx-pagination-hover-bg, var(--hx-color-neutral-100, #f3f4f6));
494
+ border-color: var(--hx-pagination-hover-border-color, var(--hx-color-primary-500, #2563eb));
495
+ }
496
+
497
+ .button:focus-visible {
498
+ outline: var(--hx-focus-ring-width, 2px) solid
499
+ var(--hx-pagination-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
500
+ outline-offset: var(--hx-focus-ring-offset, 2px);
501
+ }
502
+
503
+ .button[aria-current='page'] {
504
+ background: var(--hx-pagination-active-bg, var(--hx-color-primary-500, #2563eb));
505
+ border-color: var(
506
+ --hx-pagination-active-border-color,
507
+ var(--hx-pagination-active-bg, var(--hx-color-primary-500, #2563eb))
508
+ );
509
+ color: var(--hx-pagination-active-color, var(--hx-color-neutral-0, #ffffff));
510
+ font-weight: var(--hx-font-weight-semibold, 600);
511
+ cursor: default;
512
+ pointer-events: none;
513
+ }
514
+
515
+ .button:disabled {
516
+ opacity: var(--hx-opacity-disabled, 0.5);
517
+ pointer-events: none;
518
+ }
519
+
520
+ .ellipsis {
521
+ display: inline-flex;
522
+ align-items: center;
523
+ justify-content: center;
524
+ min-width: var(--hx-pagination-button-size, 2.25rem);
525
+ height: var(--hx-pagination-button-size, 2.25rem);
526
+ color: var(--hx-pagination-ellipsis-color, var(--hx-color-neutral-500, #6b7280));
527
+ font-size: var(--hx-font-size-sm, 0.875rem);
528
+ user-select: none;
529
+ }
530
+
531
+ .button[aria-disabled='true'] {
532
+ cursor: default;
533
+ pointer-events: none;
534
+ }
535
+
536
+ /* Page size selector */
537
+ .page-size-wrapper {
538
+ display: flex;
539
+ align-items: center;
540
+ }
541
+
542
+ .page-size-label {
543
+ display: flex;
544
+ align-items: center;
545
+ gap: var(--hx-space-2, 0.5rem);
546
+ font-size: var(--hx-font-size-sm, 0.875rem);
547
+ color: var(--hx-color-neutral-500, #6b7280);
548
+ white-space: nowrap;
549
+ }
550
+
551
+ .page-size-select {
552
+ height: var(--hx-pagination-button-size, 2.25rem);
553
+ padding: 0 var(--hx-space-2, 0.5rem);
554
+ border: var(--hx-border-width-thin, 1px) solid
555
+ var(--hx-pagination-border-color, var(--hx-color-neutral-300, #d1d5db));
556
+ border-radius: var(--hx-pagination-border-radius, var(--hx-border-radius-md, 0.375rem));
557
+ background: var(--hx-pagination-bg, var(--hx-color-neutral-0, #ffffff));
558
+ color: var(--hx-pagination-color, var(--hx-color-neutral-900, #111827));
559
+ font-size: var(--hx-font-size-sm, 0.875rem);
560
+ font-family: inherit;
561
+ cursor: pointer;
562
+ }
563
+
564
+ .page-size-select:focus-visible {
565
+ outline: var(--hx-focus-ring-width, 2px) solid
566
+ var(--hx-pagination-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
567
+ outline-offset: var(--hx-focus-ring-offset, 2px);
568
+ }
569
+
570
+ /* Visually hidden — used for aria-live status messages */
571
+ .visually-hidden {
572
+ position: absolute;
573
+ width: 1px;
574
+ height: 1px;
575
+ padding: 0;
576
+ margin: -1px;
577
+ overflow: hidden;
578
+ clip: rect(0, 0, 0, 0);
579
+ white-space: nowrap;
580
+ border: 0;
581
+ }
582
+
583
+ @media (prefers-reduced-motion: reduce) {
584
+ .button {
585
+ transition: none;
586
+ }
587
+ }
588
+
589
+ /* Windows High Contrast / forced-colors support */
590
+ @media (forced-colors: active) {
591
+ .button {
592
+ border: 1px solid ButtonText;
593
+ color: ButtonText;
594
+ background: ButtonFace;
595
+ forced-color-adjust: none;
596
+ }
597
+
598
+ .button:hover:not(:disabled) {
599
+ border-color: Highlight;
600
+ color: Highlight;
601
+ }
602
+
603
+ .button:focus-visible {
604
+ outline-color: Highlight;
605
+ }
606
+
607
+ .button[aria-current='page'] {
608
+ background: Highlight;
609
+ border-color: Highlight;
610
+ color: HighlightText;
611
+ }
612
+
613
+ .button:disabled {
614
+ color: GrayText;
615
+ border-color: GrayText;
616
+ opacity: 1;
617
+ }
618
+
619
+ .button[aria-disabled='true'] {
620
+ color: GrayText;
621
+ }
622
+
623
+ .page-size-select {
624
+ border-color: ButtonText;
625
+ color: ButtonText;
626
+ background: ButtonFace;
627
+ forced-color-adjust: none;
628
+ }
629
+ }
630
+ /* ── hx-side-nav ── */
631
+ :host {
632
+ display: block;
633
+ height: 100%;
634
+ /* Mirror the nav background and text on the host so slotted light-DOM
635
+ content (header, footer slots) inherits the correct dark surface color.
636
+ Without this, axe-core cannot resolve the background for slotted nodes
637
+ and evaluates their text against the page white background, producing
638
+ false-positive color-contrast violations (WCAG 2.1 AA). */
639
+ background-color: var(--hx-side-nav-bg, var(--hx-color-neutral-900, #0f172a));
640
+ color: var(--hx-side-nav-color, var(--hx-color-neutral-100, #f1f5f9));
641
+ }
642
+
643
+ * {
644
+ box-sizing: border-box;
645
+ }
646
+
647
+ /* ─── Nav Container ─── */
648
+
649
+ .side-nav {
650
+ display: flex;
651
+ flex-direction: column;
652
+ height: 100%;
653
+ width: var(--hx-side-nav-width, 16rem);
654
+ background-color: var(--hx-side-nav-bg, var(--hx-color-neutral-900, #0f172a));
655
+ color: var(--hx-side-nav-color, var(--hx-color-neutral-100, #f1f5f9));
656
+ transition: width var(--hx-transition-normal, 300ms) ease;
657
+ overflow: hidden;
658
+ border-inline-end: var(--hx-border-width-thin, 1px) solid
659
+ var(--hx-side-nav-border-color, var(--hx-color-neutral-700, #334155));
660
+ }
661
+
662
+ /* ─── Collapsed State ─── */
663
+
664
+ :host([collapsed]) .side-nav {
665
+ width: var(--hx-side-nav-collapsed-width, 3.5rem);
666
+ }
667
+
668
+ /* ─── Header ─── */
669
+
670
+ .side-nav__header {
671
+ display: flex;
672
+ align-items: center;
673
+ padding: var(--hx-side-nav-header-padding, var(--hx-space-4, 1rem));
674
+ flex-shrink: 0;
675
+ min-height: var(--hx-space-14, 3.5rem);
676
+ border-bottom: var(--hx-border-width-thin, 1px) solid
677
+ var(--hx-side-nav-border-color, var(--hx-color-neutral-700, #334155));
678
+ overflow: hidden;
679
+ }
680
+
681
+ :host([collapsed]) .side-nav__header {
682
+ justify-content: center;
683
+ padding: var(--hx-space-3, 0.75rem);
684
+ }
685
+
686
+ /* ─── Body ─── */
687
+
688
+ .side-nav__body {
689
+ flex: 1;
690
+ overflow-y: auto;
691
+ overflow-x: hidden;
692
+ padding: var(--hx-space-2, 0.5rem) 0;
693
+ }
694
+
695
+ /* ─── Footer ─── */
696
+
697
+ .side-nav__footer {
698
+ display: flex;
699
+ align-items: center;
700
+ padding: var(--hx-side-nav-footer-padding, var(--hx-space-4, 1rem));
701
+ flex-shrink: 0;
702
+ min-height: var(--hx-space-14, 3.5rem);
703
+ border-top: var(--hx-border-width-thin, 1px) solid
704
+ var(--hx-side-nav-border-color, var(--hx-color-neutral-700, #334155));
705
+ overflow: hidden;
706
+ }
707
+
708
+ :host([collapsed]) .side-nav__footer {
709
+ justify-content: center;
710
+ padding: var(--hx-space-3, 0.75rem);
711
+ }
712
+
713
+ /* ─── Toggle Button ─── */
714
+
715
+ .side-nav__toggle {
716
+ display: flex;
717
+ align-items: center;
718
+ justify-content: center;
719
+ width: var(--hx-space-8, 2rem);
720
+ height: var(--hx-space-8, 2rem);
721
+ margin-inline-start: auto;
722
+ flex-shrink: 0;
723
+ padding: 0;
724
+ border: none;
725
+ border-radius: var(--hx-border-radius-sm, 0.25rem);
726
+ background: transparent;
727
+ color: var(--hx-side-nav-toggle-color, var(--hx-color-neutral-400, #94a3b8));
728
+ cursor: pointer;
729
+ transition:
730
+ background-color var(--hx-transition-fast, 150ms) ease,
731
+ color var(--hx-transition-fast, 150ms) ease;
732
+ }
733
+
734
+ .side-nav__toggle:hover {
735
+ background-color: var(
736
+ --hx-overlay-white-10,
737
+ rgba(255, 255, 255, 0.1)
738
+ ); /* fallback for browsers without color-mix() */
739
+ color: var(--hx-color-neutral-100, #f1f5f9);
740
+ }
741
+
742
+ @supports (color: color-mix(in srgb, red 50%, blue)) {
743
+ .side-nav__toggle:hover {
744
+ background-color: color-mix(in srgb, currentColor 15%, transparent);
745
+ }
746
+ }
747
+
748
+ .side-nav__toggle:focus-visible {
749
+ outline: var(--hx-focus-ring-width, 2px) solid
750
+ var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa));
751
+ outline-offset: var(--hx-focus-ring-offset, 2px);
752
+ }
753
+
754
+ .side-nav__toggle svg {
755
+ width: var(--hx-space-5, 1.25rem);
756
+ height: var(--hx-space-5, 1.25rem);
757
+ fill: currentColor;
758
+ flex-shrink: 0;
759
+ transition: transform var(--hx-transition-normal, 300ms) ease;
760
+ }
761
+
762
+ :host([collapsed]) .side-nav__toggle svg {
763
+ transform: rotate(180deg);
764
+ }
765
+
766
+ @media (prefers-reduced-motion: reduce) {
767
+ .side-nav {
768
+ transition: none;
769
+ }
770
+
771
+ .side-nav__toggle {
772
+ transition: none;
773
+ }
774
+
775
+ .side-nav__toggle svg {
776
+ transition: none;
777
+ }
778
+ }
779
+ /* ── hx-steps ── */
780
+ :host {
781
+ display: block;
782
+
783
+ /* ─── Size defaults (md) ─── */
784
+ --hx-steps-indicator-size: var(--hx-size-8, 2rem);
785
+ --hx-steps-indicator-font-size: var(--hx-font-size-sm, 0.875rem);
786
+ --hx-steps-indicator-icon-size: var(--hx-size-4, 1rem);
787
+ --hx-steps-label-font-size: var(--hx-font-size-sm, 0.875rem);
788
+ --hx-steps-description-font-size: var(--hx-font-size-xs, 0.75rem);
789
+
790
+ /* ─── Item layout defaults (horizontal) ─── */
791
+ --hx-steps-item-flex: 1;
792
+ --hx-steps-item-width: auto;
793
+ }
794
+
795
+ .steps {
796
+ display: flex;
797
+ flex-direction: row;
798
+ align-items: flex-start;
799
+ }
800
+
801
+ /* ─── Orientation: vertical ─── */
802
+
803
+ :host([orientation='vertical']) {
804
+ --hx-steps-item-flex: initial;
805
+ --hx-steps-item-width: 100%;
806
+ }
807
+
808
+ :host([orientation='vertical']) .steps {
809
+ flex-direction: column;
810
+ }
811
+
812
+ /* ─── Size: sm ─── */
813
+
814
+ :host([size='sm']) {
815
+ --hx-steps-indicator-size: var(--hx-size-6, 1.5rem);
816
+ --hx-steps-indicator-font-size: var(--hx-font-size-xs, 0.75rem);
817
+ --hx-steps-indicator-icon-size: var(--hx-space-3, 0.75rem);
818
+ --hx-steps-label-font-size: var(--hx-font-size-xs, 0.75rem);
819
+ --hx-steps-description-font-size: var(--hx-font-size-xs, 0.75rem);
820
+ }
821
+
822
+ /* ─── Size: lg ─── */
823
+
824
+ :host([size='lg']) {
825
+ --hx-steps-indicator-size: var(--hx-size-10, 2.5rem);
826
+ --hx-steps-indicator-font-size: var(--hx-font-size-md, 1rem);
827
+ --hx-steps-indicator-icon-size: var(--hx-size-5, 1.25rem);
828
+ --hx-steps-label-font-size: var(--hx-font-size-md, 1rem);
829
+ --hx-steps-description-font-size: var(--hx-font-size-sm, 0.875rem);
830
+ }
831
+ /* ── hx-tabs ── */
832
+ :host {
833
+ display: block;
834
+ font-family: var(--hx-font-family-sans, sans-serif);
835
+ }
836
+
837
+ * {
838
+ box-sizing: border-box;
839
+ }
840
+
841
+ /* ─── Container ─── */
842
+
843
+ .tabs {
844
+ display: flex;
845
+ flex-direction: column;
846
+ gap: var(--hx-tabs-gap, 0);
847
+ }
848
+
849
+ :host([orientation='vertical']) .tabs {
850
+ flex-direction: row;
851
+ }
852
+
853
+ /* ─── Tablist ─── */
854
+
855
+ .tablist {
856
+ display: flex;
857
+ flex-direction: row;
858
+ flex-wrap: nowrap;
859
+ gap: 0;
860
+ border-bottom: var(--hx-tabs-border-width, 1px) solid
861
+ var(--hx-tabs-border-color, var(--hx-color-neutral-200, #e9ecef));
862
+ overflow-x: auto;
863
+ scrollbar-width: none;
864
+ }
865
+
866
+ .tablist::-webkit-scrollbar {
867
+ display: none;
868
+ }
869
+
870
+ /* ─── Vertical Orientation ─── */
871
+
872
+ :host([orientation='vertical']) {
873
+ --_tab-indicator-bottom: 0px;
874
+ --_tab-indicator-end: var(--hx-tabs-indicator-size, 2px);
875
+ --_tab-indicator-bottom-color: transparent;
876
+ --_tab-indicator-end-color: var(
877
+ --hx-tabs-indicator-color,
878
+ var(--hx-color-primary-500, #2563eb)
879
+ );
880
+ }
881
+
882
+ :host([orientation='vertical']) .tablist {
883
+ flex-direction: column;
884
+ border-bottom: none;
885
+ border-inline-end: var(--hx-tabs-border-width, 1px) solid
886
+ var(--hx-tabs-border-color, var(--hx-color-neutral-200, #e9ecef));
887
+ overflow-x: visible;
888
+ overflow-y: auto;
889
+ min-width: var(--hx-tabs-vertical-width, 12rem);
890
+ flex-shrink: 0;
891
+ }
892
+
893
+ /* ─── Panels Container ─── */
894
+
895
+ .panels {
896
+ flex: 1 1 auto;
897
+ min-width: 0;
898
+ }
899
+
900
+ /* ─── Reduced Motion ─── */
901
+
902
+ @media (prefers-reduced-motion: reduce) {
903
+ .tablist {
904
+ scroll-behavior: auto;
905
+ }
906
+ }
907
+ /* ── hx-top-nav ── */
908
+ /* ─── Host ─── */
909
+
910
+ :host {
911
+ display: block;
912
+ }
913
+
914
+ /* ─── Header wrapper (landmark) ─── */
915
+
916
+ header {
917
+ display: block;
918
+ margin: 0;
919
+ padding: 0;
920
+ }
921
+
922
+ /* ─── Sticky mode ─── */
923
+
924
+ :host([sticky]) .nav {
925
+ position: sticky;
926
+ top: 0;
927
+ /* Fallback 1000 is appropriate for sticky navbars (below modals ~1300, above content) */
928
+ z-index: var(--hx-top-nav-z-index, var(--hx-z-index-sticky, 1000));
929
+ }
930
+
931
+ /* ─── Nav container ─── */
932
+
933
+ .nav {
934
+ background-color: var(--hx-top-nav-bg, var(--hx-color-neutral-0, #ffffff));
935
+ color: var(--hx-top-nav-color, var(--hx-color-neutral-800, #212529));
936
+ border-bottom: var(--hx-border-width-thin, 1px) solid
937
+ var(--hx-top-nav-border-color, var(--hx-color-neutral-200, #dee2e6));
938
+ font-family: var(--hx-font-family-sans, sans-serif);
939
+ }
940
+
941
+ /* ─── Bar row (always visible) ─── */
942
+
943
+ .nav__bar {
944
+ display: flex;
945
+ align-items: center;
946
+ min-height: var(--hx-top-nav-height, var(--hx-space-16, 4rem));
947
+ padding-inline: var(--hx-top-nav-padding-x, var(--hx-space-6, 1.5rem));
948
+ gap: var(--hx-space-4, 1rem);
949
+ }
950
+
951
+ /* ─── Logo ─── */
952
+
953
+ .nav__logo {
954
+ display: flex;
955
+ align-items: center;
956
+ flex-shrink: 0;
957
+ }
958
+
959
+ /* ─── Mobile toggle (hamburger) ─── */
960
+
961
+ .mobile-toggle {
962
+ display: flex;
963
+ align-items: center;
964
+ justify-content: center;
965
+ margin-inline-start: auto;
966
+ /* var(--hx-space-3, 0.75rem) padding + 24px icon = 48×48px touch target (exceeds WCAG 2.5.5 44×44px) */
967
+ padding: var(--hx-space-3, 0.75rem);
968
+ background: transparent;
969
+ border: none;
970
+ border-radius: var(--hx-border-radius-sm, 0.25rem);
971
+ color: var(--hx-top-nav-toggle-color, var(--hx-color-neutral-700, #343a40));
972
+ cursor: pointer;
973
+ line-height: 0;
974
+ }
975
+
976
+ .mobile-toggle:hover {
977
+ background: var(--hx-color-neutral-100, #f1f3f5);
978
+ }
979
+
980
+ .mobile-toggle:focus-visible {
981
+ outline: var(--hx-focus-ring-width, 2px) solid
982
+ var(--hx-focus-ring-color, var(--hx-color-primary-500, #2563eb));
983
+ outline-offset: var(--hx-focus-ring-offset, 2px);
984
+ }
985
+
986
+ .mobile-toggle__icon {
987
+ width: var(--hx-space-6, 1.5rem);
988
+ height: var(--hx-space-6, 1.5rem);
989
+ }
990
+
991
+ /* ─── Collapsible panel (mobile) ─── */
992
+
993
+ .nav__collapsible {
994
+ display: none;
995
+ flex-direction: column;
996
+ width: 100%;
997
+ padding-block: var(--hx-space-3, 0.75rem);
998
+ border-top: var(--hx-border-width-thin, 1px) solid
999
+ var(--hx-top-nav-border-color, var(--hx-color-neutral-200, #dee2e6));
1000
+ }
1001
+
1002
+ .nav__collapsible--open {
1003
+ display: flex;
1004
+ animation: hx-mobile-nav-open var(--hx-duration-fast, 150ms) ease-out;
1005
+ }
1006
+
1007
+ /* ─── Menu and actions in collapsible (mobile) ─── */
1008
+
1009
+ .nav__menu,
1010
+ .nav__actions {
1011
+ display: flex;
1012
+ flex-direction: column;
1013
+ gap: var(--hx-space-1, 0.25rem);
1014
+ padding-inline: var(--hx-top-nav-padding-x, var(--hx-space-6, 1.5rem));
1015
+ }
1016
+
1017
+ .nav__actions {
1018
+ margin-top: var(--hx-space-3, 0.75rem);
1019
+ padding-top: var(--hx-space-3, 0.75rem);
1020
+ border-top: var(--hx-border-width-thin, 1px) solid
1021
+ var(--hx-top-nav-border-color, var(--hx-color-neutral-200, #dee2e6));
1022
+ }
1023
+
1024
+ /* ─── Desktop breakpoint ─── */
1025
+
1026
+ /* NOTE: CSS @media queries do not support custom properties.
1027
+ This value corresponds to --hx-breakpoint-md (768px). */
1028
+ @media (min-width: 768px) {
1029
+ /* Make nav a flex row so bar and collapsible sit side-by-side */
1030
+ .nav {
1031
+ display: flex;
1032
+ align-items: center;
1033
+ padding-inline: var(--hx-top-nav-padding-x, var(--hx-space-6, 1.5rem));
1034
+ }
1035
+
1036
+ .nav__bar {
1037
+ flex-shrink: 0;
1038
+ padding-inline: 0;
1039
+ min-height: var(--hx-top-nav-height, var(--hx-space-16, 4rem));
1040
+ }
1041
+
1042
+ /* Hide hamburger on desktop */
1043
+ .mobile-toggle {
1044
+ display: none;
1045
+ }
1046
+
1047
+ /* Collapsible becomes a standard inline flex row */
1048
+ .nav__collapsible {
1049
+ display: flex;
1050
+ flex-direction: row;
1051
+ align-items: center;
1052
+ flex: 1;
1053
+ padding-block: 0;
1054
+ border-top: none;
1055
+ margin-inline-start: auto;
1056
+ gap: var(--hx-space-4, 1rem);
1057
+ animation: none;
1058
+ }
1059
+
1060
+ /* Override open modifier — always visible on desktop regardless of state */
1061
+ .nav__collapsible--open {
1062
+ display: flex;
1063
+ animation: none;
1064
+ }
1065
+
1066
+ /* Menu grows to fill available space */
1067
+ .nav__menu {
1068
+ display: flex;
1069
+ flex-direction: row;
1070
+ align-items: center;
1071
+ gap: var(--hx-space-1, 0.25rem);
1072
+ flex: 1;
1073
+ padding-inline: 0;
1074
+ }
1075
+
1076
+ /* Actions sit at the far right */
1077
+ .nav__actions {
1078
+ display: flex;
1079
+ flex-direction: row;
1080
+ align-items: center;
1081
+ gap: var(--hx-space-2, 0.5rem);
1082
+ margin-top: 0;
1083
+ padding-top: 0;
1084
+ padding-inline: 0;
1085
+ border-top: none;
1086
+ flex-shrink: 0;
1087
+ }
1088
+ }
1089
+
1090
+ /* ─── Mobile menu open animation ─── */
1091
+
1092
+ @keyframes hx-mobile-nav-open {
1093
+ from {
1094
+ opacity: 0;
1095
+ transform: translateY(-0.25rem);
1096
+ }
1097
+ to {
1098
+ opacity: 1;
1099
+ transform: translateY(0);
1100
+ }
1101
+ }
1102
+
1103
+ /* ─── Reduced motion ─── */
1104
+
1105
+ @media (prefers-reduced-motion: reduce) {
1106
+ .nav__collapsible--open {
1107
+ animation: none;
1108
+ }
1109
+ }
1110
+ /* ── hx-tree-view ── */
1111
+ :host {
1112
+ display: block;
1113
+ contain: layout style;
1114
+ font-family: var(--hx-tree-font-family, var(--hx-font-family-sans, sans-serif));
1115
+ }
1116
+
1117
+ * {
1118
+ box-sizing: border-box;
1119
+ }
1120
+
1121
+ .tree {
1122
+ display: block;
1123
+ outline: none;
1124
+ }
1125
+
1126
+ .tree:focus-visible {
1127
+ outline: var(--hx-focus-ring-width, 2px) solid
1128
+ var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa));
1129
+ outline-offset: var(--hx-focus-ring-offset, 2px);
1130
+ border-radius: var(--hx-border-radius-sm, 0.25rem);
1131
+ }