UNPKG

wix-style-react

Version:
121 lines (99 loc) 3.64 kB
@st-namespace "SegmentedToggleButton"; @st-import [ --wds-segmented-toggle-border-radius-medium, --wds-segmented-toggle-border-radius-small, --wds-segmented-toggle-size-medium, --wds-segmented-toggle-size-small, --wds-segmented-toggle-padding-horizontal-medium, --wds-segmented-toggle-padding-horizontal-small, --wds-space-100, --wds-color-fill-standard-tertiary, --wds-color-fill-standard-tertiary-hover, --wds-color-text-standard-primary, --wds-color-text-disabled, --wds-color-border-standard-secondary-active, --wds-color-border-standard-secondary-disabled, --wds-color-border-standard-secondary-hover, --wds-shadow-focus-standard, ] from '@wix/design-system-tokens/all.st.css'; :import { -st-from: '../../Foundation/stylable/colors.st.css'; -st-named: F00, D10, D10-30, D80, THEME-COLOR-10, THEME-COLOR-50; } :import { -st-from: "../../Text/Text.st.css"; -st-default: Text; } .root { -st-states: selected, size(enum(small, medium)), focus-visible; /* Positioning */ display: flex; justify-content: center; align-items: center; /* Styling */ color: var(--wds-color-text-standard-primary, value(D10)); cursor: pointer; /* Sizing */ flex-grow: 1; height: var(--wds-segmented-toggle-size-medium, 36px); box-sizing: border-box; overflow: hidden; /* Border & Spacing */ background: transparent; border: 1px solid transparent; box-shadow: 0 0 0 1px transparent; border-radius: var(--wds-segmented-toggle-border-radius-medium, 6px); padding: 0 var(--wds-segmented-toggle-padding-horizontal-medium, 24px); margin: 0; /* Disable native focus */ outline: none; } .root:size(small) { height: var(--wds-segmented-toggle-size-small, 30px); padding: 0 var(--wds-segmented-toggle-padding-horizontal-small, 12px); border-radius: var(--wds-segmented-toggle-border-radius-small, 6px); } .root:not(:disabled):hover { background-color: var(--wds-color-fill-standard-tertiary-hover, value(THEME-COLOR-50)); box-shadow: 0 0 0 1px var(--wds-color-border-standard-secondary-hover, value(THEME-COLOR-10)); z-index: 1; } .root:not(:disabled):focus-visible { box-shadow: var(--wds-shadow-focus-standard, 0 0 0 3px value(F00)); } .root:disabled { color: var(--wds-color-text-disabled, value(D10-30)); cursor: not-allowed; } /* Selected styles */ .root:selected:not(:disabled) { border: 1px solid var(--wds-color-border-standard-secondary-active, value(THEME-COLOR-10)); box-shadow: 0 0 0 1px var(--wds-color-border-standard-secondary-active, value(THEME-COLOR-10)); z-index: 2; } .root:selected:not(:disabled):focus-visible { border: 1px solid var(--wds-color-border-standard-secondary-active, value(THEME-COLOR-10)); box-shadow: var(--wds-shadow-focus-standard, 0 0 0 1px value(THEME-COLOR-10)), var(--wds-shadow-focus-standard, 0 0 0 4px value(F00)); } .root:selected:disabled { border: 1px solid var(--wds-color-border-standard-secondary-disabled, value(D10-30)); box-shadow: 1px 0 0 0 var(--wds-color-border-standard-secondary-disabled, value(D10-30)); cursor: not-allowed; } .root:selected:not(:hover) { background-color: var(--wds-color-fill-standard-tertiary, value(D80)); } /* Additional classes */ .prefix { -st-states: size(enum(small, medium)); flex-shrink: 0; margin: 0 var(--wds-space-100, 6px) 0 calc(var(--wds-space-100, 6px) * -1); } .prefix:size(small) { margin-left: 0; } :global([dir='rtl']) .prefix { flex-shrink: 0; margin: 0 calc(var(--wds-space-100, 6px) * -1) 0 var(--wds-space-100, 6px); } /* st-namespace-reference="../../../../src/SegmentedToggle/ToggleButton/ToggleButton.st.css" */