@use "sass:list"; @use '../helpers/baseMixin.scss'; .vxe-number-input--readonly { color: var(--vxe-ui-font-color); display: inline-flex; } .vxe-number-input--input-inner { flex-grow: 1; overflow: hidden; } .vxe-number-input--input { display: block; width: 100%; height: 100%; outline: 0; margin: 0; font-size: inherit; font-family: inherit; line-height: inherit; padding: 0 0.5em; color: var(--vxe-ui-font-color); border: 0; border-radius: var(--vxe-ui-base-border-radius); background-color: var(--vxe-ui-layout-background-color); box-shadow: none; &::placeholder { color: var(--vxe-ui-input-placeholder-color); } &::-webkit-autofill { background-color: var(--vxe-ui-layout-background-color); } &[type="number"] { appearance: none; -moz-appearance: textfield; } &[type="number"]::-webkit-outer-spin-button, &[type="number"]::-webkit-inner-spin-button { appearance: none; } &[disabled] { cursor: not-allowed; color: var(--vxe-ui-font-disabled-color); background-color: var(--vxe-ui-input-disabled-background-color); } } .vxe-number-input--input-wrapper { display: flex; flex-grow: 1; overflow: hidden; } // 禁用 .vxe-number-input { &.is--disabled { background-color: var(--vxe-ui-input-disabled-background-color); .vxe-number-input--prefix, .vxe-number-input--suffix, .vxe-number-input--clear-icon { cursor: not-allowed; } .vxe-number-input--prefix, .vxe-number-input--suffix { background-color: var(--vxe-ui-input-disabled-background-color); } } } // 图标 .vxe-number-input { display: inline-flex; flex-direction: row; position: relative; border-radius: var(--vxe-ui-base-border-radius); width: 180px; border: 1px solid var(--vxe-ui-input-border-color); &.is--active { border: 1px solid var(--vxe-ui-font-primary-color); } &.show--clear { &:hover { .vxe-number-input--clear-icon { display: block; } } } } .vxe-number-input--prefix, .vxe-number-input--suffix { display: flex; flex-direction: row; align-items: center; flex-shrink: 0; background-color: var(--vxe-ui-layout-background-color); } .vxe-number-input--prefix-icon { padding-left: 0.5em; } .vxe-number-input--clear-icon, .vxe-number-input--suffix-icon { padding-right: 0.5em; } .vxe-number-input--clear-icon { height: 100%; color: var(--vxe-ui-input-placeholder-color); cursor: pointer; } .vxe-number-input--clear-icon { display: none; &:hover { color: var(--vxe-ui-font-color); } &:active { color: var(--vxe-ui-font-primary-color); } } // 统计字数 .vxe-number-input--count { flex-shrink: 0; color: var(--vxe-ui-input-count-color); background-color: var(--vxe-ui-layout-background-color); padding-right: 0.6em; &.is--error { color: var(--vxe-ui-input-count-error-color); } } // 对齐方式 .vxe-number-input { &.is--left { .vxe-number-input--input { text-align: left; } } &.is--center { .vxe-number-input--input { text-align: center; } } &.is--right { .vxe-number-input--input { text-align: right; } } } // 控制按钮 .vxe-number-input--minus-btn, .vxe-number-input--plus-btn { border: 0; outline: 0; width: 3em; flex-shrink: 0; font-family: inherit; color: var(--vxe-ui-font-color); user-select: none; appearance: none; cursor: pointer; background-color: var(--vxe-ui-number-input-control-button-color); transform: scale(1); @include baseMixin.createAnimationTransition(transform, 0.1s); &:focus, &:hover { color: var(--vxe-ui-font-primary-color); } &:active { transform: scale(0.9); } &.is--disabled { cursor: not-allowed; color: var(--vxe-ui-font-disabled-color); } } .vxe-number-input--side-control { display: inline-flex; flex-direction: column; flex-shrink: 0; height: 100%; & > .vxe-number-input--plus-btn { border-bottom: 1px solid var(--vxe-ui-input-border-color); } & > .vxe-number-input--minus-btn, & > .vxe-number-input--plus-btn { display: flex; align-items: center; justify-content: center; height: 50%; i { font-size: 0.72em; } } } .vxe-number-input { &.control-left { .vxe-number-input--side-control { border-right: 1px solid var(--vxe-ui-input-border-color); & > .vxe-number-input--plus-btn { border-radius: var(--vxe-ui-base-border-radius) 0 0 0; } & > .vxe-number-input--minus-btn { border-radius: 0 0 0 var(--vxe-ui-base-border-radius); } } } &.control-right { .vxe-number-input--side-control { border-left: 1px solid var(--vxe-ui-input-border-color); & > .vxe-number-input--plus-btn { border-radius: 0 var(--vxe-ui-base-border-radius) 0 0; } & > .vxe-number-input--minus-btn { border-radius: 0 0 var(--vxe-ui-base-border-radius) 0; } } } & > .vxe-number-input--minus-btn, & > .vxe-number-input--plus-btn { height: 100%; font-size: 0.84em; } & > .vxe-number-input--minus-btn { border-right: 1px solid var(--vxe-ui-input-border-color); border-radius: var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius); } & > .vxe-number-input--plus-btn { border-left: 1px solid var(--vxe-ui-input-border-color); border-radius: 0 var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0; } } .vxe-number-input { font-size: var(--vxe-ui-font-size-default); height: var(--vxe-ui-input-height-default); line-height: var(--vxe-ui-input-height-default); .vxe-number-input--input { &[type="number"]::-webkit-inner-spin-button { height: 24px; } } &.size--medium { font-size: var(--vxe-ui-font-size-medium); height: var(--vxe-ui-input-height-medium); line-height: var(--vxe-ui-input-height-medium); } &.size--small { font-size: var(--vxe-ui-font-size-small); height: var(--vxe-ui-input-height-small); line-height: var(--vxe-ui-input-height-small); } &.size--mini { font-size: var(--vxe-ui-font-size-mini); height: var(--vxe-ui-input-height-mini); line-height: var(--vxe-ui-input-height-mini); } }