@ecopages/radiant-themes 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +37 -17
  2. package/dist/compiled/themes/cloudflare/compact.css +56 -14
  3. package/dist/compiled/themes/cloudflare.css +56 -14
  4. package/dist/compiled/themes/github/compact.css +310 -65
  5. package/dist/compiled/themes/github.css +310 -65
  6. package/dist/compiled/themes/high-contrast/compact.css +108 -11
  7. package/dist/compiled/themes/high-contrast.css +108 -11
  8. package/dist/compiled/themes/macos/compact.css +698 -272
  9. package/dist/compiled/themes/macos-classic/compact.css +455 -16
  10. package/dist/compiled/themes/macos-classic.css +455 -16
  11. package/dist/compiled/themes/macos.css +698 -272
  12. package/dist/compiled/themes/material/compact.css +461 -136
  13. package/dist/compiled/themes/material.css +461 -136
  14. package/dist/compiled/themes/vercel/compact.css +118 -66
  15. package/dist/compiled/themes/vercel.css +118 -66
  16. package/dist/compiled/themes/vscode/compact.css +310 -40
  17. package/dist/compiled/themes/vscode.css +310 -40
  18. package/dist/compiled/themes/windows95/compact.css +408 -22
  19. package/dist/compiled/themes/windows95.css +408 -22
  20. package/dist/foundation.css +13 -0
  21. package/dist/tokens/colors/cloudflare.css +1 -1
  22. package/dist/tokens/colors/github.css +32 -0
  23. package/dist/tokens/colors/macos.css +65 -25
  24. package/dist/tokens/colors/material.css +61 -20
  25. package/dist/tokens/colors/vercel.css +43 -39
  26. package/dist/tokens/colors/vscode.css +48 -4
  27. package/dist/tokens/colors/windows95.css +10 -5
  28. package/dist/tokens/components/cloudflare.css +63 -7
  29. package/dist/tokens/components/github.css +287 -39
  30. package/dist/tokens/components/high-contrast.css +106 -11
  31. package/dist/tokens/components/macos-classic.css +549 -15
  32. package/dist/tokens/components/macos.css +555 -96
  33. package/dist/tokens/components/material.css +360 -29
  34. package/dist/tokens/components/vercel.css +83 -19
  35. package/dist/tokens/components/vscode.css +280 -27
  36. package/dist/tokens/components/windows95.css +470 -18
  37. package/dist/tokens/roles/cloudflare.css +1 -1
  38. package/dist/tokens/roles/github.css +12 -12
  39. package/dist/tokens/roles/macos.css +97 -93
  40. package/dist/tokens/roles/material.css +65 -65
  41. package/dist/tokens/roles/vercel.css +3 -3
  42. package/package.json +3 -3
@@ -5,7 +5,8 @@
5
5
  * outline and a two-pixel bevel (white and #aaaaaa highlight, #808080 and #aaaaaa shade), a three-layer ring around the
6
6
  * default button, 12px check boxes and radio buttons, trapezoid tabs, and 1px alternating title-bar stripes.
7
7
  */
8
- :root, :root[data-rui-theme='macos-classic'] {
8
+ :root,
9
+ :root[data-rui-theme='macos-classic'] {
9
10
  --font-sans: Charcoal, Geneva, 'Lucida Grande', 'Helvetica Neue', Arial, sans-serif;
10
11
  --font-heading: Charcoal, Geneva, 'Lucida Grande', 'Helvetica Neue', Arial, sans-serif;
11
12
  --font-mono: Monaco, Menlo, 'Courier New', monospace;
@@ -34,6 +35,18 @@
34
35
  --macos-classic-well: inset 1px 1px 0 var(--macos-classic-shadow), inset -1px -1px 0 var(--macos-classic-light);
35
36
  --macos-classic-tab-shape: polygon(13.7% 0, 86.3% 0, 100% 100%, 0 100%);
36
37
  --macos-classic-tab-outline: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 75.31 23.44' preserveAspectRatio='none'%3E%3Cpath d='M0,23.44 L10.32,0 H64.98 L75.31,23.44' fill='none' stroke='black' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
38
+ --macos-classic-scrollbar-thumb: #9b9bf9;
39
+ --macos-classic-scrollbar-highlight: #cdcdfc;
40
+ --macos-classic-scrollbar-shadow: #353594;
41
+ --macos-classic-scrollbar-edge: #555655;
42
+ }
43
+
44
+ :where(.dark),
45
+ :root.dark[data-rui-theme='macos-classic'] {
46
+ --macos-classic-scrollbar-thumb: var(--macos-classic-selection);
47
+ --macos-classic-scrollbar-highlight: var(--macos-classic-blue-light);
48
+ --macos-classic-scrollbar-shadow: var(--macos-classic-blue);
49
+ --macos-classic-scrollbar-edge: var(--macos-classic-shadow);
37
50
  }
38
51
 
39
52
  @layer components {
@@ -170,7 +183,8 @@
170
183
  :root .rui-date-field__group,
171
184
  :root .rui-date-range-picker__group,
172
185
  :root .rui-input-group,
173
- :root .rui-number-field__group {
186
+ :root .rui-number-field__group,
187
+ :root rui-date-input:where(:not([data-date-field-input], [data-range-start], [data-range-end])) {
174
188
  @apply rounded-none;
175
189
  border-color: var(--macos-classic-dark);
176
190
  background-color: var(--macos-classic-field);
@@ -357,8 +371,18 @@
357
371
  box-shadow: var(--macos-classic-bevel);
358
372
  }
359
373
 
374
+ /**
375
+ * @remarks Every floating panel shares the `.rui-popover` surface, so its custom properties give popovers, date
376
+ * pickers, and navigation panels the window frame; menus and listboxes override the frame below.
377
+ */
378
+ :root .rui-popover {
379
+ --rui-popover-radius: 0;
380
+ --rui-popover-surface: var(--macos-classic-surface);
381
+ --rui-popover-border-color: var(--macos-classic-dark);
382
+ --rui-popover-shadow: var(--macos-classic-bevel), 1px 1px 0 var(--macos-classic-dark), 3px 3px 0 rgb(0 0 0 / 0.25);
383
+ }
384
+
360
385
  :root .rui-dialog__surface,
361
- :root .rui-popover-host,
362
386
  :root .rui-hover-card__content,
363
387
  :root .rui-calendar {
364
388
  @apply rounded-none text-on-surface;
@@ -411,7 +435,7 @@
411
435
  padding-inline: 1.125rem;
412
436
  clip-path: var(--macos-classic-tab-shape);
413
437
  border-radius: 0;
414
- background-color: var(--macos-classic-mid);
438
+ background-color: var(--macos-classic-container);
415
439
  background-image: var(--macos-classic-tab-outline);
416
440
  background-position: 0 0;
417
441
  background-size: 100% 100%;
@@ -442,40 +466,261 @@
442
466
  padding: var(--rui-tabs-panel-padding);
443
467
  }
444
468
 
469
+ /**
470
+ * Menus inherit the menu frame's grey face, so the inner listbox drops its own fill. Standalone list boxes are
471
+ * black-framed white wells. Items are square and full width.
472
+ */
473
+ :root .rui-select__listbox .rui-listbox,
474
+ :root .rui-combobox__listbox .rui-listbox {
475
+ background-color: transparent;
476
+ }
477
+
478
+ :root .rui-listbox {
479
+ gap: 0;
480
+ padding: 1px;
481
+ }
482
+
483
+ :root .rui-listbox--bordered {
484
+ @apply rounded-none;
485
+ border-color: var(--macos-classic-dark);
486
+ background-color: var(--macos-classic-field);
487
+ color: var(--macos-classic-field-text);
488
+ box-shadow: none;
489
+ }
490
+
491
+ :root .rui-listbox__option,
492
+ :root .rui-menu-button__item,
493
+ :root .rui-menubar__item,
494
+ :root .rui-menubar__menu-item,
495
+ :root .rui-tree__node,
496
+ :root .rui-calendar__day {
497
+ border-radius: 0;
498
+ background-image: none;
499
+ transition: none;
500
+ }
501
+
502
+ :root .rui-listbox__option[aria-selected='true'][data-active]:not([aria-disabled='true']) {
503
+ --tw-ring-shadow: 0 0 #0000;
504
+ }
505
+
506
+ /**
507
+ * Platinum highlights the item under the pointer, and an open menu title, in the selection color with white text.
508
+ */
509
+ :root .rui-menu-button__item:is(:hover, :focus-visible):not([aria-disabled='true']),
510
+ :root .rui-menubar__menu-item:is(:hover, :focus-visible):not(:disabled):not([aria-disabled='true']),
511
+ :root .rui-menubar__menu-item[aria-expanded='true'],
512
+ :root .rui-menubar__item:is([aria-expanded='true'], :active):not(:disabled):not([aria-disabled='true']),
513
+ :root .rui-listbox__option[data-active]:not([aria-selected='true']):not([aria-disabled='true']) {
514
+ background-color: var(--macos-classic-selection);
515
+ color: var(--macos-classic-selection-text);
516
+ box-shadow: none;
517
+ outline: none;
518
+ --tw-ring-shadow: 0 0 #0000;
519
+ }
520
+
521
+ /**
522
+ * The menu bar is a face-colored strip with a black rule underneath.
523
+ */
524
+ :root .rui-menubar {
525
+ @apply rounded-none;
526
+ gap: 0;
527
+ padding: 0 0.25rem;
528
+ border: 0;
529
+ border-bottom: 1px solid var(--macos-classic-dark);
530
+ background-color: var(--macos-classic-face);
531
+ box-shadow: inset 0 1px 0 var(--macos-classic-light);
532
+ }
533
+
534
+ :root .rui-menubar__item {
535
+ @apply font-normal;
536
+ }
537
+
538
+ :root .rui-menubar__item:hover:not(:disabled):not([aria-disabled='true']):not([aria-expanded='true']) {
539
+ background-color: transparent;
540
+ }
541
+
542
+ /**
543
+ * @remarks Help balloons are black-outlined white panels with a drop edge, unlike the inverted modern tooltip.
544
+ */
545
+ :root .rui-tooltip__content {
546
+ --rui-tooltip-radius: 0;
547
+ --rui-tooltip-surface: var(--macos-classic-field);
548
+ --rui-tooltip-color: var(--macos-classic-field-text);
549
+ --rui-tooltip-shadow: 0 0 0 1px var(--macos-classic-dark), 2px 2px 0 rgb(0 0 0 / 0.3);
550
+ }
551
+
552
+ /**
553
+ * Tags are small bevelled faces in a black frame; a selected tag takes the selection color.
554
+ */
555
+ :root .rui-tag {
556
+ @apply rounded-sm;
557
+ border-color: var(--macos-classic-dark);
558
+ background-color: var(--macos-classic-face);
559
+ background-image: none;
560
+ color: var(--macos-classic-text);
561
+ box-shadow: var(--macos-classic-bevel);
562
+ }
563
+
564
+ :root .rui-tag[aria-selected='true'] {
565
+ border-color: var(--macos-classic-dark);
566
+ background-color: var(--macos-classic-selection);
567
+ color: var(--macos-classic-selection-text);
568
+ box-shadow: none;
569
+ }
570
+
571
+ :root .rui-tag__remove {
572
+ @apply rounded-none;
573
+ }
574
+
575
+ /**
576
+ * Finder-style trees: a black-framed white well, no guide lines, and solid disclosure triangles.
577
+ */
578
+ :root .rui-tree {
579
+ @apply rounded-none;
580
+ border-color: var(--macos-classic-dark);
581
+ background-color: var(--macos-classic-field);
582
+ color: var(--macos-classic-field-text);
583
+ box-shadow: none;
584
+ }
585
+
586
+ :root .rui-tree ul {
587
+ border-left: 0;
588
+ }
589
+
590
+ :root .rui-tree__node {
591
+ color: var(--macos-classic-field-text);
592
+ }
593
+
594
+ :root .rui-tree__node:hover:not([aria-selected='true']) {
595
+ background-color: transparent;
596
+ }
597
+
598
+ /**
599
+ * @remarks Disclosure buttons use the Platinum triangle: pointing right when closed and down when open.
600
+ */
601
+ :root .rui-disclosure__icon--chevron > * {
602
+ display: none;
603
+ }
604
+
605
+ :root .rui-disclosure__icon--chevron::before {
606
+ content: '';
607
+ border-block: 4px solid transparent;
608
+ border-inline-start: 6px solid var(--macos-classic-text);
609
+ }
610
+
611
+ :root .rui-disclosure__icon--chevron,
612
+ :root .rui-disclosure__trigger[aria-expanded='true'] .rui-disclosure__icon--chevron {
613
+ transition: none;
614
+ transform: none;
615
+ }
616
+
617
+ :root .rui-disclosure__trigger[aria-expanded='true'] .rui-disclosure__icon--chevron {
618
+ transform: rotate(90deg);
619
+ }
620
+
621
+ :root .rui-disclosure__trigger:hover {
622
+ background-color: transparent;
623
+ }
624
+
445
625
  :root .rui-listbox__option[aria-selected='true'],
446
626
  :root .rui-menu-button__item[aria-checked='true'],
447
627
  :root .rui-menubar__menu-item[aria-checked='true'],
448
628
  :root .rui-tree__node[aria-selected='true'],
449
629
  :root .rui-calendar__day[aria-selected='true'],
450
630
  :root .rui-sidebar__menu-button--active,
631
+ :root .rui-sidebar__menu-button[aria-current='page'],
451
632
  :root .rui-navigation-menu__link-list a[aria-current='page'] {
452
633
  background-color: var(--macos-classic-selection);
453
634
  color: var(--macos-classic-selection-text);
454
635
  }
455
636
 
456
- :root .rui-table,
637
+ /**
638
+ * List views: a black-framed white well with Platinum column headers, bevelled face cells over a black rule.
639
+ */
640
+ :root rui-table,
457
641
  :root .rui-grid {
642
+ border-radius: 0;
643
+ border-color: var(--macos-classic-dark);
644
+ box-shadow: none;
645
+ }
646
+
647
+ :root .rui-table__cell,
648
+ :root .rui-table__selection-cell,
649
+ :root .rui-table__empty-state,
650
+ :root .rui-table__empty-state-spacer,
651
+ :root .rui-grid__cell {
652
+ border-color: var(--macos-classic-mid);
458
653
  background-color: var(--macos-classic-field);
459
654
  color: var(--macos-classic-field-text);
460
655
  }
461
656
 
462
- :root .rui-table__header,
463
- :root .rui-treegrid__row--header,
657
+ :root .rui-table__column,
658
+ :root .rui-grid__row:first-child .rui-grid__cell,
659
+ :root .rui-treegrid__row--header .rui-treegrid__cell {
660
+ @apply font-normal;
661
+ border-right: 1px solid var(--macos-classic-shadow);
662
+ border-bottom: 1px solid var(--macos-classic-dark);
663
+ background-color: var(--macos-classic-face);
664
+ color: var(--macos-classic-text);
665
+ box-shadow: var(--macos-classic-bevel);
666
+ }
667
+
668
+ :root .rui-table__column .rui-table__sort {
669
+ @apply font-normal;
670
+ color: var(--macos-classic-text);
671
+ }
672
+
464
673
  :root .rui-calendar__weekdays {
465
674
  @apply font-normal;
466
675
  background-color: var(--macos-classic-face);
467
676
  box-shadow: var(--macos-classic-raised);
468
677
  }
469
678
 
470
- :root .rui-table__row:nth-child(even),
471
- :root .rui-grid__row:nth-child(even) {
472
- background-color: var(--macos-classic-light);
473
- background-image: linear-gradient(var(--macos-classic-container) 0 0);
474
- background-blend-mode: soft-light;
679
+ /**
680
+ * @remarks Classic list views use a sunken white well, a raised Platinum header, and a blue full-row selection.
681
+ * The disclosure glyph stays a solid triangle, matching the original Finder tree affordance.
682
+ */
683
+ :root .rui-treegrid {
684
+ @apply rounded-none;
685
+ border: 1px solid var(--macos-classic-dark);
686
+ background-color: var(--macos-classic-field);
687
+ color: var(--macos-classic-field-text);
688
+ box-shadow: none;
689
+ --rui-treegrid-indent: 0.875rem;
690
+ }
691
+
692
+ :root .rui-treegrid__cell {
693
+ @apply border-0 bg-transparent px-2 py-1.5;
694
+ color: var(--macos-classic-field-text);
695
+ }
696
+
697
+ :root .rui-treegrid__row:not(.rui-treegrid__row--header):hover .rui-treegrid__cell:not([aria-selected='true']) {
698
+ background-color: var(--macos-classic-container);
699
+ }
700
+
701
+ :root .rui-treegrid__cell[aria-selected='true'] {
702
+ background-color: var(--macos-classic-selection);
703
+ color: var(--macos-classic-selection-text);
704
+ }
705
+
706
+ :root .rui-treegrid__row[aria-expanded='false'] .rui-treegrid__cell:first-child::before,
707
+ :root .rui-treegrid__row[aria-expanded='true'] .rui-treegrid__cell:first-child::before {
708
+ width: 0;
709
+ height: 0;
710
+ margin-inline-end: 0.5rem;
711
+ border: 0;
712
+ border-block: 4px solid transparent;
713
+ border-inline-start: 6px solid currentColor;
714
+ transform: none;
715
+ transition: none;
716
+ }
717
+
718
+ :root .rui-treegrid__row[aria-expanded='true'] .rui-treegrid__cell:first-child::before {
719
+ transform: rotate(90deg);
475
720
  }
476
721
 
477
722
  :root .rui-alert,
478
- :root .rui-toast__content {
723
+ :root .rui-toast {
479
724
  @apply rounded-none text-on-surface;
480
725
  border: 1px solid var(--macos-classic-dark);
481
726
  background-color: var(--macos-classic-surface);
@@ -484,6 +729,33 @@
484
729
  1px 1px 0 var(--macos-classic-dark);
485
730
  }
486
731
 
732
+ :root .rui-toast {
733
+ background-image: none;
734
+ }
735
+
736
+ :root .rui-toast--info .rui-toast__icon {
737
+ color: var(--macos-classic-blue);
738
+ }
739
+
740
+ :root .rui-toast--success .rui-toast__icon {
741
+ color: var(--macos-classic-green);
742
+ }
743
+
744
+ :root .rui-toast--warning .rui-toast__icon {
745
+ color: var(--macos-classic-amber);
746
+ }
747
+
748
+ :root .rui-toast--error .rui-toast__icon {
749
+ color: var(--macos-classic-red);
750
+ }
751
+
752
+ :root .rui-toast__close {
753
+ border-color: var(--macos-classic-dark);
754
+ background-color: var(--macos-classic-face);
755
+ color: var(--macos-classic-text);
756
+ box-shadow: var(--macos-classic-bevel);
757
+ }
758
+
487
759
  :root .rui-alert--inline.rui-alert--dismissible {
488
760
  padding-inline-start: 2.5rem;
489
761
  }
@@ -513,20 +785,41 @@
513
785
  }
514
786
 
515
787
  :root .rui-badge,
516
- :root .rui-chip,
517
- :root .rui-pagination__link {
788
+ :root .rui-chip {
518
789
  @apply rounded-sm text-on-surface;
519
790
  border: 1px solid var(--macos-classic-dark);
520
791
  background-color: var(--macos-classic-face);
521
792
  box-shadow: var(--macos-classic-raised);
522
793
  }
523
794
 
795
+ :root .rui-pagination__link {
796
+ min-width: 0;
797
+ }
798
+
799
+ :root .rui-calendar {
800
+ --radius-control: 0;
801
+ }
802
+
524
803
  :root .rui-separator,
525
804
  :root .rui-sidebar__separator {
526
805
  background-color: var(--macos-classic-shadow);
527
806
  box-shadow: 0 1px 0 var(--macos-classic-light);
528
807
  }
529
808
 
809
+ :root .rui-slider {
810
+ --rui-slider-track-size: 0.3125rem;
811
+ }
812
+
813
+ :root .rui-slider__thumb {
814
+ inline-size: 0.6875rem;
815
+ block-size: 1.125rem;
816
+ }
817
+
818
+ :root .rui-slider--vertical .rui-slider__thumb {
819
+ inline-size: 1.125rem;
820
+ block-size: 0.6875rem;
821
+ }
822
+
530
823
  :root .rui-slider__thumb,
531
824
  :root .rui-number-field__stepper {
532
825
  @apply rounded-sm;
@@ -544,9 +837,17 @@
544
837
  box-shadow: var(--macos-classic-well);
545
838
  }
546
839
 
840
+ :root .rui-meter__track {
841
+ background-color: var(--macos-classic-container);
842
+ }
843
+
547
844
  :root .rui-meter__fill {
548
845
  @apply rounded-none;
549
846
  background-color: var(--macos-classic-selection);
847
+ box-shadow:
848
+ inset 0 1px 0 rgb(255 255 255 / 0.45),
849
+ inset 0 -1px 0 rgb(0 0 0 / 0.3),
850
+ 1px 0 0 var(--macos-classic-dark);
550
851
  }
551
852
 
552
853
  :root .rui-slider__range-fill {
@@ -565,6 +866,7 @@
565
866
  :root .rui-date-range-picker__group,
566
867
  :root .rui-input-group,
567
868
  :root .rui-number-field__group,
869
+ :root rui-date-input:where(:not([data-date-field-input], [data-range-start], [data-range-end])),
568
870
  :root .rui-select__control,
569
871
  :root .rui-checkbox__control,
570
872
  :root .rui-radio__control {
@@ -585,3 +887,235 @@
585
887
  }
586
888
  }
587
889
  }
890
+
891
+ /**
892
+ * WebKit Platinum scrollbars keep the 16px gutter, end-positioned arrow pair, grey bevelled track, and striped blue
893
+ * scroll box used by the classic Mac OS reference treatment. Firefox receives the native fallback declared above.
894
+ */
895
+ @supports (-moz-appearance: none) {
896
+ :root,
897
+ :root * {
898
+ scrollbar-width: auto;
899
+ scrollbar-color: var(--macos-classic-scrollbar-thumb) var(--macos-classic-mid);
900
+ }
901
+ }
902
+
903
+ :root::-webkit-scrollbar,
904
+ :root *::-webkit-scrollbar {
905
+ width: 16px;
906
+ height: 16px;
907
+ }
908
+
909
+ :root::-webkit-scrollbar-button:end,
910
+ :root *::-webkit-scrollbar-button:end {
911
+ display: block;
912
+ width: 16px;
913
+ height: 16px;
914
+ box-sizing: border-box;
915
+ border: 1px solid var(--macos-classic-dark);
916
+ background-color: var(--macos-classic-face);
917
+ box-shadow:
918
+ inset 1px 1px 0 var(--macos-classic-light),
919
+ inset -1px -1px 0 var(--macos-classic-mid);
920
+ }
921
+
922
+ :root::-webkit-scrollbar-button:start,
923
+ :root *::-webkit-scrollbar-button:start {
924
+ display: none;
925
+ }
926
+
927
+ :root::-webkit-scrollbar-button:end:vertical,
928
+ :root *::-webkit-scrollbar-button:end:vertical {
929
+ border-left: 1px solid var(--macos-classic-dark);
930
+ border-right: 1px solid var(--macos-classic-dark);
931
+ border-bottom: 1px solid var(--macos-classic-dark);
932
+ }
933
+
934
+ :root::-webkit-scrollbar-button:end:vertical:decrement,
935
+ :root *::-webkit-scrollbar-button:end:vertical:decrement {
936
+ background:
937
+ linear-gradient(transparent 75%, var(--macos-classic-dark) 0) 50% / 8px 4px no-repeat,
938
+ linear-gradient(transparent 50%, var(--macos-classic-dark) 0) 50% / 6px 4px no-repeat,
939
+ linear-gradient(transparent 25%, var(--macos-classic-dark) 0) 50% / 4px 4px no-repeat,
940
+ linear-gradient(var(--macos-classic-dark) 50%, var(--macos-classic-dark) 0) 50% / 2px 4px no-repeat,
941
+ var(--macos-classic-face);
942
+ }
943
+
944
+ :root::-webkit-scrollbar-button:end:vertical:increment,
945
+ :root *::-webkit-scrollbar-button:end:vertical:increment {
946
+ height: 15px;
947
+ border-bottom: 0;
948
+ background:
949
+ linear-gradient(0deg, transparent 75%, var(--macos-classic-dark) 0) 50% / 8px 4px no-repeat,
950
+ linear-gradient(0deg, transparent 50%, var(--macos-classic-dark) 0) 50% / 6px 4px no-repeat,
951
+ linear-gradient(0deg, transparent 25%, var(--macos-classic-dark) 0) 50% / 4px 4px no-repeat,
952
+ linear-gradient(0deg, var(--macos-classic-dark) 50%, var(--macos-classic-dark) 0) 50% / 2px 4px no-repeat,
953
+ var(--macos-classic-face);
954
+ }
955
+
956
+ :root::-webkit-scrollbar-button:end:horizontal,
957
+ :root *::-webkit-scrollbar-button:end:horizontal {
958
+ border-top: 1px solid var(--macos-classic-dark);
959
+ border-bottom: 1px solid var(--macos-classic-dark);
960
+ border-right: 1px solid var(--macos-classic-dark);
961
+ }
962
+
963
+ :root::-webkit-scrollbar-button:end:horizontal:decrement,
964
+ :root *::-webkit-scrollbar-button:end:horizontal:decrement {
965
+ background:
966
+ linear-gradient(90deg, transparent 75%, var(--macos-classic-dark) 0) 50% / 4px 8px no-repeat,
967
+ linear-gradient(90deg, transparent 50%, var(--macos-classic-dark) 0) 50% / 4px 6px no-repeat,
968
+ linear-gradient(90deg, transparent 25%, var(--macos-classic-dark) 0) 50% / 4px 4px no-repeat,
969
+ linear-gradient(90deg, var(--macos-classic-dark) 50%, var(--macos-classic-dark) 0) 50% / 4px 2px no-repeat,
970
+ var(--macos-classic-face);
971
+ }
972
+
973
+ :root::-webkit-scrollbar-button:end:horizontal:increment,
974
+ :root *::-webkit-scrollbar-button:end:horizontal:increment {
975
+ width: 15px;
976
+ border-right: 0;
977
+ background:
978
+ linear-gradient(270deg, transparent 75%, var(--macos-classic-dark) 0) 50% / 4px 8px no-repeat,
979
+ linear-gradient(270deg, transparent 50%, var(--macos-classic-dark) 0) 50% / 4px 6px no-repeat,
980
+ linear-gradient(270deg, transparent 25%, var(--macos-classic-dark) 0) 50% / 4px 4px no-repeat,
981
+ linear-gradient(270deg, var(--macos-classic-dark) 50%, var(--macos-classic-dark) 0) 50% / 4px 2px no-repeat,
982
+ var(--macos-classic-face);
983
+ }
984
+
985
+ :root::-webkit-scrollbar-track,
986
+ :root *::-webkit-scrollbar-track {
987
+ background:
988
+ radial-gradient(circle at 0.5px 0.5px, var(--macos-classic-shadow) 0.5px, transparent 0) 0 / 4px 2px repeat,
989
+ radial-gradient(circle at 2.5px 1.5px, var(--macos-classic-shadow) 0.5px, transparent 0) 0 / 4px 2px repeat,
990
+ var(--macos-classic-mid);
991
+ }
992
+
993
+ :root::-webkit-scrollbar-track:vertical,
994
+ :root *::-webkit-scrollbar-track:vertical {
995
+ border-left: 1px solid var(--macos-classic-dark);
996
+ border-right: 1px solid var(--macos-classic-dark);
997
+ box-shadow:
998
+ inset 1px 1px 0 var(--macos-classic-shadow),
999
+ inset -1px 2px 0 var(--macos-classic-light),
1000
+ inset 2px 0 0 var(--macos-classic-shadow),
1001
+ inset -2px 0 0 var(--macos-classic-mid);
1002
+ }
1003
+
1004
+ :root::-webkit-scrollbar-track:horizontal,
1005
+ :root *::-webkit-scrollbar-track:horizontal {
1006
+ border-top: 1px solid var(--macos-classic-dark);
1007
+ border-bottom: 1px solid var(--macos-classic-dark);
1008
+ box-shadow:
1009
+ inset 1px 1px 0 var(--macos-classic-shadow),
1010
+ inset 2px -1px 0 var(--macos-classic-light),
1011
+ inset 0 2px 0 var(--macos-classic-shadow),
1012
+ inset 0 -2px 0 var(--macos-classic-mid);
1013
+ }
1014
+
1015
+ :root::-webkit-scrollbar-thumb,
1016
+ :root *::-webkit-scrollbar-thumb {
1017
+ box-sizing: border-box;
1018
+ width: 14px;
1019
+ background-color: var(--macos-classic-scrollbar-thumb);
1020
+ border: 1px solid var(--macos-classic-dark);
1021
+ border-radius: 0;
1022
+ box-shadow:
1023
+ inset 1px 1px 0 var(--macos-classic-scrollbar-highlight),
1024
+ inset -1px -1px 0 var(--macos-classic-scrollbar-shadow);
1025
+ }
1026
+
1027
+ :root::-webkit-scrollbar-thumb:vertical,
1028
+ :root *::-webkit-scrollbar-thumb:vertical {
1029
+ border-left: 1px solid var(--macos-classic-dark);
1030
+ border-right: 1px solid var(--macos-classic-dark);
1031
+ border-top: 1px solid var(--macos-classic-scrollbar-edge);
1032
+ background:
1033
+ linear-gradient(
1034
+ transparent 12.5%,
1035
+ var(--macos-classic-scrollbar-shadow) 0,
1036
+ var(--macos-classic-scrollbar-shadow) 25%,
1037
+ transparent 0,
1038
+ transparent 37.5%,
1039
+ var(--macos-classic-scrollbar-shadow) 0,
1040
+ var(--macos-classic-scrollbar-shadow) 50%,
1041
+ transparent 0,
1042
+ transparent 62.5%,
1043
+ var(--macos-classic-scrollbar-shadow) 0,
1044
+ var(--macos-classic-scrollbar-shadow) 75%,
1045
+ transparent 0,
1046
+ transparent 87.5%,
1047
+ var(--macos-classic-scrollbar-shadow) 0
1048
+ )
1049
+ 50% / 7px 8px no-repeat,
1050
+ linear-gradient(
1051
+ var(--macos-classic-scrollbar-highlight) 12.5%,
1052
+ transparent 0,
1053
+ transparent 25%,
1054
+ var(--macos-classic-scrollbar-highlight) 0,
1055
+ var(--macos-classic-scrollbar-highlight) 37.5%,
1056
+ transparent 0,
1057
+ transparent 50%,
1058
+ var(--macos-classic-scrollbar-highlight) 0,
1059
+ var(--macos-classic-scrollbar-highlight) 62.5%,
1060
+ transparent 0,
1061
+ transparent 75%,
1062
+ var(--macos-classic-scrollbar-highlight) 0,
1063
+ var(--macos-classic-scrollbar-highlight) 87.5%,
1064
+ transparent 0
1065
+ )
1066
+ 49% / 7px 8px no-repeat,
1067
+ var(--macos-classic-scrollbar-thumb);
1068
+ }
1069
+
1070
+ :root::-webkit-scrollbar-thumb:horizontal,
1071
+ :root *::-webkit-scrollbar-thumb:horizontal {
1072
+ border-top: 1px solid var(--macos-classic-dark);
1073
+ border-bottom: 1px solid var(--macos-classic-dark);
1074
+ border-left: 1px solid var(--macos-classic-scrollbar-edge);
1075
+ background:
1076
+ linear-gradient(
1077
+ 90deg,
1078
+ transparent 12.5%,
1079
+ var(--macos-classic-scrollbar-shadow) 0,
1080
+ var(--macos-classic-scrollbar-shadow) 25%,
1081
+ transparent 0,
1082
+ transparent 37.5%,
1083
+ var(--macos-classic-scrollbar-shadow) 0,
1084
+ var(--macos-classic-scrollbar-shadow) 50%,
1085
+ transparent 0,
1086
+ transparent 62.5%,
1087
+ var(--macos-classic-scrollbar-shadow) 0,
1088
+ var(--macos-classic-scrollbar-shadow) 75%,
1089
+ transparent 0,
1090
+ transparent 87.5%,
1091
+ var(--macos-classic-scrollbar-shadow) 0
1092
+ )
1093
+ 50% / 8px 7px no-repeat,
1094
+ linear-gradient(
1095
+ 90deg,
1096
+ var(--macos-classic-scrollbar-highlight) 12.5%,
1097
+ transparent 0,
1098
+ transparent 25%,
1099
+ var(--macos-classic-scrollbar-highlight) 0,
1100
+ var(--macos-classic-scrollbar-highlight) 37.5%,
1101
+ transparent 0,
1102
+ transparent 50%,
1103
+ var(--macos-classic-scrollbar-highlight) 0,
1104
+ var(--macos-classic-scrollbar-highlight) 62.5%,
1105
+ transparent 0,
1106
+ transparent 75%,
1107
+ var(--macos-classic-scrollbar-highlight) 0,
1108
+ var(--macos-classic-scrollbar-highlight) 87.5%,
1109
+ transparent 0
1110
+ )
1111
+ center 49% / 8px 7px no-repeat,
1112
+ var(--macos-classic-scrollbar-thumb);
1113
+ }
1114
+
1115
+ :root::-webkit-scrollbar-corner,
1116
+ :root *::-webkit-scrollbar-corner {
1117
+ border-top: 1px solid var(--macos-classic-dark);
1118
+ border-left: 1px solid var(--macos-classic-dark);
1119
+ box-shadow: inset 1px 1px 0 var(--macos-classic-light);
1120
+ background: var(--macos-classic-container);
1121
+ }