/*
 * Copyright (c) 2026, Salesforce, Inc.,
 * All rights reserved.
 * For full license text, see the LICENSE.txt file
 */

.slds-button_stateful {
  .slds-text-not-selected,
  .slds-text-selected,
  .slds-text-selected-focus {
    display: none;
    gap: var(--slds-c-button-stateful-gap);
    align-items: center;
  }

  &.slds-not-selected {
    .slds-text-not-selected {
      display: inline-flex;
    }
  }

  &.slds-is-selected-clicked {
    .slds-text-selected-focus {
      display: inline-flex;
    }
  }

  &.slds-is-selected {
    .slds-text-selected {
      display: inline-flex;
    }
  }

  /* `__icon_stateful` is the buttonStateful-specific icon class. It
     reads the same `--slds-c-button-icon-*` surface as `__icon` so
     theme assignments cascade through to the stateful icon. */
  .slds-button__icon_stateful {
    width: var(--slds-c-button-icon-size);
    height: var(--slds-c-button-icon-size);
    fill: var(--slds-c-button-icon-color-foreground, currentColor);
  }

  &:hover .slds-button__icon_stateful {
    fill: var(--slds-c-button-icon-color-foreground-hover, currentColor);
  }

  &:focus-visible .slds-button__icon_stateful {
    fill: var(--slds-c-button-icon-color-foreground-focus, currentColor);
  }

  &:active .slds-button__icon_stateful {
    fill: var(--slds-c-button-icon-color-foreground-active, currentColor);
  }

  &[disabled] .slds-button__icon_stateful,
  &:disabled .slds-button__icon_stateful {
    fill: var(--slds-c-button-icon-color-foreground-disabled, currentColor);
  }

  &:hover,
  &:focus-visible,
  &:active,
  &[disabled],
  &:disabled {
    .slds-button__icon_stateful {
      pointer-events: none;
    }
  }
}
