|
9 | 9 | box-sizing: border-box; |
10 | 10 | inline-size: 100%; |
11 | 11 | background: var(--eds-color-bg-canvas); |
12 | | - border: var(--eds-sizing-stroke-thin) solid var(--eds-color-border-subtle); |
| 12 | + /* Use outline instead of border to not affect height (36px target) */ |
| 13 | + outline: var(--eds-sizing-stroke-thin) solid var(--eds-color-border-subtle); |
| 14 | + outline-offset: calc(-1 * var(--eds-sizing-stroke-thin)); |
13 | 15 | border-radius: var(--eds-spacing-border-radius-none); |
14 | 16 | padding-inline: var(--eds-selectable-space-horizontal); |
15 | 17 | padding-block: var(--eds-selectable-space-vertical); |
| 18 | + transition: |
| 19 | + background-color 150ms, |
| 20 | + outline-color 150ms; |
16 | 21 |
|
17 | 22 | /* Hover - only for enabled inputs */ |
18 | 23 | &:hover:not([data-disabled]):not([data-readonly]) { |
19 | | - border-color: var(--eds-color-border-strong); |
| 24 | + outline-color: var(--eds-color-border-strong); |
20 | 25 |
|
21 | 26 | & .eds-input { |
22 | 27 | color: var(--eds-color-text-strong); |
|
40 | 45 |
|
41 | 46 | /* Focus state */ |
42 | 47 | &:focus-within { |
43 | | - border-color: transparent; |
44 | | - outline: var(--eds-sizing-stroke-thick) solid |
45 | | - var(--eds-color-border-focus); |
46 | | - outline-offset: calc(-1 * var(--eds-sizing-stroke-thick)); |
| 48 | + outline: var(--eds-sizing-stroke-thin) solid var(--eds-color-border-focus); |
| 49 | + outline-offset: var(--eds-sizing-stroke-thick); |
47 | 50 | } |
48 | 51 |
|
49 | 52 | /* Invalid state */ |
50 | 53 | &[data-invalid] { |
51 | | - border-color: var(--eds-color-border-medium); |
| 54 | + outline-color: var(--eds-color-border-medium); |
52 | 55 |
|
53 | 56 | &:focus-within { |
54 | 57 | outline-color: var(--eds-color-border-strong); |
|
63 | 66 | /* Disabled state */ |
64 | 67 | &[data-disabled] { |
65 | 68 | cursor: not-allowed; |
66 | | - border-color: transparent; |
| 69 | + outline-color: transparent; |
67 | 70 |
|
68 | 71 | & .eds-input { |
69 | 72 | color: var(--eds-color-border-medium); |
|
88 | 91 |
|
89 | 92 | /* Readonly state */ |
90 | 93 | &[data-readonly] { |
91 | | - border-color: transparent; |
| 94 | + outline-color: transparent; |
92 | 95 |
|
93 | 96 | & .eds-input { |
94 | 97 | color: var(--eds-color-border-strong); |
|
0 commit comments