@helixui/library 3.3.1 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +340 -71
- package/dist/components/hx-accordion/hx-accordion-item.d.ts +35 -0
- package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
- 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 +153 -1
- package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
- package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
- package/dist/components/hx-checkbox/index.js +1 -1
- package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +151 -2
- package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
- package/dist/components/hx-checkbox-group/index.js +1 -1
- package/dist/components/hx-color-picker/hx-color-picker.d.ts +163 -1
- package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
- package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
- package/dist/components/hx-color-picker/index.js +1 -1
- package/dist/components/hx-combobox/hx-combobox.d.ts +311 -2
- package/dist/components/hx-combobox/hx-combobox.d.ts.map +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/hx-date-picker.d.ts +182 -56
- package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
- package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
- package/dist/components/hx-date-picker/index.js +1 -1
- package/dist/components/hx-dialog/hx-dialog.d.ts +240 -0
- package/dist/components/hx-dialog/hx-dialog.d.ts.map +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 +168 -0
- 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-field/hx-field.d.ts +109 -0
- package/dist/components/hx-field/hx-field.d.ts.map +1 -1
- package/dist/components/hx-field/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/hx-popover.d.ts +91 -0
- package/dist/components/hx-popover/hx-popover.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/hx-radio-group.d.ts +152 -1
- package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
- package/dist/components/hx-radio-group/hx-radio.d.ts +14 -0
- package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
- package/dist/components/hx-radio-group/index.js +1 -1
- package/dist/components/hx-select/hx-select.d.ts +304 -2
- package/dist/components/hx-select/hx-select.d.ts.map +1 -1
- package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
- package/dist/components/hx-select/index.js +1 -1
- package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
- package/dist/components/hx-side-nav/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/hx-switch.d.ts +78 -1
- package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
- package/dist/components/hx-switch/hx-switch.styles.d.ts.map +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/hx-toggle-button.d.ts +110 -0
- package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
- package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
- package/dist/components/hx-toggle-button/index.js +1 -1
- package/dist/components/hx-tooltip/hx-tooltip.d.ts +52 -0
- package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
- package/dist/components/hx-tooltip/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 +221 -1
- package/dist/css/helix-core.css +81 -0
- package/dist/css/helix-feedback.css +14 -0
- package/dist/css/helix-forms.css +109 -1
- 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-checkbox.css +18 -0
- package/dist/css/hx-color-picker.css +25 -0
- package/dist/css/hx-date-picker.css +2 -1
- 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-select.css +19 -0
- package/dist/css/hx-switch.css +17 -0
- package/dist/css/hx-tag.css +23 -0
- package/dist/css/hx-time-picker.css +11 -0
- package/dist/css/hx-toggle-button.css +17 -0
- package/dist/css/index.css +1 -1
- package/dist/css/manifest.json +4 -1
- package/dist/index.js +38 -38
- package/dist/shared/aria-flatten-DY6v2vah.js +22 -0
- package/dist/shared/aria-flatten-DY6v2vah.js.map +1 -0
- package/dist/shared/aria-idref-CxvyzfQS.js +126 -0
- package/dist/shared/aria-idref-CxvyzfQS.js.map +1 -0
- package/dist/shared/hx-accordion-ZVzgDzTG.js.map +1 -1
- 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-C48KYKFq.js +696 -0
- package/dist/shared/hx-checkbox-C48KYKFq.js.map +1 -0
- package/dist/shared/hx-checkbox-group-BJIAX3zU.js +496 -0
- package/dist/shared/hx-checkbox-group-BJIAX3zU.js.map +1 -0
- package/dist/shared/hx-color-picker-Dk4cBwYQ.js +1221 -0
- package/dist/shared/hx-color-picker-Dk4cBwYQ.js.map +1 -0
- package/dist/shared/hx-combobox-BTLO9qiK.js +1359 -0
- package/dist/shared/hx-combobox-BTLO9qiK.js.map +1 -0
- 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-2iRG1p74.js → hx-date-picker-CiR7FVnR.js} +542 -206
- package/dist/shared/hx-date-picker-CiR7FVnR.js.map +1 -0
- package/dist/shared/hx-dialog-AOZpHSuF.js +717 -0
- package/dist/shared/hx-dialog-AOZpHSuF.js.map +1 -0
- 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-field-B3Qo8OLS.js → hx-field-zw0U1KVi.js} +99 -38
- package/dist/shared/hx-field-zw0U1KVi.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-nav-item-xqRPOCWX.js → hx-nav-item-CODtUlew.js} +13 -9
- package/dist/shared/{hx-nav-item-xqRPOCWX.js.map → hx-nav-item-CODtUlew.js.map} +1 -1
- 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-B-FP3-wW.js → hx-popover-B9W8-tC0.js} +123 -66
- package/dist/shared/hx-popover-B9W8-tC0.js.map +1 -0
- 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-Z1lV1zTO.js +822 -0
- package/dist/shared/hx-radio-Z1lV1zTO.js.map +1 -0
- package/dist/shared/hx-select-D18CnJ0e.js +1089 -0
- 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-B6kr-EwE.js +540 -0
- package/dist/shared/hx-switch-B6kr-EwE.js.map +1 -0
- 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-iLiYrMbD.js → hx-toggle-button-BQ81EDkl.js} +226 -65
- package/dist/shared/hx-toggle-button-BQ81EDkl.js.map +1 -0
- package/dist/shared/{hx-tooltip-nYOv9OLu.js → hx-tooltip-DVqtKPCD.js} +68 -46
- package/dist/shared/hx-tooltip-DVqtKPCD.js.map +1 -0
- 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-flatten.d.ts +56 -0
- package/dist/utils/aria-flatten.d.ts.map +1 -0
- package/dist/utils/aria-idref.d.ts +127 -0
- package/dist/utils/aria-idref.d.ts.map +1 -0
- 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 +132 -20
- package/package.json +1 -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-D7xma9YH.js +0 -524
- package/dist/shared/hx-checkbox-D7xma9YH.js.map +0 -1
- package/dist/shared/hx-checkbox-group-C9n315Ju.js +0 -323
- package/dist/shared/hx-checkbox-group-C9n315Ju.js.map +0 -1
- package/dist/shared/hx-color-picker-uRc865FJ.js +0 -882
- package/dist/shared/hx-color-picker-uRc865FJ.js.map +0 -1
- package/dist/shared/hx-combobox-DDzqNKEW.js +0 -924
- package/dist/shared/hx-combobox-DDzqNKEW.js.map +0 -1
- package/dist/shared/hx-date-picker-2iRG1p74.js.map +0 -1
- package/dist/shared/hx-dialog-DRN_1-Y-.js +0 -514
- package/dist/shared/hx-dialog-DRN_1-Y-.js.map +0 -1
- package/dist/shared/hx-drawer-Y1Ui2IWJ.js.map +0 -1
- package/dist/shared/hx-dropdown-LyaRc8Rf.js +0 -263
- package/dist/shared/hx-dropdown-LyaRc8Rf.js.map +0 -1
- package/dist/shared/hx-field-B3Qo8OLS.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-popover-B-FP3-wW.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-radio-CJvNU2yP.js +0 -621
- package/dist/shared/hx-radio-CJvNU2yP.js.map +0 -1
- package/dist/shared/hx-select-C8fEHQhC.js +0 -807
- package/dist/shared/hx-select-C8fEHQhC.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-switch-BrZFaRue.js +0 -420
- package/dist/shared/hx-switch-BrZFaRue.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-toggle-button-iLiYrMbD.js.map +0 -1
- package/dist/shared/hx-tooltip-nYOv9OLu.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
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utilities for resolving `aria-labelledby` and `aria-describedby`
|
|
3
|
+
* IDREF token lists across the Shadow DOM boundary.
|
|
4
|
+
*
|
|
5
|
+
* Selection-control components (`hx-checkbox`, `hx-radio-group`, `hx-switch`,
|
|
6
|
+
* etc.) elevate their semantic surface to the host via `ElementInternals` so
|
|
7
|
+
* that consumer-supplied `aria-labelledby` / `aria-describedby` on the host
|
|
8
|
+
* resolves to light-DOM elements rather than being trapped on inner shadow
|
|
9
|
+
* nodes.
|
|
10
|
+
*
|
|
11
|
+
* Modern Chromium 134+ and Safari 17.4+ expose the IDL element-references API
|
|
12
|
+
* (`internals.ariaLabelledByElements`, `internals.ariaDescribedByElements`).
|
|
13
|
+
* For those engines we resolve token IDs against the host's root node (a
|
|
14
|
+
* Document or ShadowRoot) and assign the resulting elements directly.
|
|
15
|
+
*
|
|
16
|
+
* Older engines fall back to the host-attribute path: the ARIA delegation
|
|
17
|
+
* mixin keeps the original token list in `data-aria-labelledby`/
|
|
18
|
+
* `data-aria-describedby`, which assistive technology cannot follow into the
|
|
19
|
+
* shadow root, but that is the same surface area as the pre-fix code and is
|
|
20
|
+
* not a regression.
|
|
21
|
+
*
|
|
22
|
+
* Component authors do NOT need to wire this directly — see
|
|
23
|
+
* `installAriaIdrefMirror()` for an installable observer that keeps an inner
|
|
24
|
+
* node's `aria-*` attributes in sync with the token list across mutations.
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Resolves a whitespace-separated IDREF token list to live element references.
|
|
28
|
+
*
|
|
29
|
+
* Searches the host's containing root first (Document or ShadowRoot), then
|
|
30
|
+
* walks up through enclosing shadow hosts, and finally falls back to the
|
|
31
|
+
* top-level Document. Codex round-15 P1: hx-* controls embedded inside an
|
|
32
|
+
* outer component's shadow tree often legitimately reference labels/descriptions
|
|
33
|
+
* declared in the outer document or in an ancestor shadow tree. Restricting
|
|
34
|
+
* resolution to a single root left those controls anonymous on the
|
|
35
|
+
* `ariaLabelledByElements` / `ariaDescribedByElements` path. The IDL
|
|
36
|
+
* element-references API accepts any element regardless of root, so widening
|
|
37
|
+
* the search closes that gap.
|
|
38
|
+
*
|
|
39
|
+
* Codex round-16 P1: when the host is **slotted into** another component
|
|
40
|
+
* (light-DOM child of a shadow-root-bearing element), `host.getRootNode()`
|
|
41
|
+
* is still the document, so IDREF targets declared in the slot owner's
|
|
42
|
+
* shadow root are unreachable through the ancestor-shadow-host chain. We
|
|
43
|
+
* additionally walk `host.assignedSlot.getRootNode()` — that resolves to
|
|
44
|
+
* the slot owner's shadow root — and continue up that root's host chain so
|
|
45
|
+
* cross-shadow IDREF resolution works for the composed-tree slotting
|
|
46
|
+
* pattern. The walk is recursive: a slot owner that is itself slotted into
|
|
47
|
+
* another shadow tree contributes its own ancestor chain too.
|
|
48
|
+
*
|
|
49
|
+
* Tokens that fail to resolve at every level are silently dropped — matching
|
|
50
|
+
* native attribute-string platform behaviour where unresolved tokens are
|
|
51
|
+
* ignored.
|
|
52
|
+
*/
|
|
53
|
+
export declare function resolveIdrefTokens(host: Element, tokens: string | null): Element[];
|
|
54
|
+
/**
|
|
55
|
+
* True when the runtime exposes the IDL element-references API on
|
|
56
|
+
* `ElementInternals`. Older Firefox / Safari builds return `undefined`
|
|
57
|
+
* for these accessors.
|
|
58
|
+
*/
|
|
59
|
+
export declare function supportsIdrefElementReferences(internals: ElementInternals): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Mirror snapshot describing what should be applied to inner ARIA-bearing
|
|
62
|
+
* shadow nodes. Components consume this to project the correct attributes
|
|
63
|
+
* onto whichever inner element owns the announced semantic role.
|
|
64
|
+
*/
|
|
65
|
+
export interface AriaIdrefSnapshot {
|
|
66
|
+
/** Computed `aria-labelledby` token list, or `null` to omit. */
|
|
67
|
+
labelledBy: string | null;
|
|
68
|
+
/** Computed `aria-describedby` token list, or `null` to omit. */
|
|
69
|
+
describedBy: string | null;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Merges two whitespace-separated token lists, preserving order and removing
|
|
73
|
+
* duplicates. `null`/empty inputs are skipped. Returns `null` when the merged
|
|
74
|
+
* list is empty.
|
|
75
|
+
*/
|
|
76
|
+
export declare function mergeTokenLists(...lists: Array<string | null | undefined>): string | null;
|
|
77
|
+
/**
|
|
78
|
+
* Options accepted by `installAriaIdrefMirror()`.
|
|
79
|
+
*/
|
|
80
|
+
export interface AriaIdrefMirrorOptions {
|
|
81
|
+
/**
|
|
82
|
+
* Attribute names on the host whose mutations should trigger a resync.
|
|
83
|
+
* Defaults to `['aria-labelledby', 'aria-describedby', 'aria-label']` plus
|
|
84
|
+
* the `data-aria-*` mirrors used by `mixinDelegatesAria`.
|
|
85
|
+
*/
|
|
86
|
+
observedAttributes?: string[];
|
|
87
|
+
/**
|
|
88
|
+
* Whether to observe the resolved root for `id` attribute and `childList`
|
|
89
|
+
* mutations so that late-inserted IDREF targets and id renames trigger a
|
|
90
|
+
* resync. Defaults to `true`.
|
|
91
|
+
*/
|
|
92
|
+
observeRoot?: boolean;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Handle returned by `installAriaIdrefMirror()`. Call `disconnect()` from
|
|
96
|
+
* `disconnectedCallback()` to tear the observers down. `resync()` forces an
|
|
97
|
+
* immediate sync — useful from `connectedCallback()` after the host has been
|
|
98
|
+
* re-attached to a new root.
|
|
99
|
+
*/
|
|
100
|
+
export interface AriaIdrefMirrorHandle {
|
|
101
|
+
/** Force an immediate sync. */
|
|
102
|
+
resync(): void;
|
|
103
|
+
/** Tear down all observers and listeners. */
|
|
104
|
+
disconnect(): void;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Installs a `MutationObserver` pair that keeps host ARIA semantics in sync
|
|
108
|
+
* with mutations to consumer-supplied attributes AND late-target / id
|
|
109
|
+
* mutations in the host's resolved root.
|
|
110
|
+
*
|
|
111
|
+
* The `sync` callback is invoked on:
|
|
112
|
+
* 1. Initial install (synchronously)
|
|
113
|
+
* 2. Any change to one of the observed host attributes
|
|
114
|
+
* 3. Any `id` attribute mutation, child insertion, or child removal in the
|
|
115
|
+
* resolved root (Document or ShadowRoot containing the host)
|
|
116
|
+
*
|
|
117
|
+
* Components should call this from `connectedCallback()` and call
|
|
118
|
+
* `handle.disconnect()` from `disconnectedCallback()`. The handle's
|
|
119
|
+
* `resync()` method is safe to call from any lifecycle hook.
|
|
120
|
+
*
|
|
121
|
+
* Costs are bounded: the host observer touches one element; the root
|
|
122
|
+
* observer is shared per `Document`/`ShadowRoot` (codex round-7 #11) so every
|
|
123
|
+
* subscribing host pays a single attach cost regardless of how many other
|
|
124
|
+
* IDREF-aware controls share the root.
|
|
125
|
+
*/
|
|
126
|
+
export declare function installAriaIdrefMirror(host: Element, sync: () => void, options?: AriaIdrefMirrorOptions): AriaIdrefMirrorHandle;
|
|
127
|
+
//# sourceMappingURL=aria-idref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aria-idref.d.ts","sourceRoot":"","sources":["../../src/utils/aria-idref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,EAAE,CA6BlF;AAsGD;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAOnF;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iEAAiE;IACjE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,CAazF;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,+BAA+B;IAC/B,MAAM,IAAI,IAAI,CAAC;IACf,6CAA6C;IAC7C,UAAU,IAAI,IAAI,CAAC;CACpB;AAoGD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,MAAM,IAAI,EAChB,OAAO,GAAE,sBAA2B,GACnC,qBAAqB,CAsGvB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read the typeahead label for a menu item — the item's OWN text content
|
|
3
|
+
* EXCLUDING any nested submenu subtree projected through `slot="submenu"`.
|
|
4
|
+
*
|
|
5
|
+
* Codex push-gate round-6 finding 3 (hx-menu) + round-7 finding 3 (composites):
|
|
6
|
+
* a naive `item.textContent` walks the entire light-DOM tree, which on a
|
|
7
|
+
* parent menuitem includes the slotted nested `<hx-menu>` and its descendants.
|
|
8
|
+
* Typing the first letter of a child item then matches the parent (because
|
|
9
|
+
* the parent's subtree contains that text), causing first-character nav to
|
|
10
|
+
* focus the parent instead of the next sibling. Filter `slot="submenu"` out.
|
|
11
|
+
*
|
|
12
|
+
* Single source of truth for `hx-menu`, `hx-dropdown`, `hx-overflow-menu`,
|
|
13
|
+
* and `hx-split-button` typeahead matchers.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare function getMenuItemTypeaheadLabel(item: Element): string;
|
|
18
|
+
//# sourceMappingURL=menu-label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-label.d.ts","sourceRoot":"","sources":["../../src/utils/menu-label.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAS/D"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Write the roving tabindex value through the right surface for each menu
|
|
3
|
+
* item shape used inside `hx-menu`, `hx-dropdown`, `hx-overflow-menu`, and
|
|
4
|
+
* `hx-split-button` panels.
|
|
5
|
+
*
|
|
6
|
+
* Codex push-gate round-2 (hx-overflow-menu) + round-8 finding 2
|
|
7
|
+
* (hx-dropdown): host-canonical `hx-menu-item` cannot be addressed via the
|
|
8
|
+
* raw `tabIndex` setter on the host because:
|
|
9
|
+
*
|
|
10
|
+
* - On the modern path the host carries the announced role + IDL ARIA, so
|
|
11
|
+
* the roving tabindex must land on the host (so Tab and arrow advance to
|
|
12
|
+
* the announced surface).
|
|
13
|
+
* - On the fallback path the host is forced to `tabindex=-1` so the inner
|
|
14
|
+
* `.menu-item` element is the single focusable surface; the roving
|
|
15
|
+
* tabindex must land on the inner element.
|
|
16
|
+
*
|
|
17
|
+
* `hx-menu-item.setRovingTabIndex(value)` routes to the correct surface
|
|
18
|
+
* internally. For plain slotted `[role="menuitem"]` elements (legacy
|
|
19
|
+
* `<button>` / `<a>` children), fall back to the direct `tabIndex` write
|
|
20
|
+
* so consumers without `hx-menu-item` keep working.
|
|
21
|
+
*
|
|
22
|
+
* Single source of truth across hx-dropdown, hx-overflow-menu, etc. so
|
|
23
|
+
* future host-canonical menu shapes only have to teach this helper.
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare function writeMenuItemRovingTabIndex(item: HTMLElement, value: number): void;
|
|
28
|
+
//# sourceMappingURL=menu-roving.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-roving.d.ts","sourceRoot":"","sources":["../../src/utils/menu-roving.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAUlF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composed-tree walkers for the `hx-menu` family.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from `hx-menu.ts` (codex push-gate round-9) because the same
|
|
5
|
+
* walks are now needed by `hx-dropdown`, `hx-overflow-menu`, and
|
|
6
|
+
* `hx-split-button` to route nested `hx-item-submenu-open` /
|
|
7
|
+
* `hx-item-submenu-close` events to the correct parent. Keeping the helpers
|
|
8
|
+
* in a shared util avoids importing `hx-menu.ts` from the composites
|
|
9
|
+
* (cyclic) and keeps the tag-name string checks in one place.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Walks the composed tree from `start` outward and returns the closest
|
|
15
|
+
* enclosing `<hx-menu>` element, or `null` if none exists. Crosses both
|
|
16
|
+
* shadow boundaries (`getRootNode().host`) and slot boundaries
|
|
17
|
+
* (`assignedSlot`) so an item nested inside a submenu resolves to the
|
|
18
|
+
* inner menu, not the outer one. Codex push-gate round-4 P1.
|
|
19
|
+
*
|
|
20
|
+
* Returned as `Element` (rather than the concrete `HelixMenu` class) to
|
|
21
|
+
* avoid a circular import between `hx-menu` and this util; callers can
|
|
22
|
+
* narrow with `instanceof HelixMenu` if they need typed access.
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export declare function findClosestMenuAncestor(start: Element): Element | null;
|
|
27
|
+
/**
|
|
28
|
+
* Returns the `hx-menu-item` that owns `menu` as a nested submenu, or
|
|
29
|
+
* `null` if `menu` is a top-level menu (not slotted into a parent item's
|
|
30
|
+
* `slot="submenu"`). Used by ArrowLeft handling to close the correct
|
|
31
|
+
* submenu and return focus to the right parent. Codex push-gate round-4
|
|
32
|
+
* P1.
|
|
33
|
+
*
|
|
34
|
+
* Returned as `HTMLElement` (rather than the concrete `HelixMenuItem`
|
|
35
|
+
* class) to avoid a circular import with `hx-menu-item`; callers can
|
|
36
|
+
* narrow with `instanceof HelixMenuItem` if they need typed access.
|
|
37
|
+
*
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
export declare function findOwningMenuItem(menu: Element): HTMLElement | null;
|
|
41
|
+
//# sourceMappingURL=menu-tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-tree.d.ts","sourceRoot":"","sources":["../../src/utils/menu-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAiCtE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAWpE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composed-tree walkers for the `hx-tree-view` family.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the `menu-tree.ts` utilities (codex push-gate round-9 extraction
|
|
5
|
+
* for the menu family), but specialized for `hx-tree-view` / `hx-tree-item`
|
|
6
|
+
* where nesting is structural rather than slot-based — child items live in a
|
|
7
|
+
* named `slot="children"` projected into the parent item's shadow root,
|
|
8
|
+
* and any number of nesting levels are legal.
|
|
9
|
+
*
|
|
10
|
+
* Group 5c (codex push-gate round-1 lift): `hx-tree-view`'s host-bound
|
|
11
|
+
* keydown / select handlers receive bubbled events from EVERY descendant
|
|
12
|
+
* tree-item, including ones that legitimately belong to an inner
|
|
13
|
+
* `hx-tree-view`. The same guard pattern that `hx-menu` uses (act only when
|
|
14
|
+
* THIS host is the closest enclosing surface of the dispatching item) is
|
|
15
|
+
* required for trees too. `hx-tree-item._handleClick` /
|
|
16
|
+
* `_handleKeyDown` need to ignore bubbled events from a CHILD `hx-tree-item`
|
|
17
|
+
* — otherwise selecting Child also activates Parent and Enter on Child
|
|
18
|
+
* re-fires Parent's handler.
|
|
19
|
+
*
|
|
20
|
+
* @module
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Walks the composed tree from `start` outward and returns the closest
|
|
24
|
+
* enclosing `<hx-tree-view>` element, or `null` if none exists. Crosses
|
|
25
|
+
* shadow boundaries (`getRootNode().host`) and slot boundaries
|
|
26
|
+
* (`assignedSlot`) so that an item nested inside a child tree-item — which
|
|
27
|
+
* lives in the parent item's `slot="children"`, projected into the parent's
|
|
28
|
+
* shadow root — resolves to the correct enclosing tree.
|
|
29
|
+
*
|
|
30
|
+
* Returned as `Element` to avoid a circular import between `hx-tree-view`
|
|
31
|
+
* and this util; callers narrow with `instanceof HelixTreeView` if needed.
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export declare function findClosestTreeView(start: Element): Element | null;
|
|
36
|
+
/**
|
|
37
|
+
* Walks the composed tree from `start` outward and returns the closest
|
|
38
|
+
* enclosing `<hx-tree-item>` element, or `null` if none exists. Includes
|
|
39
|
+
* `start` itself when it is an `hx-tree-item`.
|
|
40
|
+
*
|
|
41
|
+
* Used by `hx-tree-item`'s `_isOwnEvent` origin guard: a click or keydown
|
|
42
|
+
* is "ours" iff the closest `hx-tree-item` ancestor of the original event
|
|
43
|
+
* target is THIS item (not a child item slotted into our `children` slot).
|
|
44
|
+
* The walk crosses shadow + slot boundaries so a deeply nested child item
|
|
45
|
+
* resolves correctly.
|
|
46
|
+
*
|
|
47
|
+
* Returned as `Element` to avoid a circular import; callers narrow with
|
|
48
|
+
* `instanceof HelixTreeItem` if needed.
|
|
49
|
+
*
|
|
50
|
+
* @internal
|
|
51
|
+
*/
|
|
52
|
+
export declare function findClosestTreeItem(start: Element): Element | null;
|
|
53
|
+
//# sourceMappingURL=tree-walk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-walk.d.ts","sourceRoot":"","sources":["../../src/utils/tree-walk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAsBlE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAsBlE"}
|
package/figma-inventory.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-05-
|
|
3
|
+
"generatedAt": "2026-05-06T11:01:35.731Z",
|
|
4
4
|
"sourceCem": "custom-elements.json",
|
|
5
|
-
"helixVersion": "3.
|
|
5
|
+
"helixVersion": "3.4.0",
|
|
6
6
|
"tokensVersion": "3.3.1",
|
|
7
7
|
"components": [
|
|
8
8
|
{
|
|
@@ -5519,6 +5519,30 @@
|
|
|
5519
5519
|
"type": "text",
|
|
5520
5520
|
"defaultValue": ""
|
|
5521
5521
|
},
|
|
5522
|
+
{
|
|
5523
|
+
"figmaPropertyName": "label",
|
|
5524
|
+
"cemAttribute": "label",
|
|
5525
|
+
"type": "text",
|
|
5526
|
+
"defaultValue": "undefined"
|
|
5527
|
+
},
|
|
5528
|
+
{
|
|
5529
|
+
"figmaPropertyName": "accessibleLabel",
|
|
5530
|
+
"cemAttribute": "accessible-label",
|
|
5531
|
+
"type": "text",
|
|
5532
|
+
"defaultValue": "undefined"
|
|
5533
|
+
},
|
|
5534
|
+
{
|
|
5535
|
+
"figmaPropertyName": "helpText",
|
|
5536
|
+
"cemAttribute": "help-text",
|
|
5537
|
+
"type": "text",
|
|
5538
|
+
"defaultValue": "undefined"
|
|
5539
|
+
},
|
|
5540
|
+
{
|
|
5541
|
+
"figmaPropertyName": "error",
|
|
5542
|
+
"cemAttribute": "error",
|
|
5543
|
+
"type": "text",
|
|
5544
|
+
"defaultValue": "undefined"
|
|
5545
|
+
},
|
|
5522
5546
|
{
|
|
5523
5547
|
"figmaPropertyName": "labelGradient",
|
|
5524
5548
|
"cemAttribute": "label-gradient",
|
|
@@ -5569,6 +5593,27 @@
|
|
|
5569
5593
|
"type": "instance-swap",
|
|
5570
5594
|
"default": null,
|
|
5571
5595
|
"description": "Custom trigger element. Default: a color swatch button."
|
|
5596
|
+
},
|
|
5597
|
+
{
|
|
5598
|
+
"figmaPropertyName": "label",
|
|
5599
|
+
"cemSlot": "label",
|
|
5600
|
+
"type": "instance-swap",
|
|
5601
|
+
"default": null,
|
|
5602
|
+
"description": "Visible label projected above the trigger; aggregated text contributes to the host's accessible name when no stronger naming source (aria-labelledby/aria-label/accessible-label/label) is supplied."
|
|
5603
|
+
},
|
|
5604
|
+
{
|
|
5605
|
+
"figmaPropertyName": "help-text",
|
|
5606
|
+
"cemSlot": "help-text",
|
|
5607
|
+
"type": "instance-swap",
|
|
5608
|
+
"default": null,
|
|
5609
|
+
"description": "Help text rendered below the trigger and joined into the host's announced description channel."
|
|
5610
|
+
},
|
|
5611
|
+
{
|
|
5612
|
+
"figmaPropertyName": "error",
|
|
5613
|
+
"cemSlot": "error",
|
|
5614
|
+
"type": "instance-swap",
|
|
5615
|
+
"default": null,
|
|
5616
|
+
"description": "Error message rendered below help text. When present, marks the trigger as aria-invalid and is announced via a polite live region."
|
|
5572
5617
|
}
|
|
5573
5618
|
],
|
|
5574
5619
|
"cssParts": [
|
|
@@ -5599,6 +5644,18 @@
|
|
|
5599
5644
|
{
|
|
5600
5645
|
"description": "The text input area.",
|
|
5601
5646
|
"name": "input"
|
|
5647
|
+
},
|
|
5648
|
+
{
|
|
5649
|
+
"description": "The visible label container above the trigger.",
|
|
5650
|
+
"name": "label"
|
|
5651
|
+
},
|
|
5652
|
+
{
|
|
5653
|
+
"description": "The help-text container rendered below the trigger.",
|
|
5654
|
+
"name": "help-text"
|
|
5655
|
+
},
|
|
5656
|
+
{
|
|
5657
|
+
"description": "The error-message container rendered below help text.",
|
|
5658
|
+
"name": "error"
|
|
5602
5659
|
}
|
|
5603
5660
|
],
|
|
5604
5661
|
"events": [
|
|
@@ -7808,6 +7865,12 @@
|
|
|
7808
7865
|
"cemAttribute": "next-month-label",
|
|
7809
7866
|
"type": "text",
|
|
7810
7867
|
"defaultValue": "Next month"
|
|
7868
|
+
},
|
|
7869
|
+
{
|
|
7870
|
+
"figmaPropertyName": "accessibleLabel",
|
|
7871
|
+
"cemAttribute": "accessible-label",
|
|
7872
|
+
"type": "text",
|
|
7873
|
+
"defaultValue": "null"
|
|
7811
7874
|
}
|
|
7812
7875
|
],
|
|
7813
7876
|
"slots": [
|
|
@@ -11396,6 +11459,17 @@
|
|
|
11396
11459
|
"true"
|
|
11397
11460
|
],
|
|
11398
11461
|
"default": "false"
|
|
11462
|
+
},
|
|
11463
|
+
{
|
|
11464
|
+
"figmaAxisName": "loading",
|
|
11465
|
+
"cemAttribute": "loading",
|
|
11466
|
+
"cemFieldName": "loading",
|
|
11467
|
+
"type": "boolean",
|
|
11468
|
+
"values": [
|
|
11469
|
+
"false",
|
|
11470
|
+
"true"
|
|
11471
|
+
],
|
|
11472
|
+
"default": "false"
|
|
11399
11473
|
}
|
|
11400
11474
|
],
|
|
11401
11475
|
"textProperties": [
|
|
@@ -11442,6 +11516,10 @@
|
|
|
11442
11516
|
{
|
|
11443
11517
|
"description": "The icon container span wrapping the default slot.",
|
|
11444
11518
|
"name": "icon"
|
|
11519
|
+
},
|
|
11520
|
+
{
|
|
11521
|
+
"description": "The loading spinner SVG element shown when `loading` is true.",
|
|
11522
|
+
"name": "spinner"
|
|
11445
11523
|
}
|
|
11446
11524
|
],
|
|
11447
11525
|
"events": [
|
|
@@ -11918,6 +11996,12 @@
|
|
|
11918
11996
|
"cemAttribute": "rel",
|
|
11919
11997
|
"type": "text",
|
|
11920
11998
|
"defaultValue": "undefined"
|
|
11999
|
+
},
|
|
12000
|
+
{
|
|
12001
|
+
"figmaPropertyName": "externalLabel",
|
|
12002
|
+
"cemAttribute": "external-label",
|
|
12003
|
+
"type": "text",
|
|
12004
|
+
"defaultValue": "(opens in new tab)"
|
|
11921
12005
|
}
|
|
11922
12006
|
],
|
|
11923
12007
|
"slots": [
|
|
@@ -12685,7 +12769,7 @@
|
|
|
12685
12769
|
"figmaEligible": true,
|
|
12686
12770
|
"figmaComponentName": "hx-menu-item",
|
|
12687
12771
|
"figmaPagePlacement": "4a",
|
|
12688
|
-
"description": "A single interactive item for use inside `hx-menu`. Supports normal, checkbox, and radio types, loading state, prefix/suffix slots, and submenu nesting.
|
|
12772
|
+
"description": "A single interactive item for use inside `hx-menu`. Supports normal, checkbox, and radio types, loading state, prefix/suffix slots, and submenu nesting.",
|
|
12689
12773
|
"tier": "atom",
|
|
12690
12774
|
"variantAxes": [
|
|
12691
12775
|
{
|
|
@@ -12807,18 +12891,18 @@
|
|
|
12807
12891
|
"description": "Dispatched when the item is activated via click, Enter, or Space."
|
|
12808
12892
|
},
|
|
12809
12893
|
{
|
|
12810
|
-
"name": "hx-item-submenu-open",
|
|
12811
12894
|
"type": {
|
|
12812
12895
|
"text": "CustomEvent<{item: HelixMenuItem}>"
|
|
12813
12896
|
},
|
|
12814
|
-
"description": "Dispatched when ArrowRight is pressed on an item with a submenu."
|
|
12897
|
+
"description": "Dispatched when ArrowRight is pressed on an item with a submenu.",
|
|
12898
|
+
"name": "hx-item-submenu-open"
|
|
12815
12899
|
},
|
|
12816
12900
|
{
|
|
12817
|
-
"name": "hx-item-submenu-close",
|
|
12818
12901
|
"type": {
|
|
12819
12902
|
"text": "CustomEvent<{item: HelixMenuItem}>"
|
|
12820
12903
|
},
|
|
12821
|
-
"description": "Dispatched when ArrowLeft is pressed on an item, signaling the parent to close the submenu and return focus."
|
|
12904
|
+
"description": "Dispatched when ArrowLeft is pressed on an item, signaling the parent to close the submenu and return focus.",
|
|
12905
|
+
"name": "hx-item-submenu-close"
|
|
12822
12906
|
}
|
|
12823
12907
|
],
|
|
12824
12908
|
"cssProperties": [
|
|
@@ -17071,6 +17155,13 @@
|
|
|
17071
17155
|
"text": "CustomEvent<{value: string}>"
|
|
17072
17156
|
},
|
|
17073
17157
|
"description": "Dispatched when the selected option changes."
|
|
17158
|
+
},
|
|
17159
|
+
{
|
|
17160
|
+
"type": {
|
|
17161
|
+
"text": "Event"
|
|
17162
|
+
},
|
|
17163
|
+
"description": "Platform constraint-validation event fired when checkValidity() / reportValidity() determine the value is invalid (form-associated component contract via ElementInternals.setValidity).",
|
|
17164
|
+
"name": "invalid"
|
|
17074
17165
|
}
|
|
17075
17166
|
],
|
|
17076
17167
|
"cssProperties": [
|
|
@@ -21641,7 +21732,7 @@
|
|
|
21641
21732
|
"figmaEligible": true,
|
|
21642
21733
|
"figmaComponentName": "hx-tab-panel",
|
|
21643
21734
|
"figmaPagePlacement": "4a",
|
|
21644
|
-
"description": "A content panel associated with an `<hx-tab>`, managed by a parent `<hx-tabs>`.",
|
|
21735
|
+
"description": "A content panel associated with an `<hx-tab>`, managed by a parent `<hx-tabs>`. Group 5a host-canonical: `role=\"tabpanel\"` lives on the host via `_internals.role`. The host carries the canonical AT…",
|
|
21645
21736
|
"tier": "atom",
|
|
21646
21737
|
"variantAxes": [],
|
|
21647
21738
|
"textProperties": [
|
|
@@ -21980,7 +22071,7 @@
|
|
|
21980
22071
|
"manual",
|
|
21981
22072
|
"automatic"
|
|
21982
22073
|
],
|
|
21983
|
-
"default": "
|
|
22074
|
+
"default": "manual"
|
|
21984
22075
|
}
|
|
21985
22076
|
],
|
|
21986
22077
|
"textProperties": [
|
|
@@ -24138,31 +24229,46 @@
|
|
|
24138
24229
|
],
|
|
24139
24230
|
"cssParts": [
|
|
24140
24231
|
{
|
|
24141
|
-
"description": "The inner slot wrapper element. `display: contents` — no layout effect.",
|
|
24232
|
+
"description": "The inner slot wrapper element. `display: contents` — no layout effect. Theme-injected CSS custom properties (semantic surface — full token catalog lives in `@helixui/tokens`; the wildcard `--hx-*` was previously documented here but the CEM cssProperties[] surface requires explicit names).",
|
|
24142
24233
|
"name": "base"
|
|
24143
24234
|
}
|
|
24144
24235
|
],
|
|
24145
24236
|
"events": [],
|
|
24146
24237
|
"cssProperties": [
|
|
24147
24238
|
{
|
|
24148
|
-
"description": "
|
|
24149
|
-
"name": "--hx
|
|
24239
|
+
"description": "Primary text color (theme-injected).",
|
|
24240
|
+
"name": "--hx-color-text-primary",
|
|
24150
24241
|
"figmaBinding": null
|
|
24151
24242
|
},
|
|
24152
24243
|
{
|
|
24153
|
-
"description": "
|
|
24154
|
-
"name": "--hx-color-
|
|
24244
|
+
"description": "Base surface background (theme-injected).",
|
|
24245
|
+
"name": "--hx-color-surface-base",
|
|
24155
24246
|
"figmaBinding": null
|
|
24156
24247
|
},
|
|
24157
24248
|
{
|
|
24158
|
-
"description": "
|
|
24249
|
+
"description": "Default border color (theme-injected).",
|
|
24250
|
+
"name": "--hx-color-border-default",
|
|
24251
|
+
"figmaBinding": null
|
|
24252
|
+
},
|
|
24253
|
+
{
|
|
24254
|
+
"description": "Spacing token (theme-injected).",
|
|
24159
24255
|
"name": "--hx-space-4",
|
|
24160
24256
|
"figmaBinding": null
|
|
24161
24257
|
},
|
|
24162
24258
|
{
|
|
24163
|
-
"description": "Animation duration.",
|
|
24259
|
+
"description": "Animation duration (theme-injected).",
|
|
24164
24260
|
"name": "--hx-duration-fast",
|
|
24165
24261
|
"figmaBinding": null
|
|
24262
|
+
},
|
|
24263
|
+
{
|
|
24264
|
+
"description": "Medium border-radius (theme-injected).",
|
|
24265
|
+
"name": "--hx-radius-md",
|
|
24266
|
+
"figmaBinding": null
|
|
24267
|
+
},
|
|
24268
|
+
{
|
|
24269
|
+
"description": "Body font family (theme-injected).",
|
|
24270
|
+
"name": "--hx-font-family-body",
|
|
24271
|
+
"figmaBinding": null
|
|
24166
24272
|
}
|
|
24167
24273
|
],
|
|
24168
24274
|
"dependsOn": [],
|
|
@@ -24255,6 +24361,12 @@
|
|
|
24255
24361
|
"cemAttribute": "error",
|
|
24256
24362
|
"type": "text",
|
|
24257
24363
|
"defaultValue": ""
|
|
24364
|
+
},
|
|
24365
|
+
{
|
|
24366
|
+
"figmaPropertyName": "accessibleLabel",
|
|
24367
|
+
"cemAttribute": "accessible-label",
|
|
24368
|
+
"type": "text",
|
|
24369
|
+
"defaultValue": "null"
|
|
24258
24370
|
}
|
|
24259
24371
|
],
|
|
24260
24372
|
"slots": [
|
|
@@ -25087,7 +25199,7 @@
|
|
|
25087
25199
|
"events": [],
|
|
25088
25200
|
"cssProperties": [
|
|
25089
25201
|
{
|
|
25090
|
-
"description": "Z-index for the fixed stack.",
|
|
25202
|
+
"description": "Z-index for the fixed stack. ─── ARIA scope (group-6 §3.2 / §5.9) ───────────────────────────────────── `hx-toast-stack` deliberately has NO `role`, `aria-live`, `aria-atomic`, or `aria-relevant` on its host or inner container. Each child `hx-toast` is its own live region (role=alert/status via ElementInternals). Wrapping those toasts in a second live region (e.g. `role=\"log\"` on the stack) would create nested live regions, which causes older NVDA/JAWS to announce every toast TWICE — once for the toast's own role, once for the surrounding log region. The stack is purely a positional/z-index container; it is invisible to the AT tree. Do NOT add a container role unless this entire architecture is rewritten so individual toasts no longer carry their own roles.",
|
|
25091
25203
|
"name": "--hx-z-index-toast",
|
|
25092
25204
|
"default": "9000",
|
|
25093
25205
|
"figmaBinding": {
|
|
@@ -26205,7 +26317,7 @@
|
|
|
26205
26317
|
"name": "item"
|
|
26206
26318
|
},
|
|
26207
26319
|
{
|
|
26208
|
-
"description": "The interactive item row (
|
|
26320
|
+
"description": "The interactive item row (presentational on the modern path; carries role=\"treeitem\" + aria-* on the legacy fallback).",
|
|
26209
26321
|
"name": "row"
|
|
26210
26322
|
},
|
|
26211
26323
|
{
|
|
@@ -26217,7 +26329,7 @@
|
|
|
26217
26329
|
"name": "label"
|
|
26218
26330
|
},
|
|
26219
26331
|
{
|
|
26220
|
-
"description": "The children container.",
|
|
26332
|
+
"description": "The children container (always carries role=\"group\").",
|
|
26221
26333
|
"name": "children"
|
|
26222
26334
|
}
|
|
26223
26335
|
],
|
|
@@ -26361,7 +26473,7 @@
|
|
|
26361
26473
|
],
|
|
26362
26474
|
"cssParts": [
|
|
26363
26475
|
{
|
|
26364
|
-
"description": "The tree container element with role=\"tree\".",
|
|
26476
|
+
"description": "The tree container element with role=\"tree\" (legacy fallback path) or the inner shadow surface (modern path; role lives on the host).",
|
|
26365
26477
|
"name": "tree"
|
|
26366
26478
|
}
|
|
26367
26479
|
],
|