// @import "../_utils.scss";
// @import "input.scss";
// @import "icon.scss";
// @import "checkbox.scss";
// @import "radio.scss";
// @import "./select-dropdown.scss";

@mixin selectDropDown() {
  width: auto;
  padding: 0;
  white-space: nowrap;
  overflow: visible;

  @include scrollbar;
}
.#{$cascader-prefix-cls} {
  position: relative;
  @if $--size-switch != yes {
    line-height: normal;
  }

  &-loading {
    text-align: center;
    color: #c3cbd6;
    font-size: $font-size-base;
    height: $input-height-base;
    line-height: $input-height-small;
    padding: 4px 0;

    @include theme-font-color($__cascader_loading_font-color);
  }

  &-placeholder {
    line-height: $input-height-base - 2;
    color: #c3cbd6;
    padding-left: 8px;

    @include theme-font-color($__cascader-placeholder_font-color);
    @if $--size-switch == yes {
      @include computed-height($--size-height-base - 2, 0);
      padding-right: 0;
      font-size: $--size-font-size-base;
    } @else {
      height: $input-height-base - 2;
    }
  }


  &.#{$cascader-prefix-cls}-multiple {
    .#{$cascader-prefix-cls}-rel {
      line-height: normal;//修复多选时仅选中一项也会有滚动条的问题 JRESUI-66
      background: #fff;
      border: 1px solid $border-color-base;
      border-radius: $border-radius-small;
      transition: all $transition-time $ease-in-out;
      cursor: pointer;
      overflow: hidden;

      @include theme-background-color($__cascader-multiple-reference_background-color);
      @include theme-border-color($__cascader-multiple-reference_border-color);
      @if $--size-switch == yes {
        @include computed-line-height();
        vertical-align: middle;
        height: $--size-height-base;
      } @else {
        height: $input-height-base;
      }

      &:hover {
        border-color: #54a4ff;

        @include theme-border-color($__cascader-multiple-reference_hover_border-color);
      }
      .#{$cascader-prefix-cls}-tag-wrapper {
        width: 100%;
        padding-right: 25px;
        overflow-y: auto;
        height: 100%;
        @if $--size-switch == yes {
          padding-right: $--size-offset-base + $font-size-base;
        }
        @include scrollbar;
        .#{$css-prefix}tag {
          cursor: inherit;
          position: relative;
          white-space: nowrap;
          max-width: 40%;
          text-overflow: ellipsis;
          height: $form-component-height - 12px;
          line-height: $form-component-height - 12px;
          padding: 0;
          padding-right: 12px;
          padding-left: 2px;
          background: #f5f5f5 !important;
          border: 1px solid $border-color-split !important;

          @include theme-background-color($__cascader-multiple-reference-tag_background-color, $--important);
          @include theme-border-color($__cascader-multiple-reference-tag_border-color, $--important);
          @if $--size-switch == yes {
            $tag-height: 20 + ((($--size-height-base - 20) / 4) - 1) * 2;
            height: $tag-height;
            margin-top: ($--size-height-base - 2 - $tag-height) / 2;
            margin-bottom: ($--size-height-base - 2 - $tag-height) / 2;
            @include computed-line-height();
          } @else {
            margin-left: 8px;
          }
          &>.#{$css-prefix}icon {
            position: absolute;
            right: 0;
          }

          span {
            display: inline-block;
            width: 100%;
          }
        }
      }

      i.offset-left {
        right: $cascader-icon-right-offset;
        @if $--size-switch == yes {
          right: $--size-offset-base + 12;
        }
      }
    }

    &.#{$cascader-prefix-cls}-disabled .#{$cascader-prefix-cls}-rel {
      background-color: #f7f7f7;

      @include theme-background-color($__cascader-multiple-reference_disabled_background-color);

      &:hover {
        border-color: $border-color-base;

        @include theme-border-color($__cascader-multiple-reference_disabled-hover_border-color);
      }
      .#{$css-prefix}tag {
        color: #999;

        @include theme-font-color($__cascader-multiple-reference-tag_disabled_font-color);
        &>.#{$css-prefix}icon {
          @include theme-font-color($__cascader-multiple-reference-tag_disabled_font-color);
        }
      }
    }
    &.#{$cascader-prefix-cls}-readonly .#{$cascader-prefix-cls}-rel {
      background-color: #f7f7f7;

      @include theme-background-color($__cascader-multiple-reference_readonly_background-color);
      .#{$css-prefix}tag {
        &>.#{$css-prefix}icon {
          @include theme-font-color($__cascader-multiple-reference-tag_disabled_font-color);
        }
      }

      &:hover {
        @include theme-border-color($__cascader-multiple-reference_disabled-hover_border-color);
      }
    }
    &.#{$cascader-prefix-cls}-visible {
      .#{$cascader-prefix-cls}-rel {
        border-color: #54a4ff;
        box-shadow: 0 0 0 2px rgba(41, 141, 255, 0.2);

        @include theme-border-color($__cascader-reference_visible_border-color);
        @include theme-box-shadow($__cascader-reference_visible_box-shadow);
      }
    }

    .#{$cascader-prefix-cls}-menu {
      &-item-active {
        @include theme-background-color($__cascader-multiple-menu-item_active_background-color);

        &:hover {
          @include theme-background-color($__cascader-multiple-menu-item_active_background-color);
        }
      }
    }
  }
  &.#{$cascader-prefix-cls}-multiple.#{$cascader-prefix-cls}-size-small &-rel {
    line-height: normal;//修复多选时仅选中一项也会有滚动条的问题 JRESUI-66
    height: $cascader-size-small-line-height;
    @if $--size-switch == yes {
      height: $--size-height-base - 4;
    }
    .#{$cascader-prefix-cls}-placeholder {
      line-height: $cascader-size-small-line-height - 2;
      color: #c3cbd6;
      padding-left: 8px;

      @include theme-font-color($__cascader-placeholder_font-color);
      @if $--size-switch == yes {
        @include custom-line-height($--size-height-base - 6);
        $padding-vertical: computed-padding-vertical($--size-height-base - 6, $--size-font-size-base, 0);
        padding: $padding-vertical 0 $padding-vertical $--size-offset-base;
      } @else {
        height: $input-height-small - 2;
      }
    }
    .#{$css-prefix}tag {
      margin-top: 2px;
      @if $--size-switch == yes {
        $tag-height: if($--size-height-base <= 26, $--size-height-base - 8, 18 + ((($--size-height-base - 20) / 4) - 1) * 2);
        height: $tag-height;
        margin-top: ($--size-height-base - 6 - $tag-height) / 2;
        margin-bottom: ($--size-height-base - 6 - $tag-height) / 2;
        @include computed-line-height();
        @if $--size-height-base <= 26 {
          line-height: $tag-height;
        }
      }
    }
  }

  &.#{$cascader-prefix-cls}-multiple.#{$cascader-prefix-cls}-size-large &-rel {
    line-height: normal;//修复多选时仅选中一项也会有滚动条的问题 JRESUI-66
    height: $cascader-size-large-line-height;
    @if $--size-switch == yes {
      @include computed-line-height();
      height: $--size-height-base + 4;
    }
    .#{$cascader-prefix-cls}-placeholder {
      line-height: $cascader-size-large-line-height - 2;
      color: #c3cbd6;
      padding-left: 8px;

      @include theme-font-color($__cascader-placeholder_font-color);
      @if $--size-switch == yes {
        @include computed-line-height();
        $padding-vertical: computed-padding-vertical($--size-height-base + 2, $--size-font-size-base, 0);
        padding: $padding-vertical 0 $padding-vertical $--size-offset-base;
      } @else {
        height: $input-height-large - 2;
      }
    }
    .#{$css-prefix}tag {
      @if $--size-switch == yes {
        $tag-height: 22 + ((($--size-height-base - 20) / 4) - 1) * 2;
        height: $tag-height;
        margin-top: ($--size-height-base + 2 - $tag-height) / 2;
        margin-bottom: ($--size-height-base + 2 - $tag-height) / 2;
        @include computed-line-height();
      }
    }
  }

  &-rel {
    display: inline-block;
    width: 100%;
    position: relative;
    border-radius: $border-radius-small;
  }

  .#{$css-prefix}input {
    display: block;
    cursor: pointer;
    padding-right: 25px;
    @if $--size-switch == yes {
      padding-right: $--size-offset-base + $font-size-base;
    }
  }
  &-disabled .#{$css-prefix}input, &-disabled &-tag-wrapper {
    cursor: $cursor-disabled;
  }

  &-disabled,
  &-readonly {
    .#{$cascader-prefix-cls}-rel .#{$cascader-prefix-cls}-arrow {
      @include theme-font-color($__cascader-arrow_disabled_font-color);
    }
  }

  .#{$css-prefix}input-readonly {
    color: #495060;
    background: #fff;
    opacity: 1;

    @include placeholder();
    @include theme-font-color($__cascader-input_font-color);
    @include theme-background-color($__cascader-input_background-color);

    &:focus {
      @include theme-border-color($__cascader-input_focus_border-color);
      @include theme-box-shadow($__cascader-input_focus_box-shadow);
    }

    &:hover {
      @include theme-border-color($__cascader-input_hover_border-color);
    }
  }
  &-visible .#{$css-prefix}input-readonly {
    @include theme-border-color($__cascader-reference_visible_border-color);
    @include theme-box-shadow($__cascader-reference_visible_box-shadow);
  }
  &-readonly .#{$css-prefix}input-readonly {
    background: #f7f7f7;

    @include theme-background-color($__cascader-input_readonly_background-color);

    &:focus {
      @include theme-border-color($__cascader-input_readonly_border-color);
      @include theme-box-shadow($__cascader-input_readonly_box-shadow);
    }

    &:hover {
      @include theme-border-color($__cascader-input_readonly_border-color);
    }
  }

  &-label {
    width: 100%;
    height: 100%;
    line-height: $cascader-label-line-height;
    padding: $cascader-label-line-padding;
    box-sizing: border-box;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    cursor: pointer;
    font-size: $font-size-small;
    position: absolute;
    left: 0;
    top: 0;

    @include theme-font-color($__cascader-label_font-color);
    @if $--size-switch == yes {
      font-size: $--size-font-size-base;
      @include computed-height($--size-height-base, 0);
      padding-right: $--size-offset-base + $font-size-base;
    }
  }

  &-size-large &-label {
    line-height: $cascader-size-large-line-height;
    font-size: $font-size-base;
    @if $--size-switch == yes {
      @include computed-line-height();
      font-size: $--size-font-size-base;
      $padding-vertical: computed-padding-vertical($--size-height-base + 4, $--size-font-size-base, 0);
      padding-top: $padding-vertical;
      padding-bottom: $padding-vertical;
    }
  }

  &-size-small &-label {
    line-height: $cascader-size-small-line-height;
    @if $--size-switch == yes {
      @include custom-line-height($--size-height-base - 4);
      $padding-vertical: computed-padding-vertical($--size-height-base - 4, $--size-font-size-base, 0);
      padding-top: $padding-vertical;
      padding-bottom: $padding-vertical;
    }
  }

  .#{$cascader-prefix-cls}-arrow:nth-of-type(1) {
    display: none;
    cursor: pointer;
  }

  &:hover {
    .#{$cascader-prefix-cls}-arrow:nth-of-type(1) {
      display: inline-block;
    }
  }
  &-show-clear:hover .#{$cascader-prefix-cls}-arrow:nth-of-type(2) {
    display: none;
  }

  &-arrow {
    @include inner-arrow();
  }

  &-visible &-arrow:nth-of-type(2) {
    transform: rotate(180deg);
  }

  .#{$select-dropdown-prefix-cls} {
    @include selectDropDown();
  }

  @include select-item($cascader-prefix-cls, $cascader-item-prefix-cls);

  .#{$select-item-prefix-cls} span {
    color: $error-color;

    @include theme-font-color($__cascader-dropdown-item_font-color);
  }

  &-dropdown {
    padding: $cascader-dropdown-padding;
    .#{$select-dropdown-prefix-cls}-list {
      max-height: 190px;
      box-sizing: border-box;
      overflow: auto;

      @include scrollbar;
    }
  }

  &-not-found-tip {
    padding: $cascader-dropdown-padding;
    text-align: center;
    color: $btn-disable-color;

    @include theme-font-color($__cascader-not-found-tip_font-color);

    li:not([class^="h-"]) {
      margin-bottom: 0;
    }
  }
  &-not-found .#{$select-dropdown-prefix-cls} {
    width: inherit;
  }

  &-menu {
    display: inline-block;
    min-width: $cascader-menu-min-width;
    height: $cascader-menu-height;
    margin: $cascader-menu-margin;
    padding: $cascader-menu-padding !important;
    vertical-align: top;
    list-style: none;
    border-right: 1px solid $border-color-split;
    overflow: auto;

    @include theme-border-color($__cascader-menu_border-color);
    @include scrollbar;

    // &:first-child {

    // }

    &:last-child {
      border-right-color: transparent;
      margin-right: -1px;
    }

    // &:only-child {

    // }

    & &-item {
      position: relative;
      // 加！important是为了让item在transfer为true的时候也为24
      // 否则级联内的文本会和右侧的展开箭头层叠在一起
      padding-right: $cascader-item-padding-right !important;
      transition: all $transition-time $ease-in-out;

      &-radio {
        margin-right: 0;

        .#{$radio-prefix-cls} {
          margin-right: 3px;
        }
      }

      i {
        font-size: $font-size-small;
        position: absolute;
        right: $cascader-item-i-right;
        top: 50%;
        margin-top: $cascader-item-i-margin-top;

        @include theme-font-color($__cascader-menu-item_i_font-color);
      }

      &-active {
        background-color: $background-color-select-hover;
        color: $primary-color;

        @include theme-background-color($__cascader-menu-item_active_background-color);
        @include theme-font-color($__cascader-menu-item_active_font-color);

        &:hover {
          @include theme-background-color($__cascader-menu-item_active_background-color);
        }
      }
    }
  }

  & .h-radio-wrapper {
    @if $--size-switch == yes { //需要去除radio的上下padding，否则在最小模式下的单元格会被撑开
      padding: 0;
    } 
  }

  & .h-checkbox-wrapper {
    @if $--size-switch == yes { //需要去除checkbox的上下padding，否则在最小模式下的单元格会被撑开
      padding: 0;
    } 
  }}

.provice-city {
  span span .#{$cascader-prefix-cls}-menu {
    width: 200px;
    overflow: auto;

    @include scrollbar;

    li {
      float: left;
      width: 33% !important;
      clear: none;
    }
  }
}
.#{$cascader-prefix-cls}-transfer {
  z-index: $zindex-transfer;

  @include selectDropDown();
}
.#{$cascader-prefix-cls}-dropdown-transfer {
  // 需求211595 cascader 组件开启transfer 后如果右侧空间不够 点到第三级，展示的内容会自动放到下拉面板下面
  // 主要是少了一部分样式导致的
  z-index: $zindex-transfer;

  @include selectDropDown();
  @include select-item($cascader-prefix-cls, $cascader-item-prefix-cls);

  .#{$select-item-prefix-cls} span {
    color: $error-color;

    @include theme-font-color($__cascader-dropdown-item_font-color);
  }
}

.#{$form-item-prefix-cls}-error {
  .#{$cascader-prefix-cls} {
    &-arrow {
      color: $error-color;

      @include theme-font-color($__cascader-form-item-arrow_error_font-color);
    }
    .#{$css-prefix}input-readonly {
      &:hover {
        @include theme-border-color($__cascader-form-item-input_error-hover_border-color);
      }

      &:focus {
        @include theme-border-color($__cascader-form-item-input_error-hover_border-color);
        @include theme-box-shadow($__cascader-form-item-input_error-focus_box-shadow);
      }
    }
    &-visible .#{$css-prefix}input-readonly {
      @include theme-border-color($__cascader-form-item-input_error-hover_border-color);
      @include theme-box-shadow($__cascader-form-item-input_error-focus_box-shadow);
    }
  }
}
.#{$form-item-prefix-cls}-changed {
  .#{$cascader-prefix-cls} {
    color: $changed-color;

    @include theme-font-color($__cascader-form-item_changed_font-color);
  }
}
