@import '../default/var';
.#{$prefix}-input {
    display: inline-block;
    position: relative;
    width: 100%;
    border: solid 1px $input-color-border;
    border-radius: 2px;
    vertical-align: top;
    &--group {
        display: inline-table;
        line-height: 1;
        vertical-align: top;
        .#{$prefix}-input__origin {
            display: table-cell;
        }
    }
    &:-ms-clear {
        display: none;
        width: 0;
        height: 0
    }
    @at-root ::placeholder {
        color: $input-color-placeholder;
    }
    &__range {
        display: flex;
    }
    &__origin {
        border-radius: 2px;
        vertical-align: top;
        // border: solid 1px $input-color-border;
        border: none;
        padding: 0 10px;
        outline: none;
        width: 100%;
        color: $input-color-fore;
        box-sizing: border-box;
        transition: border-color .3s;
        &--prefix {
            padding-left: 30px;
        }
        &--suffix {
            padding-right: 30px;
        }
        &--prepend {
            padding-left: 30px;
            border-top-left-radius: 0;
            border-bottom-left-radius: 0;
        }
        &--append {
            padding-right: 30px;
            border-top-right-radius: 0;
            border-bottom-right-radius: 0;
        }
        &::-webkit-outer-spin-button,
        &::-webkit-inner-spin-button {
            -webkit-appearance: none;
        }
        &[type="number"] {
            -moz-appearance: textfield;
        }
    }
    &--prefix {
        padding-left: 25px;
    }
    &--suffix {
        padding-right: 25px;
    }
    &__prepend,
    &__append {
        display: table-cell;
        padding: 0 15px;
        background-color: #f5f7fa;
        color: #909399;
        vertical-align: middle;
        display: table-cell;
        position: relative;
        border-radius: 4px;
        padding: 0 20px;
        width: 1px;
        white-space: nowrap;
    }
    &__prepend {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    &__append {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
    &:not(.is-disabled) {
        &.is-error {
            border-color: $input-color-border-error;
        }
        &:not(.is-error) {
            &:hover {
                border-color: $input-color-border-hover;
                box-shadow: 0 0 6px 1px $input-color-shadow-hover;
            }
            &:focus,
            &:active {
                border-color: $input-color-border-hover;
            }
        }
    }
    &.is-disabled {
        background-color: $input-color-disabled-back;
        color: $input-color-disabled-fore;
        .#{$prefix}-input__origin {
            background-color: $input-color-disabled-back;
            color: $input-color-disabled-fore;
            cursor: not-allowed;
        }
    }
    &__prefix,
    &__suffix,
    &__origin,
    &__range {
        @each $size in large,
        medium,
        small,
        mini {
            @at-root .#{$prefix}-input--#{$size} & {
                font-size: map-get($form-font-sizes, $size);
                min-height: map-get($form-sizes, $size) - 2px;
                height: map-get($form-sizes, $size) - 2px;
                line-height: map-get($form-sizes, $size) - 2px;
                .#{$prefix}-input__icon {
                    line-height: map-get($form-sizes, $size) - 2px;
                }
            }
        }
    }
    &__prefix,
    &__suffix {
        width: 25px;
        position: absolute;
        text-align: center;
        color: $input-color-icon;
        top: 50%;
        transform: translate(0, -50%);
    }
    &__prefix {
        left: 5px;
    }
    &__suffix {
        right: 5px;
    }
    &__action {
        cursor: pointer;
    }
}