/* #ifndef APP-NVUE */
@import './vue.scss';
/* #endif */

/* #ifdef APP-NVUE */
@import './nvue.scss';
/* #endif */

$u-button-u-button-height: 40px !default;
$u-button-text-font-size: 15px !default;
$u-button-loading-text-font-size: 15px !default;
$u-button-loading-text-margin-left: 4px !default;
$u-button-large-width: 100% !default;
$u-button-large-height: 50px !default;
$u-button-normal-padding: 0 12px !default;
$u-button-large-padding: 0 15px !default;
$u-button-normal-font-size: 14px !default;
$u-button-small-min-width: 60px !default;
$u-button-small-height: 30px !default;
$u-button-small-padding: 0px 8px !default;
$u-button-mini-padding: 0px 8px !default;
$u-button-small-font-size: 12px !default;
$u-button-mini-height: 22px !default;
$u-button-mini-font-size: 10px !default;
$u-button-mini-min-width: 50px !default;
$u-button-disabled-opacity: 0.5 !default;
$u-button-info-color: #323233 !default;
$u-button-info-background-color: #fff !default;
$u-button-info-border-color: #ebedf0 !default;
$u-button-info-border-width: 1px !default;
$u-button-info-border-style: solid !default;
$u-button-success-color: #fff !default;
$u-button-success-background-color: $u-success !default;
$u-button-success-border-color: $u-button-success-background-color !default;
$u-button-success-border-width: 1px !default;
$u-button-success-border-style: solid !default;
$u-button-primary-color: #fff !default;
$u-button-primary-background-color: $u-primary !default;
$u-button-primary-border-color: $u-button-primary-background-color !default;
$u-button-primary-border-width: 1px !default;
$u-button-primary-border-style: solid !default;
$u-button-error-color: #fff !default;
$u-button-error-background-color: $u-error !default;
$u-button-error-border-color: $u-button-error-background-color !default;
$u-button-error-border-width: 1px !default;
$u-button-error-border-style: solid !default;
$u-button-warning-color: #fff !default;
$u-button-warning-background-color: $u-warning !default;
$u-button-warning-border-color: $u-button-warning-background-color !default;
$u-button-warning-border-width: 1px !default;
$u-button-warning-border-style: solid !default;
$u-button-block-width: 100% !default;
$u-button-circle-border-top-right-radius: 100px !default;
$u-button-circle-border-top-left-radius: 100px !default;
$u-button-circle-border-bottom-left-radius: 100px !default;
$u-button-circle-border-bottom-right-radius: 100px !default;
$u-button-square-border-top-right-radius: 3px !default;
$u-button-square-border-top-left-radius: 3px !default;
$u-button-square-border-bottom-left-radius: 3px !default;
$u-button-square-border-bottom-right-radius: 3px !default;
$u-button-icon-min-width: 1em !default;
$u-button-plain-background-color: #fff !default;
$u-button-hairline-border-width: 0.5px !default;

.u-button {
  height: $u-button-u-button-height;
  position: relative;
  align-items: center;
  justify-content: center;
  @include flex;
  /* #ifndef APP-NVUE */
  box-sizing: border-box;
  /* #endif */
  flex-direction: row;

  &__text {
    font-size: $u-button-text-font-size;
  }

  &__loading-text {
    font-size: $u-button-loading-text-font-size;
    margin-left: $u-button-loading-text-margin-left;
  }

  &--large {
    /* #ifndef APP-NVUE */
    width: $u-button-large-width;
    /* #endif */
    height: $u-button-large-height;
    padding: $u-button-large-padding;
  }

  &--normal {
    padding: $u-button-normal-padding;
    font-size: $u-button-normal-font-size;
  }

  &--small {
    /* #ifndef APP-NVUE */
    min-width: $u-button-small-min-width;
    /* #endif */
    height: $u-button-small-height;
    padding: $u-button-small-padding;
    font-size: $u-button-small-font-size;
  }

  &--mini {
    height: $u-button-mini-height;
    font-size: $u-button-mini-font-size;
    /* #ifndef APP-NVUE */
    min-width: $u-button-mini-min-width;
    /* #endif */
    padding: $u-button-mini-padding;
  }

  &--disabled {
    opacity: $u-button-disabled-opacity;
  }

  &--info {
    color: $u-button-info-color;
    background-color: $u-button-info-background-color;
    border-color: $u-button-info-border-color;
    border-width: $u-button-info-border-width;
    border-style: $u-button-info-border-style;
  }

  &--success {
    color: $u-button-success-color;
    background-color: $u-button-success-background-color;
    border-color: $u-button-success-border-color;
    border-width: $u-button-success-border-width;
    border-style: $u-button-success-border-style;
  }

  &--primary {
    color: $u-button-primary-color;
    background-color: $u-button-primary-background-color;
    border-color: $u-button-primary-border-color;
    border-width: $u-button-primary-border-width;
    border-style: $u-button-primary-border-style;
  }

  &--error {
    color: $u-button-error-color;
    background-color: $u-button-error-background-color;
    border-color: $u-button-error-border-color;
    border-width: $u-button-error-border-width;
    border-style: $u-button-error-border-style;
  }

  &--warning {
    color: $u-button-warning-color;
    background-color: $u-button-warning-background-color;
    border-color: $u-button-warning-border-color;
    border-width: $u-button-warning-border-width;
    border-style: $u-button-warning-border-style;
  }

  &--block {
    @include flex;
    width: $u-button-block-width;
  }

  &--circle {
    border-top-right-radius: $u-button-circle-border-top-right-radius;
    border-top-left-radius: $u-button-circle-border-top-left-radius;
    border-bottom-left-radius: $u-button-circle-border-bottom-left-radius;
    border-bottom-right-radius: $u-button-circle-border-bottom-right-radius;
  }

  &--square {
    border-bottom-left-radius: $u-button-square-border-top-right-radius;
    border-bottom-right-radius: $u-button-square-border-top-left-radius;
    border-top-left-radius: $u-button-square-border-bottom-left-radius;
    border-top-right-radius: $u-button-square-border-bottom-right-radius;
  }

  &__icon {
    /* #ifndef APP-NVUE */
    min-width: $u-button-icon-min-width;
    line-height: inherit !important;
    vertical-align: top;
    /* #endif */
  }

  &--plain {
    background-color: $u-button-plain-background-color;
  }

  &--hairline {
    border-width: $u-button-hairline-border-width !important;
  }
}
