@helixui/library 2.1.2 → 3.0.0

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 (818) hide show
  1. package/custom-elements.json +904 -1044
  2. package/dist/base/helix-element.d.ts +20 -8
  3. package/dist/base/helix-element.d.ts.map +1 -1
  4. package/dist/components/hx-accordion/hx-accordion-item.d.ts +7 -4
  5. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  6. package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts.map +1 -1
  7. package/dist/components/hx-accordion/hx-accordion.d.ts +3 -2
  8. package/dist/components/hx-accordion/hx-accordion.d.ts.map +1 -1
  9. package/dist/components/hx-accordion/hx-accordion.styles.d.ts.map +1 -1
  10. package/dist/components/hx-accordion/index.d.ts +1 -0
  11. package/dist/components/hx-accordion/index.d.ts.map +1 -1
  12. package/dist/components/hx-accordion/index.js +1 -1
  13. package/dist/components/hx-action-bar/hx-action-bar.d.ts +26 -14
  14. package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
  15. package/dist/components/hx-action-bar/hx-action-bar.styles.d.ts.map +1 -1
  16. package/dist/components/hx-action-bar/index.js +1 -1
  17. package/dist/components/hx-alert/hx-alert.d.ts +7 -2
  18. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  19. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  20. package/dist/components/hx-alert/index.d.ts +1 -0
  21. package/dist/components/hx-alert/index.d.ts.map +1 -1
  22. package/dist/components/hx-alert/index.js +1 -1
  23. package/dist/components/hx-avatar/hx-avatar.d.ts +3 -2
  24. package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -1
  25. package/dist/components/hx-avatar/index.js +1 -1
  26. package/dist/components/hx-badge/hx-badge.d.ts +2 -9
  27. package/dist/components/hx-badge/hx-badge.d.ts.map +1 -1
  28. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
  29. package/dist/components/hx-badge/index.d.ts +1 -1
  30. package/dist/components/hx-badge/index.d.ts.map +1 -1
  31. package/dist/components/hx-badge/index.js +1 -1
  32. package/dist/components/hx-banner/hx-banner.d.ts +3 -2
  33. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  34. package/dist/components/hx-banner/hx-banner.styles.d.ts.map +1 -1
  35. package/dist/components/hx-banner/index.js +1 -1
  36. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts +2 -2
  37. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
  38. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
  39. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +9 -19
  40. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
  41. package/dist/components/hx-breadcrumb/hx-breadcrumb.styles.d.ts.map +1 -1
  42. package/dist/components/hx-breadcrumb/index.js +1 -1
  43. package/dist/components/hx-button/hx-button.d.ts +31 -9
  44. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  45. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  46. package/dist/components/hx-button/index.d.ts +1 -0
  47. package/dist/components/hx-button/index.d.ts.map +1 -1
  48. package/dist/components/hx-button/index.js +1 -1
  49. package/dist/components/hx-button-group/hx-button-group.d.ts +4 -6
  50. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  51. package/dist/components/hx-button-group/hx-button-group.styles.d.ts.map +1 -1
  52. package/dist/components/hx-button-group/index.js +1 -1
  53. package/dist/components/hx-card/hx-card.d.ts +19 -2
  54. package/dist/components/hx-card/hx-card.d.ts.map +1 -1
  55. package/dist/components/hx-card/hx-card.styles.d.ts.map +1 -1
  56. package/dist/components/hx-card/index.js +1 -1
  57. package/dist/components/hx-carousel/hx-carousel-item.d.ts +2 -2
  58. package/dist/components/hx-carousel/hx-carousel-item.d.ts.map +1 -1
  59. package/dist/components/hx-carousel/hx-carousel-item.styles.d.ts.map +1 -1
  60. package/dist/components/hx-carousel/hx-carousel.d.ts +2 -2
  61. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
  62. package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -1
  63. package/dist/components/hx-carousel/index.js +1 -1
  64. package/dist/components/hx-checkbox/hx-checkbox.d.ts +52 -5
  65. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  66. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  67. package/dist/components/hx-checkbox/index.d.ts +1 -0
  68. package/dist/components/hx-checkbox/index.d.ts.map +1 -1
  69. package/dist/components/hx-checkbox/index.js +1 -1
  70. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +14 -20
  71. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  72. package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts.map +1 -1
  73. package/dist/components/hx-checkbox-group/index.d.ts +1 -0
  74. package/dist/components/hx-checkbox-group/index.d.ts.map +1 -1
  75. package/dist/components/hx-checkbox-group/index.js +1 -1
  76. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
  77. package/dist/components/hx-clinical-status/index.js +1 -1
  78. package/dist/components/hx-code-snippet/hx-code-snippet.d.ts +3 -2
  79. package/dist/components/hx-code-snippet/hx-code-snippet.d.ts.map +1 -1
  80. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
  81. package/dist/components/hx-code-snippet/index.js +1 -1
  82. package/dist/components/hx-color-picker/hx-color-picker.d.ts +12 -19
  83. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  84. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  85. package/dist/components/hx-color-picker/index.d.ts +1 -0
  86. package/dist/components/hx-color-picker/index.d.ts.map +1 -1
  87. package/dist/components/hx-color-picker/index.js +1 -1
  88. package/dist/components/hx-combobox/hx-combobox.d.ts +45 -22
  89. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  90. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
  91. package/dist/components/hx-combobox/index.d.ts +1 -0
  92. package/dist/components/hx-combobox/index.d.ts.map +1 -1
  93. package/dist/components/hx-combobox/index.js +1 -1
  94. package/dist/components/hx-container/hx-container.d.ts +2 -4
  95. package/dist/components/hx-container/hx-container.d.ts.map +1 -1
  96. package/dist/components/hx-container/hx-container.styles.d.ts.map +1 -1
  97. package/dist/components/hx-container/index.d.ts +0 -1
  98. package/dist/components/hx-container/index.d.ts.map +1 -1
  99. package/dist/components/hx-container/index.js +1 -1
  100. package/dist/components/hx-copy-button/hx-copy-button.d.ts +2 -2
  101. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
  102. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
  103. package/dist/components/hx-copy-button/index.js +1 -1
  104. package/dist/components/hx-counter/hx-counter.d.ts +23 -2
  105. package/dist/components/hx-counter/hx-counter.d.ts.map +1 -1
  106. package/dist/components/hx-counter/hx-counter.styles.d.ts.map +1 -1
  107. package/dist/components/hx-counter/index.js +1 -1
  108. package/dist/components/hx-data-table/hx-data-table.d.ts +46 -2
  109. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  110. package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -1
  111. package/dist/components/hx-data-table/index.d.ts +1 -0
  112. package/dist/components/hx-data-table/index.d.ts.map +1 -1
  113. package/dist/components/hx-data-table/index.js +1 -1
  114. package/dist/components/hx-date-picker/hx-date-picker.d.ts +35 -35
  115. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  116. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  117. package/dist/components/hx-date-picker/index.d.ts +1 -0
  118. package/dist/components/hx-date-picker/index.d.ts.map +1 -1
  119. package/dist/components/hx-date-picker/index.js +1 -1
  120. package/dist/components/hx-dialog/hx-dialog.d.ts +44 -5
  121. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  122. package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -1
  123. package/dist/components/hx-dialog/index.js +1 -1
  124. package/dist/components/hx-divider/hx-divider.d.ts +3 -4
  125. package/dist/components/hx-divider/hx-divider.d.ts.map +1 -1
  126. package/dist/components/hx-divider/hx-divider.styles.d.ts.map +1 -1
  127. package/dist/components/hx-divider/index.d.ts +0 -1
  128. package/dist/components/hx-divider/index.d.ts.map +1 -1
  129. package/dist/components/hx-divider/index.js +1 -1
  130. package/dist/components/hx-drawer/hx-drawer.d.ts +39 -2
  131. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  132. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  133. package/dist/components/hx-drawer/index.js +1 -1
  134. package/dist/components/hx-dropdown/hx-dropdown.d.ts +11 -7
  135. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  136. package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -1
  137. package/dist/components/hx-dropdown/index.js +1 -1
  138. package/dist/components/hx-field/hx-field.d.ts +4 -3
  139. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  140. package/dist/components/hx-field/hx-field.styles.d.ts.map +1 -1
  141. package/dist/components/hx-field/index.js +1 -1
  142. package/dist/components/hx-field-label/hx-field-label.d.ts +2 -2
  143. package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
  144. package/dist/components/hx-field-label/hx-field-label.styles.d.ts.map +1 -1
  145. package/dist/components/hx-field-label/index.js +1 -1
  146. package/dist/components/hx-file-upload/hx-file-upload.d.ts +38 -18
  147. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  148. package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -1
  149. package/dist/components/hx-file-upload/index.d.ts +1 -0
  150. package/dist/components/hx-file-upload/index.d.ts.map +1 -1
  151. package/dist/components/hx-file-upload/index.js +1 -1
  152. package/dist/components/hx-form/hx-form.d.ts +2 -2
  153. package/dist/components/hx-form/hx-form.d.ts.map +1 -1
  154. package/dist/components/hx-form/hx-form.styles.d.ts +8 -0
  155. package/dist/components/hx-form/hx-form.styles.d.ts.map +1 -1
  156. package/dist/components/hx-form/index.js +1 -1
  157. package/dist/components/hx-format-date/hx-format-date.d.ts +2 -2
  158. package/dist/components/hx-format-date/hx-format-date.d.ts.map +1 -1
  159. package/dist/components/hx-format-date/hx-format-date.styles.d.ts.map +1 -1
  160. package/dist/components/hx-format-date/index.js +1 -1
  161. package/dist/components/hx-grid/hx-grid.d.ts +4 -3
  162. package/dist/components/hx-grid/hx-grid.d.ts.map +1 -1
  163. package/dist/components/hx-grid/hx-grid.styles.d.ts.map +1 -1
  164. package/dist/components/hx-grid/index.js +1 -1
  165. package/dist/components/hx-help-text/hx-help-text.d.ts +2 -4
  166. package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
  167. package/dist/components/hx-help-text/hx-help-text.styles.d.ts.map +1 -1
  168. package/dist/components/hx-help-text/index.js +1 -1
  169. package/dist/components/hx-icon/hx-icon.d.ts +17 -2
  170. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
  171. package/dist/components/hx-icon/hx-icon.styles.d.ts.map +1 -1
  172. package/dist/components/hx-icon/index.js +1 -1
  173. package/dist/components/hx-icon-button/hx-icon-button.d.ts +10 -14
  174. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  175. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  176. package/dist/components/hx-icon-button/index.js +1 -1
  177. package/dist/components/hx-image/hx-image.d.ts +2 -2
  178. package/dist/components/hx-image/hx-image.d.ts.map +1 -1
  179. package/dist/components/hx-image/hx-image.styles.d.ts.map +1 -1
  180. package/dist/components/hx-image/index.js +1 -1
  181. package/dist/components/hx-link/hx-link.d.ts +4 -2
  182. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  183. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
  184. package/dist/components/hx-link/index.js +1 -1
  185. package/dist/components/hx-list/hx-list-item.d.ts +3 -2
  186. package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
  187. package/dist/components/hx-list/hx-list-item.styles.d.ts.map +1 -1
  188. package/dist/components/hx-list/hx-list.d.ts +3 -2
  189. package/dist/components/hx-list/hx-list.d.ts.map +1 -1
  190. package/dist/components/hx-list/hx-list.styles.d.ts.map +1 -1
  191. package/dist/components/hx-list/index.js +1 -1
  192. package/dist/components/hx-menu/hx-menu-divider.d.ts +2 -2
  193. package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -1
  194. package/dist/components/hx-menu/hx-menu-divider.styles.d.ts.map +1 -1
  195. package/dist/components/hx-menu/hx-menu-item.d.ts +2 -2
  196. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  197. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  198. package/dist/components/hx-menu/hx-menu.d.ts +2 -2
  199. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  200. package/dist/components/hx-menu/hx-menu.styles.d.ts.map +1 -1
  201. package/dist/components/hx-menu/index.js +1 -1
  202. package/dist/components/hx-meter/hx-meter.d.ts +3 -4
  203. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  204. package/dist/components/hx-meter/hx-meter.styles.d.ts.map +1 -1
  205. package/dist/components/hx-meter/index.js +1 -1
  206. package/dist/components/hx-nav/hx-nav.d.ts +2 -4
  207. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  208. package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
  209. package/dist/components/hx-nav/index.d.ts +1 -1
  210. package/dist/components/hx-nav/index.d.ts.map +1 -1
  211. package/dist/components/hx-nav/index.js +1 -1
  212. package/dist/components/hx-number-input/hx-number-input.d.ts +14 -20
  213. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  214. package/dist/components/hx-number-input/hx-number-input.styles.d.ts.map +1 -1
  215. package/dist/components/hx-number-input/index.d.ts +1 -0
  216. package/dist/components/hx-number-input/index.d.ts.map +1 -1
  217. package/dist/components/hx-number-input/index.js +1 -1
  218. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +2 -2
  219. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  220. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  221. package/dist/components/hx-overflow-menu/index.js +1 -1
  222. package/dist/components/hx-pagination/hx-pagination.d.ts +10 -2
  223. package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -1
  224. package/dist/components/hx-pagination/index.d.ts +1 -0
  225. package/dist/components/hx-pagination/index.d.ts.map +1 -1
  226. package/dist/components/hx-pagination/index.js +1 -1
  227. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts +47 -5
  228. package/dist/components/hx-patient-banner/hx-patient-banner.d.ts.map +1 -1
  229. package/dist/components/hx-patient-banner/hx-patient-banner.styles.d.ts.map +1 -1
  230. package/dist/components/hx-patient-banner/index.js +1 -1
  231. package/dist/components/hx-phi-field/hx-phi-field.d.ts +87 -6
  232. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
  233. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -1
  234. package/dist/components/hx-phi-field/index.js +1 -1
  235. package/dist/components/hx-popover/hx-popover.d.ts +4 -2
  236. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  237. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
  238. package/dist/components/hx-popover/index.js +1 -1
  239. package/dist/components/hx-popup/hx-popup.d.ts +7 -2
  240. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
  241. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
  242. package/dist/components/hx-popup/index.js +1 -1
  243. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +3 -4
  244. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  245. package/dist/components/hx-progress-bar/index.js +1 -1
  246. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts +3 -2
  247. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts.map +1 -1
  248. package/dist/components/hx-progress-ring/hx-progress-ring.styles.d.ts.map +1 -1
  249. package/dist/components/hx-progress-ring/index.js +1 -1
  250. package/dist/components/hx-prose/hx-prose.d.ts +3 -2
  251. package/dist/components/hx-prose/hx-prose.d.ts.map +1 -1
  252. package/dist/components/hx-prose/hx-prose.styles.d.ts +8 -0
  253. package/dist/components/hx-prose/hx-prose.styles.d.ts.map +1 -1
  254. package/dist/components/hx-prose/index.js +1 -1
  255. package/dist/components/hx-radio-group/hx-radio-group.d.ts +14 -39
  256. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  257. package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts.map +1 -1
  258. package/dist/components/hx-radio-group/hx-radio.d.ts +19 -4
  259. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  260. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
  261. package/dist/components/hx-radio-group/index.d.ts +1 -0
  262. package/dist/components/hx-radio-group/index.d.ts.map +1 -1
  263. package/dist/components/hx-radio-group/index.js +1 -1
  264. package/dist/components/hx-rating/hx-rating.d.ts +9 -20
  265. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  266. package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
  267. package/dist/components/hx-rating/index.d.ts +1 -0
  268. package/dist/components/hx-rating/index.d.ts.map +1 -1
  269. package/dist/components/hx-rating/index.js +1 -1
  270. package/dist/components/hx-select/hx-select.d.ts +26 -17
  271. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  272. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  273. package/dist/components/hx-select/index.d.ts +1 -0
  274. package/dist/components/hx-select/index.d.ts.map +1 -1
  275. package/dist/components/hx-select/index.js +1 -1
  276. package/dist/components/hx-side-nav/hx-nav-item.d.ts +2 -5
  277. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  278. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  279. package/dist/components/hx-side-nav/hx-side-nav.d.ts +3 -2
  280. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  281. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  282. package/dist/components/hx-side-nav/index.js +1 -1
  283. package/dist/components/hx-skeleton/hx-skeleton.d.ts +4 -3
  284. package/dist/components/hx-skeleton/hx-skeleton.d.ts.map +1 -1
  285. package/dist/components/hx-skeleton/hx-skeleton.styles.d.ts.map +1 -1
  286. package/dist/components/hx-skeleton/index.js +1 -1
  287. package/dist/components/hx-slider/hx-slider.d.ts +18 -22
  288. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  289. package/dist/components/hx-slider/hx-slider.styles.d.ts.map +1 -1
  290. package/dist/components/hx-slider/index.d.ts +1 -0
  291. package/dist/components/hx-slider/index.d.ts.map +1 -1
  292. package/dist/components/hx-slider/index.js +1 -1
  293. package/dist/components/hx-spinner/hx-spinner.d.ts +2 -2
  294. package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
  295. package/dist/components/hx-spinner/hx-spinner.styles.d.ts.map +1 -1
  296. package/dist/components/hx-spinner/index.js +1 -1
  297. package/dist/components/hx-split-button/hx-split-button.d.ts +10 -4
  298. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  299. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  300. package/dist/components/hx-split-button/index.js +1 -1
  301. package/dist/components/hx-split-panel/hx-split-panel.d.ts +12 -2
  302. package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -1
  303. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
  304. package/dist/components/hx-split-panel/index.js +1 -1
  305. package/dist/components/hx-stack/hx-stack.d.ts +2 -2
  306. package/dist/components/hx-stack/hx-stack.d.ts.map +1 -1
  307. package/dist/components/hx-stack/hx-stack.styles.d.ts.map +1 -1
  308. package/dist/components/hx-stack/index.js +1 -1
  309. package/dist/components/hx-stat/hx-stat.d.ts +6 -2
  310. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  311. package/dist/components/hx-stat/hx-stat.styles.d.ts.map +1 -1
  312. package/dist/components/hx-stat/index.js +1 -1
  313. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts +3 -2
  314. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts.map +1 -1
  315. package/dist/components/hx-status-indicator/hx-status-indicator.styles.d.ts.map +1 -1
  316. package/dist/components/hx-status-indicator/index.js +1 -1
  317. package/dist/components/hx-steps/hx-step.d.ts +3 -2
  318. package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
  319. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  320. package/dist/components/hx-steps/hx-steps.d.ts +11 -4
  321. package/dist/components/hx-steps/hx-steps.d.ts.map +1 -1
  322. package/dist/components/hx-steps/hx-steps.styles.d.ts.map +1 -1
  323. package/dist/components/hx-steps/index.js +1 -1
  324. package/dist/components/hx-structured-list/hx-structured-list.d.ts +3 -3
  325. package/dist/components/hx-structured-list/hx-structured-list.d.ts.map +1 -1
  326. package/dist/components/hx-structured-list/hx-structured-list.styles.d.ts.map +1 -1
  327. package/dist/components/hx-structured-list/index.js +1 -1
  328. package/dist/components/hx-style-scope/hx-style-scope.d.ts +4 -3
  329. package/dist/components/hx-style-scope/hx-style-scope.d.ts.map +1 -1
  330. package/dist/components/hx-style-scope/hx-style-scope.styles.d.ts.map +1 -1
  331. package/dist/components/hx-style-scope/index.js +1 -1
  332. package/dist/components/hx-switch/hx-switch.d.ts +25 -29
  333. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  334. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  335. package/dist/components/hx-switch/index.d.ts +2 -1
  336. package/dist/components/hx-switch/index.d.ts.map +1 -1
  337. package/dist/components/hx-switch/index.js +1 -1
  338. package/dist/components/hx-table/hx-table.d.ts +3 -2
  339. package/dist/components/hx-table/hx-table.d.ts.map +1 -1
  340. package/dist/components/hx-table/hx-table.styles.d.ts.map +1 -1
  341. package/dist/components/hx-table/hx-tbody.d.ts +2 -2
  342. package/dist/components/hx-table/hx-tbody.d.ts.map +1 -1
  343. package/dist/components/hx-table/hx-td.d.ts +2 -2
  344. package/dist/components/hx-table/hx-td.d.ts.map +1 -1
  345. package/dist/components/hx-table/hx-tfoot.d.ts +2 -2
  346. package/dist/components/hx-table/hx-tfoot.d.ts.map +1 -1
  347. package/dist/components/hx-table/hx-th.d.ts +2 -2
  348. package/dist/components/hx-table/hx-th.d.ts.map +1 -1
  349. package/dist/components/hx-table/hx-thead.d.ts +2 -2
  350. package/dist/components/hx-table/hx-thead.d.ts.map +1 -1
  351. package/dist/components/hx-table/hx-tr.d.ts +2 -2
  352. package/dist/components/hx-table/hx-tr.d.ts.map +1 -1
  353. package/dist/components/hx-table/index.js +1 -1
  354. package/dist/components/hx-tabs/hx-tab-panel.d.ts +2 -2
  355. package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -1
  356. package/dist/components/hx-tabs/hx-tab-panel.styles.d.ts.map +1 -1
  357. package/dist/components/hx-tabs/hx-tab.d.ts +2 -2
  358. package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
  359. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  360. package/dist/components/hx-tabs/hx-tabs.d.ts +14 -2
  361. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  362. package/dist/components/hx-tabs/hx-tabs.styles.d.ts.map +1 -1
  363. package/dist/components/hx-tabs/index.d.ts +1 -0
  364. package/dist/components/hx-tabs/index.d.ts.map +1 -1
  365. package/dist/components/hx-tabs/index.js +1 -1
  366. package/dist/components/hx-tag/hx-tag.d.ts +2 -4
  367. package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
  368. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  369. package/dist/components/hx-tag/index.d.ts +0 -2
  370. package/dist/components/hx-tag/index.d.ts.map +1 -1
  371. package/dist/components/hx-tag/index.js +1 -1
  372. package/dist/components/hx-text/hx-text.d.ts +2 -2
  373. package/dist/components/hx-text/hx-text.d.ts.map +1 -1
  374. package/dist/components/hx-text/hx-text.styles.d.ts.map +1 -1
  375. package/dist/components/hx-text/index.js +1 -1
  376. package/dist/components/hx-text-input/hx-text-input.d.ts +34 -7
  377. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  378. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  379. package/dist/components/hx-text-input/index.d.ts +1 -0
  380. package/dist/components/hx-text-input/index.d.ts.map +1 -1
  381. package/dist/components/hx-text-input/index.js +1 -1
  382. package/dist/components/hx-textarea/hx-textarea.d.ts +41 -25
  383. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  384. package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -1
  385. package/dist/components/hx-textarea/index.d.ts +1 -0
  386. package/dist/components/hx-textarea/index.d.ts.map +1 -1
  387. package/dist/components/hx-textarea/index.js +1 -1
  388. package/dist/components/hx-theme/hx-theme.d.ts +3 -11
  389. package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
  390. package/dist/components/hx-theme/hx-theme.styles.d.ts.map +1 -1
  391. package/dist/components/hx-theme/index.d.ts +0 -2
  392. package/dist/components/hx-theme/index.d.ts.map +1 -1
  393. package/dist/components/hx-theme/index.js +1 -1
  394. package/dist/components/hx-time-picker/hx-time-picker.d.ts +13 -31
  395. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  396. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  397. package/dist/components/hx-time-picker/index.d.ts +1 -0
  398. package/dist/components/hx-time-picker/index.d.ts.map +1 -1
  399. package/dist/components/hx-time-picker/index.js +1 -1
  400. package/dist/components/hx-toast/hx-toast-stack.d.ts +2 -2
  401. package/dist/components/hx-toast/hx-toast-stack.d.ts.map +1 -1
  402. package/dist/components/hx-toast/hx-toast.d.ts +3 -2
  403. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  404. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  405. package/dist/components/hx-toast/index.js +1 -1
  406. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +10 -13
  407. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  408. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  409. package/dist/components/hx-toggle-button/index.d.ts +1 -0
  410. package/dist/components/hx-toggle-button/index.d.ts.map +1 -1
  411. package/dist/components/hx-toggle-button/index.js +1 -1
  412. package/dist/components/hx-tooltip/hx-tooltip.d.ts +2 -2
  413. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  414. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -1
  415. package/dist/components/hx-tooltip/index.js +1 -1
  416. package/dist/components/hx-top-nav/hx-top-nav.d.ts +2 -2
  417. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
  418. package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -1
  419. package/dist/components/hx-top-nav/index.js +1 -1
  420. package/dist/components/hx-tree-view/hx-tree-item.d.ts +2 -4
  421. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  422. package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -1
  423. package/dist/components/hx-tree-view/hx-tree-view.d.ts +2 -4
  424. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
  425. package/dist/components/hx-tree-view/hx-tree-view.styles.d.ts.map +1 -1
  426. package/dist/components/hx-tree-view/index.d.ts +0 -4
  427. package/dist/components/hx-tree-view/index.d.ts.map +1 -1
  428. package/dist/components/hx-tree-view/index.js +1 -1
  429. package/dist/components/hx-visually-hidden/hx-visually-hidden.d.ts +2 -2
  430. package/dist/components/hx-visually-hidden/hx-visually-hidden.d.ts.map +1 -1
  431. package/dist/components/hx-visually-hidden/hx-visually-hidden.styles.d.ts.map +1 -1
  432. package/dist/components/hx-visually-hidden/index.js +1 -1
  433. package/dist/css/helix-all.css +3717 -786
  434. package/dist/css/helix-core.css +277 -64
  435. package/dist/css/helix-data.css +86 -7
  436. package/dist/css/helix-feedback.css +215 -69
  437. package/dist/css/helix-forms.css +2122 -127
  438. package/dist/css/helix-layout.css +53 -7
  439. package/dist/css/helix-media.css +40 -16
  440. package/dist/css/helix-navigation.css +209 -48
  441. package/dist/css/helix-overlay.css +99 -12
  442. package/dist/css/helix-tokens.css +30 -11
  443. package/dist/css/helix-utility.css +118 -9
  444. package/dist/css/hx-accordion.css +9 -1
  445. package/dist/css/hx-action-bar.css +17 -3
  446. package/dist/css/hx-alert.css +39 -18
  447. package/dist/css/hx-avatar.css +1 -1
  448. package/dist/css/hx-badge.css +59 -24
  449. package/dist/css/hx-banner.css +35 -18
  450. package/dist/css/hx-breadcrumb.css +27 -0
  451. package/dist/css/hx-button-group.css +13 -0
  452. package/dist/css/hx-button.css +6 -3
  453. package/dist/css/hx-card.css +18 -6
  454. package/dist/css/hx-carousel.css +40 -16
  455. package/dist/css/hx-checkbox-group.css +36 -4
  456. package/dist/css/hx-checkbox.css +74 -8
  457. package/dist/css/hx-clinical-status.css +46 -23
  458. package/dist/css/hx-code-snippet.css +25 -3
  459. package/dist/css/hx-color-picker.css +276 -1
  460. package/dist/css/hx-combobox.css +391 -1
  461. package/dist/css/hx-container.css +10 -6
  462. package/dist/css/hx-copy-button.css +31 -3
  463. package/dist/css/hx-counter.css +11 -1
  464. package/dist/css/hx-data-table.css +24 -1
  465. package/dist/css/hx-date-picker.css +437 -1
  466. package/dist/css/hx-dialog.css +23 -2
  467. package/dist/css/hx-divider.css +8 -0
  468. package/dist/css/hx-drawer.css +22 -1
  469. package/dist/css/hx-dropdown.css +10 -1
  470. package/dist/css/hx-field-label.css +18 -2
  471. package/dist/css/hx-field.css +39 -3
  472. package/dist/css/hx-file-upload.css +60 -12
  473. package/dist/css/hx-format-date.css +11 -0
  474. package/dist/css/hx-grid.css +10 -0
  475. package/dist/css/hx-help-text.css +25 -5
  476. package/dist/css/hx-icon-button.css +27 -0
  477. package/dist/css/hx-icon.css +8 -0
  478. package/dist/css/hx-image.css +11 -3
  479. package/dist/css/hx-link.css +24 -6
  480. package/dist/css/hx-list.css +10 -0
  481. package/dist/css/hx-menu.css +10 -2
  482. package/dist/css/hx-meter.css +28 -14
  483. package/dist/css/hx-nav.css +27 -12
  484. package/dist/css/hx-number-input.css +78 -0
  485. package/dist/css/hx-overflow-menu.css +41 -10
  486. package/dist/css/hx-pagination.css +13 -13
  487. package/dist/css/hx-patient-banner.css +30 -10
  488. package/dist/css/hx-phi-field.css +20 -3
  489. package/dist/css/hx-popover.css +16 -4
  490. package/dist/css/hx-popup.css +12 -0
  491. package/dist/css/hx-progress-bar.css +1 -1
  492. package/dist/css/hx-progress-ring.css +26 -4
  493. package/dist/css/hx-radio-group.css +35 -3
  494. package/dist/css/hx-rating.css +45 -4
  495. package/dist/css/hx-select.css +89 -9
  496. package/dist/css/hx-side-nav.css +26 -0
  497. package/dist/css/hx-skeleton.css +13 -1
  498. package/dist/css/hx-slider.css +16 -11
  499. package/dist/css/hx-spinner.css +15 -3
  500. package/dist/css/hx-split-button.css +37 -2
  501. package/dist/css/hx-split-panel.css +14 -0
  502. package/dist/css/hx-stack.css +10 -0
  503. package/dist/css/hx-stat.css +52 -5
  504. package/dist/css/hx-status-indicator.css +15 -2
  505. package/dist/css/hx-steps.css +12 -0
  506. package/dist/css/hx-structured-list.css +18 -2
  507. package/dist/css/hx-style-scope.css +11 -0
  508. package/dist/css/hx-switch.css +66 -4
  509. package/dist/css/hx-table.css +9 -1
  510. package/dist/css/hx-tabs.css +15 -3
  511. package/dist/css/hx-tag.css +24 -12
  512. package/dist/css/hx-text-input.css +71 -9
  513. package/dist/css/hx-text.css +38 -5
  514. package/dist/css/hx-textarea.css +71 -15
  515. package/dist/css/hx-theme.css +11 -0
  516. package/dist/css/hx-time-picker.css +224 -1
  517. package/dist/css/hx-toast.css +19 -7
  518. package/dist/css/hx-toggle-button.css +41 -4
  519. package/dist/css/hx-tooltip.css +16 -4
  520. package/dist/css/hx-top-nav.css +29 -8
  521. package/dist/css/hx-tree-view.css +9 -0
  522. package/dist/css/hx-visually-hidden.css +12 -0
  523. package/dist/css/index.css +1 -1
  524. package/dist/css/manifest.json +49 -11
  525. package/dist/form-test-utils.d.ts +45 -0
  526. package/dist/form-test-utils.d.ts.map +1 -0
  527. package/dist/index.d.ts +28 -14
  528. package/dist/index.d.ts.map +1 -1
  529. package/dist/index.js +189 -176
  530. package/dist/index.js.map +1 -1
  531. package/dist/mixins/FormMixin.d.ts +24 -5
  532. package/dist/mixins/FormMixin.d.ts.map +1 -1
  533. package/dist/mixins/aria-delegation.d.ts +1 -1
  534. package/dist/mixins/aria-delegation.d.ts.map +1 -1
  535. package/dist/mixins/index.d.ts +3 -1
  536. package/dist/mixins/index.d.ts.map +1 -1
  537. package/dist/shared/{FormMixin-Bjvw20G5.js → FormMixin-B8PXk5RQ.js} +31 -14
  538. package/dist/shared/FormMixin-B8PXk5RQ.js.map +1 -0
  539. package/dist/shared/{aria-delegation-CBP9eQ0M.js → aria-delegation-Doq6RRUy.js} +6 -6
  540. package/dist/shared/aria-delegation-Doq6RRUy.js.map +1 -0
  541. package/dist/shared/{id-counter-JhvVCnjh.js → helix-element-BNEYeiys.js} +35 -44
  542. package/dist/shared/helix-element-BNEYeiys.js.map +1 -0
  543. package/dist/shared/{hx-accordion-CpfO0YQo.js → hx-accordion-Wt52OOZD.js} +127 -80
  544. package/dist/shared/hx-accordion-Wt52OOZD.js.map +1 -0
  545. package/dist/shared/{hx-action-bar-BpY1Z1UV.js → hx-action-bar-BKMADbHj.js} +90 -75
  546. package/dist/shared/hx-action-bar-BKMADbHj.js.map +1 -0
  547. package/dist/shared/{hx-alert-CHOjTBds.js → hx-alert-D7n94HwI.js} +47 -26
  548. package/dist/shared/hx-alert-D7n94HwI.js.map +1 -0
  549. package/dist/shared/{hx-avatar-an-WsuLl.js → hx-avatar-iLYzu8MJ.js} +10 -10
  550. package/dist/shared/hx-avatar-iLYzu8MJ.js.map +1 -0
  551. package/dist/shared/{hx-badge-DDXTLoWi.js → hx-badge-CVCmMPyW.js} +78 -43
  552. package/dist/shared/hx-badge-CVCmMPyW.js.map +1 -0
  553. package/dist/shared/{hx-banner-B-WEDiq7.js → hx-banner-C_He7Tr4.js} +60 -43
  554. package/dist/shared/hx-banner-C_He7Tr4.js.map +1 -0
  555. package/dist/shared/{hx-breadcrumb-item-DzLyeL5Z.js → hx-breadcrumb-item-CldCwD1d.js} +123 -83
  556. package/dist/shared/hx-breadcrumb-item-CldCwD1d.js.map +1 -0
  557. package/dist/shared/{hx-button-DoN8jjQT.js → hx-button-Ddl-T6T-.js} +117 -92
  558. package/dist/shared/hx-button-Ddl-T6T-.js.map +1 -0
  559. package/dist/shared/{hx-button-group-BXlMQTt_.js → hx-button-group-BJOGWoMa.js} +33 -21
  560. package/dist/shared/hx-button-group-BJOGWoMa.js.map +1 -0
  561. package/dist/shared/{hx-card-BgXZXDuc.js → hx-card-ycveujjL.js} +64 -38
  562. package/dist/shared/hx-card-ycveujjL.js.map +1 -0
  563. package/dist/shared/{hx-carousel-item-Dwt9Pphz.js → hx-carousel-item-D_dCv61-.js} +76 -41
  564. package/dist/shared/hx-carousel-item-D_dCv61-.js.map +1 -0
  565. package/dist/shared/{hx-checkbox-CTEZ9IFq.js → hx-checkbox-DkkoWoye.js} +163 -79
  566. package/dist/shared/hx-checkbox-DkkoWoye.js.map +1 -0
  567. package/dist/shared/{hx-checkbox-group-DThZeN5d.js → hx-checkbox-group-C3poJ-Zw.js} +105 -79
  568. package/dist/shared/hx-checkbox-group-C3poJ-Zw.js.map +1 -0
  569. package/dist/shared/{hx-clinical-status-m4soOOwg.js → hx-clinical-status-BS5lcddT.js} +74 -51
  570. package/dist/shared/hx-clinical-status-BS5lcddT.js.map +1 -0
  571. package/dist/shared/{hx-code-snippet-CoLYvX1Z.js → hx-code-snippet-B7wUKzyb.js} +35 -13
  572. package/dist/shared/{hx-code-snippet-CoLYvX1Z.js.map → hx-code-snippet-B7wUKzyb.js.map} +1 -1
  573. package/dist/shared/{hx-color-picker-DhOaNe6-.js → hx-color-picker-DBaKTVLr.js} +360 -98
  574. package/dist/shared/hx-color-picker-DBaKTVLr.js.map +1 -0
  575. package/dist/shared/hx-combobox-BmgYT7Ar.js +929 -0
  576. package/dist/shared/hx-combobox-BmgYT7Ar.js.map +1 -0
  577. package/dist/shared/{hx-container-31QT9KV_.js → hx-container-DVI7sxfX.js} +27 -23
  578. package/dist/shared/hx-container-DVI7sxfX.js.map +1 -0
  579. package/dist/shared/{hx-copy-button-BoM0WsMd.js → hx-copy-button-8deNUdwP.js} +68 -40
  580. package/dist/shared/hx-copy-button-8deNUdwP.js.map +1 -0
  581. package/dist/shared/{hx-counter-CP42cSVK.js → hx-counter-CKfl_g8K.js} +88 -43
  582. package/dist/shared/hx-counter-CKfl_g8K.js.map +1 -0
  583. package/dist/shared/{hx-data-table-D5Ne-goy.js → hx-data-table-B6h0RPn0.js} +203 -132
  584. package/dist/shared/hx-data-table-B6h0RPn0.js.map +1 -0
  585. package/dist/shared/hx-date-picker-Dq2Nb68_.js +1077 -0
  586. package/dist/shared/hx-date-picker-Dq2Nb68_.js.map +1 -0
  587. package/dist/shared/{hx-dialog-D4ubstxx.js → hx-dialog-CvIlY0Tc.js} +85 -52
  588. package/dist/shared/hx-dialog-CvIlY0Tc.js.map +1 -0
  589. package/dist/shared/{hx-divider-BBtOLHRP.js → hx-divider-DwpOrzMW.js} +23 -15
  590. package/dist/shared/hx-divider-DwpOrzMW.js.map +1 -0
  591. package/dist/shared/{hx-drawer--WDLuWtS.js → hx-drawer-Cx2ZJhBe.js} +101 -66
  592. package/dist/shared/hx-drawer-Cx2ZJhBe.js.map +1 -0
  593. package/dist/shared/{hx-dropdown-n5-XSmiV.js → hx-dropdown-BjDrPUq5.js} +55 -46
  594. package/dist/shared/hx-dropdown-BjDrPUq5.js.map +1 -0
  595. package/dist/shared/{hx-field-CwT9tki1.js → hx-field-Dp3qQMut.js} +61 -25
  596. package/dist/shared/hx-field-Dp3qQMut.js.map +1 -0
  597. package/dist/shared/{hx-field-label-CcOK9VU3.js → hx-field-label-BC8QViXv.js} +41 -25
  598. package/dist/shared/hx-field-label-BC8QViXv.js.map +1 -0
  599. package/dist/shared/{hx-file-upload-Dwtu3WcB.js → hx-file-upload-B6Yl1u0i.js} +201 -130
  600. package/dist/shared/hx-file-upload-B6Yl1u0i.js.map +1 -0
  601. package/dist/shared/{hx-form-fJE-FJQV.js → hx-form-ButQFt9A.js} +13 -18
  602. package/dist/shared/hx-form-ButQFt9A.js.map +1 -0
  603. package/dist/shared/{hx-format-date-B7L9odbA.js → hx-format-date-CKnlQOmV.js} +20 -9
  604. package/dist/shared/hx-format-date-CKnlQOmV.js.map +1 -0
  605. package/dist/shared/{hx-grid-BIAR5h9m.js → hx-grid-CXZf3jeK.js} +28 -18
  606. package/dist/shared/hx-grid-CXZf3jeK.js.map +1 -0
  607. package/dist/shared/{hx-help-text-Bmb80bP4.js → hx-help-text-D7eytSim.js} +45 -25
  608. package/dist/shared/hx-help-text-D7eytSim.js.map +1 -0
  609. package/dist/shared/{hx-icon-BKHs3OLu.js → hx-icon-CcyDPDYY.js} +104 -62
  610. package/dist/shared/hx-icon-CcyDPDYY.js.map +1 -0
  611. package/dist/shared/{hx-icon-button-CJuy9xbw.js → hx-icon-button-BHneqPCU.js} +58 -42
  612. package/dist/shared/hx-icon-button-BHneqPCU.js.map +1 -0
  613. package/dist/shared/{hx-image-ztiXumZB.js → hx-image-2gt14zZd.js} +34 -26
  614. package/dist/shared/hx-image-2gt14zZd.js.map +1 -0
  615. package/dist/shared/{hx-link-IVsXmsKx.js → hx-link-BESrWK8M.js} +72 -48
  616. package/dist/shared/hx-link-BESrWK8M.js.map +1 -0
  617. package/dist/shared/{hx-list-CoTDMp19.js → hx-list-_9qVv02L.js} +91 -49
  618. package/dist/shared/hx-list-_9qVv02L.js.map +1 -0
  619. package/dist/shared/{hx-menu-divider-DRT8yHRZ.js → hx-menu-divider-Ck-9Os1t.js} +103 -60
  620. package/dist/shared/hx-menu-divider-Ck-9Os1t.js.map +1 -0
  621. package/dist/shared/{hx-meter-BvSJoqDp.js → hx-meter-TbROk-dw.js} +64 -49
  622. package/dist/shared/hx-meter-TbROk-dw.js.map +1 -0
  623. package/dist/shared/{hx-nav-l0Rp7WPW.js → hx-nav-BcYDmjf7.js} +71 -56
  624. package/dist/shared/hx-nav-BcYDmjf7.js.map +1 -0
  625. package/dist/shared/{hx-nav-item-CJN4VDrf.js → hx-nav-item-pqPasRUm.js} +67 -23
  626. package/dist/shared/hx-nav-item-pqPasRUm.js.map +1 -0
  627. package/dist/shared/{hx-number-input-0Waw7Z7u.js → hx-number-input-mOIZ3-46.js} +169 -96
  628. package/dist/shared/hx-number-input-mOIZ3-46.js.map +1 -0
  629. package/dist/shared/{hx-overflow-menu-DElwFSCd.js → hx-overflow-menu-Dprb9lnT.js} +70 -38
  630. package/dist/shared/hx-overflow-menu-Dprb9lnT.js.map +1 -0
  631. package/dist/shared/{hx-pagination-BNtx-LG6.js → hx-pagination-AguTQjYC.js} +35 -35
  632. package/dist/shared/hx-pagination-AguTQjYC.js.map +1 -0
  633. package/dist/shared/{hx-patient-banner-BKiN7nIE.js → hx-patient-banner-uE6gqLpT.js} +67 -47
  634. package/dist/shared/hx-patient-banner-uE6gqLpT.js.map +1 -0
  635. package/dist/shared/{hx-phi-field-BiJH3V-k.js → hx-phi-field-BC_XowhC.js} +158 -59
  636. package/dist/shared/hx-phi-field-BC_XowhC.js.map +1 -0
  637. package/dist/shared/{hx-popover-D63RXn5H.js → hx-popover-B2_203ct.js} +48 -34
  638. package/dist/shared/hx-popover-B2_203ct.js.map +1 -0
  639. package/dist/shared/{hx-popup-BQWMhvMO.js → hx-popup-DZXpsJ1R.js} +89 -64
  640. package/dist/shared/hx-popup-DZXpsJ1R.js.map +1 -0
  641. package/dist/shared/{hx-progress-bar-Cm0VihTN.js → hx-progress-bar-KjEkEJLy.js} +21 -20
  642. package/dist/shared/hx-progress-bar-KjEkEJLy.js.map +1 -0
  643. package/dist/shared/{hx-progress-ring-BJeiDr3q.js → hx-progress-ring-3zMwvrwD.js} +56 -34
  644. package/dist/shared/hx-progress-ring-3zMwvrwD.js.map +1 -0
  645. package/dist/shared/{hx-prose-Ml_L2zje.js → hx-prose-BCtK7YL6.js} +48 -15
  646. package/dist/shared/{hx-prose-Ml_L2zje.js.map → hx-prose-BCtK7YL6.js.map} +1 -1
  647. package/dist/shared/{hx-radio-f8c5ggHG.js → hx-radio-BBC5qZgE.js} +202 -123
  648. package/dist/shared/hx-radio-BBC5qZgE.js.map +1 -0
  649. package/dist/shared/{hx-rating-qRJZXskm.js → hx-rating-C3E3ENJb.js} +92 -69
  650. package/dist/shared/hx-rating-C3E3ENJb.js.map +1 -0
  651. package/dist/shared/{hx-select-B5wq9Swh.js → hx-select-CixTo7jp.js} +206 -136
  652. package/dist/shared/hx-select-CixTo7jp.js.map +1 -0
  653. package/dist/shared/{hx-skeleton-e5K9Qaxq.js → hx-skeleton-LxkI0pxr.js} +41 -29
  654. package/dist/shared/hx-skeleton-LxkI0pxr.js.map +1 -0
  655. package/dist/shared/{hx-slider-BvXtvxmN.js → hx-slider-DFHuzF3N.js} +79 -91
  656. package/dist/shared/hx-slider-DFHuzF3N.js.map +1 -0
  657. package/dist/shared/{hx-spinner-Dyese1Tb.js → hx-spinner-BKjuCdZB.js} +32 -20
  658. package/dist/shared/hx-spinner-BKjuCdZB.js.map +1 -0
  659. package/dist/shared/{hx-split-button-CPndTJlC.js → hx-split-button-CGcJMmCG.js} +59 -22
  660. package/dist/shared/hx-split-button-CGcJMmCG.js.map +1 -0
  661. package/dist/shared/{hx-split-panel-Dx72NaET.js → hx-split-panel-C-1R10Mc.js} +71 -47
  662. package/dist/shared/hx-split-panel-C-1R10Mc.js.map +1 -0
  663. package/dist/shared/{hx-stack-B76_1O6g.js → hx-stack-DGfcOfWJ.js} +21 -11
  664. package/dist/shared/hx-stack-DGfcOfWJ.js.map +1 -0
  665. package/dist/shared/{hx-stat-DKD2E7An.js → hx-stat-BTpykQAt.js} +103 -48
  666. package/dist/shared/hx-stat-BTpykQAt.js.map +1 -0
  667. package/dist/shared/{hx-status-indicator-ClWpK6zz.js → hx-status-indicator-X2QEWNFt.js} +36 -23
  668. package/dist/shared/hx-status-indicator-X2QEWNFt.js.map +1 -0
  669. package/dist/shared/{hx-step-C2Jk4mHa.js → hx-step-CRNQlmSo.js} +83 -32
  670. package/dist/shared/hx-step-CRNQlmSo.js.map +1 -0
  671. package/dist/shared/{hx-structured-list-DKlrv7kS.js → hx-structured-list-CqNbaEXg.js} +32 -16
  672. package/dist/shared/hx-structured-list-CqNbaEXg.js.map +1 -0
  673. package/dist/shared/hx-style-scope-TDnR8H4O.js +251 -0
  674. package/dist/shared/hx-style-scope-TDnR8H4O.js.map +1 -0
  675. package/dist/shared/{hx-switch-BzMN37PV.js → hx-switch-DqOD9JR7.js} +122 -81
  676. package/dist/shared/hx-switch-DqOD9JR7.js.map +1 -0
  677. package/dist/shared/{hx-tab-panel-J58zOSjq.js → hx-tab-panel-BIzKfW5i.js} +156 -102
  678. package/dist/shared/hx-tab-panel-BIzKfW5i.js.map +1 -0
  679. package/dist/shared/{hx-tag-F0ZcYj9b.js → hx-tag-CgnrNnte.js} +30 -18
  680. package/dist/shared/hx-tag-CgnrNnte.js.map +1 -0
  681. package/dist/shared/{hx-td-CNCvzBwY.js → hx-td-Bra35cH4.js} +55 -47
  682. package/dist/shared/hx-td-Bra35cH4.js.map +1 -0
  683. package/dist/shared/{hx-text-DcWBqZwx.js → hx-text-DMC2CPlL.js} +74 -41
  684. package/dist/shared/hx-text-DMC2CPlL.js.map +1 -0
  685. package/dist/shared/{hx-text-input-Scyeefec.js → hx-text-input--q0GH78x.js} +123 -61
  686. package/dist/shared/hx-text-input--q0GH78x.js.map +1 -0
  687. package/dist/shared/{hx-textarea-BfSJJtA1.js → hx-textarea-CK621vSL.js} +124 -89
  688. package/dist/shared/hx-textarea-CK621vSL.js.map +1 -0
  689. package/dist/shared/{hx-theme-pc1V7dyL.js → hx-theme-DfEy-SJA.js} +72 -64
  690. package/dist/shared/hx-theme-DfEy-SJA.js.map +1 -0
  691. package/dist/shared/{hx-time-picker-CZvmihHD.js → hx-time-picker-tPUfgElQ.js} +300 -82
  692. package/dist/shared/hx-time-picker-tPUfgElQ.js.map +1 -0
  693. package/dist/shared/{hx-toggle-button-BZUQUULm.js → hx-toggle-button-L-uBJr-a.js} +72 -42
  694. package/dist/shared/hx-toggle-button-L-uBJr-a.js.map +1 -0
  695. package/dist/shared/{hx-tooltip-Ny4i1Idj.js → hx-tooltip-B_zfKvwc.js} +44 -31
  696. package/dist/shared/hx-tooltip-B_zfKvwc.js.map +1 -0
  697. package/dist/shared/{hx-top-nav-CC4FW2Hp.js → hx-top-nav-CATbRvIv.js} +53 -30
  698. package/dist/shared/hx-top-nav-CATbRvIv.js.map +1 -0
  699. package/dist/shared/{hx-tree-item-CPQ9dJiK.js → hx-tree-item-A45WCiBu.js} +37 -9
  700. package/dist/shared/hx-tree-item-A45WCiBu.js.map +1 -0
  701. package/dist/shared/hx-visually-hidden-0bZKOWgT.js +66 -0
  702. package/dist/shared/hx-visually-hidden-0bZKOWgT.js.map +1 -0
  703. package/dist/shared/id-counter-DuX8vsui.js +11 -0
  704. package/dist/shared/id-counter-DuX8vsui.js.map +1 -0
  705. package/dist/shared/{toast-factory-CEMNOt1T.js → toast-factory-BPPnG3mM.js} +58 -46
  706. package/dist/shared/toast-factory-BPPnG3mM.js.map +1 -0
  707. package/dist/utilities/injectLightStyles.d.ts.map +1 -1
  708. package/dist/utilities/sanitizeCss.d.ts +43 -0
  709. package/dist/utilities/sanitizeCss.d.ts.map +1 -0
  710. package/package.json +29 -13
  711. package/dist/shared/FormMixin-Bjvw20G5.js.map +0 -1
  712. package/dist/shared/aria-delegation-CBP9eQ0M.js.map +0 -1
  713. package/dist/shared/document-token-adoption-DuYNKd4k.js +0 -21
  714. package/dist/shared/document-token-adoption-DuYNKd4k.js.map +0 -1
  715. package/dist/shared/hx-accordion-CpfO0YQo.js.map +0 -1
  716. package/dist/shared/hx-action-bar-BpY1Z1UV.js.map +0 -1
  717. package/dist/shared/hx-alert-CHOjTBds.js.map +0 -1
  718. package/dist/shared/hx-avatar-an-WsuLl.js.map +0 -1
  719. package/dist/shared/hx-badge-DDXTLoWi.js.map +0 -1
  720. package/dist/shared/hx-banner-B-WEDiq7.js.map +0 -1
  721. package/dist/shared/hx-breadcrumb-item-DzLyeL5Z.js.map +0 -1
  722. package/dist/shared/hx-button-DoN8jjQT.js.map +0 -1
  723. package/dist/shared/hx-button-group-BXlMQTt_.js.map +0 -1
  724. package/dist/shared/hx-card-BgXZXDuc.js.map +0 -1
  725. package/dist/shared/hx-carousel-item-Dwt9Pphz.js.map +0 -1
  726. package/dist/shared/hx-checkbox-CTEZ9IFq.js.map +0 -1
  727. package/dist/shared/hx-checkbox-group-DThZeN5d.js.map +0 -1
  728. package/dist/shared/hx-clinical-status-m4soOOwg.js.map +0 -1
  729. package/dist/shared/hx-color-picker-DhOaNe6-.js.map +0 -1
  730. package/dist/shared/hx-combobox-BJ4lQocO.js +0 -544
  731. package/dist/shared/hx-combobox-BJ4lQocO.js.map +0 -1
  732. package/dist/shared/hx-container-31QT9KV_.js.map +0 -1
  733. package/dist/shared/hx-copy-button-BoM0WsMd.js.map +0 -1
  734. package/dist/shared/hx-counter-CP42cSVK.js.map +0 -1
  735. package/dist/shared/hx-data-table-D5Ne-goy.js.map +0 -1
  736. package/dist/shared/hx-date-picker-Cd3I3WkX.js +0 -627
  737. package/dist/shared/hx-date-picker-Cd3I3WkX.js.map +0 -1
  738. package/dist/shared/hx-dialog-D4ubstxx.js.map +0 -1
  739. package/dist/shared/hx-divider-BBtOLHRP.js.map +0 -1
  740. package/dist/shared/hx-drawer--WDLuWtS.js.map +0 -1
  741. package/dist/shared/hx-dropdown-n5-XSmiV.js.map +0 -1
  742. package/dist/shared/hx-field-CwT9tki1.js.map +0 -1
  743. package/dist/shared/hx-field-label-CcOK9VU3.js.map +0 -1
  744. package/dist/shared/hx-file-upload-Dwtu3WcB.js.map +0 -1
  745. package/dist/shared/hx-form-fJE-FJQV.js.map +0 -1
  746. package/dist/shared/hx-format-date-B7L9odbA.js.map +0 -1
  747. package/dist/shared/hx-grid-BIAR5h9m.js.map +0 -1
  748. package/dist/shared/hx-help-text-Bmb80bP4.js.map +0 -1
  749. package/dist/shared/hx-icon-BKHs3OLu.js.map +0 -1
  750. package/dist/shared/hx-icon-button-CJuy9xbw.js.map +0 -1
  751. package/dist/shared/hx-image-ztiXumZB.js.map +0 -1
  752. package/dist/shared/hx-link-IVsXmsKx.js.map +0 -1
  753. package/dist/shared/hx-list-CoTDMp19.js.map +0 -1
  754. package/dist/shared/hx-menu-divider-DRT8yHRZ.js.map +0 -1
  755. package/dist/shared/hx-meter-BvSJoqDp.js.map +0 -1
  756. package/dist/shared/hx-nav-item-CJN4VDrf.js.map +0 -1
  757. package/dist/shared/hx-nav-l0Rp7WPW.js.map +0 -1
  758. package/dist/shared/hx-number-input-0Waw7Z7u.js.map +0 -1
  759. package/dist/shared/hx-overflow-menu-DElwFSCd.js.map +0 -1
  760. package/dist/shared/hx-pagination-BNtx-LG6.js.map +0 -1
  761. package/dist/shared/hx-patient-banner-BKiN7nIE.js.map +0 -1
  762. package/dist/shared/hx-phi-field-BiJH3V-k.js.map +0 -1
  763. package/dist/shared/hx-popover-D63RXn5H.js.map +0 -1
  764. package/dist/shared/hx-popup-BQWMhvMO.js.map +0 -1
  765. package/dist/shared/hx-progress-bar-Cm0VihTN.js.map +0 -1
  766. package/dist/shared/hx-progress-ring-BJeiDr3q.js.map +0 -1
  767. package/dist/shared/hx-radio-f8c5ggHG.js.map +0 -1
  768. package/dist/shared/hx-rating-qRJZXskm.js.map +0 -1
  769. package/dist/shared/hx-select-B5wq9Swh.js.map +0 -1
  770. package/dist/shared/hx-skeleton-e5K9Qaxq.js.map +0 -1
  771. package/dist/shared/hx-slider-BvXtvxmN.js.map +0 -1
  772. package/dist/shared/hx-spinner-Dyese1Tb.js.map +0 -1
  773. package/dist/shared/hx-split-button-CPndTJlC.js.map +0 -1
  774. package/dist/shared/hx-split-panel-Dx72NaET.js.map +0 -1
  775. package/dist/shared/hx-stack-B76_1O6g.js.map +0 -1
  776. package/dist/shared/hx-stat-DKD2E7An.js.map +0 -1
  777. package/dist/shared/hx-status-indicator-ClWpK6zz.js.map +0 -1
  778. package/dist/shared/hx-step-C2Jk4mHa.js.map +0 -1
  779. package/dist/shared/hx-structured-list-DKlrv7kS.js.map +0 -1
  780. package/dist/shared/hx-style-scope-CsQ2Phf_.js +0 -126
  781. package/dist/shared/hx-style-scope-CsQ2Phf_.js.map +0 -1
  782. package/dist/shared/hx-switch-BzMN37PV.js.map +0 -1
  783. package/dist/shared/hx-tab-panel-J58zOSjq.js.map +0 -1
  784. package/dist/shared/hx-tag-F0ZcYj9b.js.map +0 -1
  785. package/dist/shared/hx-td-CNCvzBwY.js.map +0 -1
  786. package/dist/shared/hx-text-DcWBqZwx.js.map +0 -1
  787. package/dist/shared/hx-text-input-Scyeefec.js.map +0 -1
  788. package/dist/shared/hx-textarea-BfSJJtA1.js.map +0 -1
  789. package/dist/shared/hx-theme-pc1V7dyL.js.map +0 -1
  790. package/dist/shared/hx-time-picker-CZvmihHD.js.map +0 -1
  791. package/dist/shared/hx-toggle-button-BZUQUULm.js.map +0 -1
  792. package/dist/shared/hx-tooltip-Ny4i1Idj.js.map +0 -1
  793. package/dist/shared/hx-top-nav-CC4FW2Hp.js.map +0 -1
  794. package/dist/shared/hx-tree-item-CPQ9dJiK.js.map +0 -1
  795. package/dist/shared/hx-visually-hidden-vKX8QjeX.js +0 -54
  796. package/dist/shared/hx-visually-hidden-vKX8QjeX.js.map +0 -1
  797. package/dist/shared/id-counter-JhvVCnjh.js.map +0 -1
  798. package/dist/shared/toast-factory-CEMNOt1T.js.map +0 -1
  799. package/dist/tools/cem-a11y-analyzer/analyzers/aria-analyzer.d.ts +0 -12
  800. package/dist/tools/cem-a11y-analyzer/analyzers/aria-analyzer.d.ts.map +0 -1
  801. package/dist/tools/cem-a11y-analyzer/analyzers/focus-analyzer.d.ts +0 -13
  802. package/dist/tools/cem-a11y-analyzer/analyzers/focus-analyzer.d.ts.map +0 -1
  803. package/dist/tools/cem-a11y-analyzer/analyzers/form-analyzer.d.ts +0 -13
  804. package/dist/tools/cem-a11y-analyzer/analyzers/form-analyzer.d.ts.map +0 -1
  805. package/dist/tools/cem-a11y-analyzer/analyzers/keyboard-analyzer.d.ts +0 -12
  806. package/dist/tools/cem-a11y-analyzer/analyzers/keyboard-analyzer.d.ts.map +0 -1
  807. package/dist/tools/cem-a11y-analyzer/analyzers/label-analyzer.d.ts +0 -13
  808. package/dist/tools/cem-a11y-analyzer/analyzers/label-analyzer.d.ts.map +0 -1
  809. package/dist/tools/cem-a11y-analyzer/analyzers/motion-analyzer.d.ts +0 -12
  810. package/dist/tools/cem-a11y-analyzer/analyzers/motion-analyzer.d.ts.map +0 -1
  811. package/dist/tools/cem-a11y-analyzer/index.d.ts +0 -14
  812. package/dist/tools/cem-a11y-analyzer/index.d.ts.map +0 -1
  813. package/dist/tools/cem-a11y-analyzer/reporter.d.ts +0 -6
  814. package/dist/tools/cem-a11y-analyzer/reporter.d.ts.map +0 -1
  815. package/dist/tools/cem-a11y-analyzer/scorer.d.ts +0 -22
  816. package/dist/tools/cem-a11y-analyzer/scorer.d.ts.map +0 -1
  817. package/dist/tools/cem-a11y-analyzer/types.d.ts +0 -171
  818. package/dist/tools/cem-a11y-analyzer/types.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
- import { css as p, LitElement as f, html as u, nothing as h } from "lit";
2
- import "./document-token-adoption-DuYNKd4k.js";
3
- import { property as c, customElement as x, state as _, query as b } from "lit/decorators.js";
1
+ import { css as p, html as u, nothing as h } from "lit";
2
+ import { property as c, customElement as f, state as x, query as b } from "lit/decorators.js";
4
3
  import { d as g } from "./dev-warn-YlwPHjtX.js";
4
+ import { H as v } from "./helix-element-BNEYeiys.js";
5
5
  import { classMap as y } from "lit/directives/class-map.js";
6
6
  const k = p`
7
7
  :host {
@@ -18,21 +18,29 @@ const k = p`
18
18
  border-radius: var(--hx-menu-border-radius, var(--hx-border-radius-md, 0.375rem));
19
19
  box-shadow: var(
20
20
  --hx-menu-shadow,
21
- 0 4px 6px -1px rgb(0 0 0 / 0.1),
22
- 0 2px 4px -2px rgb(0 0 0 / 0.1)
21
+ var(--hx-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1))
23
22
  );
24
23
  min-width: var(--hx-menu-min-width, 10rem);
25
24
  max-height: var(--hx-menu-max-height, 20rem);
26
25
  overflow-y: auto;
27
26
  outline: none;
28
27
  }
28
+
29
+ /* ─── High Contrast Mode (forced-colors) ─── */
30
+
31
+ @media (forced-colors: active) {
32
+ .menu {
33
+ background-color: Canvas;
34
+ border: 2px solid CanvasText;
35
+ }
36
+ }
29
37
  `;
30
- var I = Object.defineProperty, w = Object.getOwnPropertyDescriptor, v = (e, t, s, i) => {
31
- for (var n = i > 1 ? void 0 : i ? w(t, s) : t, r = e.length - 1, o; r >= 0; r--)
32
- (o = e[r]) && (n = (i ? o(t, s, n) : o(n)) || n);
33
- return i && n && I(t, s, n), n;
38
+ var w = Object.defineProperty, I = Object.getOwnPropertyDescriptor, _ = (e, t, n, s) => {
39
+ for (var i = s > 1 ? void 0 : s ? I(t, n) : t, r = e.length - 1, a; r >= 0; r--)
40
+ (a = e[r]) && (i = (s ? a(t, n, i) : a(i)) || i);
41
+ return s && i && w(t, n, i), i;
34
42
  };
35
- let d = class extends f {
43
+ let d = class extends v {
36
44
  constructor() {
37
45
  super(...arguments), this.label = "", this._focusedIndex = -1, this._typeaheadBuffer = "", this._typeaheadTimer = null;
38
46
  }
@@ -49,8 +57,8 @@ let d = class extends f {
49
57
  /** @internal */
50
58
  _syncRovingTabIndex() {
51
59
  const e = this._getItems(), t = this._focusedIndex >= 0 ? this._focusedIndex : 0;
52
- e.forEach((s, i) => {
53
- s.setRovingTabIndex(i === t ? 0 : -1);
60
+ e.forEach((n, s) => {
61
+ n.setRovingTabIndex(s === t ? 0 : -1);
54
62
  });
55
63
  }
56
64
  /** Focus the first menu item. */
@@ -68,14 +76,14 @@ let d = class extends f {
68
76
  const t = this._getItems();
69
77
  if (t.length === 0) return;
70
78
  this._focusedIndex = Math.max(0, Math.min(e, t.length - 1)), this._syncRovingTabIndex();
71
- const s = t[this._focusedIndex];
72
- s !== void 0 && s.focus();
79
+ const n = t[this._focusedIndex];
80
+ n !== void 0 && n.focus();
73
81
  }
74
82
  /** @internal */
75
83
  _updateFocusedIndex() {
76
- var i;
77
- const e = this._getItems(), t = ((i = this.shadowRoot) == null ? void 0 : i.activeElement) ?? document.activeElement, s = e.findIndex((n) => n.matches(":focus-within") || n === t);
78
- s !== -1 && (this._focusedIndex = s);
84
+ var s;
85
+ const e = this._getItems(), t = ((s = this.shadowRoot) == null ? void 0 : s.activeElement) ?? document.activeElement, n = e.findIndex((i) => i.matches(":focus-within") || i === t);
86
+ n !== -1 && (this._focusedIndex = n);
79
87
  }
80
88
  /** @internal */
81
89
  _handleKeyDown(e) {
@@ -108,27 +116,27 @@ let d = class extends f {
108
116
  this._typeaheadTimer !== null && clearTimeout(this._typeaheadTimer), this._typeaheadBuffer += e.toLowerCase(), this._typeaheadTimer = setTimeout(() => {
109
117
  this._typeaheadBuffer = "", this._typeaheadTimer = null;
110
118
  }, 500);
111
- const s = t.findIndex((i) => {
119
+ const n = t.findIndex((s) => {
112
120
  var r;
113
- return i.disabled || i.hasAttribute("disabled") ? !1 : (((r = i.textContent) == null ? void 0 : r.trim().toLowerCase()) ?? "").startsWith(this._typeaheadBuffer);
121
+ return s.disabled || s.hasAttribute("disabled") ? !1 : (((r = s.textContent) == null ? void 0 : r.trim().toLowerCase()) ?? "").startsWith(this._typeaheadBuffer);
114
122
  });
115
- s !== -1 && this._focusItem(s);
123
+ n !== -1 && this._focusItem(n);
116
124
  }
117
125
  /** @internal */
118
126
  _handleSlotChange(e) {
119
127
  const t = e.target;
120
128
  if (!(t instanceof HTMLSlotElement)) return;
121
- const s = /* @__PURE__ */ new Set(["hx-menu-item", "hx-menu-divider"]), i = t.assignedElements().filter((n) => !s.has(n.tagName.toLowerCase()));
122
- i.length > 0 && g(
129
+ const n = /* @__PURE__ */ new Set(["hx-menu-item", "hx-menu-divider"]), s = t.assignedElements().filter((i) => !n.has(i.tagName.toLowerCase()));
130
+ s.length > 0 && g(
123
131
  "hx-menu",
124
- `Default slot expects <hx-menu-item> or <hx-menu-divider> elements. Found unexpected: ${i.map((n) => `<${n.tagName.toLowerCase()}>`).join(", ")}`
132
+ `Default slot expects <hx-menu-item> or <hx-menu-divider> elements. Found unexpected: ${s.map((i) => `<${i.tagName.toLowerCase()}>`).join(", ")}`
125
133
  ), this._syncRovingTabIndex();
126
134
  }
127
135
  /** @internal */
128
136
  _handleItemSelect(e) {
129
137
  if (!(e instanceof CustomEvent)) return;
130
- const t = e.detail, s = this._getItems();
131
- this._focusedIndex = s.indexOf(t.item), this.dispatchEvent(
138
+ const t = e.detail, n = this._getItems();
139
+ this._focusedIndex = n.indexOf(t.item), this.dispatchEvent(
132
140
  new CustomEvent("hx-select", {
133
141
  bubbles: !0,
134
142
  composed: !0,
@@ -158,11 +166,11 @@ let d = class extends f {
158
166
  }
159
167
  };
160
168
  d.styles = [k];
161
- v([
169
+ _([
162
170
  c({ type: String, reflect: !0 })
163
171
  ], d.prototype, "label", 2);
164
- d = v([
165
- x("hx-menu")
172
+ d = _([
173
+ f("hx-menu")
166
174
  ], d);
167
175
  const C = p`
168
176
  :host {
@@ -178,12 +186,13 @@ const C = p`
178
186
  display: flex;
179
187
  align-items: center;
180
188
  gap: var(--hx-space-2, 0.5rem);
189
+ min-height: var(--hx-touch-target-min, 44px);
181
190
  padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
182
191
  border-radius: var(--hx-border-radius-sm, 0.25rem);
183
192
  cursor: pointer;
184
193
  color: var(--hx-menu-item-color, var(--hx-color-neutral-900, #0f172a));
185
194
  font-size: var(--hx-font-size-sm, 0.875rem);
186
- font-family: var(--hx-font-family-sans, sans-serif);
195
+ font-family: var(--hx-menu-item-font-family, var(--hx-font-family-sans, sans-serif));
187
196
  line-height: var(--hx-line-height-tight, 1.25);
188
197
  user-select: none;
189
198
  -webkit-user-select: none;
@@ -263,13 +272,39 @@ const C = p`
263
272
  opacity: var(--hx-opacity-muted, 0.6);
264
273
  }
265
274
  }
275
+
276
+ /* ─── High Contrast Mode (forced-colors) ─── */
277
+
278
+ @media (forced-colors: active) {
279
+ .menu-item {
280
+ forced-color-adjust: none;
281
+ color: CanvasText;
282
+ background-color: Canvas;
283
+ }
284
+
285
+ .menu-item:hover,
286
+ .menu-item:focus-visible {
287
+ background-color: Highlight;
288
+ color: HighlightText;
289
+ }
290
+
291
+ .menu-item:focus-visible {
292
+ outline: 2px solid Highlight;
293
+ outline-offset: -2px;
294
+ }
295
+
296
+ :host([disabled]) .menu-item {
297
+ color: GrayText;
298
+ opacity: 1;
299
+ }
300
+ }
266
301
  `;
267
- var S = Object.defineProperty, T = Object.getOwnPropertyDescriptor, l = (e, t, s, i) => {
268
- for (var n = i > 1 ? void 0 : i ? T(t, s) : t, r = e.length - 1, o; r >= 0; r--)
269
- (o = e[r]) && (n = (i ? o(t, s, n) : o(n)) || n);
270
- return i && n && S(t, s, n), n;
302
+ var S = Object.defineProperty, T = Object.getOwnPropertyDescriptor, l = (e, t, n, s) => {
303
+ for (var i = s > 1 ? void 0 : s ? T(t, n) : t, r = e.length - 1, a; r >= 0; r--)
304
+ (a = e[r]) && (i = (s ? a(t, n, i) : a(i)) || i);
305
+ return s && i && S(t, n, i), i;
271
306
  };
272
- let a = class extends f {
307
+ let o = class extends v {
273
308
  constructor() {
274
309
  super(...arguments), this._rovingTabIndex = -1, this.value = "", this.disabled = !1, this.checked = !1, this.type = "normal", this.loading = !1, this._hasSubmenu = !1, this._submenuOpen = !1;
275
310
  }
@@ -410,14 +445,14 @@ let a = class extends f {
410
445
  }
411
446
  }
412
447
  render() {
413
- const e = this._getRole(), t = this.type === "checkbox" || this.type === "radio", s = {
448
+ const e = this._getRole(), t = this.type === "checkbox" || this.type === "radio", n = {
414
449
  "menu-item": !0,
415
450
  "menu-item--checked": this.checked
416
451
  };
417
452
  return u`
418
453
  <div
419
454
  part="base"
420
- class=${y(s)}
455
+ class=${y(n)}
421
456
  role=${e}
422
457
  tabindex=${this.disabled ? "-1" : String(this._rovingTabIndex)}
423
458
  aria-disabled=${this.disabled ? "true" : h}
@@ -445,37 +480,37 @@ let a = class extends f {
445
480
  `;
446
481
  }
447
482
  };
448
- a.styles = [C];
483
+ o.styles = [C];
449
484
  l([
450
- _()
451
- ], a.prototype, "_rovingTabIndex", 2);
485
+ x()
486
+ ], o.prototype, "_rovingTabIndex", 2);
452
487
  l([
453
488
  c({ type: String })
454
- ], a.prototype, "value", 2);
489
+ ], o.prototype, "value", 2);
455
490
  l([
456
491
  c({ type: Boolean, reflect: !0 })
457
- ], a.prototype, "disabled", 2);
492
+ ], o.prototype, "disabled", 2);
458
493
  l([
459
494
  c({ type: Boolean, reflect: !0 })
460
- ], a.prototype, "checked", 2);
495
+ ], o.prototype, "checked", 2);
461
496
  l([
462
497
  c({ type: String, reflect: !0 })
463
- ], a.prototype, "type", 2);
498
+ ], o.prototype, "type", 2);
464
499
  l([
465
500
  c({ type: Boolean, reflect: !0 })
466
- ], a.prototype, "loading", 2);
501
+ ], o.prototype, "loading", 2);
467
502
  l([
468
- _()
469
- ], a.prototype, "_hasSubmenu", 2);
503
+ x()
504
+ ], o.prototype, "_hasSubmenu", 2);
470
505
  l([
471
- _()
472
- ], a.prototype, "_submenuOpen", 2);
506
+ x()
507
+ ], o.prototype, "_submenuOpen", 2);
473
508
  l([
474
509
  b(".menu-item")
475
- ], a.prototype, "_menuItemEl", 2);
476
- a = l([
477
- x("hx-menu-item")
478
- ], a);
510
+ ], o.prototype, "_menuItemEl", 2);
511
+ o = l([
512
+ f("hx-menu-item")
513
+ ], o);
479
514
  const E = p`
480
515
  :host {
481
516
  display: block;
@@ -486,13 +521,21 @@ const E = p`
486
521
  background-color: var(--hx-menu-divider-color, var(--hx-color-neutral-200, #e2e8f0));
487
522
  margin: var(--hx-space-1, 0.25rem) calc(-1 * var(--hx-space-1, 0.25rem));
488
523
  }
524
+
525
+ /* ─── High Contrast Mode (forced-colors) ─── */
526
+
527
+ @media (forced-colors: active) {
528
+ .menu-divider {
529
+ background-color: GrayText;
530
+ }
531
+ }
489
532
  `;
490
- var $ = Object.getOwnPropertyDescriptor, D = (e, t, s, i) => {
491
- for (var n = i > 1 ? void 0 : i ? $(t, s) : t, r = e.length - 1, o; r >= 0; r--)
492
- (o = e[r]) && (n = o(n) || n);
493
- return n;
533
+ var $ = Object.getOwnPropertyDescriptor, D = (e, t, n, s) => {
534
+ for (var i = s > 1 ? void 0 : s ? $(t, n) : t, r = e.length - 1, a; r >= 0; r--)
535
+ (a = e[r]) && (i = a(i) || i);
536
+ return i;
494
537
  };
495
- let m = class extends f {
538
+ let m = class extends v {
496
539
  render() {
497
540
  return u`<div
498
541
  part="base"
@@ -504,11 +547,11 @@ let m = class extends f {
504
547
  };
505
548
  m.styles = [E];
506
549
  m = D([
507
- x("hx-menu-divider")
550
+ f("hx-menu-divider")
508
551
  ], m);
509
552
  export {
510
553
  d as H,
511
554
  m as a,
512
- a as b
555
+ o as b
513
556
  };
514
- //# sourceMappingURL=hx-menu-divider-DRT8yHRZ.js.map
557
+ //# sourceMappingURL=hx-menu-divider-Ck-9Os1t.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hx-menu-divider-Ck-9Os1t.js","sources":["../../src/components/hx-menu/hx-menu.styles.ts","../../src/components/hx-menu/hx-menu.ts","../../src/components/hx-menu/hx-menu-item.styles.ts","../../src/components/hx-menu/hx-menu-item.ts","../../src/components/hx-menu/hx-menu-divider.styles.ts","../../src/components/hx-menu/hx-menu-divider.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixMenuStyles = css`\n :host {\n display: block;\n }\n\n .menu {\n display: flex;\n flex-direction: column;\n padding: var(--hx-space-1, 0.25rem);\n background: var(--hx-menu-bg, var(--hx-color-neutral-0, #ffffff));\n border: var(--hx-border-width-thin, 1px) solid\n var(--hx-menu-border-color, var(--hx-color-neutral-200, #e2e8f0));\n border-radius: var(--hx-menu-border-radius, var(--hx-border-radius-md, 0.375rem));\n box-shadow: var(\n --hx-menu-shadow,\n var(--hx-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1))\n );\n min-width: var(--hx-menu-min-width, 10rem);\n max-height: var(--hx-menu-max-height, 20rem);\n overflow-y: auto;\n outline: none;\n }\n\n /* ─── High Contrast Mode (forced-colors) ─── */\n\n @media (forced-colors: active) {\n .menu {\n background-color: Canvas;\n border: 2px solid CanvasText;\n }\n }\n`;\n","import { html } from 'lit';\nimport '../../utilities/document-token-adoption.js';\nimport { customElement, property } from 'lit/decorators.js';\nimport { HelixElement } from '../../base/index.js';\nimport { helixMenuStyles } from './hx-menu.styles.js';\nimport type { HelixMenuItem } from './hx-menu-item.js';\nimport { devWarn } from '../../utils/dev-warn.js';\n\n/**\n * A menu container that manages keyboard navigation over a list of menu items.\n * Use with `hx-menu-item` and `hx-menu-divider`.\n *\n * @summary Context/action menu with keyboard-navigable items.\n *\n * @tag hx-menu\n *\n * @slot - Default slot for hx-menu-item and hx-menu-divider elements.\n *\n * @fires {CustomEvent<{item: HelixMenuItem, value: string}>} hx-select - Dispatched when an item is selected.\n * @fires {CustomEvent<void>} hx-close - Dispatched when Escape is pressed.\n *\n * @csspart base - The root menu element.\n *\n * @cssprop [--hx-menu-bg=var(--hx-color-neutral-0)] - Menu background color.\n * @cssprop [--hx-menu-border-color=var(--hx-color-neutral-200)] - Menu border color.\n * @cssprop [--hx-menu-border-radius=var(--hx-border-radius-md)] - Menu border radius.\n * @cssprop [--hx-menu-shadow] - Menu box shadow.\n * @cssprop [--hx-menu-min-width=10rem] - Minimum menu width.\n * @cssprop [--hx-menu-max-height=20rem] - Maximum menu height before vertical scroll is activated.\n */\n@customElement('hx-menu')\nexport class HelixMenu extends HelixElement {\n static override styles = [helixMenuStyles];\n\n /**\n * Accessible label for the menu. Rendered as `aria-label` on the inner\n * `role=\"menu\"` element when set.\n * @attr label\n */\n @property({ type: String, reflect: true })\n label = '';\n\n /**\n * Index of the currently focused menu item within the list of enabled items.\n * @internal\n */\n private _focusedIndex = -1;\n\n /**\n * Accumulated character buffer for typeahead search within menu items.\n * @internal\n */\n private _typeaheadBuffer = '';\n\n /**\n * Timer handle that clears the typeahead buffer after a period of inactivity.\n * @internal\n */\n private _typeaheadTimer: ReturnType<typeof setTimeout> | null = null;\n\n /** @internal */\n private _getItems(): HelixMenuItem[] {\n return Array.from(this.querySelectorAll<HelixMenuItem>('hx-menu-item')).filter(\n (item) => !item.disabled && !item.loading,\n );\n }\n\n /**\n * Synchronize roving tabindex across all enabled items.\n * Only the active item (or first item if none active) gets tabindex=0.\n */\n /** @internal */\n private _syncRovingTabIndex(): void {\n const items = this._getItems();\n const activeIndex = this._focusedIndex >= 0 ? this._focusedIndex : 0;\n items.forEach((item, i) => {\n item.setRovingTabIndex(i === activeIndex ? 0 : -1);\n });\n }\n\n /** Focus the first menu item. */\n focusFirst(): void {\n const items = this._getItems();\n const first = items[0];\n if (first !== undefined) {\n this._focusedIndex = 0;\n this._syncRovingTabIndex();\n first.focus();\n }\n }\n\n /** Focus the last menu item. */\n focusLast(): void {\n const items = this._getItems();\n const last = items[items.length - 1];\n if (last !== undefined) {\n this._focusedIndex = items.length - 1;\n this._syncRovingTabIndex();\n last.focus();\n }\n }\n\n /** @internal */\n private _focusItem(index: number): void {\n const items = this._getItems();\n if (items.length === 0) return;\n this._focusedIndex = Math.max(0, Math.min(index, items.length - 1));\n this._syncRovingTabIndex();\n const target = items[this._focusedIndex];\n if (target !== undefined) target.focus();\n }\n\n /** @internal */\n private _updateFocusedIndex(): void {\n const items = this._getItems();\n const active = this.shadowRoot?.activeElement ?? document.activeElement;\n // Find the active item by checking if any item's shadow root contains the active element\n const idx = items.findIndex((item) => item.matches(':focus-within') || item === active);\n if (idx !== -1) this._focusedIndex = idx;\n }\n\n /** @internal */\n private _handleKeyDown(e: KeyboardEvent): void {\n this._updateFocusedIndex();\n const items = this._getItems();\n if (items.length === 0) return;\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n this._focusItem(this._focusedIndex + 1 < items.length ? this._focusedIndex + 1 : 0);\n break;\n case 'ArrowUp':\n e.preventDefault();\n this._focusItem(this._focusedIndex > 0 ? this._focusedIndex - 1 : items.length - 1);\n break;\n case 'Home':\n e.preventDefault();\n this._focusItem(0);\n break;\n case 'End':\n e.preventDefault();\n this._focusItem(items.length - 1);\n break;\n case 'Escape':\n e.preventDefault();\n this.dispatchEvent(new CustomEvent<void>('hx-close', { bubbles: true, composed: true }));\n break;\n default:\n if (e.key.length === 1 && e.key !== ' ' && !e.ctrlKey && !e.metaKey && !e.altKey) {\n this._handleTypeahead(e.key, items);\n }\n break;\n }\n }\n\n /** @internal */\n private _handleTypeahead(char: string, items: HelixMenuItem[]): void {\n if (this._typeaheadTimer !== null) {\n clearTimeout(this._typeaheadTimer);\n }\n this._typeaheadBuffer += char.toLowerCase();\n this._typeaheadTimer = setTimeout(() => {\n this._typeaheadBuffer = '';\n this._typeaheadTimer = null;\n }, 500);\n\n const match = items.findIndex((item) => {\n if (item.disabled || item.hasAttribute('disabled')) return false;\n const text = item.textContent?.trim().toLowerCase() ?? '';\n return text.startsWith(this._typeaheadBuffer);\n });\n\n if (match !== -1) {\n this._focusItem(match);\n }\n }\n\n /** @internal */\n private _handleSlotChange(e: Event): void {\n const slot = e.target;\n if (!(slot instanceof HTMLSlotElement)) return;\n const validTags = new Set(['hx-menu-item', 'hx-menu-divider']);\n const invalid = slot\n .assignedElements()\n .filter((el) => !validTags.has(el.tagName.toLowerCase()));\n if (invalid.length > 0) {\n devWarn(\n 'hx-menu',\n `Default slot expects <hx-menu-item> or <hx-menu-divider> elements. Found unexpected: ${invalid.map((el) => `<${el.tagName.toLowerCase()}>`).join(', ')}`,\n );\n }\n // Initialize roving tabindex when items are slotted\n this._syncRovingTabIndex();\n }\n\n /** @internal */\n private _handleItemSelect(e: Event): void {\n if (!(e instanceof CustomEvent)) return;\n const detail = (e as CustomEvent<{ item: HelixMenuItem; value: string }>).detail;\n const items = this._getItems();\n this._focusedIndex = items.indexOf(detail.item);\n\n this.dispatchEvent(\n new CustomEvent<{ item: HelixMenuItem; value: string }>('hx-select', {\n bubbles: true,\n composed: true,\n detail: { item: detail.item, value: detail.value },\n }),\n );\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this._typeaheadTimer !== null) {\n clearTimeout(this._typeaheadTimer);\n this._typeaheadTimer = null;\n }\n }\n\n override firstUpdated(): void {\n if (!this.label) {\n devWarn(\n 'hx-menu',\n 'No accessible label provided. Set the `label` attribute on hx-menu so screen readers can identify this menu (WCAG 4.1.2).',\n );\n }\n }\n\n override render() {\n return html`\n <div\n part=\"base\"\n class=\"menu\"\n role=\"menu\"\n aria-label=${this.label || 'Menu'}\n @keydown=${this._handleKeyDown}\n @hx-item-select=${this._handleItemSelect}\n >\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-menu': HelixMenu;\n }\n}\n","import { css } from 'lit';\n\nexport const helixMenuItemStyles = css`\n :host {\n display: block;\n }\n\n :host([disabled]) {\n pointer-events: none;\n opacity: var(--hx-opacity-disabled, 0.5);\n }\n\n .menu-item {\n display: flex;\n align-items: center;\n gap: var(--hx-space-2, 0.5rem);\n min-height: var(--hx-touch-target-min, 44px);\n padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);\n border-radius: var(--hx-border-radius-sm, 0.25rem);\n cursor: pointer;\n color: var(--hx-menu-item-color, var(--hx-color-neutral-900, #0f172a));\n font-size: var(--hx-font-size-sm, 0.875rem);\n font-family: var(--hx-menu-item-font-family, var(--hx-font-family-sans, sans-serif));\n line-height: var(--hx-line-height-tight, 1.25);\n user-select: none;\n -webkit-user-select: none;\n outline: none;\n background: none;\n width: 100%;\n box-sizing: border-box;\n transition: background-color var(--hx-transition-fast, 150ms ease);\n }\n\n .menu-item:hover,\n .menu-item:focus-visible {\n background-color: var(--hx-menu-item-hover-bg, var(--hx-color-neutral-100, #f1f5f9));\n }\n\n .menu-item:focus-visible {\n outline: var(--hx-focus-ring-width, 2px) solid\n var(--hx-menu-item-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));\n outline-offset: var(--hx-menu-item-focus-ring-offset, 0px);\n }\n\n .menu-item__prefix,\n .menu-item__suffix {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n }\n\n .menu-item__label {\n flex: 1 1 auto;\n }\n\n .menu-item__checked-icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n width: 1em;\n opacity: 0;\n transition: opacity var(--hx-transition-fast, 150ms ease);\n }\n\n .menu-item--checked .menu-item__checked-icon {\n opacity: 1;\n }\n\n .menu-item__submenu-icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n margin-inline-start: auto;\n }\n\n .menu-item__spinner {\n width: 1em;\n height: 1em;\n flex-shrink: 0;\n animation: hx-menu-spin var(--hx-duration-spinner, 750ms) linear infinite;\n }\n\n @keyframes hx-menu-spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .menu-item {\n transition: none;\n }\n\n .menu-item__checked-icon {\n transition: none;\n }\n\n .menu-item__spinner {\n animation: none;\n opacity: var(--hx-opacity-muted, 0.6);\n }\n }\n\n /* ─── High Contrast Mode (forced-colors) ─── */\n\n @media (forced-colors: active) {\n .menu-item {\n forced-color-adjust: none;\n color: CanvasText;\n background-color: Canvas;\n }\n\n .menu-item:hover,\n .menu-item:focus-visible {\n background-color: Highlight;\n color: HighlightText;\n }\n\n .menu-item:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: -2px;\n }\n\n :host([disabled]) .menu-item {\n color: GrayText;\n opacity: 1;\n }\n }\n`;\n","import { html, nothing } from 'lit';\nimport '../../utilities/document-token-adoption.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { HelixElement } from '../../base/index.js';\nimport { helixMenuItemStyles } from './hx-menu-item.styles.js';\nimport { devWarn } from '../../utils/dev-warn.js';\n\n/**\n * A single interactive item for use inside `hx-menu`. Supports normal, checkbox,\n * and radio types, loading state, prefix/suffix slots, and submenu nesting.\n * Use `aria-label` on the parent `hx-menu` to provide an accessible name.\n *\n * @summary Interactive item within an hx-menu.\n *\n * @tag hx-menu-item\n *\n * @slot - Default slot for the item label.\n * @slot prefix - Icon or content rendered before the label.\n * @slot suffix - Shortcut text or icon rendered after the label.\n * @slot submenu - A nested hx-menu for submenu content.\n *\n * @fires {CustomEvent<{item: HelixMenuItem, value: string}>} hx-item-select - Dispatched when the item is activated via click, Enter, or Space.\n * @fires {CustomEvent<{item: HelixMenuItem}>} hx-item-submenu-open - Dispatched when ArrowRight is pressed on an item with a submenu.\n * @fires {CustomEvent<{item: HelixMenuItem}>} hx-item-submenu-close - Dispatched when ArrowLeft is pressed on an item, signaling the parent to close the submenu and return focus.\n *\n * @csspart base - The root item element.\n * @csspart prefix - Prefix slot wrapper.\n * @csspart label - Label slot wrapper.\n * @csspart suffix - Suffix slot wrapper.\n * @csspart submenu-icon - The chevron icon indicating a submenu.\n * @csspart checked-icon - The checkmark icon for checkbox-type items.\n *\n * @cssprop [--hx-menu-item-color=var(--hx-color-neutral-900)] - Item text color.\n * @cssprop [--hx-menu-item-hover-bg=var(--hx-color-neutral-100)] - Item hover/focus background.\n */\n@customElement('hx-menu-item')\nexport class HelixMenuItem extends HelixElement {\n static override styles = [helixMenuItemStyles];\n\n /**\n * @internal Managed by parent hx-menu for roving tabindex.\n * Only the active item in the menu has tabindex=0; all others have -1.\n */\n @state()\n private _rovingTabIndex = -1;\n\n /** @internal Set the roving tabindex value. Called by parent hx-menu. */\n setRovingTabIndex(value: number): void {\n this._rovingTabIndex = value;\n }\n\n /** Set whether the nested submenu is open. Called by the component managing submenu visibility. */\n setSubmenuOpen(open: boolean): void {\n this._submenuOpen = open;\n }\n\n /**\n * The value associated with this item, emitted in the hx-select event.\n * @attr value\n */\n @property({ type: String })\n value = '';\n\n /**\n * Whether the item is disabled. Prevents interaction and event dispatch.\n * @attr disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Whether the item is checked. Only meaningful when type=\"checkbox\".\n * @attr checked\n */\n @property({ type: Boolean, reflect: true })\n checked = false;\n\n /**\n * The type of menu item. \"checkbox\" renders a checkmark and toggles checked state.\n * \"radio\" renders a checkmark and emits selection for radio-group behavior.\n * @attr type\n */\n @property({ type: String, reflect: true })\n type: 'normal' | 'checkbox' | 'radio' = 'normal';\n\n /**\n * Whether the item is in a loading state. Shows a spinner and prevents interaction.\n * @attr loading\n */\n @property({ type: Boolean, reflect: true })\n loading = false;\n\n /** @internal */\n @state()\n private _hasSubmenu = false;\n\n /** @internal Tracks whether the nested submenu is currently open. */\n @state()\n private _submenuOpen = false;\n\n /** @internal */\n @query('.menu-item') private _menuItemEl!: HTMLElement | null;\n\n /** Focus the inner interactive element. */\n override focus(options?: FocusOptions): void {\n this._menuItemEl?.focus(options);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n // WCAG 4.1.2: menuitem role is only valid inside a role=\"menu\" or role=\"menubar\" container.\n // Check the closest ancestor with a menu role.\n const menuHost = this.closest('hx-menu, hx-split-button, [role=\"menu\"], [role=\"menubar\"]');\n if (!menuHost) {\n devWarn(\n 'hx-menu-item',\n 'hx-menu-item must be used inside an hx-menu or an element with role=\"menu\". ' +\n 'An orphaned menuitem violates WCAG 1.3.1 (Info and Relationships).',\n );\n }\n }\n\n /** @internal */\n private _handleSubmenuSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n this._hasSubmenu = slot.assignedElements().length > 0;\n }\n\n /** @internal */\n private _activate(): void {\n if (this.disabled || this.loading) return;\n\n if (this.type === 'checkbox') {\n this.checked = !this.checked;\n } else if (this.type === 'radio') {\n const menu = this.closest('hx-menu');\n if (menu) {\n menu\n .querySelectorAll<HelixMenuItem>(':scope > hx-menu-item[type=\"radio\"]')\n .forEach((sibling) => {\n sibling.checked = sibling === this;\n });\n } else {\n this.checked = true;\n }\n }\n\n this.dispatchEvent(\n new CustomEvent<{ item: HelixMenuItem; value: string }>('hx-item-select', {\n bubbles: true,\n composed: true,\n detail: { item: this, value: this.value },\n }),\n );\n }\n\n /** @internal */\n private _handleClick(e: MouseEvent): void {\n if (this.disabled || this.loading) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n this._activate();\n }\n\n /** @internal */\n private _handleKeyDown(e: KeyboardEvent): void {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this._activate();\n return;\n }\n\n if (e.key === 'ArrowRight' && this._hasSubmenu) {\n e.preventDefault();\n this.dispatchEvent(\n new CustomEvent<{ item: HelixMenuItem }>('hx-item-submenu-open', {\n bubbles: true,\n composed: true,\n detail: { item: this },\n }),\n );\n return;\n }\n\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n this.dispatchEvent(\n new CustomEvent<{ item: HelixMenuItem }>('hx-item-submenu-close', {\n bubbles: true,\n composed: true,\n detail: { item: this },\n }),\n );\n }\n }\n\n /** @internal */\n private _renderCheckedIcon() {\n return html`\n <span part=\"checked-icon\" class=\"menu-item__checked-icon\" aria-hidden=\"true\">\n <svg\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </span>\n `;\n }\n\n /** @internal */\n private _renderSubmenuIcon() {\n return html`\n <span part=\"submenu-icon\" class=\"menu-item__submenu-icon\" aria-hidden=\"true\">\n <svg\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </span>\n `;\n }\n\n /** @internal */\n private _renderSpinner() {\n return html`\n <svg class=\"menu-item__spinner\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"none\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"3\" opacity=\"0.3\" />\n <path\n d=\"M12 2a10 10 0 0 1 10 10\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n />\n </svg>\n `;\n }\n\n /** @internal */\n private _getRole(): string {\n switch (this.type) {\n case 'checkbox':\n return 'menuitemcheckbox';\n case 'radio':\n return 'menuitemradio';\n default:\n return 'menuitem';\n }\n }\n\n override render() {\n const role = this._getRole();\n const hasCheckableRole = this.type === 'checkbox' || this.type === 'radio';\n const classes = {\n 'menu-item': true,\n 'menu-item--checked': this.checked,\n };\n\n return html`\n <div\n part=\"base\"\n class=${classMap(classes)}\n role=${role}\n tabindex=${this.disabled ? '-1' : String(this._rovingTabIndex)}\n aria-disabled=${this.disabled ? 'true' : nothing}\n aria-checked=${hasCheckableRole ? (this.checked ? 'true' : 'false') : nothing}\n aria-haspopup=${this._hasSubmenu ? 'menu' : nothing}\n aria-expanded=${this._hasSubmenu ? (this._submenuOpen ? 'true' : 'false') : nothing}\n aria-busy=${this.loading ? 'true' : nothing}\n @click=${this._handleClick}\n @keydown=${this._handleKeyDown}\n >\n ${this.loading ? this._renderSpinner() : nothing}\n ${hasCheckableRole ? this._renderCheckedIcon() : nothing}\n <span part=\"prefix\" class=\"menu-item__prefix\">\n <slot name=\"prefix\"></slot>\n </span>\n <span part=\"label\" class=\"menu-item__label\">\n <slot></slot>\n </span>\n <span part=\"suffix\" class=\"menu-item__suffix\">\n <slot name=\"suffix\"></slot>\n </span>\n ${this._hasSubmenu ? this._renderSubmenuIcon() : nothing}\n <slot name=\"submenu\" @slotchange=${this._handleSubmenuSlotChange}></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-menu-item': HelixMenuItem;\n }\n}\n","import { css } from 'lit';\n\nexport const helixMenuDividerStyles = css`\n :host {\n display: block;\n }\n\n .menu-divider {\n height: var(--hx-border-width-thin, 1px);\n background-color: var(--hx-menu-divider-color, var(--hx-color-neutral-200, #e2e8f0));\n margin: var(--hx-space-1, 0.25rem) calc(-1 * var(--hx-space-1, 0.25rem));\n }\n\n /* ─── High Contrast Mode (forced-colors) ─── */\n\n @media (forced-colors: active) {\n .menu-divider {\n background-color: GrayText;\n }\n }\n`;\n","import { html } from 'lit';\nimport '../../utilities/document-token-adoption.js';\nimport { customElement } from 'lit/decorators.js';\nimport { HelixElement } from '../../base/index.js';\nimport { helixMenuDividerStyles } from './hx-menu-divider.styles.js';\n\n/**\n * A visual separator for grouping items within an `hx-menu`.\n *\n * @summary Horizontal divider between menu sections.\n *\n * @tag hx-menu-divider\n *\n * @csspart base - The root separator element.\n *\n * @cssprop [--hx-menu-divider-color=var(--hx-color-neutral-200)] - Divider line color.\n */\n@customElement('hx-menu-divider')\nexport class HelixMenuDivider extends HelixElement {\n static override styles = [helixMenuDividerStyles];\n\n override render() {\n return html`<div\n part=\"base\"\n class=\"menu-divider\"\n role=\"separator\"\n aria-orientation=\"horizontal\"\n ></div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-menu-divider': HelixMenuDivider;\n }\n}\n"],"names":["helixMenuStyles","css","HelixMenu","HelixElement","item","items","activeIndex","i","first","last","index","target","active","_a","idx","char","match","slot","validTags","invalid","el","devWarn","detail","html","__decorateClass","property","customElement","helixMenuItemStyles","HelixMenuItem","value","open","options","menu","sibling","role","hasCheckableRole","classes","classMap","nothing","state","query","helixMenuDividerStyles","HelixMenuDivider"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { css as f, LitElement as g, nothing as x, html as v } from "lit";
2
- import "./document-token-adoption-DuYNKd4k.js";
3
- import { property as h, state as b, customElement as w } from "lit/decorators.js";
1
+ import { css as x, nothing as g, html as v } from "lit";
2
+ import { property as h, state as _, customElement as b } from "lit/decorators.js";
4
3
  import { ifDefined as m } from "lit/directives/if-defined.js";
5
- const y = f`
4
+ import { H as w } from "./helix-element-BNEYeiys.js";
5
+ import { c as y } from "./id-counter-DuX8vsui.js";
6
+ const $ = x`
6
7
  :host {
7
8
  display: block;
8
9
  width: 100%;
@@ -13,12 +14,19 @@ const y = f`
13
14
  flex-direction: column;
14
15
  gap: var(--hx-space-2, 0.5rem);
15
16
  width: 100%;
17
+ outline: none;
18
+ border-radius: var(--hx-border-radius-md, 0.375rem);
19
+ }
20
+
21
+ .meter:focus-visible {
22
+ outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #60a5fa);
23
+ outline-offset: var(--hx-focus-ring-offset, 2px);
16
24
  }
17
25
 
18
26
  .meter__label {
19
27
  font-size: var(--hx-font-size-sm, 0.875rem);
20
28
  font-weight: var(--hx-font-weight-medium, 500);
21
- color: var(--hx-meter-label-color, var(--hx-color-neutral-700, #374151));
29
+ color: var(--hx-meter-label-color, var(--hx-color-neutral-700, #334155));
22
30
  line-height: var(--hx-line-height-normal, 1.5);
23
31
  }
24
32
 
@@ -26,7 +34,7 @@ const y = f`
26
34
  position: relative;
27
35
  width: 100%;
28
36
  height: var(--hx-meter-track-height, var(--hx-space-2, 0.5rem));
29
- background-color: var(--hx-meter-track-color, var(--hx-color-neutral-200, #e5e7eb));
37
+ background-color: var(--hx-meter-track-color, var(--hx-color-neutral-200, #e2e8f0));
30
38
  border-radius: var(--hx-meter-track-radius, var(--hx-border-radius-full, 9999px));
31
39
  overflow: hidden;
32
40
  }
@@ -55,17 +63,17 @@ const y = f`
55
63
  /* ─── Default (no thresholds configured) ─── */
56
64
 
57
65
  :host {
58
- --_indicator-color: var(--hx-meter-indicator-color, var(--hx-color-primary-500, #3b82f6));
66
+ --_indicator-color: var(--hx-meter-indicator-color, var(--hx-color-primary-500, #2563eb));
59
67
  }
60
68
 
61
69
  /* ─── Semantic state colors ─── */
62
70
 
63
71
  :host([data-state='optimum']) {
64
- --_indicator-color: var(--hx-meter-color-optimum, var(--hx-color-success-500, #22c55e));
72
+ --_indicator-color: var(--hx-meter-color-optimum, var(--hx-color-success-500, #16a34a));
65
73
  }
66
74
 
67
75
  :host([data-state='warning']) {
68
- --_indicator-color: var(--hx-meter-color-warning, var(--hx-color-warning-500, #f59e0b));
76
+ --_indicator-color: var(--hx-meter-color-warning, var(--hx-color-warning-500, #d97706));
69
77
  }
70
78
 
71
79
  :host([data-state='danger']) {
@@ -81,27 +89,21 @@ const y = f`
81
89
  font-size: var(--hx-font-size-xs, 0.75rem);
82
90
  font-weight: var(--hx-font-weight-medium, 500);
83
91
  line-height: var(--hx-line-height-tight, 1.25);
84
- font-family: var(--hx-font-family-sans, sans-serif);
92
+ font-family: var(--hx-meter-font-family, var(--hx-font-family-sans, sans-serif));
85
93
  }
86
94
 
87
95
  .meter__state-label[data-state='optimum'] {
88
- color: var(--hx-meter-color-optimum, var(--hx-color-success-700, #15803d));
96
+ color: var(--hx-meter-color-optimum, var(--hx-color-success-700, #166534));
89
97
  }
90
98
 
91
99
  .meter__state-label[data-state='warning'] {
92
- color: var(--hx-meter-color-warning, var(--hx-color-warning-700, #b45309));
100
+ color: var(--hx-meter-color-warning, var(--hx-color-warning-700, #92400e));
93
101
  }
94
102
 
95
103
  .meter__state-label[data-state='danger'] {
96
104
  color: var(--hx-meter-color-danger, var(--hx-color-error-700, #991b1b));
97
105
  }
98
106
 
99
- @media (prefers-reduced-motion: reduce) {
100
- .meter__indicator {
101
- transition: none;
102
- }
103
- }
104
-
105
107
  /* ─── Native meter hidden (we use custom rendering) ─── */
106
108
 
107
109
  .meter__native {
@@ -115,15 +117,29 @@ const y = f`
115
117
  white-space: nowrap;
116
118
  border: 0;
117
119
  }
120
+
121
+ /* ─── Forced Colors (Windows High Contrast) ─── */
122
+
123
+ @media (forced-colors: active) {
124
+ .meter__track {
125
+ border: 1px solid CanvasText;
126
+ }
127
+
128
+ .meter__indicator {
129
+ forced-color-adjust: none;
130
+ background-color: Highlight;
131
+ }
132
+ }
118
133
  `;
119
- var $ = Object.defineProperty, S = Object.getOwnPropertyDescriptor, s = (e, t, i, o) => {
120
- for (var a = o > 1 ? void 0 : o ? S(t, i) : t, n = e.length - 1, l; n >= 0; n--)
121
- (l = e[n]) && (a = (o ? l(t, i, a) : l(a)) || a);
122
- return o && a && $(t, i, a), a;
134
+ var S = Object.defineProperty, L = Object.getOwnPropertyDescriptor, s = (e, t, i, o) => {
135
+ for (var r = o > 1 ? void 0 : o ? L(t, i) : t, n = e.length - 1, l; n >= 0; n--)
136
+ (l = e[n]) && (r = (o ? l(t, i, r) : l(r)) || r);
137
+ return o && r && S(t, i, r), r;
123
138
  };
124
- let r = class extends g {
139
+ const C = y("hx-meter");
140
+ let a = class extends w {
125
141
  constructor() {
126
- super(...arguments), this._uid = `hx-meter-${++r._counter}`, this.value = 0, this.min = 0, this.max = 100, this._hasSlotContent = !1;
142
+ super(...arguments), this._uid = C(), this.value = 0, this.min = 0, this.max = 100, this._hasSlotContent = !1;
127
143
  }
128
144
  /** @internal */
129
145
  _clampedValue() {
@@ -138,11 +154,11 @@ let r = class extends g {
138
154
  _resolveState() {
139
155
  const e = this._clampedValue(), t = this.low !== void 0, i = this.high !== void 0, o = this.optimum !== void 0;
140
156
  if (!t && !i && !o) return "default";
141
- const a = this.low ?? 0, n = this.high ?? this.max, l = t && e < a, c = i && e > n, d = !l && !c;
157
+ const r = this.low ?? 0, n = this.high ?? this.max, l = t && e < r, c = i && e > n, d = !l && !c;
142
158
  if (!o)
143
159
  return l || c ? "warning" : "optimum";
144
- const u = this.optimum ?? this.min, p = t && u < a, _ = i && u > n;
145
- return !p && !_ ? d ? "optimum" : "warning" : p ? l ? "optimum" : d ? "warning" : "danger" : c ? "optimum" : d ? "warning" : "danger";
160
+ const u = this.optimum ?? this.min, p = t && u < r, f = i && u > n;
161
+ return !p && !f ? d ? "optimum" : "warning" : p ? l ? "optimum" : d ? "warning" : "danger" : c ? "optimum" : d ? "warning" : "danger";
146
162
  }
147
163
  /** @internal */
148
164
  _onLabelSlotChange(e) {
@@ -155,7 +171,7 @@ let r = class extends g {
155
171
  this.style.setProperty("--_value-ratio", String(Math.max(0, Math.min(1, t))));
156
172
  }
157
173
  render() {
158
- const e = this._resolveState(), t = this._clampedValue(), i = e !== "default" ? ` — ${e}` : "", o = `${t} of ${this.max}${i}`, a = this.label !== void 0 || this._hasSlotContent, n = r._STATE_LABELS[e];
174
+ const e = this._resolveState(), t = this._clampedValue(), i = e !== "default" ? ` — ${e}` : "", o = `${t} of ${this.max}${i}`, r = this.label !== void 0 || this._hasSlotContent, n = a._STATE_LABELS[e];
159
175
  return v`
160
176
  <div
161
177
  part="base"
@@ -166,14 +182,14 @@ let r = class extends g {
166
182
  aria-valuemin=${this.min}
167
183
  aria-valuemax=${this.max}
168
184
  aria-valuetext=${o}
169
- aria-label=${m(a ? void 0 : `${t} of ${this.max}`)}
170
- aria-labelledby=${m(a ? `${this._uid}-label` : void 0)}
185
+ aria-label=${m(r ? void 0 : `${t} of ${this.max}`)}
186
+ aria-labelledby=${m(r ? `${this._uid}-label` : void 0)}
171
187
  >
172
188
  <span
173
189
  id=${`${this._uid}-label`}
174
190
  part="label"
175
191
  class="meter__label"
176
- ?hidden=${!a}
192
+ ?hidden=${!r}
177
193
  >
178
194
  <slot name="label" @slotchange=${this._onLabelSlotChange}>${this.label ?? ""}</slot>
179
195
  </span>
@@ -182,7 +198,7 @@ let r = class extends g {
182
198
  </div>
183
199
  ${n ? v`<span class="meter__state-label" data-state=${e} aria-hidden="true"
184
200
  >${n}</span
185
- >` : x}
201
+ >` : g}
186
202
  <meter
187
203
  class="meter__native"
188
204
  value=${t}
@@ -198,41 +214,40 @@ let r = class extends g {
198
214
  `;
199
215
  }
200
216
  };
201
- r.styles = [y];
202
- r._counter = 0;
203
- r._STATE_LABELS = {
217
+ a.styles = [$];
218
+ a._STATE_LABELS = {
204
219
  optimum: "Optimum",
205
220
  warning: "Warning",
206
221
  danger: "Danger"
207
222
  };
208
223
  s([
209
224
  h({ type: Number, reflect: !0 })
210
- ], r.prototype, "value", 2);
225
+ ], a.prototype, "value", 2);
211
226
  s([
212
227
  h({ type: Number, reflect: !0 })
213
- ], r.prototype, "min", 2);
228
+ ], a.prototype, "min", 2);
214
229
  s([
215
230
  h({ type: Number, reflect: !0 })
216
- ], r.prototype, "max", 2);
231
+ ], a.prototype, "max", 2);
217
232
  s([
218
233
  h({ type: Number, reflect: !0 })
219
- ], r.prototype, "low", 2);
234
+ ], a.prototype, "low", 2);
220
235
  s([
221
236
  h({ type: Number, reflect: !0 })
222
- ], r.prototype, "high", 2);
237
+ ], a.prototype, "high", 2);
223
238
  s([
224
239
  h({ type: Number, reflect: !0 })
225
- ], r.prototype, "optimum", 2);
240
+ ], a.prototype, "optimum", 2);
226
241
  s([
227
242
  h({ type: String })
228
- ], r.prototype, "label", 2);
243
+ ], a.prototype, "label", 2);
229
244
  s([
230
- b()
231
- ], r.prototype, "_hasSlotContent", 2);
232
- r = s([
233
- w("hx-meter")
234
- ], r);
245
+ _()
246
+ ], a.prototype, "_hasSlotContent", 2);
247
+ a = s([
248
+ b("hx-meter")
249
+ ], a);
235
250
  export {
236
- r as H
251
+ a as H
237
252
  };
238
- //# sourceMappingURL=hx-meter-BvSJoqDp.js.map
253
+ //# sourceMappingURL=hx-meter-TbROk-dw.js.map