@oscarpalmer/oui 0.2.0 → 0.4.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.
@@ -0,0 +1,650 @@
1
+ @charset "UTF-8";
2
+ :root {
3
+ --oui-blue-0: #f4f8fd;
4
+ --oui-blue-1: color-mix(
5
+ in srgb,
6
+ var(--oui-blue-0),
7
+ var(--oui-blue-6) 5%
8
+ );
9
+ --oui-blue-2: color-mix(
10
+ in srgb,
11
+ var(--oui-blue-0),
12
+ var(--oui-blue-6) 15%
13
+ );
14
+ --oui-blue-3: color-mix(
15
+ in srgb,
16
+ var(--oui-blue-0),
17
+ var(--oui-blue-6) 30%
18
+ );
19
+ --oui-blue-4: color-mix(
20
+ in srgb,
21
+ var(--oui-blue-0),
22
+ var(--oui-blue-6) 50%
23
+ );
24
+ --oui-blue-5: color-mix(
25
+ in srgb,
26
+ var(--oui-blue-0),
27
+ var(--oui-blue-6) 75%
28
+ );
29
+ --oui-blue-6: #48d;
30
+ --oui-blue-7: color-mix(
31
+ in srgb,
32
+ var(--oui-blue-10),
33
+ var(--oui-blue-6) 75%
34
+ );
35
+ --oui-blue-8: color-mix(
36
+ in srgb,
37
+ var(--oui-blue-10),
38
+ var(--oui-blue-6) 50%
39
+ );
40
+ --oui-blue-9: color-mix(
41
+ in srgb,
42
+ var(--oui-blue-10),
43
+ var(--oui-blue-6) 25%
44
+ );
45
+ --oui-blue-10: #123;
46
+ }
47
+ @media (prefers-color-scheme: dark) {
48
+ :root {
49
+ --oui-blue-0: #012;
50
+ --oui-blue-6: #15a;
51
+ --oui-blue-10: #d1d5da;
52
+ }
53
+ }
54
+ :root {
55
+ --oui-green-0: #f4fbf5;
56
+ --oui-green-1: color-mix(
57
+ in srgb,
58
+ var(--oui-green-0),
59
+ var(--oui-green-6) 5%
60
+ );
61
+ --oui-green-2: color-mix(
62
+ in srgb,
63
+ var(--oui-green-0),
64
+ var(--oui-green-6) 15%
65
+ );
66
+ --oui-green-3: color-mix(
67
+ in srgb,
68
+ var(--oui-green-0),
69
+ var(--oui-green-6) 30%
70
+ );
71
+ --oui-green-4: color-mix(
72
+ in srgb,
73
+ var(--oui-green-0),
74
+ var(--oui-green-6) 50%
75
+ );
76
+ --oui-green-5: color-mix(
77
+ in srgb,
78
+ var(--oui-green-0),
79
+ var(--oui-green-6) 75%
80
+ );
81
+ --oui-green-6: #4b5;
82
+ --oui-green-7: color-mix(
83
+ in srgb,
84
+ var(--oui-green-10),
85
+ var(--oui-green-6) 75%
86
+ );
87
+ --oui-green-8: color-mix(
88
+ in srgb,
89
+ var(--oui-green-10),
90
+ var(--oui-green-6) 50%
91
+ );
92
+ --oui-green-9: color-mix(
93
+ in srgb,
94
+ var(--oui-green-10),
95
+ var(--oui-green-6) 25%
96
+ );
97
+ --oui-green-10: #231;
98
+ }
99
+ @media (prefers-color-scheme: dark) {
100
+ :root {
101
+ --oui-green-0: #0a1a0a;
102
+ --oui-green-6: #182;
103
+ --oui-green-10: #d1d8d2;
104
+ }
105
+ }
106
+ :root {
107
+ --oui-grey-0: #f8f8f8;
108
+ --oui-grey-1: color-mix(
109
+ in srgb,
110
+ var(--oui-grey-0),
111
+ var(--oui-grey-6) 5%
112
+ );
113
+ --oui-grey-2: color-mix(
114
+ in srgb,
115
+ var(--oui-grey-0),
116
+ var(--oui-grey-6) 15%
117
+ );
118
+ --oui-grey-3: color-mix(
119
+ in srgb,
120
+ var(--oui-grey-0),
121
+ var(--oui-grey-6) 30%
122
+ );
123
+ --oui-grey-4: color-mix(
124
+ in srgb,
125
+ var(--oui-grey-0),
126
+ var(--oui-grey-6) 50%
127
+ );
128
+ --oui-grey-5: color-mix(
129
+ in srgb,
130
+ var(--oui-grey-0),
131
+ var(--oui-grey-6) 75%
132
+ );
133
+ --oui-grey-6: #888;
134
+ --oui-grey-7: color-mix(
135
+ in srgb,
136
+ var(--oui-grey-10),
137
+ var(--oui-grey-6) 75%
138
+ );
139
+ --oui-grey-8: color-mix(
140
+ in srgb,
141
+ var(--oui-grey-10),
142
+ var(--oui-grey-6) 50%
143
+ );
144
+ --oui-grey-9: color-mix(
145
+ in srgb,
146
+ var(--oui-grey-10),
147
+ var(--oui-grey-6) 25%
148
+ );
149
+ --oui-grey-10: #222;
150
+ }
151
+ @media (prefers-color-scheme: dark) {
152
+ :root {
153
+ --oui-grey-0: #111;
154
+ --oui-grey-6: #555;
155
+ --oui-grey-10: #d8d8d8;
156
+ }
157
+ }
158
+ :root {
159
+ --oui-orange-0: #fef7f2;
160
+ --oui-orange-1: color-mix(
161
+ in srgb,
162
+ var(--oui-orange-0),
163
+ var(--oui-orange-6) 5%
164
+ );
165
+ --oui-orange-2: color-mix(
166
+ in srgb,
167
+ var(--oui-orange-0),
168
+ var(--oui-orange-6) 15%
169
+ );
170
+ --oui-orange-3: color-mix(
171
+ in srgb,
172
+ var(--oui-orange-0),
173
+ var(--oui-orange-6) 30%
174
+ );
175
+ --oui-orange-4: color-mix(
176
+ in srgb,
177
+ var(--oui-orange-0),
178
+ var(--oui-orange-6) 50%
179
+ );
180
+ --oui-orange-5: color-mix(
181
+ in srgb,
182
+ var(--oui-orange-0),
183
+ var(--oui-orange-6) 75%
184
+ );
185
+ --oui-orange-6: #e72;
186
+ --oui-orange-7: color-mix(
187
+ in srgb,
188
+ var(--oui-orange-10),
189
+ var(--oui-orange-6) 75%
190
+ );
191
+ --oui-orange-8: color-mix(
192
+ in srgb,
193
+ var(--oui-orange-10),
194
+ var(--oui-orange-6) 50%
195
+ );
196
+ --oui-orange-9: color-mix(
197
+ in srgb,
198
+ var(--oui-orange-10),
199
+ var(--oui-orange-6) 25%
200
+ );
201
+ --oui-orange-10: #420;
202
+ }
203
+ @media (prefers-color-scheme: dark) {
204
+ :root {
205
+ --oui-orange-0: #2a1500;
206
+ --oui-orange-6: #b40;
207
+ --oui-orange-10: #dbd4d0;
208
+ }
209
+ }
210
+ :root {
211
+ --oui-purple-0: #fcf7fb;
212
+ --oui-purple-1: color-mix(
213
+ in srgb,
214
+ var(--oui-purple-0),
215
+ var(--oui-purple-6) 5%
216
+ );
217
+ --oui-purple-2: color-mix(
218
+ in srgb,
219
+ var(--oui-purple-0),
220
+ var(--oui-purple-6) 15%
221
+ );
222
+ --oui-purple-3: color-mix(
223
+ in srgb,
224
+ var(--oui-purple-0),
225
+ var(--oui-purple-6) 30%
226
+ );
227
+ --oui-purple-4: color-mix(
228
+ in srgb,
229
+ var(--oui-purple-0),
230
+ var(--oui-purple-6) 50%
231
+ );
232
+ --oui-purple-5: color-mix(
233
+ in srgb,
234
+ var(--oui-purple-0),
235
+ var(--oui-purple-6) 75%
236
+ );
237
+ --oui-purple-6: #c7b;
238
+ --oui-purple-7: color-mix(
239
+ in srgb,
240
+ var(--oui-purple-10),
241
+ var(--oui-purple-6) 75%
242
+ );
243
+ --oui-purple-8: color-mix(
244
+ in srgb,
245
+ var(--oui-purple-10),
246
+ var(--oui-purple-6) 50%
247
+ );
248
+ --oui-purple-9: color-mix(
249
+ in srgb,
250
+ var(--oui-purple-10),
251
+ var(--oui-purple-6) 25%
252
+ );
253
+ --oui-purple-10: #313;
254
+ }
255
+ @media (prefers-color-scheme: dark) {
256
+ :root {
257
+ --oui-purple-0: #1a0a1a;
258
+ --oui-purple-6: #94a;
259
+ --oui-purple-10: #d9d4da;
260
+ }
261
+ }
262
+ :root {
263
+ --oui-slate-0: #f6f7f8;
264
+ --oui-slate-1: color-mix(
265
+ in srgb,
266
+ var(--oui-slate-0),
267
+ var(--oui-slate-6) 5%
268
+ );
269
+ --oui-slate-2: color-mix(
270
+ in srgb,
271
+ var(--oui-slate-0),
272
+ var(--oui-slate-6) 15%
273
+ );
274
+ --oui-slate-3: color-mix(
275
+ in srgb,
276
+ var(--oui-slate-0),
277
+ var(--oui-slate-6) 30%
278
+ );
279
+ --oui-slate-4: color-mix(
280
+ in srgb,
281
+ var(--oui-slate-0),
282
+ var(--oui-slate-6) 50%
283
+ );
284
+ --oui-slate-5: color-mix(
285
+ in srgb,
286
+ var(--oui-slate-0),
287
+ var(--oui-slate-6) 75%
288
+ );
289
+ --oui-slate-6: #708090;
290
+ --oui-slate-7: color-mix(
291
+ in srgb,
292
+ var(--oui-slate-10),
293
+ var(--oui-slate-6) 75%
294
+ );
295
+ --oui-slate-8: color-mix(
296
+ in srgb,
297
+ var(--oui-slate-10),
298
+ var(--oui-slate-6) 50%
299
+ );
300
+ --oui-slate-9: color-mix(
301
+ in srgb,
302
+ var(--oui-slate-10),
303
+ var(--oui-slate-6) 25%
304
+ );
305
+ --oui-slate-10: #242f2f;
306
+ }
307
+ @media (prefers-color-scheme: dark) {
308
+ :root {
309
+ --oui-slate-0: #011;
310
+ --oui-slate-6: #405060;
311
+ --oui-slate-10: #d6d7d8;
312
+ }
313
+ }
314
+ :root {
315
+ --oui-stone-0: #f8f8f6;
316
+ --oui-stone-1: color-mix(
317
+ in srgb,
318
+ var(--oui-stone-0),
319
+ var(--oui-stone-6) 5%
320
+ );
321
+ --oui-stone-2: color-mix(
322
+ in srgb,
323
+ var(--oui-stone-0),
324
+ var(--oui-stone-6) 15%
325
+ );
326
+ --oui-stone-3: color-mix(
327
+ in srgb,
328
+ var(--oui-stone-0),
329
+ var(--oui-stone-6) 30%
330
+ );
331
+ --oui-stone-4: color-mix(
332
+ in srgb,
333
+ var(--oui-stone-0),
334
+ var(--oui-stone-6) 50%
335
+ );
336
+ --oui-stone-5: color-mix(
337
+ in srgb,
338
+ var(--oui-stone-0),
339
+ var(--oui-stone-6) 75%
340
+ );
341
+ --oui-stone-6: #928e85;
342
+ --oui-stone-7: color-mix(
343
+ in srgb,
344
+ var(--oui-stone-10),
345
+ var(--oui-stone-6) 75%
346
+ );
347
+ --oui-stone-8: color-mix(
348
+ in srgb,
349
+ var(--oui-stone-10),
350
+ var(--oui-stone-6) 50%
351
+ );
352
+ --oui-stone-9: color-mix(
353
+ in srgb,
354
+ var(--oui-stone-10),
355
+ var(--oui-stone-6) 25%
356
+ );
357
+ --oui-stone-10: #2f2f24;
358
+ }
359
+ @media (prefers-color-scheme: dark) {
360
+ :root {
361
+ --oui-stone-0: #110;
362
+ --oui-stone-6: #625e55;
363
+ --oui-stone-10: #d8d8d6;
364
+ }
365
+ }
366
+ :root {
367
+ --oui-red-0: #fdf4f4;
368
+ --oui-red-1: color-mix(
369
+ in srgb,
370
+ var(--oui-red-0),
371
+ var(--oui-red-6) 5%
372
+ );
373
+ --oui-red-2: color-mix(
374
+ in srgb,
375
+ var(--oui-red-0),
376
+ var(--oui-red-6) 15%
377
+ );
378
+ --oui-red-3: color-mix(
379
+ in srgb,
380
+ var(--oui-red-0),
381
+ var(--oui-red-6) 30%
382
+ );
383
+ --oui-red-4: color-mix(
384
+ in srgb,
385
+ var(--oui-red-0),
386
+ var(--oui-red-6) 50%
387
+ );
388
+ --oui-red-5: color-mix(
389
+ in srgb,
390
+ var(--oui-red-0),
391
+ var(--oui-red-6) 75%
392
+ );
393
+ --oui-red-6: #d44;
394
+ --oui-red-7: color-mix(
395
+ in srgb,
396
+ var(--oui-red-10),
397
+ var(--oui-red-6) 75%
398
+ );
399
+ --oui-red-8: color-mix(
400
+ in srgb,
401
+ var(--oui-red-10),
402
+ var(--oui-red-6) 50%
403
+ );
404
+ --oui-red-9: color-mix(
405
+ in srgb,
406
+ var(--oui-red-10),
407
+ var(--oui-red-6) 25%
408
+ );
409
+ --oui-red-10: #422;
410
+ }
411
+ @media (prefers-color-scheme: dark) {
412
+ :root {
413
+ --oui-red-0: #200;
414
+ --oui-red-6: #a11;
415
+ --oui-red-10: #dad1d1;
416
+ }
417
+ }
418
+ :root {
419
+ --oui-yellow-0: #fefbf0;
420
+ --oui-yellow-1: color-mix(
421
+ in srgb,
422
+ var(--oui-yellow-0),
423
+ var(--oui-yellow-6) 5%
424
+ );
425
+ --oui-yellow-2: color-mix(
426
+ in srgb,
427
+ var(--oui-yellow-0),
428
+ var(--oui-yellow-6) 15%
429
+ );
430
+ --oui-yellow-3: color-mix(
431
+ in srgb,
432
+ var(--oui-yellow-0),
433
+ var(--oui-yellow-6) 30%
434
+ );
435
+ --oui-yellow-4: color-mix(
436
+ in srgb,
437
+ var(--oui-yellow-0),
438
+ var(--oui-yellow-6) 50%
439
+ );
440
+ --oui-yellow-5: color-mix(
441
+ in srgb,
442
+ var(--oui-yellow-0),
443
+ var(--oui-yellow-6) 75%
444
+ );
445
+ --oui-yellow-6: #eb0;
446
+ --oui-yellow-7: color-mix(
447
+ in srgb,
448
+ var(--oui-yellow-10),
449
+ var(--oui-yellow-6) 75%
450
+ );
451
+ --oui-yellow-8: color-mix(
452
+ in srgb,
453
+ var(--oui-yellow-10),
454
+ var(--oui-yellow-6) 50%
455
+ );
456
+ --oui-yellow-9: color-mix(
457
+ in srgb,
458
+ var(--oui-yellow-10),
459
+ var(--oui-yellow-6) 25%
460
+ );
461
+ --oui-yellow-10: #320;
462
+ }
463
+ @media (prefers-color-scheme: dark) {
464
+ :root {
465
+ --oui-yellow-0: #281f00;
466
+ --oui-yellow-6: #b80;
467
+ --oui-yellow-10: #dbd8d0;
468
+ }
469
+ }
470
+
471
+ :where(.oui-fieldset) {
472
+ padding: 1em;
473
+ border: 1px solid var(--oui-grey-3);
474
+ border-radius: 0.25em;
475
+ }
476
+
477
+ :where(.oui-input) {
478
+ padding: 0.5em 0.75em;
479
+ outline: 3px solid transparent;
480
+ outline-offset: 0;
481
+ border-color: var(--oui-grey-4);
482
+ border-radius: 0.25em;
483
+ box-shadow: inset 0 1px 2px 0 color-mix(in srgb, var(--oui-grey-10), transparent 75%);
484
+ transition: 0.125s ease-in-out;
485
+ }
486
+ :where(.oui-input:not(textarea)) {
487
+ overflow: hidden;
488
+ white-space: nowrap;
489
+ text-overflow: ellipsis;
490
+ }
491
+ :where(.oui-input:is([type=date],
492
+ [type=datetime-local],
493
+ [type=month],
494
+ [type=number],
495
+ [type=tel],
496
+ [type=time],
497
+ [type=url],
498
+ [type=week])) {
499
+ font-variant-numeric: tabular-nums;
500
+ }
501
+ :where(.oui-input.oui-validateable:not([disabled], [aria-disabled=true]):is(:user-invalid,
502
+ [aria-invalid=true])) {
503
+ outline-color: color-mix(in srgb, var(--oui-red-4), transparent 75%);
504
+ border-color: var(--oui-red-6);
505
+ }
506
+ :where(.oui-input.oui-validateable:not([disabled], [aria-disabled=true]):is(:user-valid,
507
+ [aria-invalid=false])) {
508
+ outline-color: color-mix(in srgb, var(--oui-green-4), transparent 75%);
509
+ border-color: var(--oui-green-6);
510
+ }
511
+ :where(.oui-input:not([disabled], [aria-disabled=true]):focus) {
512
+ outline-color: var(--oui-blue-4);
513
+ border-color: var(--oui-blue-6);
514
+ }
515
+ @media (hover: hover) {
516
+ :where(.oui-input:not([disabled], [aria-disabled=true]):hover) {
517
+ border-color: var(--oui-blue-6);
518
+ }
519
+ }
520
+ :where(.oui-input[readonly]) {
521
+ color: color-mix(in srgb, currentColor, transparent 12.5%);
522
+ }
523
+ :where(.oui-input[disabled], .oui-input[aria-disabled=true]) {
524
+ background-color: color-mix(in srgb, var(--oui-grey-0), transparent 50%);
525
+ color: color-mix(in srgb, currentColor, transparent 25%);
526
+ }
527
+
528
+ :where(select.oui-input) {
529
+ padding-right: 2em;
530
+ background-position: right 0.5em center;
531
+ }
532
+
533
+ :where(textarea.oui-input) {
534
+ min-height: 4em;
535
+ resize: vertical;
536
+ transition: all 0.125s ease-in-out, height 0s;
537
+ }
538
+
539
+ :where(.oui-label, .oui-legend) {
540
+ font-size: 0.875rem;
541
+ font-weight: bold;
542
+ }
543
+
544
+ :where(.oui-label) {
545
+ cursor: pointer;
546
+ }
547
+
548
+ :where(.oui-legend) {
549
+ padding: 0.5em;
550
+ border: 1px solid var(--oui-grey-3);
551
+ border-radius: 0.25em;
552
+ }
553
+
554
+ :where(.oui-toggle) {
555
+ padding: 0 0 0 2em;
556
+ position: relative;
557
+ cursor: pointer;
558
+ }
559
+ :where(.oui-toggle)::before, :where(.oui-toggle)::after {
560
+ position: absolute;
561
+ transition: 0.125s ease-in-out;
562
+ }
563
+ :where(.oui-toggle)::before {
564
+ content: "";
565
+ width: 1.5em;
566
+ height: 1.5em;
567
+ display: inline-block;
568
+ background-color: transparent;
569
+ outline: 3px solid transparent;
570
+ outline-offset: 0;
571
+ border: 1px solid var(--oui-grey-4);
572
+ inset: 0 auto auto 0;
573
+ pointer-events: none;
574
+ }
575
+ :where(.oui-toggle)::after {
576
+ opacity: 0;
577
+ }
578
+ :where(.oui-toggle:has(input[type=checkbox]))::before {
579
+ border-radius: 0.25em;
580
+ }
581
+ :where(.oui-toggle:has(input[type=checkbox]))::after {
582
+ content: "✓";
583
+ width: 1.5em;
584
+ height: 1.5em;
585
+ color: white;
586
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
587
+ font-weight: bold;
588
+ line-height: 1.5em;
589
+ text-align: center;
590
+ inset: 0 auto auto 0;
591
+ }
592
+ :where(.oui-toggle:has(input[type=radio]))::before, :where(.oui-toggle:has(input[type=radio]))::after {
593
+ border-radius: 50%;
594
+ }
595
+ :where(.oui-toggle:has(input[type=radio]))::after {
596
+ content: "";
597
+ width: 0.75em;
598
+ height: 0.75em;
599
+ background-color: white;
600
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.5);
601
+ inset: 0.375em auto auto 0.375em;
602
+ }
603
+ :where(.oui-toggle:has(input:checked))::before {
604
+ background-color: var(--oui-blue-6);
605
+ border-color: transparent;
606
+ }
607
+ :where(.oui-toggle:has(input:checked))::after {
608
+ opacity: 1;
609
+ }
610
+ :where(.oui-toggle:has(input:not([disabled], [aria-disabled=true])):focus-within)::before {
611
+ outline-color: var(--oui-blue-4);
612
+ border-color: white;
613
+ }
614
+ @media (hover: hover) {
615
+ :where(.oui-toggle:has(input:not([disabled], [aria-disabled=true])):hover)::before {
616
+ border-color: var(--oui-blue-6);
617
+ }
618
+ :where(.oui-toggle:has(input:not([disabled], [aria-disabled=true]):is(:checked)):hover)::before {
619
+ background-color: color-mix(in srgb, var(--oui-blue-6), transparent 50%);
620
+ }
621
+ }
622
+ :where(.oui-toggle:has(input[disabled], input[aria-disabled=true])) {
623
+ cursor: default;
624
+ }
625
+ :where(.oui-toggle:has(input[disabled], input[aria-disabled=true])), :where(.oui-toggle:has(input[disabled], input[aria-disabled=true]))::after {
626
+ color: color-mix(in srgb, currentColor, transparent 25%);
627
+ }
628
+ :where(.oui-toggle:has(input[disabled], input[aria-disabled=true]))::before {
629
+ background-color: color-mix(in srgb, var(--oui-grey-0), transparent 50%);
630
+ border-color: var(--oui-grey-4);
631
+ }
632
+ :where(.oui-toggle:has(input[disabled], input[aria-disabled=true]))::after {
633
+ text-shadow: none;
634
+ }
635
+
636
+ :where(label.oui-toggle) {
637
+ display: inline-block;
638
+ line-height: 1.5;
639
+ }
640
+
641
+ :where(.oui-toggle input) {
642
+ width: 1px !important;
643
+ height: 1px !important;
644
+ padding: 0 !important;
645
+ clip: rect(1px, 1px 1px, 1px) !important;
646
+ clip-path: inset(50%) !important;
647
+ overflow: hidden !important;
648
+ border: 0 !important;
649
+ white-space: nowrap !important;
650
+ }
@@ -25,13 +25,12 @@
25
25
  /**
26
26
  * Catch-alls
27
27
  */
28
- * {
28
+ :where(*) {
29
29
  padding: 0;
30
30
  margin: 0;
31
31
  }
32
32
 
33
- *,
34
- ::after,
33
+ :where(*) ::after,
35
34
  ::before {
36
35
  box-sizing: border-box;
37
36
  }
package/package.json CHANGED
@@ -6,8 +6,8 @@
6
6
  "description": "Styles, components, and utilities for building websites and applications.",
7
7
  "devDependencies": {
8
8
  "@biomejs/biome": "^1.9",
9
- "sass": "^1.80",
10
- "stylelint": "^16.10"
9
+ "sass": "^1.83",
10
+ "stylelint": "^16.12"
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.2.0"
39
+ "version": "0.4.0"
40
40
  }
package/src/css/a11y.scss CHANGED
@@ -1,18 +1,13 @@
1
1
  /*! https://github.com/oscarpalmer/oui */
2
2
 
3
- .visually-hidden {
3
+ @use './mixins' as mixins;
4
+
5
+ .oui-vh {
4
6
  :where(&) {
5
7
  position: absolute !important;
6
8
  }
7
9
 
8
- :where(&:not(:active):not(:focus):not(:focus-within)) {
9
- width: 1px !important;
10
- height: 1px !important;
11
- padding: 0 !important;
12
- clip: rect(1px, 1px 1px, 1px) !important;
13
- clip-path: inset(50%) !important;
14
- overflow: hidden !important;
15
- border: 0 !important;
16
- white-space: nowrap !important;
10
+ :where(&:not(:active, :focus, :focus-within)) {
11
+ @include mixins.visuallyHidden;
17
12
  }
18
13
  }