@import "../../styles/config";

%base-color-border {
  border: 0;
  color: $white;

  i {
    &[class^='hanaicon'] {
      color: $white;
    }
  }
}

.hana-button {
  background-color: rgba($white, .7);
  border-radius: 4px;
  cursor: pointer;
  display: inline-block;
  font-size: 12px;
  white-space: nowrap;
  height: 22px;
  line-height: 0;
  padding: 0 10px;
  transition: border-color 0.25s ease-out, color 0.25s ease-out, background-color 0.25s ease-out, position 0.25s ease-out;

  &:focus {
    outline: none;
  }
}

.hana-button-default {
  border: 1px solid $button-default-border-color;
  color: $button-default-color;

  i {
    &[class^='hanaicon'] {
      color: $button-default-color;
    }
  }

  &:hover {
    border-color: darken($button-default-color, 5%);
    color: darken($button-default-color, 5%);
    z-index: 2;
  }
}

.hana-button-error {
  @extend %base-color-border;

  background-color: $button-error-color;
  padding: 15px 18px;

  &:hover {
    background-color: darken($button-error-color, 5%);
  }
}

.hana-button-primary {
  @extend %base-color-border;

  background-color: $button-primary-color;
  padding: 15px 18px;

  &:hover {
    background-color: darken($button-primary-color, 5%);
  }
}

.hana-button-warning {
  @extend %base-color-border;

  background-color: $button-warning-color;
  padding: 15px 18px;

  &:hover {
    background-color: darken($button-warning-color, 5%);
  }
}

.hana-button-disabled {
  @extend %base-color-border;

  background-color: $button-default-border-color;
  padding: 15px 18px;

  &:hover {
    cursor: not-allowed;
  }
}

.hana-button-small {
  font-size: 12px;
  padding: 0 10px;
}

.hana-button-middle {
  font-size: 14px;
  padding: 14px 18px;
}

.hana-button-large {
  font-size: 18px;
  padding: 20px 28px;
}

.hana-button-label {
  display: inline-flex;

  .button-label {
    cursor: default;

    &.label-right {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 4px;
      border-top-left-radius: 0;
      border-top-right-radius: 4px;
      order: 2;
    }
  }

  .button-label-default {
    background-color: $button-default-border-color;
    border: 1px solid $button-default-border-color;
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
    color: $white;
    padding: 5px 12px;

    > i {
      vertical-align: initial;
    }
  }

  > a {
    border: 1px solid $button-default-border-color;
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
    color: $button-default-color;
    font-weight: bold;
    padding: 5px 20px;
    text-align: center;
    text-decoration: none;

    &.label-right {
      border-bottom-left-radius: 4px;
      border-bottom-right-radius: 0;
      border-top-left-radius: 4px;
      border-top-right-radius: 0;
    }

    &:hover {
      color: $l-blue;
    }
  }
}
