@use 'sass:selector' @use '../../styles/tools' @use './variables' as * @include tools.layer('components') .v-number-input input[type="number"] -moz-appearance: textfield &::-webkit-outer-spin-button, &::-webkit-inner-spin-button -webkit-appearance: none .v-field &:has(.v-field__prepend-inner > .v-number-input__control:first-child) padding-inline-start: 0 &:has(.v-field__append-inner > .v-number-input__control:last-child) padding-inline-end: 0 .v-field__prepend-inner:has(.v-number-input__control) overflow: hidden border-start-start-radius: inherit border-end-start-radius: inherit > .v-icon margin-inline-end: 4px > hr + .v-icon, > .v-number-input__control + .v-icon margin-inline: 8px 0 .v-divider--vertical margin-inline: -1px 0 .v-field__append-inner:has(.v-number-input__control) overflow: hidden border-start-end-radius: inherit border-end-end-radius: inherit > .v-icon margin-inline-start: 4px > .v-icon:has(+ hr), > .v-icon:has(+ .v-number-input__control) margin-inline: 0 8px .v-divider--vertical margin-inline: 0 -1px .v-field__clearable:has(+ .v-field__append-inner > hr:first-child) margin-inline-end: 8px &--inset .v-divider height: $number-input-inset-divider-size width: $number-input-inset-divider-size align-self: center &--split .v-field__input text-align: center &--stacked .v-number-input__control flex-direction: column-reverse .v-btn flex: 1 .v-field--variant-underlined > .v-field__prepend-inner:has(.v-number-input__control), > .v-field__append-inner:has(.v-number-input__control) // drop input padding padding-top: var(--v-field-padding-top) // and pass it down > *:not(.v-number-input__control, .v-divider--vertical) margin-top: var(--v-input-padding-top, 0) &--hide-input .v-field flex: none gap: 0 &__input width: 0 padding-inline: 0 &__control display: flex height: 100% .v-btn background-color: transparent border-radius: 0