@helixui/library 2.1.2-next.52 → 2.1.2-next.53

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 (469) hide show
  1. package/custom-elements.json +520 -468
  2. package/dist/base/helix-element.d.ts.map +1 -1
  3. package/dist/components/hx-accordion/hx-accordion-item.d.ts +0 -2
  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/hx-accordion.styles.d.ts.map +1 -1
  7. package/dist/components/hx-accordion/index.js +1 -1
  8. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  9. package/dist/components/hx-alert/index.js +1 -1
  10. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
  11. package/dist/components/hx-badge/index.js +1 -1
  12. package/dist/components/hx-banner/hx-banner.styles.d.ts.map +1 -1
  13. package/dist/components/hx-banner/index.js +1 -1
  14. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
  15. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
  16. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +0 -7
  17. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
  18. package/dist/components/hx-breadcrumb/index.js +1 -1
  19. package/dist/components/hx-button/hx-button.d.ts +9 -9
  20. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  21. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  22. package/dist/components/hx-button/index.js +1 -1
  23. package/dist/components/hx-button-group/hx-button-group.d.ts +1 -4
  24. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  25. package/dist/components/hx-button-group/index.js +1 -1
  26. package/dist/components/hx-card/hx-card.d.ts +16 -0
  27. package/dist/components/hx-card/hx-card.d.ts.map +1 -1
  28. package/dist/components/hx-card/hx-card.styles.d.ts.map +1 -1
  29. package/dist/components/hx-card/index.js +1 -1
  30. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
  31. package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -1
  32. package/dist/components/hx-carousel/index.js +1 -1
  33. package/dist/components/hx-checkbox/hx-checkbox.d.ts +8 -0
  34. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  35. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  36. package/dist/components/hx-checkbox/index.js +1 -1
  37. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +6 -8
  38. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  39. package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts.map +1 -1
  40. package/dist/components/hx-checkbox-group/index.js +1 -1
  41. package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
  42. package/dist/components/hx-clinical-status/index.js +1 -1
  43. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
  44. package/dist/components/hx-code-snippet/index.js +1 -1
  45. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  46. package/dist/components/hx-color-picker/index.js +1 -1
  47. package/dist/components/hx-combobox/hx-combobox.d.ts +20 -14
  48. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  49. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
  50. package/dist/components/hx-combobox/index.js +1 -1
  51. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
  52. package/dist/components/hx-copy-button/index.js +1 -1
  53. package/dist/components/hx-counter/hx-counter.styles.d.ts.map +1 -1
  54. package/dist/components/hx-counter/index.js +1 -1
  55. package/dist/components/hx-data-table/hx-data-table.d.ts +20 -0
  56. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  57. package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -1
  58. package/dist/components/hx-data-table/index.js +1 -1
  59. package/dist/components/hx-date-picker/hx-date-picker.d.ts +6 -17
  60. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  61. package/dist/components/hx-date-picker/index.js +1 -1
  62. package/dist/components/hx-dialog/hx-dialog.d.ts +7 -0
  63. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  64. package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -1
  65. package/dist/components/hx-dialog/index.js +1 -1
  66. package/dist/components/hx-divider/hx-divider.styles.d.ts.map +1 -1
  67. package/dist/components/hx-divider/index.js +1 -1
  68. package/dist/components/hx-drawer/hx-drawer.d.ts +7 -0
  69. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  70. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  71. package/dist/components/hx-drawer/index.js +1 -1
  72. package/dist/components/hx-dropdown/hx-dropdown.d.ts +8 -5
  73. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  74. package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -1
  75. package/dist/components/hx-dropdown/index.js +1 -1
  76. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  77. package/dist/components/hx-field/hx-field.styles.d.ts.map +1 -1
  78. package/dist/components/hx-field/index.js +1 -1
  79. package/dist/components/hx-field-label/hx-field-label.styles.d.ts.map +1 -1
  80. package/dist/components/hx-field-label/index.js +1 -1
  81. package/dist/components/hx-file-upload/hx-file-upload.d.ts +6 -14
  82. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  83. package/dist/components/hx-file-upload/index.js +1 -1
  84. package/dist/components/hx-help-text/hx-help-text.styles.d.ts.map +1 -1
  85. package/dist/components/hx-help-text/index.js +1 -1
  86. package/dist/components/hx-icon/hx-icon.styles.d.ts.map +1 -1
  87. package/dist/components/hx-icon/index.js +1 -1
  88. package/dist/components/hx-icon-button/hx-icon-button.d.ts +10 -14
  89. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  90. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  91. package/dist/components/hx-icon-button/index.js +1 -1
  92. package/dist/components/hx-image/hx-image.styles.d.ts.map +1 -1
  93. package/dist/components/hx-image/index.js +1 -1
  94. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
  95. package/dist/components/hx-link/index.js +1 -1
  96. package/dist/components/hx-menu/hx-menu-divider.styles.d.ts.map +1 -1
  97. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  98. package/dist/components/hx-menu/hx-menu.styles.d.ts.map +1 -1
  99. package/dist/components/hx-menu/index.js +1 -1
  100. package/dist/components/hx-meter/hx-meter.d.ts +0 -2
  101. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  102. package/dist/components/hx-meter/hx-meter.styles.d.ts.map +1 -1
  103. package/dist/components/hx-meter/index.js +1 -1
  104. package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
  105. package/dist/components/hx-nav/index.js +1 -1
  106. package/dist/components/hx-number-input/hx-number-input.d.ts +6 -8
  107. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  108. package/dist/components/hx-number-input/hx-number-input.styles.d.ts.map +1 -1
  109. package/dist/components/hx-number-input/index.js +1 -1
  110. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  111. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
  112. package/dist/components/hx-overflow-menu/index.js +1 -1
  113. package/dist/components/hx-patient-banner/hx-patient-banner.styles.d.ts.map +1 -1
  114. package/dist/components/hx-patient-banner/index.js +1 -1
  115. package/dist/components/hx-popover/hx-popover.d.ts +1 -0
  116. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  117. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
  118. package/dist/components/hx-popover/index.js +1 -1
  119. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
  120. package/dist/components/hx-popup/index.js +1 -1
  121. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +0 -2
  122. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  123. package/dist/components/hx-progress-bar/index.js +1 -1
  124. package/dist/components/hx-radio-group/hx-radio-group.d.ts +6 -11
  125. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  126. package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts.map +1 -1
  127. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  128. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
  129. package/dist/components/hx-radio-group/index.js +1 -1
  130. package/dist/components/hx-rating/hx-rating.d.ts +6 -11
  131. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  132. package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
  133. package/dist/components/hx-rating/index.js +1 -1
  134. package/dist/components/hx-select/hx-select.d.ts +8 -0
  135. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  136. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  137. package/dist/components/hx-select/index.js +1 -1
  138. package/dist/components/hx-side-nav/hx-nav-item.d.ts +0 -3
  139. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  140. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  141. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  142. package/dist/components/hx-side-nav/index.js +1 -1
  143. package/dist/components/hx-skeleton/hx-skeleton.styles.d.ts.map +1 -1
  144. package/dist/components/hx-skeleton/index.js +1 -1
  145. package/dist/components/hx-slider/hx-slider.d.ts +9 -9
  146. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  147. package/dist/components/hx-slider/index.js +1 -1
  148. package/dist/components/hx-spinner/hx-spinner.styles.d.ts.map +1 -1
  149. package/dist/components/hx-spinner/index.js +1 -1
  150. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  151. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
  152. package/dist/components/hx-split-button/index.js +1 -1
  153. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
  154. package/dist/components/hx-split-panel/index.js +1 -1
  155. package/dist/components/hx-stat/hx-stat.d.ts +2 -2
  156. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  157. package/dist/components/hx-status-indicator/hx-status-indicator.styles.d.ts.map +1 -1
  158. package/dist/components/hx-status-indicator/index.js +1 -1
  159. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  160. package/dist/components/hx-steps/index.js +1 -1
  161. package/dist/components/hx-structured-list/hx-structured-list.styles.d.ts.map +1 -1
  162. package/dist/components/hx-structured-list/index.js +1 -1
  163. package/dist/components/hx-switch/hx-switch.d.ts +14 -17
  164. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  165. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  166. package/dist/components/hx-switch/index.js +1 -1
  167. package/dist/components/hx-table/hx-table.styles.d.ts.map +1 -1
  168. package/dist/components/hx-table/index.js +1 -1
  169. package/dist/components/hx-tabs/hx-tab-panel.styles.d.ts.map +1 -1
  170. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  171. package/dist/components/hx-tabs/hx-tabs.d.ts +6 -0
  172. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  173. package/dist/components/hx-tabs/hx-tabs.styles.d.ts.map +1 -1
  174. package/dist/components/hx-tabs/index.js +1 -1
  175. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  176. package/dist/components/hx-tag/index.js +1 -1
  177. package/dist/components/hx-text-input/hx-text-input.d.ts +11 -0
  178. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  179. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
  180. package/dist/components/hx-text-input/index.js +1 -1
  181. package/dist/components/hx-textarea/hx-textarea.d.ts +17 -9
  182. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  183. package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -1
  184. package/dist/components/hx-textarea/index.js +1 -1
  185. package/dist/components/hx-time-picker/hx-time-picker.d.ts +6 -17
  186. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  187. package/dist/components/hx-time-picker/index.js +1 -1
  188. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  189. package/dist/components/hx-toast/index.js +1 -1
  190. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +6 -13
  191. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  192. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  193. package/dist/components/hx-toggle-button/index.js +1 -1
  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.styles.d.ts.map +1 -1
  198. package/dist/components/hx-top-nav/index.js +1 -1
  199. package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -1
  200. package/dist/components/hx-tree-view/index.js +1 -1
  201. package/dist/css/helix-all.css +1268 -10
  202. package/dist/css/helix-core.css +137 -1
  203. package/dist/css/helix-data.css +69 -0
  204. package/dist/css/helix-feedback.css +77 -0
  205. package/dist/css/helix-forms.css +627 -3
  206. package/dist/css/helix-layout.css +22 -0
  207. package/dist/css/helix-media.css +24 -0
  208. package/dist/css/helix-navigation.css +110 -0
  209. package/dist/css/helix-overlay.css +87 -0
  210. package/dist/css/helix-utility.css +66 -0
  211. package/dist/css/hx-accordion.css +8 -0
  212. package/dist/css/hx-alert.css +21 -0
  213. package/dist/css/hx-badge.css +16 -0
  214. package/dist/css/hx-banner.css +17 -0
  215. package/dist/css/hx-button.css +4 -1
  216. package/dist/css/hx-card.css +12 -0
  217. package/dist/css/hx-carousel.css +24 -0
  218. package/dist/css/hx-checkbox-group.css +32 -0
  219. package/dist/css/hx-checkbox.css +66 -0
  220. package/dist/css/hx-clinical-status.css +23 -0
  221. package/dist/css/hx-code-snippet.css +22 -0
  222. package/dist/css/hx-color-picker.css +1 -1
  223. package/dist/css/hx-combobox.css +1 -1
  224. package/dist/css/hx-copy-button.css +28 -0
  225. package/dist/css/hx-counter.css +3 -0
  226. package/dist/css/hx-data-table.css +23 -0
  227. package/dist/css/hx-dialog.css +21 -0
  228. package/dist/css/hx-divider.css +8 -0
  229. package/dist/css/hx-drawer.css +21 -0
  230. package/dist/css/hx-dropdown.css +9 -0
  231. package/dist/css/hx-field-label.css +16 -0
  232. package/dist/css/hx-field.css +36 -0
  233. package/dist/css/hx-help-text.css +20 -0
  234. package/dist/css/hx-icon-button.css +27 -0
  235. package/dist/css/hx-icon.css +8 -0
  236. package/dist/css/hx-image.css +8 -0
  237. package/dist/css/hx-link.css +18 -0
  238. package/dist/css/hx-menu.css +9 -0
  239. package/dist/css/hx-meter.css +13 -0
  240. package/dist/css/hx-nav.css +16 -0
  241. package/dist/css/hx-number-input.css +78 -0
  242. package/dist/css/hx-overflow-menu.css +31 -0
  243. package/dist/css/hx-patient-banner.css +20 -0
  244. package/dist/css/hx-popover.css +12 -0
  245. package/dist/css/hx-popup.css +12 -0
  246. package/dist/css/hx-radio-group.css +32 -0
  247. package/dist/css/hx-rating.css +39 -0
  248. package/dist/css/hx-select.css +82 -0
  249. package/dist/css/hx-side-nav.css +21 -0
  250. package/dist/css/hx-skeleton.css +12 -0
  251. package/dist/css/hx-spinner.css +12 -0
  252. package/dist/css/hx-split-button.css +35 -0
  253. package/dist/css/hx-split-panel.css +14 -0
  254. package/dist/css/hx-status-indicator.css +13 -0
  255. package/dist/css/hx-structured-list.css +16 -0
  256. package/dist/css/hx-switch.css +62 -0
  257. package/dist/css/hx-table.css +8 -0
  258. package/dist/css/hx-tabs.css +12 -0
  259. package/dist/css/hx-tag.css +12 -0
  260. package/dist/css/hx-text-input.css +62 -0
  261. package/dist/css/hx-textarea.css +62 -0
  262. package/dist/css/hx-toast.css +13 -0
  263. package/dist/css/hx-toggle-button.css +38 -1
  264. package/dist/css/hx-tooltip.css +12 -0
  265. package/dist/css/hx-top-nav.css +21 -0
  266. package/dist/css/index.css +1 -1
  267. package/dist/css/manifest.json +4 -3
  268. package/dist/index.js +65 -65
  269. package/dist/mixins/aria-delegation.d.ts +3 -1
  270. package/dist/mixins/aria-delegation.d.ts.map +1 -1
  271. package/dist/mixins/index.d.ts +1 -1
  272. package/dist/mixins/index.d.ts.map +1 -1
  273. package/dist/shared/{aria-delegation-CBP9eQ0M.js → aria-delegation-Doq6RRUy.js} +6 -6
  274. package/dist/shared/aria-delegation-Doq6RRUy.js.map +1 -0
  275. package/dist/shared/{helix-element-CZvaIEQP.js → helix-element-BJh1Ffvi.js} +18 -21
  276. package/dist/shared/{helix-element-CZvaIEQP.js.map → helix-element-BJh1Ffvi.js.map} +1 -1
  277. package/dist/shared/{hx-accordion-CpfO0YQo.js → hx-accordion-SlwR2C6S.js} +109 -62
  278. package/dist/shared/hx-accordion-SlwR2C6S.js.map +1 -0
  279. package/dist/shared/{hx-alert-CHOjTBds.js → hx-alert-DdlSyJGk.js} +22 -1
  280. package/dist/shared/hx-alert-DdlSyJGk.js.map +1 -0
  281. package/dist/shared/{hx-badge-RPzd-t5l.js → hx-badge-B_PzGlUo.js} +17 -1
  282. package/dist/shared/hx-badge-B_PzGlUo.js.map +1 -0
  283. package/dist/shared/{hx-banner-B-WEDiq7.js → hx-banner-D8AxkCfc.js} +30 -13
  284. package/dist/shared/hx-banner-D8AxkCfc.js.map +1 -0
  285. package/dist/shared/{hx-breadcrumb-item-jLAKK038.js → hx-breadcrumb-item-BCUIvpYX.js} +32 -15
  286. package/dist/shared/hx-breadcrumb-item-BCUIvpYX.js.map +1 -0
  287. package/dist/shared/{hx-button-DoN8jjQT.js → hx-button-BzqsDHmZ.js} +15 -16
  288. package/dist/shared/hx-button-BzqsDHmZ.js.map +1 -0
  289. package/dist/shared/{hx-button-group-BXlMQTt_.js → hx-button-group-a5Pb_9fU.js} +8 -9
  290. package/dist/shared/{hx-button-group-BXlMQTt_.js.map → hx-button-group-a5Pb_9fU.js.map} +1 -1
  291. package/dist/shared/{hx-card-BgXZXDuc.js → hx-card-DYlaxQy0.js} +59 -33
  292. package/dist/shared/hx-card-DYlaxQy0.js.map +1 -0
  293. package/dist/shared/{hx-carousel-item-Dwt9Pphz.js → hx-carousel-item-KQfCekKF.js} +45 -19
  294. package/dist/shared/hx-carousel-item-KQfCekKF.js.map +1 -0
  295. package/dist/shared/{hx-checkbox-C82GjRXe.js → hx-checkbox-DyDbR1B9.js} +97 -31
  296. package/dist/shared/hx-checkbox-DyDbR1B9.js.map +1 -0
  297. package/dist/shared/{hx-checkbox-group-DThZeN5d.js → hx-checkbox-group-C8TaFqy0.js} +75 -40
  298. package/dist/shared/hx-checkbox-group-C8TaFqy0.js.map +1 -0
  299. package/dist/shared/{hx-clinical-status-BjtT5c0M.js → hx-clinical-status-dDyk5oj1.js} +53 -30
  300. package/dist/shared/hx-clinical-status-dDyk5oj1.js.map +1 -0
  301. package/dist/shared/{hx-code-snippet-DcVENSuC.js → hx-code-snippet-DasrRF9k.js} +27 -5
  302. package/dist/shared/hx-code-snippet-DasrRF9k.js.map +1 -0
  303. package/dist/shared/{hx-color-picker-C6EIuS9t.js → hx-color-picker-zv6wtok4.js} +81 -81
  304. package/dist/shared/hx-color-picker-zv6wtok4.js.map +1 -0
  305. package/dist/shared/{hx-combobox-BJ4lQocO.js → hx-combobox-C-DVLFpu.js} +36 -45
  306. package/dist/shared/hx-combobox-C-DVLFpu.js.map +1 -0
  307. package/dist/shared/{hx-copy-button-BoM0WsMd.js → hx-copy-button-DikpbhWY.js} +54 -26
  308. package/dist/shared/hx-copy-button-DikpbhWY.js.map +1 -0
  309. package/dist/shared/{hx-counter-B5NgKlw4.js → hx-counter-_m4cq45V.js} +21 -18
  310. package/dist/shared/hx-counter-_m4cq45V.js.map +1 -0
  311. package/dist/shared/{hx-data-table-D5Ne-goy.js → hx-data-table-609C-e9w.js} +215 -150
  312. package/dist/shared/hx-data-table-609C-e9w.js.map +1 -0
  313. package/dist/shared/{hx-date-picker-Cd3I3WkX.js → hx-date-picker-Bh8410Sf.js} +26 -35
  314. package/dist/shared/hx-date-picker-Bh8410Sf.js.map +1 -0
  315. package/dist/shared/{hx-dialog-D4ubstxx.js → hx-dialog-D_DeqcNS.js} +46 -25
  316. package/dist/shared/hx-dialog-D_DeqcNS.js.map +1 -0
  317. package/dist/shared/{hx-divider-BBtOLHRP.js → hx-divider-lfOMElo2.js} +18 -10
  318. package/dist/shared/hx-divider-lfOMElo2.js.map +1 -0
  319. package/dist/shared/{hx-drawer--WDLuWtS.js → hx-drawer-NleCbKuN.js} +95 -60
  320. package/dist/shared/hx-drawer-NleCbKuN.js.map +1 -0
  321. package/dist/shared/{hx-dropdown-n5-XSmiV.js → hx-dropdown-CA9WYdhm.js} +37 -27
  322. package/dist/shared/hx-dropdown-CA9WYdhm.js.map +1 -0
  323. package/dist/shared/{hx-field-CwT9tki1.js → hx-field-Duiib9Bj.js} +48 -12
  324. package/dist/shared/hx-field-Duiib9Bj.js.map +1 -0
  325. package/dist/shared/{hx-field-label-CcOK9VU3.js → hx-field-label-Dud-psvE.js} +37 -21
  326. package/dist/shared/hx-field-label-Dud-psvE.js.map +1 -0
  327. package/dist/shared/{hx-file-upload-Di_vpQaG.js → hx-file-upload-CmCCAvej.js} +24 -33
  328. package/dist/shared/hx-file-upload-CmCCAvej.js.map +1 -0
  329. package/dist/shared/{hx-help-text-Bmb80bP4.js → hx-help-text-DARi-Pfp.js} +37 -17
  330. package/dist/shared/hx-help-text-DARi-Pfp.js.map +1 -0
  331. package/dist/shared/{hx-icon-button-CJuy9xbw.js → hx-icon-button-BcZtVVtH.js} +58 -41
  332. package/dist/shared/hx-icon-button-BcZtVVtH.js.map +1 -0
  333. package/dist/shared/{hx-icon-BKHs3OLu.js → hx-icon-jWcGmn66.js} +9 -1
  334. package/dist/shared/hx-icon-jWcGmn66.js.map +1 -0
  335. package/dist/shared/{hx-image-ztiXumZB.js → hx-image-DOjPp-K5.js} +28 -20
  336. package/dist/shared/hx-image-DOjPp-K5.js.map +1 -0
  337. package/dist/shared/{hx-link-CN7AvGOW.js → hx-link-DCBct0f4.js} +44 -26
  338. package/dist/shared/hx-link-DCBct0f4.js.map +1 -0
  339. package/dist/shared/{hx-menu-divider-DRT8yHRZ.js → hx-menu-divider-DVWER7iT.js} +93 -50
  340. package/dist/shared/hx-menu-divider-DVWER7iT.js.map +1 -0
  341. package/dist/shared/{hx-meter-BcVC9yrt.js → hx-meter-ChZdWNF2.js} +42 -28
  342. package/dist/shared/hx-meter-ChZdWNF2.js.map +1 -0
  343. package/dist/shared/{hx-nav-l0Rp7WPW.js → hx-nav-CHX1JOWB.js} +28 -12
  344. package/dist/shared/hx-nav-CHX1JOWB.js.map +1 -0
  345. package/dist/shared/{hx-nav-item-CJN4VDrf.js → hx-nav-item-CRAESq9s.js} +56 -22
  346. package/dist/shared/hx-nav-item-CRAESq9s.js.map +1 -0
  347. package/dist/shared/{hx-number-input-0Waw7Z7u.js → hx-number-input-Cm682AVP.js} +154 -72
  348. package/dist/shared/hx-number-input-Cm682AVP.js.map +1 -0
  349. package/dist/shared/{hx-overflow-menu-DElwFSCd.js → hx-overflow-menu-BDl6QfUD.js} +52 -19
  350. package/dist/shared/hx-overflow-menu-BDl6QfUD.js.map +1 -0
  351. package/dist/shared/{hx-patient-banner-BKiN7nIE.js → hx-patient-banner-B4IjHeTx.js} +54 -34
  352. package/dist/shared/hx-patient-banner-B4IjHeTx.js.map +1 -0
  353. package/dist/shared/{hx-popover-CydNuVkT.js → hx-popover-ZGRFgBbx.js} +29 -15
  354. package/dist/shared/hx-popover-ZGRFgBbx.js.map +1 -0
  355. package/dist/shared/{hx-popup-DbzezTOd.js → hx-popup-Cc4qz89i.js} +24 -12
  356. package/dist/shared/hx-popup-Cc4qz89i.js.map +1 -0
  357. package/dist/shared/{hx-progress-bar-Cm0VihTN.js → hx-progress-bar-BY1uE6bN.js} +17 -16
  358. package/dist/shared/hx-progress-bar-BY1uE6bN.js.map +1 -0
  359. package/dist/shared/{hx-radio-f8c5ggHG.js → hx-radio-YEEsbUPN.js} +139 -54
  360. package/dist/shared/hx-radio-YEEsbUPN.js.map +1 -0
  361. package/dist/shared/{hx-rating-qRJZXskm.js → hx-rating-DjUJTT0M.js} +54 -17
  362. package/dist/shared/hx-rating-DjUJTT0M.js.map +1 -0
  363. package/dist/shared/{hx-select-CgcgsHU5.js → hx-select-DZ7wfcJx.js} +119 -37
  364. package/dist/shared/hx-select-DZ7wfcJx.js.map +1 -0
  365. package/dist/shared/{hx-skeleton-tiYvKO-t.js → hx-skeleton-aqa-gr1S.js} +28 -16
  366. package/dist/shared/hx-skeleton-aqa-gr1S.js.map +1 -0
  367. package/dist/shared/{hx-slider-BvXtvxmN.js → hx-slider-DAilFrR_.js} +28 -25
  368. package/dist/shared/hx-slider-DAilFrR_.js.map +1 -0
  369. package/dist/shared/{hx-spinner-D6nzuGmj.js → hx-spinner-Dw3cRY-9.js} +26 -14
  370. package/dist/shared/hx-spinner-Dw3cRY-9.js.map +1 -0
  371. package/dist/shared/{hx-split-button-CPndTJlC.js → hx-split-button-Dk-zMDDo.js} +51 -14
  372. package/dist/shared/hx-split-button-Dk-zMDDo.js.map +1 -0
  373. package/dist/shared/{hx-split-panel-Dx72NaET.js → hx-split-panel-Kdp4BiLz.js} +15 -1
  374. package/dist/shared/hx-split-panel-Kdp4BiLz.js.map +1 -0
  375. package/dist/shared/hx-stat-DKlyBL_K.js.map +1 -1
  376. package/dist/shared/{hx-status-indicator-ClWpK6zz.js → hx-status-indicator-DWSM0Ctm.js} +30 -17
  377. package/dist/shared/hx-status-indicator-DWSM0Ctm.js.map +1 -0
  378. package/dist/shared/{hx-step-C2Jk4mHa.js → hx-step-CuoOvcI8.js} +52 -18
  379. package/dist/shared/{hx-step-C2Jk4mHa.js.map → hx-step-CuoOvcI8.js.map} +1 -1
  380. package/dist/shared/{hx-structured-list-DKlrv7kS.js → hx-structured-list-CQCD7bCT.js} +21 -5
  381. package/dist/shared/hx-structured-list-CQCD7bCT.js.map +1 -0
  382. package/dist/shared/{hx-switch-BzMN37PV.js → hx-switch-BdxKN9WM.js} +89 -32
  383. package/dist/shared/hx-switch-BdxKN9WM.js.map +1 -0
  384. package/dist/shared/{hx-tab-panel-J58zOSjq.js → hx-tab-panel-CwClQoWP.js} +141 -88
  385. package/dist/shared/hx-tab-panel-CwClQoWP.js.map +1 -0
  386. package/dist/shared/{hx-tag-F0ZcYj9b.js → hx-tag-BL5qJJCN.js} +20 -8
  387. package/dist/shared/hx-tag-BL5qJJCN.js.map +1 -0
  388. package/dist/shared/{hx-td-CNCvzBwY.js → hx-td-CzSvVKdp.js} +21 -13
  389. package/dist/shared/hx-td-CzSvVKdp.js.map +1 -0
  390. package/dist/shared/{hx-text-input-Zuodg9s_.js → hx-text-input-BfMrvN9N.js} +110 -48
  391. package/dist/shared/hx-text-input-BfMrvN9N.js.map +1 -0
  392. package/dist/shared/{hx-textarea-BfSJJtA1.js → hx-textarea-C-i_Vam6.js} +108 -47
  393. package/dist/shared/hx-textarea-C-i_Vam6.js.map +1 -0
  394. package/dist/shared/{hx-time-picker-CZvmihHD.js → hx-time-picker-MZyLQPW9.js} +50 -61
  395. package/dist/shared/hx-time-picker-MZyLQPW9.js.map +1 -0
  396. package/dist/shared/{hx-toggle-button-BZUQUULm.js → hx-toggle-button-ClyNYNVI.js} +68 -37
  397. package/dist/shared/hx-toggle-button-ClyNYNVI.js.map +1 -0
  398. package/dist/shared/{hx-tooltip-Ny4i1Idj.js → hx-tooltip-ByWT987R.js} +33 -19
  399. package/dist/shared/hx-tooltip-ByWT987R.js.map +1 -0
  400. package/dist/shared/{hx-top-nav-CC4FW2Hp.js → hx-top-nav-k7hY78kt.js} +35 -14
  401. package/dist/shared/hx-top-nav-k7hY78kt.js.map +1 -0
  402. package/dist/shared/{hx-tree-item-CPQ9dJiK.js → hx-tree-item-D0ZphA45.js} +9 -1
  403. package/dist/shared/hx-tree-item-D0ZphA45.js.map +1 -0
  404. package/dist/shared/{toast-factory-CEMNOt1T.js → toast-factory-Cwd0PihS.js} +49 -36
  405. package/dist/shared/toast-factory-Cwd0PihS.js.map +1 -0
  406. package/package.json +2 -2
  407. package/dist/shared/aria-delegation-CBP9eQ0M.js.map +0 -1
  408. package/dist/shared/hx-accordion-CpfO0YQo.js.map +0 -1
  409. package/dist/shared/hx-alert-CHOjTBds.js.map +0 -1
  410. package/dist/shared/hx-badge-RPzd-t5l.js.map +0 -1
  411. package/dist/shared/hx-banner-B-WEDiq7.js.map +0 -1
  412. package/dist/shared/hx-breadcrumb-item-jLAKK038.js.map +0 -1
  413. package/dist/shared/hx-button-DoN8jjQT.js.map +0 -1
  414. package/dist/shared/hx-card-BgXZXDuc.js.map +0 -1
  415. package/dist/shared/hx-carousel-item-Dwt9Pphz.js.map +0 -1
  416. package/dist/shared/hx-checkbox-C82GjRXe.js.map +0 -1
  417. package/dist/shared/hx-checkbox-group-DThZeN5d.js.map +0 -1
  418. package/dist/shared/hx-clinical-status-BjtT5c0M.js.map +0 -1
  419. package/dist/shared/hx-code-snippet-DcVENSuC.js.map +0 -1
  420. package/dist/shared/hx-color-picker-C6EIuS9t.js.map +0 -1
  421. package/dist/shared/hx-combobox-BJ4lQocO.js.map +0 -1
  422. package/dist/shared/hx-copy-button-BoM0WsMd.js.map +0 -1
  423. package/dist/shared/hx-counter-B5NgKlw4.js.map +0 -1
  424. package/dist/shared/hx-data-table-D5Ne-goy.js.map +0 -1
  425. package/dist/shared/hx-date-picker-Cd3I3WkX.js.map +0 -1
  426. package/dist/shared/hx-dialog-D4ubstxx.js.map +0 -1
  427. package/dist/shared/hx-divider-BBtOLHRP.js.map +0 -1
  428. package/dist/shared/hx-drawer--WDLuWtS.js.map +0 -1
  429. package/dist/shared/hx-dropdown-n5-XSmiV.js.map +0 -1
  430. package/dist/shared/hx-field-CwT9tki1.js.map +0 -1
  431. package/dist/shared/hx-field-label-CcOK9VU3.js.map +0 -1
  432. package/dist/shared/hx-file-upload-Di_vpQaG.js.map +0 -1
  433. package/dist/shared/hx-help-text-Bmb80bP4.js.map +0 -1
  434. package/dist/shared/hx-icon-BKHs3OLu.js.map +0 -1
  435. package/dist/shared/hx-icon-button-CJuy9xbw.js.map +0 -1
  436. package/dist/shared/hx-image-ztiXumZB.js.map +0 -1
  437. package/dist/shared/hx-link-CN7AvGOW.js.map +0 -1
  438. package/dist/shared/hx-menu-divider-DRT8yHRZ.js.map +0 -1
  439. package/dist/shared/hx-meter-BcVC9yrt.js.map +0 -1
  440. package/dist/shared/hx-nav-item-CJN4VDrf.js.map +0 -1
  441. package/dist/shared/hx-nav-l0Rp7WPW.js.map +0 -1
  442. package/dist/shared/hx-number-input-0Waw7Z7u.js.map +0 -1
  443. package/dist/shared/hx-overflow-menu-DElwFSCd.js.map +0 -1
  444. package/dist/shared/hx-patient-banner-BKiN7nIE.js.map +0 -1
  445. package/dist/shared/hx-popover-CydNuVkT.js.map +0 -1
  446. package/dist/shared/hx-popup-DbzezTOd.js.map +0 -1
  447. package/dist/shared/hx-progress-bar-Cm0VihTN.js.map +0 -1
  448. package/dist/shared/hx-radio-f8c5ggHG.js.map +0 -1
  449. package/dist/shared/hx-rating-qRJZXskm.js.map +0 -1
  450. package/dist/shared/hx-select-CgcgsHU5.js.map +0 -1
  451. package/dist/shared/hx-skeleton-tiYvKO-t.js.map +0 -1
  452. package/dist/shared/hx-slider-BvXtvxmN.js.map +0 -1
  453. package/dist/shared/hx-spinner-D6nzuGmj.js.map +0 -1
  454. package/dist/shared/hx-split-button-CPndTJlC.js.map +0 -1
  455. package/dist/shared/hx-split-panel-Dx72NaET.js.map +0 -1
  456. package/dist/shared/hx-status-indicator-ClWpK6zz.js.map +0 -1
  457. package/dist/shared/hx-structured-list-DKlrv7kS.js.map +0 -1
  458. package/dist/shared/hx-switch-BzMN37PV.js.map +0 -1
  459. package/dist/shared/hx-tab-panel-J58zOSjq.js.map +0 -1
  460. package/dist/shared/hx-tag-F0ZcYj9b.js.map +0 -1
  461. package/dist/shared/hx-td-CNCvzBwY.js.map +0 -1
  462. package/dist/shared/hx-text-input-Zuodg9s_.js.map +0 -1
  463. package/dist/shared/hx-textarea-BfSJJtA1.js.map +0 -1
  464. package/dist/shared/hx-time-picker-CZvmihHD.js.map +0 -1
  465. package/dist/shared/hx-toggle-button-BZUQUULm.js.map +0 -1
  466. package/dist/shared/hx-tooltip-Ny4i1Idj.js.map +0 -1
  467. package/dist/shared/hx-top-nav-CC4FW2Hp.js.map +0 -1
  468. package/dist/shared/hx-tree-item-CPQ9dJiK.js.map +0 -1
  469. package/dist/shared/toast-factory-CEMNOt1T.js.map +0 -1
@@ -1,14 +1,14 @@
1
- import { css as k, nothing as s, html as d } from "lit";
1
+ import { css as p, nothing as s, html as d } from "lit";
2
2
  import "./document-token-adoption-DuYNKd4k.js";
3
- import { property as c, query as m, state as p, customElement as v } from "lit/decorators.js";
4
- import { classMap as _ } from "lit/directives/class-map.js";
3
+ import { property as i, query as _, state as k, customElement as u } from "lit/decorators.js";
4
+ import { classMap as m } from "lit/directives/class-map.js";
5
5
  import { ifDefined as l } from "lit/directives/if-defined.js";
6
6
  import { live as b } from "lit/directives/live.js";
7
- import { F as u } from "./FormMixin-Bjvw20G5.js";
8
- import { m as f } from "./aria-delegation-CBP9eQ0M.js";
7
+ import { F as v } from "./FormMixin-Bjvw20G5.js";
8
+ import { m as f } from "./aria-delegation-Doq6RRUy.js";
9
9
  import { c as g } from "./id-counter-PTgF-zcG.js";
10
- import { H as y } from "./helix-element-CZvaIEQP.js";
11
- const z = k`
10
+ import { H as y } from "./helix-element-BJh1Ffvi.js";
11
+ const z = p`
12
12
  :host {
13
13
  display: block;
14
14
  }
@@ -227,14 +227,80 @@ const z = k`
227
227
  transition: none;
228
228
  }
229
229
  }
230
+
231
+ /* ─── High Contrast Mode (forced-colors) ─── */
232
+
233
+ @media (forced-colors: active) {
234
+ .checkbox__box {
235
+ forced-color-adjust: none;
236
+ background-color: ButtonFace;
237
+ border: 2px solid ButtonText;
238
+ }
239
+
240
+ .checkbox__input:focus-visible ~ .checkbox__box {
241
+ outline: 3px solid Highlight;
242
+ outline-offset: 2px;
243
+ }
244
+
245
+ .checkbox--checked .checkbox__box,
246
+ .checkbox--indeterminate .checkbox__box {
247
+ background-color: Highlight;
248
+ border-color: Highlight;
249
+ }
250
+
251
+ .checkbox__icon {
252
+ stroke: HighlightText;
253
+ }
254
+
255
+ .checkbox--error .checkbox__box {
256
+ border-color: LinkText;
257
+ }
258
+
259
+ .checkbox--error.checkbox--checked .checkbox__box,
260
+ .checkbox--error.checkbox--indeterminate .checkbox__box {
261
+ background-color: LinkText;
262
+ border-color: LinkText;
263
+ }
264
+
265
+ :host([disabled]) {
266
+ opacity: 1;
267
+ }
268
+
269
+ :host([disabled]) .checkbox__box {
270
+ border-color: GrayText;
271
+ background-color: ButtonFace;
272
+ }
273
+
274
+ :host([disabled]) .checkbox--checked .checkbox__box,
275
+ :host([disabled]) .checkbox--indeterminate .checkbox__box {
276
+ background-color: GrayText;
277
+ border-color: GrayText;
278
+ }
279
+
280
+ :host([disabled]) .checkbox__label {
281
+ color: GrayText;
282
+ }
283
+
284
+ .checkbox__label {
285
+ color: CanvasText;
286
+ }
287
+
288
+ .checkbox__help-text {
289
+ color: GrayText;
290
+ }
291
+
292
+ .checkbox__error {
293
+ color: LinkText;
294
+ }
295
+ }
230
296
  `;
231
297
  var w = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, o = (e, t, a, h) => {
232
- for (var i = h > 1 ? void 0 : h ? $(t, a) : t, n = e.length - 1, x; n >= 0; n--)
233
- (x = e[n]) && (i = (h ? x(t, a, i) : x(i)) || i);
234
- return h && i && w(t, a, i), i;
298
+ for (var c = h > 1 ? void 0 : h ? $(t, a) : t, n = e.length - 1, x; n >= 0; n--)
299
+ (x = e[n]) && (c = (h ? x(t, a, c) : x(c)) || c);
300
+ return h && c && w(t, a, c), c;
235
301
  };
236
302
  const E = g("hx-checkbox");
237
- let r = class extends f(u(y)) {
303
+ let r = class extends f(v(y)) {
238
304
  constructor() {
239
305
  super(...arguments), this.checked = !1, this.indeterminate = !1, this.disabled = !1, this.required = !1, this.name = "", this.value = "on", this.label = "", this.error = "", this.helpText = "", this.requiredMessage = "This field is required.", this.size = "md", this._hasErrorSlot = !1, this._announcedError = "", this._id = E(), this._helpTextId = `${this._id}-help`, this._errorId = `${this._id}-error`, this._labelId = `${this._id}-label`;
240
306
  }
@@ -315,7 +381,7 @@ let r = class extends f(u(y)) {
315
381
  "checkbox--lg": this.size === "lg"
316
382
  }, a = [e ? this._errorId : null, this.helpText && !e ? this._helpTextId : null].filter(Boolean).join(" ") || void 0, h = this.ariaLabel ?? void 0;
317
383
  return d`
318
- <div class=${_(t)}>
384
+ <div class=${m(t)}>
319
385
  <label part="control" class="checkbox__control" @click=${this._handleChange}>
320
386
  <input
321
387
  class="checkbox__input"
@@ -333,10 +399,10 @@ let r = class extends f(u(y)) {
333
399
  aria-label=${l(h)}
334
400
  aria-labelledby=${l(h ? void 0 : this._labelId)}
335
401
  @keydown=${this._handleKeyDown}
336
- @click=${(i) => {
337
- i.preventDefault(), i.stopPropagation();
402
+ @click=${(c) => {
403
+ c.preventDefault(), c.stopPropagation();
338
404
  }}
339
- @change=${(i) => i.stopPropagation()}
405
+ @change=${(c) => c.stopPropagation()}
340
406
  />
341
407
 
342
408
  <span part="checkbox" class="checkbox__box">
@@ -393,51 +459,51 @@ let r = class extends f(u(y)) {
393
459
  r.styles = [z];
394
460
  r.formAssociated = !0;
395
461
  o([
396
- c({ type: Boolean, reflect: !0 })
462
+ i({ type: Boolean, reflect: !0 })
397
463
  ], r.prototype, "checked", 2);
398
464
  o([
399
- c({ type: Boolean, reflect: !0 })
465
+ i({ type: Boolean, reflect: !0 })
400
466
  ], r.prototype, "indeterminate", 2);
401
467
  o([
402
- c({ type: Boolean, reflect: !0 })
468
+ i({ type: Boolean, reflect: !0 })
403
469
  ], r.prototype, "disabled", 2);
404
470
  o([
405
- c({ type: Boolean, reflect: !0 })
471
+ i({ type: Boolean, reflect: !0 })
406
472
  ], r.prototype, "required", 2);
407
473
  o([
408
- c({ type: String })
474
+ i({ type: String, reflect: !0 })
409
475
  ], r.prototype, "name", 2);
410
476
  o([
411
- c({ type: String })
477
+ i({ type: String, reflect: !0 })
412
478
  ], r.prototype, "value", 2);
413
479
  o([
414
- c({ type: String })
480
+ i({ type: String })
415
481
  ], r.prototype, "label", 2);
416
482
  o([
417
- c({ type: String })
483
+ i({ type: String })
418
484
  ], r.prototype, "error", 2);
419
485
  o([
420
- c({ type: String, attribute: "help-text" })
486
+ i({ type: String, attribute: "help-text" })
421
487
  ], r.prototype, "helpText", 2);
422
488
  o([
423
- c({ attribute: "required-message" })
489
+ i({ attribute: "required-message" })
424
490
  ], r.prototype, "requiredMessage", 2);
425
491
  o([
426
- c({ type: String, attribute: "hx-size", reflect: !0 })
492
+ i({ type: String, attribute: "hx-size", reflect: !0 })
427
493
  ], r.prototype, "size", 2);
428
494
  o([
429
- m(".checkbox__input")
495
+ _(".checkbox__input")
430
496
  ], r.prototype, "_inputEl", 2);
431
497
  o([
432
- p()
498
+ k()
433
499
  ], r.prototype, "_hasErrorSlot", 2);
434
500
  o([
435
- p()
501
+ k()
436
502
  ], r.prototype, "_announcedError", 2);
437
503
  r = o([
438
- v("hx-checkbox")
504
+ u("hx-checkbox")
439
505
  ], r);
440
506
  export {
441
507
  r as H
442
508
  };
443
- //# sourceMappingURL=hx-checkbox-C82GjRXe.js.map
509
+ //# sourceMappingURL=hx-checkbox-DyDbR1B9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hx-checkbox-DyDbR1B9.js","sources":["../../src/components/hx-checkbox/hx-checkbox.styles.ts","../../src/components/hx-checkbox/hx-checkbox.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixCheckboxStyles = css`\n :host {\n display: block;\n }\n\n :host([disabled]) {\n opacity: var(--hx-opacity-disabled, 0.5);\n pointer-events: none;\n }\n\n * {\n box-sizing: border-box;\n }\n\n .checkbox {\n display: flex;\n flex-direction: column;\n gap: var(--hx-space-1, 0.25rem);\n font-family: var(--hx-font-family-sans, sans-serif);\n }\n\n /* ─── Control (checkbox + label row) ─── */\n\n .checkbox__control {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--hx-space-2, 0.5rem);\n /* WCAG 2.5.5 (healthcare mandate): minimum 44px touch target height */\n min-height: var(--hx-touch-target-min, 2.75rem);\n cursor: pointer;\n }\n\n :host([disabled]) .checkbox__control {\n cursor: not-allowed;\n }\n\n /* ─── Hidden Native Input ─── */\n\n .checkbox__input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n\n /* ─── Visual Checkbox ─── */\n\n .checkbox__box {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--hx-checkbox-size, var(--hx-size-5, 1.25rem));\n height: var(--hx-checkbox-size, var(--hx-size-5, 1.25rem));\n border: var(--hx-border-width-medium, 2px) solid\n var(--hx-checkbox-border-color, var(--hx-color-neutral-300, #ced4da));\n border-radius: var(--hx-checkbox-border-radius, var(--hx-border-radius-sm, 0.25rem));\n background-color: var(--hx-checkbox-bg, var(--hx-color-neutral-0, #ffffff));\n transition:\n background-color var(--hx-transition-fast, 150ms ease),\n border-color var(--hx-transition-fast, 150ms ease),\n box-shadow var(--hx-transition-fast, 150ms ease);\n margin-top: var(--hx-space-px, 1px);\n }\n\n /* ─── Focus Ring ─── */\n\n .checkbox__input:focus-visible ~ .checkbox__box {\n outline: var(--hx-focus-ring-width, 2px) solid\n var(\n --hx-checkbox-focus-ring-color,\n var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))\n );\n outline-offset: var(--hx-focus-ring-offset, 2px);\n }\n\n /* ─── Checked State ─── */\n\n .checkbox--checked .checkbox__box {\n background-color: var(--hx-checkbox-checked-bg, var(--hx-color-primary-500, #2563eb));\n border-color: var(--hx-checkbox-checked-border-color, var(--hx-color-primary-500, #2563eb));\n }\n\n /* ─── Indeterminate State ─── */\n\n .checkbox--indeterminate .checkbox__box {\n background-color: var(--hx-checkbox-checked-bg, var(--hx-color-primary-500, #2563eb));\n border-color: var(--hx-checkbox-checked-border-color, var(--hx-color-primary-500, #2563eb));\n }\n\n /* ─── Error State ─── */\n\n .checkbox--error .checkbox__box {\n border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc3545));\n }\n\n .checkbox--error.checkbox--checked .checkbox__box,\n .checkbox--error.checkbox--indeterminate .checkbox__box {\n background-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc3545));\n border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc3545));\n }\n\n /* ─── Hover ─── */\n\n /* P1-03: use component token so consumer overrides of --hx-checkbox-border-color work on hover */\n .checkbox__control:hover .checkbox__box {\n border-color: var(\n --hx-checkbox-hover-border-color,\n var(--hx-checkbox-border-color, var(--hx-color-primary-500, #2563eb))\n );\n }\n\n .checkbox--checked .checkbox__control:hover .checkbox__box {\n filter: brightness(var(--hx-filter-brightness-hover, 0.9));\n }\n\n .checkbox--error .checkbox__control:hover .checkbox__box {\n border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc3545));\n }\n\n /* ─── Checkmark Icon ─── */\n\n .checkbox__icon {\n display: none;\n width: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);\n height: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);\n fill: none;\n stroke: var(--hx-checkbox-checkmark-color, var(--hx-color-neutral-0, #ffffff));\n stroke-width: 2.5;\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n\n .checkbox--checked .checkbox__icon--check {\n display: block;\n }\n\n .checkbox--indeterminate .checkbox__icon--indeterminate {\n display: block;\n }\n\n /* ─── Label ─── */\n\n .checkbox__label {\n font-size: var(--hx-font-size-sm, 0.875rem);\n font-weight: var(--hx-font-weight-medium, 500);\n color: var(--hx-checkbox-label-color, var(--hx-color-neutral-700, #343a40));\n line-height: var(--hx-line-height-normal, 1.5);\n user-select: none;\n -webkit-user-select: none;\n }\n\n .checkbox__required-marker {\n color: var(--hx-checkbox-error-color, var(--hx-color-error-text, #b91c1c));\n font-weight: var(--hx-font-weight-bold, 700);\n }\n\n /* ─── Help Text & Error Messages ─── */\n\n .checkbox__help-text {\n font-size: var(--hx-font-size-xs, 0.75rem);\n color: var(--hx-checkbox-help-text-color, var(--hx-color-neutral-500, #6c757d));\n line-height: var(--hx-line-height-normal, 1.5);\n padding-inline-start: calc(\n var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) + var(--hx-space-2, 0.5rem)\n );\n }\n\n .checkbox__error {\n font-size: var(--hx-font-size-xs, 0.75rem);\n color: var(--hx-checkbox-error-color, var(--hx-color-error-text, #b91c1c));\n line-height: var(--hx-line-height-normal, 1.5);\n padding-inline-start: calc(\n var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) + var(--hx-space-2, 0.5rem)\n );\n }\n\n /* ─── Size Variants ─── */\n\n :host([hx-size='sm']) {\n --hx-checkbox-size: var(--hx-size-4, 1rem);\n }\n\n :host([hx-size='sm']) .checkbox__label {\n font-size: var(--hx-font-size-xs, 0.75rem);\n }\n\n :host([hx-size='sm']) .checkbox__help-text,\n :host([hx-size='sm']) .checkbox__error {\n font-size: var(--hx-font-size-xs, 0.75rem);\n padding-inline-start: calc(var(--hx-size-4, 1rem) + var(--hx-space-2, 0.5rem));\n }\n\n :host([hx-size='lg']) {\n --hx-checkbox-size: var(--hx-size-6, 1.5rem);\n }\n\n :host([hx-size='lg']) .checkbox__label {\n font-size: var(--hx-font-size-md, 1rem);\n }\n\n :host([hx-size='lg']) .checkbox__help-text,\n :host([hx-size='lg']) .checkbox__error {\n font-size: var(--hx-font-size-sm, 0.875rem);\n padding-inline-start: calc(var(--hx-size-6, 1.5rem) + var(--hx-space-2, 0.5rem));\n }\n\n /* ─── Reduced Motion ─── */\n\n @media (prefers-reduced-motion: reduce) {\n .checkbox__box {\n transition: none;\n }\n }\n\n /* ─── High Contrast Mode (forced-colors) ─── */\n\n @media (forced-colors: active) {\n .checkbox__box {\n forced-color-adjust: none;\n background-color: ButtonFace;\n border: 2px solid ButtonText;\n }\n\n .checkbox__input:focus-visible ~ .checkbox__box {\n outline: 3px solid Highlight;\n outline-offset: 2px;\n }\n\n .checkbox--checked .checkbox__box,\n .checkbox--indeterminate .checkbox__box {\n background-color: Highlight;\n border-color: Highlight;\n }\n\n .checkbox__icon {\n stroke: HighlightText;\n }\n\n .checkbox--error .checkbox__box {\n border-color: LinkText;\n }\n\n .checkbox--error.checkbox--checked .checkbox__box,\n .checkbox--error.checkbox--indeterminate .checkbox__box {\n background-color: LinkText;\n border-color: LinkText;\n }\n\n :host([disabled]) {\n opacity: 1;\n }\n\n :host([disabled]) .checkbox__box {\n border-color: GrayText;\n background-color: ButtonFace;\n }\n\n :host([disabled]) .checkbox--checked .checkbox__box,\n :host([disabled]) .checkbox--indeterminate .checkbox__box {\n background-color: GrayText;\n border-color: GrayText;\n }\n\n :host([disabled]) .checkbox__label {\n color: GrayText;\n }\n\n .checkbox__label {\n color: CanvasText;\n }\n\n .checkbox__help-text {\n color: GrayText;\n }\n\n .checkbox__error {\n color: LinkText;\n }\n }\n`;\n","import { html, nothing, type PropertyValues } 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 { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { HelixElement, createIdCounter } from '../../base/index.js';\nimport { mixinDelegatesAria } from '../../mixins/index.js';\nimport { FormMixin } from '../../mixins/FormMixin.js';\nimport { helixCheckboxStyles } from './hx-checkbox.styles.js';\n\n// P2-05: monotonic counter — collision-free, deterministic, SSR-safe\nconst _nextCheckboxId = createIdCounter('hx-checkbox');\n\n/**\n * A checkbox component with label, validation, and form association.\n *\n * @summary Form-associated checkbox with built-in label, error, and help text.\n *\n * @tag hx-checkbox\n *\n * @slot - Custom label content (overrides the label property). Rich HTML allowed — Drupal can include links in consent labels.\n * @slot error - Custom error content (overrides the error property).\n * @slot help-text - Custom help text content (overrides the helpText property).\n *\n * @fires {CustomEvent<{checked: boolean, value: string}>} hx-change - Dispatched when the checkbox is toggled.\n *\n * @csspart checkbox - The visual checkbox element.\n * @csspart checkmark - The SVG checkmark icon inside the checkbox.\n * @csspart label - The label element.\n * @csspart help-text - The help text container.\n * @csspart error - The error message container.\n * @csspart control - The wrapper around checkbox and label.\n *\n * @cssprop [--hx-checkbox-size=var(--hx-size-5, 1.25rem)] - Checkbox dimensions.\n * @cssprop [--hx-checkbox-bg=var(--hx-color-neutral-0, #ffffff)] - Unchecked background color.\n * @cssprop [--hx-checkbox-border-color=var(--hx-color-neutral-300, #ced4da)] - Checkbox border color.\n * @cssprop [--hx-checkbox-border-radius=var(--hx-border-radius-sm, 0.25rem)] - Checkbox border radius.\n * @cssprop [--hx-checkbox-checked-bg=var(--hx-color-primary-500, #2563EB)] - Checked background color.\n * @cssprop [--hx-checkbox-checked-border-color=var(--hx-color-primary-500, #2563EB)] - Checked border color.\n * @cssprop [--hx-checkbox-checkmark-color=var(--hx-color-neutral-0, #ffffff)] - Checkmark color.\n * @cssprop [--hx-checkbox-focus-ring-color=var(--hx-focus-ring-color, #2563EB)] - Focus ring color.\n * @cssprop [--hx-checkbox-label-color=var(--hx-color-neutral-700, #343a40)] - Label text color.\n * @cssprop [--hx-checkbox-help-text-color=var(--hx-color-neutral-500, #6c757d)] - Help text color.\n * @cssprop [--hx-checkbox-hover-border-color=var(--hx-checkbox-border-color)] - Border color on hover.\n * @cssprop [--hx-checkbox-error-color=var(--hx-color-error-500, #dc3545)] - Error state color.\n */\n@customElement('hx-checkbox')\nexport class HelixCheckbox extends mixinDelegatesAria(FormMixin(HelixElement)) {\n static override styles = [helixCheckboxStyles];\n\n // ─── Form Association ───\n\n /** @internal */\n static override formAssociated = true;\n\n // ─── Properties ───\n\n /**\n * Whether the checkbox is checked.\n * @attr checked\n */\n @property({ type: Boolean, reflect: true })\n checked = false;\n\n /**\n * Whether the checkbox is in an indeterminate state (e.g., for \"select all\" patterns).\n * @attr indeterminate\n */\n @property({ type: Boolean, reflect: true })\n indeterminate = false;\n\n /**\n * Whether the checkbox is disabled.\n * @attr disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Whether the checkbox is required for form submission.\n * @attr required\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * The name of the checkbox, used for form submission.\n * @attr name\n */\n @property({ type: String, reflect: true })\n name = '';\n\n /**\n * The value submitted when the checkbox is checked.\n * @attr value\n */\n @property({ type: String, reflect: true })\n value = 'on';\n\n /**\n * The visible label text for the checkbox.\n * @attr label\n */\n @property({ type: String })\n label = '';\n\n /**\n * Error message to display. When set, the checkbox enters an error state.\n * @attr error\n */\n @property({ type: String })\n error = '';\n\n /**\n * Help text displayed below the checkbox for guidance.\n * @attr help-text\n */\n @property({ type: String, attribute: 'help-text' })\n helpText = '';\n\n /**\n * Validation message shown when the field is required but empty.\n * @attr required-message\n */\n @property({ attribute: 'required-message' })\n requiredMessage = 'This field is required.';\n\n /**\n * The size of the checkbox.\n * @attr hx-size\n */\n @property({ type: String, attribute: 'hx-size', reflect: true })\n size: 'sm' | 'md' | 'lg' = 'md';\n\n /** @internal */\n @query('.checkbox__input')\n private _inputEl: HTMLInputElement | undefined;\n\n /** @internal */\n @state() private _hasErrorSlot = false;\n\n /**\n * Deferred copy of this.error used inside the live region. Injected after\n * the region is visible (via requestAnimationFrame) so screen readers\n * re-announce the message even if it was set before the region became\n * visible — see WCAG 4.1.3.\n * @internal\n */\n @state() private _announcedError = '';\n\n // ─── Slot Handlers ───\n\n /** @internal */\n private _handleErrorSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n this._hasErrorSlot = slot.assignedNodes({ flatten: true }).length > 0;\n }\n\n // ─── Lifecycle ───\n\n override updated(changedProperties: PropertyValues<this>): void {\n super.updated(changedProperties);\n if (changedProperties.has('checked') || changedProperties.has('value')) {\n this._internals.setFormValue(this.checked ? this.value : null);\n }\n // WCAG 4.1.3: Keep _announcedError in sync with the error property.\n // When error changes from one non-empty value to another, clear the live region\n // first then re-inject after a rAF tick so screen readers re-announce the updated\n // message (clearing content before the region is re-populated triggers a new event).\n // When transitioning from empty to non-empty (initial display), set directly so\n // the text is immediately available for synchronous DOM assertions.\n if (changedProperties.has('error')) {\n const previousError = changedProperties.get('error') as string;\n if (previousError && this.error) {\n // Changing from one error message to another: defer to trigger re-announcement.\n this._announcedError = '';\n requestAnimationFrame(() => {\n this._announcedError = this.error;\n });\n } else {\n // Transitioning from empty→error or error→empty: set directly.\n this._announcedError = this.error;\n }\n }\n }\n\n // ─── Form Integration ───\n\n /** Returns the associated form element, if any. */\n override get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n /** Returns the validation message. */\n override get validationMessage(): string {\n return this._internals.validationMessage;\n }\n\n /** Returns the ValidityState object. */\n override get validity(): ValidityState {\n return this._internals.validity;\n }\n\n /** @internal */\n protected _updateValidity(): void {\n if (this.required && !this.checked) {\n this._internals.setValidity(\n { valueMissing: true },\n this.error || this.requiredMessage,\n this._inputEl ?? undefined,\n );\n } else {\n this._internals.setValidity({});\n }\n }\n\n // ─── Form Lifecycle Hooks ───\n\n protected override _onFormReset(): void {\n this.checked = false;\n this.indeterminate = false;\n this._internals.setFormValue(null);\n this._resetInteractionState();\n }\n\n protected override _onFormStateRestore(\n state: File | string | FormData | null,\n _mode: 'restore' | 'autocomplete',\n ): void {\n this.checked = typeof state === 'string' && state === this.value;\n }\n\n protected override _onFormDisabled(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n // ─── Event Handling ───\n\n /** @internal */\n private _handleChange(): void {\n if (this.disabled) return;\n\n this.indeterminate = false;\n this.checked = !this.checked;\n\n this._internals.setFormValue(this.checked ? this.value : null);\n this._handleInteractionInput();\n\n /**\n * Dispatched when the checkbox is toggled.\n * @event hx-change\n */\n this.dispatchEvent(\n new CustomEvent<{ checked: boolean; value: string }>('hx-change', {\n bubbles: true,\n composed: true,\n detail: { checked: this.checked, value: this.value },\n }),\n );\n }\n\n /** @internal */\n private _handleKeyDown(e: KeyboardEvent): void {\n if (e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this._handleChange();\n }\n }\n\n // ─── Public Methods ───\n\n /** Moves focus to the checkbox input element. */\n override focus(options?: FocusOptions): void {\n this._inputEl?.focus(options);\n }\n\n // ─── Render ───\n\n // P2-05: monotonic counter — collision-free and deterministic\n /** @internal */\n private _id = _nextCheckboxId();\n /** @internal */\n private _helpTextId = `${this._id}-help`;\n /** @internal */\n private _errorId = `${this._id}-error`;\n /** @internal */\n private _labelId = `${this._id}-label`;\n\n override render() {\n const hasError = !!this.error || this._hasErrorSlot;\n\n const containerClasses = {\n checkbox: true,\n 'checkbox--checked': this.checked,\n 'checkbox--indeterminate': this.indeterminate,\n 'checkbox--error': hasError,\n 'checkbox--disabled': this.disabled,\n 'checkbox--required': this.required,\n 'checkbox--sm': this.size === 'sm',\n 'checkbox--md': this.size === 'md',\n 'checkbox--lg': this.size === 'lg',\n };\n\n // P2-06: simplified — hasError already includes _hasErrorSlot\n const describedBy =\n [hasError ? this._errorId : null, this.helpText && !hasError ? this._helpTextId : null]\n .filter(Boolean)\n .join(' ') || undefined;\n\n const hostAriaLabel = this.ariaLabel ?? undefined;\n\n return html`\n <div class=${classMap(containerClasses)}>\n <label part=\"control\" class=\"checkbox__control\" @click=${this._handleChange}>\n <input\n class=\"checkbox__input\"\n type=\"checkbox\"\n id=${this._id}\n .checked=${live(this.checked)}\n .indeterminate=${live(this.indeterminate)}\n ?disabled=${this.disabled}\n ?required=${this.required}\n name=${ifDefined(this.name || undefined)}\n .value=${this.value}\n aria-checked=${this.indeterminate ? 'mixed' : nothing}\n aria-invalid=${hasError ? 'true' : nothing}\n aria-describedby=${ifDefined(describedBy)}\n aria-label=${ifDefined(hostAriaLabel)}\n aria-labelledby=${ifDefined(!hostAriaLabel ? this._labelId : undefined)}\n @keydown=${this._handleKeyDown}\n @click=${(e: Event) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n @change=${(e: Event) => e.stopPropagation()}\n />\n\n <span part=\"checkbox\" class=\"checkbox__box\">\n <svg\n part=\"checkmark\"\n class=\"checkbox__icon checkbox__icon--check\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n >\n <polyline points=\"3.5 8 6.5 11 12.5 5\"></polyline>\n </svg>\n <svg\n class=\"checkbox__icon checkbox__icon--indeterminate\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n >\n <line x1=\"4\" y1=\"8\" x2=\"12\" y2=\"8\"></line>\n </svg>\n </span>\n\n <span part=\"label\" class=\"checkbox__label\" id=${this._labelId}>\n <slot>${this.label}</slot>\n ${this.required\n ? html`<span class=\"checkbox__required-marker\" aria-hidden=\"true\">*</span>`\n : nothing}\n </span>\n </label>\n\n <!--\n P0-01: wrapper div always owns _errorId so aria-describedby works regardless\n of whether error content comes from the .error property or the named slot.\n P1-02: role=\"status\" (implicit aria-live=\"polite\") replaces role=\"alert\" +\n aria-live=\"polite\" which was semantically contradictory.\n -->\n <div\n part=\"error\"\n class=\"checkbox__error\"\n id=${this._errorId}\n role=\"status\"\n ?hidden=${!hasError}\n >\n <slot name=\"error\" @slotchange=${this._handleErrorSlotChange}>\n ${this._announcedError}\n </slot>\n </div>\n\n ${this.helpText && !hasError\n ? html`\n <div part=\"help-text\" class=\"checkbox__help-text\" id=${this._helpTextId}>\n <slot name=\"help-text\">${this.helpText}</slot>\n </div>\n `\n : nothing}\n </div>\n `;\n }\n}\n\n/** Canonical type alias for the hx-checkbox component. */\nexport type HxCheckbox = HelixCheckbox;\n\n/** @deprecated Use {@link HxCheckbox} instead. The `Wc` prefix was a legacy naming convention. */\nexport type WcCheckbox = HelixCheckbox;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-checkbox': HelixCheckbox;\n }\n interface HTMLElementEventMap {\n 'hx-change': CustomEvent<{ value: string } | { checked: boolean; value: string }>;\n }\n}\n"],"names":["helixCheckboxStyles","css","_nextCheckboxId","createIdCounter","HelixCheckbox","mixinDelegatesAria","FormMixin","HelixElement","slot","changedProperties","state","_mode","disabled","options","_a","hasError","containerClasses","describedBy","hostAriaLabel","html","classMap","live","ifDefined","nothing","e","__decorateClass","property","query","customElement"],"mappings":";;;;;;;;;;AAEO,MAAMA,IAAsBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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"}
@@ -1,8 +1,10 @@
1
- import { css as _, LitElement as u, nothing as d, html as h } from "lit";
1
+ import { css as _, nothing as c, html as h } from "lit";
2
2
  import "./document-token-adoption-DuYNKd4k.js";
3
- import { property as a, state as p, customElement as x } from "lit/decorators.js";
4
- import { classMap as g } from "lit/directives/class-map.js";
5
- const f = _`
3
+ import { property as l, state as p, customElement as u } from "lit/decorators.js";
4
+ import { classMap as x } from "lit/directives/class-map.js";
5
+ import { H as f } from "./helix-element-BJh1Ffvi.js";
6
+ import { c as g } from "./id-counter-PTgF-zcG.js";
7
+ const m = _`
6
8
  :host {
7
9
  display: block;
8
10
  }
@@ -79,15 +81,48 @@ const f = _`
79
81
  color: var(--hx-checkbox-group-error-color, var(--hx-color-error-500, #dc3545));
80
82
  line-height: var(--hx-line-height-normal);
81
83
  }
84
+
85
+ /* ─── High Contrast Mode (forced-colors) ─── */
86
+
87
+ @media (forced-colors: active) {
88
+ .fieldset {
89
+ border: none;
90
+ }
91
+
92
+ .fieldset__legend {
93
+ color: CanvasText;
94
+ }
95
+
96
+ .fieldset--error .fieldset__legend {
97
+ color: LinkText;
98
+ }
99
+
100
+ :host([disabled]) {
101
+ opacity: 1;
102
+ }
103
+
104
+ :host([disabled]) .fieldset__legend {
105
+ color: GrayText;
106
+ }
107
+
108
+ .fieldset__help-text {
109
+ color: GrayText;
110
+ }
111
+
112
+ .fieldset__error {
113
+ color: LinkText;
114
+ }
115
+ }
82
116
  `;
83
- var b = Object.defineProperty, m = Object.getOwnPropertyDescriptor, o = (e, t, r, l) => {
84
- for (var i = l > 1 ? void 0 : l ? m(t, r) : t, n = e.length - 1, c; n >= 0; n--)
85
- (c = e[n]) && (i = (l ? c(t, r, i) : c(i)) || i);
86
- return l && i && b(t, r, i), i;
117
+ var b = Object.defineProperty, y = Object.getOwnPropertyDescriptor, i = (e, t, r, a) => {
118
+ for (var o = a > 1 ? void 0 : a ? y(t, r) : t, n = e.length - 1, d; n >= 0; n--)
119
+ (d = e[n]) && (o = (a ? d(t, r, o) : d(o)) || o);
120
+ return a && o && b(t, r, o), o;
87
121
  };
88
- let k = 0, s = class extends u {
122
+ const k = g("hx-checkbox-group");
123
+ let s = class extends f {
89
124
  constructor() {
90
- super(), this.name = "", this.label = "", this.required = !1, this.disabled = !1, this.error = "", this.helpText = "", this._orientation = "vertical", this._hasErrorSlot = !1, this._hasHelpSlot = !1, this._groupId = `hx-checkbox-group-${++k}`, this._helpTextId = `${this._groupId}-help`, this._errorId = `${this._groupId}-error`, this._handleCheckboxChange = (e) => {
125
+ super(...arguments), this.name = "", this.label = "", this.required = !1, this.disabled = !1, this.error = "", this.helpText = "", this._orientation = "vertical", this._hasErrorSlot = !1, this._hasHelpSlot = !1, this._groupId = k(), this._helpTextId = `${this._groupId}-help`, this._errorId = `${this._groupId}-error`, this._handleCheckboxChange = (e) => {
91
126
  if (e.target === this) return;
92
127
  e.stopImmediatePropagation();
93
128
  const t = this._getCheckedValues();
@@ -98,7 +133,7 @@ let k = 0, s = class extends u {
98
133
  detail: { values: t }
99
134
  })
100
135
  );
101
- }, this._internals = this.attachInternals();
136
+ };
102
137
  }
103
138
  get orientation() {
104
139
  return this._orientation;
@@ -204,21 +239,21 @@ let k = 0, s = class extends u {
204
239
  return this._internals.reportValidity();
205
240
  }
206
241
  /** @internal */
207
- formResetCallback() {
242
+ _onFormReset() {
208
243
  this._getCheckboxes().forEach((t) => {
209
244
  t.checked = !1;
210
245
  }), this._internals.setFormValue(null), this._updateValidity([]);
211
246
  }
212
247
  /** @internal */
213
- formStateRestoreCallback(e, t) {
248
+ _onFormStateRestore(e, t) {
214
249
  if (!(e instanceof FormData)) return;
215
- const r = e.getAll(this.name).map((i) => String(i));
216
- this._getCheckboxes().forEach((i) => {
217
- i.checked = r.includes(i.value);
250
+ const r = e.getAll(this.name).map((o) => String(o));
251
+ this._getCheckboxes().forEach((o) => {
252
+ o.checked = r.includes(o.value);
218
253
  }), this._updateFormValue(r), this._updateValidity(r);
219
254
  }
220
255
  /** @internal */
221
- formDisabledCallback(e) {
256
+ _onFormDisabled(e) {
222
257
  this.disabled = e;
223
258
  }
224
259
  // ─── Render ───
@@ -235,12 +270,12 @@ let k = 0, s = class extends u {
235
270
  return h`
236
271
  <fieldset
237
272
  part="group"
238
- class=${g(t)}
239
- aria-describedby=${r ?? d}
273
+ class=${x(t)}
274
+ aria-describedby=${r ?? c}
240
275
  >
241
276
  <legend part="label" class="fieldset__legend">
242
277
  <slot name="label">${this.label}</slot>
243
- ${this.required ? h`<span class="fieldset__required-marker" aria-hidden="true">*</span>` : d}
278
+ ${this.required ? h`<span class="fieldset__required-marker" aria-hidden="true">*</span>` : c}
244
279
  </legend>
245
280
 
246
281
  <div class="fieldset__items">
@@ -258,39 +293,39 @@ let k = 0, s = class extends u {
258
293
  `;
259
294
  }
260
295
  };
261
- s.styles = [f];
296
+ s.styles = [m];
262
297
  s.formAssociated = !0;
263
- o([
264
- a({ type: String })
298
+ i([
299
+ l({ type: String, reflect: !0 })
265
300
  ], s.prototype, "name", 2);
266
- o([
267
- a({ type: String })
301
+ i([
302
+ l({ type: String })
268
303
  ], s.prototype, "label", 2);
269
- o([
270
- a({ type: Boolean, reflect: !0 })
304
+ i([
305
+ l({ type: Boolean, reflect: !0 })
271
306
  ], s.prototype, "required", 2);
272
- o([
273
- a({ type: Boolean, reflect: !0 })
307
+ i([
308
+ l({ type: Boolean, reflect: !0 })
274
309
  ], s.prototype, "disabled", 2);
275
- o([
276
- a({ type: String })
310
+ i([
311
+ l({ type: String })
277
312
  ], s.prototype, "error", 2);
278
- o([
279
- a({ type: String, attribute: "help-text" })
313
+ i([
314
+ l({ type: String, attribute: "help-text" })
280
315
  ], s.prototype, "helpText", 2);
281
- o([
282
- a({ type: String, reflect: !0 })
316
+ i([
317
+ l({ type: String, reflect: !0 })
283
318
  ], s.prototype, "orientation", 1);
284
- o([
319
+ i([
285
320
  p()
286
321
  ], s.prototype, "_hasErrorSlot", 2);
287
- o([
322
+ i([
288
323
  p()
289
324
  ], s.prototype, "_hasHelpSlot", 2);
290
- s = o([
291
- x("hx-checkbox-group")
325
+ s = i([
326
+ u("hx-checkbox-group")
292
327
  ], s);
293
328
  export {
294
329
  s as H
295
330
  };
296
- //# sourceMappingURL=hx-checkbox-group-DThZeN5d.js.map
331
+ //# sourceMappingURL=hx-checkbox-group-C8TaFqy0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hx-checkbox-group-C8TaFqy0.js","sources":["../../src/components/hx-checkbox-group/hx-checkbox-group.styles.ts","../../src/components/hx-checkbox-group/hx-checkbox-group.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixCheckboxGroupStyles = css`\n :host {\n display: block;\n }\n\n :host([disabled]) {\n opacity: var(--hx-opacity-disabled);\n cursor: not-allowed;\n }\n\n * {\n box-sizing: border-box;\n }\n\n /* ─── Fieldset ─── */\n\n .fieldset {\n border: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--hx-space-2);\n font-family: var(--hx-font-family-sans);\n }\n\n /* ─── Legend ─── */\n\n .fieldset__legend {\n display: flex;\n align-items: baseline;\n gap: var(--hx-space-1);\n font-size: var(--hx-font-size-sm);\n font-weight: var(--hx-font-weight-medium);\n color: var(--hx-checkbox-group-label-color, var(--hx-color-neutral-700));\n line-height: var(--hx-line-height-normal);\n padding: 0;\n margin-bottom: var(--hx-space-1);\n }\n\n .fieldset__required-marker {\n color: var(--hx-checkbox-group-error-color, var(--hx-color-error-500, #dc3545));\n font-weight: var(--hx-font-weight-bold);\n }\n\n /* ─── Items Container ─── */\n\n .fieldset__items {\n display: flex;\n flex-direction: column;\n gap: var(--hx-checkbox-group-gap, var(--hx-space-3));\n }\n\n :host([orientation='horizontal']) .fieldset__items {\n flex-direction: row;\n flex-wrap: wrap;\n }\n\n /* ─── Error State ─── */\n\n .fieldset--error .fieldset__legend {\n color: var(--hx-checkbox-group-error-color, var(--hx-color-error-500, #dc3545));\n }\n\n /* ─── Help Text & Error Messages ─── */\n\n .fieldset__help-text {\n font-size: var(--hx-font-size-xs);\n color: var(--hx-checkbox-group-help-text-color, var(--hx-color-neutral-500));\n line-height: var(--hx-line-height-normal);\n }\n\n .fieldset__error {\n font-size: var(--hx-font-size-xs);\n color: var(--hx-checkbox-group-error-color, var(--hx-color-error-500, #dc3545));\n line-height: var(--hx-line-height-normal);\n }\n\n /* ─── High Contrast Mode (forced-colors) ─── */\n\n @media (forced-colors: active) {\n .fieldset {\n border: none;\n }\n\n .fieldset__legend {\n color: CanvasText;\n }\n\n .fieldset--error .fieldset__legend {\n color: LinkText;\n }\n\n :host([disabled]) {\n opacity: 1;\n }\n\n :host([disabled]) .fieldset__legend {\n color: GrayText;\n }\n\n .fieldset__help-text {\n color: GrayText;\n }\n\n .fieldset__error {\n color: LinkText;\n }\n }\n`;\n","import { html, nothing, type PropertyValues } from 'lit';\nimport '../../utilities/document-token-adoption.js';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { HelixElement, createIdCounter } from '../../base/index.js';\nimport { helixCheckboxGroupStyles } from './hx-checkbox-group.styles.js';\nimport type { HelixCheckbox } from '../hx-checkbox/hx-checkbox.js';\nimport { devWarn } from '../../utils/dev-warn.js';\n\nconst _nextCheckboxGroupId = createIdCounter('hx-checkbox-group');\n\n/**\n * A form-associated checkbox group that manages a set of `<hx-checkbox>` children.\n *\n * @summary Form-associated checkbox group with label, validation, help text, and multi-value form submission.\n *\n * @tag hx-checkbox-group\n *\n * @slot - `<hx-checkbox>` elements.\n * @slot label - Rich HTML group label (overrides the label property when used).\n * @slot error - Custom error content (overrides the error property).\n * @slot help-text - Group-level help text.\n *\n * @fires {CustomEvent<{values: string[]}>} hx-change - Dispatched when any child checkbox changes.\n *\n * @csspart group - The fieldset wrapper.\n * @csspart label - The legend/label.\n * @csspart help-text - The help text container.\n * @csspart error-message - The error message container.\n *\n * @cssprop [--hx-checkbox-group-gap=var(--hx-space-3, 0.75rem)] - Gap between checkbox items.\n * @cssprop [--hx-checkbox-group-label-color=var(--hx-color-neutral-700, #343a40)] - Label text color.\n * @cssprop [--hx-checkbox-group-error-color=var(--hx-color-error-500, #dc3545)] - Error message color.\n * @cssprop [--hx-checkbox-group-help-text-color=var(--hx-color-neutral-500)] - Help text color.\n *\n * @drupal\n * Form-associated; render via Twig:\n * ```twig\n * <hx-checkbox-group name=\"{{ field_name }}\" label=\"{{ label }}\"{{ required ? ' required' : '' }}>\n * {% for option in options %}\n * <hx-checkbox value=\"{{ option.value }}\" label=\"{{ option.label }}\"></hx-checkbox>\n * {% endfor %}\n * </hx-checkbox-group>\n * ```\n * The `name` attribute propagates automatically to child checkboxes — no Drupal behavior required.\n */\n@customElement('hx-checkbox-group')\nexport class HelixCheckboxGroup extends HelixElement {\n static override styles = [helixCheckboxGroupStyles];\n\n // ─── Form Association ───\n\n /** Marks this element as form-associated for ElementInternals support. @internal */\n static override formAssociated = true;\n\n // ─── Properties ───\n\n /**\n * The name used for form submission. Passed to child `hx-checkbox` elements.\n * @attr name\n */\n @property({ type: String, reflect: true })\n name = '';\n\n /**\n * The fieldset legend/label text.\n * @attr label\n */\n @property({ type: String })\n label = '';\n\n /**\n * Whether at least one checkbox must be checked for form submission.\n * @attr required\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * Whether the entire group is disabled.\n * @attr disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Error message to display. When set, the group enters an error state.\n * @attr error\n */\n @property({ type: String })\n error = '';\n\n /**\n * Help text to display below the group. Can also be provided via the help-text slot.\n * @attr help-text\n */\n @property({ type: String, attribute: 'help-text' })\n helpText = '';\n\n /**\n * Layout orientation of the checkbox items.\n * @attr orientation\n */\n @property({ type: String, reflect: true })\n get orientation(): 'vertical' | 'horizontal' {\n return this._orientation;\n }\n set orientation(value: string) {\n if (value !== 'vertical' && value !== 'horizontal') {\n devWarn('hx-checkbox-group', `Invalid orientation \"${value}\", defaulting to \"vertical\".`);\n value = 'vertical';\n }\n this._orientation = value as 'vertical' | 'horizontal';\n }\n /** @internal */\n private _orientation: 'vertical' | 'horizontal' = 'vertical';\n\n /** Whether the named error slot contains projected content. @internal */\n @state() private _hasErrorSlot = false;\n /** Whether the named help-text slot contains projected content. @internal */\n @state() private _hasHelpSlot = false;\n\n // ─── Internal IDs ───\n\n /** @internal */\n private _groupId = _nextCheckboxGroupId();\n /** @internal */\n private _helpTextId = `${this._groupId}-help`;\n /** @internal */\n private _errorId = `${this._groupId}-error`;\n\n // ─── Slot Handlers ───\n\n /** @internal */\n private _handleErrorSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n this._hasErrorSlot = slot.assignedNodes({ flatten: true }).length > 0;\n }\n\n /** @internal */\n private _handleHelpSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n this._hasHelpSlot = slot.assignedNodes({ flatten: true }).length > 0;\n }\n\n // ─── Lifecycle ───\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('hx-change', this._handleCheckboxChange);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('hx-change', this._handleCheckboxChange);\n }\n\n override updated(changedProperties: PropertyValues<this>): void {\n super.updated(changedProperties);\n if (changedProperties.has('disabled')) {\n this._syncCheckboxes();\n }\n if (changedProperties.has('name')) {\n this._syncCheckboxNames();\n }\n if (changedProperties.has('required')) {\n this._updateValidity();\n }\n }\n\n override firstUpdated(changedProperties: PropertyValues<this>): void {\n super.firstUpdated(changedProperties);\n this._syncCheckboxes();\n this._syncCheckboxNames();\n const checkedValues = this._getCheckedValues();\n this._updateFormValue(checkedValues);\n this._updateValidity(checkedValues);\n }\n\n // ─── Checkbox Management ───\n\n /** @internal */\n private _getCheckboxes(): HelixCheckbox[] {\n return Array.from(this.children).filter((c): c is HelixCheckbox => c.tagName === 'HX-CHECKBOX');\n }\n\n /** @internal */\n private _getCheckedValues(): string[] {\n return this._getCheckboxes()\n .filter((cb) => cb.checked)\n .map((cb) => cb.value);\n }\n\n /** @internal */\n private _syncCheckboxes(): void {\n const checkboxes = this._getCheckboxes();\n checkboxes.forEach((cb) => {\n cb.disabled = this.disabled;\n });\n }\n\n /** @internal */\n private _syncCheckboxNames(): void {\n if (!this.name) return;\n const checkboxes = this._getCheckboxes();\n checkboxes.forEach((cb) => {\n cb.name = this.name;\n });\n }\n\n // ─── Event Handling ───\n\n /** @internal */\n private _handleCheckboxChange = (e: Event): void => {\n // Only intercept events from direct hx-checkbox children — do not re-intercept\n // the hx-change we dispatch ourselves from this element.\n if (e.target === this) return;\n\n e.stopImmediatePropagation();\n\n const values = this._getCheckedValues();\n this._updateFormValue(values);\n this._updateValidity(values);\n\n /**\n * Dispatched when any child checkbox changes.\n * @event hx-change\n */\n this.dispatchEvent(\n new CustomEvent<{ values: string[] }>('hx-change', {\n bubbles: true,\n composed: true,\n detail: { values },\n }),\n );\n };\n\n /** @internal */\n private _handleSlotChange(): void {\n this._syncCheckboxes();\n this._syncCheckboxNames();\n const checkedValues = this._getCheckedValues();\n this._updateFormValue(checkedValues);\n this._updateValidity(checkedValues);\n }\n\n // ─── Form Integration ───\n\n /** @internal */\n private _updateFormValue(values: string[]): void {\n if (values.length === 0) {\n this._internals.setFormValue(null);\n return;\n }\n const formData = new FormData();\n values.forEach((v) => formData.append(this.name, v));\n this._internals.setFormValue(formData);\n }\n\n /** @internal */\n private _updateValidity(values?: string[]): void {\n const checkedValues = values ?? this._getCheckedValues();\n if (this.required && checkedValues.length === 0) {\n const firstCheckbox = this._getCheckboxes()[0];\n this._internals.setValidity(\n { valueMissing: true },\n this.error || 'Please select at least one option.',\n firstCheckbox,\n );\n } else {\n this._internals.setValidity({});\n }\n }\n\n /** Returns the associated form element, if any. */\n get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n /** Returns the validation message. */\n get validationMessage(): string {\n return this._internals.validationMessage;\n }\n\n /** Returns the ValidityState object. */\n get validity(): ValidityState {\n return this._internals.validity;\n }\n\n /** Checks whether the group satisfies its constraints. */\n checkValidity(): boolean {\n return this._internals.checkValidity();\n }\n\n /** Reports validity and shows the browser's constraint validation UI. */\n reportValidity(): boolean {\n return this._internals.reportValidity();\n }\n\n /** @internal */\n protected override _onFormReset(): void {\n const checkboxes = this._getCheckboxes();\n checkboxes.forEach((cb) => {\n cb.checked = false;\n });\n this._internals.setFormValue(null);\n this._updateValidity([]);\n }\n\n /** @internal */\n protected override _onFormStateRestore(\n state: File | string | FormData | null,\n _mode: 'restore' | 'autocomplete',\n ): void {\n if (!(state instanceof FormData)) return;\n const restoredValues = state.getAll(this.name).map((v) => String(v));\n const checkboxes = this._getCheckboxes();\n checkboxes.forEach((cb) => {\n cb.checked = restoredValues.includes(cb.value);\n });\n this._updateFormValue(restoredValues);\n this._updateValidity(restoredValues);\n }\n\n /** @internal */\n protected override _onFormDisabled(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n // ─── Render ───\n\n override render() {\n const hasError = !!this.error || this._hasErrorSlot;\n\n const fieldsetClasses = {\n fieldset: true,\n 'fieldset--error': hasError,\n 'fieldset--disabled': this.disabled,\n 'fieldset--required': this.required,\n };\n\n const describedBy =\n [\n hasError ? this._errorId : null,\n this.helpText || this._hasHelpSlot ? this._helpTextId : null,\n ]\n .filter(Boolean)\n .join(' ') || undefined;\n\n return html`\n <fieldset\n part=\"group\"\n class=${classMap(fieldsetClasses)}\n aria-describedby=${describedBy ?? nothing}\n >\n <legend part=\"label\" class=\"fieldset__legend\">\n <slot name=\"label\">${this.label}</slot>\n ${this.required\n ? html`<span class=\"fieldset__required-marker\" aria-hidden=\"true\">*</span>`\n : nothing}\n </legend>\n\n <div class=\"fieldset__items\">\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n\n ${hasError\n ? html`<div part=\"error-message\" class=\"fieldset__error\" id=${this._errorId} role=\"alert\">\n <slot name=\"error\" @slotchange=${this._handleErrorSlotChange}> ${this.error} </slot>\n </div>`\n : html`<slot name=\"error\" @slotchange=${this._handleErrorSlotChange}></slot>`}\n\n <div part=\"help-text\" class=\"fieldset__help-text\" id=${this._helpTextId}>\n <slot name=\"help-text\" @slotchange=${this._handleHelpSlotChange}>${this.helpText}</slot>\n </div>\n </fieldset>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-checkbox-group': HelixCheckboxGroup;\n }\n}\n"],"names":["helixCheckboxGroupStyles","css","_nextCheckboxGroupId","createIdCounter","HelixCheckboxGroup","HelixElement","values","value","slot","changedProperties","checkedValues","c","cb","formData","v","firstCheckbox","state","_mode","restoredValues","disabled","hasError","fieldsetClasses","describedBy","html","classMap","nothing","__decorateClass","property","customElement"],"mappings":";;;;;;AAEO,MAAMA,IAA2BC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;ACOxC,MAAMC,IAAuBC,EAAgB,mBAAmB;AAsCzD,IAAMC,IAAN,cAAiCC,EAAa;AAAA,EAA9C,cAAA;AAAA,UAAA,GAAA,SAAA,GAeL,KAAA,OAAO,IAOP,KAAA,QAAQ,IAOR,KAAA,WAAW,IAOX,KAAA,WAAW,IAOX,KAAA,QAAQ,IAOR,KAAA,WAAW,IAkBX,KAAQ,eAA0C,YAGzC,KAAQ,gBAAgB,IAExB,KAAQ,eAAe,IAKhC,KAAQ,WAAWH,EAAA,GAEnB,KAAQ,cAAc,GAAG,KAAK,QAAQ,SAEtC,KAAQ,WAAW,GAAG,KAAK,QAAQ,UAoFnC,KAAQ,wBAAwB,CAAC,MAAmB;AAGlD,UAAI,EAAE,WAAW,KAAM;AAEvB,QAAE,yBAAA;AAEF,YAAMI,IAAS,KAAK,kBAAA;AACpB,WAAK,iBAAiBA,CAAM,GAC5B,KAAK,gBAAgBA,CAAM,GAM3B,KAAK;AAAA,QACH,IAAI,YAAkC,aAAa;AAAA,UACjD,SAAS;AAAA,UACT,UAAU;AAAA,UACV,QAAQ,EAAE,QAAAA,EAAA;AAAA,QAAO,CAClB;AAAA,MAAA;AAAA,IAEL;AAAA,EAAA;AAAA,EAnIA,IAAI,cAAyC;AAC3C,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,YAAYC,GAAe;AAC7B,IAAIA,MAAU,cAAcA,MAAU,iBAEpCA,IAAQ,aAEV,KAAK,eAAeA;AAAA,EACtB;AAAA;AAAA;AAAA,EAqBQ,uBAAuB,GAAgB;AAC7C,UAAMC,IAAO,EAAE;AACf,SAAK,gBAAgBA,EAAK,cAAc,EAAE,SAAS,GAAA,CAAM,EAAE,SAAS;AAAA,EACtE;AAAA;AAAA,EAGQ,sBAAsB,GAAgB;AAC5C,UAAMA,IAAO,EAAE;AACf,SAAK,eAAeA,EAAK,cAAc,EAAE,SAAS,GAAA,CAAM,EAAE,SAAS;AAAA,EACrE;AAAA;AAAA,EAIS,oBAA0B;AACjC,UAAM,kBAAA,GACN,KAAK,iBAAiB,aAAa,KAAK,qBAAqB;AAAA,EAC/D;AAAA,EAES,uBAA6B;AACpC,UAAM,qBAAA,GACN,KAAK,oBAAoB,aAAa,KAAK,qBAAqB;AAAA,EAClE;AAAA,EAES,QAAQC,GAA+C;AAC9D,UAAM,QAAQA,CAAiB,GAC3BA,EAAkB,IAAI,UAAU,KAClC,KAAK,gBAAA,GAEHA,EAAkB,IAAI,MAAM,KAC9B,KAAK,mBAAA,GAEHA,EAAkB,IAAI,UAAU,KAClC,KAAK,gBAAA;AAAA,EAET;AAAA,EAES,aAAaA,GAA+C;AACnE,UAAM,aAAaA,CAAiB,GACpC,KAAK,gBAAA,GACL,KAAK,mBAAA;AACL,UAAMC,IAAgB,KAAK,kBAAA;AAC3B,SAAK,iBAAiBA,CAAa,GACnC,KAAK,gBAAgBA,CAAa;AAAA,EACpC;AAAA;AAAA;AAAA,EAKQ,iBAAkC;AACxC,WAAO,MAAM,KAAK,KAAK,QAAQ,EAAE,OAAO,CAACC,MAA0BA,EAAE,YAAY,aAAa;AAAA,EAChG;AAAA;AAAA,EAGQ,oBAA8B;AACpC,WAAO,KAAK,eAAA,EACT,OAAO,CAACC,MAAOA,EAAG,OAAO,EACzB,IAAI,CAACA,MAAOA,EAAG,KAAK;AAAA,EACzB;AAAA;AAAA,EAGQ,kBAAwB;AAE9B,IADmB,KAAK,eAAA,EACb,QAAQ,CAACA,MAAO;AACzB,MAAAA,EAAG,WAAW,KAAK;AAAA,IACrB,CAAC;AAAA,EACH;AAAA;AAAA,EAGQ,qBAA2B;AACjC,QAAI,CAAC,KAAK,KAAM;AAEhB,IADmB,KAAK,eAAA,EACb,QAAQ,CAACA,MAAO;AACzB,MAAAA,EAAG,OAAO,KAAK;AAAA,IACjB,CAAC;AAAA,EACH;AAAA;AAAA,EA8BQ,oBAA0B;AAChC,SAAK,gBAAA,GACL,KAAK,mBAAA;AACL,UAAMF,IAAgB,KAAK,kBAAA;AAC3B,SAAK,iBAAiBA,CAAa,GACnC,KAAK,gBAAgBA,CAAa;AAAA,EACpC;AAAA;AAAA;AAAA,EAKQ,iBAAiBJ,GAAwB;AAC/C,QAAIA,EAAO,WAAW,GAAG;AACvB,WAAK,WAAW,aAAa,IAAI;AACjC;AAAA,IACF;AACA,UAAMO,IAAW,IAAI,SAAA;AACrB,IAAAP,EAAO,QAAQ,CAACQ,MAAMD,EAAS,OAAO,KAAK,MAAMC,CAAC,CAAC,GACnD,KAAK,WAAW,aAAaD,CAAQ;AAAA,EACvC;AAAA;AAAA,EAGQ,gBAAgBP,GAAyB;AAC/C,UAAMI,IAAgBJ,KAAU,KAAK,kBAAA;AACrC,QAAI,KAAK,YAAYI,EAAc,WAAW,GAAG;AAC/C,YAAMK,IAAgB,KAAK,eAAA,EAAiB,CAAC;AAC7C,WAAK,WAAW;AAAA,QACd,EAAE,cAAc,GAAA;AAAA,QAChB,KAAK,SAAS;AAAA,QACdA;AAAA,MAAA;AAAA,IAEJ;AACE,WAAK,WAAW,YAAY,EAAE;AAAA,EAElC;AAAA;AAAA,EAGA,IAAI,OAA+B;AACjC,WAAO,KAAK,WAAW;AAAA,EACzB;AAAA;AAAA,EAGA,IAAI,oBAA4B;AAC9B,WAAO,KAAK,WAAW;AAAA,EACzB;AAAA;AAAA,EAGA,IAAI,WAA0B;AAC5B,WAAO,KAAK,WAAW;AAAA,EACzB;AAAA;AAAA,EAGA,gBAAyB;AACvB,WAAO,KAAK,WAAW,cAAA;AAAA,EACzB;AAAA;AAAA,EAGA,iBAA0B;AACxB,WAAO,KAAK,WAAW,eAAA;AAAA,EACzB;AAAA;AAAA,EAGmB,eAAqB;AAEtC,IADmB,KAAK,eAAA,EACb,QAAQ,CAACH,MAAO;AACzB,MAAAA,EAAG,UAAU;AAAA,IACf,CAAC,GACD,KAAK,WAAW,aAAa,IAAI,GACjC,KAAK,gBAAgB,EAAE;AAAA,EACzB;AAAA;AAAA,EAGmB,oBACjBI,GACAC,GACM;AACN,QAAI,EAAED,aAAiB,UAAW;AAClC,UAAME,IAAiBF,EAAM,OAAO,KAAK,IAAI,EAAE,IAAI,CAACF,MAAM,OAAOA,CAAC,CAAC;AAEnE,IADmB,KAAK,eAAA,EACb,QAAQ,CAACF,MAAO;AACzB,MAAAA,EAAG,UAAUM,EAAe,SAASN,EAAG,KAAK;AAAA,IAC/C,CAAC,GACD,KAAK,iBAAiBM,CAAc,GACpC,KAAK,gBAAgBA,CAAc;AAAA,EACrC;AAAA;AAAA,EAGmB,gBAAgBC,GAAyB;AAC1D,SAAK,WAAWA;AAAA,EAClB;AAAA;AAAA,EAIS,SAAS;AAChB,UAAMC,IAAW,CAAC,CAAC,KAAK,SAAS,KAAK,eAEhCC,IAAkB;AAAA,MACtB,UAAU;AAAA,MACV,mBAAmBD;AAAA,MACnB,sBAAsB,KAAK;AAAA,MAC3B,sBAAsB,KAAK;AAAA,IAAA,GAGvBE,IACJ;AAAA,MACEF,IAAW,KAAK,WAAW;AAAA,MAC3B,KAAK,YAAY,KAAK,eAAe,KAAK,cAAc;AAAA,IAAA,EAEvD,OAAO,OAAO,EACd,KAAK,GAAG,KAAK;AAElB,WAAOG;AAAA;AAAA;AAAA,gBAGKC,EAASH,CAAe,CAAC;AAAA,2BACdC,KAAeG,CAAO;AAAA;AAAA;AAAA,+BAGlB,KAAK,KAAK;AAAA,YAC7B,KAAK,WACHF,yEACAE,CAAO;AAAA;AAAA;AAAA;AAAA,8BAIS,KAAK,iBAAiB;AAAA;AAAA;AAAA,UAG1CL,IACEG,yDAA4D,KAAK,QAAQ;AAAA,+CACtC,KAAK,sBAAsB,KAAK,KAAK,KAAK;AAAA,sBAE7EA,mCAAsC,KAAK,sBAAsB,UAAU;AAAA;AAAA,+DAExB,KAAK,WAAW;AAAA,+CAChC,KAAK,qBAAqB,IAAI,KAAK,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIxF;AACF;AA3UanB,EACK,SAAS,CAACJ,CAAwB;AADvCI,EAMK,iBAAiB;AASjCsB,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAd9BvB,EAeX,WAAA,QAAA,CAAA;AAOAsB,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GArBfvB,EAsBX,WAAA,SAAA,CAAA;AAOAsB,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GA5B/BvB,EA6BX,WAAA,YAAA,CAAA;AAOAsB,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAnC/BvB,EAoCX,WAAA,YAAA,CAAA;AAOAsB,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GA1CfvB,EA2CX,WAAA,SAAA,CAAA;AAOAsB,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,WAAW,aAAa;AAAA,GAjDvCvB,EAkDX,WAAA,YAAA,CAAA;AAOIsB,EAAA;AAAA,EADHC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAxD9BvB,EAyDP,WAAA,eAAA,CAAA;AAcasB,EAAA;AAAA,EAAhBV,EAAA;AAAM,GAvEIZ,EAuEM,WAAA,iBAAA,CAAA;AAEAsB,EAAA;AAAA,EAAhBV,EAAA;AAAM,GAzEIZ,EAyEM,WAAA,gBAAA,CAAA;AAzENA,IAANsB,EAAA;AAAA,EADNE,EAAc,mBAAmB;AAAA,GACrBxB,CAAA;"}
@@ -1,10 +1,10 @@
1
- import { css as v, html as e, nothing as d } from "lit";
1
+ import { css as p, html as e, nothing as d } from "lit";
2
2
  import "./document-token-adoption-DuYNKd4k.js";
3
- import { property as o, state as p, customElement as x } from "lit/decorators.js";
3
+ import { property as o, state as v, customElement as x } from "lit/decorators.js";
4
4
  import { classMap as u } from "lit/directives/class-map.js";
5
- import { H as g } from "./helix-element-CZvaIEQP.js";
5
+ import { H as g } from "./helix-element-BJh1Ffvi.js";
6
6
  import { c as m } from "./id-counter-PTgF-zcG.js";
7
- const f = v`
7
+ const f = p`
8
8
  :host {
9
9
  display: block;
10
10
  }
@@ -252,14 +252,37 @@ const f = v`
252
252
  transition: none;
253
253
  }
254
254
  }
255
+
256
+ /* ─── Forced Colors (Windows High Contrast) ─── */
257
+
258
+ @media (forced-colors: active) {
259
+ .clinical-status {
260
+ border-color: CanvasText;
261
+ border-inline-start-color: CanvasText;
262
+ }
263
+
264
+ .clinical-status__icon svg {
265
+ fill: CanvasText;
266
+ }
267
+
268
+ .clinical-status__dismiss-button {
269
+ color: ButtonText;
270
+ border: 1px solid ButtonText;
271
+ }
272
+
273
+ .clinical-status__acknowledge-button {
274
+ border-color: ButtonText;
275
+ color: ButtonText;
276
+ }
277
+ }
255
278
  `;
256
- var b = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, r = (t, s, a, c) => {
257
- for (var n = c > 1 ? void 0 : c ? _(s, a) : s, l = t.length - 1, h; l >= 0; l--)
258
- (h = t[l]) && (n = (c ? h(s, a, n) : h(n)) || n);
259
- return c && n && b(s, a, n), n;
279
+ var b = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, r = (t, i, a, c) => {
280
+ for (var n = c > 1 ? void 0 : c ? _(i, a) : i, l = t.length - 1, h; l >= 0; l--)
281
+ (h = t[l]) && (n = (c ? h(i, a, n) : h(n)) || n);
282
+ return c && n && b(i, a, n), n;
260
283
  };
261
284
  const y = m("hx-clinical-status");
262
- let i = class extends g {
285
+ let s = class extends g {
263
286
  constructor() {
264
287
  super(...arguments), this._elInternals = this.attachInternals(), this.severity = "info", this.message = "", this.dismissible = !1, this.persistent = !1, this.icon = "", this.compact = !1, this._hasSlottedContent = !1, this._acknowledged = !1, this._componentId = y(), this._persistentExplicitlySet = !1;
265
288
  }
@@ -293,8 +316,8 @@ let i = class extends g {
293
316
  connectedCallback() {
294
317
  super.connectedCallback(), this._elInternals.role = this._role;
295
318
  }
296
- attributeChangedCallback(t, s, a) {
297
- super.attributeChangedCallback(t, s, a), t === "persistent" && (this._persistentExplicitlySet = a !== null);
319
+ attributeChangedCallback(t, i, a) {
320
+ super.attributeChangedCallback(t, i, a), t === "persistent" && (this._persistentExplicitlySet = a !== null);
298
321
  }
299
322
  updated(t) {
300
323
  super.updated(t), t.has("severity") && (this._elInternals.role = this._role);
@@ -357,8 +380,8 @@ let i = class extends g {
357
380
  // ─── Slot Change Handling ───
358
381
  /** @internal */
359
382
  _handleSlotChange(t) {
360
- const s = t.target;
361
- this._hasSlottedContent = s.assignedNodes({ flatten: !0 }).length > 0;
383
+ const i = t.target;
384
+ this._hasSlottedContent = i.assignedNodes({ flatten: !0 }).length > 0;
362
385
  }
363
386
  // ─── Event Handling ───
364
387
  /** @internal */
@@ -389,10 +412,10 @@ let i = class extends g {
389
412
  "clinical-status": !0,
390
413
  [`clinical-status--${this.severity}`]: !0,
391
414
  "clinical-status--compact": this.compact
392
- }, s = this._severityLabel(), a = `${this._componentId}-message`;
415
+ }, i = this._severityLabel(), a = `${this._componentId}-message`;
393
416
  return e`
394
417
  <div part="container" class=${u(t)} aria-labelledby=${a}>
395
- <span class="clinical-status__severity-label">${s}</span>
418
+ <span class="clinical-status__severity-label">${i}</span>
396
419
 
397
420
  <div part="icon" class="clinical-status__icon">
398
421
  ${this.icon ? e`<span class="clinical-status__custom-icon">${this.icon}</span>` : this._renderDefaultIcon()}
@@ -436,35 +459,35 @@ let i = class extends g {
436
459
  `;
437
460
  }
438
461
  };
439
- i.styles = [f];
462
+ s.styles = [f];
440
463
  r([
441
464
  o({ type: String, reflect: !0 })
442
- ], i.prototype, "severity", 2);
465
+ ], s.prototype, "severity", 2);
443
466
  r([
444
467
  o({ type: String })
445
- ], i.prototype, "message", 2);
468
+ ], s.prototype, "message", 2);
446
469
  r([
447
470
  o({ type: Boolean, reflect: !0 })
448
- ], i.prototype, "dismissible", 2);
471
+ ], s.prototype, "dismissible", 2);
449
472
  r([
450
473
  o({ type: Boolean, reflect: !0 })
451
- ], i.prototype, "persistent", 2);
474
+ ], s.prototype, "persistent", 2);
452
475
  r([
453
476
  o({ type: String })
454
- ], i.prototype, "icon", 2);
477
+ ], s.prototype, "icon", 2);
455
478
  r([
456
479
  o({ type: Boolean, reflect: !0 })
457
- ], i.prototype, "compact", 2);
480
+ ], s.prototype, "compact", 2);
458
481
  r([
459
- p()
460
- ], i.prototype, "_hasSlottedContent", 2);
482
+ v()
483
+ ], s.prototype, "_hasSlottedContent", 2);
461
484
  r([
462
- p()
463
- ], i.prototype, "_acknowledged", 2);
464
- i = r([
485
+ v()
486
+ ], s.prototype, "_acknowledged", 2);
487
+ s = r([
465
488
  x("hx-clinical-status")
466
- ], i);
489
+ ], s);
467
490
  export {
468
- i as H
491
+ s as H
469
492
  };
470
- //# sourceMappingURL=hx-clinical-status-BjtT5c0M.js.map
493
+ //# sourceMappingURL=hx-clinical-status-dDyk5oj1.js.map