|
1 | 1 | .tedi-form-field { |
2 | | - position: relative; |
3 | 2 | display: flex; |
4 | | - gap: var(--form-field-inner-spacing); |
5 | | - align-items: center; |
6 | | - width: 100%; |
7 | | - height: var(--form-field-height); |
8 | | - background: var(--form-input-background-default); |
9 | | - border: 1px solid var(--form-input-border-default); |
10 | | - border-radius: var(--form-field-radius); |
| 3 | + flex-direction: column; |
11 | 4 |
|
12 | | - &:not( |
13 | | - .tedi-form-field--disabled, |
14 | | - .tedi-form-field--valid, |
15 | | - .tedi-form-field--invalid |
16 | | - ) { |
17 | | - &:hover, |
18 | | - &:has(input:hover) { |
19 | | - border-color: var(--form-input-border-hover); |
20 | | - } |
| 5 | + &__input { |
| 6 | + position: relative; |
| 7 | + display: flex; |
| 8 | + gap: var(--form-field-inner-spacing); |
| 9 | + align-items: center; |
| 10 | + width: 100%; |
| 11 | + height: var(--form-field-height); |
| 12 | + background: var(--form-input-background-default); |
| 13 | + border: 1px solid var(--form-input-border-default); |
| 14 | + border-radius: var(--form-field-radius); |
| 15 | + } |
21 | 16 |
|
22 | | - &:active, |
23 | | - &:has(input:active) { |
24 | | - border-color: var(--form-input-border-active); |
25 | | - box-shadow: 0 0 0 1px var(--form-input-border-active); |
| 17 | + &--small { |
| 18 | + .tedi-label { |
| 19 | + font-size: var(--body-small-regular-size); |
26 | 20 | } |
27 | 21 |
|
28 | | - &:focus-within, |
29 | | - &:has(input:focus-visible) { |
30 | | - border-color: var(--form-input-border-focus); |
31 | | - box-shadow: 0 0 0 1px var(--form-input-border-focus); |
| 22 | + .tedi-form-field__input { |
| 23 | + height: var(--form-field-height-sm); |
32 | 24 | } |
33 | 25 | } |
34 | 26 |
|
35 | | - &.tedi-form-field--valid { |
| 27 | + &--large .tedi-form-field__input { |
| 28 | + height: var(--form-field-height-lg); |
| 29 | + } |
| 30 | + |
| 31 | + &--valid .tedi-form-field__input { |
36 | 32 | border-color: var(--form-general-feedback-success-border); |
37 | 33 |
|
38 | 34 | &:focus-within { |
39 | 35 | box-shadow: 0 0 0 1px var(--form-general-feedback-success-border); |
40 | 36 | } |
41 | 37 | } |
42 | 38 |
|
43 | | - &.tedi-form-field--invalid { |
| 39 | + &--invalid .tedi-form-field__input { |
44 | 40 | border-color: var(--form-general-feedback-error-border); |
45 | 41 |
|
46 | 42 | &:focus-within { |
47 | 43 | box-shadow: 0 0 0 1px var(--form-general-feedback-error-border); |
48 | 44 | } |
49 | 45 | } |
50 | 46 |
|
51 | | - &.tedi-form-field--disabled { |
| 47 | + &--disabled .tedi-form-field__input { |
52 | 48 | cursor: not-allowed; |
53 | 49 | background: var(--form-input-background-disabled); |
54 | 50 | border-color: var(--form-input-border-disabled); |
55 | 51 | box-shadow: none; |
56 | 52 | } |
57 | 53 |
|
58 | | - &--small { |
59 | | - height: var(--form-field-height-sm); |
| 54 | + &--with-icon .tedi-form-field__input { |
| 55 | + padding-right: var(--form-field-padding-x-md-default); |
60 | 56 | } |
61 | 57 |
|
62 | | - &--large { |
63 | | - height: var(--form-field-height-lg); |
| 58 | + &--with-icon.tedi-form-field--large .tedi-form-field__input { |
| 59 | + padding-right: var(--form-field-padding-x-lg); |
64 | 60 | } |
65 | 61 |
|
66 | | - &--with-icon { |
67 | | - padding-right: var(--form-field-padding-x-md-default); |
| 62 | + &:not( |
| 63 | + .tedi-form-field--disabled, |
| 64 | + .tedi-form-field--valid, |
| 65 | + .tedi-form-field--invalid |
| 66 | + ) |
| 67 | + .tedi-form-field__input { |
| 68 | + &:hover, |
| 69 | + &:has(input:hover) { |
| 70 | + border-color: var(--form-input-border-hover); |
| 71 | + } |
68 | 72 |
|
69 | | - &.tedi-form-field--large { |
70 | | - padding-right: var(--form-field-padding-x-lg); |
| 73 | + &:active, |
| 74 | + &:has(input:active) { |
| 75 | + border-color: var(--form-input-border-active); |
| 76 | + box-shadow: 0 0 0 1px var(--form-input-border-active); |
| 77 | + } |
| 78 | + |
| 79 | + &:focus-within, |
| 80 | + &:has(input:focus-visible) { |
| 81 | + border-color: var(--form-input-border-focus); |
| 82 | + box-shadow: 0 0 0 1px var(--form-input-border-focus); |
71 | 83 | } |
72 | 84 | } |
73 | 85 |
|
|
0 commit comments