@rolemodel/optics 2.4.0 → 2.5.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.
@@ -7,6 +7,7 @@
7
7
  *::after {
8
8
  box-sizing: border-box;
9
9
  }
10
+
10
11
  /* Remove default margin */
11
12
  body,
12
13
  h1,
@@ -20,31 +21,37 @@ dl,
20
21
  dd {
21
22
  margin: 0;
22
23
  }
24
+
23
25
  /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
24
26
  ul[role="list"],
25
27
  ol[role="list"] {
26
28
  list-style: none;
27
29
  }
30
+
28
31
  /* Set core root defaults */
29
32
  html:focus-within {
30
33
  scroll-behavior: smooth;
31
34
  }
35
+
32
36
  /* Set core body defaults */
33
37
  body {
34
38
  min-height: 100vh;
35
39
  text-rendering: optimizeSpeed;
36
40
  line-height: 1.5;
37
41
  }
42
+
38
43
  /* A elements that don't have a class get default styles */
39
44
  a:not([class]) {
40
45
  text-decoration-skip-ink: auto;
41
46
  }
47
+
42
48
  /* Make images easier to work with */
43
49
  img,
44
50
  picture {
45
51
  max-width: 100%;
46
52
  display: block;
47
53
  }
54
+
48
55
  /* Inherit fonts for inputs and buttons */
49
56
  input,
50
57
  button,
@@ -52,6 +59,7 @@ textarea,
52
59
  select {
53
60
  font: inherit;
54
61
  }
62
+
55
63
  /* Remove all animations and transitions for people that prefer not to see them */
56
64
  @media (prefers-reduced-motion: reduce) {
57
65
  html:focus-within {
@@ -66,6 +74,7 @@ select {
66
74
  scroll-behavior: auto !important;
67
75
  }
68
76
  }
77
+
69
78
  /* Fonts */
70
79
  /*
71
80
  Noto Sans supports:
@@ -73,12 +82,14 @@ Noto Sans supports:
73
82
  font-stretch: {anything between 62.5% and 100%}
74
83
  font-style: {normal or italic}
75
84
  */
85
+
76
86
  /*
77
87
  Noto Serif supports:
78
88
  font-weight: {anything between 100 and 900}
79
89
  font-stretch: {anything between 62.5% and 100%}
80
90
  font-style: {normal or italic}
81
91
  */
92
+
82
93
  /* Noto Sans and Noto Serif */
83
94
  /*
84
95
  See all icons at: https://feathericons.com/
@@ -87,6 +98,7 @@ Noto Sans supports:
87
98
  The CDN provided selectors did not use a prefix to avoid naming conflicts
88
99
  Current version: 4.29.0
89
100
  */
101
+
90
102
  /* Feather Icons */
91
103
  @font-face {
92
104
  font-family: 'feather';
@@ -98,6 +110,7 @@ Noto Sans supports:
98
110
  /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
99
111
  url('https://at.alicdn.com/t/font_o5hd5vvqpoqiwwmi.svg?t=1501828829848#feather') format('svg'); /* iOS 4.1- */
100
112
  }
113
+
101
114
  .fi {
102
115
  font-family: 'feather' !important;
103
116
  font-size: var(--__op-icon-font-size);
@@ -105,690 +118,919 @@ Noto Sans supports:
105
118
  -moz-osx-font-smoothing: grayscale;
106
119
  font-style: normal;
107
120
  }
121
+
108
122
  .fi-alert-octagon:before {
109
123
  content: '\e81b';
110
124
  }
125
+
111
126
  .fi-alert-circle:before {
112
127
  content: '\e81c';
113
128
  }
129
+
114
130
  .fi-activity:before {
115
131
  content: '\e81d';
116
132
  }
133
+
117
134
  .fi-alert-triangle:before {
118
135
  content: '\e81e';
119
136
  }
137
+
120
138
  .fi-align-center:before {
121
139
  content: '\e81f';
122
140
  }
141
+
123
142
  .fi-airplay:before {
124
143
  content: '\e820';
125
144
  }
145
+
126
146
  .fi-align-justify:before {
127
147
  content: '\e821';
128
148
  }
149
+
129
150
  .fi-align-left:before {
130
151
  content: '\e822';
131
152
  }
153
+
132
154
  .fi-align-right:before {
133
155
  content: '\e823';
134
156
  }
157
+
135
158
  .fi-arrow-down-left:before {
136
159
  content: '\e824';
137
160
  }
161
+
138
162
  .fi-arrow-down-right:before {
139
163
  content: '\e825';
140
164
  }
165
+
141
166
  .fi-anchor:before {
142
167
  content: '\e826';
143
168
  }
169
+
144
170
  .fi-aperture:before {
145
171
  content: '\e827';
146
172
  }
173
+
147
174
  .fi-arrow-left:before {
148
175
  content: '\e828';
149
176
  }
177
+
150
178
  .fi-arrow-right:before {
151
179
  content: '\e829';
152
180
  }
181
+
153
182
  .fi-arrow-down:before {
154
183
  content: '\e82a';
155
184
  }
185
+
156
186
  .fi-arrow-up-left:before {
157
187
  content: '\e82b';
158
188
  }
189
+
159
190
  .fi-arrow-up-right:before {
160
191
  content: '\e82c';
161
192
  }
193
+
162
194
  .fi-arrow-up:before {
163
195
  content: '\e82d';
164
196
  }
197
+
165
198
  .fi-award:before {
166
199
  content: '\e82e';
167
200
  }
201
+
168
202
  .fi-bar-chart:before {
169
203
  content: '\e82f';
170
204
  }
205
+
171
206
  .fi-at-sign:before {
172
207
  content: '\e830';
173
208
  }
209
+
174
210
  .fi-bar-chart-:before {
175
211
  content: '\e831';
176
212
  }
213
+
177
214
  .fi-battery-charging:before {
178
215
  content: '\e832';
179
216
  }
217
+
180
218
  .fi-bell-off:before {
181
219
  content: '\e833';
182
220
  }
221
+
183
222
  .fi-battery:before {
184
223
  content: '\e834';
185
224
  }
225
+
186
226
  .fi-bluetooth:before {
187
227
  content: '\e835';
188
228
  }
229
+
189
230
  .fi-bell:before {
190
231
  content: '\e836';
191
232
  }
233
+
192
234
  .fi-book:before {
193
235
  content: '\e837';
194
236
  }
237
+
195
238
  .fi-briefcase:before {
196
239
  content: '\e838';
197
240
  }
241
+
198
242
  .fi-camera-off:before {
199
243
  content: '\e839';
200
244
  }
245
+
201
246
  .fi-calendar:before {
202
247
  content: '\e83a';
203
248
  }
249
+
204
250
  .fi-bookmark:before {
205
251
  content: '\e83b';
206
252
  }
253
+
207
254
  .fi-box:before {
208
255
  content: '\e83c';
209
256
  }
257
+
210
258
  .fi-camera:before {
211
259
  content: '\e83d';
212
260
  }
261
+
213
262
  .fi-check-circle:before {
214
263
  content: '\e83e';
215
264
  }
265
+
216
266
  .fi-check:before {
217
267
  content: '\e83f';
218
268
  }
269
+
219
270
  .fi-check-square:before {
220
271
  content: '\e840';
221
272
  }
273
+
222
274
  .fi-cast:before {
223
275
  content: '\e841';
224
276
  }
277
+
225
278
  .fi-chevron-down:before {
226
279
  content: '\e842';
227
280
  }
281
+
228
282
  .fi-chevron-left:before {
229
283
  content: '\e843';
230
284
  }
285
+
231
286
  .fi-chevron-right:before {
232
287
  content: '\e844';
233
288
  }
289
+
234
290
  .fi-chevron-up:before {
235
291
  content: '\e845';
236
292
  }
293
+
237
294
  .fi-chevrons-down:before {
238
295
  content: '\e846';
239
296
  }
297
+
240
298
  .fi-chevrons-right:before {
241
299
  content: '\e847';
242
300
  }
301
+
243
302
  .fi-chevrons-up:before {
244
303
  content: '\e848';
245
304
  }
305
+
246
306
  .fi-chevrons-left:before {
247
307
  content: '\e849';
248
308
  }
309
+
249
310
  .fi-circle:before {
250
311
  content: '\e84a';
251
312
  }
313
+
252
314
  .fi-clipboard:before {
253
315
  content: '\e84b';
254
316
  }
317
+
255
318
  .fi-chrome:before {
256
319
  content: '\e84c';
257
320
  }
321
+
258
322
  .fi-clock:before {
259
323
  content: '\e84d';
260
324
  }
325
+
261
326
  .fi-cloud-lightning:before {
262
327
  content: '\e84e';
263
328
  }
329
+
264
330
  .fi-cloud-drizzle:before {
265
331
  content: '\e84f';
266
332
  }
333
+
267
334
  .fi-cloud-rain:before {
268
335
  content: '\e850';
269
336
  }
337
+
270
338
  .fi-cloud-off:before {
271
339
  content: '\e851';
272
340
  }
341
+
273
342
  .fi-codepen:before {
274
343
  content: '\e852';
275
344
  }
345
+
276
346
  .fi-cloud-snow:before {
277
347
  content: '\e853';
278
348
  }
349
+
279
350
  .fi-compass:before {
280
351
  content: '\e854';
281
352
  }
353
+
282
354
  .fi-copy:before {
283
355
  content: '\e855';
284
356
  }
357
+
285
358
  .fi-corner-down-right:before {
286
359
  content: '\e856';
287
360
  }
361
+
288
362
  .fi-corner-down-left:before {
289
363
  content: '\e857';
290
364
  }
365
+
291
366
  .fi-corner-left-down:before {
292
367
  content: '\e858';
293
368
  }
369
+
294
370
  .fi-corner-left-up:before {
295
371
  content: '\e859';
296
372
  }
373
+
297
374
  .fi-corner-up-left:before {
298
375
  content: '\e85a';
299
376
  }
377
+
300
378
  .fi-corner-up-right:before {
301
379
  content: '\e85b';
302
380
  }
381
+
303
382
  .fi-corner-right-down:before {
304
383
  content: '\e85c';
305
384
  }
385
+
306
386
  .fi-corner-right-up:before {
307
387
  content: '\e85d';
308
388
  }
389
+
309
390
  .fi-cpu:before {
310
391
  content: '\e85e';
311
392
  }
393
+
312
394
  .fi-credit-card:before {
313
395
  content: '\e85f';
314
396
  }
397
+
315
398
  .fi-crosshair:before {
316
399
  content: '\e860';
317
400
  }
401
+
318
402
  .fi-disc:before {
319
403
  content: '\e861';
320
404
  }
405
+
321
406
  .fi-delete:before {
322
407
  content: '\e862';
323
408
  }
409
+
324
410
  .fi-download-cloud:before {
325
411
  content: '\e863';
326
412
  }
413
+
327
414
  .fi-download:before {
328
415
  content: '\e864';
329
416
  }
417
+
330
418
  .fi-droplet:before {
331
419
  content: '\e865';
332
420
  }
421
+
333
422
  .fi-edit-:before {
334
423
  content: '\e866';
335
424
  }
425
+
336
426
  .fi-edit:before {
337
427
  content: '\e867';
338
428
  }
429
+
339
430
  .fi-edit-1:before {
340
431
  content: '\e868';
341
432
  }
433
+
342
434
  .fi-external-link:before {
343
435
  content: '\e869';
344
436
  }
437
+
345
438
  .fi-eye:before {
346
439
  content: '\e86a';
347
440
  }
441
+
348
442
  .fi-feather:before {
349
443
  content: '\e86b';
350
444
  }
445
+
351
446
  .fi-facebook:before {
352
447
  content: '\e86c';
353
448
  }
449
+
354
450
  .fi-file-minus:before {
355
451
  content: '\e86d';
356
452
  }
453
+
357
454
  .fi-eye-off:before {
358
455
  content: '\e86e';
359
456
  }
457
+
360
458
  .fi-fast-forward:before {
361
459
  content: '\e86f';
362
460
  }
461
+
363
462
  .fi-file-text:before {
364
463
  content: '\e870';
365
464
  }
465
+
366
466
  .fi-film:before {
367
467
  content: '\e871';
368
468
  }
469
+
369
470
  .fi-file:before {
370
471
  content: '\e872';
371
472
  }
473
+
372
474
  .fi-file-plus:before {
373
475
  content: '\e873';
374
476
  }
477
+
375
478
  .fi-folder:before {
376
479
  content: '\e874';
377
480
  }
481
+
378
482
  .fi-filter:before {
379
483
  content: '\e875';
380
484
  }
485
+
381
486
  .fi-flag:before {
382
487
  content: '\e876';
383
488
  }
489
+
384
490
  .fi-globe:before {
385
491
  content: '\e877';
386
492
  }
493
+
387
494
  .fi-grid:before {
388
495
  content: '\e878';
389
496
  }
497
+
390
498
  .fi-heart:before {
391
499
  content: '\e879';
392
500
  }
501
+
393
502
  .fi-home:before {
394
503
  content: '\e87a';
395
504
  }
505
+
396
506
  .fi-github:before {
397
507
  content: '\e87b';
398
508
  }
509
+
399
510
  .fi-image:before {
400
511
  content: '\e87c';
401
512
  }
513
+
402
514
  .fi-inbox:before {
403
515
  content: '\e87d';
404
516
  }
517
+
405
518
  .fi-layers:before {
406
519
  content: '\e87e';
407
520
  }
521
+
408
522
  .fi-info:before {
409
523
  content: '\e87f';
410
524
  }
525
+
411
526
  .fi-instagram:before {
412
527
  content: '\e880';
413
528
  }
529
+
414
530
  .fi-layout:before {
415
531
  content: '\e881';
416
532
  }
533
+
417
534
  .fi-link-:before {
418
535
  content: '\e882';
419
536
  }
537
+
420
538
  .fi-life-buoy:before {
421
539
  content: '\e883';
422
540
  }
541
+
423
542
  .fi-link:before {
424
543
  content: '\e884';
425
544
  }
545
+
426
546
  .fi-log-in:before {
427
547
  content: '\e885';
428
548
  }
549
+
429
550
  .fi-list:before {
430
551
  content: '\e886';
431
552
  }
553
+
432
554
  .fi-lock:before {
433
555
  content: '\e887';
434
556
  }
557
+
435
558
  .fi-log-out:before {
436
559
  content: '\e888';
437
560
  }
561
+
438
562
  .fi-loader:before {
439
563
  content: '\e889';
440
564
  }
565
+
441
566
  .fi-mail:before {
442
567
  content: '\e88a';
443
568
  }
569
+
444
570
  .fi-maximize-:before {
445
571
  content: '\e88b';
446
572
  }
573
+
447
574
  .fi-map:before {
448
575
  content: '\e88c';
449
576
  }
577
+
450
578
  .fi-maximize:before {
451
579
  content: '\e88d';
452
580
  }
581
+
453
582
  .fi-map-pin:before {
454
583
  content: '\e88e';
455
584
  }
585
+
456
586
  .fi-menu:before {
457
587
  content: '\e88f';
458
588
  }
589
+
459
590
  .fi-message-circle:before {
460
591
  content: '\e890';
461
592
  }
593
+
462
594
  .fi-message-square:before {
463
595
  content: '\e891';
464
596
  }
597
+
465
598
  .fi-minimize-:before {
466
599
  content: '\e892';
467
600
  }
601
+
468
602
  .fi-mic-off:before {
469
603
  content: '\e893';
470
604
  }
605
+
471
606
  .fi-minus-circle:before {
472
607
  content: '\e894';
473
608
  }
609
+
474
610
  .fi-mic:before {
475
611
  content: '\e895';
476
612
  }
613
+
477
614
  .fi-minus-square:before {
478
615
  content: '\e896';
479
616
  }
617
+
480
618
  .fi-minus:before {
481
619
  content: '\e897';
482
620
  }
621
+
483
622
  .fi-moon:before {
484
623
  content: '\e898';
485
624
  }
625
+
486
626
  .fi-monitor:before {
487
627
  content: '\e899';
488
628
  }
629
+
489
630
  .fi-more-vertical:before {
490
631
  content: '\e89a';
491
632
  }
633
+
492
634
  .fi-more-horizontal:before {
493
635
  content: '\e89b';
494
636
  }
637
+
495
638
  .fi-move:before {
496
639
  content: '\e89c';
497
640
  }
641
+
498
642
  .fi-music:before {
499
643
  content: '\e89d';
500
644
  }
645
+
501
646
  .fi-navigation-:before {
502
647
  content: '\e89e';
503
648
  }
649
+
504
650
  .fi-navigation:before {
505
651
  content: '\e89f';
506
652
  }
653
+
507
654
  .fi-octagon:before {
508
655
  content: '\e8a0';
509
656
  }
657
+
510
658
  .fi-package:before {
511
659
  content: '\e8a1';
512
660
  }
661
+
513
662
  .fi-pause-circle:before {
514
663
  content: '\e8a2';
515
664
  }
665
+
516
666
  .fi-pause:before {
517
667
  content: '\e8a3';
518
668
  }
669
+
519
670
  .fi-percent:before {
520
671
  content: '\e8a4';
521
672
  }
673
+
522
674
  .fi-phone-call:before {
523
675
  content: '\e8a5';
524
676
  }
677
+
525
678
  .fi-phone-forwarded:before {
526
679
  content: '\e8a6';
527
680
  }
681
+
528
682
  .fi-phone-missed:before {
529
683
  content: '\e8a7';
530
684
  }
685
+
531
686
  .fi-phone-off:before {
532
687
  content: '\e8a8';
533
688
  }
689
+
534
690
  .fi-phone-incoming:before {
535
691
  content: '\e8a9';
536
692
  }
693
+
537
694
  .fi-phone:before {
538
695
  content: '\e8aa';
539
696
  }
697
+
540
698
  .fi-phone-outgoing:before {
541
699
  content: '\e8ab';
542
700
  }
701
+
543
702
  .fi-pie-chart:before {
544
703
  content: '\e8ac';
545
704
  }
705
+
546
706
  .fi-play-circle:before {
547
707
  content: '\e8ad';
548
708
  }
709
+
549
710
  .fi-play:before {
550
711
  content: '\e8ae';
551
712
  }
713
+
552
714
  .fi-plus-square:before {
553
715
  content: '\e8af';
554
716
  }
717
+
555
718
  .fi-plus-circle:before {
556
719
  content: '\e8b0';
557
720
  }
721
+
558
722
  .fi-plus:before {
559
723
  content: '\e8b1';
560
724
  }
725
+
561
726
  .fi-pocket:before {
562
727
  content: '\e8b2';
563
728
  }
729
+
564
730
  .fi-printer:before {
565
731
  content: '\e8b3';
566
732
  }
733
+
567
734
  .fi-power:before {
568
735
  content: '\e8b4';
569
736
  }
737
+
570
738
  .fi-radio:before {
571
739
  content: '\e8b5';
572
740
  }
741
+
573
742
  .fi-repeat:before {
574
743
  content: '\e8b6';
575
744
  }
745
+
576
746
  .fi-refresh-ccw:before {
577
747
  content: '\e8b7';
578
748
  }
749
+
579
750
  .fi-rewind:before {
580
751
  content: '\e8b8';
581
752
  }
753
+
582
754
  .fi-rotate-ccw:before {
583
755
  content: '\e8b9';
584
756
  }
757
+
585
758
  .fi-refresh-cw:before {
586
759
  content: '\e8ba';
587
760
  }
761
+
588
762
  .fi-rotate-cw:before {
589
763
  content: '\e8bb';
590
764
  }
765
+
591
766
  .fi-save:before {
592
767
  content: '\e8bc';
593
768
  }
769
+
594
770
  .fi-search:before {
595
771
  content: '\e8bd';
596
772
  }
773
+
597
774
  .fi-server:before {
598
775
  content: '\e8be';
599
776
  }
777
+
600
778
  .fi-scissors:before {
601
779
  content: '\e8bf';
602
780
  }
781
+
603
782
  .fi-share-:before {
604
783
  content: '\e8c0';
605
784
  }
785
+
606
786
  .fi-share:before {
607
787
  content: '\e8c1';
608
788
  }
789
+
609
790
  .fi-shield:before {
610
791
  content: '\e8c2';
611
792
  }
793
+
612
794
  .fi-settings:before {
613
795
  content: '\e8c3';
614
796
  }
797
+
615
798
  .fi-skip-back:before {
616
799
  content: '\e8c4';
617
800
  }
801
+
618
802
  .fi-shuffle:before {
619
803
  content: '\e8c5';
620
804
  }
805
+
621
806
  .fi-sidebar:before {
622
807
  content: '\e8c6';
623
808
  }
809
+
624
810
  .fi-skip-forward:before {
625
811
  content: '\e8c7';
626
812
  }
813
+
627
814
  .fi-slack:before {
628
815
  content: '\e8c8';
629
816
  }
817
+
630
818
  .fi-slash:before {
631
819
  content: '\e8c9';
632
820
  }
821
+
633
822
  .fi-smartphone:before {
634
823
  content: '\e8ca';
635
824
  }
825
+
636
826
  .fi-square:before {
637
827
  content: '\e8cb';
638
828
  }
829
+
639
830
  .fi-speaker:before {
640
831
  content: '\e8cc';
641
832
  }
833
+
642
834
  .fi-star:before {
643
835
  content: '\e8cd';
644
836
  }
837
+
645
838
  .fi-stop-circle:before {
646
839
  content: '\e8ce';
647
840
  }
841
+
648
842
  .fi-sun:before {
649
843
  content: '\e8cf';
650
844
  }
845
+
651
846
  .fi-sunrise:before {
652
847
  content: '\e8d0';
653
848
  }
849
+
654
850
  .fi-tablet:before {
655
851
  content: '\e8d1';
656
852
  }
853
+
657
854
  .fi-tag:before {
658
855
  content: '\e8d2';
659
856
  }
857
+
660
858
  .fi-sunset:before {
661
859
  content: '\e8d3';
662
860
  }
861
+
663
862
  .fi-target:before {
664
863
  content: '\e8d4';
665
864
  }
865
+
666
866
  .fi-thermometer:before {
667
867
  content: '\e8d5';
668
868
  }
869
+
669
870
  .fi-thumbs-up:before {
670
871
  content: '\e8d6';
671
872
  }
873
+
672
874
  .fi-thumbs-down:before {
673
875
  content: '\e8d7';
674
876
  }
877
+
675
878
  .fi-toggle-left:before {
676
879
  content: '\e8d8';
677
880
  }
881
+
678
882
  .fi-toggle-right:before {
679
883
  content: '\e8d9';
680
884
  }
885
+
681
886
  .fi-trash-:before {
682
887
  content: '\e8da';
683
888
  }
889
+
684
890
  .fi-trash:before {
685
891
  content: '\e8db';
686
892
  }
893
+
687
894
  .fi-trending-up:before {
688
895
  content: '\e8dc';
689
896
  }
897
+
690
898
  .fi-trending-down:before {
691
899
  content: '\e8dd';
692
900
  }
901
+
693
902
  .fi-triangle:before {
694
903
  content: '\e8de';
695
904
  }
905
+
696
906
  .fi-type:before {
697
907
  content: '\e8df';
698
908
  }
909
+
699
910
  .fi-twitter:before {
700
911
  content: '\e8e0';
701
912
  }
913
+
702
914
  .fi-upload:before {
703
915
  content: '\e8e1';
704
916
  }
917
+
705
918
  .fi-umbrella:before {
706
919
  content: '\e8e2';
707
920
  }
921
+
708
922
  .fi-upload-cloud:before {
709
923
  content: '\e8e3';
710
924
  }
925
+
711
926
  .fi-unlock:before {
712
927
  content: '\e8e4';
713
928
  }
929
+
714
930
  .fi-user-check:before {
715
931
  content: '\e8e5';
716
932
  }
933
+
717
934
  .fi-user-minus:before {
718
935
  content: '\e8e6';
719
936
  }
937
+
720
938
  .fi-user-plus:before {
721
939
  content: '\e8e7';
722
940
  }
941
+
723
942
  .fi-user-x:before {
724
943
  content: '\e8e8';
725
944
  }
945
+
726
946
  .fi-user:before {
727
947
  content: '\e8e9';
728
948
  }
949
+
729
950
  .fi-users:before {
730
951
  content: '\e8ea';
731
952
  }
953
+
732
954
  .fi-video-off:before {
733
955
  content: '\e8eb';
734
956
  }
957
+
735
958
  .fi-video:before {
736
959
  content: '\e8ec';
737
960
  }
961
+
738
962
  .fi-voicemail:before {
739
963
  content: '\e8ed';
740
964
  }
965
+
741
966
  .fi-volume-x:before {
742
967
  content: '\e8ee';
743
968
  }
969
+
744
970
  .fi-volume-:before {
745
971
  content: '\e8ef';
746
972
  }
973
+
747
974
  .fi-volume-1:before {
748
975
  content: '\e8f0';
749
976
  }
977
+
750
978
  .fi-volume:before {
751
979
  content: '\e8f1';
752
980
  }
981
+
753
982
  .fi-watch:before {
754
983
  content: '\e8f2';
755
984
  }
985
+
756
986
  .fi-wifi:before {
757
987
  content: '\e8f3';
758
988
  }
989
+
759
990
  .fi-x-square:before {
760
991
  content: '\e8f4';
761
992
  }
993
+
762
994
  .fi-wind:before {
763
995
  content: '\e8f5';
764
996
  }
997
+
765
998
  .fi-x:before {
766
999
  content: '\e8f6';
767
1000
  }
1001
+
768
1002
  .fi-x-circle:before {
769
1003
  content: '\e8f7';
770
1004
  }
1005
+
771
1006
  .fi-zap:before {
772
1007
  content: '\e8f8';
773
1008
  }
1009
+
774
1010
  .fi-zoom-in:before {
775
1011
  content: '\e8f9';
776
1012
  }
1013
+
777
1014
  .fi-zoom-out:before {
778
1015
  content: '\e8fa';
779
1016
  }
1017
+
780
1018
  .fi-command:before {
781
1019
  content: '\e8fb';
782
1020
  }
1021
+
783
1022
  .fi-cloud:before {
784
1023
  content: '\e8fc';
785
1024
  }
1025
+
786
1026
  .fi-hash:before {
787
1027
  content: '\e8fd';
788
1028
  }
1029
+
789
1030
  .fi-headphones:before {
790
1031
  content: '\e8fe';
791
1032
  }
1033
+
792
1034
  /* Tokens */
793
1035
  :root {
794
1036
  /* Color HSLs
@@ -1109,6 +1351,7 @@ Noto Sans supports:
1109
1351
  var(--op-input-inner-focus) var(--op-color-alerts-notice-plus-two),
1110
1352
  var(--op-input-outer-focus) var(--op-color-alerts-notice-plus-five);
1111
1353
  }
1354
+
1112
1355
  /* Animations */
1113
1356
  @keyframes rm-slide-in-out-flash {
1114
1357
  /*
@@ -2588,10 +2831,12 @@ Noto Sans supports:
2588
2831
  --op-color-on-background: var(--op-color-neutral-on-plus-eight);
2589
2832
  --op-color-on-background-alt: var(--op-color-neutral-on-plus-eight-alt);
2590
2833
  }
2834
+
2591
2835
  /* Force Light Mode */
2592
2836
  :root[data-theme-mode='light'] {
2593
2837
  color-scheme: only light;
2594
2838
  }
2839
+
2595
2840
  /* Force Dark Mode */
2596
2841
  :root[data-theme-mode='dark'] {
2597
2842
  color-scheme: only dark;
@@ -2611,6 +2856,7 @@ Noto Sans supports:
2611
2856
  */
2612
2857
  --op-encoded-images-dropdown-arrow: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDEyIDkiIGZpbGw9IiNmZmYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik02IDguMzc1MDFMMCAyLjM3NTAxTDEuNCAwLjk3NTAwNkw2IDUuNTc1MDFMMTAuNiAwLjk3NTAwNkwxMiAyLjM3NTAxTDYgOC4zNzUwMVoiIGZpbGw9IiNmZmYiLz4KPC9zdmc+Cg==');
2613
2858
  }
2859
+
2614
2860
  @media (prefers-color-scheme: dark) {
2615
2861
  :root:not([data-theme-mode='light']) {
2616
2862
  /**
@@ -2629,13 +2875,16 @@ Noto Sans supports:
2629
2875
  --op-encoded-images-dropdown-arrow: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDEyIDkiIGZpbGw9IiNmZmYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik02IDguMzc1MDFMMCAyLjM3NTAxTDEuNCAwLjk3NTAwNkw2IDUuNTc1MDFMMTAuNiAwLjk3NTAwNkwxMiAyLjM3NTAxTDYgOC4zNzUwMVoiIGZpbGw9IiNmZmYiLz4KPC9zdmc+Cg==');
2630
2876
  }
2631
2877
  }
2878
+
2632
2879
  /* Base styles and utilities */
2633
2880
  /* After a reset, introduce base element styles specific to this system */
2881
+
2634
2882
  html {
2635
2883
  overflow: hidden; /* Needed to prevent flash messages and panels from causing overflow */
2636
2884
  font-family: var(--op-font-family);
2637
2885
  font-size: 62.5%; /* 1rem = 10px */
2638
2886
  }
2887
+
2639
2888
  body {
2640
2889
  overflow: auto;
2641
2890
  background: var(--op-color-background);
@@ -2643,14 +2892,17 @@ body {
2643
2892
  color: var(--op-color-on-background);
2644
2893
  font-size: var(--op-font-medium);
2645
2894
  }
2895
+
2646
2896
  button {
2647
2897
  background: none;
2648
2898
  cursor: pointer;
2649
2899
  }
2900
+
2650
2901
  button,
2651
2902
  input[type='submit'] {
2652
2903
  border: 0;
2653
2904
  }
2905
+
2654
2906
  label {
2655
2907
  display: inline-block;
2656
2908
 
@@ -2658,9 +2910,11 @@ label {
2658
2910
  cursor: pointer;
2659
2911
  }
2660
2912
  }
2913
+
2661
2914
  a {
2662
2915
  color: var(--op-color-primary-original);
2663
2916
  }
2917
+
2664
2918
  blockquote,
2665
2919
  dl,
2666
2920
  dd,
@@ -2674,6 +2928,7 @@ figure,
2674
2928
  pre {
2675
2929
  margin: 0;
2676
2930
  }
2931
+
2677
2932
  h1,
2678
2933
  h2,
2679
2934
  h3,
@@ -2683,28 +2938,36 @@ h6 {
2683
2938
  font-weight: var(--op-font-weight-normal);
2684
2939
  margin-block: 0 var(--op-space-small);
2685
2940
  }
2941
+
2686
2942
  h1 {
2687
2943
  font-size: var(--op-font-3x-large);
2688
2944
  }
2945
+
2689
2946
  h2 {
2690
2947
  font-size: var(--op-font-2x-large);
2691
2948
  }
2949
+
2692
2950
  h3 {
2693
2951
  font-size: var(--op-font-large);
2694
2952
  }
2953
+
2695
2954
  h4 {
2696
2955
  font-size: var(--op-font-medium);
2697
2956
  }
2957
+
2698
2958
  h5 {
2699
2959
  font-size: var(--op-font-small);
2700
2960
  }
2961
+
2701
2962
  h6 {
2702
2963
  font-size: var(--op-font-x-small);
2703
2964
  }
2965
+
2704
2966
  p {
2705
2967
  font-size: var(--op-font-medium);
2706
2968
  margin-block-end: var(--op-space-small);
2707
2969
  }
2970
+
2708
2971
  small {
2709
2972
  font-size: var(--op-font-small);
2710
2973
  }
@@ -2714,11 +2977,13 @@ small {
2714
2977
  grid-template-columns: auto 1fr auto;
2715
2978
  inline-size: 100%;
2716
2979
  }
2980
+
2717
2981
  .app-body {
2718
2982
  display: flex;
2719
2983
  overflow: auto;
2720
2984
  flex-direction: column;
2721
2985
  }
2986
+
2722
2987
  .app__header {
2723
2988
  position: sticky;
2724
2989
  z-index: var(--op-z-index-header);
@@ -2726,6 +2991,7 @@ small {
2726
2991
  flex-shrink: 0;
2727
2992
  inset-block-start: 0;
2728
2993
  }
2994
+
2729
2995
  .app__content {
2730
2996
  flex-grow: 1;
2731
2997
  padding: 0 var(--op-space-large);
@@ -2733,12 +2999,14 @@ small {
2733
2999
  inline-size: 100%;
2734
3000
  max-inline-size: var(--op-breakpoint-medium);
2735
3001
  }
3002
+
2736
3003
  .app__content-no-margin {
2737
3004
  flex-grow: 1;
2738
3005
  padding: 0 var(--op-space-large);
2739
3006
  inline-size: 100%;
2740
3007
  overflow-y: auto;
2741
3008
  }
3009
+
2742
3010
  .app__footer {
2743
3011
  position: sticky;
2744
3012
  z-index: var(--op-z-index-footer);
@@ -2746,6 +3014,7 @@ small {
2746
3014
  flex-shrink: 0;
2747
3015
  inset-block-end: 0;
2748
3016
  }
3017
+
2749
3018
  /*
2750
3019
  <html lang='en'>
2751
3020
  <head>...</head>
@@ -2760,6 +3029,7 @@ small {
2760
3029
  </body>
2761
3030
  </html>
2762
3031
  */
3032
+
2763
3033
  :root:has(.op-page) {
2764
3034
  /* Reset existing Optics layout */
2765
3035
  overflow: unset;
@@ -2777,6 +3047,7 @@ small {
2777
3047
  min-block-size: 100%;
2778
3048
  }
2779
3049
  }
3050
+
2780
3051
  .op-page {
2781
3052
  display: grid;
2782
3053
  grid-template-areas: 'sidebar-left main sidebar-right';
@@ -2851,6 +3122,7 @@ small {
2851
3122
  }
2852
3123
  }
2853
3124
  /* Container Properties */
3125
+
2854
3126
  .container {
2855
3127
  inline-size: 100%;
2856
3128
  margin-block: 0;
@@ -2859,304 +3131,408 @@ small {
2859
3131
  padding-block: 0;
2860
3132
  padding-inline: var(--op-space-large);
2861
3133
  }
3134
+
2862
3135
  .container--sm {
2863
3136
  max-inline-size: var(--op-breakpoint-small);
2864
3137
  }
3138
+
2865
3139
  .container--md-padding {
2866
3140
  padding: 0 var(--op-space-medium);
2867
3141
  }
3142
+
2868
3143
  .container--sm-padding {
2869
3144
  padding: 0 var(--op-space-small);
2870
3145
  }
3146
+
2871
3147
  .container--xs {
2872
3148
  max-inline-size: var(--op-breakpoint-x-small);
2873
3149
  }
3150
+
2874
3151
  /* Width Properties */
3152
+
2875
3153
  .full-width {
2876
3154
  inline-size: 100%;
2877
3155
  }
3156
+
2878
3157
  .half-width {
2879
3158
  inline-size: 50%;
2880
3159
  }
3160
+
2881
3161
  .four-fifths-width {
2882
3162
  inline-size: calc(100% * 4 / 5);
2883
3163
  }
3164
+
2884
3165
  .three-fifths-width {
2885
3166
  inline-size: calc(100% * 3 / 5);
2886
3167
  }
3168
+
2887
3169
  .two-fifths-width {
2888
3170
  inline-size: calc(100% * 2 / 5);
2889
3171
  }
3172
+
2890
3173
  .one-fifth-width {
2891
3174
  inline-size: calc(100% * 1 / 5);
2892
3175
  }
3176
+
2893
3177
  .three-quarters-width {
2894
3178
  inline-size: calc(100% * 3 / 4);
2895
3179
  }
3180
+
2896
3181
  .one-quarter-width {
2897
3182
  inline-size: calc(100% * 1 / 4);
2898
3183
  }
3184
+
2899
3185
  .two-thirds-width {
2900
3186
  inline-size: calc(100% * 2 / 3);
2901
3187
  }
3188
+
2902
3189
  .one-third-width {
2903
3190
  inline-size: calc(100% * 1 / 3);
2904
3191
  }
3192
+
2905
3193
  /* Flex Properties */
3194
+
2906
3195
  .flex {
2907
3196
  display: flex;
2908
3197
  }
3198
+
2909
3199
  .flex-col {
2910
3200
  flex-direction: column;
2911
3201
  }
3202
+
2912
3203
  .flex-row {
2913
3204
  flex-direction: row;
2914
3205
  }
3206
+
2915
3207
  .flex-wrap {
2916
3208
  flex-wrap: wrap;
2917
3209
  }
3210
+
2918
3211
  .flex-no-wrap {
2919
3212
  flex-wrap: nowrap;
2920
3213
  }
3214
+
2921
3215
  .flex-grow-1 {
2922
3216
  flex-grow: 1;
2923
3217
  }
3218
+
2924
3219
  /* Gap Properties */
2925
3220
  .gap-none {
2926
3221
  gap: 0;
2927
3222
 
2928
3223
  --op-gap: 0;
2929
3224
  }
3225
+
2930
3226
  .gap-xxs {
2931
3227
  gap: var(--op-space-2x-small);
2932
3228
 
2933
3229
  --op-gap: var(--op-space-2x-small);
2934
3230
  }
3231
+
2935
3232
  .gap-xs {
2936
3233
  gap: var(--op-space-x-small);
2937
3234
 
2938
3235
  --op-gap: var(--op-space-x-small);
2939
3236
  }
3237
+
2940
3238
  .gap-sm {
2941
3239
  gap: var(--op-space-small);
2942
3240
 
2943
3241
  --op-gap: var(--op-space-small);
2944
3242
  }
3243
+
2945
3244
  .gap-md {
2946
3245
  gap: var(--op-space-medium);
2947
3246
 
2948
3247
  --op-gap: var(--op-space-medium);
2949
3248
  }
3249
+
2950
3250
  .gap-lg {
2951
3251
  gap: var(--op-space-large);
2952
3252
 
2953
3253
  --op-gap: var(--op-space-large);
2954
3254
  }
3255
+
2955
3256
  .gap-xl {
2956
3257
  gap: var(--op-space-x-large);
2957
3258
 
2958
3259
  --op-gap: var(--op-space-x-large);
2959
3260
  }
3261
+
2960
3262
  /* Justify Content */
3263
+
2961
3264
  .justify-start {
2962
3265
  justify-content: flex-start;
2963
3266
  }
3267
+
2964
3268
  .justify-center {
2965
3269
  justify-content: center;
2966
3270
  }
3271
+
2967
3272
  .justify-end {
2968
3273
  justify-content: flex-end;
2969
3274
  }
3275
+
2970
3276
  .justify-between {
2971
3277
  justify-content: space-between;
2972
3278
  }
3279
+
2973
3280
  .justify-around {
2974
3281
  justify-content: space-around;
2975
3282
  }
3283
+
2976
3284
  /* Align Items */
3285
+
2977
3286
  .items-stretch {
2978
3287
  align-items: stretch;
2979
3288
  }
3289
+
2980
3290
  .items-start {
2981
3291
  align-items: flex-start;
2982
3292
  }
3293
+
2983
3294
  .items-center {
2984
3295
  align-items: center;
2985
3296
  }
3297
+
2986
3298
  .items-end {
2987
3299
  align-items: flex-end;
2988
3300
  }
3301
+
2989
3302
  .items-baseline {
2990
3303
  align-items: baseline;
2991
3304
  }
3305
+
2992
3306
  /* Align Self */
3307
+
2993
3308
  .self-auto {
2994
3309
  align-self: auto;
2995
3310
  }
3311
+
2996
3312
  .self-start {
2997
3313
  align-self: flex-start;
2998
3314
  }
3315
+
2999
3316
  .self-center {
3000
3317
  align-self: center;
3001
3318
  }
3319
+
3002
3320
  .self-end {
3003
3321
  align-self: flex-end;
3004
3322
  }
3323
+
3005
3324
  .self-stretch {
3006
3325
  align-self: stretch;
3007
3326
  }
3327
+
3008
3328
  .self-baseline {
3009
3329
  align-self: baseline;
3010
3330
  }
3331
+
3011
3332
  /* Text Alignment */
3333
+
3012
3334
  .text-left {
3013
3335
  text-align: start;
3014
3336
  }
3337
+
3015
3338
  .text-center {
3016
3339
  text-align: center;
3017
3340
  }
3341
+
3018
3342
  .text-right {
3019
3343
  text-align: end;
3020
3344
  }
3345
+
3021
3346
  .text-justify {
3022
3347
  text-align: justify;
3023
3348
  }
3349
+
3024
3350
  /* Box Margin */
3351
+
3025
3352
  .margin-xl {
3026
3353
  margin: var(--op-space-x-large);
3027
3354
  }
3355
+
3028
3356
  .margin-lg {
3029
3357
  margin: var(--op-space-large);
3030
3358
  }
3359
+
3031
3360
  .margin-md {
3032
3361
  margin: var(--op-space-medium);
3033
3362
  }
3363
+
3034
3364
  .margin-sm {
3035
3365
  margin: var(--op-space-small);
3036
3366
  }
3367
+
3037
3368
  .margin-xs {
3038
3369
  margin: var(--op-space-x-small);
3039
3370
  }
3371
+
3040
3372
  .margin-none {
3041
3373
  margin: 0;
3042
3374
  }
3375
+
3043
3376
  .margin-auto {
3044
3377
  margin: auto;
3045
3378
  }
3379
+
3046
3380
  /* Vertical Margin */
3381
+
3047
3382
  .margin-y-xl {
3048
3383
  margin-block: var(--op-space-x-large);
3049
3384
  }
3385
+
3050
3386
  .margin-y-lg {
3051
3387
  margin-block: var(--op-space-large);
3052
3388
  }
3389
+
3053
3390
  .margin-y-md {
3054
3391
  margin-block: var(--op-space-medium);
3055
3392
  }
3393
+
3056
3394
  .margin-y-sm {
3057
3395
  margin-block: var(--op-space-small);
3058
3396
  }
3397
+
3059
3398
  .margin-y-xs {
3060
3399
  margin-block: var(--op-space-x-small);
3061
3400
  }
3401
+
3062
3402
  .margin-y-none {
3063
3403
  margin-block: 0;
3064
3404
  }
3405
+
3065
3406
  /* Horizontal Margin */
3407
+
3066
3408
  .margin-x-xl {
3067
3409
  margin-inline: var(--op-space-x-large);
3068
3410
  }
3411
+
3069
3412
  .margin-x-lg {
3070
3413
  margin-inline: var(--op-space-large);
3071
3414
  }
3415
+
3072
3416
  .margin-x-md {
3073
3417
  margin-inline: var(--op-space-medium);
3074
3418
  }
3419
+
3075
3420
  .margin-x-sm {
3076
3421
  margin-inline: var(--op-space-small);
3077
3422
  }
3423
+
3078
3424
  .margin-x-xs {
3079
3425
  margin-inline: var(--op-space-x-small);
3080
3426
  }
3427
+
3081
3428
  .margin-x-none {
3082
3429
  margin-inline: 0;
3083
3430
  }
3431
+
3084
3432
  /* Top Margin */
3433
+
3085
3434
  .margin-top-xl {
3086
3435
  margin-block-start: var(--op-space-x-large);
3087
3436
  }
3437
+
3088
3438
  .margin-top-lg {
3089
3439
  margin-block-start: var(--op-space-large);
3090
3440
  }
3441
+
3091
3442
  .margin-top-md {
3092
3443
  margin-block-start: var(--op-space-medium);
3093
3444
  }
3445
+
3094
3446
  .margin-top-sm {
3095
3447
  margin-block-start: var(--op-space-small);
3096
3448
  }
3449
+
3097
3450
  .margin-top-xs {
3098
3451
  margin-block-start: var(--op-space-x-small);
3099
3452
  }
3453
+
3100
3454
  .margin-top-none {
3101
3455
  margin-block-start: 0;
3102
3456
  }
3457
+
3103
3458
  /* Bottom Margin */
3459
+
3104
3460
  .margin-bottom-xl {
3105
3461
  margin-block-end: var(--op-space-x-large);
3106
3462
  }
3463
+
3107
3464
  .margin-bottom-lg {
3108
3465
  margin-block-end: var(--op-space-large);
3109
3466
  }
3467
+
3110
3468
  .margin-bottom-md {
3111
3469
  margin-block-end: var(--op-space-medium);
3112
3470
  }
3471
+
3113
3472
  .margin-bottom-sm {
3114
3473
  margin-block-end: var(--op-space-small);
3115
3474
  }
3475
+
3116
3476
  .margin-bottom-xs {
3117
3477
  margin-block-end: var(--op-space-x-small);
3118
3478
  }
3479
+
3119
3480
  .margin-bottom-none {
3120
3481
  margin-block-end: 0;
3121
3482
  }
3483
+
3122
3484
  /* Right Margin */
3485
+
3123
3486
  .margin-right-xl {
3124
3487
  margin-inline-end: var(--op-space-x-large);
3125
3488
  }
3489
+
3126
3490
  .margin-right-lg {
3127
3491
  margin-inline-end: var(--op-space-large);
3128
3492
  }
3493
+
3129
3494
  .margin-right-md {
3130
3495
  margin-inline-end: var(--op-space-medium);
3131
3496
  }
3497
+
3132
3498
  .margin-right-sm {
3133
3499
  margin-inline-end: var(--op-space-small);
3134
3500
  }
3501
+
3135
3502
  .margin-right-xs {
3136
3503
  margin-inline-end: var(--op-space-x-small);
3137
3504
  }
3505
+
3138
3506
  .margin-right-none {
3139
3507
  margin-inline-start: 0;
3140
3508
  }
3509
+
3141
3510
  /* Left Margin */
3511
+
3142
3512
  .margin-left-xl {
3143
3513
  margin-inline-start: var(--op-space-x-large);
3144
3514
  }
3515
+
3145
3516
  .margin-left-lg {
3146
3517
  margin-inline-start: var(--op-space-large);
3147
3518
  }
3519
+
3148
3520
  .margin-left-md {
3149
3521
  margin-inline-start: var(--op-space-medium);
3150
3522
  }
3523
+
3151
3524
  .margin-left-sm {
3152
3525
  margin-inline-start: var(--op-space-small);
3153
3526
  }
3527
+
3154
3528
  .margin-left-xs {
3155
3529
  margin-inline-start: var(--op-space-x-small);
3156
3530
  }
3531
+
3157
3532
  .margin-left-none {
3158
3533
  margin-inline-start: 0;
3159
3534
  }
3535
+
3160
3536
  /*
3161
3537
  Accessibility
3162
3538
  Use the following class to hide accessibility text that is needed for screen readers but needs to be hidden from regular users.
@@ -3170,7 +3546,9 @@ small {
3170
3546
  clip: rect(1px, 1px, 1px, 1px);
3171
3547
  inline-size: 1px;
3172
3548
  }
3549
+
3173
3550
  /* Advanced Layout Utilities */
3551
+
3174
3552
  /* Equivalent to .flex.flex-col.gap-md */
3175
3553
  .op-stack {
3176
3554
  display: flex;
@@ -3183,6 +3561,7 @@ small {
3183
3561
  gap: var(--op-space-medium);
3184
3562
  }
3185
3563
  }
3564
+
3186
3565
  /* Equivalent to .flex.flex-wrap.items-center.gap-md */
3187
3566
  .op-cluster {
3188
3567
  display: flex;
@@ -3196,6 +3575,7 @@ small {
3196
3575
  gap: var(--op-space-medium);
3197
3576
  }
3198
3577
  }
3578
+
3199
3579
  /* Equivalent to .flex.flex-wrap.items-center.justify-between.gap-md */
3200
3580
  .op-split {
3201
3581
  display: flex;
@@ -3210,6 +3590,7 @@ small {
3210
3590
  gap: var(--op-space-medium);
3211
3591
  }
3212
3592
  }
3593
+
3213
3594
  /*
3214
3595
  side by side layout with a small area and a large area
3215
3596
  similar to .flex with a .flex-grow-1 within it, but with a more semantic name and wrap handling.
@@ -3243,6 +3624,7 @@ small {
3243
3624
  flex-grow: 999;
3244
3625
  }
3245
3626
  }
3627
+
3246
3628
  /* Grid Layout */
3247
3629
  .op-grid {
3248
3630
  --_op-grid-min-column-size: var(--op-space-4x-large);
@@ -3281,12 +3663,14 @@ small {
3281
3663
  --_op-grid-max-column-size: calc(100% / 7);
3282
3664
  }
3283
3665
  }
3666
+
3284
3667
  /* Frame */
3285
3668
  @property --_op-frame-inline-size {
3286
3669
  inherits: true;
3287
3670
  initial-value: 100%;
3288
3671
  syntax: '<length> | <percentage>';
3289
3672
  }
3673
+
3290
3674
  .op-frame {
3291
3675
  display: flex;
3292
3676
  overflow: hidden;
@@ -3338,6 +3722,7 @@ small {
3338
3722
  aspect-ratio: 2 / 3;
3339
3723
  }
3340
3724
  }
3725
+
3341
3726
  /* Components */
3342
3727
  .accordion {
3343
3728
  /* Public API (customizable component options) */
@@ -4096,6 +4481,7 @@ small {
4096
4481
  }
4097
4482
  }
4098
4483
  }
4484
+
4099
4485
  .btn-group-toolbar {
4100
4486
  display: flex;
4101
4487
  flex-wrap: wrap;
@@ -4209,6 +4595,7 @@ small {
4209
4595
  }
4210
4596
  }
4211
4597
  }
4598
+
4212
4599
  /* stylelint-disable no-descending-specificity */
4213
4600
  .confirm-dialog {
4214
4601
  /* Public API (customizable component options) */
@@ -4396,6 +4783,7 @@ small {
4396
4783
  /* stylelint-enable selector-no-vendor-prefix */
4397
4784
  }
4398
4785
  }
4786
+
4399
4787
  /* Radio or Checkbox Form Control */
4400
4788
  .form-control:is([type='radio'], [type='checkbox']) {
4401
4789
  /* Public API (customizable component options) */
@@ -4414,6 +4802,7 @@ small {
4414
4802
  align-self: center;
4415
4803
  }
4416
4804
  }
4805
+
4417
4806
  /* Any Form Control that is not a radio or checkbox */
4418
4807
  .form-control:not([type='radio'], [type='checkbox']) {
4419
4808
  /* Public API (customizable component options) */
@@ -4476,6 +4865,7 @@ small {
4476
4865
  }
4477
4866
  }
4478
4867
  }
4868
+
4479
4869
  /* Color Form Control */
4480
4870
  .form-control[type='color'] {
4481
4871
  padding: var(--op-space-2x-small);
@@ -4490,6 +4880,7 @@ small {
4490
4880
  border-radius: var(--op-radius-medium);
4491
4881
  }
4492
4882
  }
4883
+
4493
4884
  /* File Form Control */
4494
4885
  .form-control[type='file'] {
4495
4886
  padding-block: 0;
@@ -4525,6 +4916,7 @@ small {
4525
4916
  --__op-btn-height: calc(var(--__op-btn-base-height) - var(--op-space-x-small));
4526
4917
  }
4527
4918
  }
4919
+
4528
4920
  select.form-control:not([multiple], [type='radio'], [type='checkbox']) {
4529
4921
  appearance: none;
4530
4922
  background-image: var(--op-encoded-images-dropdown-arrow);
@@ -4536,14 +4928,17 @@ select.form-control:not([multiple], [type='radio'], [type='checkbox']) {
4536
4928
  cursor: pointer;
4537
4929
  padding-inline-end: var(--op-space-3x-large);
4538
4930
  }
4931
+
4539
4932
  select.form-control[multiple] {
4540
4933
  min-block-size: calc(2 * var(--__op-form-control-height));
4541
4934
  }
4935
+
4542
4936
  textarea.form-control:not([type='radio'], [type='checkbox']) {
4543
4937
  block-size: calc(2 * var(--__op-form-control-height));
4544
4938
  max-inline-size: 100%;
4545
4939
  min-block-size: var(--__op-form-control-height);
4546
4940
  }
4941
+
4547
4942
  .form-label {
4548
4943
  color: var(--op-color-on-background);
4549
4944
  font-size: var(--op-font-x-small);
@@ -4551,16 +4946,19 @@ textarea.form-control:not([type='radio'], [type='checkbox']) {
4551
4946
  letter-spacing: var(--op-letter-spacing-label);
4552
4947
  line-height: var(--op-line-height-base);
4553
4948
  }
4949
+
4554
4950
  .form-error {
4555
4951
  color: var(--op-color-alerts-danger-base);
4556
4952
  font-size: var(--op-font-x-small);
4557
4953
  inline-size: fit-content;
4558
4954
  }
4955
+
4559
4956
  .form-hint {
4560
4957
  display: block;
4561
4958
  font-size: var(--op-font-small);
4562
4959
  font-style: italic;
4563
4960
  }
4961
+
4564
4962
  .form-error-summary {
4565
4963
  padding: var(--op-space-large);
4566
4964
  border-radius: var(--op-radius-large);
@@ -4577,6 +4975,7 @@ textarea.form-control:not([type='radio'], [type='checkbox']) {
4577
4975
  margin-block-end: 0;
4578
4976
  }
4579
4977
  }
4978
+
4580
4979
  .form-group {
4581
4980
  display: grid;
4582
4981
  align-content: baseline;
@@ -4607,6 +5006,7 @@ textarea.form-control:not([type='radio'], [type='checkbox']) {
4607
5006
  }
4608
5007
  }
4609
5008
  }
5009
+
4610
5010
  .form-group--inline {
4611
5011
  align-items: center;
4612
5012
 
@@ -4628,6 +5028,7 @@ textarea.form-control:not([type='radio'], [type='checkbox']) {
4628
5028
  }
4629
5029
  /* stylelint-enable no-descending-specificity */
4630
5030
  }
5031
+
4631
5032
  .form-group--error {
4632
5033
  /* stylelint-disable no-descending-specificity */
4633
5034
  .form-control {
@@ -4717,6 +5118,13 @@ textarea.form-control:not([type='radio'], [type='checkbox']) {
4717
5118
  --_op-icon-optical-size-large: 40;
4718
5119
  --_op-icon-optical-size-x-large: 48;
4719
5120
 
5121
+ /* SVG (.icon--svg) */
5122
+ --_op-icon-stroke-width-light: 1;
5123
+ --_op-icon-stroke-width-normal: 1.5;
5124
+ --_op-icon-stroke-width-semi-bold: 2;
5125
+ --_op-icon-stroke-width-bold: 2.5;
5126
+ --_op-icon-svg-opacity-low-emphasis: 0.6;
5127
+
4720
5128
  /* Private API (component option defaults) */
4721
5129
  --__op-icon-weight: var(--_op-icon-weight-normal);
4722
5130
  --__op-icon-fill: var(--_op-icon-fill-outlined);
@@ -4744,18 +5152,22 @@ textarea.form-control:not([type='radio'], [type='checkbox']) {
4744
5152
  /* Weight Modifiers */
4745
5153
  &.icon--weight-light {
4746
5154
  --__op-icon-weight: var(--_op-icon-weight-light);
5155
+ --__op-icon-stroke-width: var(--_op-icon-stroke-width-light);
4747
5156
  }
4748
5157
 
4749
5158
  &.icon--weight-normal {
4750
5159
  --__op-icon-weight: var(--_op-icon-weight-normal);
5160
+ --__op-icon-stroke-width: var(--_op-icon-stroke-width-normal);
4751
5161
  }
4752
5162
 
4753
5163
  &.icon--weight-semi-bold {
4754
5164
  --__op-icon-weight: var(--_op-icon-weight-semi-bold);
5165
+ --__op-icon-stroke-width: var(--_op-icon-stroke-width-semi-bold);
4755
5166
  }
4756
5167
 
4757
5168
  &.icon--weight-bold {
4758
5169
  --__op-icon-weight: var(--_op-icon-weight-bold);
5170
+ --__op-icon-stroke-width: var(--_op-icon-stroke-width-bold);
4759
5171
  }
4760
5172
 
4761
5173
  /* Emphasis */
@@ -4791,7 +5203,27 @@ textarea.form-control:not([type='radio'], [type='checkbox']) {
4791
5203
  --__op-icon-font-size: var(--_op-icon-font-size-x-large);
4792
5204
  --__op-icon-optical-size: var(--_op-icon-optical-size-x-large);
4793
5205
  }
5206
+
5207
+ /* SVG Modifier: an inline SVG instead of a font glyph, e.g. `icon icon--svg icon--large` */
5208
+ &.icon--svg {
5209
+ svg {
5210
+ display: block;
5211
+ block-size: 100%;
5212
+ inline-size: 100%;
5213
+ }
5214
+
5215
+ /* A rule on the <svg> root cannot beat a stroke-width attribute on a child, so target the attribute.
5216
+ With no weight modifier the set keeps the widths it was drawn with. */
5217
+ &:is(.icon--weight-light, .icon--weight-normal, .icon--weight-semi-bold, .icon--weight-bold) svg [stroke-width] {
5218
+ stroke-width: var(--__op-icon-stroke-width);
5219
+ }
5220
+
5221
+ &.icon--low-emphasis {
5222
+ opacity: var(--_op-icon-svg-opacity-low-emphasis);
5223
+ }
5224
+ }
4794
5225
  }
5226
+
4795
5227
  /* Material Icons class provided by the Google Fonts CDN */
4796
5228
  .material-symbols-outlined {
4797
5229
  font-variation-settings:
@@ -4801,6 +5233,7 @@ textarea.form-control:not([type='radio'], [type='checkbox']) {
4801
5233
  'opsz' var(--__op-icon-optical-size);
4802
5234
  font-weight: unset;
4803
5235
  }
5236
+
4804
5237
  /* Custom SVG Icons app specific */
4805
5238
  .custom-icons {
4806
5239
  svg {
@@ -4850,6 +5283,7 @@ textarea.form-control:not([type='radio'], [type='checkbox']) {
4850
5283
  }
4851
5284
  }
4852
5285
  }
5286
+
4853
5287
  .modal {
4854
5288
  /* Public API (customizable component options) */
4855
5289
  --_op-modal-width: calc(141 * var(--op-size-unit)); /* 564px */
@@ -4895,6 +5329,7 @@ textarea.form-control:not([type='radio'], [type='checkbox']) {
4895
5329
  gap: var(--op-space-small);
4896
5330
  }
4897
5331
  }
5332
+
4898
5333
  dialog.modal {
4899
5334
  padding: 0;
4900
5335
  border: none;
@@ -4927,6 +5362,7 @@ dialog.modal {
4927
5362
  }
4928
5363
  }
4929
5364
  }
5365
+
4930
5366
  @starting-style {
4931
5367
  dialog.modal[open] {
4932
5368
  transform: scale(0.7);
@@ -5434,6 +5870,7 @@ dialog.modal {
5434
5870
  --__op-spinner-track-width: var(--_op-spinner-track-width-large);
5435
5871
  }
5436
5872
  }
5873
+
5437
5874
  @keyframes spinner {
5438
5875
  to {
5439
5876
  transform: rotate(360deg);
@@ -5550,6 +5987,7 @@ dialog.modal {
5550
5987
  display: flex;
5551
5988
  align-items: center;
5552
5989
  }
5990
+
5553
5991
  .tab {
5554
5992
  /* Public API */
5555
5993
  --_op-tab-font-small: var(--op-font-x-small);
@@ -5982,6 +6420,7 @@ dialog.modal {
5982
6420
  }
5983
6421
  }
5984
6422
  /* Inspired by https://blog.logrocket.com/creating-beautiful-tooltips-with-only-css/ */
6423
+
5985
6424
  [data-tooltip-text] {
5986
6425
  /* Public API (customizable component options) */
5987
6426
  --_op-tooltip-max-width: calc(50 * var(--op-size-unit)); /* 200px */