// TODO: See if the mixins below can be deprecated // Might still be needed for .btn-blue // ——————————————————————

// Button color generator for primary and themed buttons

// New button hotness @mixin btn-solid($color, $bg, $bg2) {

color: $color;
background-color: $bg2;
background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%);

@if $bg == $gray-000 {
  &:focus,
  &.focus {
    box-shadow: $btn-input-focus-shadow;
  }

  &:hover,
  &.hover {
    background-color: darken($bg2, 3%);
    background-image: linear-gradient(-180deg, darken($bg, 3%) 0%, darken($bg2, 3%) 90%);
    background-position: 0 -$em-spacer-5;
    border-color: rgba($black, 0.35);
  }

  &:active,
  &.selected,
  &[aria-selected=true],
  [open] > & {
    background-color: darken(desaturate($bg, 10%), 6%);
    background-image: none;
    border-color: rgba($black, 0.35); // repeat to avoid shift on click-drag off of button
    box-shadow: $btn-active-shadow;
  }

  &:disabled,
  &.disabled,
  &[aria-disabled=true] {
    color: rgba($color, 0.4);
    background-color: $bg2;
    background-image: none;
    border-color: $border-color-button;
    box-shadow: none;
  }

}
@else {
  &:focus,
  &.focus {
    box-shadow: 0 0 0 0.2em rgba($bg, 0.4);
  }

  &:hover,
  &.hover {
    background-color: darken($bg2, 2%);
    background-image: linear-gradient(-180deg, darken($bg, 2%) 0%, darken($bg2, 2%) 90%);
    background-position: 0 -$em-spacer-5;
    border-color: $black-fade-50;
  }

  &:active,
  &.selected,
  &[aria-selected=true],
  [open] > & {
    background-color: darken(mix($bg, $bg2, 50%), 7%);
    background-image: none;
    border-color: $black-fade-50; // repeat to avoid shift on click-drag off of button
    box-shadow: $btn-active-shadow;
  }

  &:disabled,
  &.disabled,
  &[aria-disabled=true] {
    color: rgba($color, 0.75);
    background-color: mix($bg2, $white, 50%);
    background-image: none;
    border-color: $border-color-button;
    box-shadow: none;
  }

  .Counter {
    color: darken($bg, 8%);
    background-color: $white;
  }
}

}

// Inverse button hover style @mixin btn-inverse($color, $bg, $bg2) {

color: $color;
background-color: $bg;
background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%);

&:focus {
  box-shadow: 0 0 0 0.2em rgba($color, 0.4);
}

&:hover {
  color: $text-white;
  background-color: $color;
  background-image: linear-gradient(-180deg, lighten($color, 10%) 0%, $color 90%);
  border-color: $black-fade-50;

  .Counter {
    color: $text-white;
  }
}

&:active,
&.selected,
&[aria-selected=true],
[open] > & {
  color: $text-white;
  background-color: darken($color, 5%);
  background-image: none;
  border-color: $black-fade-50;
  box-shadow: $btn-active-shadow;
}

&:disabled,
&.disabled,
&[aria-disabled=true] {
  color: rgba($color, 0.4);
  background-color: $bg2;
  background-image: none;
  border-color: $border-color-button;
  box-shadow: none;
}

}

// Outline color generator for btn-outline to make the hover state inverse the text and bg colors. @mixin btn-outline($text-color: $text-blue, $bg-color: $bg-white) {

color: $text-color;
background-color: $bg-color;
background-image: none;

.Counter {
  background-color: rgba($black, 0.07);
}

&:hover,
&:active,
&.selected,
&[aria-selected=true],
[open] > & {
  color: $bg-color;
  background-color: $text-color;
  background-image: none;
  border-color: $text-color;

  .Counter {
    color: $text-color;
    background-color: $bg-color;
  }
}

&:focus {
  border-color: $text-color;
  box-shadow: 0 0 0 0.2em rgba($text-color, 0.4);
}

&:disabled,
&.disabled,
&[aria-disabled=true] {
  color: $black-fade-30;
  background-color: $bg-white;
  border-color: $black-fade-15;
  box-shadow: none;
}

}