@import "mixins/mixins";
@import "common/var";
@import "./popper";
@import "./tag";

@include b(cascader) {
  display: inline-block;
  position: relative;
  font-size: $--font-size-base;

  &:not(.is-disabled):hover {
    .xb-input__inner {
      cursor: pointer;
    }
  }

  .xb-input {
    cursor: pointer;

    .xb-input__inner {
      text-overflow: ellipsis;
    }

    .xb_icon_down_facet {
      transition: transform .3s;
      font-size: 14px;

      @include when(reverse) {
        transform: rotateZ(-180deg);
      }
    }

    @include when(focus) {
      .xb-input__inner {
        @include theme-border-color;
      }
    }
  }

  @include when(disabled) {
    .xb-cascader__label {
      z-index: #{$--index-normal + 1};
      color: $--color-text-disabled;
    }
  }

  @include e(dropdown) {
    margin: 5px 0;
    font-size: $--font-size-base;
    background: #ffffff;
    border:1px solid $--cascader-menu-border-color;
    border-radius: $--cascader-menu-radius;
    box-shadow:0px 2px 12px 0px rgba(0,0,0,0.06);
  }

  @include e(tags) {
    position: absolute;
    left: 0;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-wrap: wrap;
    line-height: normal;
    text-align: left;
    box-sizing: border-box;

    .xb-tag {
      display: inline-flex;
      align-items: center;
      max-width: 100%;
      margin: 2px 0 2px 6px;
      text-overflow: ellipsis;
      background: red;

      &:not(.is-hit) {
        border-color: transparent;
      }

      > span {
        flex: 1;
        overflow: hidden;
        text-overflow: ellipsis;
      }

      .xb-icon-close {
        flex: none;
        background-color: $--input-placeholder-color;
        color: $--color-white;

        &:hover {
          background-color: $--color-text-secondary;
        }
      }
    }
  }

  @include e(suggestion-panel) {
    border-radius: $--cascader-menu-radius;
  }

  @include e(suggestion-list) {
    max-height: 204px;
    margin: 0;
    padding: 6px 0;
    font-size: $--font-size-base;
    color: $--cascader-menu-font-color;
    text-align: center;
  }

  @include e(suggestion-item) {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 34px;
    padding: 0 15px;
    text-align: left;
    outline: none;
    cursor: pointer;

    &:hover, &:focus {
      background: red;
    }

    &.is-checked {
      color: red;
      font-weight: $--font-weight-base;
    }

    > span {
      margin-right: 10px;
    }
  }

  @include e(empty-text) {
    margin: 10px 0;
    color: red;
  }

  @include e(search-input) {
    flex: 1;
    height: 24px;
    min-width: 60px;
    margin: 2px 0 2px 15px;
    padding: 0;
    color: $--cascader-menu-font-color;
    border: none;
    outline: none;
    box-sizing: border-box;

    &::placeholder {
      color: $--input-placeholder-color;
    }
  }
}
