@helixui/library 3.6.0 → 3.8.0-next.145

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 (413) hide show
  1. package/README.md +41 -0
  2. package/aaa-verdicts.json +2036 -0
  3. package/custom-elements.json +3045 -1254
  4. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  5. package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts.map +1 -1
  6. package/dist/components/hx-accordion/index.js +1 -1
  7. package/dist/components/hx-action-bar/hx-action-bar.d.ts +18 -0
  8. package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
  9. package/dist/components/hx-action-bar/hx-action-bar.styles.d.ts.map +1 -1
  10. package/dist/components/hx-action-bar/index.js +1 -1
  11. package/dist/components/hx-alert/hx-alert.d.ts +18 -8
  12. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  13. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  14. package/dist/components/hx-alert/index.js +1 -1
  15. package/dist/components/hx-avatar/hx-avatar.d.ts +4 -1
  16. package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -1
  17. package/dist/components/hx-avatar/hx-avatar.styles.d.ts.map +1 -1
  18. package/dist/components/hx-avatar/index.js +1 -1
  19. package/dist/components/hx-badge/hx-badge.d.ts.map +1 -1
  20. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
  21. package/dist/components/hx-badge/index.js +1 -1
  22. package/dist/components/hx-banner/hx-banner.d.ts +19 -8
  23. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  24. package/dist/components/hx-banner/hx-banner.styles.d.ts.map +1 -1
  25. package/dist/components/hx-banner/index.js +1 -1
  26. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
  27. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
  28. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +18 -0
  29. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
  30. package/dist/components/hx-breadcrumb/index.js +1 -1
  31. package/dist/components/hx-button/hx-button.d.ts +18 -0
  32. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  33. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  34. package/dist/components/hx-button/index.js +1 -1
  35. package/dist/components/hx-button-group/hx-button-group.d.ts +47 -0
  36. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  37. package/dist/components/hx-button-group/index.js +1 -1
  38. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
  39. package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -1
  40. package/dist/components/hx-carousel/index.js +1 -1
  41. package/dist/components/hx-checkbox/hx-checkbox.d.ts +18 -0
  42. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  43. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  44. package/dist/components/hx-checkbox/index.js +1 -1
  45. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +36 -0
  46. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  47. package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts.map +1 -1
  48. package/dist/components/hx-checkbox-group/index.js +1 -1
  49. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +26 -9
  50. package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
  51. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
  52. package/dist/components/hx-clinical-status/index.js +1 -1
  53. package/dist/components/hx-color-picker/hx-color-picker.d.ts +18 -0
  54. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  55. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  56. package/dist/components/hx-color-picker/index.js +1 -1
  57. package/dist/components/hx-combobox/hx-combobox.d.ts +18 -0
  58. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  59. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
  60. package/dist/components/hx-combobox/index.js +1 -1
  61. package/dist/components/hx-copy-button/hx-copy-button.d.ts +18 -0
  62. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
  63. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
  64. package/dist/components/hx-copy-button/index.js +1 -1
  65. package/dist/components/hx-date-picker/hx-date-picker.d.ts +18 -0
  66. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  67. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  68. package/dist/components/hx-date-picker/index.js +1 -1
  69. package/dist/components/hx-dialog/hx-dialog.d.ts +18 -0
  70. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  71. package/dist/components/hx-drawer/hx-drawer.d.ts +18 -0
  72. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  73. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  74. package/dist/components/hx-drawer/index.js +1 -1
  75. package/dist/components/hx-dropdown/hx-dropdown.d.ts +18 -0
  76. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  77. package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -1
  78. package/dist/components/hx-dropdown/index.js +1 -1
  79. package/dist/components/hx-field/hx-field.d.ts +17 -0
  80. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  81. package/dist/components/hx-field-label/hx-field-label.d.ts +17 -0
  82. package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
  83. package/dist/components/hx-file-upload/hx-file-upload.d.ts +46 -0
  84. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  85. package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -1
  86. package/dist/components/hx-file-upload/index.js +1 -1
  87. package/dist/components/hx-form/hx-form.d.ts +19 -0
  88. package/dist/components/hx-form/hx-form.d.ts.map +1 -1
  89. package/dist/components/hx-help-text/hx-help-text.d.ts +17 -0
  90. package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
  91. package/dist/components/hx-help-text/hx-help-text.styles.d.ts.map +1 -1
  92. package/dist/components/hx-help-text/index.js +1 -1
  93. package/dist/components/hx-icon/hx-icon.d.ts +108 -12
  94. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
  95. package/dist/components/hx-icon/hx-icon.styles.d.ts.map +1 -1
  96. package/dist/components/hx-icon/index.js +1 -1
  97. package/dist/components/hx-icon-button/hx-icon-button.d.ts +18 -0
  98. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  99. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  100. package/dist/components/hx-icon-button/index.js +1 -1
  101. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  102. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
  103. package/dist/components/hx-link/index.js +1 -1
  104. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  105. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  106. package/dist/components/hx-menu/hx-menu.d.ts +18 -0
  107. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  108. package/dist/components/hx-menu/index.js +1 -1
  109. package/dist/components/hx-nav/hx-nav.d.ts +18 -0
  110. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  111. package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
  112. package/dist/components/hx-nav/index.js +1 -1
  113. package/dist/components/hx-number-input/hx-number-input.d.ts +18 -0
  114. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  115. package/dist/components/hx-number-input/hx-number-input.styles.d.ts.map +1 -1
  116. package/dist/components/hx-number-input/index.js +1 -1
  117. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +23 -1
  118. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  119. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  120. package/dist/components/hx-overflow-menu/index.js +1 -1
  121. package/dist/components/hx-pagination/hx-pagination.styles.d.ts.map +1 -1
  122. package/dist/components/hx-pagination/index.js +1 -1
  123. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
  124. package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -1
  125. package/dist/components/hx-phi-field/index.js +1 -1
  126. package/dist/components/hx-popover/hx-popover.d.ts +18 -0
  127. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  128. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
  129. package/dist/components/hx-popover/index.js +1 -1
  130. package/dist/components/hx-popup/hx-popup.d.ts +18 -0
  131. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
  132. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
  133. package/dist/components/hx-popup/index.js +1 -1
  134. package/dist/components/hx-radio-group/hx-radio-group.d.ts +18 -0
  135. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  136. package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts.map +1 -1
  137. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
  138. package/dist/components/hx-radio-group/index.js +1 -1
  139. package/dist/components/hx-rating/hx-rating.d.ts +19 -0
  140. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  141. package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
  142. package/dist/components/hx-rating/index.js +1 -1
  143. package/dist/components/hx-select/hx-select.d.ts +18 -0
  144. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  145. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  146. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  147. package/dist/components/hx-side-nav/hx-side-nav.d.ts +18 -0
  148. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  149. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  150. package/dist/components/hx-side-nav/index.js +1 -1
  151. package/dist/components/hx-slider/hx-slider.d.ts +47 -0
  152. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  153. package/dist/components/hx-slider/index.js +1 -1
  154. package/dist/components/hx-split-button/hx-split-button.d.ts +18 -0
  155. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  156. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  157. package/dist/components/hx-split-button/index.js +1 -1
  158. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  159. package/dist/components/hx-stat/hx-stat.styles.d.ts.map +1 -1
  160. package/dist/components/hx-stat/index.js +1 -1
  161. package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
  162. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  163. package/dist/components/hx-steps/index.js +1 -1
  164. package/dist/components/hx-switch/hx-switch.d.ts +18 -0
  165. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  166. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  167. package/dist/components/hx-switch/index.js +1 -1
  168. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  169. package/dist/components/hx-tabs/hx-tabs.d.ts +18 -0
  170. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  171. package/dist/components/hx-tabs/index.js +1 -1
  172. package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
  173. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  174. package/dist/components/hx-tag/index.js +1 -1
  175. package/dist/components/hx-text-input/hx-text-input.d.ts +18 -0
  176. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  177. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  178. package/dist/components/hx-text-input/index.js +1 -1
  179. package/dist/components/hx-textarea/hx-textarea.d.ts +18 -0
  180. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  181. package/dist/components/hx-time-picker/hx-time-picker.d.ts +18 -0
  182. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  183. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  184. package/dist/components/hx-time-picker/index.js +1 -1
  185. package/dist/components/hx-toast/hx-toast.d.ts +19 -8
  186. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  187. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  188. package/dist/components/hx-toast/index.js +1 -1
  189. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +18 -0
  190. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  191. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  192. package/dist/components/hx-toggle-button/index.js +1 -1
  193. package/dist/components/hx-tooltip/hx-tooltip.d.ts +18 -0
  194. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  195. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -1
  196. package/dist/components/hx-tooltip/index.js +1 -1
  197. package/dist/components/hx-top-nav/hx-top-nav.d.ts +18 -0
  198. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
  199. package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -1
  200. package/dist/components/hx-top-nav/index.js +1 -1
  201. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  202. package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -1
  203. package/dist/components/hx-tree-view/index.js +1 -1
  204. package/dist/css/helix-all.css +414 -118
  205. package/dist/css/helix-core.css +43 -19
  206. package/dist/css/helix-feedback.css +15 -18
  207. package/dist/css/helix-forms.css +172 -44
  208. package/dist/css/helix-media.css +6 -3
  209. package/dist/css/helix-navigation.css +65 -12
  210. package/dist/css/helix-overlay.css +63 -0
  211. package/dist/css/helix-tokens.css +18 -15
  212. package/dist/css/helix-utility.css +44 -12
  213. package/dist/css/hx-action-bar.css +12 -0
  214. package/dist/css/hx-alert.css +4 -8
  215. package/dist/css/hx-avatar.css +1 -2
  216. package/dist/css/hx-badge.css +10 -5
  217. package/dist/css/hx-banner.css +4 -8
  218. package/dist/css/hx-button.css +15 -5
  219. package/dist/css/hx-carousel.css +6 -3
  220. package/dist/css/hx-checkbox-group.css +11 -0
  221. package/dist/css/hx-checkbox.css +24 -13
  222. package/dist/css/hx-clinical-status.css +4 -7
  223. package/dist/css/hx-color-picker.css +14 -1
  224. package/dist/css/hx-combobox.css +8 -0
  225. package/dist/css/hx-copy-button.css +5 -2
  226. package/dist/css/hx-date-picker.css +16 -3
  227. package/dist/css/hx-drawer.css +5 -0
  228. package/dist/css/hx-dropdown.css +18 -0
  229. package/dist/css/hx-file-upload.css +4 -0
  230. package/dist/css/hx-help-text.css +5 -0
  231. package/dist/css/hx-icon-button.css +4 -5
  232. package/dist/css/hx-icon.css +7 -0
  233. package/dist/css/hx-link.css +1 -2
  234. package/dist/css/hx-nav.css +31 -2
  235. package/dist/css/hx-number-input.css +10 -11
  236. package/dist/css/hx-overflow-menu.css +5 -0
  237. package/dist/css/hx-pagination.css +6 -3
  238. package/dist/css/hx-phi-field.css +2 -3
  239. package/dist/css/hx-popover.css +13 -0
  240. package/dist/css/hx-popup.css +14 -0
  241. package/dist/css/hx-radio-group.css +10 -0
  242. package/dist/css/hx-rating.css +6 -0
  243. package/dist/css/hx-side-nav.css +10 -5
  244. package/dist/css/hx-split-button.css +27 -10
  245. package/dist/css/hx-stat.css +1 -2
  246. package/dist/css/hx-switch.css +19 -1
  247. package/dist/css/hx-tag.css +5 -0
  248. package/dist/css/hx-text-input.css +4 -1
  249. package/dist/css/hx-time-picker.css +12 -2
  250. package/dist/css/hx-toast.css +6 -0
  251. package/dist/css/hx-toggle-button.css +29 -12
  252. package/dist/css/hx-tooltip.css +13 -0
  253. package/dist/css/hx-top-nav.css +13 -2
  254. package/dist/css/index.css +1 -1
  255. package/dist/css/manifest.json +60 -20
  256. package/dist/index.js +49 -49
  257. package/dist/shared/{hx-accordion-ZVzgDzTG.js → hx-accordion-DR--Ev4t.js} +48 -54
  258. package/dist/shared/hx-accordion-DR--Ev4t.js.map +1 -0
  259. package/dist/shared/{hx-action-bar-CitgcpGv.js → hx-action-bar-BlEG4aZv.js} +41 -29
  260. package/dist/shared/hx-action-bar-BlEG4aZv.js.map +1 -0
  261. package/dist/shared/{hx-alert-Bto8-TIi.js → hx-alert-C0axS32J.js} +40 -79
  262. package/dist/shared/hx-alert-C0axS32J.js.map +1 -0
  263. package/dist/shared/{hx-avatar-C9hOmlAb.js → hx-avatar-ChAYWnK8.js} +22 -24
  264. package/dist/shared/hx-avatar-ChAYWnK8.js.map +1 -0
  265. package/dist/shared/{hx-badge-JlFtAdxS.js → hx-badge-vX-1cuLA.js} +25 -20
  266. package/dist/shared/hx-badge-vX-1cuLA.js.map +1 -0
  267. package/dist/shared/{hx-banner-fpRnciIO.js → hx-banner-PbHwFNSb.js} +51 -90
  268. package/dist/shared/hx-banner-PbHwFNSb.js.map +1 -0
  269. package/dist/shared/{hx-breadcrumb-item-3tKppF9h.js → hx-breadcrumb-item-D8xYqe3s.js} +56 -43
  270. package/dist/shared/hx-breadcrumb-item-D8xYqe3s.js.map +1 -0
  271. package/dist/shared/{hx-button-BOwAEcF1.js → hx-button-DOZTZnz-.js} +29 -19
  272. package/dist/shared/hx-button-DOZTZnz-.js.map +1 -0
  273. package/dist/shared/hx-button-group-D3QUmSzl.js +248 -0
  274. package/dist/shared/hx-button-group-D3QUmSzl.js.map +1 -0
  275. package/dist/shared/{hx-carousel-item-z1Lc24op.js → hx-carousel-item-BVIKgQ4i.js} +72 -102
  276. package/dist/shared/hx-carousel-item-BVIKgQ4i.js.map +1 -0
  277. package/dist/shared/{hx-checkbox-CYd0YV_u.js → hx-checkbox-DDSXXhps.js} +56 -47
  278. package/dist/shared/hx-checkbox-DDSXXhps.js.map +1 -0
  279. package/dist/shared/{hx-checkbox-group-D5piJLY8.js → hx-checkbox-group-C0q6HDqn.js} +101 -58
  280. package/dist/shared/hx-checkbox-group-C0q6HDqn.js.map +1 -0
  281. package/dist/shared/{hx-clinical-status-D3XQIOqX.js → hx-clinical-status-ZSVEc3Qg.js} +68 -87
  282. package/dist/shared/hx-clinical-status-ZSVEc3Qg.js.map +1 -0
  283. package/dist/shared/{hx-color-picker-DBwJzT5f.js → hx-color-picker-CYjx8i8R.js} +97 -84
  284. package/dist/shared/hx-color-picker-CYjx8i8R.js.map +1 -0
  285. package/dist/shared/{hx-combobox-NgJaLbs2.js → hx-combobox-Be-mqOv4.js} +35 -45
  286. package/dist/shared/hx-combobox-Be-mqOv4.js.map +1 -0
  287. package/dist/shared/{hx-copy-button-sUVuikyH.js → hx-copy-button-DJirFCUL.js} +18 -15
  288. package/dist/shared/hx-copy-button-DJirFCUL.js.map +1 -0
  289. package/dist/shared/{hx-date-picker-B49yo4Vm.js → hx-date-picker-CziP3Hm1.js} +85 -84
  290. package/dist/shared/hx-date-picker-CziP3Hm1.js.map +1 -0
  291. package/dist/shared/hx-dialog-B4weoj_1.js.map +1 -1
  292. package/dist/shared/{hx-drawer-CM_upadk.js → hx-drawer-BlU2oX8-.js} +32 -36
  293. package/dist/shared/hx-drawer-BlU2oX8-.js.map +1 -0
  294. package/dist/shared/{hx-dropdown-D626S2ZG.js → hx-dropdown-DREqpIpm.js} +51 -33
  295. package/dist/shared/hx-dropdown-DREqpIpm.js.map +1 -0
  296. package/dist/shared/hx-field-label-BVRyyKeh.js.map +1 -1
  297. package/dist/shared/hx-field-zw0U1KVi.js.map +1 -1
  298. package/dist/shared/{hx-file-upload-D3rKROK5.js → hx-file-upload-CU5QGZSP.js} +137 -80
  299. package/dist/shared/hx-file-upload-CU5QGZSP.js.map +1 -0
  300. package/dist/shared/hx-form-CkChEATa.js.map +1 -1
  301. package/dist/shared/hx-help-text-CNaZ82LT.js +137 -0
  302. package/dist/shared/hx-help-text-CNaZ82LT.js.map +1 -0
  303. package/dist/shared/{hx-icon-button-a6OpeQz5.js → hx-icon-button-B2BdVdyK.js} +10 -11
  304. package/dist/shared/hx-icon-button-B2BdVdyK.js.map +1 -0
  305. package/dist/shared/hx-icon-bxz9eB9a.js +386 -0
  306. package/dist/shared/hx-icon-bxz9eB9a.js.map +1 -0
  307. package/dist/shared/{hx-link-CMnZRUtQ.js → hx-link-BURSdYLp.js} +19 -26
  308. package/dist/shared/hx-link-BURSdYLp.js.map +1 -0
  309. package/dist/shared/{hx-menu-divider-A6Guuzi_.js → hx-menu-divider-g0grbWV9.js} +19 -31
  310. package/dist/shared/hx-menu-divider-g0grbWV9.js.map +1 -0
  311. package/dist/shared/{hx-nav-ldFM3Fle.js → hx-nav-GTsAZGOx.js} +94 -85
  312. package/dist/shared/hx-nav-GTsAZGOx.js.map +1 -0
  313. package/dist/shared/{hx-nav-item-CODtUlew.js → hx-nav-item-CxE7Mp3M.js} +46 -41
  314. package/dist/shared/hx-nav-item-CxE7Mp3M.js.map +1 -0
  315. package/dist/shared/{hx-number-input-yUzFOSC1.js → hx-number-input-Bvyc9kOi.js} +59 -64
  316. package/dist/shared/hx-number-input-Bvyc9kOi.js.map +1 -0
  317. package/dist/shared/{hx-overflow-menu-DFjJAziP.js → hx-overflow-menu-LrTteeR1.js} +32 -39
  318. package/dist/shared/{hx-overflow-menu-DFjJAziP.js.map → hx-overflow-menu-LrTteeR1.js.map} +1 -1
  319. package/dist/shared/{hx-pagination-C7y8GVyU.js → hx-pagination-D726PyTM.js} +7 -4
  320. package/dist/shared/hx-pagination-D726PyTM.js.map +1 -0
  321. package/dist/shared/{hx-phi-field-C19oxlrr.js → hx-phi-field-sZt_rYIL.js} +46 -66
  322. package/dist/shared/hx-phi-field-sZt_rYIL.js.map +1 -0
  323. package/dist/shared/{hx-popover-BAlAFOH9.js → hx-popover-BjB0nkcq.js} +51 -38
  324. package/dist/shared/hx-popover-BjB0nkcq.js.map +1 -0
  325. package/dist/shared/{hx-popup-COUXXZ9X.js → hx-popup-BiV_2evC.js} +59 -45
  326. package/dist/shared/hx-popup-BiV_2evC.js.map +1 -0
  327. package/dist/shared/{hx-radio-C7eTj5YI.js → hx-radio-BD_c9NJy.js} +52 -39
  328. package/dist/shared/hx-radio-BD_c9NJy.js.map +1 -0
  329. package/dist/shared/{hx-rating-C3QP53k9.js → hx-rating-BGK4AxvI.js} +45 -71
  330. package/dist/shared/hx-rating-BGK4AxvI.js.map +1 -0
  331. package/dist/shared/hx-select-DahFehiZ.js.map +1 -1
  332. package/dist/shared/{hx-slider-Blmv_rwS.js → hx-slider-CkOk5BCY.js} +83 -23
  333. package/dist/shared/hx-slider-CkOk5BCY.js.map +1 -0
  334. package/dist/shared/{hx-split-button-Ddle8iVx.js → hx-split-button-Bg9FHrFK.js} +73 -65
  335. package/dist/shared/hx-split-button-Bg9FHrFK.js.map +1 -0
  336. package/dist/shared/{hx-stat-Gtw_SpK8.js → hx-stat-wKxbyep6.js} +22 -55
  337. package/dist/shared/hx-stat-wKxbyep6.js.map +1 -0
  338. package/dist/shared/{hx-step-R2rjp1fT.js → hx-step-CyGQAuiB.js} +7 -27
  339. package/dist/shared/hx-step-CyGQAuiB.js.map +1 -0
  340. package/dist/shared/{hx-switch-TvKGvZJz.js → hx-switch-BCXuNxEH.js} +42 -24
  341. package/dist/shared/hx-switch-BCXuNxEH.js.map +1 -0
  342. package/dist/shared/{hx-tab-panel-DzsX8BHV.js → hx-tab-panel-BfisavKo.js} +47 -32
  343. package/dist/shared/hx-tab-panel-BfisavKo.js.map +1 -0
  344. package/dist/shared/{hx-tag-C5aCUpVi.js → hx-tag-BqO6HY6V.js} +26 -21
  345. package/dist/shared/hx-tag-BqO6HY6V.js.map +1 -0
  346. package/dist/shared/{hx-text-input-D6FlOZM-.js → hx-text-input-V5sQOpDh.js} +5 -2
  347. package/dist/shared/hx-text-input-V5sQOpDh.js.map +1 -0
  348. package/dist/shared/hx-textarea-CNG590KY.js.map +1 -1
  349. package/dist/shared/{hx-time-picker-Bo7FWzmf.js → hx-time-picker-if5Cl0Ei.js} +42 -43
  350. package/dist/shared/hx-time-picker-if5Cl0Ei.js.map +1 -0
  351. package/dist/shared/{hx-toggle-button-DwBers3A.js → hx-toggle-button-xNVYeA3X.js} +64 -47
  352. package/dist/shared/hx-toggle-button-xNVYeA3X.js.map +1 -0
  353. package/dist/shared/{hx-tooltip-DVqtKPCD.js → hx-tooltip-CamO-9nd.js} +24 -11
  354. package/dist/shared/hx-tooltip-CamO-9nd.js.map +1 -0
  355. package/dist/shared/{hx-top-nav-DP6OFS8C.js → hx-top-nav-vP6oDWMV.js} +42 -44
  356. package/dist/shared/hx-top-nav-vP6oDWMV.js.map +1 -0
  357. package/dist/shared/{hx-tree-item-CXyspGxI.js → hx-tree-item-D8hwKd5m.js} +54 -57
  358. package/dist/shared/hx-tree-item-D8hwKd5m.js.map +1 -0
  359. package/dist/shared/{toast-factory-Dht3pVsw.js → toast-factory-DgnbFxVs.js} +127 -153
  360. package/dist/shared/toast-factory-DgnbFxVs.js.map +1 -0
  361. package/figma-inventory.json +1280 -429
  362. package/package.json +8 -4
  363. package/dist/shared/hx-accordion-ZVzgDzTG.js.map +0 -1
  364. package/dist/shared/hx-action-bar-CitgcpGv.js.map +0 -1
  365. package/dist/shared/hx-alert-Bto8-TIi.js.map +0 -1
  366. package/dist/shared/hx-avatar-C9hOmlAb.js.map +0 -1
  367. package/dist/shared/hx-badge-JlFtAdxS.js.map +0 -1
  368. package/dist/shared/hx-banner-fpRnciIO.js.map +0 -1
  369. package/dist/shared/hx-breadcrumb-item-3tKppF9h.js.map +0 -1
  370. package/dist/shared/hx-button-BOwAEcF1.js.map +0 -1
  371. package/dist/shared/hx-button-group-4NUBpkyC.js +0 -181
  372. package/dist/shared/hx-button-group-4NUBpkyC.js.map +0 -1
  373. package/dist/shared/hx-carousel-item-z1Lc24op.js.map +0 -1
  374. package/dist/shared/hx-checkbox-CYd0YV_u.js.map +0 -1
  375. package/dist/shared/hx-checkbox-group-D5piJLY8.js.map +0 -1
  376. package/dist/shared/hx-clinical-status-D3XQIOqX.js.map +0 -1
  377. package/dist/shared/hx-color-picker-DBwJzT5f.js.map +0 -1
  378. package/dist/shared/hx-combobox-NgJaLbs2.js.map +0 -1
  379. package/dist/shared/hx-copy-button-sUVuikyH.js.map +0 -1
  380. package/dist/shared/hx-date-picker-B49yo4Vm.js.map +0 -1
  381. package/dist/shared/hx-drawer-CM_upadk.js.map +0 -1
  382. package/dist/shared/hx-dropdown-D626S2ZG.js.map +0 -1
  383. package/dist/shared/hx-file-upload-D3rKROK5.js.map +0 -1
  384. package/dist/shared/hx-help-text-Xb2Yr8x2.js +0 -156
  385. package/dist/shared/hx-help-text-Xb2Yr8x2.js.map +0 -1
  386. package/dist/shared/hx-icon-button-a6OpeQz5.js.map +0 -1
  387. package/dist/shared/hx-icon-fuVm4-bk.js +0 -283
  388. package/dist/shared/hx-icon-fuVm4-bk.js.map +0 -1
  389. package/dist/shared/hx-link-CMnZRUtQ.js.map +0 -1
  390. package/dist/shared/hx-menu-divider-A6Guuzi_.js.map +0 -1
  391. package/dist/shared/hx-nav-item-CODtUlew.js.map +0 -1
  392. package/dist/shared/hx-nav-ldFM3Fle.js.map +0 -1
  393. package/dist/shared/hx-number-input-yUzFOSC1.js.map +0 -1
  394. package/dist/shared/hx-pagination-C7y8GVyU.js.map +0 -1
  395. package/dist/shared/hx-phi-field-C19oxlrr.js.map +0 -1
  396. package/dist/shared/hx-popover-BAlAFOH9.js.map +0 -1
  397. package/dist/shared/hx-popup-COUXXZ9X.js.map +0 -1
  398. package/dist/shared/hx-radio-C7eTj5YI.js.map +0 -1
  399. package/dist/shared/hx-rating-C3QP53k9.js.map +0 -1
  400. package/dist/shared/hx-slider-Blmv_rwS.js.map +0 -1
  401. package/dist/shared/hx-split-button-Ddle8iVx.js.map +0 -1
  402. package/dist/shared/hx-stat-Gtw_SpK8.js.map +0 -1
  403. package/dist/shared/hx-step-R2rjp1fT.js.map +0 -1
  404. package/dist/shared/hx-switch-TvKGvZJz.js.map +0 -1
  405. package/dist/shared/hx-tab-panel-DzsX8BHV.js.map +0 -1
  406. package/dist/shared/hx-tag-C5aCUpVi.js.map +0 -1
  407. package/dist/shared/hx-text-input-D6FlOZM-.js.map +0 -1
  408. package/dist/shared/hx-time-picker-Bo7FWzmf.js.map +0 -1
  409. package/dist/shared/hx-toggle-button-DwBers3A.js.map +0 -1
  410. package/dist/shared/hx-tooltip-DVqtKPCD.js.map +0 -1
  411. package/dist/shared/hx-top-nav-DP6OFS8C.js.map +0 -1
  412. package/dist/shared/hx-tree-item-CXyspGxI.js.map +0 -1
  413. package/dist/shared/toast-factory-Dht3pVsw.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,84 +1,84 @@
1
1
  import { lightTokenCss as p } from "@helixui/tokens";
2
- import { H as S, a as y } from "./shared/hx-accordion-ZVzgDzTG.js";
3
- import { H as b } from "./shared/hx-action-bar-CitgcpGv.js";
4
- import { H as g } from "./shared/hx-alert-Bto8-TIi.js";
5
- import { H as v } from "./shared/hx-avatar-C9hOmlAb.js";
6
- import { H as E } from "./shared/hx-badge-JlFtAdxS.js";
7
- import { H as k } from "./shared/hx-banner-fpRnciIO.js";
8
- import { H as B, a as P } from "./shared/hx-breadcrumb-item-3tKppF9h.js";
9
- import { H as M } from "./shared/hx-button-BOwAEcF1.js";
10
- import { H as N } from "./shared/hx-button-group-4NUBpkyC.js";
2
+ import { H as S, a as y } from "./shared/hx-accordion-DR--Ev4t.js";
3
+ import { H as b } from "./shared/hx-action-bar-BlEG4aZv.js";
4
+ import { H as g } from "./shared/hx-alert-C0axS32J.js";
5
+ import { H as v } from "./shared/hx-avatar-ChAYWnK8.js";
6
+ import { H as E } from "./shared/hx-badge-vX-1cuLA.js";
7
+ import { H as k } from "./shared/hx-banner-PbHwFNSb.js";
8
+ import { H as B, a as P } from "./shared/hx-breadcrumb-item-D8xYqe3s.js";
9
+ import { H as M } from "./shared/hx-button-DOZTZnz-.js";
10
+ import { H as N } from "./shared/hx-button-group-D3QUmSzl.js";
11
11
  import { H as A } from "./shared/hx-card-CswtnYvj.js";
12
- import { H as G, a as U } from "./shared/hx-carousel-item-z1Lc24op.js";
13
- import { H as O } from "./shared/hx-checkbox-CYd0YV_u.js";
14
- import { H as K } from "./shared/hx-checkbox-group-D5piJLY8.js";
15
- import { H as Y } from "./shared/hx-clinical-status-D3XQIOqX.js";
12
+ import { H as G, a as U } from "./shared/hx-carousel-item-BVIKgQ4i.js";
13
+ import { H as O } from "./shared/hx-checkbox-DDSXXhps.js";
14
+ import { H as K } from "./shared/hx-checkbox-group-C0q6HDqn.js";
15
+ import { H as Y } from "./shared/hx-clinical-status-ZSVEc3Qg.js";
16
16
  import { H as q } from "./shared/hx-code-snippet-fVV3Z2DZ.js";
17
- import { H as J } from "./shared/hx-color-picker-DBwJzT5f.js";
18
- import { H as Z } from "./shared/hx-combobox-NgJaLbs2.js";
17
+ import { H as J } from "./shared/hx-color-picker-CYjx8i8R.js";
18
+ import { H as Z } from "./shared/hx-combobox-Be-mqOv4.js";
19
19
  import { H as oe } from "./shared/hx-container-DVI7sxfX.js";
20
- import { H as re } from "./shared/hx-copy-button-sUVuikyH.js";
20
+ import { H as re } from "./shared/hx-copy-button-DJirFCUL.js";
21
21
  import { H as ie } from "./shared/hx-counter-0zYapFhf.js";
22
22
  import { H as xe } from "./shared/hx-data-table-Ct3gQ6ya.js";
23
- import { H as le } from "./shared/hx-date-picker-B49yo4Vm.js";
23
+ import { H as le } from "./shared/hx-date-picker-CziP3Hm1.js";
24
24
  import { H as pe } from "./shared/hx-dialog-B4weoj_1.js";
25
25
  import { H as fe } from "./shared/hx-divider-CYfcUjcr.js";
26
- import { H as de } from "./shared/hx-drawer-CM_upadk.js";
27
- import { H as ue } from "./shared/hx-dropdown-D626S2ZG.js";
26
+ import { H as de } from "./shared/hx-drawer-BlU2oX8-.js";
27
+ import { H as ue } from "./shared/hx-dropdown-DREqpIpm.js";
28
28
  import { H as ye } from "./shared/hx-field-zw0U1KVi.js";
29
29
  import { H as be } from "./shared/hx-field-label-BVRyyKeh.js";
30
- import { H as ge } from "./shared/hx-file-upload-D3rKROK5.js";
30
+ import { H as ge } from "./shared/hx-file-upload-CU5QGZSP.js";
31
31
  import { H as ve } from "./shared/hx-form-CkChEATa.js";
32
32
  import { H as Ee } from "./shared/hx-format-date-CKnlQOmV.js";
33
33
  import { H as ke, a as we } from "./shared/hx-grid-CXZf3jeK.js";
34
- import { H as Pe } from "./shared/hx-help-text-Xb2Yr8x2.js";
35
- import { H as Me } from "./shared/hx-icon-fuVm4-bk.js";
36
- import { H as Ne } from "./shared/hx-icon-button-a6OpeQz5.js";
34
+ import { H as Pe } from "./shared/hx-help-text-CNaZ82LT.js";
35
+ import { H as Me } from "./shared/hx-icon-bxz9eB9a.js";
36
+ import { H as Ne } from "./shared/hx-icon-button-B2BdVdyK.js";
37
37
  import { H as Ae } from "./shared/hx-image-Ben_4yM5.js";
38
- import { H as Ge } from "./shared/hx-link-CMnZRUtQ.js";
38
+ import { H as Ge } from "./shared/hx-link-BURSdYLp.js";
39
39
  import { H as Ve, a as Oe } from "./shared/hx-list-Bp8HeLHh.js";
40
- import { H as Ke, a as We, b as Ye } from "./shared/hx-menu-divider-A6Guuzi_.js";
40
+ import { H as Ke, a as We, b as Ye } from "./shared/hx-menu-divider-g0grbWV9.js";
41
41
  import { H as qe } from "./shared/hx-meter-BnpmF3Vx.js";
42
- import { H as Je } from "./shared/hx-nav-ldFM3Fle.js";
43
- import { H as Ze } from "./shared/hx-number-input-yUzFOSC1.js";
44
- import { H as oo } from "./shared/hx-overflow-menu-DFjJAziP.js";
45
- import { H as ro } from "./shared/hx-pagination-C7y8GVyU.js";
42
+ import { H as Je } from "./shared/hx-nav-GTsAZGOx.js";
43
+ import { H as Ze } from "./shared/hx-number-input-Bvyc9kOi.js";
44
+ import { H as oo } from "./shared/hx-overflow-menu-LrTteeR1.js";
45
+ import { H as ro } from "./shared/hx-pagination-D726PyTM.js";
46
46
  import { H as io } from "./shared/hx-patient-banner-CkS-Lmj4.js";
47
- import { H as xo } from "./shared/hx-phi-field-C19oxlrr.js";
48
- import { H as lo } from "./shared/hx-popover-BAlAFOH9.js";
49
- import { H as po } from "./shared/hx-popup-COUXXZ9X.js";
47
+ import { H as xo } from "./shared/hx-phi-field-sZt_rYIL.js";
48
+ import { H as lo } from "./shared/hx-popover-BjB0nkcq.js";
49
+ import { H as po } from "./shared/hx-popup-BiV_2evC.js";
50
50
  import { H as fo } from "./shared/hx-progress-bar-CYz9U721.js";
51
51
  import { H as ho } from "./shared/hx-progress-ring-TwHyXeEp.js";
52
52
  import { H as So } from "./shared/hx-prose-BThYcASV.js";
53
- import { H as To, a as bo } from "./shared/hx-radio-C7eTj5YI.js";
54
- import { H as go } from "./shared/hx-rating-C3QP53k9.js";
53
+ import { H as To, a as bo } from "./shared/hx-radio-BD_c9NJy.js";
54
+ import { H as go } from "./shared/hx-rating-BGK4AxvI.js";
55
55
  import { H as vo } from "./shared/hx-select-DahFehiZ.js";
56
- import { H as Eo, a as Do } from "./shared/hx-nav-item-CODtUlew.js";
56
+ import { H as Eo, a as Do } from "./shared/hx-nav-item-CxE7Mp3M.js";
57
57
  import { H as wo } from "./shared/hx-skeleton-Cnieh5Uc.js";
58
- import { H as Po } from "./shared/hx-slider-Blmv_rwS.js";
58
+ import { H as Po } from "./shared/hx-slider-CkOk5BCY.js";
59
59
  import { H as Mo } from "./shared/hx-spinner-3qBp4jeN.js";
60
- import { H as No } from "./shared/hx-split-button-Ddle8iVx.js";
60
+ import { H as No } from "./shared/hx-split-button-Bg9FHrFK.js";
61
61
  import { H as Ao } from "./shared/hx-split-panel-B-u0Z3mm.js";
62
62
  import { H as Go } from "./shared/hx-stack-DGfcOfWJ.js";
63
- import { H as Vo } from "./shared/hx-stat-Gtw_SpK8.js";
63
+ import { H as Vo } from "./shared/hx-stat-wKxbyep6.js";
64
64
  import { H as Xo } from "./shared/hx-status-indicator-BlQyen43.js";
65
- import { H as Wo, a as Yo } from "./shared/hx-step-R2rjp1fT.js";
65
+ import { H as Wo, a as Yo } from "./shared/hx-step-CyGQAuiB.js";
66
66
  import { H as qo, a as zo } from "./shared/hx-structured-list-m_-dMJbC.js";
67
67
  import { H as Qo } from "./shared/hx-style-scope-TDnR8H4O.js";
68
- import { H as et } from "./shared/hx-switch-TvKGvZJz.js";
68
+ import { H as et } from "./shared/hx-switch-BCXuNxEH.js";
69
69
  import { H as tt, a as rt, b as at, c as it, d as st, e as xt, f as Ht } from "./shared/hx-td-BPsb6OaG.js";
70
- import { H as nt, a as pt, b as mt } from "./shared/hx-tab-panel-DzsX8BHV.js";
71
- import { H as ct } from "./shared/hx-tag-C5aCUpVi.js";
70
+ import { H as nt, a as pt, b as mt } from "./shared/hx-tab-panel-BfisavKo.js";
71
+ import { H as ct } from "./shared/hx-tag-BqO6HY6V.js";
72
72
  import { H as ht } from "./shared/hx-text-Bz_9fJ3J.js";
73
- import { F as St, H as yt } from "./shared/hx-text-input-D6FlOZM-.js";
73
+ import { F as St, H as yt } from "./shared/hx-text-input-V5sQOpDh.js";
74
74
  import { H as bt } from "./shared/hx-textarea-CNG590KY.js";
75
75
  import { H as gt } from "./shared/hx-theme-BsefFWTO.js";
76
- import { H as vt } from "./shared/hx-time-picker-Bo7FWzmf.js";
77
- import { H as Et, a as Dt, t as kt } from "./shared/toast-factory-Dht3pVsw.js";
78
- import { H as Bt } from "./shared/hx-toggle-button-DwBers3A.js";
79
- import { H as Ft } from "./shared/hx-tooltip-DVqtKPCD.js";
80
- import { H as Lt } from "./shared/hx-top-nav-DP6OFS8C.js";
81
- import { H as Rt, a as At } from "./shared/hx-tree-item-CXyspGxI.js";
76
+ import { H as vt } from "./shared/hx-time-picker-if5Cl0Ei.js";
77
+ import { H as Et, a as Dt, t as kt } from "./shared/toast-factory-DgnbFxVs.js";
78
+ import { H as Bt } from "./shared/hx-toggle-button-xNVYeA3X.js";
79
+ import { H as Ft } from "./shared/hx-tooltip-CamO-9nd.js";
80
+ import { H as Lt } from "./shared/hx-top-nav-vP6oDWMV.js";
81
+ import { H as Rt, a as At } from "./shared/hx-tree-item-D8hwKd5m.js";
82
82
  import { H as Gt } from "./shared/hx-visually-hidden-0bZKOWgT.js";
83
83
  import { F as Vt } from "./shared/FormMixin-B8PXk5RQ.js";
84
84
  import { H as Xt } from "./shared/helix-element-BNEYeiys.js";
@@ -1,11 +1,11 @@
1
- import { css as _, nothing as y, html as C, svg as I } from "lit";
1
+ import { css as C, nothing as _, html as f } from "lit";
2
2
  import { property as h, customElement as E } from "lit/decorators.js";
3
- import { classMap as O } from "lit/directives/class-map.js";
3
+ import { classMap as I } from "lit/directives/class-map.js";
4
4
  import { f as $ } from "./forced-colors-CTEDFRGa.js";
5
- import { H as k } from "./helix-element-BNEYeiys.js";
6
- import { c as D } from "./id-counter-DuX8vsui.js";
5
+ import { H as S } from "./helix-element-BNEYeiys.js";
6
+ import { c as O } from "./id-counter-DuX8vsui.js";
7
7
  import { d as w } from "./dev-warn-YlwPHjtX.js";
8
- const T = _`
8
+ const D = C`
9
9
  :host {
10
10
  display: block;
11
11
  font-family: var(--hx-accordion-font-family, var(--hx-font-family-sans, sans-serif));
@@ -23,7 +23,7 @@ const T = _`
23
23
  border: 2px solid CanvasText;
24
24
  }
25
25
  }
26
- `, M = _`
26
+ `, T = C`
27
27
  :host {
28
28
  display: block;
29
29
  }
@@ -91,6 +91,10 @@ const T = _`
91
91
  transition: transform var(--hx-transition-normal, 250ms ease);
92
92
  }
93
93
 
94
+ .icon .accordion-item__chevron {
95
+ --hx-icon-size: 100%;
96
+ }
97
+
94
98
  .item--expanded .icon {
95
99
  transform: rotate(180deg);
96
100
  }
@@ -182,30 +186,20 @@ const T = _`
182
186
  }
183
187
  }
184
188
  `;
185
- var A = Object.defineProperty, H = Object.getOwnPropertyDescriptor, m = (e, o, r, t) => {
186
- for (var i = t > 1 ? void 0 : t ? H(o, r) : o, n = e.length - 1, a; n >= 0; n--)
189
+ var M = Object.defineProperty, A = Object.getOwnPropertyDescriptor, m = (e, o, r, t) => {
190
+ for (var i = t > 1 ? void 0 : t ? A(o, r) : o, n = e.length - 1, a; n >= 0; n--)
187
191
  (a = e[n]) && (i = (t ? a(o, r, i) : a(i)) || i);
188
- return t && i && A(o, r, i), i;
192
+ return t && i && M(o, r, i), i;
189
193
  };
190
- const L = I`
191
- <svg
192
- xmlns="http://www.w3.org/2000/svg"
193
- width="16"
194
- height="16"
195
- viewBox="0 0 24 24"
196
- fill="none"
197
- stroke="currentColor"
198
- stroke-width="2"
199
- stroke-linecap="round"
200
- stroke-linejoin="round"
201
- aria-hidden="true"
202
- >
203
- <polyline points="6 9 12 15 18 9"></polyline>
204
- </svg>
205
- `, j = D("hx-accordion-item");
206
- let s = class extends k {
194
+ const H = f`<hx-icon
195
+ class="accordion-item__chevron"
196
+ library="helix"
197
+ name="chevron-down"
198
+ aria-hidden="true"
199
+ ></hx-icon>`, L = O("hx-accordion-item");
200
+ let s = class extends S {
207
201
  constructor() {
208
- super(...arguments), this._uid = j(), this.expanded = !1, this.disabled = !1, this.level = 3;
202
+ super(...arguments), this._uid = L(), this.expanded = !1, this.disabled = !1, this.level = 3;
209
203
  }
210
204
  // ─── Lifecycle ───
211
205
  connectedCallback() {
@@ -261,8 +255,8 @@ let s = class extends k {
261
255
  "item--expanded": this.expanded,
262
256
  "item--disabled": this.disabled
263
257
  };
264
- return C`
265
- <details part="item" class=${O(e)} ?open=${this.expanded}>
258
+ return f`
259
+ <details part="item" class=${I(e)} ?open=${this.expanded}>
266
260
  <summary
267
261
  id=${`${this._uid}-trigger`}
268
262
  part="trigger"
@@ -271,13 +265,13 @@ let s = class extends k {
271
265
  aria-level=${this._headingLevel}
272
266
  tabindex=${this.disabled ? "-1" : "0"}
273
267
  aria-expanded=${this.expanded ? "true" : "false"}
274
- aria-disabled=${this.disabled ? "true" : y}
268
+ aria-disabled=${this.disabled ? "true" : _}
275
269
  aria-controls=${`${this._uid}-content`}
276
270
  @click=${this._handleSummaryClick}
277
271
  @keydown=${this._handleKeyDown}
278
272
  >
279
273
  <slot name="trigger" @slotchange=${this._handleTriggerSlotChange}></slot>
280
- <span part="icon" class="icon">${L}</span>
274
+ <span part="icon" class="icon">${H}</span>
281
275
  </summary>
282
276
  <div class="content-wrapper">
283
277
  <div class="content-inner">
@@ -287,7 +281,7 @@ let s = class extends k {
287
281
  class="content"
288
282
  role="region"
289
283
  aria-labelledby=${`${this._uid}-trigger`}
290
- aria-hidden=${this.expanded ? y : "true"}
284
+ aria-hidden=${this.expanded ? _ : "true"}
291
285
  >
292
286
  <slot></slot>
293
287
  </div>
@@ -297,7 +291,7 @@ let s = class extends k {
297
291
  `;
298
292
  }
299
293
  };
300
- s.styles = [M, $];
294
+ s.styles = [T, $];
301
295
  m([
302
296
  h({ type: Boolean, reflect: !0 })
303
297
  ], s.prototype, "expanded", 2);
@@ -310,12 +304,12 @@ m([
310
304
  s = m([
311
305
  E("hx-accordion-item")
312
306
  ], s);
313
- var z = Object.defineProperty, N = Object.getOwnPropertyDescriptor, S = (e, o, r, t) => {
314
- for (var i = t > 1 ? void 0 : t ? N(o, r) : o, n = e.length - 1, a; n >= 0; n--)
307
+ var j = Object.defineProperty, z = Object.getOwnPropertyDescriptor, k = (e, o, r, t) => {
308
+ for (var i = t > 1 ? void 0 : t ? z(o, r) : o, n = e.length - 1, a; n >= 0; n--)
315
309
  (a = e[n]) && (i = (t ? a(o, r, i) : a(i)) || i);
316
- return t && i && z(o, r, i), i;
310
+ return t && i && j(o, r, i), i;
317
311
  };
318
- let c = class extends k {
312
+ let l = class extends S {
319
313
  constructor() {
320
314
  super(...arguments), this.mode = "single", this._mutationObserver = null, this._handleChildExpand = (e) => {
321
315
  if (this.mode !== "single") return;
@@ -324,20 +318,20 @@ let c = class extends k {
324
318
  t !== o && t.expanded && (t.expanded = !1, t._dispatchToggleEvent(!1));
325
319
  });
326
320
  }, this._handleKeyDown = (e) => {
327
- var f, u, v, x;
321
+ var u, v, x, b;
328
322
  if (this._getTriggers().length === 0) return;
329
- const r = ((f = this.shadowRoot) == null ? void 0 : f.activeElement) ?? document.activeElement;
323
+ const r = ((u = this.shadowRoot) == null ? void 0 : u.activeElement) ?? document.activeElement;
330
324
  let t = null;
331
325
  const i = Array.from(this.querySelectorAll("hx-accordion-item"));
332
- for (const l of i) {
333
- const b = (u = l.shadowRoot) == null ? void 0 : u.querySelector('[part="trigger"]');
334
- if (b === r || ((v = l.shadowRoot) == null ? void 0 : v.activeElement) === b) {
335
- t = l;
326
+ for (const c of i) {
327
+ const y = (v = c.shadowRoot) == null ? void 0 : v.querySelector('[part="trigger"]');
328
+ if (y === r || ((x = c.shadowRoot) == null ? void 0 : x.activeElement) === y) {
329
+ t = c;
336
330
  break;
337
331
  }
338
332
  }
339
333
  if (!t) return;
340
- const n = i.filter((l) => !l.disabled), a = n.indexOf(t);
334
+ const n = i.filter((c) => !c.disabled), a = n.indexOf(t);
341
335
  if (a === -1) return;
342
336
  let d = -1;
343
337
  switch (e.key) {
@@ -357,8 +351,8 @@ let c = class extends k {
357
351
  return;
358
352
  }
359
353
  e.preventDefault();
360
- const g = n[d], p = (x = g == null ? void 0 : g.shadowRoot) == null ? void 0 : x.querySelector('[part="trigger"]');
361
- p == null || p.focus();
354
+ const p = n[d], g = (b = p == null ? void 0 : p.shadowRoot) == null ? void 0 : b.querySelector('[part="trigger"]');
355
+ g == null || g.focus();
362
356
  };
363
357
  }
364
358
  connectedCallback() {
@@ -422,22 +416,22 @@ let c = class extends k {
422
416
  }
423
417
  // ─── Render ───
424
418
  render() {
425
- return C`
419
+ return f`
426
420
  <div part="accordion" class="accordion">
427
421
  <slot @slotchange=${this._handleSlotChange}></slot>
428
422
  </div>
429
423
  `;
430
424
  }
431
425
  };
432
- c.styles = [T, $];
433
- S([
426
+ l.styles = [D, $];
427
+ k([
434
428
  h({ type: String, reflect: !0 })
435
- ], c.prototype, "mode", 2);
436
- c = S([
429
+ ], l.prototype, "mode", 2);
430
+ l = k([
437
431
  E("hx-accordion")
438
- ], c);
432
+ ], l);
439
433
  export {
440
- c as H,
434
+ l as H,
441
435
  s as a
442
436
  };
443
- //# sourceMappingURL=hx-accordion-ZVzgDzTG.js.map
437
+ //# sourceMappingURL=hx-accordion-DR--Ev4t.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hx-accordion-DR--Ev4t.js","sources":["../../src/components/hx-accordion/hx-accordion.styles.ts","../../src/components/hx-accordion/hx-accordion-item.styles.ts","../../src/components/hx-accordion/hx-accordion-item.ts","../../src/components/hx-accordion/hx-accordion.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixAccordionStyles = css`\n :host {\n display: block;\n font-family: var(--hx-accordion-font-family, var(--hx-font-family-sans, sans-serif));\n }\n\n .accordion {\n border-radius: var(--hx-accordion-border-radius, var(--hx-border-radius-md, 0.375rem));\n overflow: hidden;\n }\n\n /* ─── High Contrast Mode (forced-colors) ─── */\n\n @media (forced-colors: active) {\n .accordion {\n border: 2px solid CanvasText;\n }\n }\n`;\n","import { css } from 'lit';\n\nexport const helixAccordionItemStyles = css`\n :host {\n display: block;\n }\n\n .item {\n border-bottom: var(--hx-border-width-thin, 1px) solid\n var(--hx-accordion-border-color, var(--hx-color-neutral-200, #d6dbd5));\n font-family: var(--hx-accordion-item-font-family, var(--hx-font-family-sans, sans-serif));\n }\n\n :host(:first-child) .item {\n border-top: var(--hx-border-width-thin, 1px) solid\n var(--hx-accordion-border-color, var(--hx-color-neutral-200, #d6dbd5));\n }\n\n /* Remove native details marker */\n .trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--hx-space-3, 0.75rem);\n padding: var(--hx-accordion-trigger-padding, var(--hx-space-4, 1rem));\n cursor: pointer;\n list-style: none;\n font-size: var(--hx-font-size-md, 1rem);\n font-weight: var(--hx-font-weight-semibold, 600);\n color: var(--hx-accordion-trigger-color, var(--hx-color-neutral-800, #202b39));\n background-color: var(--hx-accordion-trigger-bg, transparent);\n user-select: none;\n transition: background-color var(--hx-transition-fast, 150ms ease);\n }\n\n /* Hide the native details disclosure triangle */\n .trigger::-webkit-details-marker {\n display: none;\n }\n\n .trigger::marker {\n display: none;\n }\n\n .item--disabled .trigger {\n cursor: not-allowed;\n }\n\n :host(:not([disabled])) .trigger:hover {\n background-color: var(--hx-accordion-trigger-hover-bg, var(--hx-color-neutral-50, #f5f8f3));\n }\n\n .trigger:focus-visible {\n outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #0f7078);\n outline-offset: var(--hx-focus-ring-offset, -2px);\n }\n\n /* ─── Icon ─── */\n\n .icon {\n flex-shrink: 0;\n width: var(--hx-accordion-icon-size, var(--hx-size-5, 1.25rem));\n height: var(--hx-accordion-icon-size, var(--hx-size-5, 1.25rem));\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--hx-accordion-icon-color, var(--hx-color-neutral-500, #66787b));\n transition: transform var(--hx-transition-normal, 250ms ease);\n }\n\n .icon .accordion-item__chevron {\n --hx-icon-size: 100%;\n }\n\n .item--expanded .icon {\n transform: rotate(180deg);\n }\n\n /* ─── Content animation via CSS grid trick ─── */\n\n .content-wrapper {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--hx-transition-normal, 250ms ease);\n overflow: hidden;\n }\n\n .item--expanded .content-wrapper,\n details[open]:not(.item--expanded) .content-wrapper {\n grid-template-rows: 1fr;\n }\n\n .content-inner {\n overflow: hidden;\n }\n\n .content {\n padding: var(--hx-accordion-content-padding, 0 var(--hx-space-4, 1rem) var(--hx-space-4, 1rem));\n font-size: var(--hx-font-size-md, 1rem);\n line-height: var(--hx-line-height-normal, 1.5);\n color: var(--hx-accordion-content-color, var(--hx-color-neutral-600, #4a5362));\n }\n\n /* ─── Disabled host ─── */\n\n :host([disabled]) {\n pointer-events: none;\n opacity: var(--hx-opacity-disabled, 0.5);\n }\n\n /* ─── Reduced motion ─── */\n\n @media (prefers-reduced-motion: reduce) {\n .trigger {\n transition: none;\n }\n\n .icon {\n transition: none;\n }\n\n .content-wrapper {\n transition: none;\n }\n }\n\n /* ─── High Contrast Mode (forced-colors) ─── */\n\n @media (forced-colors: active) {\n .trigger {\n forced-color-adjust: none;\n color: ButtonText;\n background-color: ButtonFace;\n }\n\n .trigger:focus-visible {\n outline: 3px solid Highlight;\n outline-offset: -2px;\n }\n\n .item {\n border-bottom-color: CanvasText;\n }\n\n :host(:first-child) .item {\n border-top-color: CanvasText;\n }\n\n .item--disabled .trigger {\n color: GrayText;\n }\n\n :host([disabled]) {\n opacity: 1;\n }\n\n .icon {\n color: ButtonText;\n }\n\n .content {\n color: CanvasText;\n }\n }\n`;\n","import { html, nothing } from 'lit';\nimport '../../utilities/document-token-adoption.js';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport '../hx-icon/hx-icon.js';\nimport { HelixElement, createIdCounter } from '../../base/index.js';\nimport { helixAccordionItemStyles } from './hx-accordion-item.styles.js';\nimport { forcedColorsInteractive } from '../../styles/forced-colors.js';\nimport { devWarn } from '../../utils/dev-warn.js';\n\nconst chevronIcon = html`<hx-icon\n class=\"accordion-item__chevron\"\n library=\"helix\"\n name=\"chevron-down\"\n aria-hidden=\"true\"\n></hx-icon>`;\n\nconst _nextAccordionItemId = createIdCounter('hx-accordion-item');\n\n/** Detail for hx-expand and hx-collapse events dispatched by hx-accordion-item. */\nexport interface HxAccordionToggleDetail {\n expanded: boolean;\n itemId: string;\n}\n\n/**\n * An individual accordion item with collapsible content.\n *\n * ## Architecture Note: Slot Projection vs. Host-Canonical (group-4 round-1)\n *\n * `hx-accordion-item` deliberately does NOT participate in the\n * host-canonical / `internals.ariaLabelledByElements` pattern used by every\n * other group-2/3/4 component. Rationale:\n *\n * 1. The trigger label comes from `<slot name=\"trigger\">` — consumer\n * light-DOM projected directly into the `<summary>` element. AT reads\n * the slot-projected text natively because slot projection preserves\n * accessible name (the `<summary>` IS the heading and consumes the\n * slotted text in its own accessible name computation).\n * 2. `aria-labelledby=\"${_uid}-trigger\"` on the inner content region and\n * `aria-controls=\"${_uid}-content\"` on the summary BOTH resolve\n * same-shadow-root, which works correctly across every AT — these\n * IDREFs never cross a shadow boundary.\n * 3. Pushing these ids through `internals.ariaLabelledByElements` would\n * either duplicate the wiring (heading announced twice) or break the\n * native `<details>/<summary>` toggle semantics (the host carrying\n * `role=\"heading\"` would shadow the summary's own heading projection).\n *\n * `role=\"heading\"` on `<summary>` (with `aria-level=N`) is the APG-canonical\n * Accordion pattern. Per the APG note, `<summary>` MUST be a direct child\n * of `<details>` for the native toggle to function — wrapping it in an\n * `<h3>` would forfeit native disclosure. The role-on-summary approach is\n * the authoritative compromise. NVDA, JAWS, and VoiceOver all announce the\n * summary as a heading at the configured level when this pattern is used.\n *\n * `aria-controls` on the summary points at the shadow-internal content\n * region; APG marks the relationship as implicit via the heading + region\n * structure, so AT not following the IDREF still announces correctly. The\n * IDREF is a hint, not a requirement — and because both ids are in the\n * same shadow root, it resolves cleanly when AT does follow it. This\n * matches the popover/dropdown intentional `aria-controls` omission for\n * the cross-shadow case (see those components' code comments).\n *\n * @summary Collapsible panel that can be expanded or collapsed.\n *\n * @tag hx-accordion-item\n *\n * @slot trigger - The heading/trigger content for this item.\n * @slot - Default slot for the collapsible body content.\n *\n * @attr {number} level - Heading level (1–6) for the trigger via `role=\"heading\" aria-level`.\n * Defaults to 3. Set this to match the document outline — e.g., use `level=\"2\"` when the\n * accordion appears under an `<h1>` landmark.\n *\n * @fires {CustomEvent<{expanded: boolean, itemId: string}>} hx-expand - Dispatched when the item is expanded.\n * @fires {CustomEvent<{expanded: boolean, itemId: string}>} hx-collapse - Dispatched when the item is collapsed.\n *\n * @csspart item - The outer details element container.\n * @csspart trigger - The summary/trigger element.\n * @csspart content - The collapsible content area.\n * @csspart icon - The expand/collapse icon.\n *\n * @cssprop [--hx-accordion-border-color=var(--hx-color-neutral-200)] - Border color between items.\n * @cssprop [--hx-accordion-trigger-padding=var(--hx-space-4)] - Trigger padding.\n * @cssprop [--hx-accordion-trigger-color=var(--hx-color-neutral-800)] - Trigger text color.\n * @cssprop [--hx-accordion-trigger-bg=transparent] - Trigger background color.\n * @cssprop [--hx-accordion-trigger-hover-bg=var(--hx-color-neutral-50)] - Trigger hover background.\n * @cssprop [--hx-accordion-icon-color=var(--hx-color-neutral-500)] - Icon color.\n * @cssprop [--hx-accordion-content-padding=0 var(--hx-space-4) var(--hx-space-4)] - Content padding.\n * @cssprop [--hx-accordion-content-color=var(--hx-color-neutral-600)] - Content text color.\n */\n@customElement('hx-accordion-item')\nexport class HelixAccordionItem extends HelixElement {\n static override styles = [helixAccordionItemStyles, forcedColorsInteractive];\n\n /** @internal */\n private _uid = _nextAccordionItemId();\n\n /**\n * Whether this item is expanded.\n * @attr expanded\n */\n @property({ type: Boolean, reflect: true })\n expanded = false;\n\n /**\n * Whether this item is disabled (cannot be toggled).\n * @attr disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Heading level (1–6) applied via `role=\"heading\" aria-level` on the summary\n * trigger. Defaults to 3. Set to match the document outline around the\n * accordion so screen readers surface accordion items in the heading list.\n * @attr level\n */\n @property({ type: Number })\n level: 1 | 2 | 3 | 4 | 5 | 6 = 3;\n\n // ─── Lifecycle ───\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (!this.closest('hx-accordion')) {\n devWarn(\n 'hx-accordion-item',\n 'Used outside hx-accordion. Single-expand coordination will not function.',\n );\n }\n }\n\n // ─── Slot Handlers ───\n\n /** @internal */\n private _handleTriggerSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n const hasContent = slot.assignedNodes({ flatten: true }).length > 0;\n if (!hasContent) {\n devWarn(\n 'hx-accordion-item',\n 'trigger slot is empty — provide a visible label for keyboard and screen reader users.',\n );\n }\n }\n\n // ─── Heading Level Helper ───\n\n /**\n * Returns a clamped heading level (1–6) for use as `aria-level` on the\n * `<summary>` element. Per the WAI-ARIA APG Accordion pattern, the\n * `<summary>` must be a **direct child** of `<details>` for native\n * disclosure behaviour to work. Instead of wrapping `<summary>` inside\n * an `<h3>` (which breaks the native toggle), we apply\n * `role=\"heading\" aria-level=\"N\"` directly on `<summary>`.\n */\n /** @internal */\n private get _headingLevel(): number {\n return Math.max(1, Math.min(6, this.level));\n }\n\n // ─── Toggle Logic ───\n\n /** @internal */\n private _toggle(): void {\n if (this.disabled) return;\n\n const willExpand = !this.expanded;\n this.expanded = willExpand;\n\n this._dispatchToggleEvent(willExpand);\n }\n\n /** @internal */\n _dispatchToggleEvent(expanded: boolean): void {\n const detail = { expanded, itemId: this.id || '' };\n const options = { bubbles: true, composed: true, detail };\n\n if (expanded) {\n this.dispatchEvent(\n new CustomEvent<{ expanded: boolean; itemId: string }>('hx-expand', options),\n );\n } else {\n this.dispatchEvent(\n new CustomEvent<{ expanded: boolean; itemId: string }>('hx-collapse', options),\n );\n }\n }\n\n // ─── Event Handlers ───\n\n /** @internal */\n private _handleSummaryClick(e: MouseEvent): void {\n e.preventDefault();\n this._toggle();\n }\n\n /** @internal */\n private _handleKeyDown(e: KeyboardEvent): void {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this._toggle();\n }\n }\n\n // ─── Render ───\n\n override render() {\n const itemClasses = {\n item: true,\n 'item--expanded': this.expanded,\n 'item--disabled': this.disabled,\n };\n\n return html`\n <details part=\"item\" class=${classMap(itemClasses)} ?open=${this.expanded}>\n <summary\n id=${`${this._uid}-trigger`}\n part=\"trigger\"\n class=\"trigger\"\n role=\"heading\"\n aria-level=${this._headingLevel}\n tabindex=${this.disabled ? '-1' : '0'}\n aria-expanded=${this.expanded ? 'true' : 'false'}\n aria-disabled=${this.disabled ? 'true' : nothing}\n aria-controls=${`${this._uid}-content`}\n @click=${this._handleSummaryClick}\n @keydown=${this._handleKeyDown}\n >\n <slot name=\"trigger\" @slotchange=${this._handleTriggerSlotChange}></slot>\n <span part=\"icon\" class=\"icon\">${chevronIcon}</span>\n </summary>\n <div class=\"content-wrapper\">\n <div class=\"content-inner\">\n <div\n id=${`${this._uid}-content`}\n part=\"content\"\n class=\"content\"\n role=\"region\"\n aria-labelledby=${`${this._uid}-trigger`}\n aria-hidden=${this.expanded ? nothing : 'true'}\n >\n <slot></slot>\n </div>\n </div>\n </div>\n </details>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-accordion-item': HelixAccordionItem;\n }\n}\n","import { html, type PropertyValues } from 'lit';\nimport '../../utilities/document-token-adoption.js';\nimport { customElement, property } from 'lit/decorators.js';\nimport { HelixElement } from '../../base/index.js';\nimport { helixAccordionStyles } from './hx-accordion.styles.js';\nimport { forcedColorsInteractive } from '../../styles/forced-colors.js';\nimport './hx-accordion-item.js';\nimport type { HelixAccordionItem } from './hx-accordion-item.js';\nimport { devWarn } from '../../utils/dev-warn.js';\n\n/**\n * An accordion container that manages collapsible content sections.\n *\n * @summary Collapsible content sections with single or multi-expand modes.\n *\n * @tag hx-accordion\n *\n * @slot - Default slot for hx-accordion-item elements.\n *\n * @csspart accordion - The outer container wrapping all accordion items.\n *\n * @cssprop [--hx-accordion-border-radius=var(--hx-border-radius-md)] - Outer border radius.\n *\n * @example\n * ```html\n * <hx-accordion mode=\"single\">\n * <hx-accordion-item>\n * <span slot=\"trigger\">What is this?</span>\n * <p>Answer content here.</p>\n * </hx-accordion-item>\n * </hx-accordion>\n * ```\n * @cssprop [--hx-accordion-font-family=var(--hx-font-family-sans)] - CSS custom property.\n * @cssprop [--hx-font-family-sans] - Font family.\n * @cssprop [--hx-border-radius-md] - CSS custom property.\n */\n@customElement('hx-accordion')\nexport class HelixAccordion extends HelixElement {\n static override styles = [helixAccordionStyles, forcedColorsInteractive];\n\n /**\n * Expansion mode: 'single' collapses all other items when one expands.\n * 'multi' allows multiple items open simultaneously.\n * @attr mode\n */\n @property({ type: String, reflect: true })\n mode: 'single' | 'multi' = 'single';\n\n // ─── Lifecycle ───\n\n /** @internal */\n private _mutationObserver: MutationObserver | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('hx-expand', this._handleChildExpand);\n this.addEventListener('keydown', this._handleKeyDown);\n // Re-enforce single mode when reconnected with pre-expanded items\n this._enforceSingleMode();\n // Watch for dynamically added accordion items that may violate single-expand\n if (typeof MutationObserver !== 'undefined') {\n this._mutationObserver = new MutationObserver((mutations) => {\n const hasNewItems = mutations.some((m) =>\n Array.from(m.addedNodes).some(\n (n) => n instanceof Element && n.tagName.toLowerCase() === 'hx-accordion-item',\n ),\n );\n if (hasNewItems) {\n this._enforceSingleMode();\n }\n });\n this._mutationObserver.observe(this, { childList: true });\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('hx-expand', this._handleChildExpand);\n this.removeEventListener('keydown', this._handleKeyDown);\n this._mutationObserver?.disconnect();\n this._mutationObserver = null;\n }\n\n protected override firstUpdated(): void {\n this._enforceSingleMode();\n }\n\n override updated(changedProperties: PropertyValues<this>): void {\n super.updated(changedProperties);\n if (changedProperties.has('mode')) {\n const validModes: string[] = ['single', 'multi'];\n if (!validModes.includes(this.mode)) {\n devWarn(\n 'hx-accordion',\n `Invalid mode \"${this.mode}\". Expected one of: ${validModes.join(', ')}. Clamping to \"single\".`,\n );\n this.mode = 'single';\n return;\n }\n // When switching from multi to single, enforce single-expand immediately\n this._enforceSingleMode();\n }\n }\n\n // ─── Single-expand coordination ───\n\n /** @internal */\n private _enforceSingleMode(): void {\n if (this.mode !== 'single') return;\n\n const items = this.querySelectorAll<HelixAccordionItem>('hx-accordion-item');\n let foundExpanded = false;\n\n items.forEach((item) => {\n if (item.expanded) {\n if (foundExpanded) {\n item.expanded = false;\n } else {\n foundExpanded = true;\n }\n }\n });\n }\n\n /**\n * Handles expand events from child accordion items to enforce single-expand mode.\n * @internal\n */\n private _handleChildExpand = (e: Event): void => {\n if (this.mode !== 'single') return;\n\n const expandedItem = e.composedPath()[0] as HelixAccordionItem;\n const items = this.querySelectorAll<HelixAccordionItem>('hx-accordion-item');\n\n items.forEach((item) => {\n if (item !== expandedItem && item.expanded) {\n item.expanded = false;\n item._dispatchToggleEvent(false);\n }\n });\n };\n\n // ─── Arrow key navigation (ARIA APG Accordion pattern) ───\n\n /**\n * Handles keyboard navigation between accordion triggers using arrow, Home, and End keys.\n * @internal\n */\n private _handleKeyDown = (e: KeyboardEvent): void => {\n const triggers = this._getTriggers();\n if (triggers.length === 0) return;\n\n const activeEl = this.shadowRoot?.activeElement ?? document.activeElement;\n let currentItem: HelixAccordionItem | null = null;\n\n const items = Array.from(this.querySelectorAll<HelixAccordionItem>('hx-accordion-item'));\n for (const item of items) {\n const summary = item.shadowRoot?.querySelector('[part=\"trigger\"]');\n if (summary === activeEl || item.shadowRoot?.activeElement === summary) {\n currentItem = item;\n break;\n }\n }\n\n if (!currentItem) return;\n\n const enabledItems = items.filter((item) => !item.disabled);\n const currentIndex = enabledItems.indexOf(currentItem);\n if (currentIndex === -1) return;\n\n let targetIndex = -1;\n\n switch (e.key) {\n case 'ArrowDown':\n targetIndex = (currentIndex + 1) % enabledItems.length;\n break;\n case 'ArrowUp':\n targetIndex = (currentIndex - 1 + enabledItems.length) % enabledItems.length;\n break;\n case 'Home':\n targetIndex = 0;\n break;\n case 'End':\n targetIndex = enabledItems.length - 1;\n break;\n default:\n return;\n }\n\n e.preventDefault();\n const targetItem = enabledItems[targetIndex];\n const targetSummary = targetItem?.shadowRoot?.querySelector<HTMLElement>('[part=\"trigger\"]');\n targetSummary?.focus();\n };\n\n /** @internal */\n private _getTriggers(): HTMLElement[] {\n const items = this.querySelectorAll<HelixAccordionItem>('hx-accordion-item');\n const triggers: HTMLElement[] = [];\n items.forEach((item) => {\n const summary = item.shadowRoot?.querySelector<HTMLElement>('[part=\"trigger\"]');\n if (summary) triggers.push(summary);\n });\n return triggers;\n }\n\n // ─── Slot validation ───\n\n /** @internal */\n private _handleSlotChange(e: Event): void {\n const slot = e.target;\n if (!(slot instanceof HTMLSlotElement)) return;\n const invalid = slot\n .assignedElements()\n .filter((el) => el.tagName.toLowerCase() !== 'hx-accordion-item');\n if (invalid.length > 0) {\n devWarn(\n 'hx-accordion',\n `Default slot expects <hx-accordion-item> elements. Found unexpected: ${invalid.map((el) => `<${el.tagName.toLowerCase()}>`).join(', ')}`,\n );\n }\n }\n\n // ─── Render ───\n\n override render() {\n return html`\n <div part=\"accordion\" class=\"accordion\">\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-accordion': HelixAccordion;\n }\n}\n"],"names":["helixAccordionStyles","css","helixAccordionItemStyles","chevronIcon","html","_nextAccordionItemId","createIdCounter","HelixAccordionItem","HelixElement","willExpand","expanded","options","itemClasses","classMap","nothing","forcedColorsInteractive","__decorateClass","property","customElement","HelixAccordion","expandedItem","item","activeEl","_a","currentItem","items","summary","_b","_c","enabledItems","currentIndex","targetIndex","targetItem","targetSummary","_d","mutations","m","n","changedProperties","validModes","devWarn","foundExpanded","triggers","slot","invalid","el"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { property as c, state as f, customElement as u } from "lit/decorators.js
3
3
  import { f as p } from "./forced-colors-CTEDFRGa.js";
4
4
  import { d as v } from "./dev-warn-YlwPHjtX.js";
5
5
  import { H as x } from "./helix-element-BNEYeiys.js";
6
- const m = h`
6
+ const g = h`
7
7
  :host {
8
8
  display: block;
9
9
  }
@@ -121,6 +121,18 @@ const m = h`
121
121
  flex-shrink: 0;
122
122
  }
123
123
 
124
+ /*
125
+ * AAA 2.4.13 Focus Appearance — enforce a ≥2px focus ring on slotted
126
+ * natives (e.g. bare <button>, <a>) so consumers who slot non-HELiX
127
+ * controls inherit the same indicator as the HELiX components do.
128
+ * Token-driven: --hx-focus-ring-width resolves to 2px (default).
129
+ */
130
+ ::slotted(:focus-visible) {
131
+ outline: var(--hx-focus-ring-width, 2px) solid
132
+ var(--hx-action-bar-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
133
+ outline-offset: var(--hx-focus-ring-offset, 2px);
134
+ }
135
+
124
136
  /* ─── High Contrast Mode (forced-colors) ─── */
125
137
 
126
138
  @media (forced-colors: active) {
@@ -135,15 +147,15 @@ const m = h`
135
147
  }
136
148
  }
137
149
  `;
138
- var g = Object.defineProperty, y = Object.getOwnPropertyDescriptor, l = (e, t, r, a) => {
139
- for (var s = a > 1 ? void 0 : a ? y(t, r) : t, i = e.length - 1, o; i >= 0; i--)
140
- (o = e[i]) && (s = (a ? o(t, r, s) : o(s)) || s);
141
- return a && s && g(t, r, s), s;
150
+ var m = Object.defineProperty, y = Object.getOwnPropertyDescriptor, l = (e, t, o, a) => {
151
+ for (var s = a > 1 ? void 0 : a ? y(t, o) : t, r = e.length - 1, i; r >= 0; r--)
152
+ (i = e[r]) && (s = (a ? i(t, o, s) : i(s)) || s);
153
+ return a && s && m(t, o, s), s;
142
154
  };
143
155
  let n = class extends x {
144
156
  constructor() {
145
157
  super(...arguments), this.size = "md", this.variant = "default", this.position = "top", this.accessibleLabel = "", this._ariaLabelAttr = "", this._focusableCache = null, this._hasOverflow = !1, this._handleKeydown = (e) => {
146
- var t, r;
158
+ var t, o;
147
159
  if (e.key === "ArrowRight")
148
160
  e.preventDefault(), this._moveFocus("next");
149
161
  else if (e.key === "ArrowLeft")
@@ -151,11 +163,11 @@ let n = class extends x {
151
163
  else if (e.key === "Home") {
152
164
  e.preventDefault();
153
165
  const a = this._getFocusableItems();
154
- a.length && (a.forEach((s, i) => s.setAttribute("tabindex", i === 0 ? "0" : "-1")), (t = a[0]) == null || t.focus());
166
+ a.length && (a.forEach((s, r) => s.setAttribute("tabindex", r === 0 ? "0" : "-1")), (t = a[0]) == null || t.focus());
155
167
  } else if (e.key === "End") {
156
168
  e.preventDefault();
157
169
  const a = this._getFocusableItems(), s = a.length - 1;
158
- a.length && (a.forEach((i, o) => i.setAttribute("tabindex", o === s ? "0" : "-1")), (r = a[s]) == null || r.focus());
170
+ a.length && (a.forEach((r, i) => r.setAttribute("tabindex", i === s ? "0" : "-1")), (o = a[s]) == null || o.focus());
159
171
  }
160
172
  };
161
173
  }
@@ -186,23 +198,23 @@ let n = class extends x {
186
198
  _isFocusable(e) {
187
199
  if (e.hasAttribute("disabled") || e.disabled === !0) return !1;
188
200
  if (e.tabIndex >= 0) return !0;
189
- const r = e.tagName.toLowerCase();
190
- return r === "button" || r === "input" || r === "select" || r === "textarea";
201
+ const o = e.tagName.toLowerCase();
202
+ return o === "button" || o === "input" || o === "select" || o === "textarea";
191
203
  }
192
204
  /** @internal */
193
205
  _getFocusableItems() {
194
- var r;
206
+ var o;
195
207
  if (this._focusableCache) return this._focusableCache;
196
- const e = ((r = this.shadowRoot) == null ? void 0 : r.querySelectorAll("slot")) ?? [], t = [];
208
+ const e = ((o = this.shadowRoot) == null ? void 0 : o.querySelectorAll("slot")) ?? [], t = [];
197
209
  for (const a of Array.from(e)) {
198
210
  const s = a.assignedElements({ flatten: !0 });
199
- for (const i of s)
200
- if (i instanceof HTMLElement)
201
- if (this._isFocusable(i))
202
- t.push(i);
211
+ for (const r of s)
212
+ if (r instanceof HTMLElement)
213
+ if (this._isFocusable(r))
214
+ t.push(r);
203
215
  else {
204
- const o = i.querySelectorAll("*");
205
- for (const d of Array.from(o))
216
+ const i = r.querySelectorAll("*");
217
+ for (const d of Array.from(i))
206
218
  this._isFocusable(d) && t.push(d);
207
219
  }
208
220
  }
@@ -214,19 +226,19 @@ let n = class extends x {
214
226
  this._focusableCache = null;
215
227
  const e = this._getFocusableItems();
216
228
  if (!e.length) return;
217
- const t = e.findIndex((a) => a.getAttribute("tabindex") === "0"), r = t === -1 ? 0 : t;
218
- e.forEach((a, s) => a.setAttribute("tabindex", s === r ? "0" : "-1"));
229
+ const t = e.findIndex((a) => a.getAttribute("tabindex") === "0"), o = t === -1 ? 0 : t;
230
+ e.forEach((a, s) => a.setAttribute("tabindex", s === o ? "0" : "-1"));
219
231
  }
220
232
  /** @internal */
221
233
  _moveFocus(e) {
222
- var i;
234
+ var r;
223
235
  const t = this._getFocusableItems();
224
236
  if (!t.length) return;
225
- const r = document.activeElement, a = t.indexOf(r);
237
+ const o = document.activeElement, a = t.indexOf(o);
226
238
  let s;
227
- e === "next" ? s = a < t.length - 1 ? a + 1 : 0 : s = a > 0 ? a - 1 : t.length - 1, t.forEach((o, d) => {
228
- o.setAttribute("tabindex", d === s ? "0" : "-1");
229
- }), (i = t[s]) == null || i.focus();
239
+ e === "next" ? s = a < t.length - 1 ? a + 1 : 0 : s = a > 0 ? a - 1 : t.length - 1, t.forEach((i, d) => {
240
+ i.setAttribute("tabindex", d === s ? "0" : "-1");
241
+ }), (r = t[s]) == null || r.focus();
230
242
  }
231
243
  // ─── Event Handlers ───
232
244
  /** @internal */
@@ -236,14 +248,14 @@ let n = class extends x {
236
248
  }
237
249
  // ─── Render ───
238
250
  render() {
239
- const e = this.position === "sticky", t = this.position === "bottom", r = e ? " base--sticky" : t ? " base--bottom" : "";
251
+ const e = this.position === "sticky", t = this.position === "bottom", o = e ? " base--sticky" : t ? " base--bottom" : "";
240
252
  return b`
241
253
  <div
242
254
  part="base"
243
255
  role="toolbar"
244
256
  aria-label=${this._effectiveLabel}
245
257
  aria-orientation="horizontal"
246
- class="base base--${this.size} base--${this.variant}${r}"
258
+ class="base base--${this.size} base--${this.variant}${o}"
247
259
  >
248
260
  <div part="start" class="section section--start">
249
261
  <slot name="start" @slotchange=${this._handleSlotChange}></slot>
@@ -261,7 +273,7 @@ let n = class extends x {
261
273
  `;
262
274
  }
263
275
  };
264
- n.styles = [m, p];
276
+ n.styles = [g, p];
265
277
  l([
266
278
  c({ type: String, reflect: !0, attribute: "hx-size" })
267
279
  ], n.prototype, "size", 2);
@@ -286,4 +298,4 @@ n = l([
286
298
  export {
287
299
  n as H
288
300
  };
289
- //# sourceMappingURL=hx-action-bar-CitgcpGv.js.map
301
+ //# sourceMappingURL=hx-action-bar-BlEG4aZv.js.map