vben
2021-12-01 e024f6a6e76d531fa00d8895fb0cfca9f1cc15a4
src/design/ant/btn.less
@@ -1,36 +1,24 @@
// button重置
// button reset
.ant-btn {
  // display: inline-flex;
  // justify-content: center;
  // align-items: center;
  // &.ant-btn-success:not(.ant-btn-link),
  // &.ant-btn-error:not(.ant-btn-link),
  // &.ant-btn-warning:not(.ant-btn-link),
  // &.ant-btn-primary:not(.ant-btn-link) {
  //   box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08) !important;
  // }
  // &-group {
  //   .ant-btn:not(:first-child) {
  //     bottom: 1px;
  //   }
  // }
  &-link:hover,
  &-link:focus,
  &-link:active {
    border-color: transparent !important;
  }
  &-primary {
    color: @white;
    background-color: @button-primary-color;
    border-width: 0;
    &:hover,
    &:focus {
      color: @white !important;
      color: @white;
      background-color: @button-primary-hover-color;
    }
  }
    &[disabled],
    &[disabled]:hover {
      color: @white;
      background-color: fade(@button-primary-color, 40%);
    }
  &-primary:not(&-background-ghost):not([disabled]) {
    color: @white;
  }
  &-default {
@@ -44,21 +32,30 @@
      background-color: @button-cancel-hover-bg-color;
      border-color: @button-cancel-hover-border-color;
    }
    &[disabled],
    &[disabled]:hover {
      color: fade(@button-cancel-color, 40%);
      background: fade(@button-cancel-bg-color, 40%);
      border-color: fade(@button-cancel-border-color, 40%);
    }
    //
    //&[disabled],
    //&[disabled]:hover {
    //  color: fade(@button-cancel-color, 40%) !important;
    //  background: fade(@button-cancel-bg-color, 40%) !important;
    //  border-color: fade(@button-cancel-border-color, 40%) !important;
    //}
  }
  &.ant-btn-link.is-disabled {
    color: rgba(0, 0, 0, 0.25) !important;
  [data-theme='light'] &.ant-btn-link.is-disabled {
    color: rgb(0 0 0 / 25%);
    text-shadow: none;
    cursor: not-allowed;
    background-color: transparent;
    border-color: transparent;
    cursor: not-allowed !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none;
  }
  [data-theme='dark'] &.ant-btn-link.is-disabled {
    color: rgb(255 255 255 / 25%) !important;
    text-shadow: none;
    cursor: not-allowed !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none;
  }
@@ -70,6 +67,11 @@
    &:hover,
    &:focus {
      color: @button-success-hover-color;
      border-color: transparent;
    }
    &:active {
      color: @button-success-active-color;
    }
  }
@@ -83,11 +85,11 @@
    }
  }
  &-success:not(.ant-btn-link) {
  &-success:not(.ant-btn-link, .is-disabled) {
    color: @white;
    background-color: @button-success-color;
    border-color: @button-success-color;
    border-width: 0;
    //border-width: 0;
    &:hover,
    &:focus {
@@ -96,12 +98,9 @@
      border-color: @button-success-hover-color;
    }
    &[disabled],
    &[disabled]:hover {
      color: @white;
      background-color: fade(@button-success-color, 40%);
      // background-color: @button-success-disabled-color;
      border-color: fade(@button-success-color, 40%);
    &:active {
      background-color: @button-success-active-color;
      border-color: @button-success-active-color;
    }
  }
@@ -111,14 +110,19 @@
    &:hover,
    &:focus {
      color: @button-warn-hover-color;
      border-color: transparent;
    }
    &:active {
      color: @button-warn-active-color;
    }
  }
  &-warning:not(.ant-btn-link) {
  &-warning:not(.ant-btn-link, .is-disabled) {
    color: @white;
    background-color: @button-warn-color;
    border-color: @button-warn-color;
    border-width: 0;
    //border-width: 0;
    &:hover,
    &:focus {
@@ -127,15 +131,17 @@
      border-color: @button-warn-hover-color;
    }
    &[disabled],
    &[disabled]:hover {
      color: @white;
      background-color: fade(@button-warn-color, 40%);
      border-color: fade(@button-warn-color, 40%);
      // background-color: @button-warn-disabled-color;
      // border-color: @button-warn-disabled-color ;
    &:active {
      background-color: @button-warn-active-color;
      border-color: @button-warn-active-color;
    }
    //&[disabled],
    //&[disabled]:hover {
    //  color: @white;
    //  background-color: fade(@button-warn-color, 40%);
    //  border-color: fade(@button-warn-color, 40%);
    //}
  }
  &-error.ant-btn-link:not([disabled='disabled']) {
@@ -144,14 +150,19 @@
    &:hover,
    &:focus {
      color: @button-error-hover-color;
      border-color: transparent;
    }
    &:active {
      color: @button-error-active-color;
    }
  }
  &-error:not(.ant-btn-link) {
  &-error:not(.ant-btn-link, .is-disabled) {
    color: @white;
    background-color: @button-error-color;
    border-color: @button-error-color;
    border-width: 0;
    //border-width: 0;
    &:hover,
    &:focus {
@@ -160,44 +171,115 @@
      border-color: @button-error-hover-color;
    }
    &:active {
      background-color: @button-error-active-color;
      border-color: @button-error-active-color;
    }
    //&[disabled],
    //&[disabled]:hover {
    //  color: @white;
    //  background-color: fade(@button-error-color, 40%);
    //  border-color: fade(@button-error-color, 40%);
    //}
  }
  &-background-ghost {
    border-width: 1px;
    background-color: transparent !important;
    &[disabled],
    &[disabled]:hover {
      color: @white;
      background-color: fade(@button-error-color, 40%);
      border-color: fade(@button-error-color, 40%);
      // background-color: @button-error-disabled-color;
      // border-color: @button-error-disabled-color ;
      color: fade(@white, 40%) !important;
      background-color: transparent !important;
      border-color: fade(@white, 40%) !important;
    }
  }
  &-background-ghost.ant-btn-link,
  &.ant-btn-dashed:not([disabled='disabled']) {
    color: @text-color-call-out;
    &:hover {
      color: @button-primary-color;
    }
  }
  &-ghost {
  &-dashed&-background-ghost,
  &-default&-background-ghost {
    color: @button-ghost-color;
    background-color: @white;
    border-color: @button-ghost-color;
    border-width: 1px;
    &:hover,
    &:focus {
      color: @button-ghost-hover-color;
      background-color: @button-ghost-hover-bg-color;
      border-color: @button-ghost-hover-color;
    }
    &:active {
      color: @button-ghost-active-color;
      border-color: @button-ghost-active-color;
    }
    &[disabled],
    &[disabled]:hover {
      color: @button-ghost-color;
      background: fade(@white, 40%);
      border-color: fade(@button-ghost-color, 40%);
      color: fade(@white, 40%) !important;
      border-color: fade(@white, 40%) !important;
    }
  }
  &-background-ghost&-success:not(.ant-btn-link) {
    color: @button-success-color;
    background-color: transparent;
    border-color: @button-success-color;
    border-width: 1px;
    &:hover,
    &:focus {
      color: @button-success-hover-color !important;
      border-color: @button-success-hover-color;
    }
    &:active {
      color: @button-success-active-color;
      border-color: @button-success-active-color;
    }
  }
  &-background-ghost&-warning:not(.ant-btn-link) {
    color: @button-warn-color;
    background-color: transparent;
    border-color: @button-warn-color;
    border-width: 1px;
    &:hover,
    &:focus {
      color: @button-warn-hover-color !important;
      border-color: @button-warn-hover-color;
    }
    &:active {
      color: @button-warn-active-color;
      border-color: @button-warn-active-color;
    }
  }
  &-background-ghost&-error:not(.ant-btn-link) {
    color: @button-error-color;
    background-color: transparent;
    border-color: @button-error-color;
    border-width: 1px;
    &:hover,
    &:focus {
      color: @button-error-hover-color !important;
      border-color: @button-error-hover-color;
    }
    &:active {
      color: @button-error-active-color;
      border-color: @button-error-active-color;
    }
  }
  &-ghost.ant-btn-link:not([disabled='disabled']) {
    color: @button-ghost-color;
    &:hover,
    &:focus {
      color: @button-ghost-hover-color;
      border-color: transparent;
    }
  }
}