@helixui/library 3.6.0 → 3.8.0-next.145
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/README.md +41 -0
- package/aaa-verdicts.json +2036 -0
- package/custom-elements.json +3045 -1254
- package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
- package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts.map +1 -1
- package/dist/components/hx-accordion/index.js +1 -1
- package/dist/components/hx-action-bar/hx-action-bar.d.ts +18 -0
- package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
- package/dist/components/hx-action-bar/hx-action-bar.styles.d.ts.map +1 -1
- package/dist/components/hx-action-bar/index.js +1 -1
- package/dist/components/hx-alert/hx-alert.d.ts +18 -8
- 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-avatar/hx-avatar.d.ts +4 -1
- package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -1
- package/dist/components/hx-avatar/hx-avatar.styles.d.ts.map +1 -1
- package/dist/components/hx-avatar/index.js +1 -1
- package/dist/components/hx-badge/hx-badge.d.ts.map +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 +19 -8
- package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
- package/dist/components/hx-banner/hx-banner.styles.d.ts.map +1 -1
- package/dist/components/hx-banner/index.js +1 -1
- package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +18 -0
- package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/index.js +1 -1
- package/dist/components/hx-button/hx-button.d.ts +18 -0
- package/dist/components/hx-button/hx-button.d.ts.map +1 -1
- package/dist/components/hx-button/hx-button.styles.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 +47 -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-carousel/hx-carousel.d.ts.map +1 -1
- package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -1
- package/dist/components/hx-carousel/index.js +1 -1
- package/dist/components/hx-checkbox/hx-checkbox.d.ts +18 -0
- 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 +36 -0
- package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
- package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts.map +1 -1
- package/dist/components/hx-checkbox-group/index.js +1 -1
- package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +26 -9
- package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
- package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
- package/dist/components/hx-clinical-status/index.js +1 -1
- package/dist/components/hx-color-picker/hx-color-picker.d.ts +18 -0
- 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 +18 -0
- package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
- package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
- package/dist/components/hx-combobox/index.js +1 -1
- package/dist/components/hx-copy-button/hx-copy-button.d.ts +18 -0
- package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
- package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
- package/dist/components/hx-copy-button/index.js +1 -1
- package/dist/components/hx-date-picker/hx-date-picker.d.ts +18 -0
- 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 +18 -0
- package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
- package/dist/components/hx-drawer/hx-drawer.d.ts +18 -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 +18 -0
- package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
- package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -1
- package/dist/components/hx-dropdown/index.js +1 -1
- package/dist/components/hx-field/hx-field.d.ts +17 -0
- package/dist/components/hx-field/hx-field.d.ts.map +1 -1
- package/dist/components/hx-field-label/hx-field-label.d.ts +17 -0
- package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
- package/dist/components/hx-file-upload/hx-file-upload.d.ts +46 -0
- package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
- package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -1
- package/dist/components/hx-file-upload/index.js +1 -1
- package/dist/components/hx-form/hx-form.d.ts +19 -0
- package/dist/components/hx-form/hx-form.d.ts.map +1 -1
- package/dist/components/hx-help-text/hx-help-text.d.ts +17 -0
- package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
- package/dist/components/hx-help-text/hx-help-text.styles.d.ts.map +1 -1
- package/dist/components/hx-help-text/index.js +1 -1
- package/dist/components/hx-icon/hx-icon.d.ts +108 -12
- package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
- package/dist/components/hx-icon/hx-icon.styles.d.ts.map +1 -1
- package/dist/components/hx-icon/index.js +1 -1
- package/dist/components/hx-icon-button/hx-icon-button.d.ts +18 -0
- 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.map +1 -1
- package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
- package/dist/components/hx-link/index.js +1 -1
- 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 +18 -0
- 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-nav/hx-nav.d.ts +18 -0
- package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
- package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
- package/dist/components/hx-nav/index.js +1 -1
- package/dist/components/hx-number-input/hx-number-input.d.ts +18 -0
- package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
- package/dist/components/hx-number-input/hx-number-input.styles.d.ts.map +1 -1
- package/dist/components/hx-number-input/index.js +1 -1
- package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +23 -1
- package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
- package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
- package/dist/components/hx-overflow-menu/index.js +1 -1
- package/dist/components/hx-pagination/hx-pagination.styles.d.ts.map +1 -1
- package/dist/components/hx-pagination/index.js +1 -1
- package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
- package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -1
- package/dist/components/hx-phi-field/index.js +1 -1
- package/dist/components/hx-popover/hx-popover.d.ts +18 -0
- package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
- package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
- package/dist/components/hx-popover/index.js +1 -1
- package/dist/components/hx-popup/hx-popup.d.ts +18 -0
- package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
- package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
- package/dist/components/hx-popup/index.js +1 -1
- package/dist/components/hx-radio-group/hx-radio-group.d.ts +18 -0
- package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
- package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts.map +1 -1
- package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
- package/dist/components/hx-radio-group/index.js +1 -1
- package/dist/components/hx-rating/hx-rating.d.ts +19 -0
- package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
- package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
- package/dist/components/hx-rating/index.js +1 -1
- package/dist/components/hx-select/hx-select.d.ts +18 -0
- package/dist/components/hx-select/hx-select.d.ts.map +1 -1
- package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
- package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
- package/dist/components/hx-side-nav/hx-side-nav.d.ts +18 -0
- package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
- package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
- package/dist/components/hx-side-nav/index.js +1 -1
- package/dist/components/hx-slider/hx-slider.d.ts +47 -0
- package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
- package/dist/components/hx-slider/index.js +1 -1
- package/dist/components/hx-split-button/hx-split-button.d.ts +18 -0
- package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
- package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -1
- package/dist/components/hx-split-button/index.js +1 -1
- package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
- package/dist/components/hx-stat/hx-stat.styles.d.ts.map +1 -1
- package/dist/components/hx-stat/index.js +1 -1
- package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
- package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
- package/dist/components/hx-steps/index.js +1 -1
- package/dist/components/hx-switch/hx-switch.d.ts +18 -0
- 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-tabs/hx-tab.styles.d.ts.map +1 -1
- package/dist/components/hx-tabs/hx-tabs.d.ts +18 -0
- 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.d.ts.map +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-text-input/hx-text-input.d.ts +18 -0
- package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
- package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
- package/dist/components/hx-text-input/index.js +1 -1
- package/dist/components/hx-textarea/hx-textarea.d.ts +18 -0
- package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
- package/dist/components/hx-time-picker/hx-time-picker.d.ts +18 -0
- 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.d.ts +19 -8
- package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
- package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
- package/dist/components/hx-toast/index.js +1 -1
- package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +18 -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 +18 -0
- package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
- package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -1
- package/dist/components/hx-tooltip/index.js +1 -1
- package/dist/components/hx-top-nav/hx-top-nav.d.ts +18 -0
- package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
- package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -1
- package/dist/components/hx-top-nav/index.js +1 -1
- package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
- package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -1
- package/dist/components/hx-tree-view/index.js +1 -1
- package/dist/css/helix-all.css +414 -118
- package/dist/css/helix-core.css +43 -19
- package/dist/css/helix-feedback.css +15 -18
- package/dist/css/helix-forms.css +172 -44
- package/dist/css/helix-media.css +6 -3
- package/dist/css/helix-navigation.css +65 -12
- package/dist/css/helix-overlay.css +63 -0
- package/dist/css/helix-tokens.css +18 -15
- package/dist/css/helix-utility.css +44 -12
- package/dist/css/hx-action-bar.css +12 -0
- package/dist/css/hx-alert.css +4 -8
- package/dist/css/hx-avatar.css +1 -2
- package/dist/css/hx-badge.css +10 -5
- package/dist/css/hx-banner.css +4 -8
- package/dist/css/hx-button.css +15 -5
- package/dist/css/hx-carousel.css +6 -3
- package/dist/css/hx-checkbox-group.css +11 -0
- package/dist/css/hx-checkbox.css +24 -13
- package/dist/css/hx-clinical-status.css +4 -7
- package/dist/css/hx-color-picker.css +14 -1
- package/dist/css/hx-combobox.css +8 -0
- package/dist/css/hx-copy-button.css +5 -2
- package/dist/css/hx-date-picker.css +16 -3
- package/dist/css/hx-drawer.css +5 -0
- package/dist/css/hx-dropdown.css +18 -0
- package/dist/css/hx-file-upload.css +4 -0
- package/dist/css/hx-help-text.css +5 -0
- package/dist/css/hx-icon-button.css +4 -5
- package/dist/css/hx-icon.css +7 -0
- package/dist/css/hx-link.css +1 -2
- package/dist/css/hx-nav.css +31 -2
- package/dist/css/hx-number-input.css +10 -11
- package/dist/css/hx-overflow-menu.css +5 -0
- package/dist/css/hx-pagination.css +6 -3
- package/dist/css/hx-phi-field.css +2 -3
- package/dist/css/hx-popover.css +13 -0
- package/dist/css/hx-popup.css +14 -0
- package/dist/css/hx-radio-group.css +10 -0
- package/dist/css/hx-rating.css +6 -0
- package/dist/css/hx-side-nav.css +10 -5
- package/dist/css/hx-split-button.css +27 -10
- package/dist/css/hx-stat.css +1 -2
- package/dist/css/hx-switch.css +19 -1
- package/dist/css/hx-tag.css +5 -0
- package/dist/css/hx-text-input.css +4 -1
- package/dist/css/hx-time-picker.css +12 -2
- package/dist/css/hx-toast.css +6 -0
- package/dist/css/hx-toggle-button.css +29 -12
- package/dist/css/hx-tooltip.css +13 -0
- package/dist/css/hx-top-nav.css +13 -2
- package/dist/css/index.css +1 -1
- package/dist/css/manifest.json +60 -20
- package/dist/index.js +49 -49
- package/dist/shared/{hx-accordion-ZVzgDzTG.js → hx-accordion-DR--Ev4t.js} +48 -54
- package/dist/shared/hx-accordion-DR--Ev4t.js.map +1 -0
- package/dist/shared/{hx-action-bar-CitgcpGv.js → hx-action-bar-BlEG4aZv.js} +41 -29
- package/dist/shared/hx-action-bar-BlEG4aZv.js.map +1 -0
- package/dist/shared/{hx-alert-Bto8-TIi.js → hx-alert-C0axS32J.js} +40 -79
- package/dist/shared/hx-alert-C0axS32J.js.map +1 -0
- package/dist/shared/{hx-avatar-C9hOmlAb.js → hx-avatar-ChAYWnK8.js} +22 -24
- package/dist/shared/hx-avatar-ChAYWnK8.js.map +1 -0
- package/dist/shared/{hx-badge-JlFtAdxS.js → hx-badge-vX-1cuLA.js} +25 -20
- package/dist/shared/hx-badge-vX-1cuLA.js.map +1 -0
- package/dist/shared/{hx-banner-fpRnciIO.js → hx-banner-PbHwFNSb.js} +51 -90
- package/dist/shared/hx-banner-PbHwFNSb.js.map +1 -0
- package/dist/shared/{hx-breadcrumb-item-3tKppF9h.js → hx-breadcrumb-item-D8xYqe3s.js} +56 -43
- package/dist/shared/hx-breadcrumb-item-D8xYqe3s.js.map +1 -0
- package/dist/shared/{hx-button-BOwAEcF1.js → hx-button-DOZTZnz-.js} +29 -19
- package/dist/shared/hx-button-DOZTZnz-.js.map +1 -0
- package/dist/shared/hx-button-group-D3QUmSzl.js +248 -0
- package/dist/shared/hx-button-group-D3QUmSzl.js.map +1 -0
- package/dist/shared/{hx-carousel-item-z1Lc24op.js → hx-carousel-item-BVIKgQ4i.js} +72 -102
- package/dist/shared/hx-carousel-item-BVIKgQ4i.js.map +1 -0
- package/dist/shared/{hx-checkbox-CYd0YV_u.js → hx-checkbox-DDSXXhps.js} +56 -47
- package/dist/shared/hx-checkbox-DDSXXhps.js.map +1 -0
- package/dist/shared/{hx-checkbox-group-D5piJLY8.js → hx-checkbox-group-C0q6HDqn.js} +101 -58
- package/dist/shared/hx-checkbox-group-C0q6HDqn.js.map +1 -0
- package/dist/shared/{hx-clinical-status-D3XQIOqX.js → hx-clinical-status-ZSVEc3Qg.js} +68 -87
- package/dist/shared/hx-clinical-status-ZSVEc3Qg.js.map +1 -0
- package/dist/shared/{hx-color-picker-DBwJzT5f.js → hx-color-picker-CYjx8i8R.js} +97 -84
- package/dist/shared/hx-color-picker-CYjx8i8R.js.map +1 -0
- package/dist/shared/{hx-combobox-NgJaLbs2.js → hx-combobox-Be-mqOv4.js} +35 -45
- package/dist/shared/hx-combobox-Be-mqOv4.js.map +1 -0
- package/dist/shared/{hx-copy-button-sUVuikyH.js → hx-copy-button-DJirFCUL.js} +18 -15
- package/dist/shared/hx-copy-button-DJirFCUL.js.map +1 -0
- package/dist/shared/{hx-date-picker-B49yo4Vm.js → hx-date-picker-CziP3Hm1.js} +85 -84
- package/dist/shared/hx-date-picker-CziP3Hm1.js.map +1 -0
- package/dist/shared/hx-dialog-B4weoj_1.js.map +1 -1
- package/dist/shared/{hx-drawer-CM_upadk.js → hx-drawer-BlU2oX8-.js} +32 -36
- package/dist/shared/hx-drawer-BlU2oX8-.js.map +1 -0
- package/dist/shared/{hx-dropdown-D626S2ZG.js → hx-dropdown-DREqpIpm.js} +51 -33
- package/dist/shared/hx-dropdown-DREqpIpm.js.map +1 -0
- package/dist/shared/hx-field-label-BVRyyKeh.js.map +1 -1
- package/dist/shared/hx-field-zw0U1KVi.js.map +1 -1
- package/dist/shared/{hx-file-upload-D3rKROK5.js → hx-file-upload-CU5QGZSP.js} +137 -80
- package/dist/shared/hx-file-upload-CU5QGZSP.js.map +1 -0
- package/dist/shared/hx-form-CkChEATa.js.map +1 -1
- package/dist/shared/hx-help-text-CNaZ82LT.js +137 -0
- package/dist/shared/hx-help-text-CNaZ82LT.js.map +1 -0
- package/dist/shared/{hx-icon-button-a6OpeQz5.js → hx-icon-button-B2BdVdyK.js} +10 -11
- package/dist/shared/hx-icon-button-B2BdVdyK.js.map +1 -0
- package/dist/shared/hx-icon-bxz9eB9a.js +386 -0
- package/dist/shared/hx-icon-bxz9eB9a.js.map +1 -0
- package/dist/shared/{hx-link-CMnZRUtQ.js → hx-link-BURSdYLp.js} +19 -26
- package/dist/shared/hx-link-BURSdYLp.js.map +1 -0
- package/dist/shared/{hx-menu-divider-A6Guuzi_.js → hx-menu-divider-g0grbWV9.js} +19 -31
- package/dist/shared/hx-menu-divider-g0grbWV9.js.map +1 -0
- package/dist/shared/{hx-nav-ldFM3Fle.js → hx-nav-GTsAZGOx.js} +94 -85
- package/dist/shared/hx-nav-GTsAZGOx.js.map +1 -0
- package/dist/shared/{hx-nav-item-CODtUlew.js → hx-nav-item-CxE7Mp3M.js} +46 -41
- package/dist/shared/hx-nav-item-CxE7Mp3M.js.map +1 -0
- package/dist/shared/{hx-number-input-yUzFOSC1.js → hx-number-input-Bvyc9kOi.js} +59 -64
- package/dist/shared/hx-number-input-Bvyc9kOi.js.map +1 -0
- package/dist/shared/{hx-overflow-menu-DFjJAziP.js → hx-overflow-menu-LrTteeR1.js} +32 -39
- package/dist/shared/{hx-overflow-menu-DFjJAziP.js.map → hx-overflow-menu-LrTteeR1.js.map} +1 -1
- package/dist/shared/{hx-pagination-C7y8GVyU.js → hx-pagination-D726PyTM.js} +7 -4
- package/dist/shared/hx-pagination-D726PyTM.js.map +1 -0
- package/dist/shared/{hx-phi-field-C19oxlrr.js → hx-phi-field-sZt_rYIL.js} +46 -66
- package/dist/shared/hx-phi-field-sZt_rYIL.js.map +1 -0
- package/dist/shared/{hx-popover-BAlAFOH9.js → hx-popover-BjB0nkcq.js} +51 -38
- package/dist/shared/hx-popover-BjB0nkcq.js.map +1 -0
- package/dist/shared/{hx-popup-COUXXZ9X.js → hx-popup-BiV_2evC.js} +59 -45
- package/dist/shared/hx-popup-BiV_2evC.js.map +1 -0
- package/dist/shared/{hx-radio-C7eTj5YI.js → hx-radio-BD_c9NJy.js} +52 -39
- package/dist/shared/hx-radio-BD_c9NJy.js.map +1 -0
- package/dist/shared/{hx-rating-C3QP53k9.js → hx-rating-BGK4AxvI.js} +45 -71
- package/dist/shared/hx-rating-BGK4AxvI.js.map +1 -0
- package/dist/shared/hx-select-DahFehiZ.js.map +1 -1
- package/dist/shared/{hx-slider-Blmv_rwS.js → hx-slider-CkOk5BCY.js} +83 -23
- package/dist/shared/hx-slider-CkOk5BCY.js.map +1 -0
- package/dist/shared/{hx-split-button-Ddle8iVx.js → hx-split-button-Bg9FHrFK.js} +73 -65
- package/dist/shared/hx-split-button-Bg9FHrFK.js.map +1 -0
- package/dist/shared/{hx-stat-Gtw_SpK8.js → hx-stat-wKxbyep6.js} +22 -55
- package/dist/shared/hx-stat-wKxbyep6.js.map +1 -0
- package/dist/shared/{hx-step-R2rjp1fT.js → hx-step-CyGQAuiB.js} +7 -27
- package/dist/shared/hx-step-CyGQAuiB.js.map +1 -0
- package/dist/shared/{hx-switch-TvKGvZJz.js → hx-switch-BCXuNxEH.js} +42 -24
- package/dist/shared/hx-switch-BCXuNxEH.js.map +1 -0
- package/dist/shared/{hx-tab-panel-DzsX8BHV.js → hx-tab-panel-BfisavKo.js} +47 -32
- package/dist/shared/hx-tab-panel-BfisavKo.js.map +1 -0
- package/dist/shared/{hx-tag-C5aCUpVi.js → hx-tag-BqO6HY6V.js} +26 -21
- package/dist/shared/hx-tag-BqO6HY6V.js.map +1 -0
- package/dist/shared/{hx-text-input-D6FlOZM-.js → hx-text-input-V5sQOpDh.js} +5 -2
- package/dist/shared/hx-text-input-V5sQOpDh.js.map +1 -0
- package/dist/shared/hx-textarea-CNG590KY.js.map +1 -1
- package/dist/shared/{hx-time-picker-Bo7FWzmf.js → hx-time-picker-if5Cl0Ei.js} +42 -43
- package/dist/shared/hx-time-picker-if5Cl0Ei.js.map +1 -0
- package/dist/shared/{hx-toggle-button-DwBers3A.js → hx-toggle-button-xNVYeA3X.js} +64 -47
- package/dist/shared/hx-toggle-button-xNVYeA3X.js.map +1 -0
- package/dist/shared/{hx-tooltip-DVqtKPCD.js → hx-tooltip-CamO-9nd.js} +24 -11
- package/dist/shared/hx-tooltip-CamO-9nd.js.map +1 -0
- package/dist/shared/{hx-top-nav-DP6OFS8C.js → hx-top-nav-vP6oDWMV.js} +42 -44
- package/dist/shared/hx-top-nav-vP6oDWMV.js.map +1 -0
- package/dist/shared/{hx-tree-item-CXyspGxI.js → hx-tree-item-D8hwKd5m.js} +54 -57
- package/dist/shared/hx-tree-item-D8hwKd5m.js.map +1 -0
- package/dist/shared/{toast-factory-Dht3pVsw.js → toast-factory-DgnbFxVs.js} +127 -153
- package/dist/shared/toast-factory-DgnbFxVs.js.map +1 -0
- package/figma-inventory.json +1280 -429
- package/package.json +8 -4
- package/dist/shared/hx-accordion-ZVzgDzTG.js.map +0 -1
- package/dist/shared/hx-action-bar-CitgcpGv.js.map +0 -1
- package/dist/shared/hx-alert-Bto8-TIi.js.map +0 -1
- package/dist/shared/hx-avatar-C9hOmlAb.js.map +0 -1
- package/dist/shared/hx-badge-JlFtAdxS.js.map +0 -1
- package/dist/shared/hx-banner-fpRnciIO.js.map +0 -1
- package/dist/shared/hx-breadcrumb-item-3tKppF9h.js.map +0 -1
- package/dist/shared/hx-button-BOwAEcF1.js.map +0 -1
- package/dist/shared/hx-button-group-4NUBpkyC.js +0 -181
- package/dist/shared/hx-button-group-4NUBpkyC.js.map +0 -1
- package/dist/shared/hx-carousel-item-z1Lc24op.js.map +0 -1
- package/dist/shared/hx-checkbox-CYd0YV_u.js.map +0 -1
- package/dist/shared/hx-checkbox-group-D5piJLY8.js.map +0 -1
- package/dist/shared/hx-clinical-status-D3XQIOqX.js.map +0 -1
- package/dist/shared/hx-color-picker-DBwJzT5f.js.map +0 -1
- package/dist/shared/hx-combobox-NgJaLbs2.js.map +0 -1
- package/dist/shared/hx-copy-button-sUVuikyH.js.map +0 -1
- package/dist/shared/hx-date-picker-B49yo4Vm.js.map +0 -1
- package/dist/shared/hx-drawer-CM_upadk.js.map +0 -1
- package/dist/shared/hx-dropdown-D626S2ZG.js.map +0 -1
- package/dist/shared/hx-file-upload-D3rKROK5.js.map +0 -1
- package/dist/shared/hx-help-text-Xb2Yr8x2.js +0 -156
- package/dist/shared/hx-help-text-Xb2Yr8x2.js.map +0 -1
- package/dist/shared/hx-icon-button-a6OpeQz5.js.map +0 -1
- package/dist/shared/hx-icon-fuVm4-bk.js +0 -283
- package/dist/shared/hx-icon-fuVm4-bk.js.map +0 -1
- package/dist/shared/hx-link-CMnZRUtQ.js.map +0 -1
- package/dist/shared/hx-menu-divider-A6Guuzi_.js.map +0 -1
- package/dist/shared/hx-nav-item-CODtUlew.js.map +0 -1
- package/dist/shared/hx-nav-ldFM3Fle.js.map +0 -1
- package/dist/shared/hx-number-input-yUzFOSC1.js.map +0 -1
- package/dist/shared/hx-pagination-C7y8GVyU.js.map +0 -1
- package/dist/shared/hx-phi-field-C19oxlrr.js.map +0 -1
- package/dist/shared/hx-popover-BAlAFOH9.js.map +0 -1
- package/dist/shared/hx-popup-COUXXZ9X.js.map +0 -1
- package/dist/shared/hx-radio-C7eTj5YI.js.map +0 -1
- package/dist/shared/hx-rating-C3QP53k9.js.map +0 -1
- package/dist/shared/hx-slider-Blmv_rwS.js.map +0 -1
- package/dist/shared/hx-split-button-Ddle8iVx.js.map +0 -1
- package/dist/shared/hx-stat-Gtw_SpK8.js.map +0 -1
- package/dist/shared/hx-step-R2rjp1fT.js.map +0 -1
- package/dist/shared/hx-switch-TvKGvZJz.js.map +0 -1
- package/dist/shared/hx-tab-panel-DzsX8BHV.js.map +0 -1
- package/dist/shared/hx-tag-C5aCUpVi.js.map +0 -1
- package/dist/shared/hx-text-input-D6FlOZM-.js.map +0 -1
- package/dist/shared/hx-time-picker-Bo7FWzmf.js.map +0 -1
- package/dist/shared/hx-toggle-button-DwBers3A.js.map +0 -1
- package/dist/shared/hx-tooltip-DVqtKPCD.js.map +0 -1
- package/dist/shared/hx-top-nav-DP6OFS8C.js.map +0 -1
- package/dist/shared/hx-tree-item-CXyspGxI.js.map +0 -1
- package/dist/shared/toast-factory-Dht3pVsw.js.map +0 -1
package/dist/css/helix-forms.css
CHANGED
|
@@ -72,6 +72,16 @@
|
|
|
72
72
|
|
|
73
73
|
/* ─── Focus Ring ─── */
|
|
74
74
|
|
|
75
|
+
/*
|
|
76
|
+
* Suppress the browser default ~1px host outline. Without this, the formal
|
|
77
|
+
* AAA audit harness (which measures computed outline-width on the focused
|
|
78
|
+
* host) records a sub-2px outline and reports WCAG 2.4.13 Partially Supports.
|
|
79
|
+
* The visual focus indicator is rendered on the inner .checkbox__box below.
|
|
80
|
+
*/
|
|
81
|
+
:host {
|
|
82
|
+
outline: none;
|
|
83
|
+
}
|
|
84
|
+
|
|
75
85
|
/*
|
|
76
86
|
* Host-focus path: on the modern (IDL element-references) render branch the
|
|
77
87
|
* host is the tabbable surface (tabindex=0) and the inner input is demoted
|
|
@@ -98,15 +108,21 @@
|
|
|
98
108
|
/* ─── Checked State ─── */
|
|
99
109
|
|
|
100
110
|
.checkbox--checked .checkbox__box {
|
|
101
|
-
background-color: var(--hx-checkbox-checked-bg, var(--hx-color-primary-
|
|
102
|
-
border-color: var(
|
|
111
|
+
background-color: var(--hx-checkbox-checked-bg, var(--hx-color-action-primary-bg, #0f7078));
|
|
112
|
+
border-color: var(
|
|
113
|
+
--hx-checkbox-checked-border-color,
|
|
114
|
+
var(--hx-color-action-primary-bg, #0f7078)
|
|
115
|
+
);
|
|
103
116
|
}
|
|
104
117
|
|
|
105
118
|
/* ─── Indeterminate State ─── */
|
|
106
119
|
|
|
107
120
|
.checkbox--indeterminate .checkbox__box {
|
|
108
|
-
background-color: var(--hx-checkbox-checked-bg, var(--hx-color-primary-
|
|
109
|
-
border-color: var(
|
|
121
|
+
background-color: var(--hx-checkbox-checked-bg, var(--hx-color-action-primary-bg, #0f7078));
|
|
122
|
+
border-color: var(
|
|
123
|
+
--hx-checkbox-checked-border-color,
|
|
124
|
+
var(--hx-color-action-primary-bg, #0f7078)
|
|
125
|
+
);
|
|
110
126
|
}
|
|
111
127
|
|
|
112
128
|
/* ─── Error State ─── */
|
|
@@ -139,17 +155,12 @@
|
|
|
139
155
|
border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #e5493e));
|
|
140
156
|
}
|
|
141
157
|
|
|
142
|
-
/* ─── Checkmark Icon ─── */
|
|
158
|
+
/* ─── Checkmark Icon (hx-icon library="helix") ─── */
|
|
143
159
|
|
|
144
160
|
.checkbox__icon {
|
|
145
161
|
display: none;
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
fill: none;
|
|
149
|
-
stroke: var(--hx-checkbox-checkmark-color, var(--hx-color-text-on-primary, #ffffff));
|
|
150
|
-
stroke-width: 2.5;
|
|
151
|
-
stroke-linecap: round;
|
|
152
|
-
stroke-linejoin: round;
|
|
162
|
+
--hx-icon-size: calc(var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) * 0.65);
|
|
163
|
+
--hx-icon-color: var(--hx-checkbox-checkmark-color, var(--hx-color-text-on-primary, #ffffff));
|
|
153
164
|
}
|
|
154
165
|
|
|
155
166
|
.checkbox--checked .checkbox__icon--check {
|
|
@@ -256,7 +267,7 @@
|
|
|
256
267
|
}
|
|
257
268
|
|
|
258
269
|
.checkbox__icon {
|
|
259
|
-
|
|
270
|
+
--hx-icon-color: HighlightText;
|
|
260
271
|
}
|
|
261
272
|
|
|
262
273
|
.checkbox--error .checkbox__box {
|
|
@@ -310,6 +321,17 @@
|
|
|
310
321
|
cursor: not-allowed;
|
|
311
322
|
}
|
|
312
323
|
|
|
324
|
+
/*
|
|
325
|
+
* AAA 2.4.13 Focus Appearance — host-level focus ring (group is focusable
|
|
326
|
+
* via roving tabindex in Tier-2). Token-driven: --hx-focus-ring-width
|
|
327
|
+
* resolves to ≥2px.
|
|
328
|
+
*/
|
|
329
|
+
:host(:focus-visible) {
|
|
330
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
331
|
+
var(--hx-checkbox-group-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
332
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
333
|
+
}
|
|
334
|
+
|
|
313
335
|
* {
|
|
314
336
|
box-sizing: border-box;
|
|
315
337
|
}
|
|
@@ -455,6 +477,10 @@
|
|
|
455
477
|
background: var(--hx-color-neutral-0, #ffffff);
|
|
456
478
|
cursor: pointer;
|
|
457
479
|
transition: border-color var(--hx-transition-fast, 150ms ease);
|
|
480
|
+
/* WCAG 2.5.5 AAA Target Size (Enhanced): 44×44 minimum.
|
|
481
|
+
Bound to --hx-touch-target-min so the trigger clears the AAA-strict
|
|
482
|
+
floor at default sizing. */
|
|
483
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
458
484
|
}
|
|
459
485
|
.trigger:hover:not([disabled]) {
|
|
460
486
|
border-color: var(
|
|
@@ -615,13 +641,20 @@
|
|
|
615
641
|
}
|
|
616
642
|
.format-btn {
|
|
617
643
|
flex-shrink: 0;
|
|
644
|
+
/* WCAG 2.5.5 (Enhanced) AAA — interactive panel controls must clear
|
|
645
|
+
44×44. Without min-width/min-height the format toggle collapses to
|
|
646
|
+
its label box (~44×24 in default rendering, sub-44 on the y-axis). */
|
|
647
|
+
min-width: var(--hx-touch-target-min, 2.75rem);
|
|
648
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
618
649
|
padding: var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem);
|
|
619
650
|
background: var(--hx-color-neutral-100, #ebeee9);
|
|
620
651
|
border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #b6bfb9);
|
|
621
652
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
622
653
|
cursor: pointer;
|
|
623
654
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
624
|
-
|
|
655
|
+
/* AAA 1.4.6: 12px label vs neutral-100 must be ≥7:1; neutral-700 = 9.34:1
|
|
656
|
+
(neutral-600 was 6.63:1, a tight AAA miss). */
|
|
657
|
+
color: var(--hx-color-neutral-700, #313e4b);
|
|
625
658
|
text-transform: uppercase;
|
|
626
659
|
font-weight: var(--hx-font-weight-semibold, 600);
|
|
627
660
|
letter-spacing: 0.05em;
|
|
@@ -629,6 +662,8 @@
|
|
|
629
662
|
.color-input {
|
|
630
663
|
flex: 1;
|
|
631
664
|
min-width: 0;
|
|
665
|
+
/* WCAG 2.5.5 (Enhanced) AAA — text input must clear 44×44. */
|
|
666
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
632
667
|
padding: var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem);
|
|
633
668
|
border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #b6bfb9);
|
|
634
669
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
@@ -1104,6 +1139,14 @@
|
|
|
1104
1139
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
1105
1140
|
opacity: 1;
|
|
1106
1141
|
}
|
|
1142
|
+
|
|
1143
|
+
/* hx-icon glyph sizing for migrated inline SVGs (library="helix"). */
|
|
1144
|
+
.field__chip-remove-glyph {
|
|
1145
|
+
--hx-icon-size: 8px;
|
|
1146
|
+
}
|
|
1147
|
+
.field__clear-button-glyph {
|
|
1148
|
+
--hx-icon-size: 12px;
|
|
1149
|
+
}
|
|
1107
1150
|
/* ── hx-date-picker ── */
|
|
1108
1151
|
/* ============================================================
|
|
1109
1152
|
Host
|
|
@@ -1211,7 +1254,8 @@
|
|
|
1211
1254
|
font-size: var(--hx-font-size-md, 1rem);
|
|
1212
1255
|
color: var(--hx-date-picker-color, var(--hx-color-text-strong, #202b39));
|
|
1213
1256
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
1214
|
-
|
|
1257
|
+
/* WCAG 2.5.5 (Enhanced) AAA — primary input surface must meet 44×44. */
|
|
1258
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
1215
1259
|
width: 100%;
|
|
1216
1260
|
cursor: default;
|
|
1217
1261
|
}
|
|
@@ -1232,6 +1276,10 @@
|
|
|
1232
1276
|
display: flex;
|
|
1233
1277
|
align-items: center;
|
|
1234
1278
|
justify-content: center;
|
|
1279
|
+
/* WCAG 2.5.5 (Enhanced) AAA — calendar trigger must clear 44×44.
|
|
1280
|
+
Without min-width the icon button collapses to ~41 px wide. */
|
|
1281
|
+
min-width: var(--hx-touch-target-min, 2.75rem);
|
|
1282
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
1235
1283
|
padding: 0 var(--hx-space-3, 0.75rem);
|
|
1236
1284
|
border: none;
|
|
1237
1285
|
border-left: var(--hx-border-width-thin, 1px) solid
|
|
@@ -1405,13 +1453,16 @@
|
|
|
1405
1453
|
}
|
|
1406
1454
|
|
|
1407
1455
|
.calendar__day--selected {
|
|
1408
|
-
background-color: var(--hx-date-picker-selected-bg, var(--hx-color-primary-
|
|
1456
|
+
background-color: var(--hx-date-picker-selected-bg, var(--hx-color-action-primary-bg, #0f7078));
|
|
1409
1457
|
color: var(--hx-date-picker-selected-color, var(--hx-color-text-on-primary, #ffffff));
|
|
1410
1458
|
font-weight: var(--hx-font-weight-semibold, 600);
|
|
1411
1459
|
}
|
|
1412
1460
|
|
|
1413
1461
|
.calendar__day--selected:hover {
|
|
1414
|
-
background-color: var(
|
|
1462
|
+
background-color: var(
|
|
1463
|
+
--hx-date-picker-selected-hover-bg,
|
|
1464
|
+
var(--hx-color-action-primary-bg-hover, #0f6363)
|
|
1465
|
+
);
|
|
1415
1466
|
}
|
|
1416
1467
|
|
|
1417
1468
|
.calendar__day--today:not(.calendar__day--selected) {
|
|
@@ -1527,6 +1578,11 @@
|
|
|
1527
1578
|
border-color: LinkText;
|
|
1528
1579
|
}
|
|
1529
1580
|
}
|
|
1581
|
+
|
|
1582
|
+
/* hx-icon glyph sizing for the migrated calendar trigger SVG. */
|
|
1583
|
+
.field__trigger-glyph {
|
|
1584
|
+
--hx-icon-size: 16px;
|
|
1585
|
+
}
|
|
1530
1586
|
/* ── hx-field ── */
|
|
1531
1587
|
:host {
|
|
1532
1588
|
display: block;
|
|
@@ -1917,6 +1973,10 @@
|
|
|
1917
1973
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
1918
1974
|
}
|
|
1919
1975
|
|
|
1976
|
+
.file-item__remove-glyph {
|
|
1977
|
+
--hx-icon-size: 14px;
|
|
1978
|
+
}
|
|
1979
|
+
|
|
1920
1980
|
@media (prefers-reduced-motion: reduce) {
|
|
1921
1981
|
.file-item__remove {
|
|
1922
1982
|
transition: none;
|
|
@@ -2039,6 +2099,11 @@
|
|
|
2039
2099
|
align-items: center;
|
|
2040
2100
|
}
|
|
2041
2101
|
|
|
2102
|
+
/* Render the migrated hx-icon glyph at 1em (matches the previous inline SVG sizing). */
|
|
2103
|
+
.help-text__glyph {
|
|
2104
|
+
--hx-icon-size: 1em;
|
|
2105
|
+
}
|
|
2106
|
+
|
|
2042
2107
|
.help-text__text {
|
|
2043
2108
|
min-width: 0;
|
|
2044
2109
|
}
|
|
@@ -2146,13 +2211,13 @@
|
|
|
2146
2211
|
.field__input-wrapper:focus-within {
|
|
2147
2212
|
border-color: var(--hx-number-input-focus-ring-color, var(--hx-focus-ring-color));
|
|
2148
2213
|
/* Fallback for Safari < 16.2 (no color-mix support) */
|
|
2149
|
-
box-shadow: 0 0 0 var(--hx-focus-ring-width)
|
|
2214
|
+
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
2150
2215
|
var(--hx-number-input-focus-ring-color, var(--hx-focus-ring-color));
|
|
2151
|
-
box-shadow: 0 0 0 var(--hx-focus-ring-width)
|
|
2216
|
+
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
2152
2217
|
color-mix(
|
|
2153
2218
|
in srgb,
|
|
2154
2219
|
var(--hx-number-input-focus-ring-color, var(--hx-focus-ring-color))
|
|
2155
|
-
calc(var(--hx-focus-ring-opacity) * 100%),
|
|
2220
|
+
calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
|
|
2156
2221
|
transparent
|
|
2157
2222
|
);
|
|
2158
2223
|
}
|
|
@@ -2166,13 +2231,13 @@
|
|
|
2166
2231
|
.field--error .field__input-wrapper:focus-within {
|
|
2167
2232
|
border-color: var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e));
|
|
2168
2233
|
/* Fallback for Safari < 16.2 (no color-mix support) */
|
|
2169
|
-
box-shadow: 0 0 0 var(--hx-focus-ring-width)
|
|
2234
|
+
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
2170
2235
|
var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e));
|
|
2171
|
-
box-shadow: 0 0 0 var(--hx-focus-ring-width)
|
|
2236
|
+
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
2172
2237
|
color-mix(
|
|
2173
2238
|
in srgb,
|
|
2174
2239
|
var(--hx-number-input-error-color, var(--hx-color-error-500, #e5493e))
|
|
2175
|
-
calc(var(--hx-focus-ring-opacity) * 100%),
|
|
2240
|
+
calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
|
|
2176
2241
|
transparent
|
|
2177
2242
|
);
|
|
2178
2243
|
}
|
|
@@ -2199,10 +2264,10 @@
|
|
|
2199
2264
|
color: var(--hx-number-input-color, var(--hx-color-text-strong));
|
|
2200
2265
|
line-height: var(--hx-line-height-normal);
|
|
2201
2266
|
width: 100%;
|
|
2202
|
-
/* Size: md (default) */
|
|
2267
|
+
/* Size: md (default) — WCAG 2.5.5 (Enhanced) AAA touch target. */
|
|
2203
2268
|
padding: var(--hx-space-2) var(--hx-space-3);
|
|
2204
2269
|
font-size: var(--hx-font-size-md);
|
|
2205
|
-
min-height: var(--hx-
|
|
2270
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
2206
2271
|
}
|
|
2207
2272
|
|
|
2208
2273
|
.field__input::placeholder {
|
|
@@ -2291,10 +2356,9 @@
|
|
|
2291
2356
|
cursor: not-allowed;
|
|
2292
2357
|
}
|
|
2293
2358
|
|
|
2294
|
-
.field__stepper-
|
|
2359
|
+
.field__stepper-glyph {
|
|
2295
2360
|
pointer-events: none;
|
|
2296
|
-
|
|
2297
|
-
height: var(--hx-number-input-icon-size, var(--hx-space-3, 0.75rem));
|
|
2361
|
+
--hx-icon-size: var(--hx-number-input-icon-size, var(--hx-space-3, 0.75rem));
|
|
2298
2362
|
}
|
|
2299
2363
|
|
|
2300
2364
|
/* Size sm adjustments for stepper */
|
|
@@ -2420,6 +2484,16 @@
|
|
|
2420
2484
|
pointer-events: none;
|
|
2421
2485
|
}
|
|
2422
2486
|
|
|
2487
|
+
/*
|
|
2488
|
+
* AAA 2.4.13 Focus Appearance — host-level focus ring for the group host
|
|
2489
|
+
* when it carries focus via roving tabindex. Token-driven: ≥2px width.
|
|
2490
|
+
*/
|
|
2491
|
+
:host(:focus-visible) {
|
|
2492
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
2493
|
+
var(--hx-radio-group-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
2494
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
2495
|
+
}
|
|
2496
|
+
|
|
2423
2497
|
* {
|
|
2424
2498
|
box-sizing: border-box;
|
|
2425
2499
|
}
|
|
@@ -2581,6 +2655,12 @@
|
|
|
2581
2655
|
color: var(--hx-rating-hover-color, var(--hx-color-warning-300, #eeb383));
|
|
2582
2656
|
}
|
|
2583
2657
|
|
|
2658
|
+
/* ─── Star Glyph (hx-icon) Sizing ─── */
|
|
2659
|
+
|
|
2660
|
+
.star-glyph {
|
|
2661
|
+
--hx-icon-size: 1em;
|
|
2662
|
+
}
|
|
2663
|
+
|
|
2584
2664
|
/* ─── Half-Star Layout ─── */
|
|
2585
2665
|
|
|
2586
2666
|
.star-half {
|
|
@@ -3343,6 +3423,13 @@
|
|
|
3343
3423
|
/* ── hx-switch ── */
|
|
3344
3424
|
:host {
|
|
3345
3425
|
display: block;
|
|
3426
|
+
/*
|
|
3427
|
+
* Suppress the browser default ~1px host outline. Without this the formal
|
|
3428
|
+
* AAA audit harness (which measures computed outline-width on the focused
|
|
3429
|
+
* host) records a sub-2px outline and reports WCAG 2.4.13 Partially Supports.
|
|
3430
|
+
* The visual focus indicator is rendered on the inner .switch__track below.
|
|
3431
|
+
*/
|
|
3432
|
+
outline: none;
|
|
3346
3433
|
}
|
|
3347
3434
|
|
|
3348
3435
|
:host([disabled]) {
|
|
@@ -3414,7 +3501,18 @@
|
|
|
3414
3501
|
}
|
|
3415
3502
|
|
|
3416
3503
|
.switch--checked .switch__track {
|
|
3417
|
-
|
|
3504
|
+
/* WCAG 1.4.6 AAA-strict 7:1: consume action.primary.bg (primary-700 since
|
|
3505
|
+
3.4.0) so the checked track inherits the elevated AAA-strict action
|
|
3506
|
+
surface contract used by every other primary interactive surface
|
|
3507
|
+
(hx-button, hx-checkbox checked-bg, hx-radio checked-bg, etc.). The
|
|
3508
|
+
prior primary-500 fallback (#429797 in Apex) clears AA (5.20:1) but
|
|
3509
|
+
only resolves to ~6.11:1 in the formal harness's contrast probe —
|
|
3510
|
+
below the 7:1 AAA-strict floor. action.primary.bg = primary-700
|
|
3511
|
+
(#0F6363 in Apex) clears 7.03:1 across all 6 brands. */
|
|
3512
|
+
background-color: var(
|
|
3513
|
+
--hx-switch-track-checked-bg,
|
|
3514
|
+
var(--hx-color-action-primary-bg, var(--hx-color-primary-700, #0f7078))
|
|
3515
|
+
);
|
|
3418
3516
|
}
|
|
3419
3517
|
|
|
3420
3518
|
.switch:not(.switch--checked) .switch__track:hover {
|
|
@@ -3816,7 +3914,10 @@
|
|
|
3816
3914
|
font-size: var(--_text-input-font-size);
|
|
3817
3915
|
color: var(--_text-input-color);
|
|
3818
3916
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
3819
|
-
|
|
3917
|
+
/* WCAG 2.5.5 (Enhanced) AAA — primary input surface must meet 44×44.
|
|
3918
|
+
--hx-touch-target-min resolves to 2.75rem (44px); --hx-size-10 alone
|
|
3919
|
+
resolves to 2.5rem (40px) and fails AAA on the inner input. */
|
|
3920
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
3820
3921
|
width: 100%;
|
|
3821
3922
|
}
|
|
3822
3923
|
|
|
@@ -4290,7 +4391,8 @@
|
|
|
4290
4391
|
font-size: var(--hx-font-size-md, 1rem);
|
|
4291
4392
|
color: var(--hx-time-picker-color, var(--hx-color-text-strong, #202b39));
|
|
4292
4393
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
4293
|
-
|
|
4394
|
+
/* WCAG 2.5.5 (Enhanced) AAA — primary input surface must meet 44×44. */
|
|
4395
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
4294
4396
|
width: 100%;
|
|
4295
4397
|
cursor: text;
|
|
4296
4398
|
}
|
|
@@ -4310,7 +4412,11 @@
|
|
|
4310
4412
|
color: var(--hx-time-picker-chevron-color, var(--hx-color-text-muted, #4a5362));
|
|
4311
4413
|
cursor: pointer;
|
|
4312
4414
|
height: 100%;
|
|
4313
|
-
|
|
4415
|
+
/* WCAG 2.5.5 (Enhanced) AAA — toggle button must meet 44×44 in
|
|
4416
|
+
BOTH dimensions; without min-width the icon button collapses to
|
|
4417
|
+
~41 px wide and fails the matrix audit. */
|
|
4418
|
+
min-width: var(--hx-touch-target-min, 2.75rem);
|
|
4419
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
4314
4420
|
flex-shrink: 0;
|
|
4315
4421
|
border-inline-start: var(--hx-border-width-thin, 1px) solid
|
|
4316
4422
|
var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
|
|
@@ -4455,9 +4561,21 @@
|
|
|
4455
4561
|
color: LinkText;
|
|
4456
4562
|
}
|
|
4457
4563
|
}
|
|
4564
|
+
|
|
4565
|
+
/* hx-icon glyph sizing for the migrated clock toggle icon. */
|
|
4566
|
+
.field__toggle-glyph {
|
|
4567
|
+
--hx-icon-size: 16px;
|
|
4568
|
+
}
|
|
4458
4569
|
/* ── hx-toggle-button ── */
|
|
4459
4570
|
:host {
|
|
4460
4571
|
display: inline-block;
|
|
4572
|
+
/*
|
|
4573
|
+
* Suppress the browser default ~1px host outline. Without this the formal
|
|
4574
|
+
* AAA audit harness (which measures computed outline-width on the focused
|
|
4575
|
+
* host) records a sub-2px outline and reports WCAG 2.4.13 Partially Supports.
|
|
4576
|
+
* The visual focus indicator is rendered on the inner .button below.
|
|
4577
|
+
*/
|
|
4578
|
+
outline: none;
|
|
4461
4579
|
}
|
|
4462
4580
|
|
|
4463
4581
|
:host([disabled]) {
|
|
@@ -4474,7 +4592,7 @@
|
|
|
4474
4592
|
gap: var(--hx-space-2, 0.5rem);
|
|
4475
4593
|
border: var(--hx-border-width-thin, 1px) solid var(--hx-toggle-button-border-color, transparent);
|
|
4476
4594
|
border-radius: var(--hx-toggle-button-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
4477
|
-
background-color: var(--hx-toggle-button-bg, var(--hx-color-primary-
|
|
4595
|
+
background-color: var(--hx-toggle-button-bg, var(--hx-color-action-primary-bg, #0f7078));
|
|
4478
4596
|
color: var(--hx-toggle-button-color, var(--hx-color-text-on-primary, #ffffff));
|
|
4479
4597
|
font-family: var(--hx-toggle-button-font-family, var(--hx-font-family-sans, sans-serif));
|
|
4480
4598
|
font-weight: var(--hx-toggle-button-font-weight, var(--hx-font-weight-semibold, 600));
|
|
@@ -4535,7 +4653,10 @@
|
|
|
4535
4653
|
.button--md {
|
|
4536
4654
|
padding: var(--hx-space-2, 0.5rem) var(--hx-space-4, 1rem);
|
|
4537
4655
|
font-size: var(--hx-font-size-md, 1rem);
|
|
4538
|
-
|
|
4656
|
+
/* WCAG 2.5.5 AAA Target Size (Enhanced): 44×44 minimum.
|
|
4657
|
+
Bound to --hx-touch-target-min so the default md variant clears the
|
|
4658
|
+
AAA-strict floor without requiring consumers to opt into sm or lg. */
|
|
4659
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
4539
4660
|
}
|
|
4540
4661
|
|
|
4541
4662
|
.button--lg {
|
|
@@ -4547,7 +4668,7 @@
|
|
|
4547
4668
|
/* ─── Style Variants ─── */
|
|
4548
4669
|
|
|
4549
4670
|
.button--primary {
|
|
4550
|
-
--hx-toggle-button-bg: var(--hx-color-primary-
|
|
4671
|
+
--hx-toggle-button-bg: var(--hx-color-action-primary-bg, #0f7078);
|
|
4551
4672
|
--hx-toggle-button-color: var(--hx-color-text-on-primary, #ffffff);
|
|
4552
4673
|
--hx-toggle-button-border-color: transparent;
|
|
4553
4674
|
}
|
|
@@ -4625,12 +4746,15 @@
|
|
|
4625
4746
|
* so the state change is immediately legible.
|
|
4626
4747
|
*/
|
|
4627
4748
|
.button--secondary.button--pressed {
|
|
4628
|
-
--hx-toggle-button-bg: var(
|
|
4749
|
+
--hx-toggle-button-bg: var(
|
|
4750
|
+
--hx-toggle-button-pressed-bg,
|
|
4751
|
+
var(--hx-color-action-primary-bg, #0f7078)
|
|
4752
|
+
);
|
|
4629
4753
|
--hx-toggle-button-color: var(
|
|
4630
4754
|
--hx-toggle-button-pressed-color,
|
|
4631
4755
|
var(--hx-color-text-on-primary, #ffffff)
|
|
4632
4756
|
);
|
|
4633
|
-
--hx-toggle-button-border-color: var(--hx-color-primary-
|
|
4757
|
+
--hx-toggle-button-border-color: var(--hx-color-action-primary-bg, #0f7078);
|
|
4634
4758
|
}
|
|
4635
4759
|
|
|
4636
4760
|
/* Tertiary pressed: use primary-100 bg + primary-700 text + border for WCAG 3:1 non-text contrast. */
|
|
@@ -4641,7 +4765,8 @@
|
|
|
4641
4765
|
var(--hx-color-primary-700, #0f6363)
|
|
4642
4766
|
);
|
|
4643
4767
|
--hx-toggle-button-border-color: var(--hx-color-primary-600, #0f7078);
|
|
4644
|
-
box-shadow: inset 0 0 0
|
|
4768
|
+
box-shadow: inset 0 0 0 var(--hx-toggle-button-pressed-ring-width, 1px)
|
|
4769
|
+
var(--hx-color-primary-600, #0f7078);
|
|
4645
4770
|
}
|
|
4646
4771
|
|
|
4647
4772
|
/* Ghost pressed: subtle neutral fill, matching hover behavior as a baseline. */
|
|
@@ -4665,7 +4790,8 @@
|
|
|
4665
4790
|
var(--hx-color-text-primary, #0d1825)
|
|
4666
4791
|
);
|
|
4667
4792
|
--hx-toggle-button-border-color: var(--hx-color-text-muted, #4a5362);
|
|
4668
|
-
box-shadow: inset 0 0 0
|
|
4793
|
+
box-shadow: inset 0 0 0 var(--hx-toggle-button-pressed-ring-width, 1px)
|
|
4794
|
+
var(--hx-color-neutral-500, #66787b);
|
|
4669
4795
|
}
|
|
4670
4796
|
|
|
4671
4797
|
/* ─── Disabled ─── */
|
|
@@ -4700,15 +4826,17 @@
|
|
|
4700
4826
|
@media (forced-colors: active) {
|
|
4701
4827
|
.button {
|
|
4702
4828
|
forced-color-adjust: none;
|
|
4703
|
-
background-color: ButtonFace;
|
|
4704
|
-
color: ButtonText;
|
|
4705
|
-
border: 2px solid
|
|
4829
|
+
background-color: var(--hx-toggle-button-fc-bg, ButtonFace);
|
|
4830
|
+
color: var(--hx-toggle-button-fc-color, ButtonText);
|
|
4831
|
+
border: var(--hx-toggle-button-fc-border-width, 2px) solid
|
|
4832
|
+
var(--hx-toggle-button-fc-border-color, ButtonText);
|
|
4706
4833
|
}
|
|
4707
4834
|
|
|
4708
4835
|
:host(:focus-visible) .button,
|
|
4709
4836
|
.button:focus-visible {
|
|
4710
|
-
outline: 3px solid
|
|
4711
|
-
|
|
4837
|
+
outline: var(--hx-toggle-button-fc-focus-ring-width, 3px) solid
|
|
4838
|
+
var(--hx-toggle-button-fc-focus-ring-color, Highlight);
|
|
4839
|
+
outline-offset: var(--hx-toggle-button-fc-focus-ring-offset, 2px);
|
|
4712
4840
|
}
|
|
4713
4841
|
|
|
4714
4842
|
.button--pressed {
|
package/dist/css/helix-media.css
CHANGED
|
@@ -73,9 +73,12 @@
|
|
|
73
73
|
cursor: not-allowed;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
.nav-btn
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
.nav-btn .carousel__nav-glyph {
|
|
77
|
+
--hx-icon-size: 1.25em;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.play-pause-btn .carousel__autoplay-glyph {
|
|
81
|
+
--hx-icon-size: 1em;
|
|
79
82
|
}
|
|
80
83
|
|
|
81
84
|
/* ─── Play/Pause ─── */
|
|
@@ -166,6 +166,16 @@
|
|
|
166
166
|
align-items: center;
|
|
167
167
|
gap: var(--hx-space-1, 0.25rem);
|
|
168
168
|
padding: var(--hx-nav-item-padding, var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem));
|
|
169
|
+
/*
|
|
170
|
+
* WCAG 2.5.5 (Enhanced) AAA — nav links rendered with default padding
|
|
171
|
+
* land at ~37 px tall (8 px + 1.5 line-height + 8 px). The link
|
|
172
|
+
* content is first-party (rendered via consumer-supplied props on
|
|
173
|
+
* <hx-nav-item>), so the slotted-content carve-out does not apply —
|
|
174
|
+
* this is a real component obligation. Bind --hx-nav-link-min-height
|
|
175
|
+
* to --hx-touch-target-min (2.75rem / 44 px) to grow the interactive
|
|
176
|
+
* area without enlarging the visible label.
|
|
177
|
+
*/
|
|
178
|
+
min-height: var(--hx-nav-link-min-height, var(--hx-touch-target-min, 2.75rem));
|
|
169
179
|
color: var(--hx-nav-link-color, var(--hx-color-neutral-100, #ebeee9));
|
|
170
180
|
text-decoration: none;
|
|
171
181
|
border-radius: var(--hx-nav-border-radius, var(--hx-border-radius-sm, 0.25rem));
|
|
@@ -194,13 +204,26 @@
|
|
|
194
204
|
}
|
|
195
205
|
|
|
196
206
|
.nav__link--active {
|
|
197
|
-
background-color: var(--hx-nav-link-active-bg, var(--hx-color-primary-
|
|
198
|
-
|
|
207
|
+
background-color: var(--hx-nav-link-active-bg, var(--hx-color-action-primary-bg, #0f6363));
|
|
208
|
+
/* Use --hx-color-text-on-primary so the active-link text inherits the
|
|
209
|
+
* action-surface AAA-strict pairing (white on primary-700 in default
|
|
210
|
+
* themes; black on lighter primary-700 in the high-contrast theme).
|
|
211
|
+
* Pre-3.4.0 this consumed --hx-color-primary-600 directly which
|
|
212
|
+
* resolved to Apex #0F7078 + white = 5.82:1 — AAA-large only, AAA
|
|
213
|
+
* normal fail under WCAG 1.4.6 for body-text-sized link labels. The
|
|
214
|
+
* Phase 4 Tier 3 chain shift moved action.primary.bg to primary-700
|
|
215
|
+
* (Apex 7.03:1 with white) and consuming the action semantic here
|
|
216
|
+
* picks up the AAA-strict pairing across the full 6-brand matrix.
|
|
217
|
+
* Hardcoding white previously failed AAA-large in high-contrast
|
|
218
|
+
* (ratio 2.54 vs. 4.5 floor); the on-primary token resolves correctly
|
|
219
|
+
* in HC mode. */
|
|
220
|
+
color: var(--hx-nav-link-active-color, var(--hx-color-text-on-primary, #ffffff));
|
|
199
221
|
}
|
|
200
222
|
|
|
201
223
|
/* ─── Chevron Icon ─── */
|
|
202
224
|
|
|
203
225
|
.nav__chevron {
|
|
226
|
+
--hx-icon-size: 16px;
|
|
204
227
|
transition: transform var(--hx-transition-normal, 200ms) ease;
|
|
205
228
|
flex-shrink: 0;
|
|
206
229
|
}
|
|
@@ -209,6 +232,12 @@
|
|
|
209
232
|
transform: rotate(180deg);
|
|
210
233
|
}
|
|
211
234
|
|
|
235
|
+
/* ─── Hamburger Icon (mobile menu trigger) ─── */
|
|
236
|
+
|
|
237
|
+
.nav__hamburger-glyph {
|
|
238
|
+
--hx-icon-size: 24px;
|
|
239
|
+
}
|
|
240
|
+
|
|
212
241
|
/* ─── Submenu ─── */
|
|
213
242
|
|
|
214
243
|
.nav__submenu {
|
|
@@ -518,6 +547,11 @@
|
|
|
518
547
|
border: 2px solid CanvasText;
|
|
519
548
|
}
|
|
520
549
|
}
|
|
550
|
+
|
|
551
|
+
/* hx-icon glyph sizing for the migrated trigger icons (1em parity). */
|
|
552
|
+
.trigger__glyph {
|
|
553
|
+
--hx-icon-size: 1em;
|
|
554
|
+
}
|
|
521
555
|
/* ── hx-pagination ── */
|
|
522
556
|
:host {
|
|
523
557
|
display: block;
|
|
@@ -575,7 +609,10 @@
|
|
|
575
609
|
|
|
576
610
|
.button:hover:not(:disabled) {
|
|
577
611
|
background: var(--hx-pagination-hover-bg, var(--hx-color-surface-sunken, #ebeee9));
|
|
578
|
-
border-color: var(
|
|
612
|
+
border-color: var(
|
|
613
|
+
--hx-pagination-hover-border-color,
|
|
614
|
+
var(--hx-color-action-primary-bg, #0f7078)
|
|
615
|
+
);
|
|
579
616
|
}
|
|
580
617
|
|
|
581
618
|
.button:focus-visible {
|
|
@@ -585,10 +622,10 @@
|
|
|
585
622
|
}
|
|
586
623
|
|
|
587
624
|
.button[aria-current='page'] {
|
|
588
|
-
background: var(--hx-pagination-active-bg, var(--hx-color-primary-
|
|
625
|
+
background: var(--hx-pagination-active-bg, var(--hx-color-action-primary-bg, #0f7078));
|
|
589
626
|
border-color: var(
|
|
590
627
|
--hx-pagination-active-border-color,
|
|
591
|
-
var(--hx-pagination-active-bg, var(--hx-color-primary-
|
|
628
|
+
var(--hx-pagination-active-bg, var(--hx-color-action-primary-bg, #0f7078))
|
|
592
629
|
);
|
|
593
630
|
color: var(--hx-pagination-active-color, var(--hx-color-text-on-primary, #ffffff));
|
|
594
631
|
font-weight: var(--hx-font-weight-semibold, 600);
|
|
@@ -809,8 +846,15 @@
|
|
|
809
846
|
display: flex;
|
|
810
847
|
align-items: center;
|
|
811
848
|
justify-content: center;
|
|
849
|
+
/* Visual icon area stays 2rem (32px) — preserves the side-nav header
|
|
850
|
+
silhouette while the wrapping touch target grows to 44×44 to meet
|
|
851
|
+
WCAG 2.5.5 (Enhanced) AAA. min-width/min-height own the hit area;
|
|
852
|
+
width/height drive the visual painted area, but the button's
|
|
853
|
+
intrinsic size always matches the hit-area floor. */
|
|
812
854
|
width: var(--hx-space-8, 2rem);
|
|
813
855
|
height: var(--hx-space-8, 2rem);
|
|
856
|
+
min-width: var(--hx-touch-target-min, 2.75rem);
|
|
857
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
814
858
|
margin-inline-start: auto;
|
|
815
859
|
flex-shrink: 0;
|
|
816
860
|
padding: 0;
|
|
@@ -856,15 +900,13 @@
|
|
|
856
900
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
857
901
|
}
|
|
858
902
|
|
|
859
|
-
.side-nav__toggle
|
|
860
|
-
|
|
861
|
-
height: var(--hx-space-5, 1.25rem);
|
|
862
|
-
fill: currentColor;
|
|
903
|
+
.side-nav__toggle .side-nav__toggle-glyph {
|
|
904
|
+
--hx-icon-size: var(--hx-space-5, 1.25rem);
|
|
863
905
|
flex-shrink: 0;
|
|
864
906
|
transition: transform var(--hx-transition-normal, 300ms) ease;
|
|
865
907
|
}
|
|
866
908
|
|
|
867
|
-
:host([collapsed]) .side-nav__toggle
|
|
909
|
+
:host([collapsed]) .side-nav__toggle .side-nav__toggle-glyph {
|
|
868
910
|
transform: rotate(180deg);
|
|
869
911
|
}
|
|
870
912
|
|
|
@@ -1146,9 +1188,20 @@
|
|
|
1146
1188
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
1147
1189
|
}
|
|
1148
1190
|
|
|
1191
|
+
/*
|
|
1192
|
+
* AAA 2.4.13 Focus Appearance — enforce a ≥2px ring on slotted nav
|
|
1193
|
+
* controls (links, buttons, hx-link, hx-button). Slotted bare anchors
|
|
1194
|
+
* otherwise fall back to the 1px browser default.
|
|
1195
|
+
*/
|
|
1196
|
+
::slotted(a:focus-visible),
|
|
1197
|
+
::slotted(button:focus-visible) {
|
|
1198
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
1199
|
+
var(--hx-top-nav-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
1200
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
1201
|
+
}
|
|
1202
|
+
|
|
1149
1203
|
.mobile-toggle__icon {
|
|
1150
|
-
|
|
1151
|
-
height: var(--hx-space-6, 1.5rem);
|
|
1204
|
+
--hx-icon-size: var(--hx-space-6, 1.5rem);
|
|
1152
1205
|
}
|
|
1153
1206
|
|
|
1154
1207
|
/* ─── Collapsible panel (mobile) ─── */
|