@mixin button-group---alter() {
}

@mixin button-group() {
  display: inline-flex;
  @include button-group---alter;
}

@mixin button-group__button---alter() {
}

@mixin button-group__button() {
  position: relative;
  z-index: 1;
  margin-left: -$button-border-width;
  &:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right-width: 0;
    &:not(:first-child) {
      border-radius: 0;
    }
  }
  &:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  &:hover,
  &:focus,
  &:active,
  &.active {
    z-index: 2;
  }
  @include button-group__button---alter;
}

// Deprecated
@mixin button-group-border-reset---alter($size: null) {
}

@mixin button-group-border-reset($size: null) {
  $border-radius: $button-border-radius;
  @if ($size) {
    $border-radius: map-get-deep($button-sizes, $size, border-radius);
  }
  &:not(:last-child) {
    border-top-right-radius: $border-radius;
    border-bottom-right-radius: $border-radius;
    border-right-width: $button-border-width;
    &:not(:first-child) {
      border-radius: $border-radius;
    }
  }
  &:last-child {
    border-top-left-radius: $border-radius;
    border-bottom-left-radius: $border-radius;
  }
  @include button-group-border-reset---alter($size);
}
