@helixui/library 3.3.1 → 3.4.0-next.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +2 -2
- 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
package/dist/css/helix-all.css
CHANGED
|
@@ -258,6 +258,15 @@
|
|
|
258
258
|
min-width: 0;
|
|
259
259
|
}
|
|
260
260
|
|
|
261
|
+
/* (group-6 5.1) Wrapper around the default slot. Carries aria-hidden=true
|
|
262
|
+
so the visible message text is not double-announced alongside the
|
|
263
|
+
sr-only announcer. display:contents keeps the wrapper visually
|
|
264
|
+
transparent so children participate in the parent flex layout as if
|
|
265
|
+
the wrapper were not there. */
|
|
266
|
+
.alert__default-slot {
|
|
267
|
+
display: contents;
|
|
268
|
+
}
|
|
269
|
+
|
|
261
270
|
/* ─── Actions ─── */
|
|
262
271
|
/* Hidden by default; shown via JS slotchange detection to avoid invisible */
|
|
263
272
|
/* margin-top spacing when no actions are slotted. */
|
|
@@ -721,6 +730,9 @@
|
|
|
721
730
|
@media (forced-colors: active) {
|
|
722
731
|
.badge {
|
|
723
732
|
border: 1px solid CanvasText;
|
|
733
|
+
forced-color-adjust: none;
|
|
734
|
+
background-color: Canvas;
|
|
735
|
+
color: CanvasText;
|
|
724
736
|
}
|
|
725
737
|
|
|
726
738
|
.badge--pulse {
|
|
@@ -730,6 +742,31 @@
|
|
|
730
742
|
.badge__remove-button {
|
|
731
743
|
color: ButtonText;
|
|
732
744
|
}
|
|
745
|
+
|
|
746
|
+
/* Per-semantic-variant forced-colors fallbacks. The visually-hidden
|
|
747
|
+
semantic variant label (.badge__variant-label) keeps AT users
|
|
748
|
+
informed; these blocks restore visual semantic distinction for
|
|
749
|
+
sighted users in HCM where bg/color collapse to system defaults.
|
|
750
|
+
Pattern: distinct border-style per variant. */
|
|
751
|
+
.badge--success {
|
|
752
|
+
border-style: solid;
|
|
753
|
+
border-width: 2px;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
.badge--warning {
|
|
757
|
+
border-style: dashed;
|
|
758
|
+
border-width: 2px;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
.badge--error {
|
|
762
|
+
border-style: double;
|
|
763
|
+
border-width: 3px;
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
.badge--info {
|
|
767
|
+
border-style: dotted;
|
|
768
|
+
border-width: 2px;
|
|
769
|
+
}
|
|
733
770
|
}
|
|
734
771
|
/* ── hx-banner ── */
|
|
735
772
|
:host {
|
|
@@ -2080,6 +2117,23 @@
|
|
|
2080
2117
|
|
|
2081
2118
|
/* ─── Focus Ring ─── */
|
|
2082
2119
|
|
|
2120
|
+
/*
|
|
2121
|
+
* Host-focus path: on the modern (IDL element-references) render branch the
|
|
2122
|
+
* host is the tabbable surface (tabindex=0) and the inner input is demoted
|
|
2123
|
+
* to tabindex=-1. Drive the focus ring from ':host(:focus-visible)' so
|
|
2124
|
+
* keyboard users still get a visible affordance. Codex round-11 P1.
|
|
2125
|
+
*/
|
|
2126
|
+
:host(:focus-visible) .checkbox__box {
|
|
2127
|
+
outline: var(--hx-checkbox-focus-ring-width, var(--hx-focus-ring-width, 2px)) solid
|
|
2128
|
+
var(--hx-checkbox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
2129
|
+
outline-offset: var(--hx-checkbox-focus-ring-offset, var(--hx-focus-ring-offset, 2px));
|
|
2130
|
+
}
|
|
2131
|
+
|
|
2132
|
+
/*
|
|
2133
|
+
* Fallback (no-IDL-ref) path: the host carries tabindex=-1 and the inner
|
|
2134
|
+
* input is the tab target. The native :focus-visible on the input drives
|
|
2135
|
+
* the same visual ring, scoped via the inner-state class.
|
|
2136
|
+
*/
|
|
2083
2137
|
.checkbox__input:focus-visible ~ .checkbox__box {
|
|
2084
2138
|
outline: var(--hx-checkbox-focus-ring-width, var(--hx-focus-ring-width, 2px)) solid
|
|
2085
2139
|
var(--hx-checkbox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
@@ -2234,6 +2288,7 @@
|
|
|
2234
2288
|
border: 2px solid ButtonText;
|
|
2235
2289
|
}
|
|
2236
2290
|
|
|
2291
|
+
:host(:focus-visible) .checkbox__box,
|
|
2237
2292
|
.checkbox__input:focus-visible ~ .checkbox__box {
|
|
2238
2293
|
outline: 3px solid Highlight;
|
|
2239
2294
|
outline-offset: 2px;
|
|
@@ -2900,6 +2955,31 @@
|
|
|
2900
2955
|
pointer-events: none;
|
|
2901
2956
|
opacity: var(--hx-opacity-disabled, 0.5);
|
|
2902
2957
|
}
|
|
2958
|
+
/* Slotted label / help / error blocks for cross-shadow naming. */
|
|
2959
|
+
.hx-color-picker__label {
|
|
2960
|
+
display: block;
|
|
2961
|
+
margin-bottom: var(--hx-space-1, 0.25rem);
|
|
2962
|
+
font-weight: var(--hx-font-weight-semibold, 600);
|
|
2963
|
+
color: var(--hx-color-neutral-900, #1a1a1a);
|
|
2964
|
+
}
|
|
2965
|
+
.hx-color-picker__label:empty {
|
|
2966
|
+
display: none;
|
|
2967
|
+
}
|
|
2968
|
+
.hx-color-picker__help {
|
|
2969
|
+
display: block;
|
|
2970
|
+
margin-top: var(--hx-space-1, 0.25rem);
|
|
2971
|
+
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
2972
|
+
color: var(--hx-color-neutral-600, #525252);
|
|
2973
|
+
}
|
|
2974
|
+
.hx-color-picker__error {
|
|
2975
|
+
display: block;
|
|
2976
|
+
margin-top: var(--hx-space-1, 0.25rem);
|
|
2977
|
+
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
2978
|
+
color: var(--hx-color-danger-700, #c43e3e);
|
|
2979
|
+
}
|
|
2980
|
+
[hidden] {
|
|
2981
|
+
display: none !important;
|
|
2982
|
+
}
|
|
2903
2983
|
.trigger {
|
|
2904
2984
|
display: inline-flex;
|
|
2905
2985
|
align-items: center;
|
|
@@ -4426,7 +4506,8 @@
|
|
|
4426
4506
|
Live region (screen reader announcements)
|
|
4427
4507
|
============================================================ */
|
|
4428
4508
|
|
|
4429
|
-
.calendar__live-region
|
|
4509
|
+
.calendar__live-region,
|
|
4510
|
+
.field__sr-only {
|
|
4430
4511
|
position: absolute;
|
|
4431
4512
|
width: 1px;
|
|
4432
4513
|
height: 1px;
|
|
@@ -5062,6 +5143,23 @@
|
|
|
5062
5143
|
margin: 0;
|
|
5063
5144
|
}
|
|
5064
5145
|
|
|
5146
|
+
/* ─── Synthesized consumer-description span ─── */
|
|
5147
|
+
/* Visually hidden mirror of consumer-resolved aria-describedby text used by */
|
|
5148
|
+
/* the host-canonical ARIA pipeline. Always present in the shadow tree so AT */
|
|
5149
|
+
/* can resolve the same-root id even when the description is currently empty. */
|
|
5150
|
+
|
|
5151
|
+
.drawer-sr-only {
|
|
5152
|
+
position: absolute;
|
|
5153
|
+
width: 1px;
|
|
5154
|
+
height: 1px;
|
|
5155
|
+
padding: 0;
|
|
5156
|
+
margin: -1px;
|
|
5157
|
+
overflow: hidden;
|
|
5158
|
+
clip: rect(0, 0, 0, 0);
|
|
5159
|
+
white-space: nowrap;
|
|
5160
|
+
border: 0;
|
|
5161
|
+
}
|
|
5162
|
+
|
|
5065
5163
|
/* ─── Body ─── */
|
|
5066
5164
|
|
|
5067
5165
|
.drawer-body {
|
|
@@ -5997,12 +6095,37 @@ export const helixGridItemStyles = css`
|
|
|
5997
6095
|
multiplicative stacking (0.5 * 0.5 = 0.25). Do not add opacity here. */
|
|
5998
6096
|
}
|
|
5999
6097
|
|
|
6098
|
+
/* ─── Loading State ─── */
|
|
6099
|
+
|
|
6100
|
+
.button--loading {
|
|
6101
|
+
position: relative;
|
|
6102
|
+
cursor: wait;
|
|
6103
|
+
}
|
|
6104
|
+
|
|
6105
|
+
.button__spinner {
|
|
6106
|
+
width: 1em;
|
|
6107
|
+
height: 1em;
|
|
6108
|
+
flex-shrink: 0;
|
|
6109
|
+
animation: hx-icon-button-spin var(--hx-duration-spinner, 750ms) linear infinite;
|
|
6110
|
+
}
|
|
6111
|
+
|
|
6112
|
+
@keyframes hx-icon-button-spin {
|
|
6113
|
+
to {
|
|
6114
|
+
transform: rotate(360deg);
|
|
6115
|
+
}
|
|
6116
|
+
}
|
|
6117
|
+
|
|
6000
6118
|
/* ─── Reduced Motion ─── */
|
|
6001
6119
|
|
|
6002
6120
|
@media (prefers-reduced-motion: reduce) {
|
|
6003
6121
|
.button {
|
|
6004
6122
|
transition: none;
|
|
6005
6123
|
}
|
|
6124
|
+
|
|
6125
|
+
.button__spinner {
|
|
6126
|
+
animation: none;
|
|
6127
|
+
opacity: var(--hx-opacity-muted, 0.6);
|
|
6128
|
+
}
|
|
6006
6129
|
}
|
|
6007
6130
|
|
|
6008
6131
|
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
@@ -6030,6 +6153,11 @@ export const helixGridItemStyles = css`
|
|
|
6030
6153
|
:host([disabled]) {
|
|
6031
6154
|
opacity: 1;
|
|
6032
6155
|
}
|
|
6156
|
+
|
|
6157
|
+
.button--loading .button__spinner {
|
|
6158
|
+
stroke: ButtonText;
|
|
6159
|
+
forced-color-adjust: none;
|
|
6160
|
+
}
|
|
6033
6161
|
}
|
|
6034
6162
|
/* ── hx-image ── */
|
|
6035
6163
|
:host {
|
|
@@ -6407,6 +6535,11 @@ export const helixGridItemStyles = css`
|
|
|
6407
6535
|
/* ─── Forced Colors (Windows High Contrast) ─── */
|
|
6408
6536
|
|
|
6409
6537
|
@media (forced-colors: active) {
|
|
6538
|
+
.meter:focus-visible {
|
|
6539
|
+
outline: 2px solid Highlight;
|
|
6540
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
6541
|
+
}
|
|
6542
|
+
|
|
6410
6543
|
.meter__track {
|
|
6411
6544
|
border: 1px solid CanvasText;
|
|
6412
6545
|
}
|
|
@@ -8298,6 +8431,11 @@ export const helixGridItemStyles = css`
|
|
|
8298
8431
|
/* ─── 3-tier token cascade: component → semantic → hardcoded fallback ─── */
|
|
8299
8432
|
:host {
|
|
8300
8433
|
display: block;
|
|
8434
|
+
/* Round-3 finding 1: host is the canonical combobox surface, so it owns
|
|
8435
|
+
keyboard focus. Suppress the UA default outline; the custom focus ring
|
|
8436
|
+
is painted on the inner trigger via :host(:focus-visible)
|
|
8437
|
+
.field__trigger so visual feedback follows the host's focus state. */
|
|
8438
|
+
outline: none;
|
|
8301
8439
|
|
|
8302
8440
|
/* Background & foreground */
|
|
8303
8441
|
--_bg: var(--hx-select-bg, var(--hx-color-surface-default, #ffffff));
|
|
@@ -8374,6 +8512,12 @@ export const helixGridItemStyles = css`
|
|
|
8374
8512
|
}
|
|
8375
8513
|
|
|
8376
8514
|
.field__trigger {
|
|
8515
|
+
/* Round-3 finding 1 / CodeRabbit F1: trigger is a <button type="button">
|
|
8516
|
+
(labelable) so native <label for> click activation works for mouse
|
|
8517
|
+
users. Reset native button chrome before applying field styles. */
|
|
8518
|
+
appearance: none;
|
|
8519
|
+
-webkit-appearance: none;
|
|
8520
|
+
margin: 0;
|
|
8377
8521
|
display: flex;
|
|
8378
8522
|
align-items: center;
|
|
8379
8523
|
justify-content: space-between;
|
|
@@ -8384,6 +8528,7 @@ export const helixGridItemStyles = css`
|
|
|
8384
8528
|
border-radius: var(--_border-radius);
|
|
8385
8529
|
background-color: var(--_bg);
|
|
8386
8530
|
color: var(--_color);
|
|
8531
|
+
font: inherit;
|
|
8387
8532
|
font-family: inherit;
|
|
8388
8533
|
font-size: var(--hx-font-size-md, 1rem);
|
|
8389
8534
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
@@ -8396,6 +8541,11 @@ export const helixGridItemStyles = css`
|
|
|
8396
8541
|
outline: none;
|
|
8397
8542
|
}
|
|
8398
8543
|
|
|
8544
|
+
/* Round-3 finding 1: host is the canonical focusable surface. Both the
|
|
8545
|
+
:host(:focus-visible) descendant selector AND the legacy
|
|
8546
|
+
.field__trigger:focus-visible (kept for forced-colors regression test
|
|
8547
|
+
parity) paint the focus ring on the visual trigger. */
|
|
8548
|
+
:host(:focus-visible) .field__trigger,
|
|
8399
8549
|
.field__trigger:focus-visible {
|
|
8400
8550
|
border-color: var(--_focus-ring-color);
|
|
8401
8551
|
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
@@ -8464,6 +8614,7 @@ export const helixGridItemStyles = css`
|
|
|
8464
8614
|
border-color: var(--_error-color);
|
|
8465
8615
|
}
|
|
8466
8616
|
|
|
8617
|
+
:host(:focus-visible) .field--error .field__trigger,
|
|
8467
8618
|
.field--error .field__trigger:focus-visible {
|
|
8468
8619
|
border-color: var(--_error-color);
|
|
8469
8620
|
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
@@ -8597,6 +8748,7 @@ export const helixGridItemStyles = css`
|
|
|
8597
8748
|
border: 2px solid ButtonText;
|
|
8598
8749
|
}
|
|
8599
8750
|
|
|
8751
|
+
:host(:focus-visible) .field__trigger,
|
|
8600
8752
|
.field__trigger:focus-visible {
|
|
8601
8753
|
outline: 3px solid Highlight;
|
|
8602
8754
|
outline-offset: 2px;
|
|
@@ -10544,6 +10696,22 @@ export const helixStructuredListRowStyles = css`
|
|
|
10544
10696
|
appearance: none;
|
|
10545
10697
|
}
|
|
10546
10698
|
|
|
10699
|
+
/*
|
|
10700
|
+
* Host-focus path: on the modern (IDL element-references) render branch the
|
|
10701
|
+
* host is the tabbable surface (tabindex=0) and the inner track button is
|
|
10702
|
+
* demoted to tabindex=-1. Drive the focus ring from ':host(:focus-visible)'
|
|
10703
|
+
* so keyboard users still see a visible affordance. Codex round-11 P1.
|
|
10704
|
+
*/
|
|
10705
|
+
:host(:focus-visible) .switch__track {
|
|
10706
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
10707
|
+
var(--hx-switch-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
10708
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
10709
|
+
}
|
|
10710
|
+
|
|
10711
|
+
/*
|
|
10712
|
+
* Fallback (no-IDL-ref) path: the host carries tabindex=-1 and the inner
|
|
10713
|
+
* track button is the tab target. Native :focus-visible drives the ring.
|
|
10714
|
+
*/
|
|
10547
10715
|
.switch__track:focus-visible {
|
|
10548
10716
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
10549
10717
|
var(--hx-switch-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
@@ -10681,6 +10849,7 @@ export const helixStructuredListRowStyles = css`
|
|
|
10681
10849
|
border: 2px solid ButtonText;
|
|
10682
10850
|
}
|
|
10683
10851
|
|
|
10852
|
+
:host(:focus-visible) .switch__track,
|
|
10684
10853
|
.switch__track:focus-visible {
|
|
10685
10854
|
outline: 3px solid Highlight;
|
|
10686
10855
|
outline-offset: 2px;
|
|
@@ -11104,11 +11273,34 @@ export const helixTableSectionBaseStyles = css`
|
|
|
11104
11273
|
@media (forced-colors: active) {
|
|
11105
11274
|
.tag {
|
|
11106
11275
|
border-color: CanvasText;
|
|
11276
|
+
forced-color-adjust: none;
|
|
11277
|
+
background-color: Canvas;
|
|
11278
|
+
color: CanvasText;
|
|
11107
11279
|
}
|
|
11108
11280
|
|
|
11109
11281
|
.tag__remove-button {
|
|
11110
11282
|
color: ButtonText;
|
|
11111
11283
|
}
|
|
11284
|
+
|
|
11285
|
+
/* Per-semantic-variant forced-colors fallbacks. The visually-hidden
|
|
11286
|
+
semantic variant label (.tag__variant-label) keeps AT users
|
|
11287
|
+
informed; these blocks restore visual semantic distinction for
|
|
11288
|
+
sighted users in HCM where bg/color collapse to system defaults.
|
|
11289
|
+
Pattern: distinct border-style per variant (matches hx-badge). */
|
|
11290
|
+
.tag--success {
|
|
11291
|
+
border-style: solid;
|
|
11292
|
+
border-width: 2px;
|
|
11293
|
+
}
|
|
11294
|
+
|
|
11295
|
+
.tag--warning {
|
|
11296
|
+
border-style: dashed;
|
|
11297
|
+
border-width: 2px;
|
|
11298
|
+
}
|
|
11299
|
+
|
|
11300
|
+
.tag--danger {
|
|
11301
|
+
border-style: double;
|
|
11302
|
+
border-width: 3px;
|
|
11303
|
+
}
|
|
11112
11304
|
}
|
|
11113
11305
|
/* ── hx-text ── */
|
|
11114
11306
|
:host {
|
|
@@ -12138,6 +12330,17 @@ export const helixTableSectionBaseStyles = css`
|
|
|
12138
12330
|
.field__error {
|
|
12139
12331
|
color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #c92a2a));
|
|
12140
12332
|
}
|
|
12333
|
+
.field__sr-only {
|
|
12334
|
+
position: absolute;
|
|
12335
|
+
width: 1px;
|
|
12336
|
+
height: 1px;
|
|
12337
|
+
padding: 0;
|
|
12338
|
+
margin: -1px;
|
|
12339
|
+
overflow: hidden;
|
|
12340
|
+
clip: rect(0, 0, 0, 0);
|
|
12341
|
+
white-space: nowrap;
|
|
12342
|
+
border: 0;
|
|
12343
|
+
}
|
|
12141
12344
|
@media (forced-colors: active) {
|
|
12142
12345
|
.field__combobox {
|
|
12143
12346
|
border-color: ButtonText;
|
|
@@ -12483,6 +12686,22 @@ export const helixToastStackStyles = css`
|
|
|
12483
12686
|
-webkit-user-select: none;
|
|
12484
12687
|
}
|
|
12485
12688
|
|
|
12689
|
+
/*
|
|
12690
|
+
* Host-focus path: on the modern (IDL element-references) render branch the
|
|
12691
|
+
* host is the tabbable surface (tabindex=0) and the inner <button> is
|
|
12692
|
+
* demoted to tabindex=-1. Drive the focus ring from ':host(:focus-visible)'
|
|
12693
|
+
* so keyboard users still see a visible affordance. Codex round-11 P1.
|
|
12694
|
+
*/
|
|
12695
|
+
:host(:focus-visible) .button {
|
|
12696
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
12697
|
+
var(--hx-toggle-button-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
12698
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
12699
|
+
}
|
|
12700
|
+
|
|
12701
|
+
/*
|
|
12702
|
+
* Fallback (no-IDL-ref) path: the host carries tabindex=-1 and the inner
|
|
12703
|
+
* <button> is the tab target. Native :focus-visible drives the ring.
|
|
12704
|
+
*/
|
|
12486
12705
|
.button:focus-visible {
|
|
12487
12706
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
12488
12707
|
var(--hx-toggle-button-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
@@ -12681,6 +12900,7 @@ export const helixToastStackStyles = css`
|
|
|
12681
12900
|
border: 2px solid ButtonText;
|
|
12682
12901
|
}
|
|
12683
12902
|
|
|
12903
|
+
:host(:focus-visible) .button,
|
|
12684
12904
|
.button:focus-visible {
|
|
12685
12905
|
outline: 3px solid Highlight;
|
|
12686
12906
|
outline-offset: 2px;
|
package/dist/css/helix-core.css
CHANGED
|
@@ -337,6 +337,9 @@
|
|
|
337
337
|
@media (forced-colors: active) {
|
|
338
338
|
.badge {
|
|
339
339
|
border: 1px solid CanvasText;
|
|
340
|
+
forced-color-adjust: none;
|
|
341
|
+
background-color: Canvas;
|
|
342
|
+
color: CanvasText;
|
|
340
343
|
}
|
|
341
344
|
|
|
342
345
|
.badge--pulse {
|
|
@@ -346,6 +349,31 @@
|
|
|
346
349
|
.badge__remove-button {
|
|
347
350
|
color: ButtonText;
|
|
348
351
|
}
|
|
352
|
+
|
|
353
|
+
/* Per-semantic-variant forced-colors fallbacks. The visually-hidden
|
|
354
|
+
semantic variant label (.badge__variant-label) keeps AT users
|
|
355
|
+
informed; these blocks restore visual semantic distinction for
|
|
356
|
+
sighted users in HCM where bg/color collapse to system defaults.
|
|
357
|
+
Pattern: distinct border-style per variant. */
|
|
358
|
+
.badge--success {
|
|
359
|
+
border-style: solid;
|
|
360
|
+
border-width: 2px;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
.badge--warning {
|
|
364
|
+
border-style: dashed;
|
|
365
|
+
border-width: 2px;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
.badge--error {
|
|
369
|
+
border-style: double;
|
|
370
|
+
border-width: 3px;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
.badge--info {
|
|
374
|
+
border-style: dotted;
|
|
375
|
+
border-width: 2px;
|
|
376
|
+
}
|
|
349
377
|
}
|
|
350
378
|
/* ── hx-button ── */
|
|
351
379
|
:host {
|
|
@@ -1430,12 +1458,37 @@
|
|
|
1430
1458
|
multiplicative stacking (0.5 * 0.5 = 0.25). Do not add opacity here. */
|
|
1431
1459
|
}
|
|
1432
1460
|
|
|
1461
|
+
/* ─── Loading State ─── */
|
|
1462
|
+
|
|
1463
|
+
.button--loading {
|
|
1464
|
+
position: relative;
|
|
1465
|
+
cursor: wait;
|
|
1466
|
+
}
|
|
1467
|
+
|
|
1468
|
+
.button__spinner {
|
|
1469
|
+
width: 1em;
|
|
1470
|
+
height: 1em;
|
|
1471
|
+
flex-shrink: 0;
|
|
1472
|
+
animation: hx-icon-button-spin var(--hx-duration-spinner, 750ms) linear infinite;
|
|
1473
|
+
}
|
|
1474
|
+
|
|
1475
|
+
@keyframes hx-icon-button-spin {
|
|
1476
|
+
to {
|
|
1477
|
+
transform: rotate(360deg);
|
|
1478
|
+
}
|
|
1479
|
+
}
|
|
1480
|
+
|
|
1433
1481
|
/* ─── Reduced Motion ─── */
|
|
1434
1482
|
|
|
1435
1483
|
@media (prefers-reduced-motion: reduce) {
|
|
1436
1484
|
.button {
|
|
1437
1485
|
transition: none;
|
|
1438
1486
|
}
|
|
1487
|
+
|
|
1488
|
+
.button__spinner {
|
|
1489
|
+
animation: none;
|
|
1490
|
+
opacity: var(--hx-opacity-muted, 0.6);
|
|
1491
|
+
}
|
|
1439
1492
|
}
|
|
1440
1493
|
|
|
1441
1494
|
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
@@ -1463,6 +1516,11 @@
|
|
|
1463
1516
|
:host([disabled]) {
|
|
1464
1517
|
opacity: 1;
|
|
1465
1518
|
}
|
|
1519
|
+
|
|
1520
|
+
.button--loading .button__spinner {
|
|
1521
|
+
stroke: ButtonText;
|
|
1522
|
+
forced-color-adjust: none;
|
|
1523
|
+
}
|
|
1466
1524
|
}
|
|
1467
1525
|
/* ── hx-image ── */
|
|
1468
1526
|
:host {
|
|
@@ -2007,11 +2065,34 @@
|
|
|
2007
2065
|
@media (forced-colors: active) {
|
|
2008
2066
|
.tag {
|
|
2009
2067
|
border-color: CanvasText;
|
|
2068
|
+
forced-color-adjust: none;
|
|
2069
|
+
background-color: Canvas;
|
|
2070
|
+
color: CanvasText;
|
|
2010
2071
|
}
|
|
2011
2072
|
|
|
2012
2073
|
.tag__remove-button {
|
|
2013
2074
|
color: ButtonText;
|
|
2014
2075
|
}
|
|
2076
|
+
|
|
2077
|
+
/* Per-semantic-variant forced-colors fallbacks. The visually-hidden
|
|
2078
|
+
semantic variant label (.tag__variant-label) keeps AT users
|
|
2079
|
+
informed; these blocks restore visual semantic distinction for
|
|
2080
|
+
sighted users in HCM where bg/color collapse to system defaults.
|
|
2081
|
+
Pattern: distinct border-style per variant (matches hx-badge). */
|
|
2082
|
+
.tag--success {
|
|
2083
|
+
border-style: solid;
|
|
2084
|
+
border-width: 2px;
|
|
2085
|
+
}
|
|
2086
|
+
|
|
2087
|
+
.tag--warning {
|
|
2088
|
+
border-style: dashed;
|
|
2089
|
+
border-width: 2px;
|
|
2090
|
+
}
|
|
2091
|
+
|
|
2092
|
+
.tag--danger {
|
|
2093
|
+
border-style: double;
|
|
2094
|
+
border-width: 3px;
|
|
2095
|
+
}
|
|
2015
2096
|
}
|
|
2016
2097
|
/* ── hx-text ── */
|
|
2017
2098
|
:host {
|
|
@@ -109,6 +109,15 @@
|
|
|
109
109
|
min-width: 0;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
+
/* (group-6 5.1) Wrapper around the default slot. Carries aria-hidden=true
|
|
113
|
+
so the visible message text is not double-announced alongside the
|
|
114
|
+
sr-only announcer. display:contents keeps the wrapper visually
|
|
115
|
+
transparent so children participate in the parent flex layout as if
|
|
116
|
+
the wrapper were not there. */
|
|
117
|
+
.alert__default-slot {
|
|
118
|
+
display: contents;
|
|
119
|
+
}
|
|
120
|
+
|
|
112
121
|
/* ─── Actions ─── */
|
|
113
122
|
/* Hidden by default; shown via JS slotchange detection to avoid invisible */
|
|
114
123
|
/* margin-top spacing when no actions are slotted. */
|
|
@@ -574,6 +583,11 @@
|
|
|
574
583
|
/* ─── Forced Colors (Windows High Contrast) ─── */
|
|
575
584
|
|
|
576
585
|
@media (forced-colors: active) {
|
|
586
|
+
.meter:focus-visible {
|
|
587
|
+
outline: 2px solid Highlight;
|
|
588
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
589
|
+
}
|
|
590
|
+
|
|
577
591
|
.meter__track {
|
|
578
592
|
border: 1px solid CanvasText;
|
|
579
593
|
}
|