@helixui/library 3.3.1 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/custom-elements.json +340 -71
  2. package/dist/components/hx-accordion/hx-accordion-item.d.ts +35 -0
  3. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  4. package/dist/components/hx-alert/hx-alert.d.ts +11 -0
  5. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  6. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  7. package/dist/components/hx-alert/index.js +1 -1
  8. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
  9. package/dist/components/hx-badge/index.js +1 -1
  10. package/dist/components/hx-banner/hx-banner.d.ts +9 -1
  11. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  12. package/dist/components/hx-banner/index.js +1 -1
  13. package/dist/components/hx-button/hx-button.d.ts +11 -1
  14. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  15. package/dist/components/hx-button/index.js +1 -1
  16. package/dist/components/hx-button-group/hx-button-group.d.ts +13 -0
  17. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  18. package/dist/components/hx-button-group/index.js +1 -1
  19. package/dist/components/hx-checkbox/hx-checkbox.d.ts +153 -1
  20. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  21. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  22. package/dist/components/hx-checkbox/index.js +1 -1
  23. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +151 -2
  24. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  25. package/dist/components/hx-checkbox-group/index.js +1 -1
  26. package/dist/components/hx-color-picker/hx-color-picker.d.ts +163 -1
  27. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  28. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  29. package/dist/components/hx-color-picker/index.js +1 -1
  30. package/dist/components/hx-combobox/hx-combobox.d.ts +311 -2
  31. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  32. package/dist/components/hx-combobox/index.js +1 -1
  33. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  34. package/dist/components/hx-data-table/index.js +1 -1
  35. package/dist/components/hx-date-picker/hx-date-picker.d.ts +182 -56
  36. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  37. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  38. package/dist/components/hx-date-picker/index.js +1 -1
  39. package/dist/components/hx-dialog/hx-dialog.d.ts +240 -0
  40. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  41. package/dist/components/hx-dialog/index.js +1 -1
  42. package/dist/components/hx-drawer/hx-drawer.d.ts +201 -0
  43. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  44. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  45. package/dist/components/hx-drawer/index.js +1 -1
  46. package/dist/components/hx-dropdown/hx-dropdown.d.ts +168 -0
  47. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  48. package/dist/components/hx-dropdown/index.js +1 -1
  49. package/dist/components/hx-field/hx-field.d.ts +109 -0
  50. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  51. package/dist/components/hx-field/index.js +1 -1
  52. package/dist/components/hx-icon-button/hx-icon-button.d.ts +16 -3
  53. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  54. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  55. package/dist/components/hx-icon-button/index.js +1 -1
  56. package/dist/components/hx-link/hx-link.d.ts +10 -1
  57. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  58. package/dist/components/hx-link/index.js +1 -1
  59. package/dist/components/hx-list/hx-list-item.d.ts +27 -1
  60. package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
  61. package/dist/components/hx-list/hx-list.d.ts +28 -0
  62. package/dist/components/hx-list/hx-list.d.ts.map +1 -1
  63. package/dist/components/hx-list/index.js +1 -1
  64. package/dist/components/hx-menu/hx-menu-divider.d.ts +10 -0
  65. package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -1
  66. package/dist/components/hx-menu/hx-menu-item.d.ts +99 -2
  67. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  68. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  69. package/dist/components/hx-menu/hx-menu.d.ts +117 -2
  70. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  71. package/dist/components/hx-menu/index.js +1 -1
  72. package/dist/components/hx-meter/hx-meter.d.ts +39 -0
  73. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  74. package/dist/components/hx-meter/hx-meter.styles.d.ts.map +1 -1
  75. package/dist/components/hx-meter/index.js +1 -1
  76. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +132 -1
  77. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  78. package/dist/components/hx-overflow-menu/index.js +1 -1
  79. package/dist/components/hx-phi-field/hx-phi-field.d.ts +0 -1
  80. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
  81. package/dist/components/hx-popover/hx-popover.d.ts +91 -0
  82. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  83. package/dist/components/hx-popover/index.js +1 -1
  84. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +33 -0
  85. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  86. package/dist/components/hx-progress-bar/index.js +1 -1
  87. package/dist/components/hx-radio-group/hx-radio-group.d.ts +152 -1
  88. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  89. package/dist/components/hx-radio-group/hx-radio.d.ts +14 -0
  90. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  91. package/dist/components/hx-radio-group/index.js +1 -1
  92. package/dist/components/hx-select/hx-select.d.ts +304 -2
  93. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  94. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  95. package/dist/components/hx-select/index.js +1 -1
  96. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  97. package/dist/components/hx-side-nav/index.js +1 -1
  98. package/dist/components/hx-spinner/hx-spinner.d.ts +14 -0
  99. package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
  100. package/dist/components/hx-spinner/index.js +1 -1
  101. package/dist/components/hx-split-button/hx-split-button.d.ts +94 -7
  102. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  103. package/dist/components/hx-split-button/index.js +1 -1
  104. package/dist/components/hx-stat/hx-stat.d.ts +28 -0
  105. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  106. package/dist/components/hx-stat/index.js +1 -1
  107. package/dist/components/hx-switch/hx-switch.d.ts +78 -1
  108. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  109. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  110. package/dist/components/hx-switch/index.js +1 -1
  111. package/dist/components/hx-table/hx-td.d.ts +30 -3
  112. package/dist/components/hx-table/hx-td.d.ts.map +1 -1
  113. package/dist/components/hx-table/hx-th.d.ts +39 -3
  114. package/dist/components/hx-table/hx-th.d.ts.map +1 -1
  115. package/dist/components/hx-table/hx-tr.d.ts +26 -0
  116. package/dist/components/hx-table/hx-tr.d.ts.map +1 -1
  117. package/dist/components/hx-table/index.js +1 -1
  118. package/dist/components/hx-tabs/hx-tab-panel.d.ts +34 -0
  119. package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -1
  120. package/dist/components/hx-tabs/hx-tab.d.ts +45 -2
  121. package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
  122. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  123. package/dist/components/hx-tabs/hx-tabs.d.ts +32 -2
  124. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  125. package/dist/components/hx-tabs/index.js +1 -1
  126. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  127. package/dist/components/hx-tag/index.js +1 -1
  128. package/dist/components/hx-theme/hx-theme.d.ts +10 -5
  129. package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
  130. package/dist/components/hx-time-picker/hx-time-picker.d.ts +210 -2
  131. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  132. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  133. package/dist/components/hx-time-picker/index.js +1 -1
  134. package/dist/components/hx-toast/hx-toast-stack.d.ts +14 -0
  135. package/dist/components/hx-toast/hx-toast-stack.d.ts.map +1 -1
  136. package/dist/components/hx-toast/hx-toast.d.ts +22 -3
  137. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  138. package/dist/components/hx-toast/index.js +1 -1
  139. package/dist/components/hx-toast/toast-factory.d.ts.map +1 -1
  140. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +110 -0
  141. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  142. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  143. package/dist/components/hx-toggle-button/index.js +1 -1
  144. package/dist/components/hx-tooltip/hx-tooltip.d.ts +52 -0
  145. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  146. package/dist/components/hx-tooltip/index.js +1 -1
  147. package/dist/components/hx-tree-view/hx-tree-item.d.ts +117 -12
  148. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  149. package/dist/components/hx-tree-view/hx-tree-view.d.ts +87 -7
  150. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
  151. package/dist/components/hx-tree-view/index.js +1 -1
  152. package/dist/css/helix-all.css +221 -1
  153. package/dist/css/helix-core.css +81 -0
  154. package/dist/css/helix-feedback.css +14 -0
  155. package/dist/css/helix-forms.css +109 -1
  156. package/dist/css/helix-overlay.css +17 -0
  157. package/dist/css/hx-alert.css +9 -0
  158. package/dist/css/hx-badge.css +28 -0
  159. package/dist/css/hx-checkbox.css +18 -0
  160. package/dist/css/hx-color-picker.css +25 -0
  161. package/dist/css/hx-date-picker.css +2 -1
  162. package/dist/css/hx-drawer.css +17 -0
  163. package/dist/css/hx-icon-button.css +30 -0
  164. package/dist/css/hx-meter.css +5 -0
  165. package/dist/css/hx-select.css +19 -0
  166. package/dist/css/hx-switch.css +17 -0
  167. package/dist/css/hx-tag.css +23 -0
  168. package/dist/css/hx-time-picker.css +11 -0
  169. package/dist/css/hx-toggle-button.css +17 -0
  170. package/dist/css/index.css +1 -1
  171. package/dist/css/manifest.json +4 -1
  172. package/dist/index.js +38 -38
  173. package/dist/shared/aria-flatten-DY6v2vah.js +22 -0
  174. package/dist/shared/aria-flatten-DY6v2vah.js.map +1 -0
  175. package/dist/shared/aria-idref-CxvyzfQS.js +126 -0
  176. package/dist/shared/aria-idref-CxvyzfQS.js.map +1 -0
  177. package/dist/shared/hx-accordion-ZVzgDzTG.js.map +1 -1
  178. package/dist/shared/{hx-alert-CLn7CstP.js → hx-alert-Bto8-TIi.js} +55 -37
  179. package/dist/shared/hx-alert-Bto8-TIi.js.map +1 -0
  180. package/dist/shared/{hx-badge-CQXgOXJM.js → hx-badge-JlFtAdxS.js} +37 -9
  181. package/dist/shared/hx-badge-JlFtAdxS.js.map +1 -0
  182. package/dist/shared/{hx-banner-D3DzpfcP.js → hx-banner-fpRnciIO.js} +13 -5
  183. package/dist/shared/hx-banner-fpRnciIO.js.map +1 -0
  184. package/dist/shared/{hx-button-DPY6SPVT.js → hx-button-BOwAEcF1.js} +108 -85
  185. package/dist/shared/{hx-button-DPY6SPVT.js.map → hx-button-BOwAEcF1.js.map} +1 -1
  186. package/dist/shared/{hx-button-group-BI-QBqmO.js → hx-button-group-DcHP5MBv.js} +15 -16
  187. package/dist/shared/{hx-button-group-BI-QBqmO.js.map → hx-button-group-DcHP5MBv.js.map} +1 -1
  188. package/dist/shared/hx-checkbox-C48KYKFq.js +696 -0
  189. package/dist/shared/hx-checkbox-C48KYKFq.js.map +1 -0
  190. package/dist/shared/hx-checkbox-group-BJIAX3zU.js +496 -0
  191. package/dist/shared/hx-checkbox-group-BJIAX3zU.js.map +1 -0
  192. package/dist/shared/hx-color-picker-Dk4cBwYQ.js +1221 -0
  193. package/dist/shared/hx-color-picker-Dk4cBwYQ.js.map +1 -0
  194. package/dist/shared/hx-combobox-BTLO9qiK.js +1359 -0
  195. package/dist/shared/hx-combobox-BTLO9qiK.js.map +1 -0
  196. package/dist/shared/{hx-data-table-CLqVqdxr.js → hx-data-table-Ct3gQ6ya.js} +3 -2
  197. package/dist/shared/{hx-data-table-CLqVqdxr.js.map → hx-data-table-Ct3gQ6ya.js.map} +1 -1
  198. package/dist/shared/{hx-date-picker-2iRG1p74.js → hx-date-picker-CiR7FVnR.js} +542 -206
  199. package/dist/shared/hx-date-picker-CiR7FVnR.js.map +1 -0
  200. package/dist/shared/hx-dialog-AOZpHSuF.js +717 -0
  201. package/dist/shared/hx-dialog-AOZpHSuF.js.map +1 -0
  202. package/dist/shared/{hx-drawer-Y1Ui2IWJ.js → hx-drawer-DH6CdAN1.js} +300 -98
  203. package/dist/shared/hx-drawer-DH6CdAN1.js.map +1 -0
  204. package/dist/shared/hx-dropdown-DiLd40Lm.js +401 -0
  205. package/dist/shared/hx-dropdown-DiLd40Lm.js.map +1 -0
  206. package/dist/shared/{hx-field-B3Qo8OLS.js → hx-field-zw0U1KVi.js} +99 -38
  207. package/dist/shared/hx-field-zw0U1KVi.js.map +1 -0
  208. package/dist/shared/{hx-icon-button-CGNdQSFM.js → hx-icon-button-a6OpeQz5.js} +149 -68
  209. package/dist/shared/hx-icon-button-a6OpeQz5.js.map +1 -0
  210. package/dist/shared/{hx-link-C-O6vq0Q.js → hx-link-CMnZRUtQ.js} +55 -43
  211. package/dist/shared/hx-link-CMnZRUtQ.js.map +1 -0
  212. package/dist/shared/{hx-list-MyEhh8c7.js → hx-list-De66EtAP.js} +163 -107
  213. package/dist/shared/hx-list-De66EtAP.js.map +1 -0
  214. package/dist/shared/hx-menu-divider-BjiRIWKq.js +797 -0
  215. package/dist/shared/hx-menu-divider-BjiRIWKq.js.map +1 -0
  216. package/dist/shared/{hx-meter-BPscsw5t.js → hx-meter-BJdh6nrF.js} +105 -64
  217. package/dist/shared/hx-meter-BJdh6nrF.js.map +1 -0
  218. package/dist/shared/{hx-nav-item-xqRPOCWX.js → hx-nav-item-CODtUlew.js} +13 -9
  219. package/dist/shared/{hx-nav-item-xqRPOCWX.js.map → hx-nav-item-CODtUlew.js.map} +1 -1
  220. package/dist/shared/hx-overflow-menu-BQ4fiMYu.js +492 -0
  221. package/dist/shared/hx-overflow-menu-BQ4fiMYu.js.map +1 -0
  222. package/dist/shared/hx-phi-field-C19oxlrr.js.map +1 -1
  223. package/dist/shared/{hx-popover-B-FP3-wW.js → hx-popover-B9W8-tC0.js} +123 -66
  224. package/dist/shared/hx-popover-B9W8-tC0.js.map +1 -0
  225. package/dist/shared/hx-progress-bar-C8nDMdYa.js +290 -0
  226. package/dist/shared/hx-progress-bar-C8nDMdYa.js.map +1 -0
  227. package/dist/shared/hx-radio-Z1lV1zTO.js +822 -0
  228. package/dist/shared/hx-radio-Z1lV1zTO.js.map +1 -0
  229. package/dist/shared/hx-select-D18CnJ0e.js +1089 -0
  230. package/dist/shared/hx-select-D18CnJ0e.js.map +1 -0
  231. package/dist/shared/{hx-spinner-DL5AYr16.js → hx-spinner-BB0h2hKZ.js} +62 -34
  232. package/dist/shared/hx-spinner-BB0h2hKZ.js.map +1 -0
  233. package/dist/shared/{hx-split-button-Djnc5Aeg.js → hx-split-button-BoABoEm5.js} +153 -82
  234. package/dist/shared/hx-split-button-BoABoEm5.js.map +1 -0
  235. package/dist/shared/{hx-stat-WOcNV1Ry.js → hx-stat-Dtf9lz-O.js} +77 -47
  236. package/dist/shared/hx-stat-Dtf9lz-O.js.map +1 -0
  237. package/dist/shared/hx-switch-B6kr-EwE.js +540 -0
  238. package/dist/shared/hx-switch-B6kr-EwE.js.map +1 -0
  239. package/dist/shared/{hx-tab-panel-DspCrKqo.js → hx-tab-panel-BQtBXKLD.js} +255 -131
  240. package/dist/shared/hx-tab-panel-BQtBXKLD.js.map +1 -0
  241. package/dist/shared/{hx-tag-CNSmdyaK.js → hx-tag-C5aCUpVi.js} +63 -40
  242. package/dist/shared/hx-tag-C5aCUpVi.js.map +1 -0
  243. package/dist/shared/{hx-td-DnnEMIuA.js → hx-td-BGkFOJEK.js} +267 -123
  244. package/dist/shared/hx-td-BGkFOJEK.js.map +1 -0
  245. package/dist/shared/hx-theme-BsefFWTO.js.map +1 -1
  246. package/dist/shared/hx-time-picker-iwCD7rzW.js +1038 -0
  247. package/dist/shared/hx-time-picker-iwCD7rzW.js.map +1 -0
  248. package/dist/shared/{hx-toggle-button-iLiYrMbD.js → hx-toggle-button-BQ81EDkl.js} +226 -65
  249. package/dist/shared/hx-toggle-button-BQ81EDkl.js.map +1 -0
  250. package/dist/shared/{hx-tooltip-nYOv9OLu.js → hx-tooltip-DVqtKPCD.js} +68 -46
  251. package/dist/shared/hx-tooltip-DVqtKPCD.js.map +1 -0
  252. package/dist/shared/hx-tree-item-CHrUhuZL.js +925 -0
  253. package/dist/shared/hx-tree-item-CHrUhuZL.js.map +1 -0
  254. package/dist/shared/menu-roving-DmMnzJhn.js +14 -0
  255. package/dist/shared/menu-roving-DmMnzJhn.js.map +1 -0
  256. package/dist/shared/menu-tree-BNM0SYYq.js +42 -0
  257. package/dist/shared/menu-tree-BNM0SYYq.js.map +1 -0
  258. package/dist/shared/{toast-factory-YSznocIV.js → toast-factory-CL2BzdSB.js} +128 -77
  259. package/dist/shared/toast-factory-CL2BzdSB.js.map +1 -0
  260. package/dist/utils/aria-flatten.d.ts +56 -0
  261. package/dist/utils/aria-flatten.d.ts.map +1 -0
  262. package/dist/utils/aria-idref.d.ts +127 -0
  263. package/dist/utils/aria-idref.d.ts.map +1 -0
  264. package/dist/utils/menu-label.d.ts +18 -0
  265. package/dist/utils/menu-label.d.ts.map +1 -0
  266. package/dist/utils/menu-roving.d.ts +28 -0
  267. package/dist/utils/menu-roving.d.ts.map +1 -0
  268. package/dist/utils/menu-tree.d.ts +41 -0
  269. package/dist/utils/menu-tree.d.ts.map +1 -0
  270. package/dist/utils/tree-walk.d.ts +53 -0
  271. package/dist/utils/tree-walk.d.ts.map +1 -0
  272. package/figma-inventory.json +132 -20
  273. package/package.json +1 -1
  274. package/dist/shared/hx-alert-CLn7CstP.js.map +0 -1
  275. package/dist/shared/hx-badge-CQXgOXJM.js.map +0 -1
  276. package/dist/shared/hx-banner-D3DzpfcP.js.map +0 -1
  277. package/dist/shared/hx-checkbox-D7xma9YH.js +0 -524
  278. package/dist/shared/hx-checkbox-D7xma9YH.js.map +0 -1
  279. package/dist/shared/hx-checkbox-group-C9n315Ju.js +0 -323
  280. package/dist/shared/hx-checkbox-group-C9n315Ju.js.map +0 -1
  281. package/dist/shared/hx-color-picker-uRc865FJ.js +0 -882
  282. package/dist/shared/hx-color-picker-uRc865FJ.js.map +0 -1
  283. package/dist/shared/hx-combobox-DDzqNKEW.js +0 -924
  284. package/dist/shared/hx-combobox-DDzqNKEW.js.map +0 -1
  285. package/dist/shared/hx-date-picker-2iRG1p74.js.map +0 -1
  286. package/dist/shared/hx-dialog-DRN_1-Y-.js +0 -514
  287. package/dist/shared/hx-dialog-DRN_1-Y-.js.map +0 -1
  288. package/dist/shared/hx-drawer-Y1Ui2IWJ.js.map +0 -1
  289. package/dist/shared/hx-dropdown-LyaRc8Rf.js +0 -263
  290. package/dist/shared/hx-dropdown-LyaRc8Rf.js.map +0 -1
  291. package/dist/shared/hx-field-B3Qo8OLS.js.map +0 -1
  292. package/dist/shared/hx-icon-button-CGNdQSFM.js.map +0 -1
  293. package/dist/shared/hx-link-C-O6vq0Q.js.map +0 -1
  294. package/dist/shared/hx-list-MyEhh8c7.js.map +0 -1
  295. package/dist/shared/hx-menu-divider-C2omnPtj.js +0 -558
  296. package/dist/shared/hx-menu-divider-C2omnPtj.js.map +0 -1
  297. package/dist/shared/hx-meter-BPscsw5t.js.map +0 -1
  298. package/dist/shared/hx-overflow-menu-DCLsdIBy.js +0 -374
  299. package/dist/shared/hx-overflow-menu-DCLsdIBy.js.map +0 -1
  300. package/dist/shared/hx-popover-B-FP3-wW.js.map +0 -1
  301. package/dist/shared/hx-progress-bar-Bn3JEPUf.js +0 -258
  302. package/dist/shared/hx-progress-bar-Bn3JEPUf.js.map +0 -1
  303. package/dist/shared/hx-radio-CJvNU2yP.js +0 -621
  304. package/dist/shared/hx-radio-CJvNU2yP.js.map +0 -1
  305. package/dist/shared/hx-select-C8fEHQhC.js +0 -807
  306. package/dist/shared/hx-select-C8fEHQhC.js.map +0 -1
  307. package/dist/shared/hx-spinner-DL5AYr16.js.map +0 -1
  308. package/dist/shared/hx-split-button-Djnc5Aeg.js.map +0 -1
  309. package/dist/shared/hx-stat-WOcNV1Ry.js.map +0 -1
  310. package/dist/shared/hx-switch-BrZFaRue.js +0 -420
  311. package/dist/shared/hx-switch-BrZFaRue.js.map +0 -1
  312. package/dist/shared/hx-tab-panel-DspCrKqo.js.map +0 -1
  313. package/dist/shared/hx-tag-CNSmdyaK.js.map +0 -1
  314. package/dist/shared/hx-td-DnnEMIuA.js.map +0 -1
  315. package/dist/shared/hx-time-picker-BoEIZwzv.js +0 -688
  316. package/dist/shared/hx-time-picker-BoEIZwzv.js.map +0 -1
  317. package/dist/shared/hx-toggle-button-iLiYrMbD.js.map +0 -1
  318. package/dist/shared/hx-tooltip-nYOv9OLu.js.map +0 -1
  319. package/dist/shared/hx-tree-item-C2CiWuDE.js +0 -703
  320. package/dist/shared/hx-tree-item-C2CiWuDE.js.map +0 -1
  321. package/dist/shared/toast-factory-YSznocIV.js.map +0 -1
@@ -98,6 +98,14 @@ export declare class HelixDatePicker extends HelixDatePicker_base {
98
98
  * @internal
99
99
  */
100
100
  static formAssociated: boolean;
101
+ /**
102
+ * Test seam: when set to `true` or `false`, overrides the platform
103
+ * `supportsIdrefElementReferences` probe before `connectedCallback` seeds
104
+ * `_supportsIdrefRefs`. Production code MUST NOT touch this field. It is a
105
+ * `static` so the test stub cleanup is global and obvious.
106
+ * @internal
107
+ */
108
+ static __testSupportsIdrefRefsOverride: boolean | null;
101
109
  /**
102
110
  * The name of the field, used for form submission.
103
111
  * @attr name
@@ -183,6 +191,13 @@ export declare class HelixDatePicker extends HelixDatePicker_base {
183
191
  * @attr next-month-label
184
192
  */
185
193
  nextMonthLabel: string;
194
+ /**
195
+ * Accessible name for screen readers, if different from the visible label.
196
+ * Uses `accessible-label` attribute instead of `aria-label` to avoid
197
+ * ARIAMixin shadowing on the host element. Highest-precedence naming source.
198
+ * @attr accessible-label
199
+ */
200
+ accessibleLabel: string | null;
186
201
  /**
187
202
  * Tracks whether the calendar popup is currently visible.
188
203
  * @internal
@@ -220,91 +235,219 @@ export declare class HelixDatePicker extends HelixDatePicker_base {
220
235
  * @internal
221
236
  */
222
237
  private _dayAriaLabels;
238
+ /** @internal */
239
+ private _weekdayFormatter;
240
+ /** @internal */
241
+ private _monthFormatter;
242
+ /** @internal */
243
+ private _formatterLocale;
244
+ /** @internal */
245
+ private _cachedWeekdayNames;
246
+ /** @internal */
247
+ private _input;
248
+ /** @internal */
249
+ private _trigger;
250
+ /** @internal */
251
+ private _calendar;
252
+ /** @internal */
253
+ private _id;
254
+ /** @internal */
255
+ private _inputId;
256
+ /** @internal */
257
+ private _helpTextId;
258
+ /** @internal */
259
+ private _errorId;
260
+ /** @internal */
261
+ private _calendarId;
262
+ /** @internal */
263
+ private _liveRegionId;
264
+ /** @internal */
265
+ private _labelId;
266
+ /**
267
+ * Id of the synthesized in-shadow span that mirrors the consumer-resolved
268
+ * description text. Appended to the inner input's `aria-describedby` so AT
269
+ * picks the consumer description up through the standard described-by
270
+ * channel — `aria-description` is intentionally NOT written, because the
271
+ * W3C AccName algorithm ignores `aria-description` whenever
272
+ * `aria-describedby` is also present.
273
+ * @internal
274
+ */
275
+ private _consumerDescId;
223
276
  /**
224
- * Cached Intl.DateTimeFormat for weekday-short labels; keyed on locale.
225
- * Recreated only when locale changes.
277
+ * Whether the label slot has any assigned elements with a useful name.
278
+ * Per AccName 1.2 §4.3.10, an empty/whitespace-only slot does NOT count.
226
279
  * @internal
227
280
  */
228
- private _weekdayFormatter;
281
+ private _hasLabelSlot;
229
282
  /**
230
- * Cached Intl.DateTimeFormat for month-long labels; keyed on locale.
231
- * Recreated only when locale changes.
283
+ * Whether the error slot has any meaningful (non-empty, non-hidden) content.
232
284
  * @internal
233
285
  */
234
- private _monthFormatter;
286
+ private _hasErrorSlot;
235
287
  /**
236
- * Locale used when the cached formatters were last built.
288
+ * Whether the help-text slot has any meaningful (non-empty, non-hidden) content.
237
289
  * @internal
238
290
  */
239
- private _formatterLocale;
291
+ private _hasHelpSlot;
240
292
  /**
241
- * Cached array of 7 weekday header strings.
242
- * Depends only on locale — recomputed lazily when locale changes.
293
+ * Discriminated label source drives precedence between slotted label,
294
+ * `label` property, and unnamed.
243
295
  * @internal
244
296
  */
245
- private _cachedWeekdayNames;
297
+ private _labelSource;
246
298
  /**
247
- * Reference to the readonly text input element displaying the formatted date.
299
+ * Flattened, trimmed text content from all label-slot nodes used to drive
300
+ * the inner input's `aria-label` on the no-IDL-ref fallback path and to
301
+ * gate `_hasLabelSlot` per AccName 1.2.
248
302
  * @internal
249
303
  */
250
- private _input;
304
+ private _labelSlotText;
251
305
  /**
252
- * Reference to the calendar icon button that opens and closes the popup.
306
+ * Whether the platform supports IDL element references on `ElementInternals`.
307
+ * Drives the cross-shadow naming strategy for the inner `<input>`.
253
308
  * @internal
254
309
  */
255
- private _trigger;
310
+ private _supportsIdrefRefs;
256
311
  /**
257
- * Reference to the calendar popup dialog element.
312
+ * Cached invalidity flag derived from `internals.validity.valid`, the
313
+ * `error` property, and the slotted error content. Drives `aria-invalid`
314
+ * on the inner input.
258
315
  * @internal
259
316
  */
260
- private _calendar;
317
+ private _invalid;
261
318
  /**
262
- * Unique base ID for this component instance, used to generate all child element IDs.
319
+ * Deferred copy of `error` driven through reactive state so the persistent
320
+ * live region can re-announce on transitions without direct DOM mutation.
263
321
  * @internal
264
322
  */
265
- private _id;
323
+ private _announcedError;
324
+ /** Handle for the shared IDREF observer. @internal */
325
+ private _ariaMirror;
326
+ /** @internal */
327
+ private _helpSlotTextObserver;
328
+ /** @internal */
329
+ private _errorSlotTextObserver;
330
+ /** @internal */
331
+ private _hostDescribedByObserver;
332
+ /** @internal */
333
+ private _consumerLabelledBy;
334
+ /** @internal */
335
+ private _consumerDescribedBy;
266
336
  /**
267
- * Unique ID for the text input element, used for label association.
337
+ * Direct references to ALL labellable elements projected into
338
+ * `<slot name="label">`. Aggregating every assigned element preserves
339
+ * composed labels such as
340
+ * `<svg slot="label" aria-hidden="true">…</svg><span slot="label">Date</span>`.
268
341
  * @internal
269
342
  */
270
- private _inputId;
343
+ private _slottedLabelEls;
344
+ /** @internal */
345
+ private _labelSlotTextObserver;
346
+ /** @internal */
347
+ private _externalRefsObserver;
348
+ connectedCallback(): void;
349
+ disconnectedCallback(): void;
350
+ willUpdate(changedProperties: PropertyValues<this>): void;
351
+ updated(changedProperties: PropertyValues<this>): void;
352
+ firstUpdated(changed: PropertyValues<this>): void;
271
353
  /**
272
- * Unique ID for the help text element, used for aria-describedby association.
354
+ * Synchronous slot-state seed. Mirrors the side effects of the three
355
+ * `_handle*SlotChange` handlers (label / help-text / error) but is driven by
356
+ * direct `slot.assignedNodes()` reads so we can populate state BEFORE the
357
+ * microtask `slotchange` events fire after the first render.
273
358
  * @internal
274
359
  */
275
- private _helpTextId;
360
+ private _seedSlotStateSync;
276
361
  /**
277
- * Unique ID for the error message element, used for aria-describedby association.
362
+ * Reads the label slot's assigned nodes and computes the discriminated
363
+ * naming state. An empty whitespace-only slot does NOT count as a useful
364
+ * name. Per AccName 1.2 §4.3.10, `aria-hidden="true"` and `[hidden]`
365
+ * elements contribute zero to the accessible name.
278
366
  * @internal
279
367
  */
280
- private _errorId;
368
+ private _readLabelSlotState;
281
369
  /**
282
- * Unique ID for the calendar popup dialog element, used for aria-controls association.
370
+ * Re-evaluate the help-text slot's "has meaningful content" state from its
371
+ * current effective text. AccName-aware so descendants carrying
372
+ * `aria-hidden="true"` or `hidden` do NOT count.
283
373
  * @internal
284
374
  */
285
- private _calendarId;
375
+ private _readHelpSlotStateSync;
286
376
  /**
287
- * Unique ID for the ARIA live region element that announces month navigation changes.
377
+ * Re-evaluate the error slot's "has meaningful content" state from its
378
+ * current effective text.
288
379
  * @internal
289
380
  */
290
- private _liveRegionId;
381
+ private _readErrorSlotStateSync;
291
382
  /**
292
- * Whether the label slot has any assigned elements, used to switch between slotted and property-based label rendering.
383
+ * Recomputes the discriminated label source. Slot takes precedence over
384
+ * the `label` property because the render path suppresses the internal
385
+ * `<label>` when slotted content is present.
293
386
  * @internal
294
387
  */
295
- private _hasLabelSlot;
388
+ private _refreshLabelSource;
296
389
  /**
297
- * Whether the error slot has any assigned elements, used to switch between slotted and property-based error rendering.
390
+ * (Re-)installs a `MutationObserver` against the deduped union of
391
+ * consumer-resolved label/description elements.
298
392
  * @internal
299
393
  */
300
- private _hasErrorSlot;
394
+ private _installExternalRefsObserver;
395
+ /**
396
+ * Resolves consumer-supplied label/description IDREFs on the host and
397
+ * writes the canonical ARIA onto the **inner readonly `<input>`** for the
398
+ * W3C APG date-picker dialog pattern.
399
+ *
400
+ * The inner input is INTENTIONALLY NOT a `role="combobox"` — it is a
401
+ * readonly text input with `aria-haspopup="dialog"` per W3C APG date picker
402
+ * dialog. A separate trigger button owns `aria-expanded` /
403
+ * `aria-controls=${calendarId}` for the dialog. (Cross-shadow `aria-controls`
404
+ * referencing an in-shadow id is a documented limitation, mirrored from
405
+ * hx-popover and hx-dropdown.)
406
+ *
407
+ * Cross-shadow naming uses a belt-and-suspenders strategy:
408
+ *
409
+ * 1. **Modern path** (`_supportsIdrefRefs === true`): consumer-resolved
410
+ * label/description elements are written onto
411
+ * `internals.ariaLabelledByElements` / `ariaDescribedByElements` on
412
+ * the host. Host-level `aria-labelledby` / `aria-describedby`
413
+ * attributes are LEFT IN PLACE so AT walking up the DOM also sees them.
414
+ * Resolved-element text is also flattened onto the inner input as
415
+ * `aria-label` so AT that does NOT walk up still announces the right
416
+ * name.
417
+ *
418
+ * 2. **Legacy fallback** (`_supportsIdrefRefs === false`): the resolved-
419
+ * element text is flattened onto the inner input as `aria-label` and
420
+ * mirrored into a synthesized in-shadow span pointed at by the inner
421
+ * input's `aria-describedby`.
422
+ *
423
+ * Writing `aria-labelledby="<light-DOM id>"` directly on the shadow-DOM
424
+ * inner input is INTENTIONALLY avoided: light-DOM ids do not resolve from
425
+ * inside a shadow root.
426
+ * @internal
427
+ */
428
+ private _syncHostAriaSemantics;
429
+ /**
430
+ * (Re-)installs the help-text slot text/visibility observer.
431
+ * @internal
432
+ */
433
+ private _installHelpSlotTextObserver;
434
+ /**
435
+ * (Re-)installs the error slot text/visibility observer.
436
+ * @internal
437
+ */
438
+ private _installErrorSlotTextObserver;
439
+ /**
440
+ * (Re-)installs the label slot text/visibility observer over the current
441
+ * set of slotted label elements.
442
+ * @internal
443
+ */
444
+ private _installLabelSlotTextObserver;
301
445
  /** @internal */
302
446
  private _handleLabelSlotChange;
303
447
  /** @internal */
304
448
  private _handleErrorSlotChange;
305
- disconnectedCallback(): void;
306
- willUpdate(changedProperties: PropertyValues<this>): void;
307
- updated(changedProperties: PropertyValues<this>): void;
449
+ /** @internal */
450
+ private _handleHelpSlotChange;
308
451
  private readonly _handleDocumentClick;
309
452
  /** @internal */
310
453
  _updateValidity(): void;
@@ -327,26 +470,14 @@ export declare class HelixDatePicker extends HelixDatePicker_base {
327
470
  private _isSameDay;
328
471
  /** @internal */
329
472
  private _isToday;
330
- /**
331
- * Ensure memoized Intl.DateTimeFormat instances exist and match the current locale.
332
- * Rebuilds only when locale changes; also clears the cached weekday names.
333
- * @internal
334
- */
473
+ /** @internal */
335
474
  private _ensureFormatters;
336
475
  /** @internal */
337
476
  private _getMonthName;
338
477
  /** @internal */
339
478
  private _getDayName;
340
- /**
341
- * Returns the 7 cached weekday header strings for the current locale.
342
- * Computed once per locale and reused across all renders.
343
- * @internal
344
- */
479
+ /** @internal */
345
480
  private _getWeekdayNames;
346
- /**
347
- * Returns an array of Date objects (or null for padding cells) representing
348
- * the 6-week grid for the current view month.
349
- */
350
481
  /** @internal */
351
482
  private _getDaysInGrid;
352
483
  /** @internal */
@@ -363,12 +494,7 @@ export declare class HelixDatePicker extends HelixDatePicker_base {
363
494
  private _nextMonth;
364
495
  /** @internal */
365
496
  private _selectDay;
366
- /**
367
- * Delegated click handler for the calendar day grid.
368
- * A single handler on the grid container replaces per-cell closures,
369
- * eliminating 42 inline function allocations per render.
370
- * @internal
371
- */
497
+ /** @internal */
372
498
  private readonly _handleGridClick;
373
499
  /** @internal */
374
500
  private _handleCalendarKeydown;
@@ -1 +1 @@
1
- {"version":3,"file":"hx-date-picker.d.ts","sourceRoot":"","sources":["../../../src/components/hx-date-picker/hx-date-picker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hx-date-picker.d.ts","sourceRoot":"","sources":["../../../src/components/hx-date-picker/hx-date-picker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hx-date-picker.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-date-picker/hx-date-picker.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,yBAsajC,CAAC"}
1
+ {"version":3,"file":"hx-date-picker.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-date-picker/hx-date-picker.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,yBAuajC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { H as a } from "../../shared/hx-date-picker-2iRG1p74.js";
1
+ import { H as a } from "../../shared/hx-date-picker-CiR7FVnR.js";
2
2
  export {
3
3
  a as HelixDatePicker
4
4
  };
@@ -5,6 +5,84 @@ import { HelixElement } from '../../base/index.js';
5
5
  * Provides focus trapping, backdrop interaction, keyboard navigation, and full
6
6
  * ARIA labelling for enterprise healthcare accessibility requirements.
7
7
  *
8
+ * ## Architecture Note: Host-Canonical ARIA (group-4a round-1, Path A — native-dialog adaptation)
9
+ *
10
+ * Unlike `hx-drawer` (which uses an inner `<div role="dialog">` and can fully
11
+ * host-canonicalize the role), `hx-dialog` is built on the native
12
+ * `<dialog>` HTMLDialogElement. The native element has an **implicit
13
+ * `role="dialog"`** baked in by the browser that **cannot be stripped**, so
14
+ * full host-canonical role takeover would create nested-dialog announcements.
15
+ *
16
+ * **Path A (adopted):** the host owns label / description projection via
17
+ * `ElementInternals` (`internals.ariaLabelledByElements`,
18
+ * `internals.ariaDescribedByElements`, `internals.ariaLabel`) but **does NOT**
19
+ * set `internals.role`. The native inner `<dialog>` continues to be the
20
+ * announced surface. Consumer light-DOM IDREFs project across the shadow
21
+ * boundary via `internals.aria*Elements` on the host.
22
+ *
23
+ * **Hybrid fallback (always-on belt-and-suspenders):** because some assistive
24
+ * technologies may walk the native `<dialog>` first and ignore host
25
+ * `internals.aria*Elements`, the resolved label / description text is **also**
26
+ * serialized into `aria-label` / `aria-describedby` on the inner native
27
+ * `<dialog>` element. Consumers therefore get name/description on every AT,
28
+ * with the IDL-ref path providing live DOM-text-update tracking when the AT
29
+ * honours it. This forfeits live-text tracking on the inner-dialog fallback
30
+ * (the serialized text is recomputed on every sync, which is good enough since
31
+ * mutation observers re-fire `_syncHostAriaSemantics` on consumer text edits).
32
+ *
33
+ * Why we do NOT set `internals.role = 'alertdialog'` either: setting role on
34
+ * the host while the native `<dialog>` keeps `role="dialog"` would announce
35
+ * BOTH a host alertdialog AND an inner dialog. Instead, the alertdialog
36
+ * variant continues to write `role="alertdialog"` directly on the inner
37
+ * `<dialog>` element (the platform allows overriding the implicit `dialog`
38
+ * role with the more specific `alertdialog`).
39
+ *
40
+ * Naming precedence (W3C AccName 1.2 §4.3.1):
41
+ *
42
+ * 1. Consumer `aria-labelledby` on the host — IDREFs resolved across the
43
+ * shadow boundary via `resolveIdrefTokens` (closest scope first, then
44
+ * ancestor shadow hosts, then owner document).
45
+ * 2. Consumer `aria-label` on the host.
46
+ * 3. `<slot name="header">` text content (multi-node aggregation per
47
+ * AccName 1.2 §4.3.10 — decorative `aria-hidden` / `[hidden]` subtrees
48
+ * contribute zero to the name).
49
+ * 4. `heading` property — explicit author-provided heading text.
50
+ * 5. Hard-coded literal `"Dialog"` (last-resort accessible name).
51
+ *
52
+ * Description channel: the host's `internals.ariaDescribedByElements` carries
53
+ * the resolved IDREF chain on the modern path. The inner native `<dialog>` ALSO
54
+ * receives a serialized `aria-describedby` chain — when a consumer description
55
+ * resolves, a synthesized in-shadow `<span id="${id}-consumer-desc">` is
56
+ * appended to the existing `description` span (if any) and the inner
57
+ * `<dialog>`'s `aria-describedby` references both same-root ids. `aria-description`
58
+ * is intentionally NEVER written — W3C AccName ignores it whenever
59
+ * `aria-describedby` is also present.
60
+ *
61
+ * Slot mutation observers track:
62
+ * 1. The header slot's text content (in-place i18n re-renders).
63
+ * 2. Consumer-resolved external IDREF targets (so a consumer mutating
64
+ * `<label id="x">Patient</label>` in place re-flows the name).
65
+ * 3. Host attribute mutations (delegated to `installAriaIdrefMirror`,
66
+ * which also catches late-inserted IDREF targets and id renames in
67
+ * every relevant root).
68
+ * 4. Authentic consumer `aria-describedby` retraction (oldValue !== null &&
69
+ * newValue === null) via a dedicated `attributeOldValue: true` observer.
70
+ *
71
+ * **First-paint slot state seeding intentionally omitted:** seeding
72
+ * `_hasHeaderSlot` / `_headerSlotText` from `firstUpdated()` would schedule an
73
+ * extra Lit re-render that subtly reorders the open-dialog promise chain
74
+ * (`updateComplete.then(...) → showModal() → updateComplete.then(...) →
75
+ * focus first focusable`). On Chromium, that reordering interleaves the
76
+ * native dialog's modal activation with the focus-restore step and causes
77
+ * focus-trap test failures. The slotchange handler runs one microtask later
78
+ * and `_syncHostAriaSemantics()` from `updated()` picks up the resolved state
79
+ * on the next paint — close enough that AT never observes the unnamed window.
80
+ * Mirrors the same intentional decision documented in hx-drawer round-1.
81
+ *
82
+ * Focus trap, ESC dismiss with `hx-cancel` BEFORE `hx-close`, focus-restore
83
+ * via `_triggerElement`, and native `showModal()` semantics are unchanged
84
+ * from the pre-host-canonical implementation.
85
+ *
8
86
  * @summary Accessible dialog overlay for confirmations, forms, and detailed content.
9
87
  *
10
88
  * @tag hx-dialog
@@ -102,6 +180,16 @@ import { HelixElement } from '../../base/index.js';
102
180
  export declare class HelixDialog extends HelixElement {
103
181
  static styles: import('lit').CSSResult[];
104
182
  static get observedAttributes(): string[];
183
+ /**
184
+ * Test seam: when set to `true` or `false`, overrides the platform
185
+ * `supportsIdrefElementReferences` probe before `connectedCallback`
186
+ * seeds `_supportsIdrefRefs`. Mirrors hx-drawer round-1 — tests must
187
+ * select the path BEFORE the host connects so synthetic environments
188
+ * match a legacy engine. Production code MUST NOT touch this field.
189
+ * It is `static` so the cleanup is global and obvious.
190
+ * @internal
191
+ */
192
+ static __testSupportsIdrefRefsOverride: boolean | null;
105
193
  /** @internal */
106
194
  private _dialogEl;
107
195
  /** Tracks whether a header slot has been assigned content. * @internal
@@ -149,6 +237,91 @@ export declare class HelixDialog extends HelixElement {
149
237
  private readonly _headingId;
150
238
  /** @internal */
151
239
  private readonly _descriptionId;
240
+ /**
241
+ * Id of the synthesized in-shadow span that mirrors consumer-resolved
242
+ * description text. Belt-and-suspenders: the host's
243
+ * `internals.ariaDescribedByElements` carries the live element references on
244
+ * the modern path; this in-shadow span is the fallback referenced via
245
+ * `aria-describedby` on the inner native `<dialog>` so AT that walks the
246
+ * native dialog first (and ignores host IDL refs) still finds an
247
+ * announceable description.
248
+ * @internal
249
+ */
250
+ private readonly _consumerDescId;
251
+ /**
252
+ * Id of the synthesized in-shadow span that mirrors the resolved accessible
253
+ * NAME when consumer IDREFs / slotted header text need to be projected onto
254
+ * the inner native `<dialog>`'s `aria-labelledby`. The native dialog cannot
255
+ * cross the shadow boundary to resolve light-DOM ids, so we surface a
256
+ * same-shadow-root span carrying the flattened text. The host
257
+ * `internals.ariaLabelledByElements` continues to carry live IDL refs on the
258
+ * modern path; this span is the hybrid-fallback target. `aria-label` carries
259
+ * the same string as a second redundancy when no labelled-by chain exists.
260
+ * @internal
261
+ */
262
+ private readonly _consumerLabelId;
263
+ /**
264
+ * Whether the runtime exposes IDL element references on ElementInternals.
265
+ * Drives the modern-vs-fallback ARIA projection in `_syncHostAriaSemantics`.
266
+ * @internal
267
+ */
268
+ private _supportsIdrefRefs;
269
+ /**
270
+ * Direct references to ALL labellable elements projected into
271
+ * `<slot name="header">`. Aggregates every assigned element so composed
272
+ * headers (e.g. `<svg slot="header" aria-hidden="true">…</svg><span slot="header">Patient</span>`)
273
+ * project the FULL visible label via `internals.ariaLabelledByElements`
274
+ * while `flattenAccName` strips the decorative subtree per AccName 1.2.
275
+ * @internal
276
+ */
277
+ private _slottedHeaderEls;
278
+ /**
279
+ * Flattened text content of the slotted header nodes, used for the no-IDL-ref
280
+ * fallback `internals.ariaLabel` and the inner-dialog hybrid `aria-label`.
281
+ * @internal
282
+ */
283
+ private _headerSlotText;
284
+ /**
285
+ * Most recently observed consumer-supplied `aria-labelledby` token list on
286
+ * the host. Refreshed every sync via `getAttribute()` — the host attribute
287
+ * IS the live source of truth, so `removeAttribute` is observable on the
288
+ * next sync (it returns `null`).
289
+ * @internal
290
+ */
291
+ private _consumerLabelledBy;
292
+ /** @internal — see `_consumerLabelledBy`. */
293
+ private _consumerDescribedBy;
294
+ /**
295
+ * Handle for the shared IDREF mirror. See `installAriaIdrefMirror()`.
296
+ * @internal
297
+ */
298
+ private _ariaMirror;
299
+ /**
300
+ * Watches in-place text mutations on the assigned slotted header nodes
301
+ * (e.g. consumer i18n re-renders that mutate `textContent` instead of
302
+ * replacing the node). `slotchange` does NOT fire on descendant text
303
+ * mutations, so this observer is the only signal that keeps the host's
304
+ * accessible name synchronized with the visible header text.
305
+ * @internal
306
+ */
307
+ private _headerSlotTextObserver;
308
+ /**
309
+ * Watches in-place text / visibility mutations on consumer light-DOM
310
+ * elements resolved from host `aria-labelledby` / `aria-describedby`.
311
+ * Reinstalled on every sync against the deduped union of resolved
312
+ * elements; disconnects automatically when the consumer retracts both
313
+ * IDREF chains.
314
+ * @internal
315
+ */
316
+ private _externalRefsObserver;
317
+ /**
318
+ * Dedicated host observer scoped to `aria-describedby` with
319
+ * `attributeOldValue: true`. Catches authentic consumer retraction
320
+ * (oldValue !== null && newValue === null) so the cached baseline
321
+ * follows the live attribute.
322
+ * @internal
323
+ */
324
+ private _hostDescribedByObserver;
152
325
  /**
153
326
  * Controls whether the dialog is open.
154
327
  * @attr open
@@ -193,6 +366,7 @@ export declare class HelixDialog extends HelixElement {
193
366
  */
194
367
  get returnValue(): string;
195
368
  attributeChangedCallback(name: string, oldVal: string | null, newVal: string | null): void;
369
+ connectedCallback(): void;
196
370
  firstUpdated(): void;
197
371
  disconnectedCallback(): void;
198
372
  updated(changedProperties: PropertyValues<this>): void;
@@ -233,6 +407,72 @@ export declare class HelixDialog extends HelixElement {
233
407
  private _handleHeaderSlotChange;
234
408
  /** @internal */
235
409
  private _handleFooterSlotChange;
410
+ /**
411
+ * Reads the header slot's assigned nodes and computes the discriminated
412
+ * naming state. Aggregates ALL assigned elements (not just the first) so
413
+ * composed headers project the FULL visible label via
414
+ * `internals.ariaLabelledByElements`. Per AccName 1.2 §4.3.10,
415
+ * `aria-hidden="true"` / `[hidden]` elements contribute zero to the
416
+ * accessible name but stay in `elements` so AT walking IDL refs sees the
417
+ * full visible group. `hasUsefulName` is gated on the flattened text
418
+ * length: a slot containing only decorative wrappers does NOT name the
419
+ * dialog, and the host falls through to the next naming source.
420
+ *
421
+ * `hasAnyAssigned` is the legacy semantic kept for the existing dev-warning
422
+ * + `_renderHeader()` empty-slot flag (the heading / built-in close button
423
+ * area is rendered regardless of useful-name state when the consumer has
424
+ * projected SOMETHING into the header slot).
425
+ * @internal
426
+ */
427
+ private _readHeaderSlotState;
428
+ /**
429
+ * (Re-)installs the mutation observer over the current set of slotted header
430
+ * elements. On any descendant text/visibility mutation we re-flatten and
431
+ * re-sync so the host's accessible name tracks the visible header.
432
+ * @internal
433
+ */
434
+ private _installHeaderSlotTextObserver;
435
+ /**
436
+ * (Re-)installs a `MutationObserver` against the deduped union of
437
+ * consumer-resolved label/description elements. Watches `characterData`,
438
+ * `childList`, `subtree`, and `aria-hidden` / `hidden` attributes so any
439
+ * in-place mutation on the referenced light-DOM nodes triggers a fresh
440
+ * sync — keeping the modern-path IDL refs and the fallback-path text
441
+ * flatten aligned with the live consumer text.
442
+ * @internal
443
+ */
444
+ private _installExternalRefsObserver;
445
+ /**
446
+ * Resolves consumer-supplied label/description IDREFs on the host and
447
+ * projects the canonical dialog ARIA onto **both** surfaces:
448
+ *
449
+ * 1. The **host** via `ElementInternals` (modern path) — IDL element
450
+ * references that AT honouring the host-internals contract pick up
451
+ * across the shadow boundary.
452
+ * 2. The inner native `<dialog>` via attribute writes — hybrid fallback
453
+ * so AT that walks the native dialog first (and ignores host
454
+ * `internals.aria*Elements`) still finds an announceable name and
455
+ * description.
456
+ *
457
+ * Path A native-dialog adaptation: the host does NOT carry `internals.role`
458
+ * or `internals.ariaModal` — the native `<dialog>` already declares those at
459
+ * the platform level and rewriting them on the host would create
460
+ * nested-dialog announcements.
461
+ *
462
+ * The inner `<dialog>` keeps `role="alertdialog"` ONLY when `variant ===
463
+ * 'alertdialog'` (the platform allows overriding the implicit `dialog` role
464
+ * with the more specific `alertdialog`); otherwise the implicit `dialog`
465
+ * role wins.
466
+ *
467
+ * Naming precedence (W3C AccName 1.2 §4.3.1):
468
+ * 1. Consumer `aria-labelledby` (resolved IDREFs, text-flattened)
469
+ * 2. Consumer `aria-label`
470
+ * 3. Slotted `<slot name="header">` text
471
+ * 4. `heading` property
472
+ * 5. Hard-coded `"Dialog"`
473
+ * @internal
474
+ */
475
+ private _syncHostAriaSemantics;
236
476
  /** @internal */
237
477
  private _renderHeader;
238
478
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"hx-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/hx-dialog/hx-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAoBpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkGG;AACH,qBACa,WAAY,SAAQ,YAAY;IAC3C,OAAgB,MAAM,4BAA4C;IAGlE,WAAoB,kBAAkB,IAAI,MAAM,EAAE,CAEjD;IAID,gBAAgB;IAEhB,OAAO,CAAC,SAAS,CAAuC;IAIxD;OACG;IAEH,OAAO,CAAC,cAAc,CAAS;IAE/B;OACG;IAEH,OAAO,CAAC,cAAc,CAAS;IAE/B,uEAAuE;IACvE,gBAAgB;IAChB,OAAO,CAAC,wBAAwB,CAAqB;IAErD;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB;IAChB,OAAO,CAAC,gBAAgB,CAAS;IAEjC,0FAA0F;IAC1F,gBAAgB;IAChB,OAAO,CAAC,wBAAwB,CAA8C;IAE9E,kFAAkF;IAClF,gBAAgB;IAChB,OAAO,CAAC,eAAe,CAA4B;IAEnD,kEAAkE;IAClE,gBAAgB;IAChB,OAAO,CAAC,mBAAmB,CAAiC;IAI5D,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmC;IAIlE;;;OAGG;IAEH,IAAI,UAAS;IAEb;;;;;;OAMG;IAEH,KAAK,UAAS;IAEd;;;OAGG;IASH,eAAe,UAAQ;IAEvB;;;OAGG;IAEH,OAAO,SAAM;IAEb;;;;OAIG;IAEH,OAAO,EAAE,QAAQ,GAAG,aAAa,CAAY;IAE7C;;;;;OAKG;IAEH,WAAW,SAAM;IAEjB,0EAA0E;IAE1E,UAAU,SAAkB;IAE5B;;;OAGG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAKQ,wBAAwB,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,IAAI;IAOE,YAAY,IAAI,IAAI;IAYpB,oBAAoB,IAAI,IAAI;IAW5B,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAc/D,uEAAuE;IACvE,IAAI,IAAI,IAAI;IAIZ,8EAA8E;IAC9E,SAAS,IAAI,IAAI;IAKjB;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IASjC,4EAA4E;IAC5E,OAAO,CAAC,wBAAwB;IAOhC,gBAAgB;IAChB,OAAO,CAAC,WAAW;IA6DnB,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAkDpB,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAM3B,gBAAgB;IAChB,OAAO,CAAC,sBAAsB;IAQ9B,gBAAgB;IAChB,OAAO,CAAC,cAAc,CAapB;IAIF,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAoC7B,gBAAgB;IAChB,OAAO,CAAC,UAAU;IA8ClB,gBAAgB;IAChB,OAAO,CAAC,kBAAkB,CAUxB;IAIF,gBAAgB;IAChB,OAAO,CAAC,oBAAoB,CAG1B;IAIF,gBAAgB;IAChB,OAAO,CAAC,mBAAmB,CAGzB;IAIF,gBAAgB;IAChB,OAAO,CAAC,OAAO;IAcf,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAK/B,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAO/B,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAqBrB,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAQrB,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAa/B,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IASjB,MAAM;CAwBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,WAAW,CAAC;KAC1B;IACD,UAAU,mBAAmB;QAC3B,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;KAChC;CACF"}
1
+ {"version":3,"file":"hx-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/hx-dialog/hx-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AA2BpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgLG;AACH,qBACa,WAAY,SAAQ,YAAY;IAC3C,OAAgB,MAAM,4BAA4C;IAGlE,WAAoB,kBAAkB,IAAI,MAAM,EAAE,CAEjD;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,+BAA+B,EAAE,OAAO,GAAG,IAAI,CAAQ;IAI9D,gBAAgB;IAEhB,OAAO,CAAC,SAAS,CAAuC;IAIxD;OACG;IAEH,OAAO,CAAC,cAAc,CAAS;IAE/B;OACG;IAEH,OAAO,CAAC,cAAc,CAAS;IAE/B,uEAAuE;IACvE,gBAAgB;IAChB,OAAO,CAAC,wBAAwB,CAAqB;IAErD;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB;IAChB,OAAO,CAAC,gBAAgB,CAAS;IAEjC,0FAA0F;IAC1F,gBAAgB;IAChB,OAAO,CAAC,wBAAwB,CAA8C;IAE9E,kFAAkF;IAClF,gBAAgB;IAChB,OAAO,CAAC,eAAe,CAA4B;IAEnD,kEAAkE;IAClE,gBAAgB;IAChB,OAAO,CAAC,mBAAmB,CAAiC;IAI5D,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmC;IAClE;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IAIvE;;;;OAIG;IACM,OAAO,CAAC,kBAAkB,CAAQ;IAE3C;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB,CAAiB;IAE1C;;;;OAIG;IACM,OAAO,CAAC,eAAe,CAAM;IAEtC;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB,CAAuB;IAClD,6CAA6C;IAC7C,OAAO,CAAC,oBAAoB,CAAuB;IAEnD;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAsC;IAEzD;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB,CAAiC;IAEhE;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB,CAAiC;IAE9D;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB,CAAiC;IAIjE;;;OAGG;IAEH,IAAI,UAAS;IAEb;;;;;;OAMG;IAEH,KAAK,UAAS;IAEd;;;OAGG;IASH,eAAe,UAAQ;IAEvB;;;OAGG;IAEH,OAAO,SAAM;IAEb;;;;OAIG;IAEH,OAAO,EAAE,QAAQ,GAAG,aAAa,CAAY;IAE7C;;;;;OAKG;IAEH,WAAW,SAAM;IAEjB,0EAA0E;IAE1E,UAAU,SAAkB;IAE5B;;;OAGG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAKQ,wBAAwB,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,IAAI;IAOE,iBAAiB,IAAI,IAAI;IAwDzB,YAAY,IAAI,IAAI;IAsBpB,oBAAoB,IAAI,IAAI;IAmB5B,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAmB/D,uEAAuE;IACvE,IAAI,IAAI,IAAI;IAIZ,8EAA8E;IAC9E,SAAS,IAAI,IAAI;IAKjB;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IASjC,4EAA4E;IAC5E,OAAO,CAAC,wBAAwB;IAOhC,gBAAgB;IAChB,OAAO,CAAC,WAAW;IA6DnB,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAkDpB,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAM3B,gBAAgB;IAChB,OAAO,CAAC,sBAAsB;IAQ9B,gBAAgB;IAChB,OAAO,CAAC,cAAc,CAapB;IAIF,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAoC7B,gBAAgB;IAChB,OAAO,CAAC,UAAU;IA8ClB,gBAAgB;IAChB,OAAO,CAAC,kBAAkB,CAUxB;IAIF,gBAAgB;IAChB,OAAO,CAAC,oBAAoB,CAG1B;IAIF,gBAAgB;IAChB,OAAO,CAAC,mBAAmB,CAGzB;IAIF,gBAAgB;IAChB,OAAO,CAAC,OAAO;IAcf,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAU/B,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAO/B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,oBAAoB;IAmC5B;;;;;OAKG;IACH,OAAO,CAAC,8BAA8B;IA6BtC;;;;;;;;OAQG;IACH,OAAO,CAAC,4BAA4B;IAsBpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,OAAO,CAAC,sBAAsB;IAiO9B,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAqBrB,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAQrB,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAa/B,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IASjB,MAAM;CAgDhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,WAAW,CAAC;KAC1B;IACD,UAAU,mBAAmB;QAC3B,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;KAChC;CACF"}
@@ -1,4 +1,4 @@
1
- import { H as e } from "../../shared/hx-dialog-DRN_1-Y-.js";
1
+ import { H as e } from "../../shared/hx-dialog-AOZpHSuF.js";
2
2
  export {
3
3
  e as HelixDialog
4
4
  };