@helixui/library 3.3.1-next.118 → 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.
- package/custom-elements.json +422 -322
- package/dist/components/hx-alert/hx-alert.d.ts +11 -0
- package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
- package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
- package/dist/components/hx-alert/index.js +1 -1
- package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
- package/dist/components/hx-badge/index.js +1 -1
- package/dist/components/hx-banner/hx-banner.d.ts +9 -1
- package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
- package/dist/components/hx-banner/index.js +1 -1
- package/dist/components/hx-button/hx-button.d.ts +11 -1
- package/dist/components/hx-button/hx-button.d.ts.map +1 -1
- package/dist/components/hx-button/index.js +1 -1
- package/dist/components/hx-button-group/hx-button-group.d.ts +13 -0
- package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
- package/dist/components/hx-button-group/index.js +1 -1
- package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
- package/dist/components/hx-checkbox/index.js +1 -1
- package/dist/components/hx-checkbox-group/index.js +1 -1
- package/dist/components/hx-color-picker/index.js +1 -1
- package/dist/components/hx-combobox/index.js +1 -1
- package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
- package/dist/components/hx-data-table/index.js +1 -1
- package/dist/components/hx-date-picker/index.js +1 -1
- package/dist/components/hx-dialog/index.js +1 -1
- package/dist/components/hx-drawer/hx-drawer.d.ts +201 -0
- package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
- package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
- package/dist/components/hx-drawer/index.js +1 -1
- package/dist/components/hx-dropdown/hx-dropdown.d.ts +96 -8
- package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
- package/dist/components/hx-dropdown/index.js +1 -1
- package/dist/components/hx-icon-button/hx-icon-button.d.ts +16 -3
- package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
- package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
- package/dist/components/hx-icon-button/index.js +1 -1
- package/dist/components/hx-link/hx-link.d.ts +10 -1
- package/dist/components/hx-link/hx-link.d.ts.map +1 -1
- package/dist/components/hx-link/index.js +1 -1
- package/dist/components/hx-list/hx-list-item.d.ts +27 -1
- package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
- package/dist/components/hx-list/hx-list.d.ts +28 -0
- package/dist/components/hx-list/hx-list.d.ts.map +1 -1
- package/dist/components/hx-list/index.js +1 -1
- package/dist/components/hx-menu/hx-menu-divider.d.ts +10 -0
- package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -1
- package/dist/components/hx-menu/hx-menu-item.d.ts +99 -2
- package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
- package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
- package/dist/components/hx-menu/hx-menu.d.ts +117 -2
- package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
- package/dist/components/hx-menu/index.js +1 -1
- package/dist/components/hx-meter/hx-meter.d.ts +39 -0
- package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
- package/dist/components/hx-meter/hx-meter.styles.d.ts.map +1 -1
- package/dist/components/hx-meter/index.js +1 -1
- package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +132 -1
- package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
- package/dist/components/hx-overflow-menu/index.js +1 -1
- package/dist/components/hx-phi-field/hx-phi-field.d.ts +0 -1
- package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
- package/dist/components/hx-popover/index.js +1 -1
- package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +33 -0
- package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
- package/dist/components/hx-progress-bar/index.js +1 -1
- package/dist/components/hx-radio-group/index.js +1 -1
- package/dist/components/hx-select/hx-select.d.ts +1 -0
- package/dist/components/hx-select/hx-select.d.ts.map +1 -1
- package/dist/components/hx-select/index.js +1 -1
- package/dist/components/hx-spinner/hx-spinner.d.ts +14 -0
- package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
- package/dist/components/hx-spinner/index.js +1 -1
- package/dist/components/hx-split-button/hx-split-button.d.ts +94 -7
- package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
- package/dist/components/hx-split-button/index.js +1 -1
- package/dist/components/hx-stat/hx-stat.d.ts +28 -0
- package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
- package/dist/components/hx-stat/index.js +1 -1
- package/dist/components/hx-switch/index.js +1 -1
- package/dist/components/hx-table/hx-td.d.ts +30 -3
- package/dist/components/hx-table/hx-td.d.ts.map +1 -1
- package/dist/components/hx-table/hx-th.d.ts +39 -3
- package/dist/components/hx-table/hx-th.d.ts.map +1 -1
- package/dist/components/hx-table/hx-tr.d.ts +26 -0
- package/dist/components/hx-table/hx-tr.d.ts.map +1 -1
- package/dist/components/hx-table/index.js +1 -1
- package/dist/components/hx-tabs/hx-tab-panel.d.ts +34 -0
- package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -1
- package/dist/components/hx-tabs/hx-tab.d.ts +45 -2
- package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
- package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
- package/dist/components/hx-tabs/hx-tabs.d.ts +32 -2
- package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
- package/dist/components/hx-tabs/index.js +1 -1
- package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
- package/dist/components/hx-tag/index.js +1 -1
- package/dist/components/hx-theme/hx-theme.d.ts +10 -5
- package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
- package/dist/components/hx-time-picker/hx-time-picker.d.ts +210 -2
- package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
- package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
- package/dist/components/hx-time-picker/index.js +1 -1
- package/dist/components/hx-toast/hx-toast-stack.d.ts +14 -0
- package/dist/components/hx-toast/hx-toast-stack.d.ts.map +1 -1
- package/dist/components/hx-toast/hx-toast.d.ts +22 -3
- package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
- package/dist/components/hx-toast/index.js +1 -1
- package/dist/components/hx-toast/toast-factory.d.ts.map +1 -1
- package/dist/components/hx-toggle-button/index.js +1 -1
- package/dist/components/hx-tree-view/hx-tree-item.d.ts +117 -12
- package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
- package/dist/components/hx-tree-view/hx-tree-view.d.ts +87 -7
- package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
- package/dist/components/hx-tree-view/index.js +1 -1
- package/dist/css/helix-all.css +123 -0
- package/dist/css/helix-core.css +81 -0
- package/dist/css/helix-feedback.css +14 -0
- package/dist/css/helix-forms.css +11 -0
- package/dist/css/helix-overlay.css +17 -0
- package/dist/css/hx-alert.css +9 -0
- package/dist/css/hx-badge.css +28 -0
- package/dist/css/hx-drawer.css +17 -0
- package/dist/css/hx-icon-button.css +30 -0
- package/dist/css/hx-meter.css +5 -0
- package/dist/css/hx-tag.css +23 -0
- package/dist/css/hx-time-picker.css +11 -0
- package/dist/css/index.css +1 -1
- package/dist/css/manifest.json +3 -1
- package/dist/index.js +35 -35
- package/dist/shared/aria-idref-CxvyzfQS.js +126 -0
- package/dist/shared/aria-idref-CxvyzfQS.js.map +1 -0
- package/dist/shared/{hx-alert-CLn7CstP.js → hx-alert-Bto8-TIi.js} +55 -37
- package/dist/shared/hx-alert-Bto8-TIi.js.map +1 -0
- package/dist/shared/{hx-badge-CQXgOXJM.js → hx-badge-JlFtAdxS.js} +37 -9
- package/dist/shared/hx-badge-JlFtAdxS.js.map +1 -0
- package/dist/shared/{hx-banner-D3DzpfcP.js → hx-banner-fpRnciIO.js} +13 -5
- package/dist/shared/hx-banner-fpRnciIO.js.map +1 -0
- package/dist/shared/{hx-button-DPY6SPVT.js → hx-button-BOwAEcF1.js} +108 -85
- package/dist/shared/{hx-button-DPY6SPVT.js.map → hx-button-BOwAEcF1.js.map} +1 -1
- package/dist/shared/{hx-button-group-BI-QBqmO.js → hx-button-group-DcHP5MBv.js} +15 -16
- package/dist/shared/{hx-button-group-BI-QBqmO.js.map → hx-button-group-DcHP5MBv.js.map} +1 -1
- package/dist/shared/{hx-checkbox-BdgoUeWi.js → hx-checkbox-C48KYKFq.js} +87 -87
- package/dist/shared/hx-checkbox-C48KYKFq.js.map +1 -0
- package/dist/shared/{hx-checkbox-group-LWezHrvS.js → hx-checkbox-group-BJIAX3zU.js} +2 -2
- package/dist/shared/{hx-checkbox-group-LWezHrvS.js.map → hx-checkbox-group-BJIAX3zU.js.map} +1 -1
- package/dist/shared/{hx-color-picker-DVhZl88b.js → hx-color-picker-Dk4cBwYQ.js} +2 -2
- package/dist/shared/{hx-color-picker-DVhZl88b.js.map → hx-color-picker-Dk4cBwYQ.js.map} +1 -1
- package/dist/shared/{hx-combobox-DvlezcDV.js → hx-combobox-BTLO9qiK.js} +2 -2
- package/dist/shared/{hx-combobox-DvlezcDV.js.map → hx-combobox-BTLO9qiK.js.map} +1 -1
- package/dist/shared/{hx-data-table-CLqVqdxr.js → hx-data-table-Ct3gQ6ya.js} +3 -2
- package/dist/shared/{hx-data-table-CLqVqdxr.js.map → hx-data-table-Ct3gQ6ya.js.map} +1 -1
- package/dist/shared/{hx-date-picker-N-0aG5XL.js → hx-date-picker-CiR7FVnR.js} +2 -2
- package/dist/shared/{hx-date-picker-N-0aG5XL.js.map → hx-date-picker-CiR7FVnR.js.map} +1 -1
- package/dist/shared/{hx-dialog-DzB7VytW.js → hx-dialog-AOZpHSuF.js} +2 -2
- package/dist/shared/{hx-dialog-DzB7VytW.js.map → hx-dialog-AOZpHSuF.js.map} +1 -1
- package/dist/shared/{hx-drawer-Y1Ui2IWJ.js → hx-drawer-DH6CdAN1.js} +300 -98
- package/dist/shared/hx-drawer-DH6CdAN1.js.map +1 -0
- package/dist/shared/hx-dropdown-DiLd40Lm.js +401 -0
- package/dist/shared/hx-dropdown-DiLd40Lm.js.map +1 -0
- package/dist/shared/{hx-icon-button-CGNdQSFM.js → hx-icon-button-a6OpeQz5.js} +149 -68
- package/dist/shared/hx-icon-button-a6OpeQz5.js.map +1 -0
- package/dist/shared/{hx-link-C-O6vq0Q.js → hx-link-CMnZRUtQ.js} +55 -43
- package/dist/shared/hx-link-CMnZRUtQ.js.map +1 -0
- package/dist/shared/{hx-list-MyEhh8c7.js → hx-list-De66EtAP.js} +163 -107
- package/dist/shared/hx-list-De66EtAP.js.map +1 -0
- package/dist/shared/hx-menu-divider-BjiRIWKq.js +797 -0
- package/dist/shared/hx-menu-divider-BjiRIWKq.js.map +1 -0
- package/dist/shared/{hx-meter-BPscsw5t.js → hx-meter-BJdh6nrF.js} +105 -64
- package/dist/shared/hx-meter-BJdh6nrF.js.map +1 -0
- package/dist/shared/hx-overflow-menu-BQ4fiMYu.js +492 -0
- package/dist/shared/hx-overflow-menu-BQ4fiMYu.js.map +1 -0
- package/dist/shared/hx-phi-field-C19oxlrr.js.map +1 -1
- package/dist/shared/{hx-popover-CHxWY_cd.js → hx-popover-B9W8-tC0.js} +2 -2
- package/dist/shared/{hx-popover-CHxWY_cd.js.map → hx-popover-B9W8-tC0.js.map} +1 -1
- package/dist/shared/hx-progress-bar-C8nDMdYa.js +290 -0
- package/dist/shared/hx-progress-bar-C8nDMdYa.js.map +1 -0
- package/dist/shared/{hx-radio-CeGzARNk.js → hx-radio-Z1lV1zTO.js} +2 -2
- package/dist/shared/{hx-radio-CeGzARNk.js.map → hx-radio-Z1lV1zTO.js.map} +1 -1
- package/dist/shared/{hx-select-DrcS-YRJ.js → hx-select-D18CnJ0e.js} +2 -2
- package/dist/shared/hx-select-D18CnJ0e.js.map +1 -0
- package/dist/shared/{hx-spinner-DL5AYr16.js → hx-spinner-BB0h2hKZ.js} +62 -34
- package/dist/shared/hx-spinner-BB0h2hKZ.js.map +1 -0
- package/dist/shared/{hx-split-button-Djnc5Aeg.js → hx-split-button-BoABoEm5.js} +153 -82
- package/dist/shared/hx-split-button-BoABoEm5.js.map +1 -0
- package/dist/shared/{hx-stat-WOcNV1Ry.js → hx-stat-Dtf9lz-O.js} +77 -47
- package/dist/shared/hx-stat-Dtf9lz-O.js.map +1 -0
- package/dist/shared/{hx-switch-BX_8uNUs.js → hx-switch-B6kr-EwE.js} +2 -2
- package/dist/shared/{hx-switch-BX_8uNUs.js.map → hx-switch-B6kr-EwE.js.map} +1 -1
- package/dist/shared/{hx-tab-panel-DspCrKqo.js → hx-tab-panel-BQtBXKLD.js} +255 -131
- package/dist/shared/hx-tab-panel-BQtBXKLD.js.map +1 -0
- package/dist/shared/{hx-tag-CNSmdyaK.js → hx-tag-C5aCUpVi.js} +63 -40
- package/dist/shared/hx-tag-C5aCUpVi.js.map +1 -0
- package/dist/shared/{hx-td-DnnEMIuA.js → hx-td-BGkFOJEK.js} +267 -123
- package/dist/shared/hx-td-BGkFOJEK.js.map +1 -0
- package/dist/shared/hx-theme-BsefFWTO.js.map +1 -1
- package/dist/shared/hx-time-picker-iwCD7rzW.js +1038 -0
- package/dist/shared/hx-time-picker-iwCD7rzW.js.map +1 -0
- package/dist/shared/{hx-toggle-button-Dcz9IlUm.js → hx-toggle-button-BQ81EDkl.js} +2 -2
- package/dist/shared/{hx-toggle-button-Dcz9IlUm.js.map → hx-toggle-button-BQ81EDkl.js.map} +1 -1
- package/dist/shared/hx-tree-item-CHrUhuZL.js +925 -0
- package/dist/shared/hx-tree-item-CHrUhuZL.js.map +1 -0
- package/dist/shared/menu-roving-DmMnzJhn.js +14 -0
- package/dist/shared/menu-roving-DmMnzJhn.js.map +1 -0
- package/dist/shared/menu-tree-BNM0SYYq.js +42 -0
- package/dist/shared/menu-tree-BNM0SYYq.js.map +1 -0
- package/dist/shared/{toast-factory-YSznocIV.js → toast-factory-CL2BzdSB.js} +128 -77
- package/dist/shared/toast-factory-CL2BzdSB.js.map +1 -0
- package/dist/utils/aria-idref.d.ts.map +1 -1
- package/dist/utils/menu-label.d.ts +18 -0
- package/dist/utils/menu-label.d.ts.map +1 -0
- package/dist/utils/menu-roving.d.ts +28 -0
- package/dist/utils/menu-roving.d.ts.map +1 -0
- package/dist/utils/menu-tree.d.ts +41 -0
- package/dist/utils/menu-tree.d.ts.map +1 -0
- package/dist/utils/tree-walk.d.ts +53 -0
- package/dist/utils/tree-walk.d.ts.map +1 -0
- package/figma-inventory.json +69 -20
- package/package.json +2 -2
- package/dist/shared/aria-idref-Q0yiSR3p.js +0 -104
- package/dist/shared/aria-idref-Q0yiSR3p.js.map +0 -1
- package/dist/shared/hx-alert-CLn7CstP.js.map +0 -1
- package/dist/shared/hx-badge-CQXgOXJM.js.map +0 -1
- package/dist/shared/hx-banner-D3DzpfcP.js.map +0 -1
- package/dist/shared/hx-checkbox-BdgoUeWi.js.map +0 -1
- package/dist/shared/hx-drawer-Y1Ui2IWJ.js.map +0 -1
- package/dist/shared/hx-dropdown-DJWlF94E.js +0 -316
- package/dist/shared/hx-dropdown-DJWlF94E.js.map +0 -1
- package/dist/shared/hx-icon-button-CGNdQSFM.js.map +0 -1
- package/dist/shared/hx-link-C-O6vq0Q.js.map +0 -1
- package/dist/shared/hx-list-MyEhh8c7.js.map +0 -1
- package/dist/shared/hx-menu-divider-C2omnPtj.js +0 -558
- package/dist/shared/hx-menu-divider-C2omnPtj.js.map +0 -1
- package/dist/shared/hx-meter-BPscsw5t.js.map +0 -1
- package/dist/shared/hx-overflow-menu-DCLsdIBy.js +0 -374
- package/dist/shared/hx-overflow-menu-DCLsdIBy.js.map +0 -1
- package/dist/shared/hx-progress-bar-Bn3JEPUf.js +0 -258
- package/dist/shared/hx-progress-bar-Bn3JEPUf.js.map +0 -1
- package/dist/shared/hx-select-DrcS-YRJ.js.map +0 -1
- package/dist/shared/hx-spinner-DL5AYr16.js.map +0 -1
- package/dist/shared/hx-split-button-Djnc5Aeg.js.map +0 -1
- package/dist/shared/hx-stat-WOcNV1Ry.js.map +0 -1
- package/dist/shared/hx-tab-panel-DspCrKqo.js.map +0 -1
- package/dist/shared/hx-tag-CNSmdyaK.js.map +0 -1
- package/dist/shared/hx-td-DnnEMIuA.js.map +0 -1
- package/dist/shared/hx-time-picker-BoEIZwzv.js +0 -688
- package/dist/shared/hx-time-picker-BoEIZwzv.js.map +0 -1
- package/dist/shared/hx-tree-item-C2CiWuDE.js +0 -703
- package/dist/shared/hx-tree-item-C2CiWuDE.js.map +0 -1
- 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.
|
|
34
|
-
* `
|
|
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":"
|
|
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"}
|
|
@@ -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;
|
|
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,
|
|
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,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":"
|
|
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"}
|
|
@@ -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
|
|
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"}
|
|
@@ -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;
|
|
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"}
|
|
@@ -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":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,4CAA4C,CAAC;AAKpD,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAqDpE,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;;AAED
|
|
1
|
+
{"version":3,"file":"hx-select.d.ts","sourceRoot":"","sources":["../../../src/components/hx-select/hx-select.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"
|
|
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"}
|