// 按钮
.#{$namespace} {
  &-btn {
    display: inline-block;
    font-size: $ft-sm;
    line-height: 1;
    padding: 10px 18px;
    border-radius: 4px;
    color: $white;
    background-color: $primary;
    border: 1px solid $primary;
    vertical-align: middle;
    white-space: nowrap;
    text-align: center;
    cursor: pointer;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;

    b,
    i {
      font-weight: normal;
      height: 100%;
      line-height: 1;
      display: inline-block;
    }

    &:hover {
      opacity: 0.75;
      filter: alpha(opacity=75);
      color: $white;
    }

    &:active {
      opacity: 1;
      filter: alpha(opacity=75);
      color: $white;
    }

    & + & {
      margin-left: 10px;
    }

    // 原始
    &.btn-primary {
      color: $g-700;
      border: 1px solid $g-400;
      background-color: $white;

      &:hover {
        color: $primary;
        border-color: $primary;
        background-color: rgba($primary, $alpha: 0.1);
      }
    }

    // 百搭
    &.btn-normal {
      background-color: $blue;
      border-color: $blue;
    }

    // 暖色
    &.btn-warm {
      background-color: $orange;
      border-color: $orange;
    }

    // 警告
    &.btn-danger {
      background-color: $red;
      border-color: $red;
    }

    // 禁用
    &.btn-disabled {
      border: 1px solid $g-300;
      background-color: $g-100;
      color: $g-400;
      cursor: not-allowed;
      opacity: 1;

      &:hover,
      &:active {
        border: 1px solid $g-500;
        background-color: $g-100;
        color: $g-500;
        cursor: not-allowed;
        opacity: 1;
      }
    }

    // 镂空虚线
    &.btn-dashed {
      border: 1px dashed $g-300;
      background-color: $white;
      color: $g-600;

      &:hover {
        border-color: $primary;
        color: $primary;
      }
    }

    // 镂空虚线彩色
    &.btn-dashed-primary {
      border: 1px dashed $primary;
      background-color: $white;
      color: $primary;

      &:hover {
        background-color: $primary;
        color: $white;
        opacity: 1;
      }
    }

    // 文字按钮
    &.btn-text {
      & {
        color: $primary;
        background: transparent;
        padding-left: 0;
        padding-right: 0;
        border-color: transparent;
        height: auto;
        line-height: 1;
      }

      &:focus,
      &:hover {
        color: rgba($primary, $alpha: 0.6);
        border-color: transparent;
        background-color: transparent;
        opacity: 0.8;

        .svg-icon {
          opacity: 1;
          color: $primary;
        }
      }

      &:active {
        color: $primary;
        background-color: transparent;
      }

      &,
      &:active {
        border-color: transparent;
      }

      &.is-disabled {
        &,
        &:hover,
        &:focus {
          border-color: transparent;
        }
      }

      .svg-icon {
        color: $g-333;
        margin: 0;
      }
    }

    // 镂空按钮
    &.is-plain {
      &-edit,
      &-del {
        padding: 5px;
        border-radius: 100%;
        border-width: 1px;
        border-style: solid;
        &:hover {
          color: $white;
        }
      }
      // 编辑按钮
      &-edit {
        color: $primary;
        background-color: rgba($primary, $alpha: 0.1);
        border-color: rgba($primary, $alpha: 0.1);
        &:hover {
          background-color: $primary;
          border-color: $primary;
        }
      }
      // 删除按钮
      &-del {
        color: $red;
        background-color: rgba($red, $alpha: 0.1);
        border-color: rgba($red, $alpha: 0.1);
        &:hover {
          background-color: $red;
          border-color: $red;
        }
      }
    }
    // 图标按钮
    &.is-icon {
      &-edit,
      &-del {
        padding: 0;
        background: none;
        border: none;
        &:hover {
          color: $g-333;
        }
      }
      // 编辑
      &-edit {
        color: $primary;
      }
      &-del {
        color: $red;
      }
    }
    // 文字编辑删除按钮
    &.is-text {
      &-edit,
      &-del {
        padding: 9px 15px;
        font-size: 12px;
        border-radius: 3px;
        border-width: 1px;
        border-style: solid;
        .svg-icon {
          width: 14px;
          height: 14px;
        }

        &:hover {
          color: $white !important;
        }
      }

      // 编辑
      &-edit {
        color: $primary;
        background-color: rgba($primary, $alpha: 0.1);
        border-color: rgba($primary, $alpha: 0.1);
        &:hover {
          background-color: $primary;
          border-color: $primary;
        }
      }
      // 删除
      &-del {
        color: $red;
        background-color: rgba($red, $alpha: 0.1);
        border-color: rgba($red, $alpha: 0.1);
        &:hover {
          background-color: $red;
          border-color: $red;
        }
      }
    }

    //按钮尺寸
    &.btn {
      // 大
      &-lg {
        padding: 15px 26px;
        font-size: $ft-bs;
      }

      // 小
      &-sm {
        padding: 9px 15px;
        font-size: 12px;
      }

      // 超小
      &-xs {
        padding: 0 5px;
        font-size: 12px;
      }
    }

    //按钮外观
    &.btn {
      // 流体
      &-fluid {
        width: 100%;
      }

      // 圆形
      &-radius {
        border-radius: 100px;
      }
    }

    // 按钮里图标
    &-btn [class^="icon-"] {
      padding: 0 2px;
      vertical-align: middle\0;
      vertical-align: bottom;
    }

    // 按钮里的icon图标
    i {
      font-size: $ft-bs;
      font-weight: bold !important;
      & + b {
        margin-left: 5px;
      }
    }

    .svg-icon {
      width: 18px;
      height: 18px;
      & + b {
        margin-left: 5px;
      }
    }
  }
}

// 按钮组
.#{$namespace} {
  &-btn-group {
    display: inline-block;
    vertical-align: middle;
    font-size: 0;

    .hui-btn {
      margin-left: 0 !important;
      margin-right: 0 !important;
      border-left: 1px solid rgba(255, 255, 255, 0.5);
      border-radius: 0;

      // 按钮组第一个btn
      &:first-child {
        border-left: none;
        border-radius: 2px 0 0 2px;
      }

      // 按钮组最后一个按钮
      &:last-child {
        border-radius: 0 2px 2px 0;
      }
    }

    // 按钮组里的二个按钮
    .hui-btn + .hui-btn {
      margin-left: 0;
    }

    // 按钮组原始按钮
    .btn-primary {
      border-left: none;

      &:hover {
        border-color: #c9c9c9;
        color: $primary;
      }

      // 按钮组原始按钮第一个
      &:first-child {
        border-left: 1px solid #c9c9c9;
      }
    }

    // 二个按钮组
    & + & {
      margin-left: 10px;
    }
  }
}

// 按钮容器
.#{$namespace} {
  &-btn-container {
    font-size: 0;

    .hui-btn {
      margin-right: 12px;
    }
  }
}

// 文件按钮
.#{$namespace} {
  &-file-btn {
    position: relative;
    display: inline-block;
    overflow: hidden;
    text-decoration: none;
    text-indent: 0;
    transition: all 0.3s;
    height: 38px;
    line-height: 38px;
    padding: 0 18px;
    background-color: $primary;
    color: $white;
    white-space: nowrap;
    text-align: center;
    font-size: $ft-sm;
    border: none;
    border-radius: 2px;
    cursor: pointer;

    &:hover {
      background-color: $primary;
      color: $white;
    }

    input {
      position: absolute;
      font-size: 100px;
      right: 0;
      top: 0;
      opacity: 0;
      cursor: pointer;
    }
  }
}

// 上传按钮
.#{$namespace} {
  &-upload-img-btn {
    width: 60px;
    height: 60px;
    background: $white;
    border-radius: 6px;
    border: 1px dashed #d2d2d2;
    transition: all 0.3s;
    font-size: 32px;
    color: #d2d2d2;
    font-weight: normal;
    margin-bottom: 4px;
    cursor: pointer;

    &:hover {
      border-color: $primary;
      color: $primary;
    }
  }
}
