@import "mixins/mixins";
@import "common/var";
@import "input";

@include b(tree-select) {
  display: inline-block;
  vertical-align: bottom;
  position: relative;
  width: 100%;
  // 消除文本距离
  font-size: 0;
  line-height: $--input-height;
  &:hover {
    .el-input__inner{
      border-color: $--color-primary;
    }
    .el-input__icon{
      color: $--input-icon-hover-color;
    }
  }
  .el-input,
  .el-input__inner {
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    &.is-disabled {
      .el-input__inner {
        background-color: $--input-disabled-fill;
        border-color: $--input-disabled-border;
        color: $--input-disabled-color;
        cursor: not-allowed;
      }
      &:hover{
        .el-input__inner {
          border-color: $--input-disabled-border;
        }
        .el-input__icon{
          color: $--input-disabled-color;
        }
      }
    }
  }

  .el-icon-arrow-down {
    transition: transform .3s;
    font-size: 10px;

    @include when(reverse) {
      transform: rotateZ(180deg);
    }
  }

  .el-icon-circle-close {
    z-index: #{$--index-normal + 1};
    transition: $--color-transition-base;
  }

  @include m(medium) {
    font-size: $--input-medium-font-size;
    line-height: $--input-medium-height;
  }

  @include m(small) {
    font-size: $--input-small-font-size;
    line-height: $--input-small-height;
  }

  @include m(mini) {
    font-size: $--input-mini-font-size;
    line-height: $--input-mini-height;
  }

  @include e(input) {
    border: none;
    outline: none;
    padding: 0;
    margin-left: 10px;
    font-size: 14px;
    color: $--color-text-primary;
    appearance: none;
    height: 28px;
    width: 100%;
    &::placeholder {
      color: $--input-placeholder-color;
    }
  }

  .el-select-tree__tags-wrapper{
    display: contents;
    .el-tree-select__tags-text{
      display: inline-block;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      em {
        font-style: normal;
      }
    }
  }

  @include e(tags) {
    position: absolute;
    line-height: normal;
    white-space: normal;
    z-index: $--index-normal;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    & > span {
      display: inline-block;
    }
    .is-disabled{
      color: $--color-text-placeholder;
      cursor: not-allowed;
    }
  }
  .el-tree-select-text{
    width: 100%;
    margin-left: 15px;
    color: $--select-multiple-input-color;
    font-size: $--select-font-size;
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    span:after{
      content: ',';
      margin:0 3px;
    }
    span:last-child:after{
      content: ''
    }
  }
  .tag-num{
    vertical-align: top;
  }
  .el-tag {
    box-sizing: border-box;
    margin: 2px 0 2px 6px;
    @include m(small){
      height: 24px;
      line-height: 24px;
    }
    @include m(mini){
      height: 20px;
      line-height: 20px;
    }
    .el-tag__close.el-icon-close {
      top: -9px;
      right: -7px;

      &::before {
        display: block;
        transform: translate(0, .5px);
      }
    }
  }
  @include e(header) {
    border-bottom: 1px solid $--border-color-base;
    padding: 10px;
  }
  @include e(extend) {
    border-top: 1px solid $--border-color-base;
    padding: 10px;
  }
}

@include b(tree-select-dropdown) {
  border: $--border-base;
  border-radius: $--border-radius-base;
  background-color: $--select-dropdown-background;
  box-shadow: $--select-dropdown-shadow;
  @include e(wrap){
    max-height: 274px;
  }
  .el-tree {
    padding: 6px 0;
    &.tree-show-checkbox{
      .is-checked {
        &::after{
          display: none;
        }
        & ~ .el-tree-node__label{
          color: $--color-primary;
        }
      }
    }
    .el-tree-node{
      position: relative;
    }
    .is-select{
      color: $--color-primary;
      &::after{
        font-size: 12px;
        position: absolute;
        right: 10px;
        top: 10px;
        font-family: 'element-icons' !important;
        font-style: normal;
        font-weight: 700;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        vertical-align: baseline;
        display: inline-block;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: "\e7f0";
      }
      &:hover .el-tree-node__content{
        color: $--color-primary;
      }
    }
    .el-tree-node__expand-icon{
      margin-left: 6px;
    }
    .el-tree-node__label{
      width: calc(100% - 60px);
      display: inline-block;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .el-tree__empty-block{
      padding: 0;
    }
  }
}

@include b(tree-select-overlay) {
  position: relative;
  padding:2px 0;
  box-sizing: border-box;
  border-bottom: 1px solid $--border-color-base;
  &::after{
    position: absolute;
    right: 10px;
    top: 10px;
    font-size: 14px;
    color: #666666;
    font-family: "element-icons";
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    content: "\e811";
  }
  .el-tree-select__input{
    font-size: 14px;
    box-sizing: border-box;
    margin-left: 10px;
    width: calc(100% - 40px);
  }
  &.is-medium{
    .el-tree-select__input{
      height: 24px;
    }
  }
  &.is-small{
    .el-tree-select__input{
      font-size: 12px;
      height: 22px;
    }
  }
  &.is-mini{
    .el-tree-select__input{
      font-size: 12px;
      height: 22px;
    }
    &::after{
      top: 9px;
    }
  }
}