@helixui/library 3.3.1-next.118 → 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 (249) hide show
  1. package/custom-elements.json +422 -322
  2. package/dist/components/hx-alert/hx-alert.d.ts +11 -0
  3. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  4. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  5. package/dist/components/hx-alert/index.js +1 -1
  6. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
  7. package/dist/components/hx-badge/index.js +1 -1
  8. package/dist/components/hx-banner/hx-banner.d.ts +9 -1
  9. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  10. package/dist/components/hx-banner/index.js +1 -1
  11. package/dist/components/hx-button/hx-button.d.ts +11 -1
  12. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  13. package/dist/components/hx-button/index.js +1 -1
  14. package/dist/components/hx-button-group/hx-button-group.d.ts +13 -0
  15. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  16. package/dist/components/hx-button-group/index.js +1 -1
  17. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  18. package/dist/components/hx-checkbox/index.js +1 -1
  19. package/dist/components/hx-checkbox-group/index.js +1 -1
  20. package/dist/components/hx-color-picker/index.js +1 -1
  21. package/dist/components/hx-combobox/index.js +1 -1
  22. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  23. package/dist/components/hx-data-table/index.js +1 -1
  24. package/dist/components/hx-date-picker/index.js +1 -1
  25. package/dist/components/hx-dialog/index.js +1 -1
  26. package/dist/components/hx-drawer/hx-drawer.d.ts +201 -0
  27. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  28. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  29. package/dist/components/hx-drawer/index.js +1 -1
  30. package/dist/components/hx-dropdown/hx-dropdown.d.ts +96 -8
  31. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  32. package/dist/components/hx-dropdown/index.js +1 -1
  33. package/dist/components/hx-icon-button/hx-icon-button.d.ts +16 -3
  34. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  35. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  36. package/dist/components/hx-icon-button/index.js +1 -1
  37. package/dist/components/hx-link/hx-link.d.ts +10 -1
  38. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  39. package/dist/components/hx-link/index.js +1 -1
  40. package/dist/components/hx-list/hx-list-item.d.ts +27 -1
  41. package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
  42. package/dist/components/hx-list/hx-list.d.ts +28 -0
  43. package/dist/components/hx-list/hx-list.d.ts.map +1 -1
  44. package/dist/components/hx-list/index.js +1 -1
  45. package/dist/components/hx-menu/hx-menu-divider.d.ts +10 -0
  46. package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -1
  47. package/dist/components/hx-menu/hx-menu-item.d.ts +99 -2
  48. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  49. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  50. package/dist/components/hx-menu/hx-menu.d.ts +117 -2
  51. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  52. package/dist/components/hx-menu/index.js +1 -1
  53. package/dist/components/hx-meter/hx-meter.d.ts +39 -0
  54. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  55. package/dist/components/hx-meter/hx-meter.styles.d.ts.map +1 -1
  56. package/dist/components/hx-meter/index.js +1 -1
  57. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +132 -1
  58. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  59. package/dist/components/hx-overflow-menu/index.js +1 -1
  60. package/dist/components/hx-phi-field/hx-phi-field.d.ts +0 -1
  61. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
  62. package/dist/components/hx-popover/index.js +1 -1
  63. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +33 -0
  64. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  65. package/dist/components/hx-progress-bar/index.js +1 -1
  66. package/dist/components/hx-radio-group/index.js +1 -1
  67. package/dist/components/hx-select/hx-select.d.ts +1 -0
  68. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  69. package/dist/components/hx-select/index.js +1 -1
  70. package/dist/components/hx-spinner/hx-spinner.d.ts +14 -0
  71. package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
  72. package/dist/components/hx-spinner/index.js +1 -1
  73. package/dist/components/hx-split-button/hx-split-button.d.ts +94 -7
  74. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  75. package/dist/components/hx-split-button/index.js +1 -1
  76. package/dist/components/hx-stat/hx-stat.d.ts +28 -0
  77. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  78. package/dist/components/hx-stat/index.js +1 -1
  79. package/dist/components/hx-switch/index.js +1 -1
  80. package/dist/components/hx-table/hx-td.d.ts +30 -3
  81. package/dist/components/hx-table/hx-td.d.ts.map +1 -1
  82. package/dist/components/hx-table/hx-th.d.ts +39 -3
  83. package/dist/components/hx-table/hx-th.d.ts.map +1 -1
  84. package/dist/components/hx-table/hx-tr.d.ts +26 -0
  85. package/dist/components/hx-table/hx-tr.d.ts.map +1 -1
  86. package/dist/components/hx-table/index.js +1 -1
  87. package/dist/components/hx-tabs/hx-tab-panel.d.ts +34 -0
  88. package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -1
  89. package/dist/components/hx-tabs/hx-tab.d.ts +45 -2
  90. package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
  91. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  92. package/dist/components/hx-tabs/hx-tabs.d.ts +32 -2
  93. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  94. package/dist/components/hx-tabs/index.js +1 -1
  95. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  96. package/dist/components/hx-tag/index.js +1 -1
  97. package/dist/components/hx-theme/hx-theme.d.ts +10 -5
  98. package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
  99. package/dist/components/hx-time-picker/hx-time-picker.d.ts +210 -2
  100. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  101. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  102. package/dist/components/hx-time-picker/index.js +1 -1
  103. package/dist/components/hx-toast/hx-toast-stack.d.ts +14 -0
  104. package/dist/components/hx-toast/hx-toast-stack.d.ts.map +1 -1
  105. package/dist/components/hx-toast/hx-toast.d.ts +22 -3
  106. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  107. package/dist/components/hx-toast/index.js +1 -1
  108. package/dist/components/hx-toast/toast-factory.d.ts.map +1 -1
  109. package/dist/components/hx-toggle-button/index.js +1 -1
  110. package/dist/components/hx-tree-view/hx-tree-item.d.ts +117 -12
  111. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  112. package/dist/components/hx-tree-view/hx-tree-view.d.ts +87 -7
  113. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
  114. package/dist/components/hx-tree-view/index.js +1 -1
  115. package/dist/css/helix-all.css +123 -0
  116. package/dist/css/helix-core.css +81 -0
  117. package/dist/css/helix-feedback.css +14 -0
  118. package/dist/css/helix-forms.css +11 -0
  119. package/dist/css/helix-overlay.css +17 -0
  120. package/dist/css/hx-alert.css +9 -0
  121. package/dist/css/hx-badge.css +28 -0
  122. package/dist/css/hx-drawer.css +17 -0
  123. package/dist/css/hx-icon-button.css +30 -0
  124. package/dist/css/hx-meter.css +5 -0
  125. package/dist/css/hx-tag.css +23 -0
  126. package/dist/css/hx-time-picker.css +11 -0
  127. package/dist/css/index.css +1 -1
  128. package/dist/css/manifest.json +3 -1
  129. package/dist/index.js +35 -35
  130. package/dist/shared/aria-idref-CxvyzfQS.js +126 -0
  131. package/dist/shared/aria-idref-CxvyzfQS.js.map +1 -0
  132. package/dist/shared/{hx-alert-CLn7CstP.js → hx-alert-Bto8-TIi.js} +55 -37
  133. package/dist/shared/hx-alert-Bto8-TIi.js.map +1 -0
  134. package/dist/shared/{hx-badge-CQXgOXJM.js → hx-badge-JlFtAdxS.js} +37 -9
  135. package/dist/shared/hx-badge-JlFtAdxS.js.map +1 -0
  136. package/dist/shared/{hx-banner-D3DzpfcP.js → hx-banner-fpRnciIO.js} +13 -5
  137. package/dist/shared/hx-banner-fpRnciIO.js.map +1 -0
  138. package/dist/shared/{hx-button-DPY6SPVT.js → hx-button-BOwAEcF1.js} +108 -85
  139. package/dist/shared/{hx-button-DPY6SPVT.js.map → hx-button-BOwAEcF1.js.map} +1 -1
  140. package/dist/shared/{hx-button-group-BI-QBqmO.js → hx-button-group-DcHP5MBv.js} +15 -16
  141. package/dist/shared/{hx-button-group-BI-QBqmO.js.map → hx-button-group-DcHP5MBv.js.map} +1 -1
  142. package/dist/shared/{hx-checkbox-BdgoUeWi.js → hx-checkbox-C48KYKFq.js} +87 -87
  143. package/dist/shared/hx-checkbox-C48KYKFq.js.map +1 -0
  144. package/dist/shared/{hx-checkbox-group-LWezHrvS.js → hx-checkbox-group-BJIAX3zU.js} +2 -2
  145. package/dist/shared/{hx-checkbox-group-LWezHrvS.js.map → hx-checkbox-group-BJIAX3zU.js.map} +1 -1
  146. package/dist/shared/{hx-color-picker-DVhZl88b.js → hx-color-picker-Dk4cBwYQ.js} +2 -2
  147. package/dist/shared/{hx-color-picker-DVhZl88b.js.map → hx-color-picker-Dk4cBwYQ.js.map} +1 -1
  148. package/dist/shared/{hx-combobox-DvlezcDV.js → hx-combobox-BTLO9qiK.js} +2 -2
  149. package/dist/shared/{hx-combobox-DvlezcDV.js.map → hx-combobox-BTLO9qiK.js.map} +1 -1
  150. package/dist/shared/{hx-data-table-CLqVqdxr.js → hx-data-table-Ct3gQ6ya.js} +3 -2
  151. package/dist/shared/{hx-data-table-CLqVqdxr.js.map → hx-data-table-Ct3gQ6ya.js.map} +1 -1
  152. package/dist/shared/{hx-date-picker-N-0aG5XL.js → hx-date-picker-CiR7FVnR.js} +2 -2
  153. package/dist/shared/{hx-date-picker-N-0aG5XL.js.map → hx-date-picker-CiR7FVnR.js.map} +1 -1
  154. package/dist/shared/{hx-dialog-DzB7VytW.js → hx-dialog-AOZpHSuF.js} +2 -2
  155. package/dist/shared/{hx-dialog-DzB7VytW.js.map → hx-dialog-AOZpHSuF.js.map} +1 -1
  156. package/dist/shared/{hx-drawer-Y1Ui2IWJ.js → hx-drawer-DH6CdAN1.js} +300 -98
  157. package/dist/shared/hx-drawer-DH6CdAN1.js.map +1 -0
  158. package/dist/shared/hx-dropdown-DiLd40Lm.js +401 -0
  159. package/dist/shared/hx-dropdown-DiLd40Lm.js.map +1 -0
  160. package/dist/shared/{hx-icon-button-CGNdQSFM.js → hx-icon-button-a6OpeQz5.js} +149 -68
  161. package/dist/shared/hx-icon-button-a6OpeQz5.js.map +1 -0
  162. package/dist/shared/{hx-link-C-O6vq0Q.js → hx-link-CMnZRUtQ.js} +55 -43
  163. package/dist/shared/hx-link-CMnZRUtQ.js.map +1 -0
  164. package/dist/shared/{hx-list-MyEhh8c7.js → hx-list-De66EtAP.js} +163 -107
  165. package/dist/shared/hx-list-De66EtAP.js.map +1 -0
  166. package/dist/shared/hx-menu-divider-BjiRIWKq.js +797 -0
  167. package/dist/shared/hx-menu-divider-BjiRIWKq.js.map +1 -0
  168. package/dist/shared/{hx-meter-BPscsw5t.js → hx-meter-BJdh6nrF.js} +105 -64
  169. package/dist/shared/hx-meter-BJdh6nrF.js.map +1 -0
  170. package/dist/shared/hx-overflow-menu-BQ4fiMYu.js +492 -0
  171. package/dist/shared/hx-overflow-menu-BQ4fiMYu.js.map +1 -0
  172. package/dist/shared/hx-phi-field-C19oxlrr.js.map +1 -1
  173. package/dist/shared/{hx-popover-CHxWY_cd.js → hx-popover-B9W8-tC0.js} +2 -2
  174. package/dist/shared/{hx-popover-CHxWY_cd.js.map → hx-popover-B9W8-tC0.js.map} +1 -1
  175. package/dist/shared/hx-progress-bar-C8nDMdYa.js +290 -0
  176. package/dist/shared/hx-progress-bar-C8nDMdYa.js.map +1 -0
  177. package/dist/shared/{hx-radio-CeGzARNk.js → hx-radio-Z1lV1zTO.js} +2 -2
  178. package/dist/shared/{hx-radio-CeGzARNk.js.map → hx-radio-Z1lV1zTO.js.map} +1 -1
  179. package/dist/shared/{hx-select-DrcS-YRJ.js → hx-select-D18CnJ0e.js} +2 -2
  180. package/dist/shared/hx-select-D18CnJ0e.js.map +1 -0
  181. package/dist/shared/{hx-spinner-DL5AYr16.js → hx-spinner-BB0h2hKZ.js} +62 -34
  182. package/dist/shared/hx-spinner-BB0h2hKZ.js.map +1 -0
  183. package/dist/shared/{hx-split-button-Djnc5Aeg.js → hx-split-button-BoABoEm5.js} +153 -82
  184. package/dist/shared/hx-split-button-BoABoEm5.js.map +1 -0
  185. package/dist/shared/{hx-stat-WOcNV1Ry.js → hx-stat-Dtf9lz-O.js} +77 -47
  186. package/dist/shared/hx-stat-Dtf9lz-O.js.map +1 -0
  187. package/dist/shared/{hx-switch-BX_8uNUs.js → hx-switch-B6kr-EwE.js} +2 -2
  188. package/dist/shared/{hx-switch-BX_8uNUs.js.map → hx-switch-B6kr-EwE.js.map} +1 -1
  189. package/dist/shared/{hx-tab-panel-DspCrKqo.js → hx-tab-panel-BQtBXKLD.js} +255 -131
  190. package/dist/shared/hx-tab-panel-BQtBXKLD.js.map +1 -0
  191. package/dist/shared/{hx-tag-CNSmdyaK.js → hx-tag-C5aCUpVi.js} +63 -40
  192. package/dist/shared/hx-tag-C5aCUpVi.js.map +1 -0
  193. package/dist/shared/{hx-td-DnnEMIuA.js → hx-td-BGkFOJEK.js} +267 -123
  194. package/dist/shared/hx-td-BGkFOJEK.js.map +1 -0
  195. package/dist/shared/hx-theme-BsefFWTO.js.map +1 -1
  196. package/dist/shared/hx-time-picker-iwCD7rzW.js +1038 -0
  197. package/dist/shared/hx-time-picker-iwCD7rzW.js.map +1 -0
  198. package/dist/shared/{hx-toggle-button-Dcz9IlUm.js → hx-toggle-button-BQ81EDkl.js} +2 -2
  199. package/dist/shared/{hx-toggle-button-Dcz9IlUm.js.map → hx-toggle-button-BQ81EDkl.js.map} +1 -1
  200. package/dist/shared/hx-tree-item-CHrUhuZL.js +925 -0
  201. package/dist/shared/hx-tree-item-CHrUhuZL.js.map +1 -0
  202. package/dist/shared/menu-roving-DmMnzJhn.js +14 -0
  203. package/dist/shared/menu-roving-DmMnzJhn.js.map +1 -0
  204. package/dist/shared/menu-tree-BNM0SYYq.js +42 -0
  205. package/dist/shared/menu-tree-BNM0SYYq.js.map +1 -0
  206. package/dist/shared/{toast-factory-YSznocIV.js → toast-factory-CL2BzdSB.js} +128 -77
  207. package/dist/shared/toast-factory-CL2BzdSB.js.map +1 -0
  208. package/dist/utils/aria-idref.d.ts.map +1 -1
  209. package/dist/utils/menu-label.d.ts +18 -0
  210. package/dist/utils/menu-label.d.ts.map +1 -0
  211. package/dist/utils/menu-roving.d.ts +28 -0
  212. package/dist/utils/menu-roving.d.ts.map +1 -0
  213. package/dist/utils/menu-tree.d.ts +41 -0
  214. package/dist/utils/menu-tree.d.ts.map +1 -0
  215. package/dist/utils/tree-walk.d.ts +53 -0
  216. package/dist/utils/tree-walk.d.ts.map +1 -0
  217. package/figma-inventory.json +69 -20
  218. package/package.json +2 -2
  219. package/dist/shared/aria-idref-Q0yiSR3p.js +0 -104
  220. package/dist/shared/aria-idref-Q0yiSR3p.js.map +0 -1
  221. package/dist/shared/hx-alert-CLn7CstP.js.map +0 -1
  222. package/dist/shared/hx-badge-CQXgOXJM.js.map +0 -1
  223. package/dist/shared/hx-banner-D3DzpfcP.js.map +0 -1
  224. package/dist/shared/hx-checkbox-BdgoUeWi.js.map +0 -1
  225. package/dist/shared/hx-drawer-Y1Ui2IWJ.js.map +0 -1
  226. package/dist/shared/hx-dropdown-DJWlF94E.js +0 -316
  227. package/dist/shared/hx-dropdown-DJWlF94E.js.map +0 -1
  228. package/dist/shared/hx-icon-button-CGNdQSFM.js.map +0 -1
  229. package/dist/shared/hx-link-C-O6vq0Q.js.map +0 -1
  230. package/dist/shared/hx-list-MyEhh8c7.js.map +0 -1
  231. package/dist/shared/hx-menu-divider-C2omnPtj.js +0 -558
  232. package/dist/shared/hx-menu-divider-C2omnPtj.js.map +0 -1
  233. package/dist/shared/hx-meter-BPscsw5t.js.map +0 -1
  234. package/dist/shared/hx-overflow-menu-DCLsdIBy.js +0 -374
  235. package/dist/shared/hx-overflow-menu-DCLsdIBy.js.map +0 -1
  236. package/dist/shared/hx-progress-bar-Bn3JEPUf.js +0 -258
  237. package/dist/shared/hx-progress-bar-Bn3JEPUf.js.map +0 -1
  238. package/dist/shared/hx-select-DrcS-YRJ.js.map +0 -1
  239. package/dist/shared/hx-spinner-DL5AYr16.js.map +0 -1
  240. package/dist/shared/hx-split-button-Djnc5Aeg.js.map +0 -1
  241. package/dist/shared/hx-stat-WOcNV1Ry.js.map +0 -1
  242. package/dist/shared/hx-tab-panel-DspCrKqo.js.map +0 -1
  243. package/dist/shared/hx-tag-CNSmdyaK.js.map +0 -1
  244. package/dist/shared/hx-td-DnnEMIuA.js.map +0 -1
  245. package/dist/shared/hx-time-picker-BoEIZwzv.js +0 -688
  246. package/dist/shared/hx-time-picker-BoEIZwzv.js.map +0 -1
  247. package/dist/shared/hx-tree-item-C2CiWuDE.js +0 -703
  248. package/dist/shared/hx-tree-item-C2CiWuDE.js.map +0 -1
  249. package/dist/shared/toast-factory-YSznocIV.js.map +0 -1
@@ -1,8 +1,24 @@
1
+ import { PropertyValues } from 'lit';
1
2
  import { HelixElement } from '../../base/index.js';
2
3
  /**
3
4
  * A menu container that manages keyboard navigation over a list of menu items.
4
5
  * Use with `hx-menu-item` and `hx-menu-divider`.
5
6
  *
7
+ * Group 5b host-canonical: `role="menu"` lives on the **host** via
8
+ * `_internals.role`. The host carries the announced surface so AT walks
9
+ * `<hx-menu>` (role=menu) → slotted `<hx-menu-item>` (role=menuitem on host)
10
+ * directly without two layers of indirection. Consumer-supplied
11
+ * `aria-label` / `aria-labelledby` on the host are resolved via the shared
12
+ * IDREF mirror; cross-shadow naming uses `ariaLabelledByElements` (modern)
13
+ * with a flattened-string fallback (legacy).
14
+ *
15
+ * Submenu coordination: when an `hx-menu-item` emits `hx-item-submenu-open`
16
+ * or `hx-item-submenu-close`, the parent menu auto-handles the toggle by
17
+ * calling `setSubmenuOpen()` on the item — UNLESS the consumer has called
18
+ * `event.preventDefault()` on the bubbled event, signaling that they own the
19
+ * submenu lifecycle. This matches APG-mandated behaviour while leaving an
20
+ * opt-out for advanced consumers.
21
+ *
6
22
  * @summary Context/action menu with keyboard-navigable items.
7
23
  *
8
24
  * @tag hx-menu
@@ -30,8 +46,10 @@ import { HelixElement } from '../../base/index.js';
30
46
  export declare class HelixMenu extends HelixElement {
31
47
  static styles: import('lit').CSSResult[];
32
48
  /**
33
- * Accessible label for the menu. Rendered as `aria-label` on the inner
34
- * `role="menu"` element when set.
49
+ * Accessible label for the menu. Used as a fallback when no consumer-supplied
50
+ * `aria-label` / `aria-labelledby` is present on the host. On the modern
51
+ * host-canonical path this projects onto `internals.ariaLabel`; on the
52
+ * legacy fallback path it appears as `aria-label` on the inner div.
35
53
  * @attr label
36
54
  */
37
55
  label: string;
@@ -50,7 +68,50 @@ export declare class HelixMenu extends HelixElement {
50
68
  * @internal
51
69
  */
52
70
  private _typeaheadTimer;
71
+ /**
72
+ * Test seam (codex push-gate round-2 finding 1): when set to `true` or
73
+ * `false`, overrides the platform `supportsIdrefElementReferences` probe
74
+ * before `connectedCallback` seeds `_supportsIdrefRefs`. Mirrors the
75
+ * hx-select / hx-menu-item seam — required so tests can deterministically
76
+ * exercise the legacy fallback render branch (where the inner
77
+ * `div[role="menu"]` is the announced surface and must mirror the
78
+ * resolved accessible name).
79
+ *
80
+ * Production code MUST NOT touch this field. It is `static` so the test
81
+ * stub cleanup is global and obvious.
82
+ * @internal
83
+ */
84
+ static __testSupportsIdrefRefsOverride: boolean | null;
85
+ /** @internal */
86
+ private _supportsIdrefRefs;
53
87
  /** @internal */
88
+ private _ariaMirror;
89
+ /**
90
+ * Resolved accessible name for the menu — the single source of truth that
91
+ * both `_syncHostAriaSemantics()` (modern path: writes to
92
+ * `internals.ariaLabel`) and the fallback `render()` branch (legacy path:
93
+ * writes to inner `div[role="menu"]` `aria-label`) read. Recomputed by
94
+ * `_syncHostAriaSemantics()` whenever host aria-* or `label` changes via
95
+ * the shared IDREF mirror. AccName 1.2 §4.3.1 precedence: consumer host
96
+ * `aria-labelledby` (flattened) > consumer host `aria-label` > `label`
97
+ * property > literal "Menu".
98
+ * @internal
99
+ */
100
+ private _resolvedAccessibleName;
101
+ /**
102
+ * Return the menu's enabled, top-level `hx-menu-item` children.
103
+ *
104
+ * Codex push-gate round-6 finding 3: `querySelectorAll('hx-menu-item')`
105
+ * walks the entire descendant tree, which on a parent menuitem
106
+ * includes the slotted nested `<hx-menu>` and ITS items. Treating
107
+ * those as top-level options corrupts roving tabindex, ArrowUp/Down
108
+ * navigation, and typeahead matching (typing the first letter of a
109
+ * grandchild item lands focus there instead of on the next sibling).
110
+ * Restrict to direct children of `this` so each menu owns only its
111
+ * own items.
112
+ *
113
+ * @internal
114
+ */
54
115
  private _getItems;
55
116
  /**
56
117
  * Synchronize roving tabindex across all enabled items.
@@ -70,12 +131,66 @@ export declare class HelixMenu extends HelixElement {
70
131
  private _handleKeyDown;
71
132
  /** @internal */
72
133
  private _handleTypeahead;
134
+ /**
135
+ * Read the typeahead label for an item — delegates to the shared
136
+ * `getMenuItemTypeaheadLabel` util so all four menu-bearing components
137
+ * (`hx-menu`, `hx-dropdown`, `hx-overflow-menu`, `hx-split-button`)
138
+ * share one submenu-aware extractor. Codex push-gate round-7 finding 3
139
+ * extracted this helper from its original home here in `hx-menu.ts`.
140
+ *
141
+ * @internal
142
+ */
143
+ private _getTypeaheadLabel;
73
144
  /** @internal */
74
145
  private _handleSlotChange;
75
146
  /** @internal */
76
147
  private _handleItemSelect;
148
+ /**
149
+ * Auto-handle submenu open/close events emitted by child `hx-menu-item`
150
+ * children. APG-mandated behaviour: ArrowRight on a parent item opens the
151
+ * nested submenu and focuses its first item; ArrowLeft closes the submenu
152
+ * and returns focus to the parent item. Consumers that own submenu
153
+ * lifecycle themselves can `event.preventDefault()` to opt out.
154
+ * @internal
155
+ */
156
+ private _handleSubmenuOpen;
157
+ /** @internal */
158
+ private _handleSubmenuClose;
159
+ connectedCallback(): void;
77
160
  disconnectedCallback(): void;
161
+ /**
162
+ * Codex push-gate round-7 finding 1: keydown bound on the HOST receives
163
+ * events that bubble out of nested submenus. When a child submenu is
164
+ * open and focus lives inside it, ArrowUp/Down/Home/End/Escape on the
165
+ * inner item bubbles to EVERY enclosing `hx-menu`. Without this guard
166
+ * the outer menu would run `_focusItem(...)` against its OWN top-level
167
+ * items and steal focus back out of the child submenu, and Escape would
168
+ * dispatch one `hx-close` per enclosing menu. Mirrors the
169
+ * `findClosestMenuAncestor` pattern already used by the submenu
170
+ * open/close handlers.
171
+ * @internal
172
+ */
173
+ private _handleHostKeyDown;
174
+ /**
175
+ * Codex push-gate round-7 finding 2: `hx-item-select` bubbles composed
176
+ * through every enclosing `hx-menu`. The outer menu would otherwise
177
+ * (a) corrupt `_focusedIndex` to `-1` because the bubbled item is not
178
+ * a member of the outer menu's items, and (b) re-emit a duplicate
179
+ * `hx-select`. Only act when THIS menu is the closest enclosing menu
180
+ * of the dispatching item.
181
+ * @internal
182
+ */
183
+ private _handleItemSelectHost;
184
+ updated(changedProperties: PropertyValues<this>): void;
78
185
  firstUpdated(): void;
186
+ /**
187
+ * Mirror menu semantics onto the host via ElementInternals so consumer-
188
+ * supplied `aria-label`, `aria-labelledby`, and the `label` property all
189
+ * reach the announced control. Falls back to a flattened-string label on
190
+ * engines that do not implement `ariaLabelledByElements`.
191
+ * @internal
192
+ */
193
+ private _syncHostAriaSemantics;
79
194
  render(): import('lit').TemplateResult<1>;
80
195
  }
81
196
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"hx-menu.d.ts","sourceRoot":"","sources":["../../../src/components/hx-menu/hx-menu.ts"],"names":[],"mappings":"AACA,OAAO,4CAA4C,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMnD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBACa,SAAU,SAAQ,YAAY;IACzC,OAAgB,MAAM,4BAA8C;IAEpE;;;;OAIG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAM;IAE3B;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAM;IAE9B;;;OAGG;IACH,OAAO,CAAC,eAAe,CAA8C;IAErE,gBAAgB;IAChB,OAAO,CAAC,SAAS;IAMjB;;;OAGG;IACH,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAQ3B,iCAAiC;IACjC,UAAU,IAAI,IAAI;IAUlB,gCAAgC;IAChC,SAAS,IAAI,IAAI;IAUjB,gBAAgB;IAChB,OAAO,CAAC,UAAU;IASlB,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAQ3B,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAkCtB,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAqBxB,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAiBzB,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAehB,oBAAoB,IAAI,IAAI;IAQ5B,YAAY,IAAI,IAAI;IASpB,MAAM;CAchB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,SAAS,CAAC;KACtB;CACF"}
1
+ {"version":3,"file":"hx-menu.d.ts","sourceRoot":"","sources":["../../../src/components/hx-menu/hx-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AA2CnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBACa,SAAU,SAAQ,YAAY;IACzC,OAAgB,MAAM,4BAA8C;IAEpE;;;;;;OAMG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAM;IAE3B;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAM;IAE9B;;;OAGG;IACH,OAAO,CAAC,eAAe,CAA8C;IAIrE;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,+BAA+B,EAAE,OAAO,GAAG,IAAI,CAAQ;IAE9D,gBAAgB;IAChB,OAAO,CAAC,kBAAkB,CAAQ;IAElC,gBAAgB;IAChB,OAAO,CAAC,WAAW,CAAsC;IAEzD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,uBAAuB,CAAM;IAErC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,SAAS;IASjB;;;OAGG;IACH,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAQ3B,iCAAiC;IACjC,UAAU,IAAI,IAAI;IAUlB,gCAAgC;IAChC,SAAS,IAAI,IAAI;IAUjB,gBAAgB;IAChB,OAAO,CAAC,UAAU;IASlB,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAQ3B,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAkCtB,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAqBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAI1B,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAiBzB,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAezB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB,CAyBxB;IAEF,gBAAgB;IAChB,OAAO,CAAC,mBAAmB,CA6BzB;IAIO,iBAAiB,IAAI,IAAI;IA0BzB,oBAAoB,IAAI,IAAI;IAcrC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,kBAAkB,CAMxB;IAEF;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB,CAQ3B;IAEO,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOtD,YAAY,IAAI,IAAI;IAa7B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAgFrB,MAAM;CAgChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,SAAS,CAAC;KACtB;CACF"}
@@ -1,4 +1,4 @@
1
- import { H as a, a as x, b as H } from "../../shared/hx-menu-divider-C2omnPtj.js";
1
+ import { H as a, a as x, b as H } from "../../shared/hx-menu-divider-BjiRIWKq.js";
2
2
  export {
3
3
  a as HelixMenu,
4
4
  x as HelixMenuDivider,
@@ -5,6 +5,16 @@ import { HelixElement } from '../../base/index.js';
5
5
  * or any numeric value with defined min/max bounds. Supports low/high/optimum
6
6
  * threshold markers for semantic color feedback.
7
7
  *
8
+ * Group 7 host-canonical: `role="meter"` is mirrored onto the **host** via
9
+ * `_internals.role` AND kept on the inner `[role="meter"]` element. The dual
10
+ * surface is the hx-progress-ring pattern (Group 7 gold-standard exemplar):
11
+ * the host carries the cross-shadow IDREF wiring (`ariaLabelledByElements`
12
+ * resolves through the shared mirror) while the inner element keeps its
13
+ * existing role/state surface so legacy AT and consumer queries continue to
14
+ * work. AccName 1.2 §4.3.1 precedence is implemented uniformly: consumer
15
+ * host `aria-labelledby` (flattened) > consumer host `aria-label` >
16
+ * `label` property / slotted label > derived value-text fallback.
17
+ *
8
18
  * @summary Scalar measurement gauge within a defined range.
9
19
  *
10
20
  * @tag hx-meter
@@ -54,6 +64,17 @@ import { HelixElement } from '../../base/index.js';
54
64
  */
55
65
  export declare class HelixMeter extends HelixElement {
56
66
  static styles: import('lit').CSSResult[];
67
+ /**
68
+ * Test seam (Group 7 host-canonical migration): when set to `true` or
69
+ * `false`, overrides the platform `supportsIdrefElementReferences` probe
70
+ * before `connectedCallback` seeds `_supportsIdrefRefs`. Tests that need
71
+ * to verify the legacy fallback path may opt in by setting this static
72
+ * to `false` before fixture creation.
73
+ *
74
+ * Production code MUST NOT touch this field.
75
+ * @internal
76
+ */
77
+ static __testSupportsIdrefRefsOverride: boolean | null;
57
78
  /** @internal */
58
79
  private _uid;
59
80
  /**
@@ -96,6 +117,12 @@ export declare class HelixMeter extends HelixElement {
96
117
  /** @internal */
97
118
  private _hasSlotContent;
98
119
  /** @internal */
120
+ private _supportsIdrefRefs;
121
+ /** @internal */
122
+ private _ariaMirror;
123
+ /** @internal */
124
+ private _resolvedAccessibleName;
125
+ /** @internal */
99
126
  private _clampedValue;
100
127
  /** @internal */
101
128
  private _percentage;
@@ -103,7 +130,19 @@ export declare class HelixMeter extends HelixElement {
103
130
  private _resolveState;
104
131
  /** @internal */
105
132
  private _onLabelSlotChange;
133
+ connectedCallback(): void;
134
+ disconnectedCallback(): void;
106
135
  updated(changedProperties: PropertyValues<this>): void;
136
+ /**
137
+ * Mirror meter semantics onto the host via ElementInternals. The inner
138
+ * `[role="meter"]` keeps its existing surface — this method ADDS a host-
139
+ * level surface via internals.* so consumer-supplied `aria-labelledby` /
140
+ * `aria-describedby` on the host project through `ariaLabelledByElements`
141
+ * (cross-shadow IDREF) on engines that support it. Mirrors hx-progress-ring's
142
+ * dual-surface pattern (Group 7 gold-standard exemplar).
143
+ * @internal
144
+ */
145
+ private _syncHostAriaSemantics;
107
146
  /** @internal */
108
147
  private static readonly _STATE_LABELS;
109
148
  render(): import('lit').TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"hx-meter.d.ts","sourceRoot":"","sources":["../../../src/components/hx-meter/hx-meter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAQpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,qBACa,UAAW,SAAQ,YAAY;IAC1C,OAAgB,MAAM,4BAA2C;IAEjE,gBAAgB;IAChB,OAAO,CAAC,IAAI,CAAkB;IAE9B;;;OAGG;IAEH,KAAK,SAAK;IAEV;;;OAGG;IAEH,GAAG,SAAK;IAER;;;OAGG;IAEH,GAAG,SAAO;IAEV;;;OAGG;IAEH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IAEH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IAEH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gBAAgB;IAEhB,OAAO,CAAC,eAAe,CAAS;IAEhC,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAIrB,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAMnB,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAyCrB,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAKjB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe/D,gBAAgB;IAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAInC;IAEO,MAAM;CAmDhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,UAAU,CAAC;KACxB;CACF"}
1
+ {"version":3,"file":"hx-meter.d.ts","sourceRoot":"","sources":["../../../src/components/hx-meter/hx-meter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAepE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,qBACa,UAAW,SAAQ,YAAY;IAC1C,OAAgB,MAAM,4BAA2C;IAEjE;;;;;;;;;OASG;IACH,MAAM,CAAC,+BAA+B,EAAE,OAAO,GAAG,IAAI,CAAQ;IAE9D,gBAAgB;IAChB,OAAO,CAAC,IAAI,CAAkB;IAE9B;;;OAGG;IAEH,KAAK,SAAK;IAEV;;;OAGG;IAEH,GAAG,SAAK;IAER;;;OAGG;IAEH,GAAG,SAAO;IAEV;;;OAGG;IAEH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IAEH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IAEH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IAEH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gBAAgB;IAEhB,OAAO,CAAC,eAAe,CAAS;IAIhC,gBAAgB;IAChB,OAAO,CAAC,kBAAkB,CAAQ;IAElC,gBAAgB;IAChB,OAAO,CAAC,WAAW,CAAsC;IAEzD,gBAAgB;IAChB,OAAO,CAAC,uBAAuB,CAAM;IAErC,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAIrB,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAMnB,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAuCrB,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAQjB,iBAAiB,IAAI,IAAI;IAazB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAkB/D;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;IA4E9B,gBAAgB;IAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAInC;IAEO,MAAM;CAsDhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,UAAU,CAAC;KACxB;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"hx-meter.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-meter/hx-meter.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,yBA+H5B,CAAC"}
1
+ {"version":3,"file":"hx-meter.styles.d.ts","sourceRoot":"","sources":["../../../src/components/hx-meter/hx-meter.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,yBAoI5B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { H as o } from "../../shared/hx-meter-BPscsw5t.js";
1
+ import { H as o } from "../../shared/hx-meter-BJdh6nrF.js";
2
2
  export {
3
3
  o as HelixMeter
4
4
  };
@@ -1,8 +1,28 @@
1
+ import { PropertyValues } from 'lit';
1
2
  import { HelixElement } from '../../base/index.js';
2
3
  /**
3
4
  * An overflow menu (kebab/meatball menu) that reveals hidden actions via a
4
5
  * floating panel. Composed from a trigger button and a slotted menu panel.
5
6
  *
7
+ * ## Architecture Note: Host-Attribute Trigger Label Mirror (group-5b)
8
+ *
9
+ * The composite has TWO ARIA-bearing surfaces inside its shadow DOM: the
10
+ * trigger button (`role` defaulted from `<button>`, with `aria-haspopup`,
11
+ * `aria-expanded`, `aria-controls`) and the panel (`role="menu"` on the
12
+ * inner div). The host wraps both — it cannot carry either canonical role
13
+ * itself, so role placement remains on the inner elements.
14
+ *
15
+ * What Group 5b adds:
16
+ * - **Roving tabindex** on slotted menu items (only the focused item has
17
+ * tabindex=0; arrow keys move focus and rewrite tabindex). Closing-Tab
18
+ * path is preserved (Tab moves focus past the menu and closes it).
19
+ * - **First-character typeahead** with 500ms timeout matching `hx-menu`.
20
+ * - **Host-attribute label mirror**: consumer-supplied `aria-label` /
21
+ * `aria-labelledby` on the host flow to the trigger button's
22
+ * `aria-label` (the trigger is the announced surface of the disclosure
23
+ * pattern; consumer override wins over the `label` property). The panel
24
+ * continues to use `labelMenu` for its own slot label.
25
+ *
6
26
  * @summary "..." or kebab icon button that reveals hidden actions.
7
27
  *
8
28
  * @tag hx-overflow-menu
@@ -83,7 +103,9 @@ export declare class HelixOverflowMenu extends HelixElement {
83
103
  */
84
104
  icon: 'vertical' | 'horizontal';
85
105
  /**
86
- * Accessible label for the trigger button.
106
+ * Accessible label for the trigger button. Used as a fallback when no
107
+ * consumer-supplied `aria-label` / `aria-labelledby` is present on the
108
+ * host. Consumer host attributes win in the AccName 1.2 §4.3.1 cascade.
87
109
  * @attr label
88
110
  */
89
111
  label: string;
@@ -97,6 +119,36 @@ export declare class HelixOverflowMenu extends HelixElement {
97
119
  * @internal
98
120
  */
99
121
  private _open;
122
+ /**
123
+ * Resolved accessible name for the trigger button — written to the inner
124
+ * button's `aria-label`. Recomputed via the host-attribute mirror on
125
+ * every aria-* mutation. AccName 1.2 §4.3.1 precedence: host
126
+ * `aria-labelledby` (flattened) > host `aria-label` > `label` property.
127
+ * @internal
128
+ */
129
+ private _resolvedTriggerLabel;
130
+ /**
131
+ * Index within `_getMenuItems()` of the item currently holding the
132
+ * roving tabindex (and thus visual focus). −1 means the panel has not
133
+ * been keyboard-focused yet (first key press lands on item 0).
134
+ * @internal
135
+ */
136
+ private _rovingIndex;
137
+ /**
138
+ * Accumulated character buffer for typeahead search within menu items.
139
+ * @internal
140
+ */
141
+ private _typeaheadBuffer;
142
+ /**
143
+ * Timer handle that clears the typeahead buffer after a period of inactivity.
144
+ * @internal
145
+ */
146
+ private _typeaheadTimer;
147
+ /**
148
+ * Handle for the shared host attribute / root id observer.
149
+ * @internal
150
+ */
151
+ private _ariaMirror;
100
152
  /**
101
153
  * Unique ID for the floating panel element, used to wire aria-controls on the trigger button.
102
154
  * @internal
@@ -108,6 +160,7 @@ export declare class HelixOverflowMenu extends HelixElement {
108
160
  private _panelEl;
109
161
  connectedCallback(): void;
110
162
  disconnectedCallback(): void;
163
+ willUpdate(changedProperties: PropertyValues<this>): void;
111
164
  /** @internal */
112
165
  private _show;
113
166
  /** @internal */
@@ -118,6 +171,39 @@ export declare class HelixOverflowMenu extends HelixElement {
118
171
  private _updatePosition;
119
172
  /** @internal */
120
173
  private _focusFirstItem;
174
+ /**
175
+ * Codex push-gate round-2 finding 3: write the roving tabindex through
176
+ * the right surface for each item shape. Implementation moved to the
177
+ * shared `writeMenuItemRovingTabIndex` util (round-8 finding 2) so
178
+ * `hx-dropdown` and any future host-canonical menu shape route through
179
+ * one source of truth instead of duplicating the host-vs-inner-element
180
+ * branch per component.
181
+ *
182
+ * - `hx-menu-item` is host-canonical: on the modern path the roving
183
+ * tabindex must land on the host (it carries the announced role +
184
+ * IDL ARIA), and on the fallback path it must land on the inner
185
+ * `.menu-item` (the host is forced to `tabindex=-1` so there is
186
+ * exactly one focusable surface per item). The util's
187
+ * `setRovingTabIndex(value)` route handles both paths internally.
188
+ * - Plain slotted `[role="menuitem"]` elements (legacy `<button>`-style
189
+ * children) keep the direct `item.tabIndex = value` write.
190
+ *
191
+ * Without this routing, host-canonical items on the fallback path stay
192
+ * at `tabindex=-1` because the host write never reaches the inner
193
+ * focusable surface — Tab would land on a non-focusable host and arrow
194
+ * navigation would fail to advance the announced item.
195
+ * @internal
196
+ */
197
+ /**
198
+ * Initialize roving tabindex on all enabled menu items: only the first
199
+ * receives tabindex=0; the rest are tabindex=-1. Maintains the closing-
200
+ * Tab semantics required by APG (tabbing past the menu closes it via
201
+ * the keydown handler below).
202
+ * @internal
203
+ */
204
+ private _initRovingTabIndex;
205
+ /** @internal */
206
+ private _applyRovingTabIndex;
121
207
  /** @internal */
122
208
  private _getMenuItems;
123
209
  /** @internal */
@@ -127,7 +213,52 @@ export declare class HelixOverflowMenu extends HelixElement {
127
213
  /** @internal */
128
214
  private readonly _handleKeydown;
129
215
  /** @internal */
216
+ private _handleTypeahead;
217
+ /** @internal */
130
218
  private readonly _handleSlotClick;
219
+ /**
220
+ * Handle `hx-item-select` bubbling from slotted `hx-menu-item` children.
221
+ * The host-canonical shape owns its own activation (click + Enter/Space),
222
+ * so route its event through to the composite's `hx-select` contract and
223
+ * close the panel. Disabled items never emit `hx-item-select`, so no
224
+ * disabled-guard is needed here.
225
+ * @internal
226
+ */
227
+ private readonly _handleSlotItemSelect;
228
+ /**
229
+ * Bubbled `hx-item-submenu-open` from a slotted `hx-menu-item` host.
230
+ * Codex push-gate round-9 P1: when slotted `hx-menu-item`s open / close
231
+ * a nested submenu inside this panel (no enclosing `hx-menu`), the
232
+ * events fly past with no handler. Match the round-4
233
+ * `hx-menu._handleSubmenuOpen` shape so APG behaviour holds. Defer to
234
+ * an inner `hx-menu` when present (it owns the toggle). Otherwise this
235
+ * panel is the enclosing menu surface — call `setSubmenuOpen(true)` on
236
+ * the dispatching item and focus its first nested child.
237
+ * @internal
238
+ */
239
+ private readonly _handleSlotSubmenuOpen;
240
+ /**
241
+ * Bubbled `hx-item-submenu-close` from a slotted `hx-menu-item` host.
242
+ * Codex push-gate round-9 P1: when an inner `hx-menu` (a nested
243
+ * submenu) handles its own close, the event still bubbles through this
244
+ * panel — defer in that case so the panel stays open. When the
245
+ * dispatching item is top-level inside this panel (no enclosing
246
+ * `hx-menu`), there is no parent submenu to collapse, so close the
247
+ * composite's panel and return focus to the trigger.
248
+ * @internal
249
+ */
250
+ private readonly _handleSlotSubmenuClose;
251
+ /** @internal */
252
+ private readonly _handleSlotChange;
253
+ /**
254
+ * Resolves the trigger button's accessible name from host attributes and
255
+ * the `label` property. AccName 1.2 §4.3.1 precedence:
256
+ * 1. Host `aria-labelledby` (resolved IDREFs, flattened)
257
+ * 2. Host `aria-label`
258
+ * 3. `label` property
259
+ * @internal
260
+ */
261
+ private _syncResolvedTriggerLabel;
131
262
  /** @internal */
132
263
  private _renderIcon;
133
264
  render(): import('lit').TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"hx-overflow-menu.d.ts","sourceRoot":"","sources":["../../../src/components/hx-overflow-menu/hx-overflow-menu.ts"],"names":[],"mappings":"AACA,OAAO,4CAA4C,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAMpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,qBACa,iBAAkB,SAAQ,YAAY;IACjD,OAAgB,MAAM,4BAAsD;IAE5E;;;OAGG;IAEH,SAAS,EACL,KAAK,GACL,WAAW,GACX,SAAS,GACT,QAAQ,GACR,cAAc,GACd,YAAY,GACZ,MAAM,GACN,YAAY,GACZ,UAAU,GACV,OAAO,GACP,aAAa,GACb,WAAW,CAAgB;IAE/B;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,IAAI,EAAE,UAAU,GAAG,YAAY,CAAc;IAE7C;;;OAGG;IAEH,KAAK,SAAkB;IAEvB;;;OAGG;IAEH,SAAS,SAAa;IAEtB;;;OAGG;IACM,OAAO,CAAC,KAAK,CAAS;IAE/B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAE7D,gBAAgB;IACW,OAAO,CAAC,SAAS,CAA4B;IAExE,gBAAgB;IACU,OAAO,CAAC,QAAQ,CAAsB;IAIvD,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAQrC,gBAAgB;YACF,KAAK;IASnB,gBAAgB;IAChB,OAAO,CAAC,KAAK;IAMb,gBAAgB;IAChB,OAAO,CAAC,OAAO;IAUf,gBAAgB;YACF,eAAe;IAoB7B,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAKvB,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAoBrB,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAGlC;IAEF,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAMnC;IAEF,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,cAAc,CA8B7B;IAEF,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAgB/B;IAIF,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAmCV,MAAM;CAqChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,iBAAiB,CAAC;KACvC;CACF"}
1
+ {"version":3,"file":"hx-overflow-menu.d.ts","sourceRoot":"","sources":["../../../src/components/hx-overflow-menu/hx-overflow-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAepE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,qBACa,iBAAkB,SAAQ,YAAY;IACjD,OAAgB,MAAM,4BAAsD;IAE5E;;;OAGG;IAEH,SAAS,EACL,KAAK,GACL,WAAW,GACX,SAAS,GACT,QAAQ,GACR,cAAc,GACd,YAAY,GACZ,MAAM,GACN,YAAY,GACZ,UAAU,GACV,OAAO,GACP,aAAa,GACb,WAAW,CAAgB;IAE/B;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC;;;OAGG;IAEH,QAAQ,UAAS;IAEjB;;;OAGG;IAEH,IAAI,EAAE,UAAU,GAAG,YAAY,CAAc;IAE7C;;;;;OAKG;IAEH,KAAK,SAAkB;IAEvB;;;OAGG;IAEH,SAAS,SAAa;IAEtB;;;OAGG;IACM,OAAO,CAAC,KAAK,CAAS;IAE/B;;;;;;OAMG;IACM,OAAO,CAAC,qBAAqB,CAAM;IAE5C;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAM;IAE1B;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAM;IAE9B;;;OAGG;IACH,OAAO,CAAC,eAAe,CAA8C;IAErE;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAsC;IAEzD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAE7D,gBAAgB;IACW,OAAO,CAAC,SAAS,CAA4B;IAExE,gBAAgB;IACU,OAAO,CAAC,QAAQ,CAAsB;IAIvD,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAY5B,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IASlE,gBAAgB;YACF,KAAK;IAUnB,gBAAgB;IAChB,OAAO,CAAC,KAAK;IAOb,gBAAgB;IAChB,OAAO,CAAC,OAAO;IAUf,gBAAgB;YACF,eAAe;IAoB7B,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAQvB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IAEH;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAQ3B,gBAAgB;IAChB,OAAO,CAAC,oBAAoB;IAO5B,gBAAgB;IAChB,OAAO,CAAC,aAAa;IA4BrB,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAGlC;IAEF,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAMnC;IAEF,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAuC7B;IAEF,gBAAgB;IAChB,OAAO,CAAC,gBAAgB;IAyBxB,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAwB/B;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAWpC;IAEF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CA8BrC;IAEF;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAatC;IAEF,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAIhC;IAIF;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IAiCjC,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAmCV,MAAM;CAwChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,iBAAiB,CAAC;KACvC;CACF"}
@@ -1,4 +1,4 @@
1
- import { H as r } from "../../shared/hx-overflow-menu-DCLsdIBy.js";
1
+ import { H as r } from "../../shared/hx-overflow-menu-BQ4fiMYu.js";
2
2
  export {
3
3
  r as HelixOverflowMenu
4
4
  };
@@ -48,7 +48,6 @@ import { HelixElement } from '../../base/index.js';
48
48
  * @cssprop [--hx-phi-field-toggle-color=var(--hx-color-primary-500,#429797)] - Toggle button color.
49
49
  * @cssprop [--hx-phi-field-focus-ring-color=var(--hx-focus-ring-color,var(--hx-color-primary-500,#429797))] - Focus ring color.
50
50
  * @cssprop [--hx-phi-field-disabled-opacity=var(--hx-opacity-50,0.5)] - Opacity applied when the field is disabled.
51
- * @cssprop [--hx-phi-field-auto-hide-warning-color=var(--hx-color-warning-500,#C2711C)] - Color for auto-hide countdown warning (future use).
52
51
  * @cssprop [--hx-space-2] - Spacing token.
53
52
  * @cssprop [--hx-font-family-mono] - Font family.
54
53
  * @cssprop [--hx-color-neutral-500] - Color.
@@ -1 +1 @@
1
- {"version":3,"file":"hx-phi-field.d.ts","sourceRoot":"","sources":["../../../src/components/hx-phi-field/hx-phi-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEhD,OAAO,4CAA4C,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,qBACa,aAAc,SAAQ,YAAY;IAC7C,OAAgB,MAAM,4BAA4C;IAIlE;;;;OAIG;IAEH,IAAI,EAAE,MAAM,CAAM;IAElB;;;OAGG;IAEH,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,WAAW,CAAS;IAEvD;;;OAGG;IAEH,OAAO,EAAE,MAAM,CAAM;IAErB;;;;OAIG;IAEH,gBAAgB,EAAE,MAAM,CAAS;IAEjC;;;;OAIG;IAEH,KAAK,EAAE,MAAM,CAAM;IAEnB;;;;;OAKG;IAEH,aAAa,EAAE,MAAM,CAAM;IAE3B;;;;OAIG;IAEH,QAAQ,EAAE,OAAO,CAAS;IAI1B,gBAAgB;IACP,OAAO,CAAC,OAAO,CAAQ;IAEhC,gBAAgB;IAChB,OAAO,CAAC,eAAe,CAA8C;IAErE,wDAAwD;IACxD,OAAO,CAAC,cAAc,CAA8C;IAIpE,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAQ3C;IAEF,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAEvC;IAEO,iBAAiB,IAAI,IAAI;IA4BzB,oBAAoB,IAAI,IAAI;IASrC,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAO7B,uDAAuD;IACvD,OAAO,CAAC,oBAAoB;IAQ5B,0EAA0E;IAC1E,OAAO,CAAC,iBAAiB;IAWzB,+DAA+D;IAC/D,OAAO,CAAC,mBAAmB;IAK3B,wDAAwD;IACxD,OAAO,CAAC,SAAS;IAwBjB,mEAAmE;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAM1C;IAEX,oEAAoE;IACpE,OAAO,CAAC,gCAAgC;IAMxC,8CAA8C;IAC9C,OAAO,CAAC,mCAAmC;IAM3C,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAO/B,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAqFvB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAuDvB,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAkCrB,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAMnB,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAQpB,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAkBtB,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAqBhB,MAAM;CAyChB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,iBAAiB,GAAG,wBAAwB,CAAC;IACvF,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC;CAChD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,aAAa,CAAC;KAC/B;CACF"}
1
+ {"version":3,"file":"hx-phi-field.d.ts","sourceRoot":"","sources":["../../../src/components/hx-phi-field/hx-phi-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEhD,OAAO,4CAA4C,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,qBACa,aAAc,SAAQ,YAAY;IAC7C,OAAgB,MAAM,4BAA4C;IAIlE;;;;OAIG;IAEH,IAAI,EAAE,MAAM,CAAM;IAElB;;;OAGG;IAEH,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,WAAW,CAAS;IAEvD;;;OAGG;IAEH,OAAO,EAAE,MAAM,CAAM;IAErB;;;;OAIG;IAEH,gBAAgB,EAAE,MAAM,CAAS;IAEjC;;;;OAIG;IAEH,KAAK,EAAE,MAAM,CAAM;IAEnB;;;;;OAKG;IAEH,aAAa,EAAE,MAAM,CAAM;IAE3B;;;;OAIG;IAEH,QAAQ,EAAE,OAAO,CAAS;IAI1B,gBAAgB;IACP,OAAO,CAAC,OAAO,CAAQ;IAEhC,gBAAgB;IAChB,OAAO,CAAC,eAAe,CAA8C;IAErE,wDAAwD;IACxD,OAAO,CAAC,cAAc,CAA8C;IAIpE,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAQ3C;IAEF,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAEvC;IAEO,iBAAiB,IAAI,IAAI;IA4BzB,oBAAoB,IAAI,IAAI;IASrC,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAO7B,uDAAuD;IACvD,OAAO,CAAC,oBAAoB;IAQ5B,0EAA0E;IAC1E,OAAO,CAAC,iBAAiB;IAWzB,+DAA+D;IAC/D,OAAO,CAAC,mBAAmB;IAK3B,wDAAwD;IACxD,OAAO,CAAC,SAAS;IAwBjB,mEAAmE;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAM1C;IAEX,oEAAoE;IACpE,OAAO,CAAC,gCAAgC;IAMxC,8CAA8C;IAC9C,OAAO,CAAC,mCAAmC;IAM3C,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAO/B,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAqFvB,gBAAgB;IAChB,OAAO,CAAC,eAAe;IAuDvB,gBAAgB;IAChB,OAAO,CAAC,aAAa;IAkCrB,gBAAgB;IAChB,OAAO,CAAC,WAAW;IAMnB,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAQpB,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAkBtB,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAqBhB,MAAM;CAyChB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,iBAAiB,GAAG,wBAAwB,CAAC;IACvF,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC;CAChD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,aAAa,CAAC;KAC/B;CACF"}
@@ -1,4 +1,4 @@
1
- import { H as r } from "../../shared/hx-popover-CHxWY_cd.js";
1
+ import { H as r } from "../../shared/hx-popover-B9W8-tC0.js";
2
2
  export {
3
3
  r as HelixPopover
4
4
  };
@@ -3,6 +3,18 @@ import { HelixElement } from '../../base/index.js';
3
3
  /**
4
4
  * A linear progress indicator for determinate and indeterminate states.
5
5
  *
6
+ * Group 7 host-canonical: `role="progressbar"` is mirrored onto the **host**
7
+ * via `_internals.role` (cross-shadow IDREF wiring) AND kept on the inner
8
+ * `[role="progressbar"]` track for legacy AT and consumer queries. This is
9
+ * the hx-progress-ring dual-surface pattern (Group 7 gold-standard).
10
+ * Consumer-supplied `aria-labelledby` / `aria-describedby` on the host
11
+ * resolves through the shared IDREF mirror so cross-shadow naming reaches
12
+ * the announced surface even when the labels live in another shadow tree.
13
+ *
14
+ * The internal `aria-live="polite"` announcer for the "Complete" milestone
15
+ * is preserved (`role="progressbar"` does NOT imply a live region — an
16
+ * explicit live announcer is required for value-update announcements).
17
+ *
6
18
  * @summary Displays task completion progress or an indeterminate loading state.
7
19
  *
8
20
  * @tag hx-progress-bar
@@ -45,6 +57,12 @@ import { HelixElement } from '../../base/index.js';
45
57
  */
46
58
  export declare class HelixProgressBar extends HelixElement {
47
59
  static styles: import('lit').CSSResult[];
60
+ /**
61
+ * Test seam (Group 7 host-canonical migration): see other Group 7 components.
62
+ * Production code MUST NOT touch this field.
63
+ * @internal
64
+ */
65
+ static __testSupportsIdrefRefsOverride: boolean | null;
48
66
  /**
49
67
  * Current progress value (min–max). Set to null for indeterminate state.
50
68
  * @attr value
@@ -94,14 +112,29 @@ export declare class HelixProgressBar extends HelixElement {
94
112
  /** @internal */
95
113
  private _uid;
96
114
  /** @internal */
115
+ private _supportsIdrefRefs;
116
+ /** @internal */
117
+ private _ariaMirror;
118
+ /** @internal */
119
+ private _resolvedAccessibleName;
120
+ /** @internal */
97
121
  private get _isIndeterminate();
98
122
  /** @internal */
99
123
  private get _percentage();
100
124
  /** @internal */
101
125
  private get _isComplete();
126
+ connectedCallback(): void;
127
+ disconnectedCallback(): void;
102
128
  updated(changedProps: PropertyValues<this>): void;
103
129
  /** @internal */
104
130
  private _onLabelSlotChange;
131
+ /**
132
+ * Mirror progressbar semantics onto the host. Dual-surface: inner track
133
+ * keeps role + value-state, host adds the cross-shadow IDREF wiring via
134
+ * internals.* (the hx-progress-ring exemplar pattern).
135
+ * @internal
136
+ */
137
+ private _syncHostAriaSemantics;
105
138
  /** @internal */
106
139
  private static readonly _VARIANT_LABELS;
107
140
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"hx-progress-bar.d.ts","sourceRoot":"","sources":["../../../src/components/hx-progress-bar/hx-progress-bar.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBACa,gBAAiB,SAAQ,YAAY;IAChD,OAAgB,MAAM,4BAAiD;IAEvE;;;OAGG;IAEH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE5B;;;OAGG;IAEH,GAAG,SAAK;IAER;;;OAGG;IAEH,GAAG,SAAO;IAEV;;;OAGG;IAEH,aAAa,UAAS;IAEtB;;;OAGG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,WAAW,SAAM;IAEjB;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC;;;OAGG;IAEH,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAa;IAElE,gBAAgB;IACP,OAAO,CAAC,YAAY,CAAM;IACnC,gBAAgB;IACP,OAAO,CAAC,oBAAoB,CAAS;IAC9C,gBAAgB;IAChB,OAAO,CAAC,iBAAiB,CAAS;IAElC,gBAAgB;IAChB,OAAO,CAAC,IAAI,CAAwB;IAEpC,gBAAgB;IAChB,OAAO,KAAK,gBAAgB,GAE3B;IAED,gBAAgB;IAChB,OAAO,KAAK,WAAW,GAUtB;IAED,gBAAgB;IAChB,OAAO,KAAK,WAAW,GAEtB;IAEQ,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IA4B1D,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAU1B,gBAAgB;IAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAIrC;IAEF,gBAAgB;IAChB,OAAO,KAAK,aAAa,GAExB;IAEQ,MAAM;CAqDhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,gBAAgB,CAAC;KACrC;CACF"}
1
+ {"version":3,"file":"hx-progress-bar.d.ts","sourceRoot":"","sources":["../../../src/components/hx-progress-bar/hx-progress-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAcpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,qBACa,gBAAiB,SAAQ,YAAY;IAChD,OAAgB,MAAM,4BAAiD;IAEvE;;;;OAIG;IACH,MAAM,CAAC,+BAA+B,EAAE,OAAO,GAAG,IAAI,CAAQ;IAE9D;;;OAGG;IAEH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE5B;;;OAGG;IAEH,GAAG,SAAK;IAER;;;OAGG;IAEH,GAAG,SAAO;IAEV;;;OAGG;IAEH,aAAa,UAAS;IAEtB;;;OAGG;IAEH,KAAK,SAAM;IAEX;;;OAGG;IAEH,WAAW,SAAM;IAEjB;;;OAGG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC;;;OAGG;IAEH,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAa;IAElE,gBAAgB;IACP,OAAO,CAAC,YAAY,CAAM;IACnC,gBAAgB;IACP,OAAO,CAAC,oBAAoB,CAAS;IAC9C,gBAAgB;IAChB,OAAO,CAAC,iBAAiB,CAAS;IAElC,gBAAgB;IAChB,OAAO,CAAC,IAAI,CAAwB;IAIpC,gBAAgB;IAChB,OAAO,CAAC,kBAAkB,CAAQ;IAElC,gBAAgB;IAChB,OAAO,CAAC,WAAW,CAAsC;IAEzD,gBAAgB;IAChB,OAAO,CAAC,uBAAuB,CAAM;IAErC,gBAAgB;IAChB,OAAO,KAAK,gBAAgB,GAE3B;IAED,gBAAgB;IAChB,OAAO,KAAK,WAAW,GAUtB;IAED,gBAAgB;IAChB,OAAO,KAAK,WAAW,GAEtB;IAEQ,iBAAiB,IAAI,IAAI;IAazB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAwC1D,gBAAgB;IAChB,OAAO,CAAC,kBAAkB;IAM1B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAsF9B,gBAAgB;IAChB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAIrC;IAEF,gBAAgB;IAChB,OAAO,KAAK,aAAa,GAExB;IAEQ,MAAM;CAmDhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,gBAAgB,CAAC;KACrC;CACF"}
@@ -1,4 +1,4 @@
1
- import { H as o } from "../../shared/hx-progress-bar-Bn3JEPUf.js";
1
+ import { H as o } from "../../shared/hx-progress-bar-C8nDMdYa.js";
2
2
  export {
3
3
  o as HelixProgressBar
4
4
  };
@@ -1,4 +1,4 @@
1
- import { H as i, a as e } from "../../shared/hx-radio-CeGzARNk.js";
1
+ import { H as i, a as e } from "../../shared/hx-radio-Z1lV1zTO.js";
2
2
  export {
3
3
  i as HelixRadio,
4
4
  e as HelixRadioGroup
@@ -32,6 +32,7 @@ declare const HelixSelect_base: typeof HelixElement & (new (...args: any[]) => i
32
32
  * @slot help-text - Custom help text content (overrides the helpText property).
33
33
  *
34
34
  * @fires {CustomEvent<{value: string}>} hx-change - Dispatched when the selected option changes.
35
+ * @fires {Event} invalid - Platform constraint-validation event fired when checkValidity() / reportValidity() determine the value is invalid (form-associated component contract via ElementInternals.setValidity).
35
36
  *
36
37
  * @csspart field - The outer field container.
37
38
  * @csspart label - The label element.
@@ -1 +1 @@
1
- {"version":3,"file":"hx-select.d.ts","sourceRoot":"","sources":["../../../src/components/hx-select/hx-select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hx-select.d.ts","sourceRoot":"","sources":["../../../src/components/hx-select/hx-select.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { H as o } from "../../shared/hx-select-DrcS-YRJ.js";
1
+ import { H as o } from "../../shared/hx-select-D18CnJ0e.js";
2
2
  export {
3
3
  o as HelixSelect
4
4
  };
@@ -1,3 +1,4 @@
1
+ import { PropertyValues } from 'lit';
1
2
  import { HelixElement } from '../../base/index.js';
2
3
  /**
3
4
  * Token size values for the spinner. Use these for standard sizing.
@@ -77,6 +78,19 @@ export declare class HelixSpinner extends HelixElement {
77
78
  */
78
79
  decorative: boolean;
79
80
  connectedCallback(): void;
81
+ updated(changedProperties: PropertyValues<this>): void;
82
+ /**
83
+ * Group 9 host-canonical migration: mirror `role="status"` / `"presentation"`
84
+ * and `aria-label` onto the host via `ElementInternals` so AT walks the host
85
+ * surface as the canonical loading indicator. The inner `<div>` keeps the
86
+ * legacy role + aria-label so consumer queries and pre-host-canonical AT
87
+ * still resolve. Modern path: host is canonical; legacy path: dual-surface.
88
+ *
89
+ * Also fires a devWarn when the spinner is non-decorative AND the label is
90
+ * empty (silent unnamed `role="status"` is a WCAG 4.1.2 failure).
91
+ * @internal
92
+ */
93
+ private _syncHostAriaSemantics;
80
94
  /** @internal */
81
95
  private _isTokenSize;
82
96
  render(): import('lit').TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"hx-spinner.d.ts","sourceRoot":"","sources":["../../../src/components/hx-spinner/hx-spinner.ts"],"names":[],"mappings":"AACA,OAAO,4CAA4C,CAAC;AAKpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBACa,YAAa,SAAQ,YAAY;IAC5C,OAAgB,MAAM,4BAA6C;IAEnE;;;;;;;;OAQG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAQ;IAElE;;;OAGG;IAEH,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAa;IAExD;;;;OAIG;IAEH,KAAK,SAAa;IAElB;;;;;OAKG;IAEH,UAAU,UAAS;IAIV,iBAAiB,IAAI,IAAI;IAWlC,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAIX,MAAM;CAqChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,YAAY,CAAC;KAC5B;CACF"}
1
+ {"version":3,"file":"hx-spinner.d.ts","sourceRoot":"","sources":["../../../src/components/hx-spinner/hx-spinner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,4CAA4C,CAAC;AAKpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBACa,YAAa,SAAQ,YAAY;IAC5C,OAAgB,MAAM,4BAA6C;IAEnE;;;;;;;;OAQG;IAEH,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAQ;IAElE;;;OAGG;IAEH,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAa;IAExD;;;;OAIG;IAEH,KAAK,SAAa;IAElB;;;;;OAKG;IAEH,UAAU,UAAS;IAIV,iBAAiB,IAAI,IAAI;IAYzB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO/D;;;;;;;;;;OAUG;IACH,OAAO,CAAC,sBAAsB;IAoB9B,gBAAgB;IAChB,OAAO,CAAC,YAAY;IAIX,MAAM;CAqChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,YAAY,CAAC;KAC5B;CACF"}
@@ -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
  };