@ibis-design/css 0.8.2 → 1.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +46 -14
  2. package/dist/bootstrap-overrides.css +81 -0
  3. package/dist/components/authLayout.css +124 -0
  4. package/dist/components/banner.css +13 -17
  5. package/dist/components/button.css +13 -13
  6. package/dist/components/card.css +55 -0
  7. package/dist/components/cardLayout.css +71 -0
  8. package/dist/components/checkbox.css +29 -11
  9. package/dist/components/chips.css +8 -8
  10. package/dist/components/dashboardLayout.css +92 -0
  11. package/dist/components/dropdown.css +34 -16
  12. package/dist/components/dropdownButton.css +42 -28
  13. package/dist/components/formLayout.css +88 -0
  14. package/dist/components/navBottom.css +32 -0
  15. package/dist/components/navButton.css +233 -0
  16. package/dist/components/navDrawer.css +168 -0
  17. package/dist/components/navRail.css +135 -0
  18. package/dist/components/navShell.css +314 -0
  19. package/dist/components/pillTab.css +7 -12
  20. package/dist/components/radio.css +14 -13
  21. package/dist/components/switch.css +5 -8
  22. package/dist/components/textInput.css +12 -15
  23. package/dist/components/textarea.css +7 -13
  24. package/dist/components/textlink.css +6 -14
  25. package/dist/components/tipIndicator.css +4 -10
  26. package/dist/components/toaster.css +21 -27
  27. package/dist/components/topBar.css +52 -0
  28. package/dist/design-tokens.css +210 -86
  29. package/dist/tailwind.preset.js +1 -1
  30. package/dist/tailwind.theme.js +42 -2
  31. package/package.json +34 -31
  32. package/src/lib/assemble-bootstrap-overrides.ts +23 -0
  33. package/src/lib/assemble-design-tokens.ts +22 -0
  34. package/src/lib/set-theme.ts +79 -0
  35. package/src/lib/themes.ts +74 -0
@@ -0,0 +1,314 @@
1
+ /* Navigation shell layout — import via @ibis-design/css/components/navShell.css */
2
+
3
+ /* NavDrawer */
4
+
5
+ .ib-nav-drawer {
6
+ display: flex;
7
+ flex-direction: column;
8
+ align-items: stretch;
9
+ width: 360px;
10
+ height: 100%;
11
+ min-height: 0;
12
+ padding: var(--spacing-4) var(--spacing-3);
13
+ background-color: var(--color-surface-default);
14
+ border-right: var(--border-width-thin) solid var(--border-color-subtle);
15
+ border-bottom-right-radius: var(--border-radius-xl);
16
+ box-shadow: var(--shadow-nav);
17
+ box-sizing: border-box;
18
+ }
19
+
20
+ .ib-nav-drawer__header {
21
+ display: flex;
22
+ align-items: flex-start;
23
+ justify-content: space-between;
24
+ flex-shrink: 0;
25
+ gap: var(--spacing-2);
26
+ margin-bottom: var(--spacing-6);
27
+ }
28
+
29
+ .ib-nav-drawer__logo {
30
+ display: flex;
31
+ align-items: center;
32
+ flex: 1 1 auto;
33
+ min-width: 0;
34
+ }
35
+
36
+ .ib-nav-drawer__logo-placeholder {
37
+ width: 40px;
38
+ height: 40px;
39
+ border-radius: var(--border-radius-full);
40
+ background: var(--gradient-brand-primary);
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: center;
44
+ color: var(--color-text-inverse);
45
+ font-family: var(--font-family-heading);
46
+ font-weight: var(--font-weight-bold);
47
+ font-size: var(--font-size-body-lg);
48
+ }
49
+
50
+ .ib-nav-drawer-logo-image {
51
+ height: 48px;
52
+ width: auto;
53
+ object-fit: contain;
54
+ }
55
+
56
+ .ib-nav-drawer__toggle {
57
+ display: flex;
58
+ flex-shrink: 0;
59
+ align-items: flex-start;
60
+ }
61
+
62
+ .ib-nav-drawer__content {
63
+ display: flex;
64
+ flex-direction: column;
65
+ justify-content: space-between;
66
+ flex: 1 1 auto;
67
+ min-height: 0;
68
+ }
69
+
70
+ .ib-nav-drawer__section-label {
71
+ margin: 0 0 var(--spacing-2);
72
+ padding: 0 var(--spacing-2);
73
+ font-family: var(--font-family-sans);
74
+ font-size: var(--font-size-body-sm);
75
+ font-weight: var(--font-weight-medium);
76
+ color: var(--color-text-muted);
77
+ }
78
+
79
+ .ib-nav-drawer__body {
80
+ display: flex;
81
+ flex-direction: column;
82
+ flex-shrink: 0;
83
+ gap: var(--spacing-2);
84
+ }
85
+
86
+ .ib-nav-drawer__footer {
87
+ display: flex;
88
+ flex-direction: column;
89
+ flex-shrink: 0;
90
+ gap: var(--spacing-1);
91
+ border-top: var(--border-width-thin) solid var(--border-color-subtle);
92
+ padding-top: var(--spacing-4);
93
+ margin-top: var(--spacing-4);
94
+ }
95
+
96
+ .ib-nav-drawer__footer-label {
97
+ margin: 0;
98
+ padding: 0 var(--spacing-2);
99
+ font-family: var(--font-family-sans);
100
+ font-size: var(--font-size-body-sm);
101
+ font-weight: var(--font-weight-medium);
102
+ color: var(--color-text-muted);
103
+ }
104
+
105
+ .ib-nav-drawer__footer-actions {
106
+ display: flex;
107
+ flex-direction: column;
108
+ gap: var(--spacing-2);
109
+ }
110
+
111
+ .ib-nav-drawer__meta {
112
+ display: flex;
113
+ flex-direction: column;
114
+ gap: var(--spacing-1);
115
+ padding: var(--spacing-3) var(--spacing-2) 0;
116
+ font-family: var(--font-family-sans);
117
+ font-size: var(--font-size-body-xs);
118
+ font-weight: var(--font-weight-normal);
119
+ color: var(--color-text-muted);
120
+ line-height: 1.4;
121
+ }
122
+
123
+ /* NavRail */
124
+
125
+ .ib-nav-rail {
126
+ display: flex;
127
+ flex-direction: column;
128
+ align-items: center;
129
+ width: 72px;
130
+ height: 100%;
131
+ min-height: 0;
132
+ padding: var(--spacing-4) 0;
133
+ background-color: var(--color-surface-default);
134
+ border-right: var(--border-width-thin) solid var(--border-color-subtle);
135
+ border-bottom-right-radius: var(--border-radius-xl);
136
+ box-shadow: var(--shadow-nav);
137
+ box-sizing: border-box;
138
+ overflow: visible;
139
+ }
140
+
141
+ .ib-nav-rail__header {
142
+ position: relative;
143
+ display: flex;
144
+ flex-direction: column;
145
+ align-items: center;
146
+ flex-shrink: 0;
147
+ width: 100%;
148
+ margin-bottom: var(--spacing-4);
149
+ overflow: visible;
150
+ }
151
+
152
+ .ib-nav-rail__logo {
153
+ display: flex;
154
+ align-items: center;
155
+ justify-content: center;
156
+ width: 100%;
157
+ }
158
+
159
+ .ib-nav-rail__logo-placeholder {
160
+ width: 40px;
161
+ height: 40px;
162
+ border-radius: var(--border-radius-full);
163
+ background: var(--gradient-brand-primary);
164
+ display: flex;
165
+ align-items: center;
166
+ justify-content: center;
167
+ color: var(--color-text-inverse);
168
+ font-family: var(--font-family-heading);
169
+ font-weight: var(--font-weight-bold);
170
+ font-size: var(--font-size-body-lg);
171
+ }
172
+
173
+ .ib-nav-rail-logo-image {
174
+ width: 40px;
175
+ height: 40px;
176
+ object-fit: contain;
177
+ }
178
+
179
+ .ib-nav-rail__toggle {
180
+ position: absolute;
181
+ top: 50%;
182
+ right: 0;
183
+ transform: translate(50%, -50%);
184
+ z-index: var(--z-index-overlay);
185
+ }
186
+
187
+ .ib-nav-rail__body {
188
+ display: flex;
189
+ flex-direction: column;
190
+ align-items: center;
191
+ flex: 1 1 auto;
192
+ min-height: 0;
193
+ width: 100%;
194
+ gap: var(--spacing-1);
195
+ padding: 0 var(--spacing-2);
196
+ box-sizing: border-box;
197
+ }
198
+
199
+ .ib-nav-rail__footer {
200
+ display: flex;
201
+ flex-direction: column;
202
+ align-items: center;
203
+ flex-shrink: 0;
204
+ width: 100%;
205
+ gap: var(--spacing-1);
206
+ margin-top: auto;
207
+ padding: var(--spacing-2) var(--spacing-2) 0;
208
+ box-sizing: border-box;
209
+ border-top: var(--border-width-thin) solid var(--border-color-subtle);
210
+ }
211
+
212
+ /* NavBottom */
213
+
214
+ .ib-nav-bottom {
215
+ display: flex;
216
+ flex-direction: row;
217
+ align-items: flex-end;
218
+ justify-content: space-around;
219
+ position: fixed;
220
+ bottom: 0;
221
+ inset-inline: 0;
222
+ z-index: var(--z-index-sticky);
223
+ padding: var(--spacing-2) var(--spacing-4);
224
+ padding-bottom: calc(var(--spacing-2) + env(safe-area-inset-bottom, 0px));
225
+ gap: var(--spacing-1);
226
+ background-color: var(--color-surface-default);
227
+ border-top: var(--border-width-thin) solid var(--border-color-default);
228
+ box-shadow: var(--shadow-elevation-md);
229
+ box-sizing: border-box;
230
+ }
231
+
232
+ /* Toggle Button */
233
+
234
+ .ib-nav-shell-toggle {
235
+ all: unset;
236
+ box-sizing: border-box;
237
+ display: inline-flex;
238
+ align-items: center;
239
+ justify-content: center;
240
+ padding: var(--spacing-1);
241
+ border-radius: var(--border-radius-md);
242
+ color: var(--color-text-muted);
243
+ cursor: pointer;
244
+ background: transparent;
245
+ border: none;
246
+ outline: none;
247
+ transition:
248
+ background-color var(--transition-duration-fast) var(--transition-timing-default),
249
+ color var(--transition-duration-fast) var(--transition-timing-default);
250
+ }
251
+
252
+ .ib-nav-shell-toggle:hover {
253
+ background-color: var(--color-interactive-neutral-bg-hover);
254
+ color: var(--color-text-primary);
255
+ }
256
+
257
+ .ib-nav-shell-toggle svg {
258
+ width: 20px;
259
+ height: 20px;
260
+ display: block;
261
+ overflow: visible;
262
+ }
263
+
264
+ .ib-nav-shell-toggle svg path {
265
+ stroke: currentColor;
266
+ }
267
+
268
+ /* Icon Animations */
269
+
270
+ .ib-nav-rail-icon {
271
+ display: flex;
272
+ align-items: center;
273
+ justify-content: center;
274
+ transition: transform var(--transition-duration-normal) var(--transition-timing-default);
275
+ transform: scale(1);
276
+ }
277
+
278
+ .ib-nav-rail-icon--selected {
279
+ transform: scale(1.15);
280
+ }
281
+
282
+ .ib-nav-drawer-icon {
283
+ display: flex;
284
+ align-items: center;
285
+ justify-content: center;
286
+ transition: transform var(--transition-duration-normal) var(--transition-timing-default);
287
+ transform: scale(1);
288
+ }
289
+
290
+ .ib-nav-drawer-icon--selected {
291
+ transform: scale(1.15);
292
+ }
293
+
294
+ .ib-nav-bottom-icon {
295
+ display: flex;
296
+ align-items: center;
297
+ justify-content: center;
298
+ transition: transform var(--transition-duration-normal) var(--transition-timing-default);
299
+ transform: scale(1);
300
+ }
301
+
302
+ .ib-nav-bottom-icon--selected {
303
+ transform: scale(1.15);
304
+ }
305
+
306
+ /* Sign Out Button */
307
+
308
+ .ib-nav-signout:not(:disabled):hover {
309
+ background-color: color-mix(
310
+ in srgb,
311
+ var(--color-status-error) calc(var(--opacity-5) * 100%),
312
+ transparent
313
+ );
314
+ }
@@ -7,8 +7,7 @@
7
7
  height: 100%;
8
8
  align-self: stretch;
9
9
  border-radius: var(--border-radius-full);
10
- /* background: var(--color-neutral-100); */
11
- color: var(--color-neutral-700);
10
+ color: var(--color-text-secondary);
12
11
  cursor: pointer;
13
12
  user-select: none;
14
13
 
@@ -29,30 +28,26 @@
29
28
  width: 100%;
30
29
  }
31
30
 
32
- /* Active */
33
31
  .ibis-pill-tab--active {
34
- background: var(--color-primary-700);
35
- color: var(--color-white);
32
+ background: var(--color-interactive-primary-bg-emphasized);
33
+ color: var(--color-text-on-primary);
36
34
  }
37
35
 
38
- /* Hover */
39
36
  .ibis-pill-tab:hover:not(.ibis-pill-tab--disabled):not(.ibis-pill-tab--active) {
40
- background: var(--color-primary-100);
41
- color: var(--color-primary-800);
37
+ background: var(--color-interactive-primary-bg-selected);
38
+ color: var(--color-interactive-primary-indicator);
42
39
  }
43
40
 
44
41
  .ibis-pill-tab--active:hover {
45
- background: var(--color-primary-800);
42
+ background: var(--color-interactive-primary-bg-emphasized);
46
43
  }
47
44
 
48
- /* Focus (important for accessibility) */
49
45
  .ibis-pill-tab__input:focus-visible + .ibis-pill-tab__content {
50
- outline: 2px solid var(--color-primary-500);
46
+ outline: 2px solid var(--color-brand-primary);
51
47
  outline-offset: 2px;
52
48
  border-radius: var(--border-radius-full);
53
49
  }
54
50
 
55
- /* Disabled */
56
51
  .ibis-pill-tab--disabled {
57
52
  opacity: var(--opacity-7);
58
53
  cursor: not-allowed;
@@ -12,12 +12,12 @@
12
12
 
13
13
  .ibis-radio__label {
14
14
  font-size: var(--font-size-body-md);
15
- color: var(--color-neutral-700);
15
+ color: var(--color-text-secondary);
16
16
  }
17
17
 
18
18
  .ibis-radio__description {
19
19
  font-size: var(--font-size-body-sm);
20
- color: var(--color-neutral-500);
20
+ color: var(--color-text-muted);
21
21
  }
22
22
 
23
23
  .ibis-radio__control {
@@ -35,7 +35,7 @@
35
35
  width: 20px;
36
36
  height: 20px;
37
37
  border-radius: var(--border-radius-full);
38
- border: var(--border-width-default) solid var(--color-neutral-300);
38
+ border: var(--border-width-default) solid var(--border-color-strong);
39
39
  display: flex;
40
40
  align-items: center;
41
41
  justify-content: center;
@@ -53,7 +53,7 @@
53
53
  }
54
54
 
55
55
  .ibis-radio__dot--active {
56
- background: var(--color-primary-900);
56
+ background: var(--color-interactive-primary-indicator);
57
57
  }
58
58
 
59
59
  .ibis-radio__text {
@@ -63,7 +63,7 @@
63
63
 
64
64
  .ibis-radio__help {
65
65
  font-size: var(--font-size-body-sm);
66
- color: var(--color-neutral-500);
66
+ color: var(--color-text-muted);
67
67
  }
68
68
 
69
69
  .ibis-radio__error {
@@ -75,18 +75,19 @@
75
75
  opacity: var(--opacity-9);
76
76
  cursor: not-allowed;
77
77
  }
78
+
78
79
  .ibis-radio--disabled .ibis-radio__circle {
79
- border-color: var(--color-neutral-200);
80
- background-color: var(--color-neutral-160);
80
+ border-color: var(--border-color-disabled);
81
+ background-color: var(--color-surface-disabled);
81
82
  }
82
83
 
83
84
  .ibis-radio__input:checked + .ibis-radio__circle {
84
- border-color: var(--color-primary-900);
85
+ border-color: var(--color-interactive-primary-border-selected);
85
86
  }
86
87
 
87
88
  .ibis-radio:not(.ibis-radio--disabled) .ibis-radio__control:hover .ibis-radio__circle {
88
- box-shadow: var(--shadow-focus-default); /* TODO: replace with token */
89
- border-color: var(--color-neutral-700);
89
+ box-shadow: var(--shadow-focus-default);
90
+ border-color: var(--color-text-secondary);
90
91
  transform: scale(1.05);
91
92
  }
92
93
 
@@ -94,8 +95,8 @@
94
95
  .ibis-radio__control:hover
95
96
  .ibis-radio__input:checked
96
97
  + .ibis-radio__circle {
97
- box-shadow: var(--shadow-focus-primary); /* TODO: replace with token */
98
- border-color: var(--color-primary-900);
98
+ box-shadow: var(--shadow-focus-primary);
99
+ border-color: var(--color-interactive-primary-border-selected);
99
100
  }
100
101
 
101
102
  .ibis-radio--invalid .ibis-radio__circle {
@@ -103,6 +104,6 @@
103
104
  }
104
105
 
105
106
  .ibis-radio--invalid .ibis-radio__control:hover .ibis-radio__circle {
106
- box-shadow: var(--shadow-focus-error); /* TODO: replace with token */
107
+ box-shadow: var(--shadow-focus-error);
107
108
  border-color: var(--color-status-error);
108
109
  }
@@ -15,11 +15,10 @@
15
15
  display: none;
16
16
  }
17
17
 
18
- /* Track */
19
18
  .ibis-switch__track {
20
19
  width: 32px;
21
20
  height: 20px;
22
- background: var(--color-neutral-200);
21
+ background: var(--color-interactive-primary-track-off);
23
22
  border-radius: var(--border-radius-full);
24
23
  position: relative;
25
24
  transition:
@@ -27,11 +26,10 @@
27
26
  box-shadow var(--transition-duration-normal) var(--transition-timing-default);
28
27
  }
29
28
 
30
- /* Thumb */
31
29
  .ibis-switch__thumb {
32
30
  width: 16px;
33
31
  height: 16px;
34
- background: var(--color-white);
32
+ background: var(--color-surface-default);
35
33
  border-radius: var(--border-radius-full);
36
34
  position: absolute;
37
35
  top: 2px;
@@ -42,25 +40,24 @@
42
40
  }
43
41
 
44
42
  .ibis-switch__input:checked + .ibis-switch__track {
45
- background: var(--color-primary-700);
43
+ background: var(--color-interactive-primary-track-on);
46
44
  }
47
45
 
48
46
  .ibis-switch__input:checked + .ibis-switch__track .ibis-switch__thumb {
49
47
  transform: translateX(12px);
50
48
  }
51
49
 
52
- /* Disabled state */
53
50
  .ibis-switch--disabled {
54
51
  opacity: var(--opacity-7);
55
52
  cursor: not-allowed;
56
53
  }
57
54
 
58
55
  .ibis-switch--disabled .ibis-switch__track {
59
- background: var(--color-neutral-200);
56
+ background: var(--color-interactive-primary-track-off);
60
57
  }
61
58
 
62
59
  .ibis-switch--disabled .ibis-switch__thumb {
63
- background: var(--color-neutral-100);
60
+ background: var(--color-surface-muted);
64
61
  }
65
62
 
66
63
  .ibis-switch--disabled .ibis-switch__control {
@@ -9,7 +9,7 @@
9
9
 
10
10
  .ibis-input__label {
11
11
  font-size: var(--font-size-body-md);
12
- color: var(--color-neutral-700);
12
+ color: var(--color-text-secondary);
13
13
  }
14
14
 
15
15
  .ibis-input__label-wrapper {
@@ -20,7 +20,7 @@
20
20
 
21
21
  .ibis-input__description {
22
22
  font-size: var(--font-size-body-sm);
23
- color: var(--color-neutral-500);
23
+ color: var(--color-text-muted);
24
24
  }
25
25
 
26
26
  .ibis-input__wrapper {
@@ -28,14 +28,14 @@
28
28
  align-items: stretch;
29
29
  border-radius: var(--border-radius-lg);
30
30
  overflow: hidden;
31
- background-color: var(--color-neutral-100);
31
+ background-color: var(--color-surface-muted);
32
32
  }
33
33
 
34
34
  .ibis-input__prepend {
35
35
  display: flex;
36
36
  align-items: center;
37
37
  padding: var(--spacing-0) var(--spacing-3);
38
- border: var(--border-width-default) solid var(--color-neutral-200);
38
+ border: var(--border-width-default) solid var(--border-color-default);
39
39
  border-right: none;
40
40
  border-radius: var(--border-radius-lg) 0 0 var(--border-radius-lg);
41
41
  position: relative;
@@ -46,8 +46,7 @@
46
46
  display: flex;
47
47
  align-items: center;
48
48
  flex: 1;
49
- border: var(--border-width-default) solid var(--color-neutral-200);
50
- /* border-left: none; */
49
+ border: var(--border-width-default) solid var(--border-color-default);
51
50
  border-radius: 0 var(--border-radius-lg) var(--border-radius-lg) 0;
52
51
  }
53
52
 
@@ -67,7 +66,7 @@
67
66
  top: 0;
68
67
  bottom: 0;
69
68
  width: 2px;
70
- background-color: var(--color-neutral-200);
69
+ background-color: var(--border-color-default);
71
70
  }
72
71
 
73
72
  .ibis-input__field {
@@ -88,7 +87,7 @@
88
87
 
89
88
  .ibis-input__help {
90
89
  font-size: var(--font-size-body-sm);
91
- color: var(--color-neutral-500);
90
+ color: var(--color-text-muted);
92
91
  }
93
92
 
94
93
  .ibis-input__error {
@@ -96,7 +95,6 @@
96
95
  color: var(--color-status-error);
97
96
  }
98
97
 
99
- /* sizes */
100
98
  .ibis-input--sm .ibis-input__field-wrapper {
101
99
  padding: var(--spacing-1) var(--spacing-2);
102
100
  }
@@ -111,11 +109,11 @@
111
109
 
112
110
  .ibis-input:not(.ibis-input--disabled):not(.ibis-input--invalid)
113
111
  .ibis-input__field-wrapper:not(:focus-within):hover {
114
- border-color: var(--color-neutral-300);
112
+ border-color: var(--border-color-strong);
115
113
  }
116
114
 
117
115
  .ibis-input__field-wrapper:focus-within {
118
- border-color: var(--color-primary-400);
116
+ border-color: var(--border-color-focus);
119
117
  }
120
118
 
121
119
  .ibis-input--invalid .ibis-input__field-wrapper {
@@ -133,20 +131,19 @@
133
131
  }
134
132
 
135
133
  .ibis-input__wrapper:not(:focus-within):hover .ibis-input__prepend::after {
136
- background-color: var(--color-neutral-300);
134
+ background-color: var(--border-color-strong);
137
135
  }
138
136
 
139
137
  .ibis-input__wrapper:focus-within .ibis-input__prepend::after {
140
- background-color: var(--color-primary-400);
138
+ background-color: var(--border-color-focus);
141
139
  }
142
140
 
143
141
  .ibis-input--invalid .ibis-input__prepend::after {
144
142
  background-color: var(--color-status-error);
145
143
  }
146
144
 
147
- /* disabled */
148
145
  .ibis-input--disabled .ibis-input__prepend,
149
146
  .ibis-input--disabled .ibis-input__field-wrapper {
150
- background-color: var(--color-neutral-400);
147
+ background-color: var(--color-interactive-primary-bg-disabled);
151
148
  opacity: var(--opacity-5);
152
149
  }
@@ -8,7 +8,7 @@
8
8
 
9
9
  .ibis-input__label {
10
10
  font-size: var(--font-size-body-md);
11
- color: var(--color-neutral-700);
11
+ color: var(--color-text-secondary);
12
12
  }
13
13
 
14
14
  .ibis-input__wrapper {
@@ -16,8 +16,8 @@
16
16
  flex-direction: column0;
17
17
  border-radius: var(--border-radius-lg);
18
18
  overflow: hidden;
19
- background-color: var(--color-neutral-100);
20
- border: var(--border-width-default) solid var(--color-neutral-200);
19
+ background-color: var(--color-surface-muted);
20
+ border: var(--border-width-default) solid var(--border-color-default);
21
21
  }
22
22
 
23
23
  .ibis-input__field {
@@ -30,7 +30,6 @@
30
30
  font-family: var(--font-family-sans);
31
31
  font-size: inherit;
32
32
  resize: vertical;
33
- /* min-height: 80px; */
34
33
  line-height: 1.4;
35
34
  display: block;
36
35
  box-sizing: border-box;
@@ -38,7 +37,7 @@
38
37
 
39
38
  .ibis-input__help {
40
39
  font-size: var(--font-size-body-sm);
41
- color: var(--color-neutral-500);
40
+ color: var(--color-text-muted);
42
41
  }
43
42
 
44
43
  .ibis-input__error {
@@ -46,7 +45,6 @@
46
45
  color: var(--color-status-error);
47
46
  }
48
47
 
49
- /* Sizes */
50
48
  .ibis-input--sm .ibis-input__field {
51
49
  padding: var(--spacing-1) var(--spacing-2);
52
50
  }
@@ -59,18 +57,15 @@
59
57
  padding: var(--spacing-3) var(--spacing-4);
60
58
  }
61
59
 
62
- /* Hover */
63
60
  .ibis-input:not(.ibis-input--disabled):not(.ibis-input--invalid)
64
61
  .ibis-input__wrapper:not(:focus-within):hover {
65
- border-color: var(--color-neutral-300);
62
+ border-color: var(--border-color-strong);
66
63
  }
67
64
 
68
- /* Focus */
69
65
  .ibis-input__wrapper:focus-within {
70
- border-color: var(--color-primary-400);
66
+ border-color: var(--border-color-focus);
71
67
  }
72
68
 
73
- /* Invalid */
74
69
  .ibis-input--invalid .ibis-input__wrapper {
75
70
  border-color: var(--color-status-error);
76
71
  border-width: var(--border-width-thin);
@@ -84,8 +79,7 @@
84
79
  border-width: var(--border-width-default);
85
80
  }
86
81
 
87
- /* Disabled */
88
82
  .ibis-input--disabled .ibis-input__wrapper {
89
- background-color: var(--color-neutral-400);
83
+ background-color: var(--color-interactive-primary-bg-disabled);
90
84
  opacity: 0.5;
91
85
  }