VField.css 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584
  1. /* region INPUT */
  2. .v-field {
  3. display: grid;
  4. grid-template-areas: "prepend-inner field clear append-inner";
  5. grid-template-columns: min-content minmax(0, 1fr) min-content min-content;
  6. font-size: 16px;
  7. letter-spacing: 0.009375em;
  8. max-width: 100%;
  9. border-radius: 4px;
  10. contain: layout;
  11. flex: 1 0;
  12. grid-area: control;
  13. position: relative;
  14. --v-theme-overlay-multiplier: 1;
  15. --v-field-padding-start: 16px;
  16. --v-field-padding-end: 16px;
  17. --v-field-padding-top: 8px;
  18. --v-field-padding-bottom: 4px;
  19. --v-field-input-padding-top: calc(var(--v-field-padding-top, 8px) + var(--v-input-padding-top, 0));
  20. --v-field-input-padding-bottom: var(--v-field-padding-bottom, 4px);
  21. }
  22. .v-field--disabled {
  23. opacity: var(--v-disabled-opacity);
  24. pointer-events: none;
  25. }
  26. .v-field .v-chip {
  27. --v-chip-height: 24px;
  28. }
  29. /* endregion */
  30. /* region MODIFIERS */
  31. .v-field--prepended {
  32. padding-inline-start: 12px;
  33. }
  34. .v-field--appended {
  35. padding-inline-end: 12px;
  36. }
  37. .v-field--variant-solo, .v-field--variant-solo-filled {
  38. background: rgb(var(--v-theme-surface));
  39. border-color: transparent;
  40. color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
  41. }
  42. .v-field--variant-solo, .v-field--variant-solo-filled {
  43. box-shadow: 0px 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 2px 2px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 5px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
  44. }
  45. .v-field--variant-solo-inverted {
  46. background: rgb(var(--v-theme-surface));
  47. border-color: transparent;
  48. color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
  49. }
  50. .v-field--variant-solo-inverted {
  51. box-shadow: 0px 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 2px 2px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 5px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
  52. }
  53. .v-field--variant-solo-inverted.v-field--focused {
  54. color: rgb(var(--v-theme-on-surface-variant));
  55. }
  56. .v-field--variant-filled {
  57. border-bottom-left-radius: 0;
  58. border-bottom-right-radius: 0;
  59. }
  60. .v-input--density-default .v-field--variant-solo, .v-input--density-default .v-field--variant-solo-inverted, .v-input--density-default .v-field--variant-solo-filled, .v-input--density-default .v-field--variant-filled {
  61. --v-input-control-height: 56px;
  62. --v-field-padding-bottom: 4px;
  63. }
  64. .v-input--density-comfortable .v-field--variant-solo, .v-input--density-comfortable .v-field--variant-solo-inverted, .v-input--density-comfortable .v-field--variant-solo-filled, .v-input--density-comfortable .v-field--variant-filled {
  65. --v-input-control-height: 48px;
  66. --v-field-padding-bottom: 0px;
  67. }
  68. .v-input--density-compact .v-field--variant-solo, .v-input--density-compact .v-field--variant-solo-inverted, .v-input--density-compact .v-field--variant-solo-filled, .v-input--density-compact .v-field--variant-filled {
  69. --v-input-control-height: 40px;
  70. --v-field-padding-bottom: 0px;
  71. }
  72. .v-field--variant-outlined, .v-field--single-line, .v-field--no-label {
  73. --v-field-padding-top: 0px;
  74. }
  75. .v-input--density-default .v-field--variant-outlined, .v-input--density-default .v-field--single-line, .v-input--density-default .v-field--no-label {
  76. --v-field-padding-bottom: 16px;
  77. }
  78. .v-input--density-comfortable .v-field--variant-outlined, .v-input--density-comfortable .v-field--single-line, .v-input--density-comfortable .v-field--no-label {
  79. --v-field-padding-bottom: 12px;
  80. }
  81. .v-input--density-compact .v-field--variant-outlined, .v-input--density-compact .v-field--single-line, .v-input--density-compact .v-field--no-label {
  82. --v-field-padding-bottom: 8px;
  83. }
  84. .v-field--variant-plain, .v-field--variant-underlined {
  85. border-radius: 0;
  86. padding: 0;
  87. }
  88. .v-field--variant-plain.v-field, .v-field--variant-underlined.v-field {
  89. --v-field-padding-start: 0px;
  90. --v-field-padding-end: 0px;
  91. }
  92. .v-input--density-default .v-field--variant-plain, .v-input--density-default .v-field--variant-underlined {
  93. --v-input-control-height: 48px;
  94. --v-field-padding-top: 4px;
  95. --v-field-padding-bottom: 4px;
  96. }
  97. .v-input--density-comfortable .v-field--variant-plain, .v-input--density-comfortable .v-field--variant-underlined {
  98. --v-input-control-height: 40px;
  99. --v-field-padding-top: 2px;
  100. --v-field-padding-bottom: 0px;
  101. }
  102. .v-input--density-compact .v-field--variant-plain, .v-input--density-compact .v-field--variant-underlined {
  103. --v-input-control-height: 32px;
  104. --v-field-padding-top: 0px;
  105. --v-field-padding-bottom: 0px;
  106. }
  107. .v-field--flat {
  108. box-shadow: none;
  109. }
  110. .v-field--rounded {
  111. border-radius: 24px;
  112. }
  113. .v-field.v-field--prepended {
  114. --v-field-padding-start: 6px;
  115. }
  116. .v-field.v-field--appended {
  117. --v-field-padding-end: 6px;
  118. }
  119. /* endregion */
  120. /* region ELEMENTS */
  121. .v-field__input {
  122. align-items: center;
  123. color: inherit;
  124. column-gap: 2px;
  125. display: flex;
  126. flex-wrap: wrap;
  127. letter-spacing: 0.009375em;
  128. opacity: var(--v-high-emphasis-opacity);
  129. min-height: max(var(--v-input-control-height, 56px), 1.5rem + var(--v-field-input-padding-top) + var(--v-field-input-padding-bottom));
  130. min-width: 0;
  131. padding-inline: var(--v-field-padding-start) var(--v-field-padding-end);
  132. padding-top: var(--v-field-input-padding-top);
  133. padding-bottom: var(--v-field-input-padding-bottom);
  134. position: relative;
  135. width: 100%;
  136. }
  137. .v-input--density-default .v-field__input {
  138. row-gap: 8px;
  139. }
  140. .v-input--density-comfortable .v-field__input {
  141. row-gap: 6px;
  142. }
  143. .v-input--density-compact .v-field__input {
  144. row-gap: 4px;
  145. }
  146. .v-field__input input {
  147. letter-spacing: inherit;
  148. }
  149. .v-field__input input::placeholder,
  150. input.v-field__input::placeholder,
  151. textarea.v-field__input::placeholder {
  152. color: currentColor;
  153. opacity: var(--v-disabled-opacity);
  154. }
  155. .v-field__input:focus, .v-field__input:active {
  156. outline: none;
  157. }
  158. .v-field__input:invalid {
  159. box-shadow: none;
  160. }
  161. .v-field__field {
  162. flex: 1 0;
  163. grid-area: field;
  164. position: relative;
  165. align-items: flex-start;
  166. display: flex;
  167. }
  168. /* endregion */
  169. /* region AFFIXES */
  170. .v-field__prepend-inner {
  171. grid-area: prepend-inner;
  172. padding-inline-end: var(--v-field-padding-after);
  173. }
  174. .v-field__clearable {
  175. grid-area: clear;
  176. }
  177. .v-field__append-inner {
  178. grid-area: append-inner;
  179. padding-inline-start: var(--v-field-padding-after);
  180. }
  181. .v-field__append-inner,
  182. .v-field__clearable,
  183. .v-field__prepend-inner {
  184. display: flex;
  185. align-items: flex-start;
  186. padding-top: var(--v-input-padding-top, 8px);
  187. }
  188. .v-field--center-affix .v-field__append-inner,
  189. .v-field--center-affix .v-field__clearable,
  190. .v-field--center-affix .v-field__prepend-inner {
  191. align-items: center;
  192. padding-top: 0;
  193. }
  194. .v-field.v-field--variant-underlined .v-field__append-inner,
  195. .v-field.v-field--variant-underlined .v-field__clearable,
  196. .v-field.v-field--variant-underlined .v-field__prepend-inner,
  197. .v-field.v-field--variant-plain .v-field__append-inner,
  198. .v-field.v-field--variant-plain .v-field__clearable,
  199. .v-field.v-field--variant-plain .v-field__prepend-inner {
  200. align-items: flex-start;
  201. padding-top: calc(var(--v-field-padding-top, 8px) + var(--v-input-padding-top, 0));
  202. padding-bottom: var(--v-field-padding-bottom, 4px);
  203. }
  204. .v-field--focused .v-field__prepend-inner,
  205. .v-field--focused .v-field__append-inner {
  206. opacity: 1;
  207. }
  208. .v-field__prepend-inner > .v-icon,
  209. .v-field__append-inner > .v-icon,
  210. .v-field__clearable > .v-icon {
  211. opacity: var(--v-medium-emphasis-opacity);
  212. }
  213. .v-field--disabled .v-field__prepend-inner > .v-icon, .v-field--error .v-field__prepend-inner > .v-icon,
  214. .v-field--disabled .v-field__append-inner > .v-icon,
  215. .v-field--error .v-field__append-inner > .v-icon,
  216. .v-field--disabled .v-field__clearable > .v-icon,
  217. .v-field--error .v-field__clearable > .v-icon {
  218. opacity: 1;
  219. }
  220. .v-field--error:not(.v-field--disabled) .v-field__prepend-inner > .v-icon,
  221. .v-field--error:not(.v-field--disabled) .v-field__append-inner > .v-icon,
  222. .v-field--error:not(.v-field--disabled) .v-field__clearable > .v-icon {
  223. color: rgb(var(--v-theme-error));
  224. }
  225. .v-field__clearable {
  226. cursor: pointer;
  227. opacity: 0;
  228. overflow: hidden;
  229. margin-inline: 4px;
  230. transition: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  231. transition-property: opacity, transform, width;
  232. }
  233. .v-field--focused .v-field__clearable, .v-field--persistent-clear .v-field__clearable {
  234. opacity: 1;
  235. }
  236. @media (hover: hover) {
  237. .v-field:hover .v-field__clearable {
  238. opacity: 1;
  239. }
  240. }
  241. @media (hover: none) {
  242. .v-field__clearable {
  243. opacity: 1;
  244. }
  245. }
  246. /* endregion */
  247. /* region LABEL */
  248. .v-label.v-field-label {
  249. contain: layout paint;
  250. display: block;
  251. margin-inline-start: var(--v-field-padding-start);
  252. margin-inline-end: var(--v-field-padding-end);
  253. max-width: calc(100% - var(--v-field-padding-start) - var(--v-field-padding-end));
  254. pointer-events: none;
  255. position: absolute;
  256. top: var(--v-input-padding-top);
  257. transform-origin: left center;
  258. transition: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  259. transition-property: opacity, transform;
  260. z-index: 1;
  261. }
  262. .v-field--variant-underlined .v-label.v-field-label, .v-field--variant-plain .v-label.v-field-label {
  263. top: calc(var(--v-input-padding-top) + var(--v-field-padding-top));
  264. }
  265. .v-field--center-affix .v-label.v-field-label {
  266. top: 50%;
  267. transform: translateY(-50%);
  268. }
  269. .v-field--active .v-label.v-field-label {
  270. visibility: hidden;
  271. }
  272. .v-field--focused .v-label.v-field-label, .v-field--error .v-label.v-field-label {
  273. opacity: 1;
  274. }
  275. .v-field--error:not(.v-field--disabled) .v-label.v-field-label {
  276. color: rgb(var(--v-theme-error));
  277. }
  278. .v-label.v-field-label--floating {
  279. --v-field-label-scale: 0.75em;
  280. font-size: var(--v-field-label-scale);
  281. visibility: hidden;
  282. max-width: 100%;
  283. }
  284. .v-field--center-affix .v-label.v-field-label--floating {
  285. transform: none;
  286. }
  287. .v-field.v-field--active .v-label.v-field-label--floating {
  288. visibility: unset;
  289. }
  290. .v-input--density-default .v-field--variant-solo .v-label.v-field-label--floating, .v-input--density-default .v-field--variant-solo-inverted .v-label.v-field-label--floating, .v-input--density-default .v-field--variant-filled .v-label.v-field-label--floating, .v-input--density-default .v-field--variant-solo-filled .v-label.v-field-label--floating {
  291. top: 7px;
  292. }
  293. .v-input--density-comfortable .v-field--variant-solo .v-label.v-field-label--floating, .v-input--density-comfortable .v-field--variant-solo-inverted .v-label.v-field-label--floating, .v-input--density-comfortable .v-field--variant-filled .v-label.v-field-label--floating, .v-input--density-comfortable .v-field--variant-solo-filled .v-label.v-field-label--floating {
  294. top: 5px;
  295. }
  296. .v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating, .v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating, .v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating, .v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating {
  297. top: 3px;
  298. }
  299. .v-field--variant-plain .v-label.v-field-label--floating, .v-field--variant-underlined .v-label.v-field-label--floating {
  300. transform: translateY(-16px);
  301. margin: 0;
  302. top: var(--v-input-padding-top);
  303. }
  304. .v-field--variant-outlined .v-label.v-field-label--floating {
  305. transform: translateY(-50%);
  306. transform-origin: center;
  307. position: static;
  308. margin: 0 4px;
  309. }
  310. /* endregion */
  311. /* region OUTLINE */
  312. .v-field__outline {
  313. --v-field-border-width: 1px;
  314. --v-field-border-opacity: 0.38;
  315. align-items: stretch;
  316. contain: layout;
  317. display: flex;
  318. height: 100%;
  319. left: 0;
  320. pointer-events: none;
  321. position: absolute;
  322. right: 0;
  323. width: 100%;
  324. }
  325. @media (hover: hover) {
  326. .v-field:hover .v-field__outline {
  327. --v-field-border-opacity: var(--v-high-emphasis-opacity);
  328. }
  329. }
  330. .v-field--error:not(.v-field--disabled) .v-field__outline {
  331. color: rgb(var(--v-theme-error));
  332. }
  333. .v-field.v-field--focused .v-field__outline, .v-input.v-input--error .v-field__outline {
  334. --v-field-border-opacity: 1;
  335. }
  336. .v-field--variant-outlined.v-field--focused .v-field__outline {
  337. --v-field-border-width: 2px;
  338. }
  339. .v-field--variant-filled .v-field__outline::before, .v-field--variant-underlined .v-field__outline::before {
  340. border-color: currentColor;
  341. border-style: solid;
  342. border-width: 0 0 var(--v-field-border-width);
  343. opacity: var(--v-field-border-opacity);
  344. transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
  345. }
  346. .v-field--variant-filled .v-field__outline::before, .v-field--variant-underlined .v-field__outline::before {
  347. content: "";
  348. position: absolute;
  349. top: 0;
  350. left: 0;
  351. width: 100%;
  352. height: 100%;
  353. }
  354. .v-field--variant-filled .v-field__outline::after, .v-field--variant-underlined .v-field__outline::after {
  355. border-color: currentColor;
  356. border-style: solid;
  357. border-width: 0 0 2px;
  358. transform: scaleX(0);
  359. transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  360. }
  361. .v-field--variant-filled .v-field__outline::after, .v-field--variant-underlined .v-field__outline::after {
  362. content: "";
  363. position: absolute;
  364. top: 0;
  365. left: 0;
  366. width: 100%;
  367. height: 100%;
  368. }
  369. .v-field--focused.v-field--variant-filled .v-field__outline::after, .v-field--focused.v-field--variant-underlined .v-field__outline::after {
  370. transform: scaleX(1);
  371. }
  372. .v-field--variant-outlined .v-field__outline {
  373. border-radius: inherit;
  374. }
  375. .v-field--variant-outlined .v-field__outline__start, .v-field--variant-outlined .v-field__outline__notch::before, .v-field--variant-outlined .v-field__outline__notch::after, .v-field--variant-outlined .v-field__outline__end {
  376. border: 0 solid currentColor;
  377. opacity: var(--v-field-border-opacity);
  378. transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
  379. }
  380. .v-field--variant-outlined .v-field__outline__start {
  381. flex: 0 0 12px;
  382. border-top-width: var(--v-field-border-width);
  383. border-bottom-width: var(--v-field-border-width);
  384. border-inline-start-width: var(--v-field-border-width);
  385. border-start-start-radius: inherit;
  386. border-start-end-radius: 0;
  387. border-end-end-radius: 0;
  388. border-end-start-radius: inherit;
  389. }
  390. .v-field--rounded.v-field--variant-outlined .v-field__outline__start,
  391. [class^=rounded-].v-field--variant-outlined .v-field__outline__start,
  392. [class*=" rounded-"].v-field--variant-outlined .v-field__outline__start {
  393. flex-basis: calc(var(--v-input-control-height) / 2 + 2px);
  394. }
  395. .v-field--reverse.v-field--variant-outlined .v-field__outline__start {
  396. border-start-start-radius: 0;
  397. border-start-end-radius: inherit;
  398. border-end-end-radius: inherit;
  399. border-end-start-radius: 0;
  400. border-inline-end-width: var(--v-field-border-width);
  401. border-inline-start-width: 0;
  402. }
  403. .v-field--variant-outlined .v-field__outline__notch {
  404. flex: none;
  405. position: relative;
  406. max-width: calc(100% - 12px);
  407. }
  408. .v-field--variant-outlined .v-field__outline__notch::before, .v-field--variant-outlined .v-field__outline__notch::after {
  409. opacity: var(--v-field-border-opacity);
  410. transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
  411. }
  412. .v-field--variant-outlined .v-field__outline__notch::before, .v-field--variant-outlined .v-field__outline__notch::after {
  413. content: "";
  414. position: absolute;
  415. top: 0;
  416. left: 0;
  417. width: 100%;
  418. height: 100%;
  419. }
  420. .v-field--variant-outlined .v-field__outline__notch::before {
  421. border-width: var(--v-field-border-width) 0 0;
  422. }
  423. .v-field--variant-outlined .v-field__outline__notch::after {
  424. bottom: 0;
  425. border-width: 0 0 var(--v-field-border-width);
  426. }
  427. .v-field--active.v-field--variant-outlined .v-field__outline__notch::before {
  428. opacity: 0;
  429. }
  430. .v-field--variant-outlined .v-field__outline__end {
  431. flex: 1;
  432. border-top-width: var(--v-field-border-width);
  433. border-bottom-width: var(--v-field-border-width);
  434. border-inline-end-width: var(--v-field-border-width);
  435. border-start-start-radius: 0;
  436. border-start-end-radius: inherit;
  437. border-end-end-radius: inherit;
  438. border-end-start-radius: 0;
  439. }
  440. .v-field--reverse.v-field--variant-outlined .v-field__outline__end {
  441. border-start-start-radius: inherit;
  442. border-start-end-radius: 0;
  443. border-end-end-radius: 0;
  444. border-end-start-radius: inherit;
  445. border-inline-end-width: 0;
  446. border-inline-start-width: var(--v-field-border-width);
  447. }
  448. /* endregion */
  449. /* region LOADER */
  450. .v-field__loader {
  451. top: calc(100% - 2px);
  452. left: 0;
  453. position: absolute;
  454. right: 0;
  455. width: 100%;
  456. border-top-left-radius: 0;
  457. border-top-right-radius: 0;
  458. border-bottom-left-radius: inherit;
  459. border-bottom-right-radius: inherit;
  460. overflow: hidden;
  461. }
  462. .v-field--variant-outlined .v-field__loader {
  463. top: calc(100% - 3px);
  464. width: calc(100% - 1px * 2);
  465. left: 1px;
  466. }
  467. /* endregion */
  468. /* region OVERLAY */
  469. .v-field__overlay {
  470. border-radius: inherit;
  471. pointer-events: none;
  472. }
  473. .v-field__overlay {
  474. position: absolute;
  475. top: 0;
  476. left: 0;
  477. width: 100%;
  478. height: 100%;
  479. }
  480. .v-field--variant-filled .v-field__overlay {
  481. background-color: currentColor;
  482. opacity: 0.04;
  483. transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
  484. }
  485. .v-field--variant-filled.v-field--has-background .v-field__overlay {
  486. opacity: 0;
  487. }
  488. @media (hover: hover) {
  489. .v-field--variant-filled:hover .v-field__overlay {
  490. opacity: calc((0.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier));
  491. }
  492. }
  493. .v-field--variant-filled.v-field--focused .v-field__overlay {
  494. opacity: calc((0.04 + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
  495. }
  496. .v-field--variant-solo-filled .v-field__overlay {
  497. background-color: currentColor;
  498. opacity: 0.04;
  499. transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
  500. }
  501. @media (hover: hover) {
  502. .v-field--variant-solo-filled:hover .v-field__overlay {
  503. opacity: calc((0.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier));
  504. }
  505. }
  506. .v-field--variant-solo-filled.v-field--focused .v-field__overlay {
  507. opacity: calc((0.04 + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
  508. }
  509. .v-field--variant-solo-inverted .v-field__overlay {
  510. transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
  511. }
  512. .v-field--variant-solo-inverted.v-field--has-background .v-field__overlay {
  513. opacity: 0;
  514. }
  515. @media (hover: hover) {
  516. .v-field--variant-solo-inverted:hover .v-field__overlay {
  517. opacity: calc((0.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier));
  518. }
  519. }
  520. .v-field--variant-solo-inverted.v-field--focused .v-field__overlay {
  521. background-color: rgb(var(--v-theme-surface-variant));
  522. opacity: 1;
  523. }
  524. /* endregion */
  525. /* region MODIFIERS */
  526. .v-field--reverse .v-field__field,
  527. .v-field--reverse .v-field__input,
  528. .v-field--reverse .v-field__outline {
  529. flex-direction: row-reverse;
  530. }
  531. .v-field--reverse .v-field__input, .v-field--reverse input {
  532. text-align: end;
  533. }
  534. .v-input--disabled .v-field--variant-filled .v-field__outline::before,
  535. .v-input--disabled .v-field--variant-underlined .v-field__outline::before {
  536. border-image: repeating-linear-gradient(to right, rgba(var(--v-theme-on-surface), var(--v-disabled-opacity)) 0px, rgba(var(--v-theme-on-surface), var(--v-disabled-opacity)) 2px, transparent 2px, transparent 4px) 1 repeat;
  537. }
  538. .v-field--loading .v-field__outline::after,
  539. .v-field--loading .v-field__outline::before {
  540. opacity: 0;
  541. }
  542. /* endregion */