@import '../../style/themes/index';
@import '../../style/mixins/index';
@import '../../button/style/mixin';
@import './mixin';

@search-prefix: ~'@{ant-prefix}-input-search';

.@{search-prefix} {
  .@{ant-prefix}-input {
    &:hover,
    &:focus {
      border-color: @input-hover-border-color;

      + .@{ant-prefix}-input-group-addon .@{search-prefix}-button:not(.@{ant-prefix}-btn-primary) {
        border-inline-start-color: @input-hover-border-color;
      }
    }
  }

  .@{ant-prefix}-input-affix-wrapper {
    border-radius: 0;
  }

  // fix slight height diff in Firefox:
  // https://ant.design/components/auto-complete-cn/#components-auto-complete-demo-certain-category
  .@{ant-prefix}-input-lg {
    line-height: @line-height-base - 0.0002;
  }

  > .@{ant-prefix}-input-group {
    > .@{ant-prefix}-input-group-addon:last-child {
      inset-inline-start: -1px;
      padding: 0;
      border: 0;

      .@{search-prefix}-button {
        padding-top: 0;
        padding-bottom: 0;
        border-start-start-radius: 0;
        border-end-start-radius: 0;
        border-start-end-radius: @border-radius-base;
        border-end-end-radius: @border-radius-base;
      }

      .@{search-prefix}-button:not(.@{ant-prefix}-btn-primary) {
        color: @text-color-secondary;

        &.@{ant-prefix}-btn-loading::before {
          top: 0;
          inset-inline-end: 0;
          bottom: 0;
          inset-inline-start: 0;
        }
      }
    }
  }

  &-button {
    height: @input-height-base;

    &:hover,
    &:focus {
      z-index: 1;
    }
  }

  &-large &-button {
    height: @input-height-lg;
  }

  &-small &-button {
    height: @input-height-sm;
  }

  // ===================== Compact Item Customized Styles =====================
  &.@{input-prefix-cls}-compact-item {
    &:not(.@{input-prefix-cls}-compact-last-item) {
      .@{input-prefix-cls}-group-addon {
        .@{input-prefix-cls}-search-button {
          margin-inline-end: -@border-width-base;
          border-radius: 0;
        }
      }
    }

    &:not(.@{input-prefix-cls}-compact-first-item) {
      .@{input-prefix-cls},
      .@{input-prefix-cls}-affix-wrapper {
        border-radius: 0;
      }
    }

    > .@{input-prefix-cls}-group-addon .@{input-prefix-cls}-search-button,
    > .@{input-prefix-cls},
    .@{input-prefix-cls}-affix-wrapper {
      &:hover,
      &:focus,
      &:active {
        z-index: 2;
      }
    }

    > .@{input-prefix-cls}-affix-wrapper-focused {
      z-index: 2;
    }
  }
}
