@import '~knowdesign/es/style/index.less';

@height-base: 36px;
@height-lg: 42px;
@height-sm: 27px;

// 全局变量替换
@body-background: #ebebf3;
@input-color: #495057;
@input-placeholder-color: #ADB5BC;
@select-item-selected-font-weight: normal;
@btn-danger-bg: #F5483B;
@btn-danger-border: #F5483B;
@notification-icon-size: 20px;
// 自定义变量
// Input
@input-bg: rgba(33, 37, 41, 0.06);
@input-border-radius: 8px;
@input-sm-border-radius: 6px;
@input-hover-border-color: #74788d;
@input-disabled-bg: #eff2f7;
@input-disabled-border: #ced4da;
@input-disabled-color: @input-placeholder-color;
@input-error-border-color: #ff7066;
@input-error-bg: #fffafa;



// .dcloud-layout-content
.@{ant-prefix}-layout-content{
  padding: 10px 10px 0;
}
// Input 补充样式
.@{input-prefix-cls},
.@{input-prefix-cls}-affix-wrapper {
  box-sizing: border-box;
  border: 1px solid transparent;
  border-radius: @input-border-radius;
  background: @input-bg;
  color: #495057;

  &:hover,
  &:focus,
  &.@{input-prefix-cls}-affix-wrapper-focused {
    border: 1px solid @input-hover-border-color;
    background: @input-bg;
    box-shadow: none;
  }

  &.@{input-prefix-cls}-affix-wrapper {
    &:not(&-disabled):hover {
      border-color: @input-hover-border-color;
    }
  }

  &-disabled,
  &[disbaled],
  &.@{input-prefix-cls}-disabled {
    background: @input-disabled-bg !important;
    border: 1px solid @input-disabled-border !important;
    color: @input-disabled-color;
  }

  .anticon.@{input-prefix-cls}-clear-icon {
    color: @input-hover-border-color;

    &:hover {
      color: #495057;
    }
  }
  &-group {
    border-radius: @input-border-radius;
    &-addon {
      border: 0;
      border-radius: @input-border-radius;
    }
  }
}

.@{input-prefix-cls}-affix-wrapper {
  .@{input-prefix-cls} {
    background: transparent;

    &-disabled:not(textarea) {
      border: none !important;
    }
  }
}

.@{form-item-prefix-cls}-has-error {
  .@{input-prefix-cls},
  .@{input-prefix-cls}-affix-wrapper {
    border-color: @input-error-border-color !important;
    background: @input-error-bg !important;
  }

  .@{input-prefix-cls}-affix-wrapper {
    .@{input-prefix-cls} {
      border-color: transparent;
      background: transparent;
    }
  }

  .@{select-prefix-cls}.@{select-prefix-cls}-single {
    .@{select-prefix-cls}-selector {
      border-width: 1px;
      border-style: solid;
      border-color: @input-error-border-color  !important;
      background: @input-error-bg !important;
    }
  }
}

.@{input-prefix-cls}-sm {
  padding: 2.5px 11px;
  border-radius: @input-sm-border-radius;
  &-group {
    border-radius: @input-sm-border-radius;
    &-addon {
      border: 0;
      border-radius: @input-sm-border-radius;
    }
  }
}

.@{form-item-prefix-cls}-control-input {
  min-height: 27px;
}

// InputNumber 补充样式
.@{input-number-prefix-cls} {
  &,
  &:not(.@{input-number-prefix-cls}-borderless) {
    box-sizing: border-box;
    border: 1px solid transparent;
    border-radius: @input-border-radius;
    background: @input-bg;

    &:hover,
    &:focus,
    &.@{input-number-prefix-cls}-focused {
      border: 1px solid @input-hover-border-color;
      background: @input-bg;
      box-shadow: none;
    }

    &-disabled {
      background: @input-disabled-bg;
      border: 1px solid @input-disabled-border;
      color: @input-disabled-color;
    }

    .@{input-number-prefix-cls}-handler-wrap {
      background: transparent;

      .@{input-number-prefix-cls}-handler {
        border-left: none;
        color: @input-hover-border-color;

        &-down {
          border-top: none;
        }
      }
    }
  }
  &-group {
    border-radius: @input-border-radius;
    &-addon {
      border: 0;
      border-radius: @input-border-radius;
    }
  }
}

.@{input-number-prefix-cls}-sm {
  border-radius: @input-sm-border-radius;
  &-group {
    border-radius: @input-sm-border-radius;
    &-addon {
      border-radius: @input-sm-border-radius;
    }
  }
}

.@{form-item-prefix-cls}-has-error {
  .@{input-number-prefix-cls} {
    border-color: @input-error-border-color;
    background: @input-error-bg;
    box-shadow: none;

    &:hover,
    &:focus,
    &.@{input-number-prefix-cls}-focused {
      background: @input-error-bg;
      border-color: @input-error-border-color;
    }
  }

  .codemirror-form-item {
    > .cm-s-default {
      border-color: #ff7066;
      .CodeMirror-scroll {
        background: #fffafa;
        .CodeMirror-gutters {
          background: #fffafa;
        }
      }
    }
  }
}

// form 补充样式
.@{form-prefix-cls} {
  label{
    font-size: 13px;
  }
}

.@{form-item-prefix-cls} {
  &-label {
    font-family: @font-family-bold;
    font-size: 13px;
    color: #495057;
    letter-spacing: 0;
    line-height: 18px !important;
    > label {
      font-size: 13px;
    }
  }
}

// Drawer 样式补充
.@{drawer-prefix-cls} {
  .@{drawer-prefix-cls}-header {
    border-bottom: none;
    padding: 12px 24px 14px 20px;

    .@{drawer-prefix-cls}-title {
      font-family: PingFangSC-Semibold;
      font-size: 18px;
      color: #495057;
      letter-spacing: 0;
      .drawer-title-left-button {
        line-height: 20px;
        max-width: 20px;
        &:hover {
          background: transparent;
        }
        .anticon{
          font-size: 20px;
        }
      }
      .@{divider-prefix-cls}-vertical {
        margin-right: 12px;
        margin-left: 12px;
        height: 20px;
        background: rgba(0,0,0,0.12);
      }
    }

    .@{drawer-prefix-cls}-close {
      margin-right: 20px;
      color: #495057;
    }

    .@{divider-prefix-cls}-vertical {
      height: 17px;
      margin-right: 22px;
      background: rgba(0,0,0,0.13);
    }
  }
  .@{drawer-prefix-cls}-body {
    padding: 14px 20px;
  }
  .@{form-item-prefix-cls} {
    margin-bottom: 16px;
  }
}


// Protable 样式替换
.custom-table-content {
  padding: 16px 24px;
  background-color: #ffffff;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  box-shadow: 0 2px 4px 0 rgba(0,0,0,0.01), 0 3px 6px 3px rgba(0,0,0,0.01), 0 2px 6px 0 rgba(0,0,0,0.03);
  height: calc(100vh - 222px);
  overflow: hidden;
}

// select 覆盖hover样式
.@{select-prefix-cls} {
  color: @input-color;
  &-multiple {
    .@{select-prefix-cls}-selection-item {
      &-remove {
        > .@{iconfont-css-prefix} {
          vertical-align: -0.1em;
        }
      }
    }
  }
  &-clear {
    background: transparent;
  }
}

.@{select-prefix-cls}, .@{select-prefix-cls}-sm {
  .@{select-prefix-cls}-selector {
    background: @input-bg !important;
    border: 1px solid transparent !important;
    &:hover {
      background: @input-bg !important;
      border: 1px solid #74788d !important;
    }
    .@{select-prefix-cls}-selection-overflow{
      .@{select-prefix-cls}-selection-item{
        border: 1px solid transparent !important;
      }
    }
  }
}

.@{select-prefix-cls} .@{select-prefix-cls}-selector {
  border-radius: @input-border-radius !important;
}

.@{select-prefix-cls}-sm .@{select-prefix-cls}-selector {
  border-radius: @input-sm-border-radius !important;
}


.@{select-prefix-cls}-focused{ 
  .@{ant-prefix}-select-selector {
    border-color:  #74788d  !important;
    box-shadow: none !important;
  }
}

.@{select-prefix-cls}.@{select-prefix-cls}-single {
  .@{select-prefix-cls}-selector {
    background: rgba(33, 37, 41, 0.06);
    border: none;
    // select 单选选中后再次打开选择列表时，输入框内文字颜色保持一致
    .@{select-prefix-cls}-selection-item{
      color: @input-color;
    }
  }
}

.@{select-prefix-cls}.@{select-prefix-cls}-single.@{select-prefix-cls}-disabled {
  .@{select-prefix-cls}-selector {
    background: #eff2f7 !important;
    border: 1px solid #ced4da !important;
    .@{select-prefix-cls}-selection-item {
      color: #ADB5BC;
    }
  }
}

.@{select-prefix-cls}-dropdown {
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.04), 0 6px 12px 12px rgba(0, 0, 0, 0.04), 0 6px 10px 0 rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  .@{select-prefix-cls}-item-option-active:not(.@{select-prefix-cls}-item-option-disabled) {
    background: #f1f3ff;
    color: #556ee6;
  }
}

// Date Picker Range 补充样式
.@{picker-prefix-cls}-range {
  border-color: transparent;
  border-radius: 8px;
  background: @input-bg;
  box-shadow: none;
  &:hover, &.@{picker-prefix-cls}-focused {
    border-color: @input-hover-border-color;
  }
}

// ! 带children的Table下边框样式覆盖
.remove-last-border{
  .@{ant-prefix}-table{
    &-thead> tr:not(:last-child) > th[colspan]{
      border-bottom: 1px solid #EFF2F7;
    }
  }
  .show-roght-border{
    border-right: 1px solid #EFF2F7 !important;
  }
  tr{
    th,td{
      border-right: 1px solid #EFF2F7;
    }

    th:nth-last-child(1){
      border-right: 1px solid transparent;
    }

    td:nth-last-child(1){
      border-right: 1px solid transparent;
    }
  }
}

.detail-table-input {
  padding: 2.5px 11px !important;
}

.@{dialog-prefix-cls} {
  &-content {
    border-radius: 12px;
    .@{dialog-prefix-cls}-header {
      border-radius: 12px 12px 0 0;
      border-bottom: none;
      .@{dialog-prefix-cls}-title {
        font-family: @font-family-bold;
        font-size: 16px;
        color: #212529;
        letter-spacing: 0;
        line-height: 26px;
      }
    }
    .@{dialog-prefix-cls}-body {
      padding: 0 24px 16px 24px;
      .@{form-item-prefix-cls} {
        margin-bottom: 14px;
        .@{form-item-prefix-cls}-label label {
          height: 22px;
        }
        .@{form-item-prefix-cls}-control-input {
          min-height: 22px;
        }
      }
    }
    .@{dialog-prefix-cls}-footer {
      padding: 0 24px 10px 24px;
      border-top: none;
      .@{btn-prefix-cls}-sm {
        padding-left: 15px;
        padding-right: 15px;
      }
    }
    // Confirm 调用弹窗样式处理
    > div:first-child {
      &:not(.@{dialog-prefix-cls}-header) {
        padding: 16px 24px;
        .@{dialog-prefix-cls}-confirm-title {
          font-family: @font-family-bold;
          font-size: 16px;
          color: #212529;
          letter-spacing: 0;
          line-height: 24px;
        }
        .@{dialog-prefix-cls}-confirm-btns {
          .@{btn-prefix-cls}-sm {
            padding-left: 15px;
            padding-right: 15px;
          }
        }
      }
    }
  }
}

.custom-modal {
  .dcloud-modal-footer,
  .dcloud-modal-header {
    border: none;
  }
  .dcloud-modal-title {
    font-family: @font-family-bold;
    font-size: 18px;
    color: #212529;
  }
  .dcloud-modal-body {
    padding-top: 0;
    .dcloud-form-item {
      margin-bottom: 14px;
      .dcloud-form-item-label label {
        height: 22px;
      }
      .dcloud-form-item-control-input {
        min-height: 22px;
      }
    }
  }
  .dcloud-modal-footer {
    padding: 20px 36px;
  }
}

.@{drawer-prefix-cls}-extra {
  button {
    width: 60px;
    &.btn-width84 {
      width: 84px;
    }
  }
}

.@{btn-prefix-cls} {
  border-radius: 8px;
  box-shadow: none;
  &-sm {
    border-radius: 6px;
  }
}

// checkbox 补充样式
.@{checkbox-prefix-cls} {
  // &-checked {
  //   .@{checkbox-prefix-cls}-inner {
  //     &::after {
  //       border-width: 1.5px;
  //     }
  //   }
  // }
  &-indeterminate {
    &:not(.@{checkbox-prefix-cls}-disabled) {
      .@{checkbox-prefix-cls}-inner {
        background-color: @primary-color;
        border-color: @primary-color;
        &::after {
          transition: none;
          background-color: #fff;
          height: 2px;
        }
      }
    }
    &.@{checkbox-prefix-cls}-disabled {
      .@{checkbox-prefix-cls}-inner {
        background-color: #eff2f7;
        &::after {
          transition: none;
            background-color: rgba(0, 0, 0, 0.25);
            height: 2px;
        }
      }
    }
  }
}
.@{checkbox-prefix-cls}-wrapper-checked:hover .@{checkbox-prefix-cls}-checked::after {
  border-radius: 4px;
}


.@{ant-prefix}-tabs-nav{
  .@{ant-prefix}-tabs-tab{
    height: 30px;
    line-height: 30px;
    font-size: 16px;
    color: #6D6F72;
    font-family: HelveticaNeue-Medium,PingFangSC-Regular;
  }
  
  .@{ant-prefix}-tabs-tab-active{
    color: #556EE6;
    font-family: @font-family-bold;
  }
  
  .@{ant-prefix}-tabs-tab:hover {
    color: #8097f2 !important;
  }
}

.@{ant-prefix}-tabs-nav::before {
  border-bottom: 1px solid rgba(240, 240, 240, 0) !important;
}

// ! 详情页面自定义样式覆盖
.custom_tabs_class {
  .@{ant-prefix}-tabs-nav {
    margin: 17px 0 20px !important;
  }

  .@{ant-prefix}-tabs-extra-content {
    display: inline-flex;
  }
}

.dd-time-range-module {
  .flx_con {
    .time_title {
      font-weight: bold;
    }
  }
}
// 穿梭框样式覆盖
.@{ant-prefix}-transfer{
  &-list-header{
    padding:12px 0;
    margin: 0 17px;
    font-size: 14px;
    
    &-title-custom{
      font-family: @font-family-bold;
    }

    &-dropdown{
      margin: 0 10px 0 6px !important;
    }
  }
  
  &-list-body{
    font-size: 13px;
    &-search-wrapper{
      padding: 8px 16px;
      .@{ant-prefix}-input-affix-wrapper{
        padding: 3px 11px;
      }
    }
    .@{ant-prefix}-transfer-list-content{
      &-item{
        padding: 5px 25px;
      }
      &-item-checked,&-item-checked:hover{
        background-color: transparent !important;
      }
    }
  }
  
  .@{ant-prefix}-input-number-group-addon {
    border: 0;
  }
  
  &-list {
    flex: 1;
    height: 283px;
    border-radius: 8px;
    overflow: hidden;
    background: #FFFFFF;
    border: 1px solid #CED4DA;
  }
  
  &-operation{
    button{
      border:none;
    }
  }
}

.@{ant-prefix}-btn:not(.@{ant-prefix}-btn-link):not(.@{ant-prefix}-btn-text):not(.quick-entry):not(.add-task){
    font-size: 13px;
    font-family: @font-family;
    padding: 8px 16px;
}


.@{ant-prefix}-btn-sm:not(.@{ant-prefix}-btn-link):not(.@{ant-prefix}-btn-text):not(.quick-entry):not(.add-task){
  padding: 0px 7px;
}

// simple 分页覆盖样式
.@{pagination-prefix-cls}{
  &-simple &-simple-pager {
    input {
      width: 30px;
      background-color: #ECECF6;
      border-radius: 6px;
    }
  }
}


.@{ant-prefix}-empty-img-default{
  width: 100% !important;
}

// message 样式覆盖
.@{message-prefix-cls} {
  &-notice-content {
    padding: 8px 12px;
    font-size: 14px;
    border-radius: 4px;
    background: #fff;
  }
  &-success,
  &-info,
  &-warning,
  &-error,
  &-loading {
    margin: unset;
    padding: unset;
    color: #000;
    border-style: unset;
    border-width: unset;
    border-radius: unset;
  }

  &-success {
    background-color: unset;
    border-color: unset;
  }

  &-info,
  &-loading {
    background-color: unset;
    border-color: unset;
  }

  &-warning {
    background-color: unset;
    border-color: unset;
  }

  &-error {
    background-color: unset;
    border-color: unset;
  }

  .@{iconfont-css-prefix} {
    top: 2px;
    color: unset;
  }
}

// Notification 样式覆盖
.@{notification-prefix-cls} {
  &-notice {
    width: 348px;
    color: #000;
    background-color: #fff;
    border: unset;
    border-radius: 4px;
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.02), 0 4px 6px 6px rgba(0,0,0,0.02), 0 4px 6px 0 rgba(0,0,0,0.06);
    &-message {
      font-family: @font-family-bold;
      font-size: 16px;
      color: #000;
    }
    &-description {
      font-size: 14px;
      color: rgba(0,0,0,0.60);
    }
    &-with-icon &-message {
      font-size: 16px;
      margin-left: 26px;
    }
    &-with-icon &-description {
      font-size: 14px;
      margin-left: 26px;
    }
    &-icon {
      top: 18px;
      font-size: @notification-icon-size;
      line-height: @notification-icon-size;
    }
    .@{iconfont-css-prefix}&-icon {
      color: @notification-content-color !important;
    }
    &-success {
      background-color: #fff;
      border: unset;
    }
    &-warning {
      background-color: #fff;
      border: unset;
    }
    &-error {
      background-color: #fff;
      border: unset;
    }
    &-close {
      color: rgba(0,0,0,0.60);

      &:hover {
        & when not (@theme = dark) {
          color: shade(@white, 30%);
        }
      }
    }
  }
}
