@oscarpalmer/oui 0.5.0 → 0.7.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.
@@ -1,468 +1,102 @@
1
1
  :root {
2
- --oui-blue-0: #f4f8fd;
3
- --oui-blue-1: color-mix(
4
- in srgb,
5
- var(--oui-blue-0),
6
- var(--oui-blue-6) 5%
7
- );
8
- --oui-blue-2: color-mix(
9
- in srgb,
10
- var(--oui-blue-0),
11
- var(--oui-blue-6) 15%
12
- );
13
- --oui-blue-3: color-mix(
14
- in srgb,
15
- var(--oui-blue-0),
16
- var(--oui-blue-6) 30%
17
- );
18
- --oui-blue-4: color-mix(
19
- in srgb,
20
- var(--oui-blue-0),
21
- var(--oui-blue-6) 50%
22
- );
23
- --oui-blue-5: color-mix(
24
- in srgb,
25
- var(--oui-blue-0),
26
- var(--oui-blue-6) 75%
27
- );
28
- --oui-blue-6: #48d;
29
- --oui-blue-7: color-mix(
30
- in srgb,
31
- var(--oui-blue-10),
32
- var(--oui-blue-6) 75%
33
- );
34
- --oui-blue-8: color-mix(
35
- in srgb,
36
- var(--oui-blue-10),
37
- var(--oui-blue-6) 50%
38
- );
39
- --oui-blue-9: color-mix(
40
- in srgb,
41
- var(--oui-blue-10),
42
- var(--oui-blue-6) 25%
43
- );
44
- --oui-blue-10: #123;
45
- }
46
- @media (prefers-color-scheme: dark) {
47
- :root {
48
- --oui-blue-0: #012;
49
- --oui-blue-6: #15a;
50
- --oui-blue-10: #d1d5da;
51
- }
52
- }
53
- :root {
54
- --oui-green-0: #f4fbf5;
55
- --oui-green-1: color-mix(
56
- in srgb,
57
- var(--oui-green-0),
58
- var(--oui-green-6) 5%
59
- );
60
- --oui-green-2: color-mix(
61
- in srgb,
62
- var(--oui-green-0),
63
- var(--oui-green-6) 15%
64
- );
65
- --oui-green-3: color-mix(
66
- in srgb,
67
- var(--oui-green-0),
68
- var(--oui-green-6) 30%
69
- );
70
- --oui-green-4: color-mix(
71
- in srgb,
72
- var(--oui-green-0),
73
- var(--oui-green-6) 50%
74
- );
75
- --oui-green-5: color-mix(
76
- in srgb,
77
- var(--oui-green-0),
78
- var(--oui-green-6) 75%
79
- );
80
- --oui-green-6: #4b5;
81
- --oui-green-7: color-mix(
82
- in srgb,
83
- var(--oui-green-10),
84
- var(--oui-green-6) 75%
85
- );
86
- --oui-green-8: color-mix(
87
- in srgb,
88
- var(--oui-green-10),
89
- var(--oui-green-6) 50%
90
- );
91
- --oui-green-9: color-mix(
92
- in srgb,
93
- var(--oui-green-10),
94
- var(--oui-green-6) 25%
95
- );
96
- --oui-green-10: #231;
97
- }
98
- @media (prefers-color-scheme: dark) {
99
- :root {
100
- --oui-green-0: #0a1a0a;
101
- --oui-green-6: #182;
102
- --oui-green-10: #d1d8d2;
103
- }
104
- }
105
- :root {
106
- --oui-grey-0: #f8f8f8;
107
- --oui-grey-1: color-mix(
108
- in srgb,
109
- var(--oui-grey-0),
110
- var(--oui-grey-6) 5%
111
- );
112
- --oui-grey-2: color-mix(
113
- in srgb,
114
- var(--oui-grey-0),
115
- var(--oui-grey-6) 15%
116
- );
117
- --oui-grey-3: color-mix(
118
- in srgb,
119
- var(--oui-grey-0),
120
- var(--oui-grey-6) 30%
121
- );
122
- --oui-grey-4: color-mix(
123
- in srgb,
124
- var(--oui-grey-0),
125
- var(--oui-grey-6) 50%
126
- );
127
- --oui-grey-5: color-mix(
128
- in srgb,
129
- var(--oui-grey-0),
130
- var(--oui-grey-6) 75%
131
- );
132
- --oui-grey-6: #888;
133
- --oui-grey-7: color-mix(
134
- in srgb,
135
- var(--oui-grey-10),
136
- var(--oui-grey-6) 75%
137
- );
138
- --oui-grey-8: color-mix(
139
- in srgb,
140
- var(--oui-grey-10),
141
- var(--oui-grey-6) 50%
142
- );
143
- --oui-grey-9: color-mix(
144
- in srgb,
145
- var(--oui-grey-10),
146
- var(--oui-grey-6) 25%
147
- );
148
- --oui-grey-10: #222;
149
- }
150
- @media (prefers-color-scheme: dark) {
151
- :root {
152
- --oui-grey-0: #111;
153
- --oui-grey-6: #555;
154
- --oui-grey-10: #d8d8d8;
155
- }
156
- }
157
- :root {
158
- --oui-orange-0: #fef7f2;
159
- --oui-orange-1: color-mix(
160
- in srgb,
161
- var(--oui-orange-0),
162
- var(--oui-orange-6) 5%
163
- );
164
- --oui-orange-2: color-mix(
165
- in srgb,
166
- var(--oui-orange-0),
167
- var(--oui-orange-6) 15%
168
- );
169
- --oui-orange-3: color-mix(
170
- in srgb,
171
- var(--oui-orange-0),
172
- var(--oui-orange-6) 30%
173
- );
174
- --oui-orange-4: color-mix(
175
- in srgb,
176
- var(--oui-orange-0),
177
- var(--oui-orange-6) 50%
178
- );
179
- --oui-orange-5: color-mix(
180
- in srgb,
181
- var(--oui-orange-0),
182
- var(--oui-orange-6) 75%
183
- );
184
- --oui-orange-6: #e72;
185
- --oui-orange-7: color-mix(
186
- in srgb,
187
- var(--oui-orange-10),
188
- var(--oui-orange-6) 75%
189
- );
190
- --oui-orange-8: color-mix(
191
- in srgb,
192
- var(--oui-orange-10),
193
- var(--oui-orange-6) 50%
194
- );
195
- --oui-orange-9: color-mix(
196
- in srgb,
197
- var(--oui-orange-10),
198
- var(--oui-orange-6) 25%
199
- );
200
- --oui-orange-10: #420;
201
- }
202
- @media (prefers-color-scheme: dark) {
203
- :root {
204
- --oui-orange-0: #2a1500;
205
- --oui-orange-6: #b40;
206
- --oui-orange-10: #dbd4d0;
207
- }
208
- }
209
- :root {
210
- --oui-purple-0: #fcf7fb;
211
- --oui-purple-1: color-mix(
212
- in srgb,
213
- var(--oui-purple-0),
214
- var(--oui-purple-6) 5%
215
- );
216
- --oui-purple-2: color-mix(
217
- in srgb,
218
- var(--oui-purple-0),
219
- var(--oui-purple-6) 15%
220
- );
221
- --oui-purple-3: color-mix(
222
- in srgb,
223
- var(--oui-purple-0),
224
- var(--oui-purple-6) 30%
225
- );
226
- --oui-purple-4: color-mix(
227
- in srgb,
228
- var(--oui-purple-0),
229
- var(--oui-purple-6) 50%
230
- );
231
- --oui-purple-5: color-mix(
232
- in srgb,
233
- var(--oui-purple-0),
234
- var(--oui-purple-6) 75%
235
- );
236
- --oui-purple-6: #c7b;
237
- --oui-purple-7: color-mix(
238
- in srgb,
239
- var(--oui-purple-10),
240
- var(--oui-purple-6) 75%
241
- );
242
- --oui-purple-8: color-mix(
243
- in srgb,
244
- var(--oui-purple-10),
245
- var(--oui-purple-6) 50%
246
- );
247
- --oui-purple-9: color-mix(
248
- in srgb,
249
- var(--oui-purple-10),
250
- var(--oui-purple-6) 25%
251
- );
252
- --oui-purple-10: #313;
253
- }
254
- @media (prefers-color-scheme: dark) {
255
- :root {
256
- --oui-purple-0: #1a0a1a;
257
- --oui-purple-6: #94a;
258
- --oui-purple-10: #d9d4da;
259
- }
260
- }
261
- :root {
262
- --oui-slate-0: #f6f7f8;
263
- --oui-slate-1: color-mix(
264
- in srgb,
265
- var(--oui-slate-0),
266
- var(--oui-slate-6) 5%
267
- );
268
- --oui-slate-2: color-mix(
269
- in srgb,
270
- var(--oui-slate-0),
271
- var(--oui-slate-6) 15%
272
- );
273
- --oui-slate-3: color-mix(
274
- in srgb,
275
- var(--oui-slate-0),
276
- var(--oui-slate-6) 30%
277
- );
278
- --oui-slate-4: color-mix(
279
- in srgb,
280
- var(--oui-slate-0),
281
- var(--oui-slate-6) 50%
282
- );
283
- --oui-slate-5: color-mix(
284
- in srgb,
285
- var(--oui-slate-0),
286
- var(--oui-slate-6) 75%
287
- );
288
- --oui-slate-6: #708090;
289
- --oui-slate-7: color-mix(
290
- in srgb,
291
- var(--oui-slate-10),
292
- var(--oui-slate-6) 75%
293
- );
294
- --oui-slate-8: color-mix(
295
- in srgb,
296
- var(--oui-slate-10),
297
- var(--oui-slate-6) 50%
298
- );
299
- --oui-slate-9: color-mix(
300
- in srgb,
301
- var(--oui-slate-10),
302
- var(--oui-slate-6) 25%
303
- );
304
- --oui-slate-10: #242f2f;
305
- }
306
- @media (prefers-color-scheme: dark) {
307
- :root {
308
- --oui-slate-0: #011;
309
- --oui-slate-6: #405060;
310
- --oui-slate-10: #d6d7d8;
311
- }
312
- }
313
- :root {
314
- --oui-stone-0: #f8f8f6;
315
- --oui-stone-1: color-mix(
316
- in srgb,
317
- var(--oui-stone-0),
318
- var(--oui-stone-6) 5%
319
- );
320
- --oui-stone-2: color-mix(
321
- in srgb,
322
- var(--oui-stone-0),
323
- var(--oui-stone-6) 15%
324
- );
325
- --oui-stone-3: color-mix(
326
- in srgb,
327
- var(--oui-stone-0),
328
- var(--oui-stone-6) 30%
329
- );
330
- --oui-stone-4: color-mix(
331
- in srgb,
332
- var(--oui-stone-0),
333
- var(--oui-stone-6) 50%
334
- );
335
- --oui-stone-5: color-mix(
336
- in srgb,
337
- var(--oui-stone-0),
338
- var(--oui-stone-6) 75%
339
- );
340
- --oui-stone-6: #928e85;
341
- --oui-stone-7: color-mix(
342
- in srgb,
343
- var(--oui-stone-10),
344
- var(--oui-stone-6) 75%
345
- );
346
- --oui-stone-8: color-mix(
347
- in srgb,
348
- var(--oui-stone-10),
349
- var(--oui-stone-6) 50%
350
- );
351
- --oui-stone-9: color-mix(
352
- in srgb,
353
- var(--oui-stone-10),
354
- var(--oui-stone-6) 25%
355
- );
356
- --oui-stone-10: #2f2f24;
357
- }
358
- @media (prefers-color-scheme: dark) {
359
- :root {
360
- --oui-stone-0: #110;
361
- --oui-stone-6: #625e55;
362
- --oui-stone-10: #d8d8d6;
363
- }
364
- }
365
- :root {
366
- --oui-red-0: #fdf4f4;
367
- --oui-red-1: color-mix(
368
- in srgb,
369
- var(--oui-red-0),
370
- var(--oui-red-6) 5%
371
- );
372
- --oui-red-2: color-mix(
373
- in srgb,
374
- var(--oui-red-0),
375
- var(--oui-red-6) 15%
376
- );
377
- --oui-red-3: color-mix(
378
- in srgb,
379
- var(--oui-red-0),
380
- var(--oui-red-6) 30%
381
- );
382
- --oui-red-4: color-mix(
383
- in srgb,
384
- var(--oui-red-0),
385
- var(--oui-red-6) 50%
386
- );
387
- --oui-red-5: color-mix(
388
- in srgb,
389
- var(--oui-red-0),
390
- var(--oui-red-6) 75%
391
- );
392
- --oui-red-6: #d44;
393
- --oui-red-7: color-mix(
394
- in srgb,
395
- var(--oui-red-10),
396
- var(--oui-red-6) 75%
397
- );
398
- --oui-red-8: color-mix(
399
- in srgb,
400
- var(--oui-red-10),
401
- var(--oui-red-6) 50%
402
- );
403
- --oui-red-9: color-mix(
404
- in srgb,
405
- var(--oui-red-10),
406
- var(--oui-red-6) 25%
407
- );
408
- --oui-red-10: #422;
409
- }
410
- @media (prefers-color-scheme: dark) {
411
- :root {
412
- --oui-red-0: #200;
413
- --oui-red-6: #a11;
414
- --oui-red-10: #dad1d1;
415
- }
416
- }
417
- :root {
418
- --oui-yellow-0: #fefbf0;
419
- --oui-yellow-1: color-mix(
420
- in srgb,
421
- var(--oui-yellow-0),
422
- var(--oui-yellow-6) 5%
423
- );
424
- --oui-yellow-2: color-mix(
425
- in srgb,
426
- var(--oui-yellow-0),
427
- var(--oui-yellow-6) 15%
428
- );
429
- --oui-yellow-3: color-mix(
430
- in srgb,
431
- var(--oui-yellow-0),
432
- var(--oui-yellow-6) 30%
433
- );
434
- --oui-yellow-4: color-mix(
435
- in srgb,
436
- var(--oui-yellow-0),
437
- var(--oui-yellow-6) 50%
438
- );
439
- --oui-yellow-5: color-mix(
440
- in srgb,
441
- var(--oui-yellow-0),
442
- var(--oui-yellow-6) 75%
443
- );
444
- --oui-yellow-6: #eb0;
445
- --oui-yellow-7: color-mix(
446
- in srgb,
447
- var(--oui-yellow-10),
448
- var(--oui-yellow-6) 75%
449
- );
450
- --oui-yellow-8: color-mix(
451
- in srgb,
452
- var(--oui-yellow-10),
453
- var(--oui-yellow-6) 50%
454
- );
455
- --oui-yellow-9: color-mix(
456
- in srgb,
457
- var(--oui-yellow-10),
458
- var(--oui-yellow-6) 25%
459
- );
460
- --oui-yellow-10: #320;
461
- }
462
- @media (prefers-color-scheme: dark) {
463
- :root {
464
- --oui-yellow-0: #281f00;
465
- --oui-yellow-6: #b80;
466
- --oui-yellow-10: #dbd8d0;
467
- }
2
+ --oui-absolute: light-dark(white, black);
3
+ --oui-blue-0: light-dark(oklch(0.97 0.01 260), oklch(0.18 0.1 250));
4
+ --oui-blue-1: light-dark(oklch(0.94 0.03 259), oklch(0.24 0.12 251));
5
+ --oui-blue-2: light-dark(oklch(0.88 0.05 258), oklch(0.36 0.14 252));
6
+ --oui-blue-3: light-dark(oklch(0.82 0.07 257), oklch(0.48 0.18 253));
7
+ --oui-blue-4: light-dark(oklch(0.75 0.09 256), oklch(0.58 0.18 254));
8
+ --oui-blue-5: light-dark(oklch(0.67 0.11 255), oklch(0.67 0.14 255));
9
+ --oui-blue-6: light-dark(oklch(0.58 0.14 254), oklch(0.75 0.11 256));
10
+ --oui-blue-7: light-dark(oklch(0.48 0.18 253), oklch(0.82 0.09 257));
11
+ --oui-blue-8: light-dark(oklch(0.36 0.14 252), oklch(0.88 0.07 258));
12
+ --oui-blue-9: light-dark(oklch(0.24 0.12 251), oklch(0.94 0.05 259));
13
+ --oui-blue-10: light-dark(oklch(0.18 0.1 250), oklch(0.97 0.03 260));
14
+ --oui-green-0: light-dark(oklch(0.97 0.01 150), oklch(0.18 0.1 140));
15
+ --oui-green-1: light-dark(oklch(0.94 0.03 149), oklch(0.24 0.12 141));
16
+ --oui-green-2: light-dark(oklch(0.88 0.05 148), oklch(0.36 0.14 142));
17
+ --oui-green-3: light-dark(oklch(0.82 0.07 147), oklch(0.48 0.16 143));
18
+ --oui-green-4: light-dark(oklch(0.75 0.09 146), oklch(0.58 0.14 144));
19
+ --oui-green-5: light-dark(oklch(0.67 0.11 145), oklch(0.67 0.13 145));
20
+ --oui-green-6: light-dark(oklch(0.58 0.14 144), oklch(0.75 0.11 146));
21
+ --oui-green-7: light-dark(oklch(0.48 0.16 143), oklch(0.82 0.07 147));
22
+ --oui-green-8: light-dark(oklch(0.36 0.14 142), oklch(0.88 0.05 148));
23
+ --oui-green-9: light-dark(oklch(0.24 0.12 141), oklch(0.94 0.03 149));
24
+ --oui-green-10: light-dark(oklch(0.18 0.1 140), oklch(0.97 0.01 150));
25
+ --oui-orange-0: light-dark(oklch(0.975 0.02 60), oklch(0.1875 0.1 50));
26
+ --oui-orange-1: light-dark(oklch(0.94 0.03 59), oklch(0.255 0.125 51));
27
+ --oui-orange-2: light-dark(oklch(0.88 0.05 58), oklch(0.385 0.15 52));
28
+ --oui-orange-3: light-dark(oklch(0.82 0.08 57), oklch(0.515 0.18 53));
29
+ --oui-orange-4: light-dark(oklch(0.75 0.11 56), oklch(0.635 0.2 54));
30
+ --oui-orange-5: light-dark(oklch(0.67 0.13 55), oklch(0.735 0.18 55));
31
+ --oui-orange-6: light-dark(oklch(0.57 0.16 54), oklch(0.795 0.14 56));
32
+ --oui-orange-7: light-dark(oklch(0.46 0.15 53), oklch(0.855 0.12 57));
33
+ --oui-orange-8: light-dark(oklch(0.34 0.12 53), oklch(0.905 0.08 58));
34
+ --oui-orange-9: light-dark(oklch(0.24 0.11 51), oklch(0.945 0.04 59));
35
+ --oui-orange-10: light-dark(oklch(0.18 0.1 50), oklch(0.975 0.02 60));
36
+ --oui-purple-0: light-dark(oklch(0.97 0.01 300), oklch(0.18 0.1 290));
37
+ --oui-purple-1: light-dark(oklch(0.94 0.03 299), oklch(0.24 0.12 291));
38
+ --oui-purple-2: light-dark(oklch(0.88 0.05 298), oklch(0.36 0.13 292));
39
+ --oui-purple-3: light-dark(oklch(0.82 0.07 297), oklch(0.48 0.15 293));
40
+ --oui-purple-4: light-dark(oklch(0.75 0.09 296), oklch(0.58 0.13 294));
41
+ --oui-purple-5: light-dark(oklch(0.67 0.11 295), oklch(0.67 0.11 295));
42
+ --oui-purple-6: light-dark(oklch(0.58 0.13 294), oklch(0.75 0.09 296));
43
+ --oui-purple-7: light-dark(oklch(0.48 0.15 293), oklch(0.82 0.07 297));
44
+ --oui-purple-8: light-dark(oklch(0.36 0.13 292), oklch(0.88 0.05 298));
45
+ --oui-purple-9: light-dark(oklch(0.24 0.12 291), oklch(0.94 0.03 299));
46
+ --oui-purple-10: light-dark(oklch(0.18 0.1 290), oklch(0.97 0.01 300));
47
+ --oui-red-0: light-dark(oklch(0.97 0.01 15), oklch(0.18 0.1 25));
48
+ --oui-red-1: light-dark(oklch(0.94 0.03 16), oklch(0.24 0.125 24));
49
+ --oui-red-2: light-dark(oklch(0.88 0.05 17), oklch(0.36 0.15 23));
50
+ --oui-red-3: light-dark(oklch(0.82 0.07 18), oklch(0.48 0.18 22));
51
+ --oui-red-4: light-dark(oklch(0.75 0.09 19), oklch(0.58 0.14 21));
52
+ --oui-red-5: light-dark(oklch(0.67 0.11 20), oklch(0.67 0.11 20));
53
+ --oui-red-6: light-dark(oklch(0.58 0.14 21), oklch(0.75 0.09 19));
54
+ --oui-red-7: light-dark(oklch(0.48 0.18 22), oklch(0.82 0.07 18));
55
+ --oui-red-8: light-dark(oklch(0.36 0.15 23), oklch(0.88 0.05 17));
56
+ --oui-red-9: light-dark(oklch(0.24 0.125 24), oklch(0.94 0.03 16));
57
+ --oui-red-10: light-dark(oklch(0.18 0.1 25), oklch(0.97 0.01 15));
58
+ --oui-yellow-0: light-dark(oklch(0.975 0.02 100), oklch(0.1875 0.1 90));
59
+ --oui-yellow-1: light-dark(oklch(0.945 0.04 99), oklch(0.255 0.125 91));
60
+ --oui-yellow-2: light-dark(oklch(0.905 0.08 98), oklch(0.385 0.15 92));
61
+ --oui-yellow-3: light-dark(oklch(0.855 0.12 97), oklch(0.515 0.18 93));
62
+ --oui-yellow-4: light-dark(oklch(0.795 0.14 96), oklch(0.635 0.2 94));
63
+ --oui-yellow-5: light-dark(oklch(0.735 0.18 95), oklch(0.735 0.18 95));
64
+ --oui-yellow-6: light-dark(oklch(0.635 0.2 94), oklch(0.795 0.14 96));
65
+ --oui-yellow-7: light-dark(oklch(0.515 0.18 93), oklch(0.855 0.12 97));
66
+ --oui-yellow-8: light-dark(oklch(0.385 0.15 92), oklch(0.905 0.08 98));
67
+ --oui-yellow-9: light-dark(oklch(0.255 0.125 91), oklch(0.945 0.04 99));
68
+ --oui-yellow-10: light-dark(oklch(0.1875 0.1 90), oklch(0.975 0.02 100));
69
+ --oui-grey-0: light-dark(oklch(0.97 0 0), oklch(0.18 0 0));
70
+ --oui-grey-1: light-dark(oklch(0.94 0 0), oklch(0.24 0 0));
71
+ --oui-grey-2: light-dark(oklch(0.88 0 0), oklch(0.36 0 0));
72
+ --oui-grey-3: light-dark(oklch(0.82 0 0), oklch(0.48 0 0));
73
+ --oui-grey-4: light-dark(oklch(0.75 0 0), oklch(0.58 0 0));
74
+ --oui-grey-5: light-dark(oklch(0.67 0 0), oklch(0.67 0 0));
75
+ --oui-grey-6: light-dark(oklch(0.58 0 0), oklch(0.75 0 0));
76
+ --oui-grey-7: light-dark(oklch(0.48 0 0), oklch(0.82 0 0));
77
+ --oui-grey-8: light-dark(oklch(0.36 0 0), oklch(0.88 0 0));
78
+ --oui-grey-9: light-dark(oklch(0.24 0 0), oklch(0.94 0 0));
79
+ --oui-grey-10: light-dark(oklch(0.18 0 0), oklch(0.97 0 0));
80
+ --oui-slate-0: light-dark(oklch(0.97 0.005 255), oklch(0.18 0.005 255));
81
+ --oui-slate-1: light-dark(oklch(0.94 0.005 255), oklch(0.24 0.005 255));
82
+ --oui-slate-2: light-dark(oklch(0.88 0.01 255), oklch(0.36 0.01 255));
83
+ --oui-slate-3: light-dark(oklch(0.82 0.01 255), oklch(0.48 0.01 255));
84
+ --oui-slate-4: light-dark(oklch(0.75 0.02 255), oklch(0.58 0.02 255));
85
+ --oui-slate-5: light-dark(oklch(0.67 0.02 255), oklch(0.67 0.02 255));
86
+ --oui-slate-6: light-dark(oklch(0.58 0.02 255), oklch(0.75 0.02 255));
87
+ --oui-slate-7: light-dark(oklch(0.48 0.01 255), oklch(0.82 0.01 255));
88
+ --oui-slate-8: light-dark(oklch(0.36 0.01 255), oklch(0.88 0.01 255));
89
+ --oui-slate-9: light-dark(oklch(0.24 0.005 255), oklch(0.94 0.005 255));
90
+ --oui-slate-10: light-dark(oklch(0.18 0.005 255), oklch(0.97 0.005 255));
91
+ --oui-stone-0: light-dark(oklch(0.97 0.005 95), oklch(0.18 0.005 95));
92
+ --oui-stone-1: light-dark(oklch(0.94 0.005 95), oklch(0.24 0.005 95));
93
+ --oui-stone-2: light-dark(oklch(0.9 0.01 95), oklch(0.36 0.01 95));
94
+ --oui-stone-3: light-dark(oklch(0.82 0.01 95), oklch(0.48 0.01 95));
95
+ --oui-stone-4: light-dark(oklch(0.75 0.02 95), oklch(0.58 0.02 95));
96
+ --oui-stone-5: light-dark(oklch(0.67 0.02 95), oklch(0.67 0.02 95));
97
+ --oui-stone-6: light-dark(oklch(0.58 0.02 95), oklch(0.75 0.02 95));
98
+ --oui-stone-7: light-dark(oklch(0.48 0.01 95), oklch(0.82 0.01 95));
99
+ --oui-stone-8: light-dark(oklch(0.36 0.01 95), oklch(0.9 0.01 95));
100
+ --oui-stone-9: light-dark(oklch(0.24 0.005 95), oklch(0.94 0.005 95));
101
+ --oui-stone-10: light-dark(oklch(0.18 0.005 95), oklch(0.97 0.005 95));
468
102
  }
package/dist/css/form.css CHANGED
@@ -9,9 +9,10 @@
9
9
  padding: 0.5em 0.75em;
10
10
  outline: 3px solid transparent;
11
11
  outline-offset: 0;
12
- border-color: var(--oui-grey-4);
12
+ background-color: var(--oui-absolute);
13
+ border-color: var(--oui-grey-3);
13
14
  border-radius: 0.25em;
14
- box-shadow: inset 0 1px 2px 0 color-mix(in srgb, var(--oui-grey-10), transparent 75%);
15
+ box-shadow: inset 0 1px 2px 0 color-mix(in srgb, var(--oui-grey-10), transparent 80%);
15
16
  transition: 0.125s ease-in-out;
16
17
  }
17
18
  :where(.oui-input:not(textarea)) {
@@ -31,20 +32,21 @@
31
32
  }
32
33
  :where(.oui-input.oui-validateable:not([disabled], [aria-disabled=true]):is(:user-invalid,
33
34
  [aria-invalid=true])) {
34
- outline-color: color-mix(in srgb, var(--oui-red-4), transparent 75%);
35
+ outline-color: color-mix(in srgb, var(--oui-red-6), transparent 60%);
35
36
  border-color: var(--oui-red-6);
36
37
  }
37
38
  :where(.oui-input.oui-validateable:not([disabled], [aria-disabled=true]):is(:user-valid,
38
39
  [aria-invalid=false])) {
39
- outline-color: color-mix(in srgb, var(--oui-green-4), transparent 75%);
40
+ outline-color: color-mix(in srgb, var(--oui-green-6), transparent 60%);
40
41
  border-color: var(--oui-green-6);
41
42
  }
42
43
  :where(.oui-input:not([disabled], [aria-disabled=true]):focus) {
43
- outline-color: var(--oui-blue-4);
44
+ outline-color: color-mix(in srgb, var(--oui-blue-6), transparent 60%);
44
45
  border-color: var(--oui-blue-6);
45
46
  }
46
47
  @media (hover: hover) {
47
48
  :where(.oui-input:not([disabled], [aria-disabled=true]):hover) {
49
+ outline-color: color-mix(in srgb, var(--oui-blue-6), transparent 80%);
48
50
  border-color: var(--oui-blue-6);
49
51
  }
50
52
  }
@@ -82,14 +84,58 @@
82
84
  border-radius: 0.25em;
83
85
  }
84
86
 
85
- :where(.oui-toggle) {
86
- padding: 0 0 0 2em;
87
+ :where(.oui-switch, .oui-toggle) {
87
88
  position: relative;
88
89
  cursor: pointer;
89
90
  }
90
- :where(.oui-toggle)::before, :where(.oui-toggle)::after {
91
+ :where(.oui-switch, .oui-toggle)::before, :where(.oui-switch, .oui-toggle)::after {
92
+ font-family: system-ui, sans-serif;
91
93
  position: absolute;
92
94
  transition: 0.125s ease-in-out;
95
+ pointer-events: none;
96
+ }
97
+ :where(.oui-switch, .oui-toggle)::before {
98
+ outline: 3px solid transparent;
99
+ outline-offset: 0;
100
+ }
101
+
102
+ :where(.oui-switch) {
103
+ padding: 0 3em 0 0;
104
+ }
105
+ :where(.oui-switch)::before {
106
+ content: "";
107
+ width: 2.5em;
108
+ height: 1.5em;
109
+ display: inline-block;
110
+ background-color: var(--oui-grey-0);
111
+ border: 1px solid var(--oui-grey-3);
112
+ border-radius: 3em;
113
+ right: 0;
114
+ }
115
+ :where(.oui-switch)::after {
116
+ content: "✕";
117
+ width: 1.5em;
118
+ height: 1.5em;
119
+ background-color: var(--oui-absolute);
120
+ border-radius: 1.5em;
121
+ box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.125);
122
+ color: var(--oui-grey-8);
123
+ font-size: 0.75em;
124
+ font-weight: bold;
125
+ line-height: 1.5em;
126
+ text-align: center;
127
+ top: 0.25em;
128
+ right: 1.5em;
129
+ }
130
+ :where(.oui-switch:has(input:checked))::after {
131
+ content: "✓";
132
+ box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25);
133
+ color: var(--oui-blue-8);
134
+ right: 0.25em;
135
+ }
136
+
137
+ :where(.oui-toggle) {
138
+ padding: 0 0 0 2em;
93
139
  }
94
140
  :where(.oui-toggle)::before {
95
141
  content: "";
@@ -97,11 +143,8 @@
97
143
  height: 1.5em;
98
144
  display: inline-block;
99
145
  background-color: transparent;
100
- outline: 3px solid transparent;
101
- outline-offset: 0;
102
146
  border: 1px solid var(--oui-grey-4);
103
147
  inset: 0 auto auto 0;
104
- pointer-events: none;
105
148
  }
106
149
  :where(.oui-toggle)::after {
107
150
  opacity: 0;
@@ -127,49 +170,69 @@
127
170
  content: "";
128
171
  width: 0.75em;
129
172
  height: 0.75em;
130
- background-color: white;
173
+ background-color: var(--oui-absolute);
131
174
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.5);
132
175
  inset: 0.375em auto auto 0.375em;
133
176
  }
134
- :where(.oui-toggle:has(input:checked))::before {
177
+ :where(.oui-toggle:has(input:checked))::after {
178
+ opacity: 1;
179
+ }
180
+
181
+ :where(.oui-switch:has(input:checked),
182
+ .oui-toggle:has(input:checked))::before {
135
183
  background-color: var(--oui-blue-6);
136
184
  border-color: transparent;
137
185
  }
138
- :where(.oui-toggle:has(input:checked))::after {
139
- opacity: 1;
186
+ :where(.oui-switch:has(input:not([disabled], [aria-disabled=true])):focus-within,
187
+ .oui-toggle:has(input:not([disabled], [aria-disabled=true])):focus-within) {
188
+ color: var(--oui-blue-8);
140
189
  }
141
- :where(.oui-toggle:has(input:not([disabled], [aria-disabled=true])):focus-within)::before {
142
- outline-color: var(--oui-blue-4);
143
- border-color: white;
190
+ :where(.oui-switch:has(input:not([disabled], [aria-disabled=true])):focus-within,
191
+ .oui-toggle:has(input:not([disabled], [aria-disabled=true])):focus-within)::before {
192
+ outline-color: color-mix(in srgb, var(--oui-blue-6), transparent 60%);
193
+ border-color: var(--oui-absolute);
144
194
  }
145
195
  @media (hover: hover) {
146
- :where(.oui-toggle:has(input:not([disabled], [aria-disabled=true])):hover)::before {
196
+ :where(.oui-switch:has(input:not([disabled], [aria-disabled=true])):hover,
197
+ .oui-toggle:has(input:not([disabled], [aria-disabled=true])):hover) {
198
+ color: var(--oui-blue-8);
199
+ }
200
+ :where(.oui-switch:has(input:not([disabled], [aria-disabled=true])):hover,
201
+ .oui-toggle:has(input:not([disabled], [aria-disabled=true])):hover)::before {
202
+ outline-color: color-mix(in srgb, var(--oui-blue-6), transparent 80%);
147
203
  border-color: var(--oui-blue-6);
148
204
  }
149
- :where(.oui-toggle:has(input:not([disabled], [aria-disabled=true]):is(:checked)):hover)::before {
150
- background-color: color-mix(in srgb, var(--oui-blue-6), transparent 50%);
205
+ :where(.oui-switch:has(input:not([disabled], [aria-disabled=true]):is(:checked)):hover,
206
+ .oui-toggle:has(input:not([disabled], [aria-disabled=true]):is(:checked)):hover)::before {
207
+ background-color: color-mix(in srgb, var(--oui-blue-6), transparent 40%);
151
208
  }
152
209
  }
153
- :where(.oui-toggle:has(input[disabled], input[aria-disabled=true])) {
210
+ :where(.oui-switch:has(input[disabled], input[aria-disabled=true]),
211
+ .oui-toggle:has(input[disabled], input[aria-disabled=true])) {
154
212
  cursor: default;
155
213
  }
156
- :where(.oui-toggle:has(input[disabled], input[aria-disabled=true])), :where(.oui-toggle:has(input[disabled], input[aria-disabled=true]))::after {
214
+ :where(.oui-switch:has(input[disabled], input[aria-disabled=true]),
215
+ .oui-toggle:has(input[disabled], input[aria-disabled=true])), :where(.oui-switch:has(input[disabled], input[aria-disabled=true]),
216
+ .oui-toggle:has(input[disabled], input[aria-disabled=true]))::after {
157
217
  color: color-mix(in srgb, currentColor, transparent 25%);
158
218
  }
159
- :where(.oui-toggle:has(input[disabled], input[aria-disabled=true]))::before {
219
+ :where(.oui-switch:has(input[disabled], input[aria-disabled=true]),
220
+ .oui-toggle:has(input[disabled], input[aria-disabled=true]))::before {
160
221
  background-color: color-mix(in srgb, var(--oui-grey-0), transparent 50%);
161
- border-color: var(--oui-grey-4);
222
+ border-color: var(--oui-grey-3);
162
223
  }
163
- :where(.oui-toggle:has(input[disabled], input[aria-disabled=true]))::after {
224
+ :where(.oui-switch:has(input[disabled], input[aria-disabled=true]),
225
+ .oui-toggle:has(input[disabled], input[aria-disabled=true]))::after {
226
+ box-shadow: 0 0 0 1px var(--oui-grey-3);
164
227
  text-shadow: none;
165
228
  }
166
229
 
167
- :where(label.oui-toggle) {
230
+ :where(label.oui-switch, label.oui-toggle) {
168
231
  display: inline-block;
169
232
  line-height: 1.5;
170
233
  }
171
234
 
172
- :where(.oui-toggle input) {
235
+ :where(.oui-switch input, .oui-toggle input) {
173
236
  width: 1px !important;
174
237
  height: 1px !important;
175
238
  padding: 0 !important;
@@ -4,7 +4,7 @@
4
4
  :where(.oui-table-wrapper) {
5
5
  max-height: 32em;
6
6
  overflow: auto;
7
- border: 1px solid var(--border, var(--oui-grey-3, #ccc));
7
+ border: 1px solid var(--oui-grey-3);
8
8
  border-radius: 0.25em;
9
9
  position: relative;
10
10
  overscroll-behavior-y: none;
@@ -12,8 +12,8 @@
12
12
  :where(.oui-table caption) {
13
13
  height: 2rem;
14
14
  align-content: center;
15
- background-color: var(--header, var(--oui-grey-1, #eee));
16
- border: solid var(--border, var(--oui-grey-3, #ccc));
15
+ background-color: var(--oui-grey-1);
16
+ border: solid var(--oui-grey-3);
17
17
  border-width: 0 0 1px 0;
18
18
  font-size: 0.875rem;
19
19
  text-align: left;
@@ -23,11 +23,11 @@
23
23
  z-index: 2;
24
24
  }
25
25
  :where(.oui-table tbody tr:nth-child(2n)) {
26
- background-color: var(--alternate, var(--oui-blue-0, #fafcff));
26
+ background-color: var(--oui-blue-0);
27
27
  }
28
28
  :where(.oui-table th, .oui-table tfoot td) {
29
- background-color: var(--header, var(--oui-grey-1, #eee));
30
- border: solid var(--border, var(--oui-grey-3, #ccc));
29
+ background-color: var(--oui-grey-1);
30
+ border: solid var(--oui-grey-3);
31
31
  border-width: 0 1px 0 0;
32
32
  position: sticky;
33
33
  left: 0;
@@ -35,7 +35,7 @@
35
35
  }
36
36
  :where(.oui-table th, .oui-table tfoot td)::after {
37
37
  content: "";
38
- border-bottom: 1px solid var(--border, var(--oui-grey-3, #ccc));
38
+ border-bottom: 1px solid var(--oui-grey-3);
39
39
  position: absolute;
40
40
  }
41
41
  :where(.oui-table th, .oui-table td) {
@@ -54,7 +54,7 @@
54
54
  inset: 0 0 auto 0;
55
55
  }
56
56
  :where(.oui-table tbody td) {
57
- border: solid var(--border, var(--oui-grey-3, #ccc));
57
+ border: solid var(--oui-grey-3);
58
58
  border-width: 0 1px 1px 0;
59
59
  }
60
60
  :where(.oui-table tbody tr:last-child td) {
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "devDependencies": {
8
8
  "@biomejs/biome": "^1.9",
9
9
  "sass": "^1.83",
10
- "stylelint": "^16.12"
10
+ "stylelint": "^16.14"
11
11
  },
12
12
  "exports": {
13
13
  "./css/a11y": "./dist/css/a11y.css",
@@ -36,5 +36,5 @@
36
36
  "watch": "npx sass ./src/css:./dist/css --no-source-map --watch"
37
37
  },
38
38
  "type": "module",
39
- "version": "0.5.0"
39
+ "version": "0.7.0"
40
40
  }
@@ -1,13 +1,113 @@
1
1
  @use './mixins' as mixins;
2
2
 
3
3
  :root {
4
- @include mixins.colour('blue', '#f4f8fd', '#48d', '#123', '#012', '#15a', '#d1d5da');
5
- @include mixins.colour('green', '#f4fbf5', '#4b5', '#231', '#0a1a0a', '#182', '#d1d8d2');
6
- @include mixins.colour('grey', '#f8f8f8', '#888', '#222', '#111', '#555', '#d8d8d8');
7
- @include mixins.colour('orange', '#fef7f2', '#e72', '#420', '#2a1500', '#b40', '#dbd4d0');
8
- @include mixins.colour('purple', '#fcf7fb', '#c7b', '#313', '#1a0a1a', '#94a', '#d9d4da');
9
- @include mixins.colour('slate', '#f6f7f8', '#708090', '#242f2f', '#011', '#405060', '#d6d7d8');
10
- @include mixins.colour('stone', '#f8f8f6', '#928e85', '#2f2f24', '#110', '#625e55', '#d8d8d6');
11
- @include mixins.colour('red', '#fdf4f4', '#d44', '#422', '#200', '#a11', '#dad1d1');
12
- @include mixins.colour('yellow', '#fefbf0', '#eb0', '#320', '#281f00', '#b80', '#dbd8d0');
4
+ --oui-absolute: light-dark(white, black);
5
+
6
+ --oui-blue-0: light-dark(oklch(0.97 0.01 260), oklch(0.18 0.1 250));
7
+ --oui-blue-1: light-dark(oklch(0.94 0.03 259), oklch(0.24 0.12 251));
8
+ --oui-blue-2: light-dark(oklch(0.88 0.05 258), oklch(0.36 0.14 252));
9
+ --oui-blue-3: light-dark(oklch(0.82 0.07 257), oklch(0.48 0.18 253));
10
+ --oui-blue-4: light-dark(oklch(0.75 0.09 256), oklch(0.58 0.18 254));
11
+ --oui-blue-5: light-dark(oklch(0.67 0.11 255), oklch(0.67 0.14 255));
12
+ --oui-blue-6: light-dark(oklch(0.58 0.14 254), oklch(0.75 0.11 256));
13
+ --oui-blue-7: light-dark(oklch(0.48 0.18 253), oklch(0.82 0.09 257));
14
+ --oui-blue-8: light-dark(oklch(0.36 0.14 252), oklch(0.88 0.07 258));
15
+ --oui-blue-9: light-dark(oklch(0.24 0.12 251), oklch(0.94 0.05 259));
16
+ --oui-blue-10: light-dark(oklch(0.18 0.1 250), oklch(0.97 0.03 260));
17
+
18
+ --oui-green-0: light-dark(oklch(0.97 0.01 150), oklch(0.18 0.1 140));
19
+ --oui-green-1: light-dark(oklch(0.94 0.03 149), oklch(0.24 0.12 141));
20
+ --oui-green-2: light-dark(oklch(0.88 0.05 148), oklch(0.36 0.14 142));
21
+ --oui-green-3: light-dark(oklch(0.82 0.07 147), oklch(0.48 0.16 143));
22
+ --oui-green-4: light-dark(oklch(0.75 0.09 146), oklch(0.58 0.14 144));
23
+ --oui-green-5: light-dark(oklch(0.67 0.11 145), oklch(0.67 0.13 145));
24
+ --oui-green-6: light-dark(oklch(0.58 0.14 144), oklch(0.75 0.11 146));
25
+ --oui-green-7: light-dark(oklch(0.48 0.16 143), oklch(0.82 0.07 147));
26
+ --oui-green-8: light-dark(oklch(0.36 0.14 142), oklch(0.88 0.05 148));
27
+ --oui-green-9: light-dark(oklch(0.24 0.12 141), oklch(0.94 0.03 149));
28
+ --oui-green-10: light-dark(oklch(0.18 0.1 140), oklch(0.97 0.01 150));
29
+
30
+ --oui-orange-0: light-dark(oklch(0.975 0.02 60), oklch(0.1875 0.1 50));
31
+ --oui-orange-1: light-dark(oklch(0.94 0.03 59), oklch(0.255 0.125 51));
32
+ --oui-orange-2: light-dark(oklch(0.88 0.05 58), oklch(0.385 0.15 52));
33
+ --oui-orange-3: light-dark(oklch(0.82 0.08 57), oklch(0.515 0.18 53));
34
+ --oui-orange-4: light-dark(oklch(0.75 0.11 56), oklch(0.635 0.2 54));
35
+ --oui-orange-5: light-dark(oklch(0.67 0.13 55), oklch(0.735 0.18 55));
36
+ --oui-orange-6: light-dark(oklch(0.57 0.16 54), oklch(0.795 0.14 56));
37
+ --oui-orange-7: light-dark(oklch(0.46 0.15 53), oklch(0.855 0.12 57));
38
+ --oui-orange-8: light-dark(oklch(0.34 0.12 53), oklch(0.905 0.08 58));
39
+ --oui-orange-9: light-dark(oklch(0.24 0.11 51), oklch(0.945 0.04 59));
40
+ --oui-orange-10: light-dark(oklch(0.18 0.1 50), oklch(0.975 0.02 60));
41
+
42
+ --oui-purple-0: light-dark(oklch(0.97 0.01 300), oklch(0.18 0.1 290));
43
+ --oui-purple-1: light-dark(oklch(0.94 0.03 299), oklch(0.24 0.12 291));
44
+ --oui-purple-2: light-dark(oklch(0.88 0.05 298), oklch(0.36 0.13 292));
45
+ --oui-purple-3: light-dark(oklch(0.82 0.07 297), oklch(0.48 0.15 293));
46
+ --oui-purple-4: light-dark(oklch(0.75 0.09 296), oklch(0.58 0.13 294));
47
+ --oui-purple-5: light-dark(oklch(0.67 0.11 295), oklch(0.67 0.11 295));
48
+ --oui-purple-6: light-dark(oklch(0.58 0.13 294), oklch(0.75 0.09 296));
49
+ --oui-purple-7: light-dark(oklch(0.48 0.15 293), oklch(0.82 0.07 297));
50
+ --oui-purple-8: light-dark(oklch(0.36 0.13 292), oklch(0.88 0.05 298));
51
+ --oui-purple-9: light-dark(oklch(0.24 0.12 291), oklch(0.94 0.03 299));
52
+ --oui-purple-10: light-dark(oklch(0.18 0.1 290), oklch(0.97 0.01 300));
53
+
54
+ --oui-red-0: light-dark(oklch(0.97 0.01 15), oklch(0.18 0.1 25));
55
+ --oui-red-1: light-dark(oklch(0.94 0.03 16), oklch(0.24 0.125 24));
56
+ --oui-red-2: light-dark(oklch(0.88 0.05 17), oklch(0.36 0.15 23));
57
+ --oui-red-3: light-dark(oklch(0.82 0.07 18), oklch(0.48 0.18 22));
58
+ --oui-red-4: light-dark(oklch(0.75 0.09 19), oklch(0.58 0.14 21));
59
+ --oui-red-5: light-dark(oklch(0.67 0.11 20), oklch(0.67 0.11 20));
60
+ --oui-red-6: light-dark(oklch(0.58 0.14 21), oklch(0.75 0.09 19));
61
+ --oui-red-7: light-dark(oklch(0.48 0.18 22), oklch(0.82 0.07 18));
62
+ --oui-red-8: light-dark(oklch(0.36 0.15 23), oklch(0.88 0.05 17));
63
+ --oui-red-9: light-dark(oklch(0.24 0.125 24), oklch(0.94 0.03 16));
64
+ --oui-red-10: light-dark(oklch(0.18 0.1 25), oklch(0.97 0.01 15));
65
+
66
+ --oui-yellow-0: light-dark(oklch(0.975 0.02 100), oklch(0.1875 0.1 90));
67
+ --oui-yellow-1: light-dark(oklch(0.945 0.04 99), oklch(0.255 0.125 91));
68
+ --oui-yellow-2: light-dark(oklch(0.905 0.08 98), oklch(0.385 0.15 92));
69
+ --oui-yellow-3: light-dark(oklch(0.855 0.12 97), oklch(0.515 0.18 93));
70
+ --oui-yellow-4: light-dark(oklch(0.795 0.14 96), oklch(0.635 0.2 94));
71
+ --oui-yellow-5: light-dark(oklch(0.735 0.18 95), oklch(0.735 0.18 95));
72
+ --oui-yellow-6: light-dark(oklch(0.635 0.2 94), oklch(0.795 0.14 96));
73
+ --oui-yellow-7: light-dark(oklch(0.515 0.18 93), oklch(0.855 0.12 97));
74
+ --oui-yellow-8: light-dark(oklch(0.385 0.15 92), oklch(0.905 0.08 98));
75
+ --oui-yellow-9: light-dark(oklch(0.255 0.125 91), oklch(0.945 0.04 99));
76
+ --oui-yellow-10: light-dark(oklch(0.1875 0.1 90), oklch(0.975 0.02 100));
77
+
78
+ --oui-grey-0: light-dark(oklch(0.97 0 0), oklch(0.18 0 0));
79
+ --oui-grey-1: light-dark(oklch(0.94 0 0), oklch(0.24 0 0));
80
+ --oui-grey-2: light-dark(oklch(0.88 0 0), oklch(0.36 0 0));
81
+ --oui-grey-3: light-dark(oklch(0.82 0 0), oklch(0.48 0 0));
82
+ --oui-grey-4: light-dark(oklch(0.75 0 0), oklch(0.58 0 0));
83
+ --oui-grey-5: light-dark(oklch(0.67 0 0), oklch(0.67 0 0));
84
+ --oui-grey-6: light-dark(oklch(0.58 0 0), oklch(0.75 0 0));
85
+ --oui-grey-7: light-dark(oklch(0.48 0 0), oklch(0.82 0 0));
86
+ --oui-grey-8: light-dark(oklch(0.36 0 0), oklch(0.88 0 0));
87
+ --oui-grey-9: light-dark(oklch(0.24 0 0), oklch(0.94 0 0));
88
+ --oui-grey-10: light-dark(oklch(0.18 0 0), oklch(0.97 0 0));
89
+
90
+ --oui-slate-0: light-dark(oklch(0.97 0.005 255), oklch(0.18 0.005 255));
91
+ --oui-slate-1: light-dark(oklch(0.94 0.005 255), oklch(0.24 0.005 255));
92
+ --oui-slate-2: light-dark(oklch(0.88 0.01 255), oklch(0.36 0.01 255));
93
+ --oui-slate-3: light-dark(oklch(0.82 0.01 255), oklch(0.48 0.01 255));
94
+ --oui-slate-4: light-dark(oklch(0.75 0.02 255), oklch(0.58 0.02 255));
95
+ --oui-slate-5: light-dark(oklch(0.67 0.02 255), oklch(0.67 0.02 255));
96
+ --oui-slate-6: light-dark(oklch(0.58 0.02 255), oklch(0.75 0.02 255));
97
+ --oui-slate-7: light-dark(oklch(0.48 0.01 255), oklch(0.82 0.01 255));
98
+ --oui-slate-8: light-dark(oklch(0.36 0.01 255), oklch(0.88 0.01 255));
99
+ --oui-slate-9: light-dark(oklch(0.24 0.005 255), oklch(0.94 0.005 255));
100
+ --oui-slate-10: light-dark(oklch(0.18 0.005 255), oklch(0.97 0.005 255));
101
+
102
+ --oui-stone-0: light-dark(oklch(0.97 0.005 95), oklch(0.18 0.005 95));
103
+ --oui-stone-1: light-dark(oklch(0.94 0.005 95), oklch(0.24 0.005 95));
104
+ --oui-stone-2: light-dark(oklch(0.9 0.01 95), oklch(0.36 0.01 95));
105
+ --oui-stone-3: light-dark(oklch(0.82 0.01 95), oklch(0.48 0.01 95));
106
+ --oui-stone-4: light-dark(oklch(0.75 0.02 95), oklch(0.58 0.02 95));
107
+ --oui-stone-5: light-dark(oklch(0.67 0.02 95), oklch(0.67 0.02 95));
108
+ --oui-stone-6: light-dark(oklch(0.58 0.02 95), oklch(0.75 0.02 95));
109
+ --oui-stone-7: light-dark(oklch(0.48 0.01 95), oklch(0.82 0.01 95));
110
+ --oui-stone-8: light-dark(oklch(0.36 0.01 95), oklch(0.9 0.01 95));
111
+ --oui-stone-9: light-dark(oklch(0.24 0.005 95), oklch(0.94 0.005 95));
112
+ --oui-stone-10: light-dark(oklch(0.18 0.005 95), oklch(0.97 0.005 95));
13
113
  }
package/src/css/form.scss CHANGED
@@ -11,10 +11,11 @@
11
11
  padding: 0.5em 0.75em;
12
12
  outline: 3px solid transparent;
13
13
  outline-offset: 0;
14
- border-color: var(--oui-grey-4);
14
+ background-color: var(--oui-absolute);
15
+ border-color: var(--oui-grey-3);
15
16
  border-radius: 0.25em;
16
17
  box-shadow: inset 0 1px 2px 0
17
- color-mix(in srgb, var(--oui-grey-10), transparent 75%);
18
+ color-mix(in srgb, var(--oui-grey-10), transparent 80%);
18
19
  transition: 0.125s ease-in-out;
19
20
  }
20
21
 
@@ -45,7 +46,7 @@
45
46
  [aria-invalid='true']
46
47
  )
47
48
  ) {
48
- outline-color: color-mix(in srgb, var(--oui-red-4), transparent 75%);
49
+ outline-color: color-mix(in srgb, var(--oui-red-6), transparent 60%);
49
50
  border-color: var(--oui-red-6);
50
51
  }
51
52
 
@@ -55,17 +56,18 @@
55
56
  [aria-invalid='false']
56
57
  )
57
58
  ) {
58
- outline-color: color-mix(in srgb, var(--oui-green-4), transparent 75%);
59
+ outline-color: color-mix(in srgb, var(--oui-green-6), transparent 60%);
59
60
  border-color: var(--oui-green-6);
60
61
  }
61
62
 
62
63
  :where(&:not([disabled], [aria-disabled='true']):focus) {
63
- outline-color: var(--oui-blue-4);
64
+ outline-color: color-mix(in srgb, var(--oui-blue-6), transparent 60%);
64
65
  border-color: var(--oui-blue-6);
65
66
  }
66
67
 
67
68
  @media (hover: hover) {
68
69
  :where(&:not([disabled], [aria-disabled='true']):hover) {
70
+ outline-color: color-mix(in srgb, var(--oui-blue-6), transparent 80%);
69
71
  border-color: var(--oui-blue-6);
70
72
  }
71
73
  }
@@ -106,17 +108,69 @@
106
108
  border-radius: 0.25em;
107
109
  }
108
110
 
109
- .oui-toggle {
111
+ :where(.oui-switch, .oui-toggle) {
112
+ position: relative;
113
+ cursor: pointer;
114
+
115
+ &::before,
116
+ &::after {
117
+ font-family: system-ui, sans-serif;
118
+ position: absolute;
119
+ transition: 0.125s ease-in-out;
120
+ pointer-events: none;
121
+ }
122
+
123
+ &::before {
124
+ outline: 3px solid transparent;
125
+ outline-offset: 0;
126
+ }
127
+ }
128
+
129
+ .oui-switch {
110
130
  :where(&) {
111
- padding: 0 0 0 2em;
112
- position: relative;
113
- cursor: pointer;
131
+ padding: 0 3em 0 0;
114
132
 
115
- &::before,
133
+ &::before {
134
+ content: '';
135
+ width: 2.5em;
136
+ height: 1.5em;
137
+ display: inline-block;
138
+ background-color: var(--oui-grey-0);
139
+ border: 1px solid var(--oui-grey-3);
140
+ border-radius: 3em;
141
+ right: 0;
142
+ }
143
+
144
+ &::after {
145
+ content: '\2715';
146
+ width: 1.5em;
147
+ height: 1.5em;
148
+ background-color: var(--oui-absolute);
149
+ border-radius: 1.5em;
150
+ box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.125);
151
+ color: var(--oui-grey-8);
152
+ font-size: 0.75em;
153
+ font-weight: bold;
154
+ line-height: 1.5em;
155
+ text-align: center;
156
+ top: 0.25em;
157
+ right: 1.5em;
158
+ }
159
+ }
160
+
161
+ :where(&:has(input:checked)) {
116
162
  &::after {
117
- position: absolute;
118
- transition: 0.125s ease-in-out;
163
+ content: '\2713';
164
+ box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25);
165
+ color: var(--oui-blue-8);
166
+ right: 0.25em;
119
167
  }
168
+ }
169
+ }
170
+
171
+ .oui-toggle {
172
+ :where(&) {
173
+ padding: 0 0 0 2em;
120
174
 
121
175
  &::before {
122
176
  content: '';
@@ -124,11 +178,8 @@
124
178
  height: 1.5em;
125
179
  display: inline-block;
126
180
  background-color: transparent;
127
- outline: 3px solid transparent;
128
- outline-offset: 0;
129
181
  border: 1px solid var(--oui-grey-4);
130
182
  inset: 0 auto auto 0;
131
- pointer-events: none;
132
183
  }
133
184
 
134
185
  &::after {
@@ -164,39 +215,51 @@
164
215
  content: '';
165
216
  width: 0.75em;
166
217
  height: 0.75em;
167
- background-color: white;
218
+ background-color: var(--oui-absolute);
168
219
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.5);
169
220
  inset: 0.375em auto auto 0.375em;
170
221
  }
171
222
  }
172
223
 
224
+ :where(&:has(input:checked)) {
225
+ &::after {
226
+ opacity: 1;
227
+ }
228
+ }
229
+ }
230
+
231
+ .oui-switch,
232
+ .oui-toggle {
173
233
  :where(&:has(input:checked)) {
174
234
  &::before {
175
235
  background-color: var(--oui-blue-6);
176
236
  border-color: transparent;
177
237
  }
178
-
179
- &::after {
180
- opacity: 1;
181
- }
182
238
  }
183
239
 
184
- :where(
185
- &:has(input:not([disabled], [aria-disabled='true'])):focus-within
186
- )::before {
187
- outline-color: var(--oui-blue-4);
188
- border-color: white;
240
+ :where(&:has(input:not([disabled], [aria-disabled='true'])):focus-within) {
241
+ color: var(--oui-blue-8);
242
+
243
+ &::before {
244
+ outline-color: color-mix(in srgb, var(--oui-blue-6), transparent 60%);
245
+ border-color: var(--oui-absolute);
246
+ }
189
247
  }
190
248
 
191
249
  @media (hover: hover) {
192
- :where(&:has(input:not([disabled], [aria-disabled='true'])):hover)::before {
193
- border-color: var(--oui-blue-6);
250
+ :where(&:has(input:not([disabled], [aria-disabled='true'])):hover) {
251
+ color: var(--oui-blue-8);
252
+
253
+ &::before {
254
+ outline-color: color-mix(in srgb, var(--oui-blue-6), transparent 80%);
255
+ border-color: var(--oui-blue-6);
256
+ }
194
257
  }
195
258
 
196
259
  :where(
197
260
  &:has(input:not([disabled], [aria-disabled='true']):is(:checked)):hover
198
261
  )::before {
199
- background-color: color-mix(in srgb, var(--oui-blue-6), transparent 50%);
262
+ background-color: color-mix(in srgb, var(--oui-blue-6), transparent 40%);
200
263
  }
201
264
  }
202
265
 
@@ -210,20 +273,21 @@
210
273
 
211
274
  &::before {
212
275
  background-color: color-mix(in srgb, var(--oui-grey-0), transparent 50%);
213
- border-color: var(--oui-grey-4);
276
+ border-color: var(--oui-grey-3);
214
277
  }
215
278
 
216
279
  &::after {
280
+ box-shadow: 0 0 0 1px var(--oui-grey-3);
217
281
  text-shadow: none;
218
282
  }
219
283
  }
220
284
  }
221
285
 
222
- :where(label.oui-toggle) {
286
+ :where(label.oui-switch, label.oui-toggle) {
223
287
  display: inline-block;
224
288
  line-height: 1.5;
225
289
  }
226
290
 
227
- :where(.oui-toggle input) {
291
+ :where(.oui-switch input, .oui-toggle input) {
228
292
  @include mixins.visuallyHidden;
229
293
  }
@@ -6,7 +6,7 @@
6
6
  :where(&-wrapper) {
7
7
  max-height: 32em;
8
8
  overflow: auto;
9
- border: 1px solid var(--border, var(--oui-grey-3, #ccc));
9
+ border: 1px solid var(--oui-grey-3);
10
10
  border-radius: .25em;
11
11
  position: relative;
12
12
  overscroll-behavior-y: none;
@@ -15,8 +15,8 @@
15
15
  :where(& caption) {
16
16
  height: 2rem;
17
17
  align-content: center;
18
- background-color: var(--header, var(--oui-grey-1, #eee));
19
- border: solid var(--border, var(--oui-grey-3, #ccc));
18
+ background-color: var(--oui-grey-1);
19
+ border: solid var(--oui-grey-3);
20
20
  border-width: 0 0 1px 0;
21
21
  font-size: .875rem;
22
22
  text-align: left;
@@ -27,12 +27,12 @@
27
27
  }
28
28
 
29
29
  :where(& tbody tr:nth-child(2n)) {
30
- background-color: var(--alternate, var(--oui-blue-0, #fafcff));
30
+ background-color: var(--oui-blue-0);
31
31
  }
32
32
 
33
33
  :where(& th, & tfoot td) {
34
- background-color: var(--header, var(--oui-grey-1, #eee));
35
- border: solid var(--border, var(--oui-grey-3, #ccc));
34
+ background-color: var(--oui-grey-1);
35
+ border: solid var(--oui-grey-3);
36
36
  border-width: 0 1px 0 0;
37
37
  position: sticky;
38
38
  left: 0;
@@ -40,7 +40,7 @@
40
40
 
41
41
  &::after {
42
42
  content: '';
43
- border-bottom: 1px solid var(--border, var(--oui-grey-3, #ccc));
43
+ border-bottom: 1px solid var(--oui-grey-3);
44
44
  position: absolute;
45
45
  }
46
46
  }
@@ -66,7 +66,7 @@
66
66
  }
67
67
 
68
68
  :where(& tbody td) {
69
- border: solid var(--border, var(--oui-grey-3, #ccc));
69
+ border: solid var(--oui-grey-3);
70
70
  border-width: 0 1px 1px 0;
71
71
  }
72
72