// @import "../_utils.scss";
// @import "./icon.scss";

@media
  screen and
  (-ms-high-contrast: active),
  (-ms-high-contrast: none) {
  /* IE10+ specific styles go here */
  .#{$input-prefix-cls} {
    &-icon {
      cursor: default;
    }
  }
}

.#{$input-prefix-cls} {
  @include input();

  &-type {
    @if $--size-switch == no {
      height: $form-component-height;
    }
  }

  &-wrapper {
    display: inline-block;
    width: 100%;
    position: relative;
    // vertical-align: top;
    vertical-align: $input-wrapper-vertical-align;
  }

  &-icon {
    @if $--size-switch == yes {
      @include computed-height();
      top: 1px;
      padding-left: 0;
    } @else {
      height: $input-height-base;
      line-height: $input-height-base;
      width: $input-icon-width;
    }
    text-align: center;
    color: $icon-color;
    position: absolute;
    right: 0;
    z-index: 3;
    //cursor: default;
    @include theme-font-color($__input-icon_font-color);
  }

  &-hide-icon &-icon {
    display: none;
  }

  &-icon-validate {
    display: none;
  }

  &-icon-normal + & {
    padding-right: $input-icon-normal-padding-right;
  }
  // #554
  &-hide-icon &-icon-normal + & {
    padding-right: $input-padding-horizontal;
  }

  &-wrapper-large &-icon {
    @if $--size-switch == no {
      height: $input-height-large;
      line-height: $input-height-large;
    } @else {
      @include computed-height($--size-height-base + 4);
      padding-left: 0;
    }
    font-size: $font-size-base;
  }

  &-wrapper-small &-icon {
    @if $--size-switch == no {
      height: $input-height-small;
      line-height: $input-height-small;
      width: $input-icon-small-width;
    } @else {
      @include computed-height($--size-height-base - 4);
      padding-left: 0;
    }
    font-size: $font-size-small;

    //+ .@{input-prefix-cls} {
    //    padding-right: 24px;
    //}
  }

  &-left {
    text-align: left;
  }

  &-center {
    text-align: center;
  }

  &-right {
    text-align: right;
  }

  &-tips {
    padding-top: $input-tips-padding-top;

    ul {
      li {
        display: inline-block;
        width: 25%;
        max-width: $input-tips-ul-li-max-width;
        text-align: center;

        @include theme-font-color($__input-tips_font-color);

        div {
          height: $input-tips-ul-li-div-height;
          background: $border-color-base;
          margin-bottom: $input-tips-ul-li-div-margin-bottom;

          @include theme-background-color($__input-tips_background-color);
        }
      }
    }

    &-weak {
      background: $error-color !important;

      @include theme-background-color($__input-tips_weak_background-color, $--important);
    }

    &-general {
      background: $warning-color !important;

      @include theme-background-color($__input-tips_general_background-color, $--important);
    }

    &-complex {
      background: $success-color !important;

      @include theme-background-color($__input-tips_complex_background-color, $--important);
    }
  }

  &-noresize {
    resize: none;
  }

  &-word-limit {
    position: absolute;
    @if $--size-switch == yes {
      bottom: computed-padding-vertical($--size-height-base);
      right: $--size-offset-base;
    } @else {
      bottom: $input-word-limit-bottom;
      right: $input-word-limit-right;
      background: $input-bg;
    }
    color: $input-hint;

    @include theme-font-color($__input-word-limit_font-color);
    @include theme-background-color($__input-word-limit_background-color);
  }
}
// Reset height for textarea
textarea.#{$input-prefix-cls} {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  overflow: auto;
  // 解决 ie 浏览器下 textarea 不换行问题
  white-space: pre-line;
  @if $--size-switch == yes {
    font-size: $--size-font-size-base;
    @include computed-height($--size-height-base);
  } @else {
    font-size: $font-size-small;
    @include structure-font-size($__input-default_font-size, 0);
  }
}

.#{$input-prefix-cls}-group {
  @include input-group("#{$input-prefix-cls}");
}

.#{$form-item-prefix-cls}-error {
  .#{$input-prefix-cls} {
    @include input-error();

    &-icon {
      color: $error-color;

      @include theme-font-color($__input-form-item-icon_error_font-color);
    }
  }
  .#{$input-prefix-cls}-group {
    @include input-group-error();
  }
  .#{$transfer-prefix-cls} {
    .#{$input-prefix-cls} {
      @include input();

      &-icon {
        color: $icon-color;

        @include theme-font-color($__input-form-item-transfer-icon_error_font-color);
      }
    }
  }
}
.#{$form-item-prefix-cls}-changed {
  .#{$input-prefix-cls} {
    @include changed();
  }
}
.#{$form-item-prefix-cls}-validating {
  .#{$input-prefix-cls} {
    &-icon-validate {
      display: inline-block;
    }
    &-icon + .#{$input-prefix-cls} {
      padding-right: $input-icon-validate-padding-right;
    }
  }
}
.#{$editgird-prefix-cls}-cell-error {
  .#{$input-prefix-cls} {
    @include input-error();

    &-icon {
      color: $error-color;

      @include theme-font-color($__input-editgrid-cell-icon_error_font-color);
    }
  }
  .#{$input-prefix-cls}-group {
    @include input-group-error();
  }
  .#{$transfer-prefix-cls} {
    .#{$input-prefix-cls} {
      @include input();

      &-icon {
        color: $icon-color;

        @include theme-font-color($__input-editgrid-cell-transfer-icon_error_font-color);
      }
    }
  }
}
.#{$editgird-prefix-cls}-validating {
  .#{$input-prefix-cls} {
    &-icon-validate {
      display: inline-block;
    }
    &-icon + .#{$input-prefix-cls} {
      padding-right: $input-icon-validate-padding-right;
    }
  }
}
