315 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			315 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
@import '../../style/themes/index';
 | 
						|
@import '../../style/mixins/index';
 | 
						|
@import '../../input/style/mixin';
 | 
						|
 | 
						|
@import './single';
 | 
						|
@import './multiple';
 | 
						|
 | 
						|
@select-prefix-cls: ~'@{ant-prefix}-select';
 | 
						|
@select-height-without-border: @input-height-base - 2 * @border-width-base;
 | 
						|
@select-dropdown-edge-child-vertical-padding: @dropdown-edge-child-vertical-padding;
 | 
						|
 | 
						|
.select-selector() {
 | 
						|
  position: relative;
 | 
						|
  background-color: @select-background;
 | 
						|
  border: @border-width-base @border-style-base @select-border-color;
 | 
						|
  border-radius: @border-radius-base;
 | 
						|
  transition: all 0.3s @ease-in-out;
 | 
						|
 | 
						|
  input {
 | 
						|
    cursor: pointer;
 | 
						|
  }
 | 
						|
 | 
						|
  .@{select-prefix-cls}-show-search& {
 | 
						|
    cursor: text;
 | 
						|
 | 
						|
    input {
 | 
						|
      cursor: auto;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  .@{select-prefix-cls}-focused:not(.@{select-prefix-cls}-disabled)& {
 | 
						|
    .active();
 | 
						|
  }
 | 
						|
 | 
						|
  .@{select-prefix-cls}-disabled& {
 | 
						|
    color: @disabled-color;
 | 
						|
    background: @input-disabled-bg;
 | 
						|
    cursor: not-allowed;
 | 
						|
 | 
						|
    .@{select-prefix-cls}-multiple& {
 | 
						|
      background: @select-multiple-disabled-background;
 | 
						|
    }
 | 
						|
 | 
						|
    input {
 | 
						|
      cursor: not-allowed;
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
/* Reset search input style */
 | 
						|
.select-search-input-without-border() {
 | 
						|
  .@{select-prefix-cls}-selection-search-input {
 | 
						|
    margin: 0;
 | 
						|
    padding: 0;
 | 
						|
    background: transparent;
 | 
						|
    border: none;
 | 
						|
    outline: none;
 | 
						|
    appearance: none;
 | 
						|
 | 
						|
    &::-webkit-search-cancel-button {
 | 
						|
      display: none;
 | 
						|
      -webkit-appearance: none;
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.@{select-prefix-cls} {
 | 
						|
  .reset-component();
 | 
						|
  position: relative;
 | 
						|
  display: inline-block;
 | 
						|
  cursor: pointer;
 | 
						|
 | 
						|
  &:not(&-customize-input) &-selector {
 | 
						|
    .select-selector();
 | 
						|
    .select-search-input-without-border();
 | 
						|
  }
 | 
						|
 | 
						|
  &:not(&-disabled):hover &-selector {
 | 
						|
    .hover();
 | 
						|
  }
 | 
						|
 | 
						|
  // ======================== Selection ========================
 | 
						|
  &-selection-item {
 | 
						|
    flex: 1;
 | 
						|
    overflow: hidden;
 | 
						|
    white-space: nowrap;
 | 
						|
    text-overflow: ellipsis;
 | 
						|
 | 
						|
    // IE11 css hack. `*::-ms-backdrop,` is a must have
 | 
						|
    @media all and (-ms-high-contrast: none) {
 | 
						|
      *::-ms-backdrop,
 | 
						|
      & {
 | 
						|
        flex: auto;
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  // ======================= Placeholder =======================
 | 
						|
  &-selection-placeholder {
 | 
						|
    flex: 1;
 | 
						|
    overflow: hidden;
 | 
						|
    color: @input-placeholder-color;
 | 
						|
    white-space: nowrap;
 | 
						|
    text-overflow: ellipsis;
 | 
						|
    pointer-events: none;
 | 
						|
 | 
						|
    // IE11 css hack. `*::-ms-backdrop,` is a must have
 | 
						|
    @media all and (-ms-high-contrast: none) {
 | 
						|
      *::-ms-backdrop,
 | 
						|
      & {
 | 
						|
        flex: auto;
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  // ========================== Arrow ==========================
 | 
						|
  &-arrow {
 | 
						|
    .iconfont-mixin();
 | 
						|
    position: absolute;
 | 
						|
    top: 53%;
 | 
						|
    right: @control-padding-horizontal - 1px;
 | 
						|
    width: @font-size-sm;
 | 
						|
    height: @font-size-sm;
 | 
						|
    margin-top: (-@font-size-sm / 2);
 | 
						|
    color: @disabled-color;
 | 
						|
    font-size: @font-size-sm;
 | 
						|
    line-height: 1;
 | 
						|
    text-align: center;
 | 
						|
    pointer-events: none;
 | 
						|
 | 
						|
    .@{iconfont-css-prefix} {
 | 
						|
      vertical-align: top;
 | 
						|
      transition: transform 0.3s;
 | 
						|
 | 
						|
      > svg {
 | 
						|
        vertical-align: top;
 | 
						|
      }
 | 
						|
 | 
						|
      &:not(.@{select-prefix-cls}-suffix) {
 | 
						|
        pointer-events: auto;
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    .@{select-prefix-cls}-disabled & {
 | 
						|
      cursor: not-allowed;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  // ========================== Clear ==========================
 | 
						|
  &-clear {
 | 
						|
    position: absolute;
 | 
						|
    top: 50%;
 | 
						|
    right: @control-padding-horizontal - 1px;
 | 
						|
    z-index: 1;
 | 
						|
    display: inline-block;
 | 
						|
    width: @font-size-sm;
 | 
						|
    height: @font-size-sm;
 | 
						|
    margin-top: (-@font-size-sm / 2);
 | 
						|
    color: @disabled-color;
 | 
						|
    font-size: @font-size-sm;
 | 
						|
    font-style: normal;
 | 
						|
    line-height: 1;
 | 
						|
    text-align: center;
 | 
						|
    text-transform: none;
 | 
						|
    background: @select-clear-background;
 | 
						|
    cursor: pointer;
 | 
						|
    opacity: 0;
 | 
						|
    transition: color 0.3s ease, opacity 0.15s ease;
 | 
						|
    text-rendering: auto;
 | 
						|
    &::before {
 | 
						|
      display: block;
 | 
						|
    }
 | 
						|
    &:hover {
 | 
						|
      color: @text-color-secondary;
 | 
						|
    }
 | 
						|
 | 
						|
    .@{select-prefix-cls}:hover & {
 | 
						|
      opacity: 1;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  // ========================== Popup ==========================
 | 
						|
  &-dropdown {
 | 
						|
    .reset-component();
 | 
						|
    position: absolute;
 | 
						|
    top: -9999px;
 | 
						|
    left: -9999px;
 | 
						|
    z-index: @zindex-dropdown;
 | 
						|
    box-sizing: border-box;
 | 
						|
    padding: @select-dropdown-edge-child-vertical-padding 0;
 | 
						|
    overflow: hidden;
 | 
						|
    font-size: @font-size-base;
 | 
						|
    // Fix select render lag of long text in chrome
 | 
						|
    // https://github.com/ant-design/ant-design/issues/11456
 | 
						|
    // https://github.com/ant-design/ant-design/issues/11843
 | 
						|
    font-variant: initial;
 | 
						|
    background-color: @select-dropdown-bg;
 | 
						|
    border-radius: @border-radius-base;
 | 
						|
    outline: none;
 | 
						|
    box-shadow: @box-shadow-base;
 | 
						|
 | 
						|
    &.@{ant-prefix}-slide-up-enter.@{ant-prefix}-slide-up-enter-active&-placement-bottomLeft,
 | 
						|
    &.@{ant-prefix}-slide-up-appear.@{ant-prefix}-slide-up-appear-active&-placement-bottomLeft {
 | 
						|
      animation-name: antSlideUpIn;
 | 
						|
    }
 | 
						|
 | 
						|
    &.@{ant-prefix}-slide-up-enter.@{ant-prefix}-slide-up-enter-active&-placement-topLeft,
 | 
						|
    &.@{ant-prefix}-slide-up-appear.@{ant-prefix}-slide-up-appear-active&-placement-topLeft {
 | 
						|
      animation-name: antSlideDownIn;
 | 
						|
    }
 | 
						|
 | 
						|
    &.@{ant-prefix}-slide-up-leave.@{ant-prefix}-slide-up-leave-active&-placement-bottomLeft {
 | 
						|
      animation-name: antSlideUpOut;
 | 
						|
    }
 | 
						|
 | 
						|
    &.@{ant-prefix}-slide-up-leave.@{ant-prefix}-slide-up-leave-active&-placement-topLeft {
 | 
						|
      animation-name: antSlideDownOut;
 | 
						|
    }
 | 
						|
 | 
						|
    &-hidden {
 | 
						|
      display: none;
 | 
						|
    }
 | 
						|
 | 
						|
    &-empty {
 | 
						|
      color: @disabled-color;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  // ========================= Options =========================
 | 
						|
  .item() {
 | 
						|
    position: relative;
 | 
						|
    display: block;
 | 
						|
    min-height: @select-dropdown-height;
 | 
						|
    padding: @select-dropdown-vertical-padding @control-padding-horizontal;
 | 
						|
    color: @text-color;
 | 
						|
    font-weight: normal;
 | 
						|
    font-size: @select-dropdown-font-size;
 | 
						|
    line-height: @select-dropdown-line-height;
 | 
						|
  }
 | 
						|
 | 
						|
  &-item-empty {
 | 
						|
    .item();
 | 
						|
    color: @disabled-color;
 | 
						|
  }
 | 
						|
 | 
						|
  &-item {
 | 
						|
    .item();
 | 
						|
 | 
						|
    cursor: pointer;
 | 
						|
    transition: background 0.3s ease;
 | 
						|
 | 
						|
    // =========== Group ============
 | 
						|
    &-group {
 | 
						|
      color: @text-color-secondary;
 | 
						|
      font-size: @font-size-sm;
 | 
						|
      cursor: default;
 | 
						|
    }
 | 
						|
 | 
						|
    // =========== Option ===========
 | 
						|
    &-option {
 | 
						|
      display: flex;
 | 
						|
 | 
						|
      &-content {
 | 
						|
        flex: auto;
 | 
						|
        overflow: hidden;
 | 
						|
        white-space: nowrap;
 | 
						|
        text-overflow: ellipsis;
 | 
						|
      }
 | 
						|
 | 
						|
      &-state {
 | 
						|
        flex: none;
 | 
						|
      }
 | 
						|
 | 
						|
      &-active:not(&-disabled) {
 | 
						|
        background-color: @select-item-active-bg;
 | 
						|
      }
 | 
						|
 | 
						|
      &-selected:not(&-disabled) {
 | 
						|
        color: @select-item-selected-color;
 | 
						|
        font-weight: @select-item-selected-font-weight;
 | 
						|
        background-color: @select-item-selected-bg;
 | 
						|
 | 
						|
        .@{select-prefix-cls}-item-option-state {
 | 
						|
          color: @primary-color;
 | 
						|
        }
 | 
						|
      }
 | 
						|
 | 
						|
      &-disabled {
 | 
						|
        color: @disabled-color;
 | 
						|
        cursor: not-allowed;
 | 
						|
      }
 | 
						|
 | 
						|
      &-grouped {
 | 
						|
        padding-left: @control-padding-horizontal * 2;
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  // ============================================================
 | 
						|
  // ==                          Size                          ==
 | 
						|
  // ============================================================
 | 
						|
  &-lg {
 | 
						|
    font-size: @font-size-lg;
 | 
						|
  }
 | 
						|
 | 
						|
  // no border style
 | 
						|
  &-borderless &-selector {
 | 
						|
    background-color: transparent !important;
 | 
						|
    border-color: transparent !important;
 | 
						|
    box-shadow: none !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
@import './rtl';
 |