@helixui/library 3.1.0-next.72 → 3.2.0-next.100
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 +165 -328
- 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-alert/index.js +1 -1
- package/dist/components/hx-banner/index.js +1 -1
- package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/index.js +1 -1
- package/dist/components/hx-button/hx-button.d.ts +44 -49
- 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-card/hx-card.styles.d.ts.map +1 -1
- package/dist/components/hx-card/index.js +1 -1
- package/dist/components/hx-carousel/index.js +1 -1
- package/dist/components/hx-checkbox/index.js +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-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
- package/dist/components/hx-code-snippet/index.js +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/index.js +1 -1
- package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -1
- package/dist/components/hx-data-table/index.js +1 -1
- package/dist/components/hx-date-picker/index.js +1 -1
- package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -1
- package/dist/components/hx-dialog/index.js +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-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-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/index.js +1 -1
- package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
- package/dist/components/hx-menu/index.js +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-nav/hx-nav.styles.d.ts.map +1 -1
- package/dist/components/hx-nav/index.js +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.styles.d.ts.map +1 -1
- package/dist/components/hx-phi-field/index.js +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-radio-group/index.js +1 -1
- package/dist/components/hx-rating/index.js +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.d.ts +7 -5
- 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 +9 -23
- 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/index.js +1 -1
- package/dist/components/hx-split-button/hx-split-button.d.ts +1 -1
- package/dist/components/hx-split-button/index.js +1 -1
- package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
- package/dist/components/hx-split-panel/index.js +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/index.js +1 -1
- package/dist/components/hx-table/hx-table.styles.d.ts.map +1 -1
- package/dist/components/hx-table/index.js +1 -1
- package/dist/components/hx-tabs/index.js +1 -1
- package/dist/components/hx-text-input/hx-text-input.d.ts +18 -35
- package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
- package/dist/components/hx-text-input/index.js +1 -1
- package/dist/components/hx-textarea/index.js +1 -1
- package/dist/components/hx-time-picker/index.js +1 -1
- package/dist/components/hx-toast/hx-toast.d.ts +12 -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/index.js +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.styles.d.ts.map +1 -1
- package/dist/components/hx-tree-view/index.js +1 -1
- package/dist/css/helix-all.css +289 -237
- package/dist/css/helix-core.css +147 -53
- package/dist/css/helix-data.css +9 -14
- package/dist/css/helix-feedback.css +30 -20
- package/dist/css/helix-forms.css +53 -73
- package/dist/css/helix-layout.css +2 -8
- package/dist/css/helix-media.css +3 -3
- package/dist/css/helix-navigation.css +34 -41
- package/dist/css/helix-overlay.css +3 -12
- package/dist/css/helix-tokens.css +60 -5
- package/dist/css/helix-utility.css +5 -5
- package/dist/css/hx-alert.css +1 -1
- package/dist/css/hx-banner.css +2 -2
- package/dist/css/hx-button.css +143 -43
- package/dist/css/hx-card.css +1 -4
- package/dist/css/hx-carousel.css +3 -3
- package/dist/css/hx-checkbox.css +2 -2
- package/dist/css/hx-clinical-status.css +2 -4
- package/dist/css/hx-code-snippet.css +6 -4
- package/dist/css/hx-color-picker.css +3 -13
- package/dist/css/hx-combobox.css +7 -7
- package/dist/css/hx-data-table.css +2 -8
- package/dist/css/hx-date-picker.css +7 -7
- package/dist/css/hx-dialog.css +1 -4
- package/dist/css/hx-drawer.css +1 -4
- package/dist/css/hx-file-upload.css +4 -13
- package/dist/css/hx-icon-button.css +2 -5
- package/dist/css/hx-link.css +1 -1
- package/dist/css/hx-meter.css +1 -2
- package/dist/css/hx-nav.css +2 -8
- package/dist/css/hx-overflow-menu.css +2 -8
- package/dist/css/hx-pagination.css +2 -8
- package/dist/css/hx-phi-field.css +1 -4
- package/dist/css/hx-popover.css +1 -4
- package/dist/css/hx-rating.css +3 -3
- package/dist/css/hx-select.css +3 -4
- package/dist/css/hx-side-nav.css +26 -12
- package/dist/css/hx-slider.css +4 -4
- package/dist/css/hx-split-button.css +5 -5
- package/dist/css/hx-split-panel.css +2 -8
- package/dist/css/hx-switch.css +3 -3
- package/dist/css/hx-table.css +1 -2
- package/dist/css/hx-text-input.css +8 -8
- package/dist/css/hx-textarea.css +2 -2
- package/dist/css/hx-time-picker.css +3 -3
- package/dist/css/hx-toast.css +26 -15
- package/dist/css/hx-toggle-button.css +4 -4
- package/dist/css/hx-top-nav.css +1 -4
- package/dist/css/hx-tree-view.css +1 -1
- package/dist/css/index.css +1 -1
- package/dist/css/manifest.json +60 -46
- package/dist/index.js +44 -44
- package/dist/shared/{hx-accordion-cnKg4_la.js → hx-accordion-ZVzgDzTG.js} +4 -5
- package/dist/shared/hx-accordion-ZVzgDzTG.js.map +1 -0
- package/dist/shared/{hx-alert-BZH8iHQf.js → hx-alert-C597yHpD.js} +2 -2
- package/dist/shared/{hx-alert-BZH8iHQf.js.map → hx-alert-C597yHpD.js.map} +1 -1
- package/dist/shared/{hx-banner-DT7Zn9Bo.js → hx-banner-Cxd7eFUP.js} +3 -3
- package/dist/shared/{hx-banner-DT7Zn9Bo.js.map → hx-banner-Cxd7eFUP.js.map} +1 -1
- package/dist/shared/{hx-breadcrumb-item-COeYcB2x.js → hx-breadcrumb-item-3tKppF9h.js} +2 -5
- package/dist/shared/{hx-breadcrumb-item-COeYcB2x.js.map → hx-breadcrumb-item-3tKppF9h.js.map} +1 -1
- package/dist/shared/{hx-button-modUSOpY.js → hx-button-9OUjJnk7.js} +167 -68
- package/dist/shared/hx-button-9OUjJnk7.js.map +1 -0
- package/dist/shared/{hx-card-CU1QnjNb.js → hx-card-qNAM2QNV.js} +6 -9
- package/dist/shared/hx-card-qNAM2QNV.js.map +1 -0
- package/dist/shared/{hx-carousel-item-BaE4hpLl.js → hx-carousel-item-z1Lc24op.js} +4 -4
- package/dist/shared/hx-carousel-item-z1Lc24op.js.map +1 -0
- package/dist/shared/{hx-checkbox-C46TyXhM.js → hx-checkbox-DBD-gMoz.js} +3 -3
- package/dist/shared/{hx-checkbox-C46TyXhM.js.map → hx-checkbox-DBD-gMoz.js.map} +1 -1
- package/dist/shared/{hx-clinical-status-BmSjfSEN.js → hx-clinical-status-D3XQIOqX.js} +3 -5
- package/dist/shared/hx-clinical-status-D3XQIOqX.js.map +1 -0
- package/dist/shared/{hx-code-snippet-CJ0FbQYG.js → hx-code-snippet-B26RM1_C.js} +10 -8
- package/dist/shared/{hx-code-snippet-CJ0FbQYG.js.map → hx-code-snippet-B26RM1_C.js.map} +1 -1
- package/dist/shared/{hx-color-picker-DiDLZyvK.js → hx-color-picker-uRc865FJ.js} +23 -33
- package/dist/shared/hx-color-picker-uRc865FJ.js.map +1 -0
- package/dist/shared/{hx-combobox-DaA5dBC4.js → hx-combobox-ClhNRAS5.js} +8 -8
- package/dist/shared/hx-combobox-ClhNRAS5.js.map +1 -0
- package/dist/shared/{hx-data-table-Cq3t86Ic.js → hx-data-table-CLqVqdxr.js} +3 -9
- package/dist/shared/hx-data-table-CLqVqdxr.js.map +1 -0
- package/dist/shared/{hx-date-picker-DMqRQNSB.js → hx-date-picker-BJm7Yrda.js} +8 -8
- package/dist/shared/{hx-date-picker-DMqRQNSB.js.map → hx-date-picker-BJm7Yrda.js.map} +1 -1
- package/dist/shared/{hx-dialog-eIS8tcDm.js → hx-dialog-DRN_1-Y-.js} +2 -5
- package/dist/shared/hx-dialog-DRN_1-Y-.js.map +1 -0
- package/dist/shared/{hx-drawer-DDhDz7RI.js → hx-drawer-Y1Ui2IWJ.js} +2 -5
- package/dist/shared/hx-drawer-Y1Ui2IWJ.js.map +1 -0
- package/dist/shared/{hx-file-upload-zTDbjsRw.js → hx-file-upload-D3rKROK5.js} +17 -26
- package/dist/shared/hx-file-upload-D3rKROK5.js.map +1 -0
- package/dist/shared/{hx-icon-button-BmV97nqz.js → hx-icon-button-CGNdQSFM.js} +3 -6
- package/dist/shared/hx-icon-button-CGNdQSFM.js.map +1 -0
- package/dist/shared/{hx-link-DmiV-mPw.js → hx-link-9Ig2DW6L.js} +5 -5
- package/dist/shared/{hx-link-DmiV-mPw.js.map → hx-link-9Ig2DW6L.js.map} +1 -1
- package/dist/shared/{hx-menu-divider-j__TZjH2.js → hx-menu-divider-C2omnPtj.js} +2 -5
- package/dist/shared/hx-menu-divider-C2omnPtj.js.map +1 -0
- package/dist/shared/{hx-meter-Cm7k_Ro8.js → hx-meter-BPscsw5t.js} +2 -3
- package/dist/shared/hx-meter-BPscsw5t.js.map +1 -0
- package/dist/shared/{hx-nav-item-D8xHLVOs.js → hx-nav-item-CqbO5-T5.js} +140 -90
- package/dist/shared/hx-nav-item-CqbO5-T5.js.map +1 -0
- package/dist/shared/{hx-nav-LoyEKZQC.js → hx-nav-ldFM3Fle.js} +37 -43
- package/dist/shared/hx-nav-ldFM3Fle.js.map +1 -0
- package/dist/shared/{hx-overflow-menu-BmKyAp5D.js → hx-overflow-menu-DCLsdIBy.js} +3 -9
- package/dist/shared/hx-overflow-menu-DCLsdIBy.js.map +1 -0
- package/dist/shared/{hx-pagination-Dqw5dorC.js → hx-pagination-C7y8GVyU.js} +54 -60
- package/dist/shared/hx-pagination-C7y8GVyU.js.map +1 -0
- package/dist/shared/{hx-phi-field-Bf9TdtC1.js → hx-phi-field-C19oxlrr.js} +2 -5
- package/dist/shared/hx-phi-field-C19oxlrr.js.map +1 -0
- package/dist/shared/{hx-popover-B93rTAfr.js → hx-popover-B-FP3-wW.js} +8 -11
- package/dist/shared/hx-popover-B-FP3-wW.js.map +1 -0
- package/dist/shared/{hx-radio-N8xgDd_5.js → hx-radio-dFjUAost.js} +4 -4
- package/dist/shared/{hx-radio-N8xgDd_5.js.map → hx-radio-dFjUAost.js.map} +1 -1
- package/dist/shared/{hx-rating-i2FL1WUN.js → hx-rating-CGtsejNf.js} +4 -4
- package/dist/shared/{hx-rating-i2FL1WUN.js.map → hx-rating-CGtsejNf.js.map} +1 -1
- package/dist/shared/{hx-select-vgaBo1Ai.js → hx-select-Bf4usFts.js} +4 -5
- package/dist/shared/hx-select-Bf4usFts.js.map +1 -0
- package/dist/shared/{hx-slider-ydBamYhd.js → hx-slider-m0aEClH1.js} +5 -5
- package/dist/shared/{hx-slider-ydBamYhd.js.map → hx-slider-m0aEClH1.js.map} +1 -1
- package/dist/shared/{hx-split-button-BeMsmS6N.js → hx-split-button-BxDFfx4D.js} +6 -6
- package/dist/shared/{hx-split-button-BeMsmS6N.js.map → hx-split-button-BxDFfx4D.js.map} +1 -1
- package/dist/shared/{hx-split-panel-BVG1VWNT.js → hx-split-panel-B-u0Z3mm.js} +3 -9
- package/dist/shared/hx-split-panel-B-u0Z3mm.js.map +1 -0
- package/dist/shared/{hx-step-DL3PbOzm.js → hx-step-R2rjp1fT.js} +2 -5
- package/dist/shared/hx-step-R2rjp1fT.js.map +1 -0
- package/dist/shared/{hx-switch-Dougzsgp.js → hx-switch-DvAW4YY-.js} +4 -4
- package/dist/shared/{hx-switch-Dougzsgp.js.map → hx-switch-DvAW4YY-.js.map} +1 -1
- package/dist/shared/{hx-tab-panel-CbkO9VKu.js → hx-tab-panel-SWOEHuJc.js} +3 -3
- package/dist/shared/{hx-tab-panel-CbkO9VKu.js.map → hx-tab-panel-SWOEHuJc.js.map} +1 -1
- package/dist/shared/{hx-td-1zwTFLRw.js → hx-td-DnnEMIuA.js} +2 -3
- package/dist/shared/hx-td-DnnEMIuA.js.map +1 -0
- package/dist/shared/{hx-text-input-B-caO5fI.js → hx-text-input-Bn7Gn8CI.js} +24 -25
- package/dist/shared/hx-text-input-Bn7Gn8CI.js.map +1 -0
- package/dist/shared/{hx-textarea-D9O4U8cb.js → hx-textarea-Jx1xnhgv.js} +7 -7
- package/dist/shared/{hx-textarea-D9O4U8cb.js.map → hx-textarea-Jx1xnhgv.js.map} +1 -1
- package/dist/shared/{hx-time-picker-m0z4nFB-.js → hx-time-picker-BoEIZwzv.js} +4 -4
- package/dist/shared/{hx-time-picker-m0z4nFB-.js.map → hx-time-picker-BoEIZwzv.js.map} +1 -1
- package/dist/shared/{hx-toggle-button-Dd8clXB4.js → hx-toggle-button-DPAIh_Xo.js} +24 -24
- package/dist/shared/{hx-toggle-button-Dd8clXB4.js.map → hx-toggle-button-DPAIh_Xo.js.map} +1 -1
- package/dist/shared/{hx-top-nav-CchPYaiV.js → hx-top-nav-DP6OFS8C.js} +11 -14
- package/dist/shared/hx-top-nav-DP6OFS8C.js.map +1 -0
- package/dist/shared/{hx-tree-item-DtMC3DTa.js → hx-tree-item-Dt0Ozqyr.js} +4 -10
- package/dist/shared/hx-tree-item-Dt0Ozqyr.js.map +1 -0
- package/dist/shared/{toast-factory-DvDRAh0l.js → toast-factory-YSznocIV.js} +66 -56
- package/dist/shared/toast-factory-YSznocIV.js.map +1 -0
- package/figma-inventory.json +292 -444
- package/package.json +2 -2
- package/dist/shared/hx-accordion-cnKg4_la.js.map +0 -1
- package/dist/shared/hx-button-modUSOpY.js.map +0 -1
- package/dist/shared/hx-card-CU1QnjNb.js.map +0 -1
- package/dist/shared/hx-carousel-item-BaE4hpLl.js.map +0 -1
- package/dist/shared/hx-clinical-status-BmSjfSEN.js.map +0 -1
- package/dist/shared/hx-color-picker-DiDLZyvK.js.map +0 -1
- package/dist/shared/hx-combobox-DaA5dBC4.js.map +0 -1
- package/dist/shared/hx-data-table-Cq3t86Ic.js.map +0 -1
- package/dist/shared/hx-dialog-eIS8tcDm.js.map +0 -1
- package/dist/shared/hx-drawer-DDhDz7RI.js.map +0 -1
- package/dist/shared/hx-file-upload-zTDbjsRw.js.map +0 -1
- package/dist/shared/hx-icon-button-BmV97nqz.js.map +0 -1
- package/dist/shared/hx-menu-divider-j__TZjH2.js.map +0 -1
- package/dist/shared/hx-meter-Cm7k_Ro8.js.map +0 -1
- package/dist/shared/hx-nav-LoyEKZQC.js.map +0 -1
- package/dist/shared/hx-nav-item-D8xHLVOs.js.map +0 -1
- package/dist/shared/hx-overflow-menu-BmKyAp5D.js.map +0 -1
- package/dist/shared/hx-pagination-Dqw5dorC.js.map +0 -1
- package/dist/shared/hx-phi-field-Bf9TdtC1.js.map +0 -1
- package/dist/shared/hx-popover-B93rTAfr.js.map +0 -1
- package/dist/shared/hx-select-vgaBo1Ai.js.map +0 -1
- package/dist/shared/hx-split-panel-BVG1VWNT.js.map +0 -1
- package/dist/shared/hx-step-DL3PbOzm.js.map +0 -1
- package/dist/shared/hx-td-1zwTFLRw.js.map +0 -1
- package/dist/shared/hx-text-input-B-caO5fI.js.map +0 -1
- package/dist/shared/hx-top-nav-CchPYaiV.js.map +0 -1
- package/dist/shared/hx-tree-item-DtMC3DTa.js.map +0 -1
- package/dist/shared/toast-factory-DvDRAh0l.js.map +0 -1
package/dist/css/helix-all.css
CHANGED
|
@@ -311,7 +311,7 @@
|
|
|
311
311
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
312
312
|
var(
|
|
313
313
|
--hx-alert-close-btn-focus-ring-color,
|
|
314
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
314
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
315
315
|
);
|
|
316
316
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
317
317
|
opacity: 1;
|
|
@@ -834,7 +834,7 @@
|
|
|
834
834
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
835
835
|
var(
|
|
836
836
|
--hx-banner-action-focus-ring-color,
|
|
837
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
837
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
838
838
|
);
|
|
839
839
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
840
840
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
@@ -878,7 +878,7 @@
|
|
|
878
878
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
879
879
|
var(
|
|
880
880
|
--hx-banner-close-btn-focus-ring-color,
|
|
881
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
881
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
882
882
|
);
|
|
883
883
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
884
884
|
opacity: 1;
|
|
@@ -1072,10 +1072,7 @@
|
|
|
1072
1072
|
|
|
1073
1073
|
.button:focus-visible {
|
|
1074
1074
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
1075
|
-
var(
|
|
1076
|
-
--hx-button-focus-ring-color,
|
|
1077
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
1078
|
-
);
|
|
1075
|
+
var(--hx-button-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
1079
1076
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
1080
1077
|
}
|
|
1081
1078
|
|
|
@@ -1113,21 +1110,24 @@
|
|
|
1113
1110
|
/* ─── Style Variants ─── */
|
|
1114
1111
|
|
|
1115
1112
|
.button--primary {
|
|
1116
|
-
--hx-button-bg: var(--hx-color-primary-
|
|
1117
|
-
|
|
1113
|
+
--hx-button-bg: var(--hx-color-action-primary-bg, #429797);
|
|
1114
|
+
/* Inline #0d1825 matches text.on-primary's resolved primitive (neutral-900);
|
|
1115
|
+
cold-start without the semantic still paints AA-tuned dark-on-primary
|
|
1116
|
+
rather than white-on-primary (3.43:1 fail). */
|
|
1117
|
+
--hx-button-color: var(--hx-color-text-on-primary, #0d1825);
|
|
1118
1118
|
--hx-button-border-color: transparent;
|
|
1119
1119
|
}
|
|
1120
1120
|
|
|
1121
1121
|
.button--secondary {
|
|
1122
1122
|
--hx-button-bg: transparent;
|
|
1123
|
-
/* primary-500 (#429797) text on white surface = 3.
|
|
1124
|
-
primary-600 (#0F7078) on white =
|
|
1125
|
-
--hx-button-color: var(--hx-color-
|
|
1126
|
-
--hx-button-border-color: var(--hx-color-
|
|
1123
|
+
/* primary-500 (#429797) text on white surface = 3.44:1 — fails AA.
|
|
1124
|
+
primary-600 (#0F7078) on white = 5.82:1 — AA pass. */
|
|
1125
|
+
--hx-button-color: var(--hx-color-action-secondary-fg, #0f7078);
|
|
1126
|
+
--hx-button-border-color: var(--hx-color-action-secondary-border, #0f7078);
|
|
1127
1127
|
}
|
|
1128
1128
|
|
|
1129
1129
|
.button--secondary:hover {
|
|
1130
|
-
--hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-
|
|
1130
|
+
--hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-action-secondary-bg-hover, #ebf8f8));
|
|
1131
1131
|
}
|
|
1132
1132
|
|
|
1133
1133
|
.button--tertiary {
|
|
@@ -1141,36 +1141,52 @@
|
|
|
1141
1141
|
}
|
|
1142
1142
|
|
|
1143
1143
|
.button--danger {
|
|
1144
|
-
--hx-button-bg: var(--hx-color-
|
|
1145
|
-
|
|
1144
|
+
--hx-button-bg: var(--hx-color-action-danger-bg, #e5493e);
|
|
1145
|
+
/* Inline #0d1825 matches text.on-error's resolved primitive (neutral-900);
|
|
1146
|
+
cold-start without the semantic still paints AA-tuned dark-on-error
|
|
1147
|
+
rather than white-on-error (3.92:1 fail). */
|
|
1148
|
+
--hx-button-color: var(--hx-color-text-on-error, #0d1825);
|
|
1146
1149
|
--hx-button-border-color: transparent;
|
|
1147
1150
|
}
|
|
1148
1151
|
|
|
1149
1152
|
/* on-error tokens are tuned for error-500 (neutral-900 on #E5493E ≈ 4.59:1).
|
|
1150
|
-
error-600 (#C92A2A) drops that to
|
|
1151
|
-
|
|
1152
|
-
(commit 300e21ab0)
|
|
1153
|
+
error-600 (#C92A2A) drops that to 3.28:1 — AA fail. text.on-error-strong
|
|
1154
|
+
resolves to neutral-0 across modes (no dark flip) so the darker hover fill
|
|
1155
|
+
stays legible. Mirrors hx-toast precedent (commit 300e21ab0); routed
|
|
1156
|
+
through the semantic tier in 3.2.1 token-cascade remediation. */
|
|
1153
1157
|
.button--danger:hover {
|
|
1154
|
-
--hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-
|
|
1155
|
-
--hx-button-color: var(--hx-color-
|
|
1158
|
+
--hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-action-danger-bg-hover, #c92a2a));
|
|
1159
|
+
--hx-button-color: var(--hx-color-text-on-error-strong, #ffffff);
|
|
1160
|
+
}
|
|
1161
|
+
|
|
1162
|
+
/* Pressed state binds explicitly to action.danger.bg-active (error-700,
|
|
1163
|
+
#A21312) + text.on-error-strong (neutral-0) = 7.96:1 AA. Base
|
|
1164
|
+
.button:active filter:brightness(0.8) would compound on top of bg-hover
|
|
1165
|
+
(#C92A2A) and produce ~3.3:1 sub-AA on the bound colors. Override the
|
|
1166
|
+
filter to none. HC override on action.danger.bg-active flips to HC
|
|
1167
|
+
error-500 so the on-error-strong (HC = #000) pair is AA in HC too. */
|
|
1168
|
+
.button--danger:active {
|
|
1169
|
+
--hx-button-bg: var(--hx-button-active-bg, var(--hx-color-action-danger-bg-active, #a21312));
|
|
1170
|
+
--hx-button-color: var(--hx-color-text-on-error-strong, #ffffff);
|
|
1171
|
+
filter: none;
|
|
1156
1172
|
}
|
|
1157
1173
|
|
|
1158
1174
|
.button--ghost {
|
|
1159
1175
|
--hx-button-bg: transparent;
|
|
1160
|
-
/* primary-500 (#429797) text on white surface = 3.
|
|
1161
|
-
primary-600 (#0F7078) on white =
|
|
1162
|
-
--hx-button-color: var(--hx-color-
|
|
1176
|
+
/* primary-500 (#429797) text on white surface = 3.44:1 — fails AA.
|
|
1177
|
+
primary-600 (#0F7078) on white = 5.82:1 — AA pass. */
|
|
1178
|
+
--hx-button-color: var(--hx-color-action-ghost-fg, #0f7078);
|
|
1163
1179
|
--hx-button-border-color: transparent;
|
|
1164
1180
|
}
|
|
1165
1181
|
|
|
1166
1182
|
.button--ghost:hover {
|
|
1167
|
-
--hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-
|
|
1183
|
+
--hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-action-ghost-bg-hover, #ebf8f8));
|
|
1168
1184
|
}
|
|
1169
1185
|
|
|
1170
1186
|
.button--outline {
|
|
1171
1187
|
--hx-button-bg: transparent;
|
|
1172
1188
|
--hx-button-color: var(--hx-color-text-primary, #0d1825);
|
|
1173
|
-
--hx-button-border-color: var(--hx-color-border-strong, #
|
|
1189
|
+
--hx-button-border-color: var(--hx-color-border-strong, #66787b);
|
|
1174
1190
|
}
|
|
1175
1191
|
|
|
1176
1192
|
.button--outline:hover {
|
|
@@ -1178,12 +1194,24 @@
|
|
|
1178
1194
|
}
|
|
1179
1195
|
|
|
1180
1196
|
/* on-primary token resolves to neutral-900 (#0D1825) — tuned for primary-500.
|
|
1181
|
-
primary-600 (#0F7078) drops the pair to 3.07:1 — AA fail.
|
|
1182
|
-
neutral-0 for the darker hover fill.
|
|
1183
|
-
(commit 300e21ab0)
|
|
1197
|
+
primary-600 (#0F7078) drops the pair to 3.07:1 — AA fail. text.on-primary-strong
|
|
1198
|
+
resolves to neutral-0 across modes (no dark flip) for the darker hover fill.
|
|
1199
|
+
Mirrors hx-toast precedent (commit 300e21ab0); routed through the semantic
|
|
1200
|
+
tier in 3.2.1 token-cascade remediation. */
|
|
1184
1201
|
.button--primary:hover {
|
|
1185
|
-
--hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-primary-
|
|
1186
|
-
--hx-button-color: var(--hx-color-
|
|
1202
|
+
--hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-action-primary-bg-hover, #0f7078));
|
|
1203
|
+
--hx-button-color: var(--hx-color-text-on-primary-strong, #ffffff);
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
/* Pressed state binds explicitly to action.primary.bg-active (primary-700,
|
|
1207
|
+
#0F6363) + text.on-primary-strong (neutral-0) = 7.03:1 AA. The base
|
|
1208
|
+
.button:active filter:brightness(0.8) would compound on top of bg-hover
|
|
1209
|
+
(#0F7078) and produce ~3.7:1 sub-AA on the bound colors. Override the
|
|
1210
|
+
filter to none so the action.*.bg-active token is what actually paints. */
|
|
1211
|
+
.button--primary:active {
|
|
1212
|
+
--hx-button-bg: var(--hx-button-active-bg, var(--hx-color-action-primary-bg-active, #0f6363));
|
|
1213
|
+
--hx-button-color: var(--hx-color-text-on-primary-strong, #ffffff);
|
|
1214
|
+
filter: none;
|
|
1187
1215
|
}
|
|
1188
1216
|
|
|
1189
1217
|
/* ─── Disabled ─── */
|
|
@@ -1227,9 +1255,19 @@
|
|
|
1227
1255
|
|
|
1228
1256
|
/* ─── Inverted Mode ─── */
|
|
1229
1257
|
|
|
1258
|
+
/* Inline-fallback contract for --hx-color-border-on-dark-* in this section:
|
|
1259
|
+
the literal rgba(255, 255, 255, 0.X) arms are a LIGHT-MODE-only last
|
|
1260
|
+
resort (cold-start, CSS-not-loaded). At runtime, hx-theme injects
|
|
1261
|
+
dark.color.border.on-dark-* as overlay-black-* so dark-mode inverted
|
|
1262
|
+
buttons stay visible on the now-light surface.inverse (#EBEEE9). The
|
|
1263
|
+
inline white overlays would render invisible (≈1.1:1) on a light surface,
|
|
1264
|
+
but they never paint when the theme is mounted. If a future change moves
|
|
1265
|
+
these into a context where hx-theme is not guaranteed, replace with
|
|
1266
|
+
mode-aware tokens. */
|
|
1267
|
+
|
|
1230
1268
|
/* Override text color and filter-based hover/active for all variants */
|
|
1231
1269
|
:host([inverted]) .button {
|
|
1232
|
-
color: var(--hx-button-inverted-color, var(--hx-color-
|
|
1270
|
+
color: var(--hx-button-inverted-color, var(--hx-color-text-inverse, #ffffff));
|
|
1233
1271
|
filter: none;
|
|
1234
1272
|
}
|
|
1235
1273
|
|
|
@@ -1242,37 +1280,89 @@
|
|
|
1242
1280
|
}
|
|
1243
1281
|
|
|
1244
1282
|
:host([inverted]) .button:focus-visible {
|
|
1283
|
+
/* WCAG 1.4.11: focus indicator needs ≥3:1 against adjacent colors.
|
|
1284
|
+
border-on-dark-default (overlay-white-30) ≈ 2.7:1 on neutral-900 — fails.
|
|
1285
|
+
border-on-dark-strong (overlay-white-70) ≈ 5:1 — passes. */
|
|
1245
1286
|
outline-color: var(
|
|
1246
1287
|
--hx-button-inverted-focus-ring-color,
|
|
1247
|
-
var(--hx-
|
|
1288
|
+
var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7))
|
|
1289
|
+
);
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
/* Primary inverted — resting bg routes through action.primary.bg-inverted-rest
|
|
1293
|
+
so dark mode can flip the fill to primary-600. surface.inverse becomes light
|
|
1294
|
+
(#EBEEE9) in dark mode; primary-500 on #EBEEE9 = 2.94:1 (sub-3:1 UI floor
|
|
1295
|
+
fail for the inverted-button boundary). primary-600 on #EBEEE9 = 4.97:1
|
|
1296
|
+
(AA pass). Light mode tracks action.primary.bg (primary-500, 5.20:1 on
|
|
1297
|
+
dark surface.inverse). */
|
|
1298
|
+
:host([inverted]) .button--primary {
|
|
1299
|
+
--hx-button-bg: var(--hx-color-action-primary-bg-inverted-rest, #429797);
|
|
1300
|
+
}
|
|
1301
|
+
|
|
1302
|
+
/* Primary inverted — hover/pressed lift to action.primary.bg-inverted-hover
|
|
1303
|
+
(primary-400, light teal). The base :host([inverted]) .button rule binds
|
|
1304
|
+
color to text.inverse, which flips by mode (neutral-0 in light, neutral-900
|
|
1305
|
+
in dark). On a permanent light-teal fill, white text drops to 2.4:1 in
|
|
1306
|
+
light mode (AA fail). Pin color to text.on-primary (neutral-900, no
|
|
1307
|
+
dark-mode flip) for both hover and active so the foreground is dark in
|
|
1308
|
+
both modes — neutral-900 on primary-400 = 7.27:1 (AA pass).
|
|
1309
|
+
Pressed === hover visually in inverted mode is acceptable UX (the
|
|
1310
|
+
transient absence of pointer over the button signals release).
|
|
1311
|
+
The fallback chain wraps --hx-button-active-bg (highest precedence) and
|
|
1312
|
+
--hx-button-hover-bg so consumer overrides on either prop apply under
|
|
1313
|
+
:host([inverted]) — the two share a paint here, so either knob is
|
|
1314
|
+
honored, with active-bg winning when both are set. */
|
|
1315
|
+
:host([inverted]) .button--primary:hover,
|
|
1316
|
+
:host([inverted]) .button--primary:active {
|
|
1317
|
+
--hx-button-bg: var(
|
|
1318
|
+
--hx-button-active-bg,
|
|
1319
|
+
var(--hx-button-hover-bg, var(--hx-color-action-primary-bg-inverted-hover, #6ab1b1))
|
|
1320
|
+
);
|
|
1321
|
+
color: var(
|
|
1322
|
+
--hx-button-inverted-primary-interactive-color,
|
|
1323
|
+
var(--hx-color-text-on-primary, #0d1825)
|
|
1248
1324
|
);
|
|
1249
1325
|
}
|
|
1250
1326
|
|
|
1251
|
-
/*
|
|
1252
|
-
|
|
1253
|
-
|
|
1327
|
+
/* Danger inverted — sister to primary. Hover/pressed lift to
|
|
1328
|
+
action.danger.bg-inverted-hover (error-400, #FC7264). Same foreground
|
|
1329
|
+
contract: text.inverse fails in light mode (white on light red ≈ 2.6:1);
|
|
1330
|
+
pin to text.on-error (neutral-900, no dark-mode flip) for 6.58:1 in both
|
|
1331
|
+
modes. Same active-bg → hover-bg → semantic fallback chain as primary. */
|
|
1332
|
+
:host([inverted]) .button--danger:hover,
|
|
1333
|
+
:host([inverted]) .button--danger:active {
|
|
1334
|
+
--hx-button-bg: var(
|
|
1335
|
+
--hx-button-active-bg,
|
|
1336
|
+
var(--hx-button-hover-bg, var(--hx-color-action-danger-bg-inverted-hover, #fc7264))
|
|
1337
|
+
);
|
|
1338
|
+
color: var(
|
|
1339
|
+
--hx-button-inverted-danger-interactive-color,
|
|
1340
|
+
var(--hx-color-text-on-error, #0d1825)
|
|
1341
|
+
);
|
|
1254
1342
|
}
|
|
1255
1343
|
|
|
1256
|
-
/* Secondary inverted — white border and
|
|
1344
|
+
/* Secondary inverted — white border and translucent hover fill */
|
|
1257
1345
|
:host([inverted]) .button--secondary {
|
|
1258
|
-
--hx-button-border-color: var(--hx-
|
|
1346
|
+
--hx-button-border-color: var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7));
|
|
1259
1347
|
}
|
|
1260
1348
|
|
|
1261
1349
|
:host([inverted]) .button--secondary:hover {
|
|
1262
|
-
--hx-button-bg: var(--hx-
|
|
1350
|
+
--hx-button-bg: var(--hx-color-border-on-dark-default, rgba(255, 255, 255, 0.3));
|
|
1263
1351
|
}
|
|
1264
1352
|
|
|
1265
|
-
/* Tertiary inverted
|
|
1353
|
+
/* Tertiary inverted — resting at subtle (10%) lifts to default (30%) on hover
|
|
1354
|
+
so the runtime hover delta is visually distinct, not collapsed onto a
|
|
1355
|
+
single token. */
|
|
1266
1356
|
:host([inverted]) .button--tertiary {
|
|
1267
|
-
--hx-button-bg: var(--hx-
|
|
1357
|
+
--hx-button-bg: var(--hx-color-border-on-dark-subtle, rgba(255, 255, 255, 0.1));
|
|
1268
1358
|
--hx-button-border-color: transparent;
|
|
1269
1359
|
}
|
|
1270
1360
|
|
|
1271
1361
|
:host([inverted]) .button--tertiary:hover {
|
|
1272
|
-
--hx-button-bg: var(--hx-
|
|
1362
|
+
--hx-button-bg: var(--hx-color-border-on-dark-default, rgba(255, 255, 255, 0.3));
|
|
1273
1363
|
}
|
|
1274
1364
|
|
|
1275
|
-
/* Ghost inverted — transparent base,
|
|
1365
|
+
/* Ghost inverted — transparent base, translucent hover bg */
|
|
1276
1366
|
:host([inverted]) .button--ghost {
|
|
1277
1367
|
--hx-button-bg: transparent;
|
|
1278
1368
|
--hx-button-border-color: transparent;
|
|
@@ -1281,17 +1371,17 @@
|
|
|
1281
1371
|
:host([inverted]) .button--ghost:hover {
|
|
1282
1372
|
--hx-button-bg: var(
|
|
1283
1373
|
--hx-button-inverted-ghost-hover-bg,
|
|
1284
|
-
var(--hx-
|
|
1374
|
+
var(--hx-color-border-on-dark-default, rgba(255, 255, 255, 0.3))
|
|
1285
1375
|
);
|
|
1286
1376
|
}
|
|
1287
1377
|
|
|
1288
1378
|
/* Outline inverted — white border */
|
|
1289
1379
|
:host([inverted]) .button--outline {
|
|
1290
|
-
--hx-button-border-color: var(--hx-
|
|
1380
|
+
--hx-button-border-color: var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7));
|
|
1291
1381
|
}
|
|
1292
1382
|
|
|
1293
1383
|
:host([inverted]) .button--outline:hover {
|
|
1294
|
-
--hx-button-bg: var(--hx-
|
|
1384
|
+
--hx-button-bg: var(--hx-color-border-on-dark-default, rgba(255, 255, 255, 0.3));
|
|
1295
1385
|
}
|
|
1296
1386
|
|
|
1297
1387
|
/* ─── Prefix / Suffix / Label ─── */
|
|
@@ -1319,6 +1409,16 @@
|
|
|
1319
1409
|
border: 2px solid ButtonText;
|
|
1320
1410
|
}
|
|
1321
1411
|
|
|
1412
|
+
.button:hover {
|
|
1413
|
+
/* Hover affordance must survive in HC. Highlight/HighlightText is the
|
|
1414
|
+
OS-level "selected" pair, mirroring the forcedColorsInteractive mixin's
|
|
1415
|
+
hover contract — kept inline since this component owns its bespoke HC
|
|
1416
|
+
block (XOR rule). */
|
|
1417
|
+
background-color: Highlight;
|
|
1418
|
+
color: HighlightText;
|
|
1419
|
+
border-color: Highlight;
|
|
1420
|
+
}
|
|
1421
|
+
|
|
1322
1422
|
.button:focus-visible {
|
|
1323
1423
|
outline: 3px solid Highlight;
|
|
1324
1424
|
outline-offset: 2px;
|
|
@@ -1547,10 +1647,7 @@
|
|
|
1547
1647
|
|
|
1548
1648
|
.card--interactive:focus-visible {
|
|
1549
1649
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
1550
|
-
var(
|
|
1551
|
-
--hx-card-focus-ring-color,
|
|
1552
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
1553
|
-
);
|
|
1650
|
+
var(--hx-card-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
1554
1651
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
1555
1652
|
}
|
|
1556
1653
|
|
|
@@ -1712,7 +1809,7 @@
|
|
|
1712
1809
|
|
|
1713
1810
|
.nav-btn:focus-visible {
|
|
1714
1811
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
1715
|
-
var(--hx-carousel-focus-ring-color, var(--hx-focus-ring-color,
|
|
1812
|
+
var(--hx-carousel-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
1716
1813
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
1717
1814
|
}
|
|
1718
1815
|
|
|
@@ -1754,7 +1851,7 @@
|
|
|
1754
1851
|
|
|
1755
1852
|
.play-pause-btn:focus-visible {
|
|
1756
1853
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
1757
|
-
var(--hx-carousel-focus-ring-color, var(--hx-focus-ring-color,
|
|
1854
|
+
var(--hx-carousel-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
1758
1855
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
1759
1856
|
}
|
|
1760
1857
|
|
|
@@ -1826,7 +1923,7 @@
|
|
|
1826
1923
|
|
|
1827
1924
|
.pagination-item:focus-visible {
|
|
1828
1925
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
1829
|
-
var(--hx-carousel-focus-ring-color, var(--hx-focus-ring-color,
|
|
1926
|
+
var(--hx-carousel-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
1830
1927
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
1831
1928
|
border-radius: var(--hx-border-radius-full, 9999px);
|
|
1832
1929
|
}
|
|
@@ -1947,7 +2044,7 @@
|
|
|
1947
2044
|
width: var(--hx-checkbox-size, var(--hx-size-5, 1.25rem));
|
|
1948
2045
|
height: var(--hx-checkbox-size, var(--hx-size-5, 1.25rem));
|
|
1949
2046
|
border: var(--hx-border-width-medium, 2px) solid
|
|
1950
|
-
var(--hx-checkbox-border-color, var(--hx-color-border-strong, #
|
|
2047
|
+
var(--hx-checkbox-border-color, var(--hx-color-border-strong, #66787b));
|
|
1951
2048
|
border-radius: var(--hx-checkbox-border-radius, var(--hx-border-radius-sm, 0.25rem));
|
|
1952
2049
|
background-color: var(--hx-checkbox-bg, var(--hx-color-surface-default, #ffffff));
|
|
1953
2050
|
transition:
|
|
@@ -1963,7 +2060,7 @@
|
|
|
1963
2060
|
outline: var(--hx-checkbox-focus-ring-width, var(--hx-focus-ring-width, 2px)) solid
|
|
1964
2061
|
var(
|
|
1965
2062
|
--hx-checkbox-focus-ring-color,
|
|
1966
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
2063
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
1967
2064
|
);
|
|
1968
2065
|
outline-offset: var(--hx-checkbox-focus-ring-offset, var(--hx-focus-ring-offset, 2px));
|
|
1969
2066
|
}
|
|
@@ -2467,8 +2564,7 @@
|
|
|
2467
2564
|
}
|
|
2468
2565
|
|
|
2469
2566
|
.clinical-status__dismiss-button:focus-visible {
|
|
2470
|
-
outline: var(--hx-focus-ring-width, 2px) solid
|
|
2471
|
-
var(--hx-focus-ring-color, var(--hx-color-focus, #429797));
|
|
2567
|
+
outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #0f7078);
|
|
2472
2568
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
2473
2569
|
opacity: 1;
|
|
2474
2570
|
}
|
|
@@ -2513,8 +2609,7 @@
|
|
|
2513
2609
|
}
|
|
2514
2610
|
|
|
2515
2611
|
.clinical-status__acknowledge-button:focus-visible {
|
|
2516
|
-
outline: var(--hx-focus-ring-width, 2px) solid
|
|
2517
|
-
var(--hx-focus-ring-color, var(--hx-color-focus, #429797));
|
|
2612
|
+
outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #0f7078);
|
|
2518
2613
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
2519
2614
|
}
|
|
2520
2615
|
|
|
@@ -2632,7 +2727,8 @@
|
|
|
2632
2727
|
min-width: var(--hx-touch-target-min, 2.75rem);
|
|
2633
2728
|
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
2634
2729
|
padding: var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem);
|
|
2635
|
-
border: var(--hx-border-width-thin, 1px) solid
|
|
2730
|
+
border: var(--hx-border-width-thin, 1px) solid
|
|
2731
|
+
var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7));
|
|
2636
2732
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
2637
2733
|
/* Copy button sits on the always-dark block snippet surface; uses inverse family for contrast on the terminal background. */
|
|
2638
2734
|
background-color: var(--hx-color-surface-inverse, #0d1825);
|
|
@@ -2658,7 +2754,7 @@
|
|
|
2658
2754
|
|
|
2659
2755
|
.code-snippet__copy-button:focus-visible {
|
|
2660
2756
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
2661
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
2757
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078));
|
|
2662
2758
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
2663
2759
|
}
|
|
2664
2760
|
|
|
@@ -2677,7 +2773,8 @@
|
|
|
2677
2773
|
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
2678
2774
|
padding: var(--hx-space-2, 0.5rem) var(--hx-space-4, 1rem);
|
|
2679
2775
|
border: none;
|
|
2680
|
-
border-top: var(--hx-border-width-thin, 1px) solid
|
|
2776
|
+
border-top: var(--hx-border-width-thin, 1px) solid
|
|
2777
|
+
var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7));
|
|
2681
2778
|
/* Expand button is attached to the always-dark block snippet — inverse family maintains the terminal aesthetic. */
|
|
2682
2779
|
background-color: var(--hx-color-surface-inverse, #0d1825);
|
|
2683
2780
|
color: var(--hx-color-text-inverse, #ffffff);
|
|
@@ -2699,7 +2796,7 @@
|
|
|
2699
2796
|
|
|
2700
2797
|
.code-snippet__expand-button:focus-visible {
|
|
2701
2798
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
2702
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
2799
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078));
|
|
2703
2800
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
2704
2801
|
}
|
|
2705
2802
|
|
|
@@ -2789,10 +2886,7 @@
|
|
|
2789
2886
|
}
|
|
2790
2887
|
:is(.trigger, .gradient-grid, .slider-track, .swatch-btn, .format-btn):focus-visible {
|
|
2791
2888
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
2792
|
-
var(
|
|
2793
|
-
--hx-color-picker-focus-ring-color,
|
|
2794
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
2795
|
-
);
|
|
2889
|
+
var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
2796
2890
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
2797
2891
|
}
|
|
2798
2892
|
.trigger-swatch {
|
|
@@ -2967,18 +3061,11 @@
|
|
|
2967
3061
|
outline: none;
|
|
2968
3062
|
}
|
|
2969
3063
|
.color-input:focus-visible {
|
|
2970
|
-
border-color: var(
|
|
2971
|
-
--hx-color-picker-focus-ring-color,
|
|
2972
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
2973
|
-
);
|
|
3064
|
+
border-color: var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
2974
3065
|
box-shadow: 0 0 0 2px
|
|
2975
3066
|
color-mix(
|
|
2976
3067
|
in srgb,
|
|
2977
|
-
var(
|
|
2978
|
-
--hx-color-picker-focus-ring-color,
|
|
2979
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
2980
|
-
)
|
|
2981
|
-
20%,
|
|
3068
|
+
var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078)) 20%,
|
|
2982
3069
|
transparent
|
|
2983
3070
|
);
|
|
2984
3071
|
}
|
|
@@ -3089,7 +3176,7 @@
|
|
|
3089
3176
|
display: flex;
|
|
3090
3177
|
align-items: center;
|
|
3091
3178
|
border: var(--hx-border-width-thin, 1px) solid
|
|
3092
|
-
var(--hx-combobox-border-color, var(--hx-color-border-strong, #
|
|
3179
|
+
var(--hx-combobox-border-color, var(--hx-color-border-strong, #66787b));
|
|
3093
3180
|
border-radius: var(--hx-combobox-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
3094
3181
|
background-color: var(--hx-combobox-bg, var(--hx-color-surface-default, #ffffff));
|
|
3095
3182
|
transition:
|
|
@@ -3099,14 +3186,14 @@
|
|
|
3099
3186
|
.field__input-wrapper:focus-within {
|
|
3100
3187
|
border-color: var(
|
|
3101
3188
|
--hx-combobox-focus-ring-color,
|
|
3102
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
3189
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
3103
3190
|
);
|
|
3104
3191
|
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
3105
3192
|
color-mix(
|
|
3106
3193
|
in srgb,
|
|
3107
3194
|
var(
|
|
3108
3195
|
--hx-combobox-focus-ring-color,
|
|
3109
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
3196
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
3110
3197
|
)
|
|
3111
3198
|
calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
|
|
3112
3199
|
transparent
|
|
@@ -3183,7 +3270,7 @@
|
|
|
3183
3270
|
}
|
|
3184
3271
|
.field__clear-button:focus-visible {
|
|
3185
3272
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
3186
|
-
var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color,
|
|
3273
|
+
var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
3187
3274
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
3188
3275
|
}
|
|
3189
3276
|
.field__loading-indicator {
|
|
@@ -3216,7 +3303,7 @@
|
|
|
3216
3303
|
z-index: var(--hx-z-index-dropdown, 1000);
|
|
3217
3304
|
background-color: var(--hx-combobox-listbox-bg, var(--hx-color-surface-default, #ffffff));
|
|
3218
3305
|
border: var(--hx-border-width-thin, 1px) solid
|
|
3219
|
-
var(--hx-combobox-border-color, var(--hx-color-border-strong, #
|
|
3306
|
+
var(--hx-combobox-border-color, var(--hx-color-border-strong, #66787b));
|
|
3220
3307
|
border-radius: var(--hx-combobox-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
3221
3308
|
box-shadow: var(
|
|
3222
3309
|
--hx-combobox-listbox-shadow,
|
|
@@ -3257,7 +3344,7 @@
|
|
|
3257
3344
|
.field__option--focused {
|
|
3258
3345
|
background-color: var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #ebf8f8));
|
|
3259
3346
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
3260
|
-
var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color,
|
|
3347
|
+
var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
3261
3348
|
outline-offset: var(--hx-combobox-option-focus-ring-offset, -2px);
|
|
3262
3349
|
}
|
|
3263
3350
|
.field__option--focused.field__option--selected {
|
|
@@ -3441,7 +3528,7 @@
|
|
|
3441
3528
|
}
|
|
3442
3529
|
.field__chip-remove:focus-visible {
|
|
3443
3530
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
3444
|
-
var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color,
|
|
3531
|
+
var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
3445
3532
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
3446
3533
|
opacity: 1;
|
|
3447
3534
|
}
|
|
@@ -3838,10 +3925,7 @@
|
|
|
3838
3925
|
|
|
3839
3926
|
.sort-btn:focus-visible {
|
|
3840
3927
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
3841
|
-
var(
|
|
3842
|
-
--hx-data-table-focus-ring-color,
|
|
3843
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
3844
|
-
);
|
|
3928
|
+
var(--hx-data-table-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
3845
3929
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
3846
3930
|
border-radius: var(--hx-border-radius-sm, 2px);
|
|
3847
3931
|
}
|
|
@@ -3943,10 +4027,7 @@
|
|
|
3943
4027
|
[part~='td']:focus-visible,
|
|
3944
4028
|
[part~='th']:focus-visible {
|
|
3945
4029
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
3946
|
-
var(
|
|
3947
|
-
--hx-data-table-focus-ring-color,
|
|
3948
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
3949
|
-
);
|
|
4030
|
+
var(--hx-data-table-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
3950
4031
|
outline-offset: var(--hx-focus-ring-offset, -2px);
|
|
3951
4032
|
border-radius: var(--hx-border-radius-sm, 2px);
|
|
3952
4033
|
}
|
|
@@ -4039,7 +4120,7 @@
|
|
|
4039
4120
|
display: flex;
|
|
4040
4121
|
align-items: stretch;
|
|
4041
4122
|
border: var(--hx-border-width-thin, 1px) solid
|
|
4042
|
-
var(--hx-date-picker-border-color, var(--hx-color-border-strong, #
|
|
4123
|
+
var(--hx-date-picker-border-color, var(--hx-color-border-strong, #66787b));
|
|
4043
4124
|
border-radius: var(--hx-date-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
4044
4125
|
background-color: var(--hx-date-picker-bg, var(--hx-color-surface-default, #ffffff));
|
|
4045
4126
|
transition:
|
|
@@ -4051,14 +4132,14 @@
|
|
|
4051
4132
|
.field__input-wrapper:focus-within {
|
|
4052
4133
|
border-color: var(
|
|
4053
4134
|
--hx-date-picker-focus-ring-color,
|
|
4054
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
4135
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
4055
4136
|
);
|
|
4056
4137
|
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
4057
4138
|
color-mix(
|
|
4058
4139
|
in srgb,
|
|
4059
4140
|
var(
|
|
4060
4141
|
--hx-date-picker-focus-ring-color,
|
|
4061
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
4142
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
4062
4143
|
)
|
|
4063
4144
|
calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
|
|
4064
4145
|
transparent
|
|
@@ -4118,7 +4199,7 @@
|
|
|
4118
4199
|
padding: 0 var(--hx-space-3, 0.75rem);
|
|
4119
4200
|
border: none;
|
|
4120
4201
|
border-left: var(--hx-border-width-thin, 1px) solid
|
|
4121
|
-
var(--hx-date-picker-border-color, var(--hx-color-border-strong, #
|
|
4202
|
+
var(--hx-date-picker-border-color, var(--hx-color-border-strong, #66787b));
|
|
4122
4203
|
background: transparent;
|
|
4123
4204
|
color: var(--hx-date-picker-trigger-color, var(--hx-color-text-muted, #4a5362));
|
|
4124
4205
|
cursor: pointer;
|
|
@@ -4130,13 +4211,13 @@
|
|
|
4130
4211
|
.field__trigger:focus-visible {
|
|
4131
4212
|
color: var(
|
|
4132
4213
|
--hx-date-picker-focus-ring-color,
|
|
4133
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
4214
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
4134
4215
|
);
|
|
4135
4216
|
background-color: color-mix(
|
|
4136
4217
|
in srgb,
|
|
4137
4218
|
var(
|
|
4138
4219
|
--hx-date-picker-focus-ring-color,
|
|
4139
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
4220
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
4140
4221
|
)
|
|
4141
4222
|
8%,
|
|
4142
4223
|
transparent
|
|
@@ -4237,7 +4318,7 @@
|
|
|
4237
4318
|
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
4238
4319
|
var(
|
|
4239
4320
|
--hx-date-picker-focus-ring-color,
|
|
4240
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
4321
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
4241
4322
|
);
|
|
4242
4323
|
z-index: 1;
|
|
4243
4324
|
}
|
|
@@ -4573,10 +4654,7 @@
|
|
|
4573
4654
|
|
|
4574
4655
|
.dialog__close-btn:focus-visible {
|
|
4575
4656
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
4576
|
-
var(
|
|
4577
|
-
--hx-dialog-close-btn-focus-ring-color,
|
|
4578
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
4579
|
-
);
|
|
4657
|
+
var(--hx-dialog-close-btn-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
4580
4658
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
4581
4659
|
}
|
|
4582
4660
|
|
|
@@ -4943,10 +5021,7 @@
|
|
|
4943
5021
|
|
|
4944
5022
|
.drawer-close-button:focus-visible {
|
|
4945
5023
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
4946
|
-
var(
|
|
4947
|
-
--hx-drawer-close-btn-focus-ring-color,
|
|
4948
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
4949
|
-
);
|
|
5024
|
+
var(--hx-drawer-close-btn-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
4950
5025
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
4951
5026
|
}
|
|
4952
5027
|
|
|
@@ -5326,7 +5401,7 @@
|
|
|
5326
5401
|
min-height: var(--hx-space-32, 8rem);
|
|
5327
5402
|
padding: var(--hx-space-6, 1.5rem) var(--hx-space-4, 1rem);
|
|
5328
5403
|
border: var(--hx-border-width-thin, 1px) dashed
|
|
5329
|
-
var(--hx-file-upload-dropzone-border-color, var(--hx-color-border-strong, #
|
|
5404
|
+
var(--hx-file-upload-dropzone-border-color, var(--hx-color-border-strong, #66787b));
|
|
5330
5405
|
border-radius: var(--hx-file-upload-dropzone-border-radius, var(--hx-border-radius-lg, 0.5rem));
|
|
5331
5406
|
background-color: var(--hx-file-upload-dropzone-bg, var(--hx-color-surface-raised, #f5f8f3));
|
|
5332
5407
|
cursor: pointer;
|
|
@@ -5342,15 +5417,9 @@
|
|
|
5342
5417
|
|
|
5343
5418
|
.dropzone:focus-visible {
|
|
5344
5419
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
5345
|
-
var(
|
|
5346
|
-
--hx-file-upload-focus-ring-color,
|
|
5347
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500))
|
|
5348
|
-
);
|
|
5420
|
+
var(--hx-file-upload-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
5349
5421
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
5350
|
-
border-color: var(
|
|
5351
|
-
--hx-file-upload-focus-ring-color,
|
|
5352
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500))
|
|
5353
|
-
);
|
|
5422
|
+
border-color: var(--hx-file-upload-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
5354
5423
|
}
|
|
5355
5424
|
|
|
5356
5425
|
.dropzone--drag-over {
|
|
@@ -5465,10 +5534,7 @@
|
|
|
5465
5534
|
|
|
5466
5535
|
.file-item__remove:focus-visible {
|
|
5467
5536
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
5468
|
-
var(
|
|
5469
|
-
--hx-file-upload-focus-ring-color,
|
|
5470
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500))
|
|
5471
|
-
);
|
|
5537
|
+
var(--hx-file-upload-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
5472
5538
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
5473
5539
|
}
|
|
5474
5540
|
|
|
@@ -5799,10 +5865,7 @@ export const helixGridItemStyles = css`
|
|
|
5799
5865
|
|
|
5800
5866
|
.button:focus-visible {
|
|
5801
5867
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
5802
|
-
var(
|
|
5803
|
-
--hx-icon-button-focus-ring-color,
|
|
5804
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
5805
|
-
);
|
|
5868
|
+
var(--hx-icon-button-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
5806
5869
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
5807
5870
|
}
|
|
5808
5871
|
|
|
@@ -5872,7 +5935,7 @@ export const helixGridItemStyles = css`
|
|
|
5872
5935
|
.button--tertiary {
|
|
5873
5936
|
--hx-icon-button-bg: transparent;
|
|
5874
5937
|
--hx-icon-button-color: var(--hx-color-text-strong, #202b39);
|
|
5875
|
-
--hx-icon-button-border-color: var(--hx-color-border-strong, #
|
|
5938
|
+
--hx-icon-button-border-color: var(--hx-color-border-strong, #66787b);
|
|
5876
5939
|
}
|
|
5877
5940
|
|
|
5878
5941
|
.button--tertiary:hover {
|
|
@@ -6047,7 +6110,7 @@ export const helixGridItemStyles = css`
|
|
|
6047
6110
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
6048
6111
|
var(
|
|
6049
6112
|
--hx-link-focus-ring-color,
|
|
6050
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
6113
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
6051
6114
|
);
|
|
6052
6115
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
6053
6116
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
@@ -6234,8 +6297,7 @@ export const helixGridItemStyles = css`
|
|
|
6234
6297
|
}
|
|
6235
6298
|
|
|
6236
6299
|
.meter:focus-visible {
|
|
6237
|
-
outline: var(--hx-focus-ring-width, 2px) solid
|
|
6238
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797));
|
|
6300
|
+
outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #0f7078);
|
|
6239
6301
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
6240
6302
|
}
|
|
6241
6303
|
|
|
@@ -6388,10 +6450,7 @@ export const helixGridItemStyles = css`
|
|
|
6388
6450
|
|
|
6389
6451
|
[part='toggle']:focus-visible {
|
|
6390
6452
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
6391
|
-
var(
|
|
6392
|
-
--hx-nav-focus-ring-color,
|
|
6393
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
6394
|
-
);
|
|
6453
|
+
var(--hx-nav-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
6395
6454
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
6396
6455
|
}
|
|
6397
6456
|
|
|
@@ -6444,10 +6503,7 @@ export const helixGridItemStyles = css`
|
|
|
6444
6503
|
|
|
6445
6504
|
.nav__link:focus-visible {
|
|
6446
6505
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
6447
|
-
var(
|
|
6448
|
-
--hx-nav-focus-ring-color,
|
|
6449
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
6450
|
-
);
|
|
6506
|
+
var(--hx-nav-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
6451
6507
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
6452
6508
|
}
|
|
6453
6509
|
|
|
@@ -6965,10 +7021,7 @@ export const helixGridItemStyles = css`
|
|
|
6965
7021
|
|
|
6966
7022
|
.trigger:focus-visible {
|
|
6967
7023
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
6968
|
-
var(
|
|
6969
|
-
--hx-overflow-menu-focus-ring-color,
|
|
6970
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
6971
|
-
);
|
|
7024
|
+
var(--hx-overflow-menu-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
6972
7025
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
6973
7026
|
}
|
|
6974
7027
|
|
|
@@ -7061,10 +7114,7 @@ export const helixGridItemStyles = css`
|
|
|
7061
7114
|
::slotted([role='menuitemcheckbox']:focus-visible),
|
|
7062
7115
|
::slotted([role='menuitemradio']:focus-visible) {
|
|
7063
7116
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
7064
|
-
var(
|
|
7065
|
-
--hx-overflow-menu-focus-ring-color,
|
|
7066
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
7067
|
-
);
|
|
7117
|
+
var(--hx-overflow-menu-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
7068
7118
|
outline-offset: 0;
|
|
7069
7119
|
}
|
|
7070
7120
|
|
|
@@ -7168,10 +7218,7 @@ export const helixGridItemStyles = css`
|
|
|
7168
7218
|
|
|
7169
7219
|
.button:focus-visible {
|
|
7170
7220
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
7171
|
-
var(
|
|
7172
|
-
--hx-pagination-focus-ring-color,
|
|
7173
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
7174
|
-
);
|
|
7221
|
+
var(--hx-pagination-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
7175
7222
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
7176
7223
|
}
|
|
7177
7224
|
|
|
@@ -7238,10 +7285,7 @@ export const helixGridItemStyles = css`
|
|
|
7238
7285
|
|
|
7239
7286
|
.page-size-select:focus-visible {
|
|
7240
7287
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
7241
|
-
var(
|
|
7242
|
-
--hx-pagination-focus-ring-color,
|
|
7243
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
7244
|
-
);
|
|
7288
|
+
var(--hx-pagination-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
7245
7289
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
7246
7290
|
}
|
|
7247
7291
|
|
|
@@ -7532,10 +7576,7 @@ export const helixGridItemStyles = css`
|
|
|
7532
7576
|
|
|
7533
7577
|
.phi-field__toggle:focus-visible {
|
|
7534
7578
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
7535
|
-
var(
|
|
7536
|
-
--hx-phi-field-focus-ring-color,
|
|
7537
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
7538
|
-
);
|
|
7579
|
+
var(--hx-phi-field-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
7539
7580
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
7540
7581
|
}
|
|
7541
7582
|
|
|
@@ -7628,10 +7669,7 @@ export const helixGridItemStyles = css`
|
|
|
7628
7669
|
|
|
7629
7670
|
[part='body']:focus-visible {
|
|
7630
7671
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
7631
|
-
var(
|
|
7632
|
-
--hx-popover-focus-ring-color,
|
|
7633
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
7634
|
-
);
|
|
7672
|
+
var(--hx-popover-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
7635
7673
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
7636
7674
|
}
|
|
7637
7675
|
|
|
@@ -8147,7 +8185,7 @@ export const helixGridItemStyles = css`
|
|
|
8147
8185
|
justify-content: center;
|
|
8148
8186
|
position: relative;
|
|
8149
8187
|
cursor: pointer;
|
|
8150
|
-
color: var(--hx-rating-empty-color, var(--hx-color-border-strong, #
|
|
8188
|
+
color: var(--hx-rating-empty-color, var(--hx-color-border-strong, #66787b));
|
|
8151
8189
|
line-height: 1;
|
|
8152
8190
|
min-width: var(--hx-touch-target-min, 2.75rem);
|
|
8153
8191
|
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
@@ -8156,7 +8194,7 @@ export const helixGridItemStyles = css`
|
|
|
8156
8194
|
|
|
8157
8195
|
.symbol:focus-visible {
|
|
8158
8196
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
8159
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
8197
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078));
|
|
8160
8198
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
8161
8199
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
8162
8200
|
}
|
|
@@ -8198,7 +8236,7 @@ export const helixGridItemStyles = css`
|
|
|
8198
8236
|
position: absolute;
|
|
8199
8237
|
left: 0;
|
|
8200
8238
|
top: 0;
|
|
8201
|
-
color: var(--hx-rating-empty-color, var(--hx-color-border-strong, #
|
|
8239
|
+
color: var(--hx-rating-empty-color, var(--hx-color-border-strong, #66787b));
|
|
8202
8240
|
/* Clip to right 50% for the empty half */
|
|
8203
8241
|
clip-path: inset(0 0 0 50%);
|
|
8204
8242
|
}
|
|
@@ -8266,13 +8304,13 @@ export const helixGridItemStyles = css`
|
|
|
8266
8304
|
--_label-color: var(--hx-select-label-color, var(--hx-color-text-strong, #202b39));
|
|
8267
8305
|
|
|
8268
8306
|
/* Border */
|
|
8269
|
-
--_border-color: var(--hx-select-border-color, var(--hx-color-border-strong, #
|
|
8307
|
+
--_border-color: var(--hx-select-border-color, var(--hx-color-border-strong, #66787b));
|
|
8270
8308
|
--_border-radius: var(--hx-select-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
8271
8309
|
|
|
8272
8310
|
/* Focus ring */
|
|
8273
8311
|
--_focus-ring-color: var(
|
|
8274
8312
|
--hx-select-focus-ring-color,
|
|
8275
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
8313
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
8276
8314
|
);
|
|
8277
8315
|
|
|
8278
8316
|
/* Error */
|
|
@@ -8485,8 +8523,7 @@ export const helixGridItemStyles = css`
|
|
|
8485
8523
|
|
|
8486
8524
|
.field__option--focused {
|
|
8487
8525
|
background-color: var(--_option-hover-bg);
|
|
8488
|
-
outline: var(--hx-focus-ring-width, 2px) solid
|
|
8489
|
-
var(--_focus-ring-color, var(--hx-color-primary-500));
|
|
8526
|
+
outline: var(--hx-focus-ring-width, 2px) solid var(--_focus-ring-color);
|
|
8490
8527
|
outline-offset: var(--hx-select-option-focus-ring-offset, -2px);
|
|
8491
8528
|
}
|
|
8492
8529
|
|
|
@@ -8637,7 +8674,7 @@ export const helixGridItemStyles = css`
|
|
|
8637
8674
|
and evaluates their text against the page white background, producing
|
|
8638
8675
|
false-positive color-contrast violations (WCAG 2.1 AA). */
|
|
8639
8676
|
background-color: var(--hx-side-nav-bg, var(--hx-color-surface-inverse, #0d1825));
|
|
8640
|
-
color: var(--hx-side-nav-color, var(--hx-color-text-inverse, #
|
|
8677
|
+
color: var(--hx-side-nav-color, var(--hx-color-text-inverse, #ffffff));
|
|
8641
8678
|
}
|
|
8642
8679
|
|
|
8643
8680
|
* {
|
|
@@ -8652,11 +8689,14 @@ export const helixGridItemStyles = css`
|
|
|
8652
8689
|
height: 100%;
|
|
8653
8690
|
width: var(--hx-side-nav-width, 16rem);
|
|
8654
8691
|
background-color: var(--hx-side-nav-bg, var(--hx-color-surface-inverse, #0d1825));
|
|
8655
|
-
color: var(--hx-side-nav-color, var(--hx-color-text-inverse, #
|
|
8692
|
+
color: var(--hx-side-nav-color, var(--hx-color-text-inverse, #ffffff));
|
|
8656
8693
|
transition: width var(--hx-transition-normal, 300ms) ease;
|
|
8657
8694
|
overflow: hidden;
|
|
8658
8695
|
border-inline-end: var(--hx-border-width-thin, 1px) solid
|
|
8659
|
-
var(
|
|
8696
|
+
var(
|
|
8697
|
+
--hx-side-nav-border-color,
|
|
8698
|
+
var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7))
|
|
8699
|
+
);
|
|
8660
8700
|
}
|
|
8661
8701
|
|
|
8662
8702
|
/* ─── Collapsed State ─── */
|
|
@@ -8674,7 +8714,10 @@ export const helixGridItemStyles = css`
|
|
|
8674
8714
|
flex-shrink: 0;
|
|
8675
8715
|
min-height: var(--hx-space-14, 3.5rem);
|
|
8676
8716
|
border-bottom: var(--hx-border-width-thin, 1px) solid
|
|
8677
|
-
var(
|
|
8717
|
+
var(
|
|
8718
|
+
--hx-side-nav-border-color,
|
|
8719
|
+
var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7))
|
|
8720
|
+
);
|
|
8678
8721
|
overflow: hidden;
|
|
8679
8722
|
}
|
|
8680
8723
|
|
|
@@ -8701,7 +8744,10 @@ export const helixGridItemStyles = css`
|
|
|
8701
8744
|
flex-shrink: 0;
|
|
8702
8745
|
min-height: var(--hx-space-14, 3.5rem);
|
|
8703
8746
|
border-top: var(--hx-border-width-thin, 1px) solid
|
|
8704
|
-
var(
|
|
8747
|
+
var(
|
|
8748
|
+
--hx-side-nav-border-color,
|
|
8749
|
+
var(--hx-color-border-on-dark-strong, rgba(255, 255, 255, 0.7))
|
|
8750
|
+
);
|
|
8705
8751
|
overflow: hidden;
|
|
8706
8752
|
}
|
|
8707
8753
|
|
|
@@ -8724,7 +8770,7 @@ export const helixGridItemStyles = css`
|
|
|
8724
8770
|
border: none;
|
|
8725
8771
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
8726
8772
|
background: transparent;
|
|
8727
|
-
color: var(--hx-side-nav-toggle-color, var(--hx-color-text-inverse, #
|
|
8773
|
+
color: var(--hx-side-nav-toggle-color, var(--hx-color-text-inverse, #ffffff));
|
|
8728
8774
|
cursor: pointer;
|
|
8729
8775
|
transition:
|
|
8730
8776
|
background-color var(--hx-transition-fast, 150ms) ease,
|
|
@@ -8733,10 +8779,10 @@ export const helixGridItemStyles = css`
|
|
|
8733
8779
|
|
|
8734
8780
|
.side-nav__toggle:hover {
|
|
8735
8781
|
background-color: var(
|
|
8736
|
-
--hx-
|
|
8782
|
+
--hx-color-border-on-dark-subtle,
|
|
8737
8783
|
rgba(255, 255, 255, 0.1)
|
|
8738
8784
|
); /* fallback for browsers without color-mix() */
|
|
8739
|
-
color: var(--hx-color-text-inverse, #
|
|
8785
|
+
color: var(--hx-side-nav-toggle-hover-color, var(--hx-color-text-inverse, #ffffff));
|
|
8740
8786
|
}
|
|
8741
8787
|
|
|
8742
8788
|
@supports (color: color-mix(in srgb, red 50%, blue)) {
|
|
@@ -8747,10 +8793,7 @@ export const helixGridItemStyles = css`
|
|
|
8747
8793
|
|
|
8748
8794
|
.side-nav__toggle:focus-visible {
|
|
8749
8795
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
8750
|
-
var(
|
|
8751
|
-
--hx-side-nav-focus-ring-color,
|
|
8752
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-400, #6ab1b1))
|
|
8753
|
-
);
|
|
8796
|
+
var(--hx-side-nav-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
8754
8797
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
8755
8798
|
}
|
|
8756
8799
|
|
|
@@ -8796,10 +8839,18 @@ export const helixGridItemStyles = css`
|
|
|
8796
8839
|
}
|
|
8797
8840
|
|
|
8798
8841
|
.side-nav__toggle {
|
|
8842
|
+
forced-color-adjust: none;
|
|
8843
|
+
background-color: ButtonFace;
|
|
8799
8844
|
color: ButtonText;
|
|
8800
8845
|
border: 1px solid ButtonText;
|
|
8801
8846
|
}
|
|
8802
8847
|
|
|
8848
|
+
.side-nav__toggle:hover {
|
|
8849
|
+
background-color: Highlight;
|
|
8850
|
+
color: HighlightText;
|
|
8851
|
+
border-color: Highlight;
|
|
8852
|
+
}
|
|
8853
|
+
|
|
8803
8854
|
.side-nav__toggle:focus-visible {
|
|
8804
8855
|
outline: 3px solid Highlight;
|
|
8805
8856
|
outline-offset: 2px;
|
|
@@ -9102,7 +9153,7 @@ export const helixGridItemStyles = css`
|
|
|
9102
9153
|
0 0 0 var(--hx-focus-ring-width, 2px)
|
|
9103
9154
|
var(
|
|
9104
9155
|
--hx-slider-focus-ring-color,
|
|
9105
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
9156
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
9106
9157
|
),
|
|
9107
9158
|
var(--hx-slider-thumb-shadow, var(--hx-shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05)));
|
|
9108
9159
|
}
|
|
@@ -9159,7 +9210,7 @@ export const helixGridItemStyles = css`
|
|
|
9159
9210
|
top: 0;
|
|
9160
9211
|
width: var(--hx-border-width-thin, 1px);
|
|
9161
9212
|
height: 100%;
|
|
9162
|
-
background-color: var(--hx-slider-tick-color, var(--hx-color-border-strong, #
|
|
9213
|
+
background-color: var(--hx-slider-tick-color, var(--hx-color-border-strong, #66787b));
|
|
9163
9214
|
transform: translateX(-50%);
|
|
9164
9215
|
}
|
|
9165
9216
|
|
|
@@ -9185,13 +9236,13 @@ export const helixGridItemStyles = css`
|
|
|
9185
9236
|
/* ─── Disabled state ─── */
|
|
9186
9237
|
|
|
9187
9238
|
.slider--disabled .slider__fill {
|
|
9188
|
-
background-color: var(--hx-slider-disabled-fill-bg, var(--hx-color-border-strong, #
|
|
9239
|
+
background-color: var(--hx-slider-disabled-fill-bg, var(--hx-color-border-strong, #66787b));
|
|
9189
9240
|
}
|
|
9190
9241
|
|
|
9191
9242
|
.slider--disabled .slider__thumb-visual {
|
|
9192
9243
|
border-color: var(
|
|
9193
9244
|
--hx-slider-disabled-thumb-border-color,
|
|
9194
|
-
var(--hx-color-border-strong, #
|
|
9245
|
+
var(--hx-color-border-strong, #66787b)
|
|
9195
9246
|
);
|
|
9196
9247
|
}
|
|
9197
9248
|
/* ── hx-spinner ── */
|
|
@@ -9374,7 +9425,7 @@ export const helixGridItemStyles = css`
|
|
|
9374
9425
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
9375
9426
|
var(
|
|
9376
9427
|
--hx-split-button-focus-ring-color,
|
|
9377
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
9428
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
9378
9429
|
);
|
|
9379
9430
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
9380
9431
|
z-index: 1;
|
|
@@ -9402,7 +9453,7 @@ export const helixGridItemStyles = css`
|
|
|
9402
9453
|
flex-shrink: 0;
|
|
9403
9454
|
border: var(--hx-border-width-thin, 1px) solid var(--hx-split-button-border-color, transparent);
|
|
9404
9455
|
border-inline-start: var(--hx-border-width-thin, 1px) solid
|
|
9405
|
-
var(--hx-split-button-divider-color, var(--hx-color-primary-
|
|
9456
|
+
var(--hx-split-button-divider-color, var(--hx-color-primary-900, #0b3232));
|
|
9406
9457
|
border-radius: 0 var(--hx-split-button-border-radius, var(--hx-border-radius-md, 0.375rem))
|
|
9407
9458
|
var(--hx-split-button-border-radius, var(--hx-border-radius-md, 0.375rem)) 0;
|
|
9408
9459
|
background-color: var(--hx-split-button-bg, var(--hx-color-primary-500, #429797));
|
|
@@ -9419,7 +9470,7 @@ export const helixGridItemStyles = css`
|
|
|
9419
9470
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
9420
9471
|
var(
|
|
9421
9472
|
--hx-split-button-focus-ring-color,
|
|
9422
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
9473
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
9423
9474
|
);
|
|
9424
9475
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
9425
9476
|
z-index: 1;
|
|
@@ -9496,7 +9547,7 @@ export const helixGridItemStyles = css`
|
|
|
9496
9547
|
--hx-split-button-bg: var(--hx-color-primary-500, #429797);
|
|
9497
9548
|
--hx-split-button-color: var(--hx-color-text-on-primary, #ffffff);
|
|
9498
9549
|
--hx-split-button-border-color: transparent;
|
|
9499
|
-
--hx-split-button-divider-color: var(--hx-color-primary-
|
|
9550
|
+
--hx-split-button-divider-color: var(--hx-color-primary-900, #0b3232);
|
|
9500
9551
|
}
|
|
9501
9552
|
|
|
9502
9553
|
/* primary:hover — replace the universal brightness(0.9) filter (which would
|
|
@@ -9583,7 +9634,7 @@ export const helixGridItemStyles = css`
|
|
|
9583
9634
|
.split-button--outline .split-button__trigger {
|
|
9584
9635
|
--hx-split-button-bg: transparent;
|
|
9585
9636
|
--hx-split-button-color: var(--hx-color-text-primary, #0d1825);
|
|
9586
|
-
--hx-split-button-border-color: var(--hx-color-border-strong, #
|
|
9637
|
+
--hx-split-button-border-color: var(--hx-color-border-strong, #66787b);
|
|
9587
9638
|
--hx-split-button-divider-color: var(--hx-color-border-default, #d6dbd5);
|
|
9588
9639
|
}
|
|
9589
9640
|
|
|
@@ -9774,10 +9825,7 @@ export const helixGridItemStyles = css`
|
|
|
9774
9825
|
|
|
9775
9826
|
.divider:focus-visible {
|
|
9776
9827
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
9777
|
-
var(
|
|
9778
|
-
--hx-split-panel-focus-ring-color,
|
|
9779
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
9780
|
-
);
|
|
9828
|
+
var(--hx-split-panel-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
9781
9829
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
9782
9830
|
box-shadow: 0 0 0 4px color-mix(in srgb, var(--_divider-hover-color) 30%, transparent);
|
|
9783
9831
|
}
|
|
@@ -9839,10 +9887,7 @@ export const helixGridItemStyles = css`
|
|
|
9839
9887
|
|
|
9840
9888
|
.collapse-btn:focus-visible {
|
|
9841
9889
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
9842
|
-
var(
|
|
9843
|
-
--hx-split-panel-focus-ring-color,
|
|
9844
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
9845
|
-
);
|
|
9890
|
+
var(--hx-split-panel-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
9846
9891
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
9847
9892
|
}
|
|
9848
9893
|
|
|
@@ -10484,7 +10529,7 @@ export const helixStructuredListRowStyles = css`
|
|
|
10484
10529
|
border: none;
|
|
10485
10530
|
padding: 0;
|
|
10486
10531
|
border-radius: var(--hx-border-radius-full, 9999px);
|
|
10487
|
-
background-color: var(--hx-switch-track-bg, var(--hx-color-border-strong, #
|
|
10532
|
+
background-color: var(--hx-switch-track-bg, var(--hx-color-border-strong, #66787b));
|
|
10488
10533
|
cursor: pointer;
|
|
10489
10534
|
transition: background-color var(--hx-transition-fast, 150ms ease);
|
|
10490
10535
|
outline: none;
|
|
@@ -10496,7 +10541,7 @@ export const helixStructuredListRowStyles = css`
|
|
|
10496
10541
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
10497
10542
|
var(
|
|
10498
10543
|
--hx-switch-focus-ring-color,
|
|
10499
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
10544
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
10500
10545
|
);
|
|
10501
10546
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
10502
10547
|
}
|
|
@@ -10506,7 +10551,7 @@ export const helixStructuredListRowStyles = css`
|
|
|
10506
10551
|
}
|
|
10507
10552
|
|
|
10508
10553
|
.switch:not(.switch--checked) .switch__track:hover {
|
|
10509
|
-
background-color: var(--hx-switch-track-hover-bg, var(--hx-color-border-strong, #
|
|
10554
|
+
background-color: var(--hx-switch-track-hover-bg, var(--hx-color-border-strong, #66787b));
|
|
10510
10555
|
}
|
|
10511
10556
|
|
|
10512
10557
|
.switch--checked .switch__track:hover {
|
|
@@ -10766,8 +10811,7 @@ export const helixStructuredListRowStyles = css`
|
|
|
10766
10811
|
/* ─── Focus ─── */
|
|
10767
10812
|
|
|
10768
10813
|
::slotted(:focus-visible) {
|
|
10769
|
-
outline: var(--hx-focus-ring-width, 2px) solid
|
|
10770
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797));
|
|
10814
|
+
outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #0f7078);
|
|
10771
10815
|
outline-offset: var(--hx-focus-ring-offset, -2px);
|
|
10772
10816
|
}
|
|
10773
10817
|
|
|
@@ -11269,17 +11313,17 @@ export const helixTableSectionBaseStyles = css`
|
|
|
11269
11313
|
/* Border */
|
|
11270
11314
|
--_text-input-border-color: var(
|
|
11271
11315
|
--hx-text-input-border-color,
|
|
11272
|
-
var(--hx-input-border-color, var(--hx-color-border-strong, #
|
|
11316
|
+
var(--hx-input-border-color, var(--hx-color-border-strong, #66787b))
|
|
11273
11317
|
);
|
|
11274
11318
|
--_text-input-border-color-hover: var(
|
|
11275
11319
|
--hx-text-input-border-color-hover,
|
|
11276
|
-
var(--hx-color-border-strong, #
|
|
11320
|
+
var(--hx-color-border-strong, #66787b)
|
|
11277
11321
|
);
|
|
11278
11322
|
--_text-input-border-color-focus: var(
|
|
11279
11323
|
--hx-text-input-border-color-focus,
|
|
11280
11324
|
var(
|
|
11281
11325
|
--hx-input-focus-ring-color,
|
|
11282
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
11326
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
11283
11327
|
)
|
|
11284
11328
|
);
|
|
11285
11329
|
--_text-input-border-color-invalid: var(
|
|
@@ -11308,7 +11352,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
11308
11352
|
--hx-text-input-focus-ring-color,
|
|
11309
11353
|
var(
|
|
11310
11354
|
--hx-input-focus-ring-color,
|
|
11311
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
11355
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
11312
11356
|
)
|
|
11313
11357
|
);
|
|
11314
11358
|
--_text-input-focus-ring-width: var(
|
|
@@ -11539,10 +11583,10 @@ export const helixTableSectionBaseStyles = css`
|
|
|
11539
11583
|
|
|
11540
11584
|
/* ─── High Contrast Mode (forced-colors) ───
|
|
11541
11585
|
*
|
|
11542
|
-
*
|
|
11543
|
-
*
|
|
11544
|
-
*
|
|
11545
|
-
*
|
|
11586
|
+
* Bespoke block — sole owner of forced-colors deference for hx-text-input.
|
|
11587
|
+
* Covers wrapper/input/placeholder/focus/disabled/error/label/help-text;
|
|
11588
|
+
* strictly more than forcedColorsField. The mixin is intentionally NOT
|
|
11589
|
+
* composed (XOR rule — see styles/forced-colors.ts COMPOSITION RULES).
|
|
11546
11590
|
*/
|
|
11547
11591
|
|
|
11548
11592
|
@media (forced-colors: active) {
|
|
@@ -11615,13 +11659,13 @@ export const helixTableSectionBaseStyles = css`
|
|
|
11615
11659
|
);
|
|
11616
11660
|
--_textarea-border-color: var(
|
|
11617
11661
|
--hx-textarea-border-color,
|
|
11618
|
-
var(--hx-input-border-color, var(--hx-color-border-strong, #
|
|
11662
|
+
var(--hx-input-border-color, var(--hx-color-border-strong, #66787b))
|
|
11619
11663
|
);
|
|
11620
11664
|
--_textarea-border-color-focus: var(
|
|
11621
11665
|
--hx-textarea-border-color-focus,
|
|
11622
11666
|
var(
|
|
11623
11667
|
--hx-input-focus-ring-color,
|
|
11624
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
11668
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
11625
11669
|
)
|
|
11626
11670
|
);
|
|
11627
11671
|
--_textarea-border-color-invalid: var(
|
|
@@ -11945,7 +11989,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
11945
11989
|
display: flex;
|
|
11946
11990
|
align-items: center;
|
|
11947
11991
|
border: var(--hx-border-width-thin, 1px) solid
|
|
11948
|
-
var(--hx-time-picker-border-color, var(--hx-color-border-strong, #
|
|
11992
|
+
var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
|
|
11949
11993
|
border-radius: var(--hx-time-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
11950
11994
|
background-color: var(--hx-time-picker-bg, var(--hx-color-surface-default, #ffffff));
|
|
11951
11995
|
transition:
|
|
@@ -12009,7 +12053,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
12009
12053
|
min-height: var(--hx-size-10, 2.5rem);
|
|
12010
12054
|
flex-shrink: 0;
|
|
12011
12055
|
border-inline-start: var(--hx-border-width-thin, 1px) solid
|
|
12012
|
-
var(--hx-time-picker-border-color, var(--hx-color-border-strong, #
|
|
12056
|
+
var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
|
|
12013
12057
|
}
|
|
12014
12058
|
.field__toggle:focus-visible {
|
|
12015
12059
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
@@ -12025,7 +12069,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
12025
12069
|
z-index: var(--hx-z-index-dropdown, 1000);
|
|
12026
12070
|
background-color: var(--hx-time-picker-listbox-bg, var(--hx-color-surface-default, #ffffff));
|
|
12027
12071
|
border: var(--hx-border-width-thin, 1px) solid
|
|
12028
|
-
var(--hx-time-picker-border-color, var(--hx-color-border-strong, #
|
|
12072
|
+
var(--hx-time-picker-border-color, var(--hx-color-border-strong, #66787b));
|
|
12029
12073
|
border-radius: var(--hx-time-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
12030
12074
|
box-shadow: var(
|
|
12031
12075
|
--hx-time-picker-listbox-shadow,
|
|
@@ -12191,33 +12235,38 @@ export const helixTableSectionBaseStyles = css`
|
|
|
12191
12235
|
* error-600) because the lighter -500 fills can't pass AA against white
|
|
12192
12236
|
* text in the precision-cool palette. The neutral-900 on-{role} tokens
|
|
12193
12237
|
* are tuned for the lighter -500 surfaces and would fail here (e.g.
|
|
12194
|
-
* neutral-900 on primary-600 = 3.07:1), so
|
|
12195
|
-
*
|
|
12196
|
-
* -
|
|
12197
|
-
* -
|
|
12198
|
-
* (success-600 #0E8A4A on white = 4.
|
|
12199
|
-
* -
|
|
12200
|
-
* -
|
|
12238
|
+
* neutral-900 on primary-600 = 3.07:1), so the on-{role}-strong tokens
|
|
12239
|
+
* (neutral-0, no dark-mode flip) keep fg legible on the darker fills.
|
|
12240
|
+
* - text.on-primary-strong on info.bg-strong (primary-600, #0F7078) = 5.82:1
|
|
12241
|
+
* - text.on-success-strong on success.bg-strong (success-700, #146831) = 6.88:1
|
|
12242
|
+
* (success-600 #0E8A4A on white = 4.42:1 — drifts under AA at 14px)
|
|
12243
|
+
* - text.on-error-strong on danger.bg-strong (error-600, #C92A2A) = 5.46:1
|
|
12244
|
+
* - text.on-warning on warning.bg-strong (warning-500, #C2711C) = 4.83:1
|
|
12201
12245
|
* (warning stays on the lighter -500 surface so on-warning works)
|
|
12246
|
+
*
|
|
12247
|
+
* 3.2.1 token-cascade: bg variants now route through surface.{role}-strong
|
|
12248
|
+
* semantics; fg variants route through text.on-{role}-strong (or on-warning
|
|
12249
|
+
* for the warning variant). Component-tier tokens are NOT bypassed — the
|
|
12250
|
+
* --hx-toast-bg / --hx-toast-color slots remain the single override point.
|
|
12202
12251
|
*/
|
|
12203
12252
|
.toast--success {
|
|
12204
|
-
--hx-toast-bg: var(--hx-color-success-
|
|
12205
|
-
--hx-toast-color: var(--hx-color-
|
|
12253
|
+
--hx-toast-bg: var(--hx-color-surface-success-strong, #146831);
|
|
12254
|
+
--hx-toast-color: var(--hx-color-text-on-success-strong, #ffffff);
|
|
12206
12255
|
}
|
|
12207
12256
|
|
|
12208
12257
|
.toast--warning {
|
|
12209
|
-
--hx-toast-bg: var(--hx-color-warning-
|
|
12258
|
+
--hx-toast-bg: var(--hx-color-surface-warning-strong, #c2711c);
|
|
12210
12259
|
--hx-toast-color: var(--hx-color-text-on-warning, #0d1825);
|
|
12211
12260
|
}
|
|
12212
12261
|
|
|
12213
12262
|
.toast--danger {
|
|
12214
|
-
--hx-toast-bg: var(--hx-color-
|
|
12215
|
-
--hx-toast-color: var(--hx-color-
|
|
12263
|
+
--hx-toast-bg: var(--hx-color-surface-danger-strong, #c92a2a);
|
|
12264
|
+
--hx-toast-color: var(--hx-color-text-on-error-strong, #ffffff);
|
|
12216
12265
|
}
|
|
12217
12266
|
|
|
12218
12267
|
.toast--info {
|
|
12219
|
-
--hx-toast-bg: var(--hx-color-
|
|
12220
|
-
--hx-toast-color: var(--hx-color-
|
|
12268
|
+
--hx-toast-bg: var(--hx-color-surface-info-strong, #0f7078);
|
|
12269
|
+
--hx-toast-color: var(--hx-color-text-on-primary-strong, #ffffff);
|
|
12221
12270
|
}
|
|
12222
12271
|
|
|
12223
12272
|
/* ─── Severity Label (WCAG 1.4.1) ─── */
|
|
@@ -12310,10 +12359,16 @@ export const helixTableSectionBaseStyles = css`
|
|
|
12310
12359
|
}
|
|
12311
12360
|
|
|
12312
12361
|
/* ─── Forced Colors (Windows High Contrast) ─── */
|
|
12313
|
-
/*
|
|
12362
|
+
/* Sole owner: bespoke per-class HC overrides on .toast and .toast__close.
|
|
12363
|
+
The shared forcedColorsSurface mixin was dropped in 3.2.1 (XOR rule);
|
|
12364
|
+
this block now carries the surface contract the mixin used to provide
|
|
12365
|
+
(background:Canvas + color:CanvasText + border:1px solid CanvasText)
|
|
12366
|
+
plus the per-class affordances the mixin never touched. */
|
|
12314
12367
|
|
|
12315
12368
|
@media (forced-colors: active) {
|
|
12316
12369
|
.toast {
|
|
12370
|
+
background: Canvas;
|
|
12371
|
+
color: CanvasText;
|
|
12317
12372
|
border: 1px solid CanvasText;
|
|
12318
12373
|
}
|
|
12319
12374
|
|
|
@@ -12437,7 +12492,7 @@ export const helixToastStackStyles = css`
|
|
|
12437
12492
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
12438
12493
|
var(
|
|
12439
12494
|
--hx-toggle-button-focus-ring-color,
|
|
12440
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
12495
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078))
|
|
12441
12496
|
);
|
|
12442
12497
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
12443
12498
|
}
|
|
@@ -12520,7 +12575,7 @@ export const helixToastStackStyles = css`
|
|
|
12520
12575
|
.button--outline {
|
|
12521
12576
|
--hx-toggle-button-bg: transparent;
|
|
12522
12577
|
--hx-toggle-button-color: var(--hx-color-text-primary, #0d1825);
|
|
12523
|
-
--hx-toggle-button-border-color: var(--hx-color-border-strong, #
|
|
12578
|
+
--hx-toggle-button-border-color: var(--hx-color-border-strong, #66787b);
|
|
12524
12579
|
}
|
|
12525
12580
|
|
|
12526
12581
|
.button--outline:hover {
|
|
@@ -12569,8 +12624,8 @@ export const helixToastStackStyles = css`
|
|
|
12569
12624
|
--hx-toggle-button-pressed-color,
|
|
12570
12625
|
var(--hx-color-primary-700, #0f6363)
|
|
12571
12626
|
);
|
|
12572
|
-
--hx-toggle-button-border-color: var(--hx-color-primary-
|
|
12573
|
-
box-shadow: inset 0 0 0 1px var(--hx-color-primary-
|
|
12627
|
+
--hx-toggle-button-border-color: var(--hx-color-primary-600, #0f7078);
|
|
12628
|
+
box-shadow: inset 0 0 0 1px var(--hx-color-primary-600, #0f7078);
|
|
12574
12629
|
}
|
|
12575
12630
|
|
|
12576
12631
|
/* Ghost pressed: subtle neutral fill, matching hover behavior as a baseline. */
|
|
@@ -12796,10 +12851,7 @@ export const helixToastStackStyles = css`
|
|
|
12796
12851
|
|
|
12797
12852
|
.mobile-toggle:focus-visible {
|
|
12798
12853
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
12799
|
-
var(
|
|
12800
|
-
--hx-top-nav-focus-ring-color,
|
|
12801
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797))
|
|
12802
|
-
);
|
|
12854
|
+
var(--hx-top-nav-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
12803
12855
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
12804
12856
|
}
|
|
12805
12857
|
|
|
@@ -12966,7 +13018,7 @@ export const helixToastStackStyles = css`
|
|
|
12966
13018
|
|
|
12967
13019
|
.tree:focus-visible {
|
|
12968
13020
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
12969
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-
|
|
13021
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-600, #0f7078));
|
|
12970
13022
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
12971
13023
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
12972
13024
|
}
|