@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" */