wix-style-react
Version:
wix-style-react
121 lines (99 loc) • 3.64 kB
CSS
@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" */