opui-css 1.2.5 → 1.2.7

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 (41) hide show
  1. package/dist/op+ui.css +4307 -0
  2. package/dist/ui.css +223 -379
  3. package/package.json +7 -5
  4. package/src/components/accordion.css +3 -3
  5. package/src/components/alert.css +1 -1
  6. package/src/components/avatar.css +1 -1
  7. package/src/components/badge.css +1 -1
  8. package/src/components/button-group.css +1 -1
  9. package/src/components/button.css +6 -11
  10. package/src/components/card.css +1 -1
  11. package/src/components/checkbox-radio.css +1 -1
  12. package/src/components/chip.css +1 -1
  13. package/src/components/definition-list.css +1 -1
  14. package/src/components/dialog.css +3 -5
  15. package/src/components/divider.css +1 -1
  16. package/src/components/field-group.css +1 -1
  17. package/src/components/field.css +6 -12
  18. package/src/components/icon-button.css +2 -2
  19. package/src/components/link.css +1 -1
  20. package/src/components/list.css +1 -1
  21. package/src/components/progress.css +61 -58
  22. package/src/components/range.css +1 -1
  23. package/src/components/rich-text.css +1 -1
  24. package/src/components/select.css +3 -6
  25. package/src/components/snackbar.css +3 -7
  26. package/src/components/spinner.css +1 -1
  27. package/src/components/switch.css +5 -5
  28. package/src/components/tab-buttons.css +5 -9
  29. package/src/components/table.css +1 -1
  30. package/src/components/text-field.css +20 -20
  31. package/src/components/textarea.css +1 -1
  32. package/src/components/toggle-button-group.css +4 -7
  33. package/src/components/tooltip.css +1 -1
  34. package/src/components/typography.css +1 -1
  35. package/src/core/components.css +37 -0
  36. package/src/main.css +2 -48
  37. package/src/opui.css +13 -0
  38. package/src/components/description-list.css +0 -0
  39. /package/src/{normalize.css → core/normalize.css} +0 -0
  40. /package/src/{theme.css → core/theme.css} +0 -0
  41. /package/src/{utils.css → core/utils.css} +0 -0
package/dist/ui.css CHANGED
@@ -1,140 +1,7 @@
1
- @layer openprops, normalize, utils, theme, components.base, components.has-deps;
2
-
3
- /*
4
- * Open Props
5
- * Import as many props as you need here.
6
- * https://unpkg.com/browse/open-props@2.0.0-beta.5/css
7
- */
8
-
9
- @custom-media --motionOK (prefers-reduced-motion: no-preference);
10
-
11
- @custom-media --motionNotOK (prefers-reduced-motion: reduce);
12
-
13
- @custom-media --opacityOK (prefers-reduced-transparency: no-preference);
14
-
15
- @custom-media --opacityNotOK (prefers-reduced-transparency: reduce);
16
-
17
- @custom-media --useDataOK (prefers-reduced-data: no-preference);
18
-
19
- @custom-media --useDataNotOK (prefers-reduced-data: reduce);
20
-
21
- @custom-media --OSdark (prefers-color-scheme: dark);
22
-
23
- @custom-media --OSlight (prefers-color-scheme: light);
24
-
25
- @custom-media --highContrast (prefers-contrast: more);
26
-
27
- @custom-media --lowContrast (prefers-contrast: less);
28
-
29
- @custom-media --portrait (orientation: portrait);
30
-
31
- @custom-media --landscape (orientation: landscape);
32
-
33
- @custom-media --HDcolor (dynamic-range: high);
34
-
35
- @custom-media --touch (hover: none) and (pointer: coarse);
36
-
37
- @custom-media --stylus (hover: none) and (pointer: fine);
38
-
39
- @custom-media --pointer (hover) and (pointer: coarse);
40
-
41
- @custom-media --mouse (hover) and (pointer: fine);
42
-
43
- @custom-media --xxs-only (0px <= width <= 240px);
44
-
45
- @custom-media --xxs-n-above (width >= 240px);
46
-
47
- @custom-media --xxs-n-below (width < 240px);
48
-
49
- @custom-media --xxs-phone (--xxs-only) and (--portrait);
50
-
51
- @custom-media --xs-only (240px <= width <= 360px);
52
-
53
- @custom-media --xs-n-above (width >= 360px);
54
-
55
- @custom-media --xs-n-below (width < 360px);
56
-
57
- @custom-media --xs-phone (--xs-only) and (--portrait);
58
-
59
- @custom-media --sm-only (360px <= width <= 480px);
60
-
61
- @custom-media --sm-n-above (width >= 480px);
62
-
63
- @custom-media --sm-n-below (width < 480px);
64
-
65
- @custom-media --sm-phone (--sm-only) and (--portrait);
66
-
67
- @custom-media --md-only (480px <= width <= 768px);
68
-
69
- @custom-media --md-n-above (width >= 768px);
70
-
71
- @custom-media --md-n-below (width < 768px);
72
-
73
- @custom-media --md-phone (--md-only) and (--portrait);
74
-
75
- @custom-media --lg-only (768px <= width <= 1024px);
76
-
77
- @custom-media --lg-n-above (width >= 1024px);
78
-
79
- @custom-media --lg-n-below (width < 1024px);
80
-
81
- @custom-media --lg-phone (--lg-only) and (--portrait);
82
-
83
- @custom-media --xl-only (1024px <= width <= 1440px);
84
-
85
- @custom-media --xl-n-above (width >= 1440px);
86
-
87
- @custom-media --xl-n-below (width < 1440px);
88
-
89
- @custom-media --xxl-only (1440px <= width <= 1920px);
90
-
91
- @custom-media --xxl-n-above (width >= 1920px);
92
-
93
- @custom-media --xxl-n-below (width < 1920px);
94
-
95
- @layer openprops{
96
- :where(:root){--font-sans:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;--font-serif:ui-serif,serif;--font-mono:Dank Mono,Operator Mono,Inconsolata,Fira Mono,ui-monospace,SF Mono,Monaco,Droid Sans Mono,Source Code Pro,monospace;--font-weight-1:100;--font-weight-2:200;--font-weight-3:300;--font-weight-4:400;--font-weight-5:500;--font-weight-6:600;--font-weight-7:700;--font-weight-8:800;--font-weight-9:900;--font-size-00:.5rem;--font-size-0:.75rem;--font-size-1:1rem;--font-size-2:1.1rem;--font-size-3:1.25rem;--font-size-4:1.5rem;--font-size-5:2rem;--font-size-6:2.5rem;--font-size-7:3rem;--font-size-8:3.5rem;--font-size-fluid-0:clamp(.75rem,2vw,1rem);--font-size-fluid-1:clamp(1rem,4vw,1.5rem);--font-size-fluid-2:clamp(1.5rem,6vw,2.5rem);--font-size-fluid-3:clamp(2rem,9vw,3.5rem);--size-000:-.5rem;--size-00:-.25rem;--size-1:.25rem;--size-2:.5rem;--size-3:1rem;--size-4:1.25rem;--size-5:1.5rem;--size-6:1.75rem;--size-7:2rem;--size-8:3rem;--size-9:4rem;--size-10:5rem;--size-11:7.5rem;--size-12:10rem;--size-13:15rem;--size-14:20rem;--size-15:30rem;--size-fluid-1:clamp(.5rem,1vw,1rem);--size-fluid-2:clamp(1rem,2vw,1.5rem);--size-fluid-3:clamp(1.5rem,3vw,2rem);--size-fluid-4:clamp(2rem,4vw,3rem);--size-fluid-5:clamp(4rem,5vw,5rem);--size-fluid-6:clamp(5rem,7vw,7.5rem);--size-fluid-7:clamp(7.5rem,10vw,10rem);--size-fluid-8:clamp(10rem,20vw,15rem);--size-fluid-9:clamp(15rem,30vw,20rem);--size-fluid-10:clamp(20rem,40vw,30rem);--size-header-1:20ch;--size-header-2:25ch;--size-header-3:35ch;--size-content-1:20ch;--size-content-2:45ch;--size-content-3:60ch;--ratio-square:1;--ratio-landscape:4/3;--ratio-portrait:3/4;--ratio-widescreen:16/9;--ratio-ultrawide:18/5;--ratio-golden:1.618/1;--layer-1:1;--layer-2:2;--layer-3:3;--layer-4:4;--layer-5:5;--layer-bottom:var(--layer-1);--layer-top:var(--layer-5);--layer-important:2147480000;--border-size-1:1px;--border-size-2:2px;--border-size-3:5px;--border-size-4:10px;--border-size-5:25px;--radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-5:4rem;--radius-6:8rem;--radius-round:100000px;--radius-blob-1:30% 70% 70% 30%/53% 30% 70% 47%;--radius-blob-2:53% 47% 34% 66%/63% 46% 54% 37%;--radius-blob-3:37% 63% 56% 44%/49% 56% 44% 51%;--radius-blob-4:63% 37% 37% 63%/43% 37% 63% 57%;--radius-blob-5:49% 51% 48% 52%/57% 44% 56% 43%;--radius-conditional-1:clamp(0px,calc(100vw - 100%)*100000,var(--radius-1));--radius-conditional-2:clamp(0px,calc(100vw - 100%)*100000,var(--radius-2));--radius-conditional-3:clamp(0px,calc(100vw - 100%)*100000,var(--radius-3));--radius-conditional-4:clamp(0px,calc(100vw - 100%)*100000,var(--radius-4));--radius-conditional-5:clamp(0px,calc(100vw - 100%)*100000,var(--radius-5));--radius-conditional-6:clamp(0px,calc(100vw - 100%)*100000,var(--radius-6))}*{--shadow-strength:1%;--shadow-chroma:3%;--shadow-hue:var(--shadow-tint,var(--palette-hue));--shadow-color:15% var(--shadow-chroma)var(--shadow-hue);--inner-shadow-highlight:inset 0 -.5px 0 0 #fff,inset 0 .5px 0 0 #0001;--shadow-1:0 1px 2px -1px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 14px -5px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 oklch(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 2px -5px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 5px -5px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 4px 12px -5px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 12px 15px -5px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 oklch(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 1px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 2px 2px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 9px 9px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 16px 16px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 oklch(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 1px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 10px 10px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 20px 20px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 40px 40px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 oklch(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 3px 2px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 5px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 12px 10px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 22px 18px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 41px 33px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 6%)),0 100px 80px -2px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px oklch(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 oklch(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-2:inset 0 1px 4px 0 oklch(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-3:inset 0 2px 8px 0 oklch(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-4:inset 0 2px 14px 0 oklch(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight)}@media (prefers-color-scheme:dark){*{--shadow-strength:25%;--shadow-chroma:10%;--shadow-hue:var(--shadow-tint,var(--palette-hue));--shadow-color:15% var(--shadow-chroma)var(--shadow-hue);--inner-shadow-highlight:inset 0 -.5px 0 0 #fff1,inset 0 .5px 0 0 #0007}}:where(:root){--ease-1:cubic-bezier(.25,0,.5,1);--ease-2:cubic-bezier(.25,0,.4,1);--ease-3:cubic-bezier(.25,0,.3,1);--ease-4:cubic-bezier(.25,0,.2,1);--ease-5:cubic-bezier(.25,0,.1,1);--ease-in-1:cubic-bezier(.25,0,1,1);--ease-in-2:cubic-bezier(.5,0,1,1);--ease-in-3:cubic-bezier(.7,0,1,1);--ease-in-4:cubic-bezier(.9,0,1,1);--ease-in-5:cubic-bezier(1,0,1,1);--ease-out-1:cubic-bezier(0,0,.75,1);--ease-out-2:cubic-bezier(0,0,.5,1);--ease-out-3:cubic-bezier(0,0,.3,1);--ease-out-4:cubic-bezier(0,0,.1,1);--ease-out-5:cubic-bezier(0,0,0,1);--ease-in-out-1:cubic-bezier(.1,0,.9,1);--ease-in-out-2:cubic-bezier(.3,0,.7,1);--ease-in-out-3:cubic-bezier(.5,0,.5,1);--ease-in-out-4:cubic-bezier(.7,0,.3,1);--ease-in-out-5:cubic-bezier(.9,0,.1,1);--ease-elastic-out-1:cubic-bezier(.5,.75,.75,1.25);--ease-elastic-out-2:cubic-bezier(.5,1,.75,1.25);--ease-elastic-out-3:cubic-bezier(.5,1.25,.75,1.25);--ease-elastic-out-4:cubic-bezier(.5,1.5,.75,1.25);--ease-elastic-out-5:cubic-bezier(.5,1.75,.75,1.25);--ease-elastic-in-1:cubic-bezier(.5,-.25,.75,1);--ease-elastic-in-2:cubic-bezier(.5,-.5,.75,1);--ease-elastic-in-3:cubic-bezier(.5,-.75,.75,1);--ease-elastic-in-4:cubic-bezier(.5,-1,.75,1);--ease-elastic-in-5:cubic-bezier(.5,-1.25,.75,1);--ease-elastic-in-out-1:cubic-bezier(.5,-.1,.1,1.5);--ease-elastic-in-out-2:cubic-bezier(.5,-.3,.1,1.5);--ease-elastic-in-out-3:cubic-bezier(.5,-.5,.1,1.5);--ease-elastic-in-out-4:cubic-bezier(.5,-.7,.1,1.5);--ease-elastic-in-out-5:cubic-bezier(.5,-.9,.1,1.5);--ease-step-1:steps(2);--ease-step-2:steps(3);--ease-step-3:steps(4);--ease-step-4:steps(7);--ease-step-5:steps(10);--ease-spring-1:linear(0,.006,.025 2.8%,.101 6.1%,.539 18.9%,.721 25.3%,.849 31.5%,.937 38.1%,.968 41.8%,.991 45.7%,1.006 50.1%,1.015 55%,1.017 63.9%,1.001);--ease-spring-2:linear(0,.007,.029 2.2%,.118 4.7%,.625 14.4%,.826 19%,.902,.962,1.008 26.1%,1.041 28.7%,1.064 32.1%,1.07 36%,1.061 40.5%,1.015 53.4%,.999 61.6%,.995 71.2%,1);--ease-spring-3:linear(0,.009,.035 2.1%,.141 4.4%,.723 12.9%,.938 16.7%,1.017,1.077,1.121,1.149 24.3%,1.159,1.163,1.161,1.154 29.9%,1.129 32.8%,1.051 39.6%,1.017 43.1%,.991,.977 51%,.974 53.8%,.975 57.1%,.997 69.8%,1.003 76.9%,1);--ease-spring-4:linear(0,.009,.037 1.7%,.153 3.6%,.776 10.3%,1.001,1.142 16%,1.185,1.209 19%,1.215 19.9% 20.8%,1.199,1.165 25%,1.056 30.3%,1.008 33%,.973,.955 39.2%,.953 41.1%,.957 43.3%,.998 53.3%,1.009 59.1% 63.7%,.998 78.9%,1);--ease-spring-5:linear(0,.01,.04 1.6%,.161 3.3%,.816 9.4%,1.046,1.189 14.4%,1.231,1.254 17%,1.259,1.257 18.6%,1.236,1.194 22.3%,1.057 27%,.999 29.4%,.955 32.1%,.942,.935 34.9%,.933,.939 38.4%,1 47.3%,1.011,1.017 52.6%,1.016 56.4%,1 65.2%,.996 70.2%,1.001 87.2%,1);--ease-bounce-1:linear(0,.004,.016,.035,.063,.098,.141,.191,.25,.316,.391 36.8%,.563,.766,1 58.8%,.946,.908 69.1%,.895,.885,.879,.878,.879,.885,.895,.908 89.7%,.946,1);--ease-bounce-2:linear(0,.004,.016,.035,.063,.098,.141 15.1%,.25,.391,.562,.765,1,.892 45.2%,.849,.815,.788,.769,.757,.753,.757,.769,.788,.815,.85,.892 75.2%,1 80.2%,.973,.954,.943,.939,.943,.954,.973,1);--ease-bounce-3:linear(0,.004,.016,.035,.062,.098,.141 11.4%,.25,.39,.562,.764,1 30.3%,.847 34.8%,.787,.737,.699,.672,.655,.65,.656,.672,.699,.738,.787,.847 61.7%,1 66.2%,.946,.908,.885 74.2%,.879,.878,.879,.885 79.5%,.908,.946,1 87.4%,.981,.968,.96,.957,.96,.968,.981,1);--ease-bounce-4:linear(0,.004,.016 3%,.062,.141,.25,.391,.562 18.2%,1 24.3%,.81,.676 32.3%,.629,.595,.575,.568,.575,.595,.629,.676 48.2%,.811,1 56.2%,.918,.86,.825,.814,.825,.86,.918,1 77.2%,.94 80.6%,.925,.92,.925,.94 87.5%,1 90.9%,.974,.965,.974,1);--ease-bounce-5:linear(0,.004,.016 2.5%,.063,.141,.25 10.1%,.562,1 20.2%,.783,.627,.534 30.9%,.511,.503,.511,.534 38%,.627,.782,1 48.7%,.892,.815,.769 56.3%,.757,.753,.757,.769 61.3%,.815,.892,1 68.8%,.908 72.4%,.885,.878,.885,.908 79.4%,1 83%,.954 85.5%,.943,.939,.943,.954 90.5%,1 93%,.977,.97,.977,1)}:where(:root){--palette-hue:250;--palette-hue-rotate-by:0;--palette-chroma:.15}*{--color-1:oklch(98% calc(.03*var(--palette-chroma,1))calc(var(--palette-hue) + (0*var(--palette-hue-rotate-by))));--color-2:oklch(97% calc(.06*var(--palette-chroma,1))calc(var(--palette-hue) + (1*var(--palette-hue-rotate-by))));--color-3:oklch(93% calc(.1*var(--palette-chroma,1))calc(var(--palette-hue) + (2*var(--palette-hue-rotate-by))));--color-4:oklch(84% calc(.12*var(--palette-chroma,1))calc(var(--palette-hue) + (3*var(--palette-hue-rotate-by))));--color-5:oklch(80% calc(.16*var(--palette-chroma,1))calc(var(--palette-hue) + (4*var(--palette-hue-rotate-by))));--color-6:oklch(71% calc(.19*var(--palette-chroma,1))calc(var(--palette-hue) + (5*var(--palette-hue-rotate-by))));--color-7:oklch(66% calc(.2*var(--palette-chroma,1))calc(var(--palette-hue) + (6*var(--palette-hue-rotate-by))));--color-8:oklch(58% calc(.21*var(--palette-chroma,1))calc(var(--palette-hue) + (7*var(--palette-hue-rotate-by))));--color-9:oklch(53% calc(.2*var(--palette-chroma,1))calc(var(--palette-hue) + (8*var(--palette-hue-rotate-by))));--color-10:oklch(49% calc(.19*var(--palette-chroma,1))calc(var(--palette-hue) + (9*var(--palette-hue-rotate-by))));--color-11:oklch(42% calc(.17*var(--palette-chroma,1))calc(var(--palette-hue) + (10*var(--palette-hue-rotate-by))));--color-12:oklch(35% calc(.15*var(--palette-chroma,1))calc(var(--palette-hue) + (11*var(--palette-hue-rotate-by))));--color-13:oklch(27% calc(.12*var(--palette-chroma,1))calc(var(--palette-hue) + (12*var(--palette-hue-rotate-by))));--color-14:oklch(20% calc(.09*var(--palette-chroma,1))calc(var(--palette-hue) + (13*var(--palette-hue-rotate-by))));--color-15:oklch(16% calc(.07*var(--palette-chroma,1))calc(var(--palette-hue) + (14*var(--palette-hue-rotate-by))));--color-16:oklch(10% calc(.05*var(--palette-chroma,1))calc(var(--palette-hue) + (15*var(--palette-hue-rotate-by))))}}
97
-
98
- @layer openprops{
99
- :where(:root) {
100
- --size-xxs: 240px;
101
- --size-xs: 360px;
102
- --size-sm: 480px;
103
- --size-md: 768px;
104
- --size-lg: 1024px;
105
- --size-xl: 1440px;
106
- --size-xxl: 1920px;
107
- }}
108
-
109
- @layer openprops{
110
- :where(:root) {
111
- --font-lineheight-00: 0.95;
112
- --font-lineheight-0: 1.1;
113
- --font-lineheight-1: 1.25;
114
- --font-lineheight-2: 1.375;
115
- --font-lineheight-3: 1.5;
116
- --font-lineheight-4: 1.75;
117
- --font-lineheight-5: 2;
118
- }}
119
-
120
- @layer openprops{
121
- :where(:root) {
122
- --oklch-red: 25;
123
- --oklch-pink: 350;
124
- --oklch-purple: 310;
125
- --oklch-violet: 290;
126
- --oklch-indigo: 270;
127
- --oklch-blue: 240;
128
- --oklch-cyan: 210;
129
- --oklch-teal: 185;
130
- --oklch-green: 145;
131
- --oklch-lime: 125;
132
- --oklch-yellow: 100;
133
- --oklch-orange: 75;
134
- }}
135
-
136
- /* Normalize */
137
-
1
+ @layer openprops, normalize, utils, theme, components.root, components.extended;
2
+
3
+ /* Normalize */
4
+
138
5
  @layer normalize {
139
6
  *,
140
7
  ::before,
@@ -328,10 +195,10 @@
328
195
  :target {
329
196
  scroll-margin-block-start: 2rem;
330
197
  }
331
- }
332
-
333
- /* Utils */
334
-
198
+ }
199
+
200
+ /* Utils */
201
+
335
202
  @layer utils {
336
203
  /*
337
204
  Screen-reader only
@@ -391,10 +258,10 @@ When you visibly want to hide an element but make it accessible for screen reade
391
258
  }
392
259
  }
393
260
  }
394
- }
395
-
396
- /* Theme */
397
-
261
+ }
262
+
263
+ /* Theme */
264
+
398
265
  @layer theme {
399
266
  .light {
400
267
  --color-scheme: light;
@@ -554,16 +421,17 @@ When you visibly want to hide an element but make it accessible for screen reade
554
421
  from var(--color-16) l var(--gray-chroma) var(--gray-lightness)
555
422
  );
556
423
  }
557
- }
558
-
559
- /*
560
- * Components
561
- * Components are divided into two categories - if they are stand-alone (base) or if they have dependencies (has-deps).
562
- */
563
-
564
- /*** Base components (no dependencies) */
565
-
566
- @layer components.base {
424
+ }
425
+
426
+ /* Components */
427
+
428
+ /*
429
+ * Components are divided into two categories - if they are stand-alone (root) or if they are built on top of others (extended).
430
+ */
431
+
432
+ /*** Root components (no dependencies) */
433
+
434
+ @layer components.root {
567
435
  :where(.button) {
568
436
  --_bg-color: transparent;
569
437
  --_border-color: transparent;
@@ -598,12 +466,9 @@ When you visibly want to hide an element but make it accessible for screen reade
598
466
  }
599
467
 
600
468
  @media (prefers-reduced-motion: no-preference) {
601
- transition:
602
- background-color 0.2s var(--ease-out-3),
603
- box-shadow 0.2s var(--ease-out-3),
604
- border-color 0.2s var(--ease-out-3),
605
- color 0.2s var(--ease-out-3),
606
- outline-offset 0.05s var(--ease-1);
469
+ transition: background-color 0.2s var(--ease-out-3),
470
+ box-shadow 0.2s var(--ease-out-3), border-color 0.2s var(--ease-out-3),
471
+ color 0.2s var(--ease-out-3), outline-offset 0.05s var(--ease-1);
607
472
 
608
473
  /* Ripple effect */
609
474
  background-position: center;
@@ -774,10 +639,8 @@ When you visibly want to hide an element but make it accessible for screen reade
774
639
  );
775
640
  --_text-color: var(--color-8);
776
641
 
777
- box-shadow:
778
- 0px 3px 1px -2px oklch(0 0 0 / 20%),
779
- 0px 2px 2px 0px oklch(0 0 0 / 14%),
780
- 0px 1px 5px 0px oklch(0 0 0 / 12%);
642
+ box-shadow: 0px 3px 1px -2px oklch(0 0 0 / 20%),
643
+ 0px 2px 2px 0px oklch(0 0 0 / 14%), 0px 1px 5px 0px oklch(0 0 0 / 12%);
781
644
 
782
645
  &:where(:not([disabled])) {
783
646
  &:where(:not(:active):hover) {
@@ -834,9 +697,9 @@ When you visibly want to hide an element but make it accessible for screen reade
834
697
  cursor: pointer;
835
698
  margin-inline-end: var(--size-relative-6);
836
699
  }
837
- }
838
-
839
- @layer components.base {
700
+ }
701
+
702
+ @layer components.root {
840
703
  :where(.icon-button) {
841
704
  --_text-color: inherit;
842
705
 
@@ -862,7 +725,7 @@ When you visibly want to hide an element but make it accessible for screen reade
862
725
  pointer-events: none;
863
726
  }
864
727
 
865
- /* Ripple effect, utils > index.css */
728
+ /* Ripple effect, utils.css */
866
729
  &::before {
867
730
  --highlight-size: 130%;
868
731
  }
@@ -875,9 +738,9 @@ When you visibly want to hide an element but make it accessible for screen reade
875
738
  }
876
739
  }
877
740
  }
878
- }
879
-
880
- @layer components.base {
741
+ }
742
+
743
+ @layer components.root {
881
744
  :where(nav.tabs) {
882
745
  --_bg-color: transparent;
883
746
 
@@ -921,10 +784,8 @@ When you visibly want to hide an element but make it accessible for screen reade
921
784
  }
922
785
 
923
786
  @media (prefers-reduced-motion: no-preference) {
924
- transition:
925
- background-color 0.2s var(--ease-out-3),
926
- border-color 0.2s var(--ease-out-3),
927
- color 0.2s var(--ease-out-3),
787
+ transition: background-color 0.2s var(--ease-out-3),
788
+ border-color 0.2s var(--ease-out-3), color 0.2s var(--ease-out-3),
928
789
  outline-offset 0.05s var(--ease-1);
929
790
 
930
791
  /*** Ripple effect */
@@ -990,19 +851,17 @@ When you visibly want to hide an element but make it accessible for screen reade
990
851
  }
991
852
 
992
853
  @media (prefers-reduced-motion: no-preference) {
993
- transition:
994
- background-color 0.2s var(--ease-out-3),
995
- border-color 0.2s var(--ease-out-3),
996
- color 0.2s var(--ease-out-3),
854
+ transition: background-color 0.2s var(--ease-out-3),
855
+ border-color 0.2s var(--ease-out-3), color 0.2s var(--ease-out-3),
997
856
  outline-offset 0.05s var(--ease-1);
998
857
  }
999
858
  }
1000
859
  }
1001
860
  }
1002
861
  }
1003
- }
1004
-
1005
- @layer components.base {
862
+ }
863
+
864
+ @layer components.root {
1006
865
  :where([role="group"].toggle-button-group) {
1007
866
  --_border-radius: var(--radius-round);
1008
867
  --_button-padding-inline: clamp(var(--size-2), 3cqi, var(--size-4));
@@ -1058,12 +917,9 @@ When you visibly want to hide an element but make it accessible for screen reade
1058
917
  user-select: none;
1059
918
 
1060
919
  @media (prefers-reduced-motion: no-preference) {
1061
- transition:
1062
- background-color 0.2s var(--ease-out-3),
1063
- box-shadow 0.2s var(--ease-out-3),
1064
- border-color 0.2s var(--ease-out-3),
1065
- color 0.2s var(--ease-out-3),
1066
- outline-offset 0.05s var(--ease-1);
920
+ transition: background-color 0.2s var(--ease-out-3),
921
+ box-shadow 0.2s var(--ease-out-3), border-color 0.2s var(--ease-out-3),
922
+ color 0.2s var(--ease-out-3), outline-offset 0.05s var(--ease-1);
1067
923
  }
1068
924
 
1069
925
  /* Element states */
@@ -1143,9 +999,9 @@ When you visibly want to hide an element but make it accessible for screen reade
1143
999
  }
1144
1000
  }
1145
1001
  }
1146
- }
1147
-
1148
- @layer components.base {
1002
+ }
1003
+
1004
+ @layer components.root {
1149
1005
  :where(.avatar) {
1150
1006
  --_bg-color: var(--color-8);
1151
1007
  --_color: var(--text-color-1);
@@ -1212,9 +1068,9 @@ When you visibly want to hide an element but make it accessible for screen reade
1212
1068
  outline: 2px solid var(--surface-default);
1213
1069
  }
1214
1070
  }
1215
- }
1216
-
1217
- @layer components.base {
1071
+ }
1072
+
1073
+ @layer components.root {
1218
1074
  :where(.badge) {
1219
1075
  --_bg-color: var(--primary);
1220
1076
  --_border-color: var(--primary);
@@ -1314,9 +1170,9 @@ When you visibly want to hide an element but make it accessible for screen reade
1314
1170
  }
1315
1171
  }
1316
1172
  }
1317
- }
1318
-
1319
- @layer components.base {
1173
+ }
1174
+
1175
+ @layer components.root {
1320
1176
  :where(.card) {
1321
1177
  --_bg-color: transparent;
1322
1178
  --_border-color: transparent;
@@ -1397,9 +1253,9 @@ When you visibly want to hide an element but make it accessible for screen reade
1397
1253
  padding-inline: var(--size-1) var(--size-3);
1398
1254
  }
1399
1255
  }
1400
- }
1401
-
1402
- @layer components.base {
1256
+ }
1257
+
1258
+ @layer components.root {
1403
1259
  :where(.chip) {
1404
1260
  --_bg-color: var(--surface-tonal);
1405
1261
  --_border-color: var(--border-color);
@@ -1533,9 +1389,9 @@ When you visibly want to hide an element but make it accessible for screen reade
1533
1389
  cursor: not-allowed;
1534
1390
  }
1535
1391
  }
1536
- }
1537
-
1538
- @layer components.base {
1392
+ }
1393
+
1394
+ @layer components.root {
1539
1395
  :where(.definition-list) {
1540
1396
  --_border-style: solid;
1541
1397
  --_border-width: 1px;
@@ -1599,17 +1455,17 @@ When you visibly want to hide an element but make it accessible for screen reade
1599
1455
  }
1600
1456
  }
1601
1457
  }
1602
- }
1603
-
1604
- @layer components.base {
1458
+ }
1459
+
1460
+ @layer components.root {
1605
1461
  :where(hr) {
1606
1462
  background-color: var(--border-color);
1607
1463
  block-size: var(--border-size-1);
1608
1464
  margin-block: var(--size-fluid-3);
1609
1465
  }
1610
- }
1611
-
1612
- @layer components.base {
1466
+ }
1467
+
1468
+ @layer components.root {
1613
1469
  :where(.link) {
1614
1470
  color: var(--primary);
1615
1471
  cursor: pointer;
@@ -1629,9 +1485,9 @@ When you visibly want to hide an element but make it accessible for screen reade
1629
1485
  text-underline-offset: 2px;
1630
1486
  }
1631
1487
  }
1632
- }
1633
-
1634
- @layer components.base {
1488
+ }
1489
+
1490
+ @layer components.root {
1635
1491
  :where(table) {
1636
1492
  border-collapse: collapse;
1637
1493
  display: block;
@@ -1737,90 +1593,93 @@ When you visibly want to hide an element but make it accessible for screen reade
1737
1593
  }
1738
1594
  }
1739
1595
  }
1740
- }
1741
-
1742
- :where(progress) {
1743
- --_accent-color: var(--primary);
1744
- --_bg-color: var(--surface-tonal);
1745
-
1746
- appearance: none;
1747
- background-color: var(--_bg-color);
1748
- border-radius: var(--border-radius, 0.25rem);
1749
- border: 0;
1750
- display: inline-block;
1751
- block-size: var(--size-1);
1752
- overflow: hidden;
1753
- position: relative;
1754
- vertical-align: baseline;
1755
- inline-size: 100%;
1756
-
1757
- &::-webkit-progress-bar {
1758
- border-radius: var(--border-radius, 0.25rem);
1759
- background: none;
1760
- }
1761
-
1762
- &[value]::-webkit-progress-value {
1763
- background-color: var(--_accent-color);
1764
-
1765
- @media (prefers-reduced-motion: no-preference) {
1766
- transition: inline-size 0.2s var(--ease-out-4, cubic-bezier(0, 0, 0.1, 1));
1767
- }
1768
- }
1769
-
1770
- &::-moz-progress-bar {
1771
- background-color: var(--_accent-color);
1772
- }
1773
- }
1596
+ }
1597
+
1598
+ @layer components.root {
1599
+ :where(progress) {
1600
+ --_accent-color: var(--primary);
1601
+ --_bg-color: var(--surface-tonal);
1774
1602
 
1775
- @media (prefers-reduced-motion: no-preference) {
1776
- progress:indeterminate {
1603
+ appearance: none;
1777
1604
  background-color: var(--_bg-color);
1605
+ border-radius: var(--border-radius, 0.25rem);
1606
+ border: 0;
1607
+ display: inline-block;
1608
+ block-size: var(--size-1);
1609
+ overflow: hidden;
1610
+ position: relative;
1611
+ vertical-align: baseline;
1612
+ inline-size: 100%;
1778
1613
 
1779
- &::after {
1780
- animation: indeterminate 2s linear infinite;
1781
- background-color: var(--_accent-color);
1782
- content: "";
1783
- inset: 0 auto 0 0;
1784
- position: absolute;
1785
- will-change: inset-inline-start, inset-inline-end;
1614
+ &::-webkit-progress-bar {
1615
+ border-radius: var(--border-radius, 0.25rem);
1616
+ background: none;
1786
1617
  }
1787
1618
 
1788
1619
  &[value]::-webkit-progress-value {
1789
- background-color: transparent;
1620
+ background-color: var(--_accent-color);
1621
+
1622
+ @media (prefers-reduced-motion: no-preference) {
1623
+ transition: inline-size 0.2s
1624
+ var(--ease-out-4, cubic-bezier(0, 0, 0.1, 1));
1625
+ }
1790
1626
  }
1791
1627
 
1792
1628
  &::-moz-progress-bar {
1793
- background-color: transparent;
1629
+ background-color: var(--_accent-color);
1794
1630
  }
1795
1631
  }
1796
1632
 
1797
- [dir="rtl"] {
1798
- :where(progress):indeterminate {
1799
- animation-direction: reverse;
1633
+ @media (prefers-reduced-motion: no-preference) {
1634
+ progress:indeterminate {
1635
+ background-color: var(--_bg-color);
1800
1636
 
1801
1637
  &::after {
1638
+ animation: indeterminate 2s linear infinite;
1639
+ background-color: var(--_accent-color);
1640
+ content: "";
1641
+ inset: 0 auto 0 0;
1642
+ position: absolute;
1643
+ will-change: inset-inline-start, inset-inline-end;
1644
+ }
1645
+
1646
+ &[value]::-webkit-progress-value {
1647
+ background-color: transparent;
1648
+ }
1649
+
1650
+ &::-moz-progress-bar {
1651
+ background-color: transparent;
1652
+ }
1653
+ }
1654
+
1655
+ [dir="rtl"] {
1656
+ :where(progress):indeterminate {
1802
1657
  animation-direction: reverse;
1658
+
1659
+ &::after {
1660
+ animation-direction: reverse;
1661
+ }
1803
1662
  }
1804
1663
  }
1805
1664
  }
1806
- }
1807
1665
 
1808
- @keyframes indeterminate {
1809
- 0% {
1810
- left: -200%;
1811
- right: 100%;
1812
- }
1813
- 60% {
1814
- left: 107%;
1815
- right: -8%;
1816
- }
1817
- 100% {
1818
- left: 107%;
1819
- right: -8%;
1666
+ @keyframes indeterminate {
1667
+ 0% {
1668
+ left: -200%;
1669
+ right: 100%;
1670
+ }
1671
+ 60% {
1672
+ left: 107%;
1673
+ right: -8%;
1674
+ }
1675
+ 100% {
1676
+ left: 107%;
1677
+ right: -8%;
1678
+ }
1820
1679
  }
1821
- }
1822
-
1823
- @layer components.base {
1680
+ }
1681
+
1682
+ @layer components.root {
1824
1683
  [aria-busy="true"]:not(
1825
1684
  input,
1826
1685
  select,
@@ -1857,9 +1716,9 @@ When you visibly want to hide an element but make it accessible for screen reade
1857
1716
  transform: rotate(1turn);
1858
1717
  }
1859
1718
  }
1860
- }
1861
-
1862
- @layer components.base {
1719
+ }
1720
+
1721
+ @layer components.root {
1863
1722
  label:where(.checkbox, .radio) {
1864
1723
  align-items: center;
1865
1724
  color: var(--text-color-1);
@@ -1981,9 +1840,9 @@ When you visibly want to hide an element but make it accessible for screen reade
1981
1840
  }
1982
1841
  }
1983
1842
  }
1984
- }
1985
-
1986
- @layer components.base {
1843
+ }
1844
+
1845
+ @layer components.root {
1987
1846
  :where(.switch) {
1988
1847
  --_accent-color: var(--primary);
1989
1848
  --_accent-contrast: var(--primary-contrast);
@@ -2050,8 +1909,8 @@ When you visibly want to hide an element but make it accessible for screen reade
2050
1909
  &::before {
2051
1910
  background-color: var(--_accent-color);
2052
1911
  border-color: var(--_accent-color);
2053
- transition:
2054
- background-color var(--_transition-time) var(--_transition-tf),
1912
+ transition: background-color var(--_transition-time)
1913
+ var(--_transition-tf),
2055
1914
  border-color var(--_transition-time) var(--_transition-tf);
2056
1915
  }
2057
1916
 
@@ -2070,8 +1929,8 @@ When you visibly want to hide an element but make it accessible for screen reade
2070
1929
  @media (prefers-reduced-motion: no-preference) {
2071
1930
  /* Track */
2072
1931
  &::before {
2073
- transition:
2074
- background-color var(--_transition-time) var(--_transition-tf),
1932
+ transition: background-color var(--_transition-time)
1933
+ var(--_transition-tf),
2075
1934
  border-color var(--_transition-time) var(--_transition-tf);
2076
1935
  }
2077
1936
 
@@ -2171,9 +2030,9 @@ When you visibly want to hide an element but make it accessible for screen reade
2171
2030
  }
2172
2031
  }
2173
2032
  }
2174
- }
2175
-
2176
- @layer components.base {
2033
+ }
2034
+
2035
+ @layer components.root {
2177
2036
  :where(.range > input[type="range"]) {
2178
2037
  --thumb-bg: var(--primary);
2179
2038
  --thumb-highlight-color: oklch(from var(--primary) 70% 100% h / 20%);
@@ -2293,9 +2152,9 @@ When you visibly want to hide an element but make it accessible for screen reade
2293
2152
  }
2294
2153
  }
2295
2154
  }
2296
- }
2297
-
2298
- @layer components.base {
2155
+ }
2156
+
2157
+ @layer components.root {
2299
2158
  /* Base typography */
2300
2159
  :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
2301
2160
  color: var(--text-color-1);
@@ -2503,11 +2362,11 @@ When you visibly want to hide an element but make it accessible for screen reade
2503
2362
  text-wrap: balance;
2504
2363
  }
2505
2364
  }
2506
- }
2507
-
2508
- /*** Has dependencies */
2509
-
2510
- @layer components.has-deps {
2365
+ }
2366
+
2367
+ /*** Extended components (has dependencies) */
2368
+
2369
+ @layer components.extended {
2511
2370
  :where([role="group"].button-group) {
2512
2371
  --_border-radius: var(--button-border-radius);
2513
2372
 
@@ -2575,9 +2434,9 @@ When you visibly want to hide an element but make it accessible for screen reade
2575
2434
  }
2576
2435
  }
2577
2436
  }
2578
- }
2579
-
2580
- @layer components.has-deps {
2437
+ }
2438
+
2439
+ @layer components.extended {
2581
2440
  :where(details) {
2582
2441
  --_accordion-transition-time: 0.2s;
2583
2442
  --_bg-color: transparent;
@@ -2601,8 +2460,8 @@ When you visibly want to hide an element but make it accessible for screen reade
2601
2460
  block-size: 0;
2602
2461
  opacity: 0;
2603
2462
  overflow-y: clip;
2604
- transition:
2605
- content-visibility var(--_accordion-transition-time) allow-discrete,
2463
+ transition: content-visibility var(--_accordion-transition-time)
2464
+ allow-discrete,
2606
2465
  opacity var(--_accordion-transition-time),
2607
2466
  block-size var(--_accordion-transition-time);
2608
2467
  }
@@ -2748,9 +2607,9 @@ When you visibly want to hide an element but make it accessible for screen reade
2748
2607
  }
2749
2608
  }
2750
2609
  }
2751
- }
2752
-
2753
- @layer components.has-deps {
2610
+ }
2611
+
2612
+ @layer components.extended {
2754
2613
  /*
2755
2614
  Lists meant to be used stand-alone or as part of Select elements
2756
2615
 
@@ -3066,9 +2925,9 @@ Lists meant to be used stand-alone or as part of Select elements
3066
2925
  }
3067
2926
  }
3068
2927
  }
3069
- }
3070
-
3071
- @layer components.has-deps {
2928
+ }
2929
+
2930
+ @layer components.extended {
3072
2931
  :where(.alert) {
3073
2932
  --_bg-color: var(--surface-tonal);
3074
2933
  --_border-color: var(--surface-tonal);
@@ -3152,9 +3011,9 @@ Lists meant to be used stand-alone or as part of Select elements
3152
3011
  }
3153
3012
  }
3154
3013
  }
3155
- }
3156
-
3157
- @layer components.has-deps {
3014
+ }
3015
+
3016
+ @layer components.extended {
3158
3017
  :where(dialog) {
3159
3018
  margin-block-start: 15%; /* vertical alignment */
3160
3019
  padding-block: 0;
@@ -3188,10 +3047,8 @@ Lists meant to be used stand-alone or as part of Select elements
3188
3047
 
3189
3048
  &[open] {
3190
3049
  opacity: 1;
3191
- transition:
3192
- display 0.2s allow-discrete,
3193
- margin-block-start 0.3s var(--ease-1),
3194
- overlay 0.2s allow-discrete,
3050
+ transition: display 0.2s allow-discrete,
3051
+ margin-block-start 0.3s var(--ease-1), overlay 0.2s allow-discrete,
3195
3052
  opacity 0.2s var(--ease-out-1);
3196
3053
 
3197
3054
  @starting-style {
@@ -3214,9 +3071,9 @@ Lists meant to be used stand-alone or as part of Select elements
3214
3071
  :where(html:has(dialog[open])) {
3215
3072
  overflow: hidden;
3216
3073
  }
3217
- }
3218
-
3219
- @layer components.has-deps {
3074
+ }
3075
+
3076
+ @layer components.extended {
3220
3077
  :where(.snackbar) {
3221
3078
  align-items: center;
3222
3079
  /* Inverse surface-filled */
@@ -3348,18 +3205,14 @@ Lists meant to be used stand-alone or as part of Select elements
3348
3205
 
3349
3206
  /* Animations */
3350
3207
  opacity: 0;
3351
- transition:
3352
- display 0.075s allow-discrete,
3353
- overlay 0.075s allow-discrete,
3208
+ transition: display 0.075s allow-discrete, overlay 0.075s allow-discrete,
3354
3209
  opacity 0.075s var(--ease-out-1);
3355
3210
 
3356
3211
  &:popover-open,
3357
3212
  &:popover-open::backdrop,
3358
3213
  &.visible {
3359
3214
  opacity: 1;
3360
- transition:
3361
- display 0.25s allow-discrete,
3362
- overlay 0.25s allow-discrete,
3215
+ transition: display 0.25s allow-discrete, overlay 0.25s allow-discrete,
3363
3216
  opacity 0.25s var(--ease-out-1);
3364
3217
 
3365
3218
  @starting-style {
@@ -3367,9 +3220,9 @@ Lists meant to be used stand-alone or as part of Select elements
3367
3220
  }
3368
3221
  }
3369
3222
  }
3370
- }
3371
-
3372
- @layer components.has-deps {
3223
+ }
3224
+
3225
+ @layer components.extended {
3373
3226
  /* Common styling for checkbox, radio and switch groups */
3374
3227
  :where(fieldset.field-group) {
3375
3228
  border: 0;
@@ -3451,9 +3304,9 @@ Lists meant to be used stand-alone or as part of Select elements
3451
3304
  }
3452
3305
  }
3453
3306
  }
3454
- }
3455
-
3456
- @layer components.has-deps {
3307
+ }
3308
+
3309
+ @layer components.extended {
3457
3310
  /*
3458
3311
  - Common styling for input, textarea and select
3459
3312
  - Form related styles such as: label, supporting text, error handling
@@ -3492,8 +3345,7 @@ Lists meant to be used stand-alone or as part of Select elements
3492
3345
  padding: var(--_field-padding-block) var(--_field-padding-inline);
3493
3346
 
3494
3347
  @media (prefers-reduced-motion: no-preference) {
3495
- transition:
3496
- border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
3348
+ transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
3497
3349
  padding-block 0.2s var(--ease-3);
3498
3350
  }
3499
3351
  }
@@ -3680,12 +3532,9 @@ Lists meant to be used stand-alone or as part of Select elements
3680
3532
  z-index: 1;
3681
3533
 
3682
3534
  @media (prefers-reduced-motion: no-preference) {
3683
- transition:
3684
- border-color 0.2s var(--ease-3),
3685
- font-size 0.2s var(--ease-3),
3686
- inline-size 0.05s var(--ease-3),
3687
- margin 0.2s var(--ease-3),
3688
- padding-inline 0.2s var(--ease-3);
3535
+ transition: border-color 0.2s var(--ease-3),
3536
+ font-size 0.2s var(--ease-3), inline-size 0.05s var(--ease-3),
3537
+ margin 0.2s var(--ease-3), padding-inline 0.2s var(--ease-3);
3689
3538
  }
3690
3539
  }
3691
3540
 
@@ -3796,9 +3645,7 @@ Lists meant to be used stand-alone or as part of Select elements
3796
3645
  z-index: 1;
3797
3646
 
3798
3647
  @media (prefers-reduced-motion: no-preference) {
3799
- transition:
3800
- transform 0.3s var(--ease-3),
3801
- translate 0.2s var(--ease-3);
3648
+ transition: transform 0.3s var(--ease-3), translate 0.2s var(--ease-3);
3802
3649
  }
3803
3650
  }
3804
3651
 
@@ -3952,9 +3799,9 @@ Lists meant to be used stand-alone or as part of Select elements
3952
3799
  }
3953
3800
  }
3954
3801
  }
3955
- }
3956
-
3957
- @layer components.has-deps {
3802
+ }
3803
+
3804
+ @layer components.extended {
3958
3805
  :where(.field > select) {
3959
3806
  position: relative;
3960
3807
 
@@ -3994,11 +3841,8 @@ Lists meant to be used stand-alone or as part of Select elements
3994
3841
  }
3995
3842
 
3996
3843
  @media (prefers-reduced-motion: no-preference) {
3997
- transition:
3998
- display 0.2s allow-discrete,
3999
- opacity 0.2s var(--ease-3),
4000
- overlay 0.2s allow-discrete,
4001
- scale 0.2s var(--ease-3);
3844
+ transition: display 0.2s allow-discrete, opacity 0.2s var(--ease-3),
3845
+ overlay 0.2s allow-discrete, scale 0.2s var(--ease-3);
4002
3846
  }
4003
3847
  }
4004
3848
 
@@ -4119,27 +3963,27 @@ Lists meant to be used stand-alone or as part of Select elements
4119
3963
  ::picker(select) {
4120
3964
  appearance: base-select;
4121
3965
  }
4122
- }
4123
-
4124
- @layer components.has-deps {
3966
+ }
3967
+
3968
+ @layer components.extended {
4125
3969
  :where(
4126
- .field:has(
4127
- :where(
4128
- input[type="date"],
4129
- input[type="datetime-local"],
4130
- input[type="email"],
4131
- input[type="month"],
4132
- input[type="number"],
4133
- input[type="password"],
4134
- input[type="search"],
4135
- input[type="tel"],
4136
- input[type="text"],
4137
- input[type="time"],
4138
- input[type="url"],
4139
- input[type="week"]
3970
+ .field:has(
3971
+ :where(
3972
+ input[type="date"],
3973
+ input[type="datetime-local"],
3974
+ input[type="email"],
3975
+ input[type="month"],
3976
+ input[type="number"],
3977
+ input[type="password"],
3978
+ input[type="search"],
3979
+ input[type="tel"],
3980
+ input[type="text"],
3981
+ input[type="time"],
3982
+ input[type="url"],
3983
+ input[type="week"]
3984
+ )
4140
3985
  )
4141
- )
4142
- ) {
3986
+ ) {
4143
3987
  /* Sizes */
4144
3988
  &.small {
4145
3989
  input {
@@ -4159,9 +4003,9 @@ Lists meant to be used stand-alone or as part of Select elements
4159
4003
  }
4160
4004
  }
4161
4005
  :where(
4162
- .field:has(input[list]:placeholder-shown),
4163
- .field:has(input[list]):where(:focus-within, :hover)
4164
- ) {
4006
+ .field:has(input[list]:placeholder-shown),
4007
+ .field:has(input[list]):where(:focus-within, :hover)
4008
+ ) {
4165
4009
  /* Arrow */
4166
4010
  &::after {
4167
4011
  block-size: 0;
@@ -4177,9 +4021,9 @@ Lists meant to be used stand-alone or as part of Select elements
4177
4021
  translate: 0 -50%;
4178
4022
  }
4179
4023
  }
4180
- }
4181
-
4182
- @layer components.has-deps {
4024
+ }
4025
+
4026
+ @layer components.extended {
4183
4027
  :where(.field:has(textarea)) {
4184
4028
  textarea {
4185
4029
  block-size: auto;
@@ -4203,9 +4047,9 @@ Lists meant to be used stand-alone or as part of Select elements
4203
4047
  }
4204
4048
  }
4205
4049
  }
4206
- }
4207
-
4208
- @layer components.has-deps {
4050
+ }
4051
+
4052
+ @layer components.extended {
4209
4053
  @scope (.rich-text) to (.not-rich-text) {
4210
4054
  a {
4211
4055
  color: var(--primary);
@@ -4414,4 +4258,4 @@ Lists meant to be used stand-alone or as part of Select elements
4414
4258
  }
4415
4259
  }
4416
4260
  }
4417
- }
4261
+ }