VTextField.sass 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. @use 'sass:selector'
  2. @use '../../styles/settings'
  3. @use '../../styles/tools'
  4. @use './variables' as *
  5. @include tools.layer('components')
  6. /* region BLOCK */
  7. .v-text-field
  8. input
  9. color: inherit
  10. opacity: 0
  11. flex: $text-field-input-flex
  12. transition: $text-field-input-transition
  13. min-width: 0
  14. &:focus,
  15. &:active
  16. outline: none
  17. // Remove Firefox red outline
  18. &:invalid
  19. box-shadow: none
  20. .v-field
  21. cursor: text
  22. .v-field__input
  23. @at-root #{selector.append('.v-text-field--prefixed', &)}
  24. --v-field-padding-start: #{$text-field-input-padding-start}
  25. @at-root #{selector.append('.v-text-field--suffixed', &)}
  26. --v-field-padding-end: #{$text-field-input-padding-end}
  27. .v-input__details
  28. padding-inline: $text-field-details-padding-inline
  29. @at-root #{selector.append('.v-input--plain-underlined', &)}
  30. padding-inline: 0
  31. .v-field--no-label,
  32. .v-field--active
  33. input
  34. opacity: 1
  35. .v-field--single-line
  36. input
  37. transition: none
  38. /* endregion */
  39. /* region ELEMENTS */
  40. .v-text-field
  41. &__prefix,
  42. &__suffix
  43. align-items: center
  44. color: $text-field-affix-color
  45. cursor: default
  46. display: flex
  47. opacity: 0
  48. transition: inherit
  49. white-space: nowrap
  50. min-height: $field-input-min-height
  51. padding-top: calc(var(--v-field-padding-top, 4px) + var(--v-input-padding-top, 0))
  52. padding-bottom: var(--v-field-padding-bottom, 6px)
  53. .v-field--active &
  54. opacity: 1
  55. .v-field--disabled &
  56. color: $text-field-disabled-affix-color
  57. &__prefix
  58. padding-inline-start: var(--v-field-padding-start)
  59. &__suffix
  60. padding-inline-end: var(--v-field-padding-end)
  61. /* endregion */