@helixui/library 3.3.1 → 3.4.0-next.121

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 +2 -2
  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
@@ -1,4 +1,4 @@
1
- import { H as i } from "../../shared/hx-spinner-DL5AYr16.js";
1
+ import { H as i } from "../../shared/hx-spinner-BB0h2hKZ.js";
2
2
  export {
3
3
  i as HelixSpinner
4
4
  };
@@ -1,9 +1,31 @@
1
+ import { PropertyValues } from 'lit';
1
2
  import { HelixElement } from '../../base/index.js';
2
3
  /**
3
4
  * A split button combining a primary action button with an attached dropdown
4
5
  * menu for secondary actions. Implements the ARIA menu button pattern for
5
6
  * full keyboard and screen reader support.
6
7
  *
8
+ * ## Architecture Note: Composite host with two interactive children (Group 5b)
9
+ *
10
+ * The host wraps a primary `<button>`, a dropdown trigger `<button>`, and a
11
+ * panel `<div role="menu">` — three ARIA-bearing surfaces that cannot all
12
+ * collapse onto the host. Group 5b keeps role placement on the inner
13
+ * elements (consistent with `hx-overflow-menu`). The host carries no role.
14
+ *
15
+ * What Group 5b adds:
16
+ * - **Host-attribute label mirror** via `installAriaIdrefMirror`: consumer
17
+ * `aria-label` / `aria-labelledby` on the host flow to the inner primary
18
+ * button's `aria-label`. Replaces the legacy `accessible-label` shim,
19
+ * which was a workaround for ARIAMixin shadowing on the host. The shim
20
+ * is preserved with a one-time devWarn for one minor version of back-
21
+ * compat; new code should use the standard `aria-label` attribute.
22
+ * - **Roving tabindex** on slotted `hx-menu-item` children inside the
23
+ * panel. Only the focused item carries `tabindex=0`; arrow key
24
+ * navigation rewrites the tabindex map via `_applyRovingTabIndex()`.
25
+ * `setRovingTabIndex` is the same setter used by `hx-menu` for cross-
26
+ * family pattern alignment.
27
+ * - **First-character typeahead** with 500ms timeout matching `hx-menu`.
28
+ *
7
29
  * @summary Primary action button with attached dropdown menu for secondary actions.
8
30
  *
9
31
  * @tag hx-split-button
@@ -112,14 +134,16 @@ export declare class HelixSplitButton extends HelixElement {
112
134
  */
113
135
  label: string | undefined;
114
136
  /**
115
- * Accessible label for the primary action button. Required for icon-only usage
116
- * or when the button label alone is insufficient context.
117
- * Uses `accessible-label` attribute instead of `aria-label` to avoid
118
- * ARIAMixin shadowing on the host element.
137
+ * @deprecated Use the standard host `aria-label` attribute instead. Group
138
+ * 5b replaces the `accessible-label` shim with a host-attribute mirror
139
+ * driven by `installAriaIdrefMirror` consumer host `aria-label` /
140
+ * `aria-labelledby` flow to the inner primary button's `aria-label`,
141
+ * which is the same composed-tree result as the legacy shim without
142
+ * the ARIAMixin shadowing concern.
119
143
  *
120
- * Note: `mixinDelegatesAria` is not applied to this component because the
121
- * `accessible-label` attribute approach avoids the ARIAMixin property conflict
122
- * without requiring mixin overhead.
144
+ * The attribute remains observed for one minor version so existing
145
+ * consumers do not regress; setting it logs a devWarn pointing them to
146
+ * the standard `aria-label` path.
123
147
  * @attr accessible-label
124
148
  */
125
149
  accessibleLabel: string;
@@ -138,8 +162,36 @@ export declare class HelixSplitButton extends HelixElement {
138
162
  * @internal
139
163
  */
140
164
  private readonly _menuId;
165
+ /**
166
+ * Resolved accessible name for the primary action button — written to
167
+ * the inner primary button's `aria-label` on render. AccName 1.2 §4.3.1
168
+ * precedence: host `aria-labelledby` (resolved IDREFs, flattened) >
169
+ * host `aria-label` > deprecated `accessible-label` (with devWarn) >
170
+ * `label` property > slotted text content (no aria-label set when this
171
+ * branch is taken so AT walks the inner content for the name).
172
+ * @internal
173
+ */
174
+ private _resolvedPrimaryLabel;
175
+ /** @internal */
176
+ private _ariaMirror;
177
+ /** @internal */
178
+ private _rovingIndex;
179
+ /** @internal */
180
+ private _typeaheadBuffer;
181
+ /** @internal */
182
+ private _typeaheadTimer;
141
183
  connectedCallback(): void;
142
184
  disconnectedCallback(): void;
185
+ willUpdate(changedProperties: PropertyValues<this>): void;
186
+ /**
187
+ * Resolve the primary button's accessible name from host attributes
188
+ * and (deprecated) properties. See `_resolvedPrimaryLabel` jsdoc for
189
+ * precedence rules.
190
+ * @internal
191
+ */
192
+ private _syncResolvedPrimaryLabel;
193
+ /** @internal */
194
+ private _deprecatedAccessibleLabelWarned;
143
195
  /** @internal */
144
196
  private readonly _handleOutsideClick;
145
197
  /** @internal */
@@ -155,7 +207,42 @@ export declare class HelixSplitButton extends HelixElement {
155
207
  /** @internal */
156
208
  private _handleMenuKeydown;
157
209
  /** @internal */
210
+ private _focusMenuItem;
211
+ /**
212
+ * Roving tabindex: only the focused item carries tabindex=0; the rest
213
+ * are tabindex=-1. Tab from the panel exits the menu via document
214
+ * keydown (line ~_handleDocumentKeydown), so the closing-Tab path
215
+ * remains correct.
216
+ * @internal
217
+ */
218
+ private _applyRovingTabIndex;
219
+ /** @internal */
220
+ private _handleTypeahead;
221
+ /** @internal */
158
222
  private _handleMenuItemSelect;
223
+ /**
224
+ * Bubbled `hx-item-submenu-open` from a slotted `hx-menu-item` host.
225
+ * Codex push-gate round-9 P1: when slotted `hx-menu-item`s open / close
226
+ * a nested submenu inside this menu panel (no enclosing `hx-menu`), the
227
+ * events fly past with no handler. Match the round-4
228
+ * `hx-menu._handleSubmenuOpen` shape so APG behaviour holds. Defer to
229
+ * an inner `hx-menu` when present (it owns the toggle). Otherwise this
230
+ * panel is the enclosing menu surface — call `setSubmenuOpen(true)` on
231
+ * the dispatching item and focus its first nested child.
232
+ * @internal
233
+ */
234
+ private _handleMenuSubmenuOpen;
235
+ /**
236
+ * Bubbled `hx-item-submenu-close` from a slotted `hx-menu-item` host.
237
+ * Codex push-gate round-9 P1: when an inner `hx-menu` (a nested
238
+ * submenu) handles its own close, the event still bubbles through this
239
+ * panel — defer in that case so the panel stays open. When the
240
+ * dispatching item is top-level inside this panel (no enclosing
241
+ * `hx-menu`), there is no parent submenu to collapse, so close the
242
+ * composite's menu and return focus to the trigger button.
243
+ * @internal
244
+ */
245
+ private _handleMenuSubmenuClose;
159
246
  /** @internal */
160
247
  private _openMenu;
161
248
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"hx-split-button.d.ts","sourceRoot":"","sources":["../../../src/components/hx-split-button/hx-split-button.ts"],"names":[],"mappings":"AACA,OAAO,4CAA4C,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAOpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,qBACa,gBAAiB,SAAQ,YAAY;IAChD,OAAgB,MAAM,4BAAqD;IAI3E;;;OAGG;IAEH,OAAO,CAAC,UAAU,CAA0B;IAE5C;;;OAGG;IAEH,OAAO,CAAC,cAAc,CAAgC;IAItD;;;OAGG;IACM,OAAO,CAAC,KAAK,CAAS;IAI/B;;;OAGG;IAEH,OAAO,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAa;IAE3F;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC;;;;OAIG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAa;IAEtC;;;;;;;;;;OAUG;IAEH,eAAe,SAAM;IAErB;;;OAGG;IAEH,YAAY,SAAkB;IAE9B;;;OAGG;IAEH,SAAS,SAAuB;IAIhC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAIjD,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAQrC,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAMlC;IAEF,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAKrC;IAIF,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAoB3B,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAU7B,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAW3B,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAU7B,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IA0C1B,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAwB7B,gBAAgB;IAChB,OAAO,CAAC,SAAS;IAYjB,gBAAgB;IAChB,OAAO,CAAC,UAAU;IAIlB,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAQnB;;;;;OAKG;IACH,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAcZ,MAAM;CA+EhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,gBAAgB,CAAC;KACrC;CACF"}
1
+ {"version":3,"file":"hx-split-button.d.ts","sourceRoot":"","sources":["../../../src/components/hx-split-button/hx-split-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAgBpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8FG;AACH,qBACa,gBAAiB,SAAQ,YAAY;IAChD,OAAgB,MAAM,4BAAqD;IAI3E;;;OAGG;IAEH,OAAO,CAAC,UAAU,CAA0B;IAE5C;;;OAGG;IAEH,OAAO,CAAC,cAAc,CAAgC;IAItD;;;OAGG;IACM,OAAO,CAAC,KAAK,CAAS;IAI/B;;;OAGG;IAEH,OAAO,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAa;IAE3F;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC;;;;OAIG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAa;IAEtC;;;;;;;;;;;;OAYG;IAEH,eAAe,SAAM;IAErB;;;OAGG;IAEH,YAAY,SAAkB;IAE9B;;;OAGG;IAEH,SAAS,SAAuB;IAIhC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAI1D;;;;;;;;OAQG;IACM,OAAO,CAAC,qBAAqB,CAAuB;IAE7D,gBAAgB;IAChB,OAAO,CAAC,WAAW,CAAsC;IAIzD,gBAAgB;IAChB,OAAO,CAAC,YAAY,CAAM;IAE1B,gBAAgB;IAChB,OAAO,CAAC,gBAAgB,CAAM;IAE9B,gBAAgB;IAChB,OAAO,CAAC,eAAe,CAA8C;IAI5D,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAY5B,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOlE;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IA8CjC,gBAAgB;IAChB,OAAO,CAAC,gCAAgC,CAAS;IAIjD,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAMlC;IAEF,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAKrC;IAIF,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAoB3B,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAU7B,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAW3B,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAU7B,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAiD1B,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAMtB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAM5B,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAwBxB,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAsB7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,sBAAsB,CAsB5B;IAEF;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB,CAS7B;IAIF,gBAAgB;IAChB,OAAO,CAAC,SAAS;IAgBjB,gBAAgB;IAChB,OAAO,CAAC,UAAU;IAIlB,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAQnB;;;;;OAKG;IACH,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAcZ,MAAM;CAiFhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,gBAAgB,CAAC;KACrC;CACF"}
@@ -1,4 +1,4 @@
1
- import { H as e } from "../../shared/hx-split-button-Djnc5Aeg.js";
1
+ import { H as e } from "../../shared/hx-split-button-BoABoEm5.js";
2
2
  export {
3
3
  e as HelixSplitButton
4
4
  };
@@ -5,6 +5,13 @@ export type StatTrend = 'up' | 'down' | 'neutral';
5
5
  /**
6
6
  * A static stat display component for presenting key metrics in a healthcare dashboard.
7
7
  *
8
+ * Group 7 host-canonical: `role="group"` lives on the **host** via
9
+ * `_internals.role`. The host carries the resolved accessible name so AT
10
+ * walks `<hx-stat>` (role=group, label="value: label") directly. The
11
+ * internal `aria-live="polite"` announcer remains in the shadow tree —
12
+ * `role="group"` does NOT imply a live region, so the announcer is required
13
+ * for value/label/trend update announcements.
14
+ *
8
15
  * @summary Displays a labeled metric value with optional trend indicator and icon slot.
9
16
  *
10
17
  * @tag hx-stat
@@ -63,6 +70,12 @@ export type StatTrend = 'up' | 'down' | 'neutral';
63
70
  */
64
71
  export declare class HelixStat extends HelixElement {
65
72
  static styles: import('lit').CSSResult[];
73
+ /**
74
+ * Test seam (Group 7 host-canonical migration): see other Group 7 components.
75
+ * Production code MUST NOT touch this field.
76
+ * @internal
77
+ */
78
+ static __testSupportsIdrefRefsOverride: boolean | null;
66
79
  /**
67
80
  * The metric label displayed below the value.
68
81
  * @attr label
@@ -90,8 +103,23 @@ export declare class HelixStat extends HelixElement {
90
103
  labelTrend: string;
91
104
  /** @internal tracks whether the "unnamed" devWarn has already fired this lifecycle */
92
105
  private _hasWarnedUnnamed;
106
+ /** @internal */
107
+ private _supportsIdrefRefs;
108
+ /** @internal */
109
+ private _ariaMirror;
110
+ /** @internal */
111
+ private _resolvedAccessibleName;
93
112
  connectedCallback(): void;
113
+ disconnectedCallback(): void;
94
114
  updated(changedProperties: PropertyValues<this>): void;
115
+ /**
116
+ * Mirror group semantics onto the host. The default group label is
117
+ * `${value}: ${label}` (matching the prior inner-div behaviour). Consumer
118
+ * `aria-label` / `aria-labelledby` on the host take precedence per AccName
119
+ * 1.2 §4.3.1.
120
+ * @internal
121
+ */
122
+ private _syncHostAriaSemantics;
95
123
  /** @internal */
96
124
  private _hasIcon;
97
125
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"hx-stat.d.ts","sourceRoot":"","sources":["../../../src/components/hx-stat/hx-stat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC1C,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,qBACa,SAAU,SAAQ,YAAY;IACzC,OAAgB,MAAM,4BAA0C;IAEhE;;;OAGG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAa;IAE7C;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC;;;OAGG;IACqC,UAAU,SAAW;IAE7D,sFAAsF;IACtF,OAAO,CAAC,iBAAiB,CAAS;IAIzB,iBAAiB,IAAI,IAAI;IAWzB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAmB/D,gBAAgB;IACP,OAAO,CAAC,QAAQ,CAAS;IAElC,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAOzB,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAyChB,MAAM;CAsDhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,SAAS,CAAC;KACtB;CACF"}
1
+ {"version":3,"file":"hx-stat.d.ts","sourceRoot":"","sources":["../../../src/components/hx-stat/hx-stat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAWnD,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC1C,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,qBACa,SAAU,SAAQ,YAAY;IACzC,OAAgB,MAAM,4BAA0C;IAEhE;;;;OAIG;IACH,MAAM,CAAC,+BAA+B,EAAE,OAAO,GAAG,IAAI,CAAQ;IAE9D;;;OAGG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAa;IAE7C;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC;;;OAGG;IACqC,UAAU,SAAW;IAE7D,sFAAsF;IACtF,OAAO,CAAC,iBAAiB,CAAS;IAIlC,gBAAgB;IAChB,OAAO,CAAC,kBAAkB,CAAQ;IAElC,gBAAgB;IAChB,OAAO,CAAC,WAAW,CAAsC;IAEzD,gBAAgB;IAChB,OAAO,CAAC,uBAAuB,CAAM;IAI5B,iBAAiB,IAAI,IAAI;IAqBzB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IA0B/D;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAkE9B,gBAAgB;IACP,OAAO,CAAC,QAAQ,CAAS;IAElC,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAOzB,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAyChB,MAAM;CA0DhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,SAAS,CAAC;KACtB;CACF"}
@@ -1,4 +1,4 @@
1
- import { H as e } from "../../shared/hx-stat-WOcNV1Ry.js";
1
+ import { H as e } from "../../shared/hx-stat-Dtf9lz-O.js";
2
2
  export {
3
3
  e as HelixStat
4
4
  };
@@ -136,7 +136,69 @@ export declare class HelixSwitch extends HelixSwitch_base {
136
136
  * @attr required-message
137
137
  */
138
138
  requiredMessage: string;
139
+ /**
140
+ * Handle for the shared IDREF observer. Installed in `connectedCallback()`
141
+ * so late-mutated `aria-labelledby`/`aria-describedby` and late-inserted
142
+ * IDREF targets are picked up. See `installAriaIdrefMirror()`.
143
+ * @internal
144
+ */
145
+ private _ariaMirror;
146
+ /**
147
+ * No-IDL-ref fallback tokens applied to the inner button so consumer
148
+ * labelling resolves through the shadow root. Tracked as reactive state
149
+ * so values flow through the next `render()`.
150
+ * @internal
151
+ */
152
+ private _fallbackAriaLabelledBy;
153
+ /** @internal */
154
+ private _fallbackAriaDescribedBy;
155
+ /** @internal */
156
+ private _fallbackAriaLabel;
157
+ /**
158
+ * Whether the platform supports IDL element references on `ElementInternals`.
159
+ * Drives the render-time branch between the modern path (host is the
160
+ * announced surface, inner button is `aria-hidden + tabindex=-1`) and the
161
+ * fallback path (inner button is the announced surface, host is demoted).
162
+ * Codex round-2 finding #2.
163
+ * @internal
164
+ */
165
+ private _supportsIdrefRefs;
166
+ /**
167
+ * Tracks whether the host's `tabindex` is managed by the component itself
168
+ * (vs. set explicitly by a consumer). Codex round-14 P2: a consumer-supplied
169
+ * `tabindex` (e.g. roving-tabindex toolbar pattern with `tabindex="-1"`)
170
+ * must survive disabled flips and re-renders. Only re-assert tabindex in
171
+ * `updated()` when the component originally claimed it.
172
+ * @internal
173
+ */
174
+ private _internalTabindexManaged;
175
+ connectedCallback(): void;
176
+ disconnectedCallback(): void;
177
+ /**
178
+ * Host-level keydown handler. Active only on the modern path; on the
179
+ * no-IDL-ref fallback the inner `<button>` owns native activation.
180
+ * Codex round-2 finding #2.
181
+ * @internal
182
+ */
183
+ private _handleHostKeyDown;
184
+ /**
185
+ * Host-level click handler. Active only on the modern path; on the
186
+ * fallback path AT activation flows directly to the inner button.
187
+ * Codex round-2 finding #2.
188
+ * @internal
189
+ */
190
+ private _handleHostClick;
139
191
  updated(changedProperties: PropertyValues<this>): void;
192
+ /**
193
+ * Mirrors switch semantics onto the host via ElementInternals so that
194
+ * consumer-supplied `aria-label`, `aria-labelledby`, and `aria-describedby`
195
+ * on `<hx-switch>` reach the announced control. The codex aria-group-2
196
+ * finding identified that the inner shadow `<button role=switch>` was the
197
+ * only carrier of switch semantics, leaving host-level IDREF tokens stranded
198
+ * on the wrong side of the shadow boundary.
199
+ * @internal
200
+ */
201
+ private _syncHostAriaSemantics;
140
202
  /** Recalculates and sets the validity state based on required and checked. */
141
203
  /** @internal */
142
204
  _updateValidity(): void;
@@ -152,12 +214,18 @@ export declare class HelixSwitch extends HelixSwitch_base {
152
214
  /** Whether the default slot has assigned content (slotted label). */
153
215
  /** @internal */
154
216
  private _hasDefaultSlot;
217
+ /** Whether the help-text slot has assigned content. */
218
+ /** @internal */
219
+ private _hasHelpTextSlot;
155
220
  /** Updates _hasErrorSlot when error slot content changes. */
156
221
  /** @internal */
157
222
  private _handleErrorSlotChange;
158
223
  /** Updates _hasDefaultSlot when default slot content changes. */
159
224
  /** @internal */
160
225
  private _handleDefaultSlotChange;
226
+ /** Updates _hasHelpTextSlot when help-text slot content changes. */
227
+ /** @internal */
228
+ private _handleHelpTextSlotChange;
161
229
  /** Toggles checked state and dispatches hx-change event. */
162
230
  /** @internal */
163
231
  private _toggle;
@@ -167,7 +235,16 @@ export declare class HelixSwitch extends HelixSwitch_base {
167
235
  /** Handles keydown events — Space toggles the switch per ARIA APG. */
168
236
  /** @internal */
169
237
  private _handleKeyDown;
170
- /** Moves focus to the switch track element. */
238
+ /**
239
+ * Moves focus to the announced switch surface. Codex round-1 finding #1
240
+ * relocated the focus target to the host so AT announces a single widget;
241
+ * the host carries the canonical role/state on modern engines. Round-7
242
+ * finding #7 extends that contract to the no-IDL-ref fallback: when the
243
+ * host is demoted (`tabindex=-1`, role/state cleared on `internals`) the
244
+ * inner `<button role=switch>` owns the announced semantics and tab order,
245
+ * so programmatic `focus()` must redirect there — otherwise scripted focus
246
+ * and error recovery land on the demoted host on unsupported engines.
247
+ */
171
248
  focus(options?: FocusOptions): void;
172
249
  /** Unique ID for this switch instance, used for ARIA associations. */
173
250
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"hx-switch.d.ts","sourceRoot":"","sources":["../../../src/components/hx-switch/hx-switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAOpE,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,qBACa,WAAY,SAAQ,gBAAuB;IACtD,OAAgB,MAAM,4BAA0C;IAIhE,gBAAgB;IAChB,OAAgB,cAAc,UAAQ;IAItC;;;OAGG;IAEH,OAAO,UAAS;IAEhB;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,IAAI,SAAM;IAEV;;;OAGG;IAEH,KAAK,SAAQ;IAEb;;;OAGG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC;;;OAGG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,QAAQ,SAAM;IAEd;;;OAGG;IAEH,eAAe,SAA6B;IAInC,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAS/D,8EAA8E;IAC9E,gBAAgB;IACP,eAAe,IAAI,IAAI;cAYb,YAAY,IAAI,IAAI;cAMpB,mBAAmB,CACpC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,EACtC,KAAK,EAAE,SAAS,GAAG,cAAc,GAChC,IAAI;cAMY,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI3D;OACG;IAEH,OAAO,CAAC,QAAQ,CAAuC;IAEvD,mDAAmD;IACnD,gBAAgB;IACP,OAAO,CAAC,aAAa,CAAS;IAEvC,qEAAqE;IACrE,gBAAgB;IACP,OAAO,CAAC,eAAe,CAAS;IAIzC,6DAA6D;IAC7D,gBAAgB;IAChB,OAAO,CAAC,sBAAsB;IAK9B,iEAAiE;IACjE,gBAAgB;IAChB,OAAO,CAAC,wBAAwB;IAOhC,4DAA4D;IAC5D,gBAAgB;IAChB,OAAO,CAAC,OAAO;IAcf,yCAAyC;IACzC,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAIpB,sEAAsE;IACtE,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAStB,+CAA+C;IACtC,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAM5C,sEAAsE;IACtE,gBAAgB;IAChB,OAAO,CAAC,SAAS,CAAmB;IACpC,+DAA+D;IAC/D,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAA6B;IAC7C,oEAAoE;IACpE,gBAAgB;IAChB,OAAO,CAAC,WAAW,CAA4B;IAC/C,gEAAgE;IAChE,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAA6B;IAEpC,MAAM;CAmEhB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,WAAW,CAAC;KAC1B;CACF;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"hx-switch.d.ts","sourceRoot":"","sources":["../../../src/components/hx-switch/hx-switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAapE,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,qBACa,WAAY,SAAQ,gBAAuB;IACtD,OAAgB,MAAM,4BAA0C;IAIhE,gBAAgB;IAChB,OAAgB,cAAc,UAAQ;IAItC;;;OAGG;IAEH,OAAO,UAAS;IAEhB;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,IAAI,SAAM;IAEV;;;OAGG;IAEH,KAAK,SAAQ;IAEb;;;OAGG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC;;;OAGG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,QAAQ,SAAM;IAEd;;;OAGG;IAEH,eAAe,SAA6B;IAE5C;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAAsC;IAEzD;;;;;OAKG;IACM,OAAO,CAAC,uBAAuB,CAAuB;IAC/D,gBAAgB;IACP,OAAO,CAAC,wBAAwB,CAAuB;IAChE,gBAAgB;IACP,OAAO,CAAC,kBAAkB,CAAuB;IAE1D;;;;;;;OAOG;IACM,OAAO,CAAC,kBAAkB,CAAQ;IAE3C;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB,CAAS;IAIhC,iBAAiB,IAAI,IAAI;IAgCzB,oBAAoB,IAAI,IAAI;IAQrC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAQxB;IAEF;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB,CAMtB;IAEO,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IA0B/D;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;IA4F9B,8EAA8E;IAC9E,gBAAgB;IACP,eAAe,IAAI,IAAI;cAyBb,YAAY,IAAI,IAAI;cAMpB,mBAAmB,CACpC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,EACtC,KAAK,EAAE,SAAS,GAAG,cAAc,GAChC,IAAI;cAMY,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI3D;OACG;IAEH,OAAO,CAAC,QAAQ,CAAuC;IAEvD,mDAAmD;IACnD,gBAAgB;IACP,OAAO,CAAC,aAAa,CAAS;IAEvC,qEAAqE;IACrE,gBAAgB;IACP,OAAO,CAAC,eAAe,CAAS;IAEzC,uDAAuD;IACvD,gBAAgB;IACP,OAAO,CAAC,gBAAgB,CAAS;IAI1C,6DAA6D;IAC7D,gBAAgB;IAChB,OAAO,CAAC,sBAAsB;IAK9B,iEAAiE;IACjE,gBAAgB;IAChB,OAAO,CAAC,wBAAwB;IAKhC,oEAAoE;IACpE,gBAAgB;IAChB,OAAO,CAAC,yBAAyB;IAOjC,4DAA4D;IAC5D,gBAAgB;IAChB,OAAO,CAAC,OAAO;IAcf,yCAAyC;IACzC,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAYpB,sEAAsE;IACtE,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAStB;;;;;;;;;OASG;IACM,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAU5C,sEAAsE;IACtE,gBAAgB;IAChB,OAAO,CAAC,SAAS,CAAmB;IACpC,+DAA+D;IAC/D,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAA6B;IAC7C,oEAAoE;IACpE,gBAAgB;IAChB,OAAO,CAAC,WAAW,CAA4B;IAC/C,gEAAgE;IAChE,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAA6B;IAEpC,MAAM;CA+HhB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,WAAW,CAAC;KAC1B;CACF;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hx-switch.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-switch/hx-switch.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,yBA4O7B,CAAC"}
1
+ {"version":3,"file":"hx-switch.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-switch/hx-switch.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,yBA6P7B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { H as o } from "../../shared/hx-switch-BrZFaRue.js";
1
+ import { H as o } from "../../shared/hx-switch-B6kr-EwE.js";
2
2
  export {
3
3
  o as HelixSwitch
4
4
  };
@@ -1,7 +1,13 @@
1
+ import { PropertyValues } from 'lit';
1
2
  import { HelixElement } from '../../base/index.js';
2
3
  /**
3
4
  * Semantic table data cell. Must be a child of `hx-tr`.
4
5
  *
6
+ * Group 7 host-canonical: `role="cell"` lives on the **host** via
7
+ * `_internals.role`. The host carries the cell's accessible name (resolved
8
+ * from the `label` property — fixing audit B-A1, where mobile screen reader
9
+ * users lost column context because `data-label` was visual-only).
10
+ *
5
11
  * @summary Table data cell (`<td>`) for use inside `hx-tr`.
6
12
  *
7
13
  * @tag hx-td
@@ -14,6 +20,12 @@ import { HelixElement } from '../../base/index.js';
14
20
  */
15
21
  export declare class HelixTableCell extends HelixElement {
16
22
  static styles: import('lit').CSSResult[];
23
+ /**
24
+ * Test seam (Group 7 host-canonical migration): see other Group 7 components.
25
+ * Production code MUST NOT touch this field.
26
+ * @internal
27
+ */
28
+ static __testSupportsIdrefRefsOverride: boolean | null;
17
29
  /**
18
30
  * Horizontal alignment for cell content.
19
31
  * @attr align
@@ -30,12 +42,27 @@ export declare class HelixTableCell extends HelixElement {
30
42
  */
31
43
  rowspan: number;
32
44
  /**
33
- * Column header label for this cell. Forwarded as `data-label` on the native `<td>` for
34
- * the mobile card layout (`td::before { content: attr(data-label) }`) and as `aria-label`
35
- * so screen readers identify the column when the header row is hidden.
45
+ * Column header label for this cell. Forwarded as `data-label` on the native
46
+ * `<td>` for the mobile card layout (`td::before { content: attr(data-label) }`)
47
+ * AND projected to `aria-label` so screen readers identify the column when
48
+ * the header row is hidden via the mobile breakpoint. Group 7 audit B-A1
49
+ * fix: prior to migration, the JSDoc claimed aria-label projection but the
50
+ * implementation only set `data-label` — `::before { content: attr(...) }`
51
+ * is not reliably announced by VoiceOver / NVDA across versions.
36
52
  * @attr label
37
53
  */
38
54
  label: string;
55
+ /** @internal */
56
+ private _supportsIdrefRefs;
57
+ /** @internal */
58
+ private _ariaMirror;
59
+ /** @internal */
60
+ private _resolvedAccessibleName;
61
+ connectedCallback(): void;
62
+ disconnectedCallback(): void;
63
+ updated(changed: PropertyValues<this>): void;
64
+ /** @internal */
65
+ private _syncHostAriaSemantics;
39
66
  render(): import('lit').TemplateResult<1>;
40
67
  }
41
68
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"hx-td.d.ts","sourceRoot":"","sources":["../../../src/components/hx-table/hx-td.ts"],"names":[],"mappings":"AACA,OAAO,4CAA4C,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,qBACa,cAAe,SAAQ,YAAY;IAC9C,OAAgB,MAAM,4BAqDpB;IAEF;;;OAGG;IAEH,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAU;IAE5C;;;OAGG;IAEH,OAAO,SAAK;IAEZ;;;OAGG;IAEH,OAAO,SAAK;IAEZ;;;;;OAKG;IAEH,KAAK,SAAM;IAEF,MAAM;CAahB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,OAAO,EAAE,cAAc,CAAC;KACzB;CACF"}
1
+ {"version":3,"file":"hx-td.d.ts","sourceRoot":"","sources":["../../../src/components/hx-table/hx-td.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACrD,OAAO,4CAA4C,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASnD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,cAAe,SAAQ,YAAY;IAC9C,OAAgB,MAAM,4BAkEpB;IAEF;;;;OAIG;IACH,MAAM,CAAC,+BAA+B,EAAE,OAAO,GAAG,IAAI,CAAQ;IAE9D;;;OAGG;IAEH,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAU;IAE5C;;;OAGG;IAEH,OAAO,SAAK;IAEZ;;;OAGG;IAEH,OAAO,SAAK;IAEZ;;;;;;;;;OASG;IAEH,KAAK,SAAM;IAIX,gBAAgB;IAChB,OAAO,CAAC,kBAAkB,CAAQ;IAElC,gBAAgB;IAChB,OAAO,CAAC,WAAW,CAAsC;IAEzD,gBAAgB;IAChB,OAAO,CAAC,uBAAuB,CAAM;IAE5B,iBAAiB,IAAI,IAAI;IAazB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOrD,gBAAgB;IAChB,OAAO,CAAC,sBAAsB;IAgErB,MAAM;CAmBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,OAAO,EAAE,cAAc,CAAC;KACzB;CACF"}
@@ -1,3 +1,4 @@
1
+ import { PropertyValues } from 'lit';
1
2
  import { HelixElement } from '../../base/index.js';
2
3
  /**
3
4
  * Detail type for `hx-sort` events dispatched from `hx-th`.
@@ -9,6 +10,12 @@ export interface HxTableSortDetail {
9
10
  * Semantic table header cell. Must be a child of `hx-tr`.
10
11
  * Supports sortable columns with accessible sort state.
11
12
  *
13
+ * Group 7 host-canonical: `role="columnheader"` lives on the **host** via
14
+ * `_internals.role`. The host carries `aria-sort` reflecting the current
15
+ * sort direction (when `sortable` is true). The sort `<button>` aria-label
16
+ * incorporates the slotted column text so AT users hear "Sort by Patient
17
+ * name, currently sorted ascending" rather than just "Sort ascending".
18
+ *
12
19
  * @summary Table header cell (`<th>`) with optional sort support.
13
20
  *
14
21
  * @tag hx-th
@@ -22,6 +29,12 @@ export interface HxTableSortDetail {
22
29
  */
23
30
  export declare class HelixTableHeader extends HelixElement {
24
31
  static styles: import('lit').CSSResult[];
32
+ /**
33
+ * Test seam (Group 7 host-canonical migration): see other Group 7 components.
34
+ * Production code MUST NOT touch this field.
35
+ * @internal
36
+ */
37
+ static __testSupportsIdrefRefsOverride: boolean | null;
25
38
  /**
26
39
  * When true, the header renders a sort button and emits `hx-sort` on activation.
27
40
  * @attr sortable
@@ -48,13 +61,36 @@ export declare class HelixTableHeader extends HelixElement {
48
61
  */
49
62
  rowspan: number;
50
63
  /** @internal */
64
+ private _slotText;
65
+ /** @internal */
66
+ private _supportsIdrefRefs;
67
+ /** @internal */
68
+ private _ariaMirror;
69
+ connectedCallback(): void;
70
+ disconnectedCallback(): void;
71
+ updated(changed: PropertyValues<this>): void;
72
+ /** @internal */
73
+ private _onSlotChange;
74
+ /** @internal */
75
+ private _syncHostAriaSemantics;
76
+ /** @internal */
51
77
  private _handleSort;
52
78
  /** @internal */
53
- private _renderSortIcon;
79
+ protected _renderSortIcon(): import('lit').TemplateResult<1>;
54
80
  /** @internal */
55
- private _ariaSort;
81
+ private _ariaSortValue;
56
82
  /** @internal */
57
- private _sortLabel;
83
+ private _ariaSortAttr;
84
+ /**
85
+ * Build the sort button's aria-label. Includes the slotted column text
86
+ * when available so a blind user pressing Tab through 5 sortable columns
87
+ * hears "Sort by Patient name, currently sorted ascending" instead of
88
+ * just "Sort. Sort. Sort." (audit B-A2-style label disambiguation).
89
+ * Promoted to `protected` so subclasses can override the i18n surface
90
+ * without re-implementing the full sort cycle.
91
+ * @internal
92
+ */
93
+ protected _sortLabel(): string;
58
94
  render(): import('lit').TemplateResult<1>;
59
95
  }
60
96
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"hx-th.d.ts","sourceRoot":"","sources":["../../../src/components/hx-table/hx-th.ts"],"names":[],"mappings":"AACA,OAAO,4CAA4C,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,qBACa,gBAAiB,SAAQ,YAAY;IAChD,OAAgB,MAAM,4BAwGpB;IAEF;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAU;IAEhD;;;OAGG;IAEH,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,CAAS;IAEvD;;;OAGG;IAEH,OAAO,SAAK;IAEZ;;;OAGG;IAEH,OAAO,SAAK;IAIZ,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAcnB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAyBvB,gBAAgB;IAChB,OAAO,CAAC,SAAS;IAOjB,gBAAgB;IAChB,OAAO,CAAC,UAAU;IAMT,MAAM;CAqBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,OAAO,EAAE,gBAAgB,CAAC;KAC3B;CACF"}
1
+ {"version":3,"file":"hx-th.d.ts","sourceRoot":"","sources":["../../../src/components/hx-table/hx-th.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAC9D,OAAO,4CAA4C,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASnD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,gBAAiB,SAAQ,YAAY;IAChD,OAAgB,MAAM,4BA0HpB;IAEF;;;;OAIG;IACH,MAAM,CAAC,+BAA+B,EAAE,OAAO,GAAG,IAAI,CAAQ;IAE9D;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAU;IAEhD;;;OAGG;IAEH,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,CAAS;IAEvD;;;OAGG;IAEH,OAAO,SAAK;IAEZ;;;OAGG;IAEH,OAAO,SAAK;IAEZ,gBAAgB;IACP,OAAO,CAAC,SAAS,CAAM;IAIhC,gBAAgB;IAChB,OAAO,CAAC,kBAAkB,CAAQ;IAElC,gBAAgB;IAChB,OAAO,CAAC,WAAW,CAAsC;IAIhD,iBAAiB,IAAI,IAAI;IAazB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOrD,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAcrB,gBAAgB;IAChB,OAAO,CAAC,sBAAsB;IA+C9B,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAcnB,gBAAgB;IAChB,SAAS,CAAC,eAAe;IAyBzB,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAOtB,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAKrB;;;;;;;;OAQG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM;IAgBrB,MAAM;CAyBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,OAAO,EAAE,gBAAgB,CAAC;KAC3B;CACF"}
@@ -1,8 +1,17 @@
1
+ import { PropertyValues } from 'lit';
1
2
  import { HelixElement } from '../../base/index.js';
2
3
  /**
3
4
  * Semantic table row. Must be a child of `hx-thead`, `hx-tbody`, or `hx-tfoot`.
4
5
  * Contains `hx-th` or `hx-td` cells.
5
6
  *
7
+ * Group 7 host-canonical: `role="row"` lives on the **host** via
8
+ * `_internals.role`. The host carries `aria-selected` / `aria-disabled`
9
+ * mirroring `selected` / `disabled` reflected attributes. Consumer-supplied
10
+ * `aria-label` / `aria-labelledby` on the host project to the host's
11
+ * announced surface so AT walks `<hx-tr>` (role=row) directly. Fallback
12
+ * path keeps the inner `<tr role="row">` as the announced surface for
13
+ * engines without IDL element references.
14
+ *
6
15
  * @summary Table row (`<tr>`) for use inside `hx-thead`, `hx-tbody`, or `hx-tfoot`.
7
16
  *
8
17
  * @tag hx-tr
@@ -13,6 +22,12 @@ import { HelixElement } from '../../base/index.js';
13
22
  */
14
23
  export declare class HelixTableRow extends HelixElement {
15
24
  static styles: import('lit').CSSResult[];
25
+ /**
26
+ * Test seam (Group 7 host-canonical migration): see other Group 7 components.
27
+ * Production code MUST NOT touch this field.
28
+ * @internal
29
+ */
30
+ static __testSupportsIdrefRefsOverride: boolean | null;
16
31
  /**
17
32
  * When true, marks the row as selected and applies selected styling.
18
33
  * @attr selected
@@ -23,6 +38,17 @@ export declare class HelixTableRow extends HelixElement {
23
38
  * @attr disabled
24
39
  */
25
40
  disabled: boolean;
41
+ /** @internal */
42
+ private _supportsIdrefRefs;
43
+ /** @internal */
44
+ private _ariaMirror;
45
+ /** @internal */
46
+ private _resolvedAccessibleName;
47
+ connectedCallback(): void;
48
+ disconnectedCallback(): void;
49
+ updated(changed: PropertyValues<this>): void;
50
+ /** @internal */
51
+ private _syncHostAriaSemantics;
26
52
  render(): import('lit').TemplateResult<1>;
27
53
  }
28
54
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"hx-tr.d.ts","sourceRoot":"","sources":["../../../src/components/hx-table/hx-tr.ts"],"names":[],"mappings":"AACA,OAAO,4CAA4C,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;;;;;;GAWG;AACH,qBACa,aAAc,SAAQ,YAAY;IAC7C,OAAgB,MAAM,4BA8BpB;IAEF;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,QAAQ,UAAS;IAER,MAAM;CAYhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,OAAO,EAAE,aAAa,CAAC;KACxB;CACF"}
1
+ {"version":3,"file":"hx-tr.d.ts","sourceRoot":"","sources":["../../../src/components/hx-table/hx-tr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAC9D,OAAO,4CAA4C,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASnD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBACa,aAAc,SAAQ,YAAY;IAC7C,OAAgB,MAAM,4BA8BpB;IAEF;;;;OAIG;IACH,MAAM,CAAC,+BAA+B,EAAE,OAAO,GAAG,IAAI,CAAQ;IAE9D;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,QAAQ,UAAS;IAIjB,gBAAgB;IAChB,OAAO,CAAC,kBAAkB,CAAQ;IAElC,gBAAgB;IAChB,OAAO,CAAC,WAAW,CAAsC;IAEzD,gBAAgB;IAChB,OAAO,CAAC,uBAAuB,CAAM;IAE5B,iBAAiB,IAAI,IAAI;IAazB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOrD,gBAAgB;IAChB,OAAO,CAAC,sBAAsB;IA6DrB,MAAM;CAgBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,OAAO,EAAE,aAAa,CAAC;KACxB;CACF"}
@@ -1,4 +1,4 @@
1
- import { H as l, a as H, b, c as x, d as i, e as s, f as T } from "../../shared/hx-td-DnnEMIuA.js";
1
+ import { H as l, a as H, b, c as x, d as i, e as s, f as T } from "../../shared/hx-td-BGkFOJEK.js";
2
2
  export {
3
3
  l as HelixTable,
4
4
  H as HelixTableBody,
@@ -1,6 +1,13 @@
1
+ import { PropertyValues } from 'lit';
1
2
  import { HelixElement } from '../../base/index.js';
2
3
  /**
3
4
  * A content panel associated with an `<hx-tab>`, managed by a parent `<hx-tabs>`.
5
+ * Group 5a host-canonical: `role="tabpanel"` lives on the host via
6
+ * `_internals.role`. The host carries the canonical AT surface — consumer
7
+ * `aria-labelledby` / `aria-describedby` on the host resolve through the
8
+ * shared IDREF mirror. The parent `hx-tabs` writes `internals.ariaLabelledByElements`
9
+ * referencing the corresponding `<hx-tab>` host so cross-shadow naming works
10
+ * via IDL element references (the modern path) without serializing tab text.
4
11
  *
5
12
  * @summary Tab content panel shown when its corresponding tab is selected.
6
13
  *
@@ -21,7 +28,34 @@ export declare class HelixTabPanel extends HelixElement {
21
28
  * @attr name
22
29
  */
23
30
  name: string;
31
+ /**
32
+ * Element references for the controlling `<hx-tab>` host(s). Set by the
33
+ * parent `<hx-tabs>` via `setLabelledByTabs()` and projected onto
34
+ * `internals.ariaLabelledByElements` so cross-shadow naming via IDL element
35
+ * references resolves to the live tab host without flattening text.
36
+ * @internal
37
+ */
38
+ private _labelledByTabs;
39
+ /**
40
+ * Whether the platform supports IDL element references on `ElementInternals`.
41
+ * @internal
42
+ */
43
+ private _supportsIdrefRefs;
44
+ /** @internal */
45
+ private _ariaMirror;
24
46
  connectedCallback(): void;
47
+ disconnectedCallback(): void;
48
+ updated(changedProperties: PropertyValues<this>): void;
49
+ /**
50
+ * Set by `<hx-tabs>` whenever the tab→panel relationship is recomputed.
51
+ * Drives `internals.ariaLabelledByElements` so AT walks across the shadow
52
+ * boundary to the announcing tab host(s) by element reference rather than
53
+ * IDREF string. Pass an empty array to clear.
54
+ * @internal
55
+ */
56
+ setLabelledByTabs(tabs: Element[]): void;
57
+ /** @internal */
58
+ private _syncHostAriaSemantics;
25
59
  render(): import('lit').TemplateResult<1>;
26
60
  }
27
61
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"hx-tab-panel.d.ts","sourceRoot":"","sources":["../../../src/components/hx-tabs/hx-tab-panel.ts"],"names":[],"mappings":"AACA,OAAO,4CAA4C,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD;;;;;;;;;;;;;;GAcG;AACH,qBACa,aAAc,SAAQ,YAAY;IAC7C,OAAgB,MAAM,4BAAkD;IAIxE;;;OAGG;IAEH,IAAI,SAAM;IAID,iBAAiB,IAAI,IAAI;IASzB,MAAM;CAOhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,aAAa,CAAC;KAC/B;CACF"}
1
+ {"version":3,"file":"hx-tab-panel.d.ts","sourceRoot":"","sources":["../../../src/components/hx-tabs/hx-tab-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,4CAA4C,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAUnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,aAAc,SAAQ,YAAY;IAC7C,OAAgB,MAAM,4BAA4C;IAIlE;;;OAGG;IAEH,IAAI,SAAM;IAIV;;;;;;OAMG;IACH,OAAO,CAAC,eAAe,CAAiB;IAExC;;;OAGG;IACM,OAAO,CAAC,kBAAkB,CAAQ;IAE3C,gBAAgB;IAChB,OAAO,CAAC,WAAW,CAAsC;IAIhD,iBAAiB,IAAI,IAAI;IAYzB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAK/D;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAKxC,gBAAgB;IAChB,OAAO,CAAC,sBAAsB;IA6CrB,MAAM;CAOhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,aAAa,CAAC;KAC/B;CACF"}