@charset "UTF-8";
@import "../../style/function";

$dropdownBg: #fff !default;

.im-dropdown {
  background: $dropdownBg;
  cursor: pointer;
  display: inline-block;
  position: relative;
  vertical-align: middle;

  &-wrap {
    &:hover {
      border-color: $colorBorderHover;
    }

    border: 1px solid $colorBorder;
    display: block;
    box-sizing: content-box;
    height: $formEleHeight + 8px;
    line-height: 30px;
    overflow: hidden;
    padding: 0 9px;
    position: relative;
    white-space: nowrap;

    &-text {
      // display: inline-block;
      // height: $formEleHeight;
      width: 100%;
      min-width: 20px;
      border: 0;
      box-sizing: border-box;
      font-size: 14px;
      outline: none;
      padding: 0;

      &-placeholder {
        color: $colorPlaceholder;
      }
    }

    &-input {
      vertical-align: top;
      line-height: inherit;
      height: inherit; // fix: IE placeholder由于高度显示不全
    }

    &-loading {
      border: 0;
      box-sizing: border-box;
      width: 100%;
      // height: 20px;
      margin: 0;
      outline: none;
      padding: 0;
      text-align: center;

      &-icon {
        margin: auto;
        width: $formEleHeight;
        height: $formEleHeight;
        display: inline-block;
        vertical-align: middle;
        background-image: url("../../style/image/loading.gif");
        background-size: 100%;
      }
    }

    &-arrow-icon {
      position: absolute;
      top: 12px;
      right: 10px;
      font-size: 0;
      @include triangle(bottom, $borderColor: $colorPlaceholder);
    }

    .clean-icon {
      $size: 14px;
      width: $size;
      height: $size;
      position: absolute;
      top: 5px;
      right: 20px;
      color: $colorPlaceholder;
      font-size: $size;
      margin: 3px;

      &:hover {
        color: $colorText;
      }
    }

    &.disabled {
      border-color: $colorBorder !important;
      color: $colorPlaceholder;
      cursor: default;

      .im-icon {
        color: $colorPlaceholder;
      }
    }
  }

  &-dropdown {
    background: $dropdownBg;
    border: 1px solid $colorBorder;
    border-top: 0;
    box-sizing: border-box;
    display: none;
    left: 0;
    margin-top: -1px;
    overflow: hidden;
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: $zIndexOverlay;

    &-list {
      max-height: 300px;
      overflow-y: auto;
      list-style: none;
      margin: 0;
      padding: 0;
    }

    &-group {
      &-title {
        color: map-get($colorDisabled, text);
        cursor: default;
        padding-left: 10px;
        font-size: 12px;
        min-height: 30px;
        line-height: 30px;
        border-top: 1px solid $colorBorder;
      }
    }

    &-group &-option {
      padding-left: 20px;
    }

    &-option {
      background: $dropdownBg;
      border-top: 1px solid $colorBorder;
      cursor: pointer;
      min-height: 30px;
      line-height: 30px;
      padding: 0 9px;
      position: relative;
      overflow: hidden;
      word-break: break-all;
      white-space: nowrap;

      &:hover {
        background: $colorF;
      }

      &.selected, &.disabled {
        color: map-get($colorDisabled, text);
        cursor: default;
        background-color: $dropdownBg;
      }

      .selected-icon {
        position: absolute;
        right: 5px;
        top: 5px;
      }
    }
  }

  &-infinite-option-item {
    &_empty, &_loading {
      text-align: center;
    }

  }
}
