@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
@@ -1,8 +1,8 @@
1
1
  import { css as m, html as p } from "lit";
2
- import { property as d, customElement as u } from "lit/decorators.js";
2
+ import { property as l, customElement as u } from "lit/decorators.js";
3
3
  import { HelixBrandRegistry as x, tokenEntries as f, darkTokenEntries as y } from "@helixui/tokens";
4
4
  import { H as _ } from "./helix-element-BNEYeiys.js";
5
- const g = m`
5
+ const F = m`
6
6
  :host {
7
7
  display: contents;
8
8
  }
@@ -37,10 +37,10 @@ const g = m`
37
37
  }
38
38
  }
39
39
  `;
40
- function F(e, t) {
40
+ function g(e, t) {
41
41
  if (Object.keys(t).length === 0)
42
42
  return e;
43
- const s = Object.entries(t).map(([r, i]) => ` ${r}: ${i};`).join(`
43
+ const s = Object.entries(t).map(([i, r]) => ` ${i}: ${r};`).join(`
44
44
  `);
45
45
  return `${e}
46
46
 
@@ -49,17 +49,27 @@ function F(e, t) {
49
49
  ${s}
50
50
  }`;
51
51
  }
52
- var v = Object.defineProperty, w = Object.getOwnPropertyDescriptor, c = (e, t, s, r) => {
53
- for (var i = r > 1 ? void 0 : r ? w(t, s) : t, o = e.length - 1, n; o >= 0; o--)
54
- (n = e[o]) && (i = (r ? n(t, s, i) : n(i)) || i);
55
- return r && i && v(t, s, i), i;
52
+ var v = Object.defineProperty, w = Object.getOwnPropertyDescriptor, c = (e, t, s, i) => {
53
+ for (var r = i > 1 ? void 0 : i ? w(t, s) : t, o = e.length - 1, a; o >= 0; o--)
54
+ (a = e[o]) && (r = (i ? a(t, s, r) : a(r)) || r);
55
+ return i && r && v(t, s, r), r;
56
56
  };
57
57
  const b = [
58
58
  ["--hx-color-text-primary", "#FFFFFF"],
59
59
  ["--hx-color-text-secondary", "#FFFFFF"],
60
60
  ["--hx-color-text-muted", "#E0E0E0"],
61
+ ["--hx-color-text-strong", "#FFFFFF"],
62
+ ["--hx-color-text-placeholder", "#B0B0B0"],
61
63
  ["--hx-color-text-disabled", "#767676"],
62
64
  ["--hx-color-text-inverse", "#000000"],
65
+ ["--hx-color-text-on-primary", "#000000"],
66
+ ["--hx-color-text-on-secondary", "#000000"],
67
+ ["--hx-color-text-on-error", "#000000"],
68
+ ["--hx-color-text-on-success", "#000000"],
69
+ ["--hx-color-text-on-warning", "#000000"],
70
+ ["--hx-color-text-on-info", "#000000"],
71
+ ["--hx-color-error-text", "#FCA5A5"],
72
+ ["--hx-color-success-text", "#86EFAC"],
63
73
  ["--hx-color-text-link", "#FFFF00"],
64
74
  ["--hx-color-text-link-hover", "#FFFF99"],
65
75
  ["--hx-color-text-link-visited", "#FF80FF"],
@@ -67,6 +77,7 @@ const b = [
67
77
  ["--hx-color-surface-default", "#000000"],
68
78
  ["--hx-color-surface-raised", "#1A1A1A"],
69
79
  ["--hx-color-surface-sunken", "#000000"],
80
+ ["--hx-color-surface-inverse", "#FFFFFF"],
70
81
  ["--hx-color-surface-overlay", "rgba(0, 0, 0, 0.95)"],
71
82
  ["--hx-color-border-default", "#FFFFFF"],
72
83
  ["--hx-color-border-subtle", "#C0C0C0"],
@@ -154,38 +165,38 @@ const b = [
154
165
  ["--hx-easing-accelerate", "linear"],
155
166
  ["--hx-easing-spring", "linear"]
156
167
  ];
157
- function a(e) {
168
+ function n(e) {
158
169
  return Array.from(e).map(([t, s]) => ` ${t}: ${s};`).join(`
159
170
  `);
160
171
  }
161
- const l = /* @__PURE__ */ new Map();
172
+ const d = /* @__PURE__ */ new Map();
162
173
  function T(e) {
163
- const t = l.get(e);
174
+ const t = d.get(e);
164
175
  if (t) return t;
165
- const s = new Map(f.map((i) => [i.name, i.value]));
166
- let r;
176
+ const s = new Map(f.map((r) => [r.name, r.value]));
177
+ let i;
167
178
  if (e === "dark") {
168
- const i = new Map(s);
179
+ const r = new Map(s);
169
180
  for (const o of y)
170
- i.set(o.name, o.value);
171
- r = `:host {
172
- ${a(i)}
181
+ r.set(o.name, o.value);
182
+ i = `:host {
183
+ ${n(r)}
173
184
  color-scheme: dark;
174
185
  }`;
175
186
  } else if (e === "high-contrast") {
176
- const i = new Map(s);
177
- for (const [o, n] of b)
178
- i.set(o, n);
179
- r = `:host {
180
- ${a(i)}
187
+ const r = new Map(s);
188
+ for (const [o, a] of b)
189
+ r.set(o, a);
190
+ i = `:host {
191
+ ${n(r)}
181
192
  color-scheme: dark;
182
193
  }`;
183
194
  } else
184
- r = `:host {
185
- ${a(s)}
195
+ i = `:host {
196
+ ${n(s)}
186
197
  color-scheme: light;
187
198
  }`;
188
- return l.set(e, r), r;
199
+ return d.set(e, i), i;
189
200
  }
190
201
  let h = class extends _ {
191
202
  constructor() {
@@ -258,13 +269,13 @@ let h = class extends _ {
258
269
  let e = T(this.effectiveTheme);
259
270
  if (this.brand !== "") {
260
271
  const t = x.getBrandTokens(this.brand);
261
- t !== void 0 ? e = F(e, t) : console.warn(
272
+ t !== void 0 ? e = g(e, t) : console.warn(
262
273
  `[hx-theme] Brand "${this.brand}" is not registered. Register it via HelixBrandRegistry.register() before use. Applying base theme only.`
263
274
  );
264
275
  }
265
276
  this.effectiveMotion === "reduced" && (e += `
266
277
  :host {
267
- ${a(Q)}
278
+ ${n(Q)}
268
279
  }`), this._themeSheet.replace(e);
269
280
  }
270
281
  /** @internal */
@@ -272,9 +283,9 @@ ${a(Q)}
272
283
  if (!this._densitySheet) return;
273
284
  let e = "";
274
285
  this.density === "compact" ? e = `:host {
275
- ${a(S)}
286
+ ${n(S)}
276
287
  }` : this.density === "spacious" && (e = `:host {
277
- ${a(M)}
288
+ ${n(M)}
278
289
  }`), this._densitySheet.replace(e);
279
290
  }
280
291
  render() {
@@ -286,18 +297,18 @@ ${a(M)}
286
297
  `;
287
298
  }
288
299
  };
289
- h.styles = [g];
300
+ h.styles = [F];
290
301
  c([
291
- d({ type: String, reflect: !0 })
302
+ l({ type: String, reflect: !0 })
292
303
  ], h.prototype, "theme", 2);
293
304
  c([
294
- d({ type: String, reflect: !0 })
305
+ l({ type: String, reflect: !0 })
295
306
  ], h.prototype, "brand", 2);
296
307
  c([
297
- d({ type: String, reflect: !0 })
308
+ l({ type: String, reflect: !0 })
298
309
  ], h.prototype, "motion", 2);
299
310
  c([
300
- d({ type: String, reflect: !0 })
311
+ l({ type: String, reflect: !0 })
301
312
  ], h.prototype, "density", 2);
302
313
  h = c([
303
314
  u("hx-theme")
@@ -305,4 +316,4 @@ h = c([
305
316
  export {
306
317
  h as H
307
318
  };
308
- //# sourceMappingURL=hx-theme-DfEy-SJA.js.map
319
+ //# sourceMappingURL=hx-theme-BiyQ7UUK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hx-theme-BiyQ7UUK.js","sources":["../../src/components/hx-theme/hx-theme.styles.ts","../../src/utils/token-merger.ts","../../src/components/hx-theme/hx-theme.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixThemeStyles = css`\n :host {\n display: contents;\n }\n\n /* display: contents makes this wrapper layout-invisible; exposed as [part=\"base\"]\n for consumer targeting via CSS parts without affecting layout */\n .theme-base {\n display: contents;\n }\n\n /* Visually hidden but accessible to screen readers — used for aria-live announcements */\n .visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n /* ─── High Contrast Mode (forced-colors) ─── */\n\n /* hx-theme is a transparent wrapper that applies design tokens.\n It has no visual output of its own. forced-color-adjust: auto (default)\n is sufficient — theme tokens will resolve to system colors as needed. */\n @media (forced-colors: active) {\n :host {\n forced-color-adjust: auto;\n }\n }\n`;\n","import type { BrandTokenMap } from '@helixui/tokens';\n\n/**\n * Merges brand token overrides on top of a base theme CSS string.\n *\n * Brand tokens are appended as a `:host` block after the base theme CSS,\n * which gives them higher cascade precedence within the adopted stylesheet.\n * This preserves all primitive and semantic tokens from the base theme while\n * allowing brand-specific values to override selectively.\n *\n * @param baseCSS - The base theme CSS string (from `_buildThemeCss`).\n * @param brandTokens - CSS custom property overrides for the active brand.\n * @returns Combined CSS string with brand overrides applied after the base theme.\n *\n * @example\n * ```ts\n * const merged = mergeBrandTokens(lightCSS, {\n * '--hx-color-primary-500': '#003DA5',\n * '--hx-color-primary-600': '#002D8A',\n * });\n * // merged === lightCSS + \"\\n\\n:host {\\n --hx-color-primary-500: #003DA5;\\n ...}\\n\"\n * ```\n */\nexport function mergeBrandTokens(baseCSS: string, brandTokens: BrandTokenMap): string {\n if (Object.keys(brandTokens).length === 0) {\n return baseCSS;\n }\n\n const brandOverrides = Object.entries(brandTokens)\n .map(([name, value]) => ` ${name}: ${value};`)\n .join('\\n');\n\n return `${baseCSS}\\n\\n/* Brand token overrides */\\n:host {\\n${brandOverrides}\\n}`;\n}\n","import { html, type PropertyValues } from 'lit';\nimport '../../utilities/document-token-adoption.js';\nimport { customElement, property } from 'lit/decorators.js';\nimport { HelixElement } from '../../base/index.js';\nimport { tokenEntries, darkTokenEntries, HelixBrandRegistry } from '@helixui/tokens';\nimport { helixThemeStyles } from './hx-theme.styles.js';\nimport { mergeBrandTokens } from '../../utils/token-merger.js';\n\nexport type { TokenDefinition, TokenEntry } from '@helixui/tokens';\n\n/**\n * Controls the spacing density for all descendant `hx-*` components.\n * - `\"comfortable\"` (default): Standard spacing tokens.\n * - `\"compact\"`: Reduces `--hx-space-*` tokens ~25%. For data-dense clinical dashboards.\n * - `\"spacious\"`: Increases `--hx-space-*` tokens ~25%. For touch-optimized bedside tablets.\n */\nexport type DensityMode = 'comfortable' | 'compact' | 'spacious';\n\n/**\n * Controls the motion behavior applied to all descendant `hx-*` components.\n * - `\"full\"` (default): Full animations. Respects OS `prefers-reduced-motion`.\n * - `\"reduced\"`: Collapses all animation durations to 0ms and easings to linear.\n * - `\"none\"`: Same as `\"reduced\"` — all motion tokens resolve to instant/linear.\n */\nexport type MotionMode = 'full' | 'reduced' | 'none';\n\n/**\n * Supported theme names.\n *\n * Three-tier token cascade applied by this component:\n * - **Primitive tier** (`--hx-color-primary-500`, `--hx-space-4`, etc.) — raw values, always injected\n * - **Semantic tier** (`--hx-color-text-primary`, `--hx-color-surface-default`, etc.) — theme-sensitive,\n * override primitives for dark / high-contrast themes\n * - **Component tier** (`--hx-button-bg`, `--hx-card-padding`, etc.) — set by individual components,\n * consumed via semantic fallbacks; not managed by `hx-theme` directly\n *\n * Consumers should override at the semantic tier to respect theme scoping.\n */\nexport type ThemeName = 'light' | 'dark' | 'high-contrast' | 'auto';\n\n/**\n * High-contrast token overrides. Targets WCAG 7:1+ contrast ratios for low-vision users.\n * These are injected on top of the light primitives when theme=\"high-contrast\".\n * Values here mirror the `high-contrast` section of tokens.json; kept in sync manually\n * until HC tokens are promoted to the published @helixui/tokens package.\n */\nconst _hcOverrides: Array<[string, string]> = [\n ['--hx-color-text-primary', '#FFFFFF'],\n ['--hx-color-text-secondary', '#FFFFFF'],\n ['--hx-color-text-muted', '#E0E0E0'],\n ['--hx-color-text-strong', '#FFFFFF'],\n ['--hx-color-text-placeholder', '#B0B0B0'],\n ['--hx-color-text-disabled', '#767676'],\n ['--hx-color-text-inverse', '#000000'],\n ['--hx-color-text-on-primary', '#000000'],\n ['--hx-color-text-on-secondary', '#000000'],\n ['--hx-color-text-on-error', '#000000'],\n ['--hx-color-text-on-success', '#000000'],\n ['--hx-color-text-on-warning', '#000000'],\n ['--hx-color-text-on-info', '#000000'],\n ['--hx-color-error-text', '#FCA5A5'],\n ['--hx-color-success-text', '#86EFAC'],\n ['--hx-color-text-link', '#FFFF00'],\n ['--hx-color-text-link-hover', '#FFFF99'],\n ['--hx-color-text-link-visited', '#FF80FF'],\n ['--hx-color-text-link-active', '#FFFFFF'],\n ['--hx-color-surface-default', '#000000'],\n ['--hx-color-surface-raised', '#1A1A1A'],\n ['--hx-color-surface-sunken', '#000000'],\n ['--hx-color-surface-inverse', '#FFFFFF'],\n ['--hx-color-surface-overlay', 'rgba(0, 0, 0, 0.95)'],\n ['--hx-color-border-default', '#FFFFFF'],\n ['--hx-color-border-subtle', '#C0C0C0'],\n ['--hx-color-border-strong', '#FFFFFF'],\n ['--hx-color-border-focus', '#FFFF00'],\n ['--hx-color-focus-ring', '#FFFF00'],\n ['--hx-color-selection-bg', '#1AEBFF'],\n ['--hx-color-selection-color', '#000000'],\n ['--hx-body-bg', '#000000'],\n ['--hx-body-color', '#FFFFFF'],\n ['--hx-shadow-sm', '0 1px 2px 0 rgb(255 255 255 / 0.2)'],\n [\n '--hx-shadow-md',\n '0 4px 6px -1px rgb(255 255 255 / 0.3), 0 2px 4px -2px rgb(255 255 255 / 0.2)',\n ],\n [\n '--hx-shadow-lg',\n '0 10px 15px -3px rgb(255 255 255 / 0.3), 0 4px 6px -4px rgb(255 255 255 / 0.2)',\n ],\n [\n '--hx-shadow-xl',\n '0 20px 25px -5px rgb(255 255 255 / 0.3), 0 8px 10px -6px rgb(255 255 255 / 0.2)',\n ],\n ['--hx-shadow-2xl', '0 25px 50px -12px rgb(255 255 255 / 0.4)'],\n];\n\n/**\n * Compact density overrides: ~75% of original --hx-space-* values.\n * Fixed tokens (--hx-space-0 and --hx-space-px) are intentionally omitted — they stay fixed.\n * Component height tokens are reduced one step to match the tighter spacing.\n */\nconst _compactDensityOverrides: Array<[string, string]> = [\n ['--hx-space-1', '0.1875rem'],\n ['--hx-space-2', '0.375rem'],\n ['--hx-space-3', '0.5625rem'],\n ['--hx-space-4', '0.75rem'],\n ['--hx-space-5', '0.9375rem'],\n ['--hx-space-6', '1.125rem'],\n ['--hx-space-7', '1.3125rem'],\n ['--hx-space-8', '1.5rem'],\n ['--hx-space-10', '1.875rem'],\n ['--hx-space-12', '2.25rem'],\n ['--hx-space-14', '2.625rem'],\n ['--hx-space-16', '3rem'],\n ['--hx-space-20', '3.75rem'],\n ['--hx-space-24', '4.5rem'],\n ['--hx-space-32', '6rem'],\n ['--hx-space-40', '7.5rem'],\n ['--hx-space-48', '9rem'],\n ['--hx-space-64', '12rem'],\n // Component heights — one step smaller\n ['--hx-input-height-sm', '1.75rem'],\n ['--hx-input-height-md', '2rem'],\n ['--hx-input-height-lg', '2.25rem'],\n];\n\n/**\n * Spacious density overrides: ~125% of original --hx-space-* values.\n * Fixed tokens (--hx-space-0 and --hx-space-px) are intentionally omitted — they stay fixed.\n * Component height tokens are increased one step to match the looser spacing.\n */\nconst _spaciousDensityOverrides: Array<[string, string]> = [\n ['--hx-space-1', '0.3125rem'],\n ['--hx-space-2', '0.625rem'],\n ['--hx-space-3', '0.9375rem'],\n ['--hx-space-4', '1.25rem'],\n ['--hx-space-5', '1.5625rem'],\n ['--hx-space-6', '1.875rem'],\n ['--hx-space-7', '2.1875rem'],\n ['--hx-space-8', '2.5rem'],\n ['--hx-space-10', '3.125rem'],\n ['--hx-space-12', '3.75rem'],\n ['--hx-space-14', '4.375rem'],\n ['--hx-space-16', '5rem'],\n ['--hx-space-20', '6.25rem'],\n ['--hx-space-24', '7.5rem'],\n ['--hx-space-32', '10rem'],\n ['--hx-space-40', '12.5rem'],\n ['--hx-space-48', '15rem'],\n ['--hx-space-64', '20rem'],\n // Component heights — one step larger\n ['--hx-input-height-sm', '2.25rem'],\n ['--hx-input-height-md', '2.75rem'],\n ['--hx-input-height-lg', '3.5rem'],\n];\n\n/**\n * Motion token overrides applied when reduced or no motion is requested.\n * All durations collapse to 0ms and all easings become linear so that\n * every animated component goes instantaneous without modifying its own CSS.\n */\nconst _reducedMotionOverrides: Array<[string, string]> = [\n ['--hx-duration-fast', '0ms'],\n ['--hx-duration-normal', '0ms'],\n ['--hx-duration-slow', '0ms'],\n ['--hx-duration-slower', '0ms'],\n ['--hx-duration-spinner', '0ms'],\n ['--hx-transition-fast', '0ms linear'],\n ['--hx-transition-normal', '0ms linear'],\n ['--hx-transition-slow', '0ms linear'],\n ['--hx-easing-default', 'linear'],\n ['--hx-easing-in', 'linear'],\n ['--hx-easing-out', 'linear'],\n ['--hx-easing-in-out', 'linear'],\n ['--hx-easing-decelerate', 'linear'],\n ['--hx-easing-accelerate', 'linear'],\n ['--hx-easing-spring', 'linear'],\n];\n\nfunction _buildProps(entries: Iterable<[string, string]>): string {\n return Array.from(entries)\n .map(([name, value]) => ` ${name}: ${value};`)\n .join('\\n');\n}\n\n/** Module-level CSS cache: one string per ThemeName — avoids re-building on every theme change */\nconst _cssCache = new Map<ThemeName, string>();\n\nfunction _buildThemeCss(theme: ThemeName): string {\n const cached = _cssCache.get(theme);\n if (cached) return cached;\n\n // Build light token base map from the @helixui/tokens package\n const lightMap = new Map(tokenEntries.map((t) => [t.name, t.value]));\n\n let css: string;\n if (theme === 'dark') {\n // Apply dark semantic overrides on top of light primitives\n const merged = new Map(lightMap);\n for (const t of darkTokenEntries) {\n merged.set(t.name, t.value);\n }\n css = `:host {\\n${_buildProps(merged)}\\n color-scheme: dark;\\n}`;\n } else if (theme === 'high-contrast') {\n // Apply HC overrides on top of light primitives — distinct WCAG 7:1+ token set\n const merged = new Map(lightMap);\n for (const [name, value] of _hcOverrides) {\n merged.set(name, value);\n }\n css = `:host {\\n${_buildProps(merged)}\\n color-scheme: dark;\\n}`;\n } else {\n // 'light' — 'auto' resolves to 'light' or 'dark' at runtime via effectiveTheme\n css = `:host {\\n${_buildProps(lightMap)}\\n color-scheme: light;\\n}`;\n }\n\n _cssCache.set(theme, css);\n return css;\n}\n\n/**\n * A theme provider that injects CSS custom property tokens for a named theme\n * onto a scoped root element. Wrapping content with this component scopes\n * all `--hx-*` design tokens to the selected theme.\n *\n * This is a pure infrastructure component with `display: contents` — it does\n * not affect layout. Use it to apply a theme to a subtree of components.\n *\n * Supported themes:\n * - `\"light\"` — standard light-mode token set (default)\n * - `\"dark\"` — dark-mode semantic overrides applied on top of light primitives\n * - `\"high-contrast\"` — WCAG 7:1+ contrast token set for low-vision accessibility\n * - `\"auto\"` — follows the OS `prefers-color-scheme` media query (light or dark)\n *\n * @summary Injects --hx-* design tokens for the specified theme scope and controls motion behavior.\n *\n * @tag hx-theme\n *\n * @slot - Default slot for themed content.\n *\n * @csspart base - The inner slot wrapper element. `display: contents` — no layout effect.\n *\n * @cssprop [--hx-*] - All design tokens for the selected theme are injected\n * as CSS custom properties on the host element.\n *\n * @example Drupal Twig — wrap a region with a dark theme:\n * ```twig\n * <hx-theme theme=\"dark\">\n * {{ content }}\n * </hx-theme>\n * ```\n *\n * @example Nested scoping — dark sidebar inside a light page:\n * ```html\n * <hx-theme theme=\"light\">\n * <main>...</main>\n * <hx-theme theme=\"dark\">\n * <aside>...</aside>\n * </hx-theme>\n * </hx-theme>\n * ```\n *\n * @example Compact density for clinical dashboards:\n * ```html\n * <hx-theme theme=\"dark\" density=\"compact\">\n * <!-- Clinical dashboard content -->\n * </hx-theme>\n * ```\n * @cssprop [--hx-color-text-primary] - Color.\n * @cssprop [--hx-space-4] - Spacing token.\n * @cssprop [--hx-duration-fast] - Animation duration.\n */\n@customElement('hx-theme')\nexport class HelixTheme extends HelixElement {\n static override styles = [helixThemeStyles];\n\n /**\n * The theme to apply. Determines which set of --hx-* tokens are injected.\n * - `\"light\"` (default): standard light-mode tokens\n * - `\"dark\"`: dark-mode semantic overrides applied on top of light primitives\n * - `\"high-contrast\"`: WCAG 7:1+ contrast tokens for low-vision users\n * - `\"auto\"`: follows OS `prefers-color-scheme`; resolves to `\"light\"` or `\"dark\"` at runtime\n * @attr theme\n */\n @property({ type: String, reflect: true })\n theme: 'light' | 'dark' | 'high-contrast' | 'auto' = 'light';\n\n // The deprecated `system` boolean property has been removed in 3.0.0.\n // Use `theme=\"auto\"` instead.\n\n /**\n * The registered brand name to apply on top of the base theme.\n * When set, brand-specific CSS custom property overrides are merged\n * after the base theme tokens in the adopted stylesheet, enabling\n * hospital system white-label implementations.\n *\n * The brand must first be registered via `HelixBrandRegistry.register()`.\n * If the brand name is non-empty but not registered, a warning is logged\n * and the base theme is applied without brand overrides.\n *\n * @attr brand\n * @example\n * ```html\n * <hx-theme theme=\"light\" brand=\"mercy-health\">\n * <!-- Content inherits Mercy Health brand tokens -->\n * </hx-theme>\n * ```\n */\n @property({ type: String, reflect: true })\n brand = '';\n\n /**\n * Controls motion behavior for all descendant `hx-*` components.\n * - `\"full\"` (default): Full animations. Respects OS `prefers-reduced-motion`.\n * - `\"reduced\"`: Collapses all animation durations to 0ms and easings to linear.\n * Use this for devices where OS accessibility settings cannot be relied on\n * (e.g. healthcare bedside terminals).\n * - `\"none\"`: Same as `\"reduced\"` — all motion tokens resolve to instant/linear.\n *\n * When `motion=\"full\"` and the OS reports `prefers-reduced-motion: reduce`,\n * the same token overrides are applied automatically.\n * @attr motion\n */\n @property({ type: String, reflect: true })\n motion: MotionMode = 'full';\n\n /**\n * Controls the spacing density for all descendant `hx-*` components.\n * - `\"comfortable\"` (default): Standard spacing tokens.\n * - `\"compact\"`: Reduces `--hx-space-*` tokens ~25%. For data-dense clinical dashboards.\n * - `\"spacious\"`: Increases `--hx-space-*` tokens ~25%. For touch-optimized bedside tablets.\n * @attr density\n */\n @property({ type: String, reflect: true })\n density: DensityMode = 'comfortable';\n\n /** @internal */\n private _mediaQuery: MediaQueryList | null = null;\n /** @internal */\n private _mediaHandler: (() => void) | null = null;\n /** @internal */\n private _themeSheet: CSSStyleSheet | null = null;\n /** @internal */\n private _densitySheet: CSSStyleSheet | null = null;\n /** @internal — media query for OS prefers-reduced-motion */\n private _motionQuery: MediaQueryList | null = null;\n /** @internal */\n private _motionHandler: (() => void) | null = null;\n\n override firstUpdated(changed: PropertyValues<this>): void {\n super.firstUpdated(changed);\n this._initThemeSheet();\n if (this.theme === 'auto') {\n this._attachMediaQuery();\n }\n if (this.motion === 'full') {\n this._attachMotionQuery();\n }\n }\n\n override updated(changed: PropertyValues<this>): void {\n super.updated(changed);\n const autoMode = this.theme === 'auto';\n if (changed.has('theme')) {\n if (autoMode) {\n this._attachMediaQuery();\n } else {\n this._detachMediaQuery();\n }\n this._applyEffectiveTheme();\n }\n if (changed.has('motion')) {\n if (this.motion === 'full') {\n this._attachMotionQuery();\n } else {\n this._detachMotionQuery();\n }\n this._applyEffectiveTheme();\n }\n if (changed.has('brand')) {\n this._applyEffectiveTheme();\n }\n if (changed.has('density')) {\n this._applyDensity();\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this._detachMediaQuery();\n this._detachMotionQuery();\n }\n\n /**\n * Returns the currently active theme name.\n * When `system=true` or `theme=\"auto\"`, reflects the OS preference (`\"light\"` or `\"dark\"`).\n * Otherwise returns the `theme` property value.\n */\n get effectiveTheme(): 'light' | 'dark' | 'high-contrast' | 'auto' {\n if (this.theme === 'auto') {\n if (typeof window === 'undefined') return 'light';\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n return this.theme;\n }\n\n /**\n * Returns the resolved motion level after considering the `motion` attribute and OS preference.\n * When `motion=\"full\"` and the OS reports `prefers-reduced-motion: reduce`, returns `\"reduced\"`.\n * Otherwise returns `\"full\"` or `\"reduced\"` based on the `motion` attribute.\n */\n get effectiveMotion(): 'full' | 'reduced' {\n if (this.motion === 'reduced' || this.motion === 'none') return 'reduced';\n if (\n typeof window !== 'undefined' &&\n window.matchMedia('(prefers-reduced-motion: reduce)').matches\n ) {\n return 'reduced';\n }\n return 'full';\n }\n\n /** @internal */\n private _initThemeSheet(): void {\n if (this.shadowRoot) {\n this._themeSheet = new CSSStyleSheet();\n this._densitySheet = new CSSStyleSheet();\n this.shadowRoot.adoptedStyleSheets = [\n ...this.shadowRoot.adoptedStyleSheets,\n this._themeSheet,\n this._densitySheet,\n ];\n this._applyEffectiveTheme();\n this._applyDensity();\n }\n }\n\n /** @internal */\n private _attachMediaQuery(): void {\n if (this._mediaQuery || typeof window === 'undefined') return;\n this._mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');\n this._mediaHandler = () => {\n this._applyEffectiveTheme();\n this._announceThemeChange();\n };\n this._mediaQuery.addEventListener('change', this._mediaHandler);\n }\n\n /** @internal */\n private _detachMediaQuery(): void {\n if (this._mediaQuery && this._mediaHandler) {\n this._mediaQuery.removeEventListener('change', this._mediaHandler);\n }\n this._mediaQuery = null;\n this._mediaHandler = null;\n }\n\n /** @internal — attach OS prefers-reduced-motion listener when motion=\"full\" */\n private _attachMotionQuery(): void {\n if (this._motionQuery || typeof window === 'undefined') return;\n this._motionQuery = window.matchMedia('(prefers-reduced-motion: reduce)');\n this._motionHandler = () => {\n this._applyEffectiveTheme();\n };\n this._motionQuery.addEventListener('change', this._motionHandler);\n }\n\n /** @internal */\n private _detachMotionQuery(): void {\n if (this._motionQuery && this._motionHandler) {\n this._motionQuery.removeEventListener('change', this._motionHandler);\n }\n this._motionQuery = null;\n this._motionHandler = null;\n }\n\n /** @internal — notifies AT users when system theme changes programmatically */\n private _announceThemeChange(): void {\n const announcer = this.shadowRoot?.querySelector('[role=\"status\"]');\n if (announcer) {\n announcer.textContent = `Theme changed to ${this.effectiveTheme}`;\n }\n }\n\n /** @internal */\n private _applyEffectiveTheme(): void {\n if (!this._themeSheet) return;\n\n let css = _buildThemeCss(this.effectiveTheme);\n\n if (this.brand !== '') {\n const brandTokens = HelixBrandRegistry.getBrandTokens(this.brand);\n if (brandTokens !== undefined) {\n css = mergeBrandTokens(css, brandTokens);\n } else {\n console.warn(\n `[hx-theme] Brand \"${this.brand}\" is not registered. ` +\n `Register it via HelixBrandRegistry.register() before use. ` +\n `Applying base theme only.`,\n );\n }\n }\n\n if (this.effectiveMotion === 'reduced') {\n css += `\\n:host {\\n${_buildProps(_reducedMotionOverrides)}\\n}`;\n }\n\n void this._themeSheet.replace(css);\n }\n\n /** @internal */\n private _applyDensity(): void {\n if (!this._densitySheet) return;\n\n let css = '';\n if (this.density === 'compact') {\n css = `:host {\\n${_buildProps(_compactDensityOverrides)}\\n}`;\n } else if (this.density === 'spacious') {\n css = `:host {\\n${_buildProps(_spaciousDensityOverrides)}\\n}`;\n }\n // comfortable = no overrides needed (defaults from theme sheet)\n\n void this._densitySheet.replace(css);\n }\n\n override render() {\n return html`\n <div part=\"base\" class=\"theme-base\">\n <slot></slot>\n </div>\n <span role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" class=\"visually-hidden\"></span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-theme': HelixTheme;\n }\n}\n\n/** Canonical type alias for HelixTheme. Use this when typing hx-theme element references. */\nexport type HxTheme = HelixTheme;\n"],"names":["helixThemeStyles","css","mergeBrandTokens","baseCSS","brandTokens","brandOverrides","name","value","_hcOverrides","_compactDensityOverrides","_spaciousDensityOverrides","_reducedMotionOverrides","_buildProps","entries","_cssCache","_buildThemeCss","theme","cached","lightMap","tokenEntries","t","merged","darkTokenEntries","HelixTheme","HelixElement","changed","autoMode","announcer","_a","HelixBrandRegistry","html","__decorateClass","property","customElement"],"mappings":"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"}
@@ -2,12 +2,13 @@ import { css as C, nothing as _, html as x } from "lit";
2
2
  import { property as h, state as p, query as w, customElement as E } from "lit/decorators.js";
3
3
  import { F as L } from "./FormMixin-B8PXk5RQ.js";
4
4
  import { classMap as I } from "lit/directives/class-map.js";
5
- import { ifDefined as b } from "lit/directives/if-defined.js";
5
+ import { ifDefined as v } from "lit/directives/if-defined.js";
6
6
  import { live as D } from "lit/directives/live.js";
7
7
  import { repeat as M } from "lit/directives/repeat.js";
8
- import { H } from "./helix-element-BNEYeiys.js";
9
- import { c as O } from "./id-counter-DuX8vsui.js";
10
- const V = C`
8
+ import { b as H } from "./forced-colors-CTEDFRGa.js";
9
+ import { H as O } from "./helix-element-BNEYeiys.js";
10
+ import { c as V } from "./id-counter-DuX8vsui.js";
11
+ const A = C`
11
12
  :host {
12
13
  display: block;
13
14
  position: relative;
@@ -31,11 +32,11 @@ const V = C`
31
32
  gap: var(--hx-space-1, 0.25rem);
32
33
  font-size: var(--hx-font-size-sm, 0.875rem);
33
34
  font-weight: var(--hx-font-weight-medium, 500);
34
- color: var(--hx-time-picker-label-color, var(--hx-color-neutral-700));
35
+ color: var(--hx-time-picker-label-color, var(--hx-color-text-strong, #202b39));
35
36
  line-height: var(--hx-line-height-normal, 1.5);
36
37
  }
37
38
  .field__required-marker {
38
- color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #b91c1c));
39
+ color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #c92a2a));
39
40
  font-weight: var(--hx-font-weight-bold, 700);
40
41
  }
41
42
  .field__combobox {
@@ -43,9 +44,9 @@ const V = C`
43
44
  display: flex;
44
45
  align-items: center;
45
46
  border: var(--hx-border-width-thin, 1px) solid
46
- var(--hx-time-picker-border-color, var(--hx-color-neutral-300));
47
+ var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
47
48
  border-radius: var(--hx-time-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
48
- background-color: var(--hx-time-picker-bg, var(--hx-color-neutral-0));
49
+ background-color: var(--hx-time-picker-bg, var(--hx-color-surface-default, #ffffff));
49
50
  transition:
50
51
  border-color var(--hx-transition-fast, 150ms ease),
51
52
  box-shadow var(--hx-transition-fast, 150ms ease);
@@ -62,14 +63,14 @@ const V = C`
62
63
  );
63
64
  }
64
65
  .field--error .field__combobox {
65
- border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500));
66
+ border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500, #e5493e));
66
67
  }
67
68
  .field--error .field__combobox:focus-within {
68
- border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500));
69
+ border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500, #e5493e));
69
70
  box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
70
71
  color-mix(
71
72
  in srgb,
72
- var(--hx-time-picker-error-color, var(--hx-color-error-500))
73
+ var(--hx-time-picker-error-color, var(--hx-color-error-500, #e5493e))
73
74
  calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
74
75
  transparent
75
76
  );
@@ -82,14 +83,14 @@ const V = C`
82
83
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
83
84
  font-family: inherit;
84
85
  font-size: var(--hx-font-size-md, 1rem);
85
- color: var(--hx-time-picker-color, var(--hx-color-neutral-800));
86
+ color: var(--hx-time-picker-color, var(--hx-color-text-strong, #202b39));
86
87
  line-height: var(--hx-line-height-normal, 1.5);
87
88
  min-height: var(--hx-size-10, 2.5rem);
88
89
  width: 100%;
89
90
  cursor: text;
90
91
  }
91
92
  .field__input::placeholder {
92
- color: var(--hx-color-neutral-400);
93
+ color: var(--hx-color-text-placeholder, #66787b);
93
94
  }
94
95
  .field__input:disabled {
95
96
  cursor: not-allowed;
@@ -101,13 +102,13 @@ const V = C`
101
102
  border: none;
102
103
  background: transparent;
103
104
  padding: 0 var(--hx-space-3, 0.75rem);
104
- color: var(--hx-time-picker-chevron-color, var(--hx-color-neutral-500));
105
+ color: var(--hx-time-picker-chevron-color, var(--hx-color-text-muted, #4a5362));
105
106
  cursor: pointer;
106
107
  height: 100%;
107
108
  min-height: var(--hx-size-10, 2.5rem);
108
109
  flex-shrink: 0;
109
110
  border-inline-start: var(--hx-border-width-thin, 1px) solid
110
- var(--hx-time-picker-border-color, var(--hx-color-neutral-300));
111
+ var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
111
112
  }
112
113
  .field__toggle:focus-visible {
113
114
  outline: var(--hx-focus-ring-width, 2px) solid
@@ -121,9 +122,9 @@ const V = C`
121
122
  inset-inline-start: 0;
122
123
  inset-inline-end: 0;
123
124
  z-index: var(--hx-z-index-dropdown, 1000);
124
- background-color: var(--hx-time-picker-listbox-bg, var(--hx-color-neutral-0));
125
+ background-color: var(--hx-time-picker-listbox-bg, var(--hx-color-surface-default, #ffffff));
125
126
  border: var(--hx-border-width-thin, 1px) solid
126
- var(--hx-time-picker-border-color, var(--hx-color-neutral-300));
127
+ var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
127
128
  border-radius: var(--hx-time-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
128
129
  box-shadow: var(
129
130
  --hx-time-picker-listbox-shadow,
@@ -156,23 +157,29 @@ const V = C`
156
157
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
157
158
  font-size: var(--hx-font-size-md, 1rem);
158
159
  font-family: inherit;
159
- color: var(--hx-time-picker-option-color, var(--hx-color-neutral-800));
160
+ color: var(--hx-time-picker-option-color, var(--hx-color-text-strong, #202b39));
160
161
  cursor: pointer;
161
162
  transition: background-color var(--hx-transition-fast, 150ms ease);
162
163
  line-height: var(--hx-line-height-normal, 1.5);
163
164
  }
164
165
  .field__option:hover,
165
166
  .field__option--active {
166
- background-color: var(--hx-time-picker-option-hover-bg, var(--hx-color-primary-50));
167
- color: var(--hx-time-picker-option-hover-color, var(--hx-color-primary-700));
167
+ background-color: var(--hx-time-picker-option-hover-bg, var(--hx-color-primary-50, #ebf8f8));
168
+ color: var(--hx-time-picker-option-hover-color, var(--hx-color-primary-700, #0f6363));
168
169
  }
169
170
  .field__option--selected {
170
- background-color: var(--hx-time-picker-option-selected-bg, var(--hx-color-primary-100));
171
- color: var(--hx-time-picker-option-selected-color, var(--hx-color-primary-800));
171
+ background-color: var(
172
+ --hx-time-picker-option-selected-bg,
173
+ var(--hx-color-primary-100, #dbf0f0)
174
+ );
175
+ color: var(--hx-time-picker-option-selected-color, var(--hx-color-primary-800, #07494a));
172
176
  font-weight: var(--hx-font-weight-medium, 500);
173
177
  }
174
178
  .field__option--selected.field__option--active {
175
- background-color: var(--hx-time-picker-option-selected-bg, var(--hx-color-primary-100));
179
+ background-color: var(
180
+ --hx-time-picker-option-selected-bg,
181
+ var(--hx-color-primary-100, #dbf0f0)
182
+ );
176
183
  }
177
184
  @media (prefers-reduced-motion: reduce) {
178
185
  .field__combobox,
@@ -186,10 +193,10 @@ const V = C`
186
193
  line-height: var(--hx-line-height-normal, 1.5);
187
194
  }
188
195
  .field__help-text {
189
- color: var(--hx-color-neutral-500);
196
+ color: var(--hx-color-text-muted, #4a5362);
190
197
  }
191
198
  .field__error {
192
- color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #b91c1c));
199
+ color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #c92a2a));
193
200
  }
194
201
  @media (forced-colors: active) {
195
202
  .field__combobox {
@@ -233,10 +240,10 @@ const V = C`
233
240
  }
234
241
  }
235
242
  `;
236
- var A = Object.defineProperty, T = Object.getOwnPropertyDescriptor, l = (e, t, o, i) => {
237
- for (var r = i > 1 ? void 0 : i ? T(t, o) : t, a = e.length - 1, n; a >= 0; a--)
243
+ var T = Object.defineProperty, P = Object.getOwnPropertyDescriptor, l = (e, t, o, i) => {
244
+ for (var r = i > 1 ? void 0 : i ? P(t, o) : t, a = e.length - 1, n; a >= 0; a--)
238
245
  (n = e[a]) && (r = (i ? n(t, o, r) : n(r)) || r);
239
- return i && r && A(t, o, r), r;
246
+ return i && r && T(t, o, r), r;
240
247
  };
241
248
  function d(e) {
242
249
  const t = /^(\d{1,2}):(\d{2})$/.exec(e.trim());
@@ -244,7 +251,7 @@ function d(e) {
244
251
  const o = parseInt(t[1] ?? "0", 10), i = parseInt(t[2] ?? "0", 10);
245
252
  return o < 0 || o > 23 || i < 0 || i > 59 ? null : { hours: o, minutes: i };
246
253
  }
247
- function m(e, t) {
254
+ function f(e, t) {
248
255
  return `${String(e).padStart(2, "0")}:${String(t).padStart(2, "0")}`;
249
256
  }
250
257
  function k(e) {
@@ -253,39 +260,39 @@ function k(e) {
253
260
  const { hours: o, minutes: i } = t, r = o < 12 ? "AM" : "PM", a = o % 12 === 0 ? 12 : o % 12;
254
261
  return `${String(a).padStart(2, "0")}:${String(i).padStart(2, "0")} ${r}`;
255
262
  }
256
- function P(e, t, o, i) {
257
- const r = d(e) ?? { hours: 0, minutes: 0 }, a = d(t) ?? { hours: 23, minutes: 59 }, n = r.hours * 60 + r.minutes, c = a.hours * 60 + a.minutes, u = Math.max(1, Math.round(o)), f = [];
258
- for (let v = n; v <= c; v += u) {
259
- const $ = Math.floor(v / 60) % 24, S = v % 60, g = m($, S);
260
- f.push({
263
+ function q(e, t, o, i) {
264
+ const r = d(e) ?? { hours: 0, minutes: 0 }, a = d(t) ?? { hours: 23, minutes: 59 }, n = r.hours * 60 + r.minutes, c = a.hours * 60 + a.minutes, u = Math.max(1, Math.round(o)), m = [];
265
+ for (let b = n; b <= c; b += u) {
266
+ const $ = Math.floor(b / 60) % 24, S = b % 60, g = f($, S);
267
+ m.push({
261
268
  value: g,
262
269
  label: i === "12h" ? k(g) : g
263
270
  });
264
271
  }
265
- return f;
272
+ return m;
266
273
  }
267
274
  function y(e, t, o) {
268
275
  if (!e) return "";
269
276
  const i = d(e);
270
277
  if (!i) return "";
271
278
  const r = i.hours * 60 + i.minutes, a = d(t) ?? { hours: 0, minutes: 0 }, n = d(o) ?? { hours: 23, minutes: 59 }, c = a.hours * 60 + a.minutes, u = n.hours * 60 + n.minutes;
272
- return r < c ? m(a.hours, a.minutes) : r > u ? m(n.hours, n.minutes) : m(i.hours, i.minutes);
279
+ return r < c ? f(a.hours, a.minutes) : r > u ? f(n.hours, n.minutes) : f(i.hours, i.minutes);
273
280
  }
274
- function q(e) {
281
+ function z(e) {
275
282
  const t = e.trim().toUpperCase(), o = d(t);
276
- if (o) return m(o.hours, o.minutes);
283
+ if (o) return f(o.hours, o.minutes);
277
284
  const i = /^(\d{1,2})(?::(\d{2}))?\s*(AM|PM)$/.exec(t) ?? /^(\d{1,2})(\d{2})\s*(AM|PM)$/.exec(t);
278
285
  if (i) {
279
286
  let r = parseInt(i[1] ?? "0", 10);
280
287
  const a = i[2] !== void 0 ? parseInt(i[2], 10) : 0, n = i[3] ?? "";
281
- return r < 1 || r > 12 || a < 0 || a > 59 ? null : (n === "AM" ? r = r === 12 ? 0 : r : r = r === 12 ? 12 : r + 12, m(r, a));
288
+ return r < 1 || r > 12 || a < 0 || a > 59 ? null : (n === "AM" ? r = r === 12 ? 0 : r : r = r === 12 ? 12 : r + 12, f(r, a));
282
289
  }
283
290
  return null;
284
291
  }
285
- const z = O("hx-time-picker");
286
- let s = class extends L(H) {
292
+ const F = V("hx-time-picker");
293
+ let s = class extends L(O) {
287
294
  constructor() {
288
- super(...arguments), this.name = "", this.value = "", this.min = "00:00", this.max = "23:59", this.step = 30, this.label = "", this.required = !1, this.disabled = !1, this.error = "", this.format = "12h", this._open = !1, this._activeIndex = -1, this._inputDisplayValue = "", this._hasLabelSlot = !1, this._hasErrorSlot = !1, this._hasHelpSlot = !1, this._slottedLabelId = "", this._id = z(), this._listboxId = `${this._id}-listbox`, this._errorId = `${this._id}-error`, this._helpId = `${this._id}-help`, this._cachedSlots = null, this._slotsKey = "", this._handleOutsideClick = (e) => {
295
+ super(...arguments), this.name = "", this.value = "", this.min = "00:00", this.max = "23:59", this.step = 30, this.label = "", this.required = !1, this.disabled = !1, this.error = "", this.format = "12h", this._open = !1, this._activeIndex = -1, this._inputDisplayValue = "", this._hasLabelSlot = !1, this._hasErrorSlot = !1, this._hasHelpSlot = !1, this._slottedLabelId = "", this._id = F(), this._listboxId = `${this._id}-listbox`, this._errorId = `${this._id}-error`, this._helpId = `${this._id}-help`, this._cachedSlots = null, this._slotsKey = "", this._handleOutsideClick = (e) => {
289
296
  var t;
290
297
  this.isConnected && !this.contains(e.target) && !((t = this.shadowRoot) != null && t.contains(e.target)) && this._closeListbox();
291
298
  };
@@ -296,7 +303,7 @@ let s = class extends L(H) {
296
303
  */
297
304
  get _slots() {
298
305
  const e = `${this.min}|${this.max}|${this.step}|${this.format}`;
299
- return (this._cachedSlots === null || e !== this._slotsKey) && (this._slotsKey = e, this._cachedSlots = P(this.min, this.max, this.step, this.format)), this._cachedSlots;
306
+ return (this._cachedSlots === null || e !== this._slotsKey) && (this._slotsKey = e, this._cachedSlots = q(this.min, this.max, this.step, this.format)), this._cachedSlots;
300
307
  }
301
308
  // ─── Lifecycle ───
302
309
  connectedCallback() {
@@ -420,7 +427,7 @@ let s = class extends L(H) {
420
427
  this.value = "", this._handleInteractionInput(), this._handleInteractionBlur(), this._internals.setFormValue(null), this._dispatchChange("");
421
428
  return;
422
429
  }
423
- const i = q(o);
430
+ const i = z(o);
424
431
  if (i) {
425
432
  const r = y(i, this.min, this.max);
426
433
  this.value = r, this._handleInteractionInput(), this._handleInteractionBlur(), this._dispatchChange(r);
@@ -513,14 +520,14 @@ let s = class extends L(H) {
513
520
  placeholder=${r}
514
521
  ?required=${this.required}
515
522
  ?disabled=${this.disabled}
516
- name=${b(this.name || void 0)}
523
+ name=${v(this.name || void 0)}
517
524
  aria-autocomplete="list"
518
525
  aria-controls=${this._listboxId}
519
- aria-activedescendant=${b(i)}
526
+ aria-activedescendant=${v(i)}
520
527
  aria-invalid=${e ? "true" : _}
521
- aria-describedby=${b(a)}
528
+ aria-describedby=${v(a)}
522
529
  aria-required=${this.required ? "true" : _}
523
- aria-labelledby=${b(
530
+ aria-labelledby=${v(
524
531
  this._hasLabelSlot && this._slottedLabelId ? this._slottedLabelId : void 0
525
532
  )}
526
533
  @click=${this._handleInputClick}
@@ -572,14 +579,14 @@ let s = class extends L(H) {
572
579
  t,
573
580
  (n) => n.value,
574
581
  (n, c) => {
575
- const u = n.value === this.value, f = c === this._activeIndex;
582
+ const u = n.value === this.value, m = c === this._activeIndex;
576
583
  return x`
577
584
  <li
578
585
  part="option"
579
586
  class=${I({
580
587
  field__option: !0,
581
588
  "field__option--selected": u,
582
- "field__option--active": f
589
+ "field__option--active": m
583
590
  })}
584
591
  id="${this._listboxId}-option-${c}"
585
592
  role="option"
@@ -613,7 +620,7 @@ let s = class extends L(H) {
613
620
  `;
614
621
  }
615
622
  };
616
- s.styles = [V];
623
+ s.styles = [A, H];
617
624
  s.formAssociated = !0;
618
625
  l([
619
626
  h({ type: String, reflect: !0 })
@@ -678,4 +685,4 @@ s = l([
678
685
  export {
679
686
  s as H
680
687
  };
681
- //# sourceMappingURL=hx-time-picker-tPUfgElQ.js.map
688
+ //# sourceMappingURL=hx-time-picker-BoEIZwzv.js.map