@import './token.less';
@import '../../input/style/token.less';

@input-prefix-cls: ~'@{prefix}-input';
@input-number-prefix-cls: ~'@{prefix}-input-number';

.@{input-number-prefix-cls} {
  position: relative;
  box-sizing: border-box;
  //display: inline-block;
  width: 100%;
  border-radius: @input-number-border-radius;

  .transition() {
    transition: all @transition-duration-1 @transition-timing-function-linear;
  }

  &-step-button {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0;
    color: @input-number-step-button-color;
    background-color: @input-number-step-button-color-bg_default;
    cursor: pointer;
    user-select: none;
    .transition();

    &:hover {
      background-color: @input-number-step-button-color-bg_default_hover;
      border-color: $background-color;
    }

    &:active {
      background-color: @input-number-step-button-color-bg_default_active;
      border-color: $background-color;
    }

    &:disabled {
      color: @input-number-step-button-color_disabled;
      cursor: not-allowed;

      &:hover,
      &:active {
        border-color: @input-number-step-button-color-border;
      }
    }
  }

  &-prefix,
  &-suffix {
    .transition();
  }

  // embed mode
  &-mode-embed {
    .@{input-number-prefix-cls}-step {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      width: 30px;
      overflow: hidden;
      border-radius: @input-number-step-layer-border-radius;
      opacity: 0;
      .transition();

      .@{input-number-prefix-cls}-step-button {
        width: 100%;
        height: 50%;
        margin: 0;
        padding: 0;
        font-size: 10px;
        border: 1px solid @input-number-step-button-color-border; //自定义边框
        outline: none;

        &:last-child {
          border-color: @input-number-step-button-color-border;
        }

        // &:hover {
        //   color: @input-number-step-button-hover-color;
        // }
      }
    }

    .@{input-prefix-cls}-suffix {
      min-width: 10px;
    }

    &:not(.@{input-prefix-cls}-outer-disabled):hover
      .@{input-number-prefix-cls}-step {
      opacity: 1;

      & ~ .@{input-prefix-cls}-suffix {
        opacity: 0;
        pointer-events: none;
      }
    }

    // 修正 InputNumber 未激活 hover 时 StepButton 的 hover 背景色
    &.@{input-prefix-cls}-wrapper:not(.@{input-prefix-cls}-focus) {
      .@{input-number-prefix-cls}-step-button:not(.@{input-number-prefix-cls}-step-button-disabled):hover {
        background-color: @input-number-step-button-color-bg_default_active;
      }
    }

    &.@{input-prefix-cls}-disabled {
      .@{input-number-prefix-cls}-step-button {
        background-color: @input-number-step-button-color-bg_disabled;

        &:active,
        &:hover {
          color: @input-number-step-button-color_disabled;
        }
      }
    }
  }

  // button mode
  &-mode-button {
    .@{input-prefix-cls} {
      text-align: center;

      &-prepend,
      &-append {
        padding: 0;
        border: none;
      }

      &-prepend .@{input-number-prefix-cls}-step-button {
        border-right: 0;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
      }

      &-append .@{input-number-prefix-cls}-step-button {
        border-left: 0;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
      }
    }
  }
}
