opui-css 2.2.3 → 2.3.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.
Files changed (79) hide show
  1. package/README.md +23 -7
  2. package/dist/{op+ui.css → theme-one+op.css} +290 -143
  3. package/dist/{ui.css → theme-one.css} +168 -12
  4. package/dist/theme-two+op.css +4021 -0
  5. package/dist/theme-two.css +3975 -0
  6. package/package.json +6 -5
  7. package/src/themes/theme-one/components/table.css +100 -0
  8. package/src/{components → themes/theme-one/components}/toggle-button-group.css +1 -5
  9. package/src/themes/theme-one/components.css +37 -0
  10. package/src/{theme.css → themes/theme-one/setup.css} +1 -1
  11. package/src/themes/theme-one/theme+op.css +5 -0
  12. package/src/themes/theme-one/theme.css +13 -0
  13. package/src/themes/theme-two/components/accordion.css +172 -0
  14. package/src/themes/theme-two/components/alert.css +85 -0
  15. package/src/themes/theme-two/components/avatar.css +68 -0
  16. package/src/themes/theme-two/components/badge.css +101 -0
  17. package/src/themes/theme-two/components/button-group.css +50 -0
  18. package/src/themes/theme-two/components/button.css +217 -0
  19. package/src/themes/theme-two/components/card.css +82 -0
  20. package/src/themes/theme-two/components/checkbox-radio.css +123 -0
  21. package/src/themes/theme-two/components/chip.css +135 -0
  22. package/src/themes/theme-two/components/definition-list.css +65 -0
  23. package/src/themes/theme-two/components/dialog.css +59 -0
  24. package/src/themes/theme-two/components/divider.css +7 -0
  25. package/src/themes/theme-two/components/field-group.css +83 -0
  26. package/src/themes/theme-two/components/field.css +281 -0
  27. package/src/themes/theme-two/components/icon-button.css +40 -0
  28. package/src/themes/theme-two/components/link.css +21 -0
  29. package/src/themes/theme-two/components/list.css +317 -0
  30. package/src/themes/theme-two/components/progress.css +83 -0
  31. package/src/themes/theme-two/components/range.css +121 -0
  32. package/src/themes/theme-two/components/rich-text.css +210 -0
  33. package/src/themes/theme-two/components/select.css +162 -0
  34. package/src/themes/theme-two/components/snackbar.css +148 -0
  35. package/src/themes/theme-two/components/spinner.css +38 -0
  36. package/src/themes/theme-two/components/switch.css +189 -0
  37. package/src/themes/theme-two/components/tab-buttons.css +120 -0
  38. package/src/themes/theme-two/components/text-field.css +57 -0
  39. package/src/themes/theme-two/components/textarea.css +25 -0
  40. package/src/themes/theme-two/components/toggle-button-group.css +135 -0
  41. package/src/themes/theme-two/components/tooltip.css +94 -0
  42. package/src/themes/theme-two/components/typography.css +209 -0
  43. package/src/themes/theme-two/components.css +37 -0
  44. package/src/themes/theme-two/setup.css +158 -0
  45. package/src/themes/theme-two/theme+op.css +5 -0
  46. package/src/themes/theme-two/theme.css +13 -0
  47. package/src/core/components.css +0 -37
  48. package/src/main.css +0 -13
  49. package/src/opui.css +0 -10
  50. /package/src/{components → themes/theme-one/components}/accordion.css +0 -0
  51. /package/src/{components → themes/theme-one/components}/alert.css +0 -0
  52. /package/src/{components → themes/theme-one/components}/avatar.css +0 -0
  53. /package/src/{components → themes/theme-one/components}/badge.css +0 -0
  54. /package/src/{components → themes/theme-one/components}/button-group.css +0 -0
  55. /package/src/{components → themes/theme-one/components}/button.css +0 -0
  56. /package/src/{components → themes/theme-one/components}/card.css +0 -0
  57. /package/src/{components → themes/theme-one/components}/checkbox-radio.css +0 -0
  58. /package/src/{components → themes/theme-one/components}/chip.css +0 -0
  59. /package/src/{components → themes/theme-one/components}/definition-list.css +0 -0
  60. /package/src/{components → themes/theme-one/components}/dialog.css +0 -0
  61. /package/src/{components → themes/theme-one/components}/divider.css +0 -0
  62. /package/src/{components → themes/theme-one/components}/field-group.css +0 -0
  63. /package/src/{components → themes/theme-one/components}/field.css +0 -0
  64. /package/src/{components → themes/theme-one/components}/icon-button.css +0 -0
  65. /package/src/{components → themes/theme-one/components}/link.css +0 -0
  66. /package/src/{components → themes/theme-one/components}/list.css +0 -0
  67. /package/src/{components → themes/theme-one/components}/progress.css +0 -0
  68. /package/src/{components → themes/theme-one/components}/range.css +0 -0
  69. /package/src/{components → themes/theme-one/components}/rich-text.css +0 -0
  70. /package/src/{components → themes/theme-one/components}/select.css +0 -0
  71. /package/src/{components → themes/theme-one/components}/snackbar.css +0 -0
  72. /package/src/{components → themes/theme-one/components}/spinner.css +0 -0
  73. /package/src/{components → themes/theme-one/components}/switch.css +0 -0
  74. /package/src/{components → themes/theme-one/components}/tab-buttons.css +0 -0
  75. /package/src/{components → themes/theme-one/components}/text-field.css +0 -0
  76. /package/src/{components → themes/theme-one/components}/textarea.css +0 -0
  77. /package/src/{components → themes/theme-one/components}/tooltip.css +0 -0
  78. /package/src/{components → themes/theme-one/components}/typography.css +0 -0
  79. /package/src/{components → themes/theme-two/components}/table.css +0 -0
@@ -1,96 +1,92 @@
1
- @layer openprops, normalize, utils, theme, components.root, components.extended;
1
+ @layer openprops, normalize, utils, theme, components.root, components.extended;
2
+ /* Open Props */
2
3
  /*
3
- This main.css file represents whatever file you choose to use as an entry point for OPUI
4
- Ideally it's the root/entry CSS file in your project.
5
- */
6
- /* Open Props imports */
7
- /*
8
- * Open Props
9
- * Import as many props as you need here.
10
- * https://unpkg.com/browse/open-props@2.0.0-beta.5/css
11
- */
12
- @custom-media --motionOK (prefers-reduced-motion: no-preference);
13
- @custom-media --motionNotOK (prefers-reduced-motion: reduce);
14
- @custom-media --opacityOK (prefers-reduced-transparency: no-preference);
15
- @custom-media --opacityNotOK (prefers-reduced-transparency: reduce);
16
- @custom-media --useDataOK (prefers-reduced-data: no-preference);
17
- @custom-media --useDataNotOK (prefers-reduced-data: reduce);
18
- @custom-media --OSdark (prefers-color-scheme: dark);
19
- @custom-media --OSlight (prefers-color-scheme: light);
20
- @custom-media --highContrast (prefers-contrast: more);
21
- @custom-media --lowContrast (prefers-contrast: less);
22
- @custom-media --portrait (orientation: portrait);
23
- @custom-media --landscape (orientation: landscape);
24
- @custom-media --HDcolor (dynamic-range: high);
25
- @custom-media --touch (hover: none) and (pointer: coarse);
26
- @custom-media --stylus (hover: none) and (pointer: fine);
27
- @custom-media --pointer (hover) and (pointer: coarse);
28
- @custom-media --mouse (hover) and (pointer: fine);
29
- @custom-media --xxs-only (0px <= width <= 240px);
30
- @custom-media --xxs-n-above (width >= 240px);
31
- @custom-media --xxs-n-below (width < 240px);
32
- @custom-media --xxs-phone (--xxs-only) and (--portrait);
33
- @custom-media --xs-only (240px <= width <= 360px);
34
- @custom-media --xs-n-above (width >= 360px);
35
- @custom-media --xs-n-below (width < 360px);
36
- @custom-media --xs-phone (--xs-only) and (--portrait);
37
- @custom-media --sm-only (360px <= width <= 480px);
38
- @custom-media --sm-n-above (width >= 480px);
39
- @custom-media --sm-n-below (width < 480px);
40
- @custom-media --sm-phone (--sm-only) and (--portrait);
41
- @custom-media --md-only (480px <= width <= 768px);
42
- @custom-media --md-n-above (width >= 768px);
43
- @custom-media --md-n-below (width < 768px);
44
- @custom-media --md-phone (--md-only) and (--portrait);
45
- @custom-media --lg-only (768px <= width <= 1024px);
46
- @custom-media --lg-n-above (width >= 1024px);
47
- @custom-media --lg-n-below (width < 1024px);
48
- @custom-media --lg-phone (--lg-only) and (--portrait);
49
- @custom-media --xl-only (1024px <= width <= 1440px);
50
- @custom-media --xl-n-above (width >= 1440px);
51
- @custom-media --xl-n-below (width < 1440px);
52
- @custom-media --xxl-only (1440px <= width <= 1920px);
53
- @custom-media --xxl-n-above (width >= 1920px);
54
- @custom-media --xxl-n-below (width < 1920px);
55
- @layer openprops{
56
- :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))))}}
57
- @layer openprops{
58
- :where(:root) {
59
- --size-xxs: 240px;
60
- --size-xs: 360px;
61
- --size-sm: 480px;
62
- --size-md: 768px;
63
- --size-lg: 1024px;
64
- --size-xl: 1440px;
65
- --size-xxl: 1920px;
66
- }}
67
- @layer openprops{
68
- :where(:root) {
69
- --font-lineheight-00: 0.95;
70
- --font-lineheight-0: 1.1;
71
- --font-lineheight-1: 1.25;
72
- --font-lineheight-2: 1.375;
73
- --font-lineheight-3: 1.5;
74
- --font-lineheight-4: 1.75;
75
- --font-lineheight-5: 2;
76
- }}
77
- @layer openprops{
78
- :where(:root) {
79
- --oklch-red: 25;
80
- --oklch-pink: 350;
81
- --oklch-purple: 310;
82
- --oklch-violet: 290;
83
- --oklch-indigo: 270;
84
- --oklch-blue: 240;
85
- --oklch-cyan: 210;
86
- --oklch-teal: 185;
87
- --oklch-green: 145;
88
- --oklch-lime: 125;
89
- --oklch-yellow: 100;
90
- --oklch-orange: 75;
91
- }}
92
- /* OPUI Core */
93
- /* Normalize */
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
+ @custom-media --motionOK (prefers-reduced-motion: no-preference);
9
+ @custom-media --motionNotOK (prefers-reduced-motion: reduce);
10
+ @custom-media --opacityOK (prefers-reduced-transparency: no-preference);
11
+ @custom-media --opacityNotOK (prefers-reduced-transparency: reduce);
12
+ @custom-media --useDataOK (prefers-reduced-data: no-preference);
13
+ @custom-media --useDataNotOK (prefers-reduced-data: reduce);
14
+ @custom-media --OSdark (prefers-color-scheme: dark);
15
+ @custom-media --OSlight (prefers-color-scheme: light);
16
+ @custom-media --highContrast (prefers-contrast: more);
17
+ @custom-media --lowContrast (prefers-contrast: less);
18
+ @custom-media --portrait (orientation: portrait);
19
+ @custom-media --landscape (orientation: landscape);
20
+ @custom-media --HDcolor (dynamic-range: high);
21
+ @custom-media --touch (hover: none) and (pointer: coarse);
22
+ @custom-media --stylus (hover: none) and (pointer: fine);
23
+ @custom-media --pointer (hover) and (pointer: coarse);
24
+ @custom-media --mouse (hover) and (pointer: fine);
25
+ @custom-media --xxs-only (0px <= width <= 240px);
26
+ @custom-media --xxs-n-above (width >= 240px);
27
+ @custom-media --xxs-n-below (width < 240px);
28
+ @custom-media --xxs-phone (--xxs-only) and (--portrait);
29
+ @custom-media --xs-only (240px <= width <= 360px);
30
+ @custom-media --xs-n-above (width >= 360px);
31
+ @custom-media --xs-n-below (width < 360px);
32
+ @custom-media --xs-phone (--xs-only) and (--portrait);
33
+ @custom-media --sm-only (360px <= width <= 480px);
34
+ @custom-media --sm-n-above (width >= 480px);
35
+ @custom-media --sm-n-below (width < 480px);
36
+ @custom-media --sm-phone (--sm-only) and (--portrait);
37
+ @custom-media --md-only (480px <= width <= 768px);
38
+ @custom-media --md-n-above (width >= 768px);
39
+ @custom-media --md-n-below (width < 768px);
40
+ @custom-media --md-phone (--md-only) and (--portrait);
41
+ @custom-media --lg-only (768px <= width <= 1024px);
42
+ @custom-media --lg-n-above (width >= 1024px);
43
+ @custom-media --lg-n-below (width < 1024px);
44
+ @custom-media --lg-phone (--lg-only) and (--portrait);
45
+ @custom-media --xl-only (1024px <= width <= 1440px);
46
+ @custom-media --xl-n-above (width >= 1440px);
47
+ @custom-media --xl-n-below (width < 1440px);
48
+ @custom-media --xxl-only (1440px <= width <= 1920px);
49
+ @custom-media --xxl-n-above (width >= 1920px);
50
+ @custom-media --xxl-n-below (width < 1920px);
51
+ @layer openprops{
52
+ :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))))}}
53
+ @layer openprops{
54
+ :where(:root) {
55
+ --size-xxs: 240px;
56
+ --size-xs: 360px;
57
+ --size-sm: 480px;
58
+ --size-md: 768px;
59
+ --size-lg: 1024px;
60
+ --size-xl: 1440px;
61
+ --size-xxl: 1920px;
62
+ }}
63
+ @layer openprops{
64
+ :where(:root) {
65
+ --font-lineheight-00: 0.95;
66
+ --font-lineheight-0: 1.1;
67
+ --font-lineheight-1: 1.25;
68
+ --font-lineheight-2: 1.375;
69
+ --font-lineheight-3: 1.5;
70
+ --font-lineheight-4: 1.75;
71
+ --font-lineheight-5: 2;
72
+ }}
73
+ @layer openprops{
74
+ :where(:root) {
75
+ --oklch-red: 25;
76
+ --oklch-pink: 350;
77
+ --oklch-purple: 310;
78
+ --oklch-violet: 290;
79
+ --oklch-indigo: 270;
80
+ --oklch-blue: 240;
81
+ --oklch-cyan: 210;
82
+ --oklch-teal: 185;
83
+ --oklch-green: 145;
84
+ --oklch-lime: 125;
85
+ --oklch-yellow: 100;
86
+ --oklch-orange: 75;
87
+ }}
88
+ /* theme one theme */
89
+ /* Normalize */
94
90
  @layer normalize {
95
91
  *,
96
92
  ::before,
@@ -286,8 +282,8 @@ Ideally it's the root/entry CSS file in your project.
286
282
  :target {
287
283
  scroll-margin-block-start: 2rem;
288
284
  }
289
- }
290
- /* Utils */
285
+ }
286
+ /* Utils */
291
287
  @layer utils {
292
288
  /*
293
289
  Screen-reader only
@@ -347,12 +343,12 @@ When you visibly want to hide an element but make it accessible for screen reade
347
343
  }
348
344
  }
349
345
  }
350
- }
351
- /* Components */
346
+ }
347
+ /* Components */
352
348
  /*
353
349
  * Components are divided into two categories - if they are stand-alone (root) or if they are built on top of others (extended).
354
- */
355
- /*** Root components (no dependencies) */
350
+ */
351
+ /*** Root components (no dependencies) */
356
352
  @layer components.root {
357
353
  :where(.button) {
358
354
  --_bg-color: transparent;
@@ -619,7 +615,7 @@ When you visibly want to hide an element but make it accessible for screen reade
619
615
  cursor: pointer;
620
616
  margin-inline-end: var(--size-relative-6);
621
617
  }
622
- }
618
+ }
623
619
  @layer components.root {
624
620
  :where(.icon-button) {
625
621
  --_text-color: inherit;
@@ -659,7 +655,7 @@ When you visibly want to hide an element but make it accessible for screen reade
659
655
  }
660
656
  }
661
657
  }
662
- }
658
+ }
663
659
  @layer components.root {
664
660
  :where(nav.tabs) {
665
661
  --_bg-color: transparent;
@@ -779,7 +775,7 @@ When you visibly want to hide an element but make it accessible for screen reade
779
775
  }
780
776
  }
781
777
  }
782
- }
778
+ }
783
779
  @layer components.root {
784
780
  :where([role="group"].toggle-button-group) {
785
781
  --_border-radius: var(--radius-round);
@@ -905,11 +901,7 @@ When you visibly want to hide an element but make it accessible for screen reade
905
901
 
906
902
  /* Selected */
907
903
  &.selected {
908
- --_bg-color: color-mix(
909
- in oklch,
910
- var(--primary) 12%,
911
- var(--surface-default)
912
- );
904
+ --_bg-color: oklch(from var(--primary) l c h / 25%);
913
905
 
914
906
  /* Checkmark */
915
907
  svg:first-of-type {
@@ -918,7 +910,7 @@ When you visibly want to hide an element but make it accessible for screen reade
918
910
  }
919
911
  }
920
912
  }
921
- }
913
+ }
922
914
  @layer components.root {
923
915
  :where(.avatar) {
924
916
  --_bg-color: var(--color-8);
@@ -986,7 +978,7 @@ When you visibly want to hide an element but make it accessible for screen reade
986
978
  outline: 2px solid var(--surface-default);
987
979
  }
988
980
  }
989
- }
981
+ }
990
982
  @layer components.root {
991
983
  :where(.badge) {
992
984
  --_bg-color: var(--primary);
@@ -1087,7 +1079,7 @@ When you visibly want to hide an element but make it accessible for screen reade
1087
1079
  }
1088
1080
  }
1089
1081
  }
1090
- }
1082
+ }
1091
1083
  @layer components.root {
1092
1084
  :where(.card) {
1093
1085
  --_bg-color: transparent;
@@ -1169,7 +1161,7 @@ When you visibly want to hide an element but make it accessible for screen reade
1169
1161
  padding-inline: var(--size-1) var(--size-3);
1170
1162
  }
1171
1163
  }
1172
- }
1164
+ }
1173
1165
  @layer components.root {
1174
1166
  :where(.chip) {
1175
1167
  --_bg-color: var(--surface-tonal);
@@ -1304,7 +1296,7 @@ When you visibly want to hide an element but make it accessible for screen reade
1304
1296
  cursor: not-allowed;
1305
1297
  }
1306
1298
  }
1307
- }
1299
+ }
1308
1300
  @layer components.root {
1309
1301
  :where(.definition-list) {
1310
1302
  --_border-style: solid;
@@ -1369,14 +1361,14 @@ When you visibly want to hide an element but make it accessible for screen reade
1369
1361
  }
1370
1362
  }
1371
1363
  }
1372
- }
1364
+ }
1373
1365
  @layer components.root {
1374
1366
  :where(hr) {
1375
1367
  background-color: var(--border-color);
1376
1368
  block-size: var(--border-size-1);
1377
1369
  margin-block: var(--size-fluid-3);
1378
1370
  }
1379
- }
1371
+ }
1380
1372
  @layer components.root {
1381
1373
  :where(.link) {
1382
1374
  color: var(--primary);
@@ -1397,7 +1389,7 @@ When you visibly want to hide an element but make it accessible for screen reade
1397
1389
  text-underline-offset: 2px;
1398
1390
  }
1399
1391
  }
1400
- }
1392
+ }
1401
1393
  @layer components.root {
1402
1394
  :where(table) {
1403
1395
  border-collapse: collapse;
@@ -1444,13 +1436,6 @@ When you visibly want to hide an element but make it accessible for screen reade
1444
1436
  text-align: start;
1445
1437
  }
1446
1438
 
1447
- /* Header */
1448
- thead {
1449
- position: sticky;
1450
- top: 0;
1451
- z-index: 1;
1452
- }
1453
-
1454
1439
  /* Footer */
1455
1440
  tfoot {
1456
1441
  border-top: 2px solid var(--border-color);
@@ -1504,7 +1489,7 @@ When you visibly want to hide an element but make it accessible for screen reade
1504
1489
  }
1505
1490
  }
1506
1491
  }
1507
- }
1492
+ }
1508
1493
  @layer components.root {
1509
1494
  :where(progress) {
1510
1495
  --_accent-color: var(--primary);
@@ -1587,7 +1572,7 @@ When you visibly want to hide an element but make it accessible for screen reade
1587
1572
  right: -8%;
1588
1573
  }
1589
1574
  }
1590
- }
1575
+ }
1591
1576
  @layer components.root {
1592
1577
  [aria-busy="true"]:not(
1593
1578
  input,
@@ -1625,7 +1610,7 @@ When you visibly want to hide an element but make it accessible for screen reade
1625
1610
  transform: rotate(1turn);
1626
1611
  }
1627
1612
  }
1628
- }
1613
+ }
1629
1614
  @layer components.root {
1630
1615
  label:where(.checkbox, .radio) {
1631
1616
  align-items: center;
@@ -1748,7 +1733,7 @@ When you visibly want to hide an element but make it accessible for screen reade
1748
1733
  }
1749
1734
  }
1750
1735
  }
1751
- }
1736
+ }
1752
1737
  @layer components.root {
1753
1738
  :where(.switch) {
1754
1739
  --_accent-color: var(--primary);
@@ -1937,7 +1922,7 @@ When you visibly want to hide an element but make it accessible for screen reade
1937
1922
  }
1938
1923
  }
1939
1924
  }
1940
- }
1925
+ }
1941
1926
  @layer components.root {
1942
1927
  :where(.range > input[type="range"]) {
1943
1928
  --thumb-bg: var(--primary);
@@ -2058,7 +2043,7 @@ When you visibly want to hide an element but make it accessible for screen reade
2058
2043
  }
2059
2044
  }
2060
2045
  }
2061
- }
2046
+ }
2062
2047
  @layer components.root {
2063
2048
  /* Base typography */
2064
2049
  :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
@@ -2267,8 +2252,8 @@ When you visibly want to hide an element but make it accessible for screen reade
2267
2252
  text-wrap: balance;
2268
2253
  }
2269
2254
  }
2270
- }
2271
- /*** Extended components (has dependencies) */
2255
+ }
2256
+ /*** Extended components (has dependencies) */
2272
2257
  @layer components.extended {
2273
2258
  :where([role="group"].button-group) {
2274
2259
  --_border-radius: var(--button-border-radius);
@@ -2337,7 +2322,7 @@ When you visibly want to hide an element but make it accessible for screen reade
2337
2322
  }
2338
2323
  }
2339
2324
  }
2340
- }
2325
+ }
2341
2326
  @layer components.extended {
2342
2327
  :where(details) {
2343
2328
  --_accordion-transition-time: 0.2s;
@@ -2509,7 +2494,7 @@ When you visibly want to hide an element but make it accessible for screen reade
2509
2494
  }
2510
2495
  }
2511
2496
  }
2512
- }
2497
+ }
2513
2498
  @layer components.extended {
2514
2499
  /*
2515
2500
  Lists meant to be used stand-alone or as part of Select elements
@@ -2826,7 +2811,7 @@ Lists meant to be used stand-alone or as part of Select elements
2826
2811
  }
2827
2812
  }
2828
2813
  }
2829
- }
2814
+ }
2830
2815
  @layer components.extended {
2831
2816
  :where(.alert) {
2832
2817
  --_bg-color: var(--surface-tonal);
@@ -2911,7 +2896,7 @@ Lists meant to be used stand-alone or as part of Select elements
2911
2896
  }
2912
2897
  }
2913
2898
  }
2914
- }
2899
+ }
2915
2900
  @layer components.extended {
2916
2901
  :where(dialog) {
2917
2902
  margin-block-start: 15%; /* vertical alignment */
@@ -2970,7 +2955,7 @@ Lists meant to be used stand-alone or as part of Select elements
2970
2955
  :where(html:has(dialog[open])) {
2971
2956
  overflow: hidden;
2972
2957
  }
2973
- }
2958
+ }
2974
2959
  @layer components.extended {
2975
2960
  :where(.snackbar) {
2976
2961
  align-items: center;
@@ -3118,7 +3103,7 @@ Lists meant to be used stand-alone or as part of Select elements
3118
3103
  }
3119
3104
  }
3120
3105
  }
3121
- }
3106
+ }
3122
3107
  @layer components.extended {
3123
3108
  /* Common styling for checkbox, radio and switch groups */
3124
3109
  :where(fieldset.field-group) {
@@ -3201,7 +3186,7 @@ Lists meant to be used stand-alone or as part of Select elements
3201
3186
  }
3202
3187
  }
3203
3188
  }
3204
- }
3189
+ }
3205
3190
  @layer components.extended {
3206
3191
  /*
3207
3192
  - Common styling for input, textarea and select
@@ -3695,7 +3680,7 @@ Lists meant to be used stand-alone or as part of Select elements
3695
3680
  }
3696
3681
  }
3697
3682
  }
3698
- }
3683
+ }
3699
3684
  @layer components.extended {
3700
3685
  :where(.field > select) {
3701
3686
  position: relative;
@@ -3858,7 +3843,7 @@ Lists meant to be used stand-alone or as part of Select elements
3858
3843
  ::picker(select) {
3859
3844
  appearance: base-select;
3860
3845
  }
3861
- }
3846
+ }
3862
3847
  @layer components.extended {
3863
3848
  :where(
3864
3849
  .field:has(
@@ -3915,7 +3900,7 @@ Lists meant to be used stand-alone or as part of Select elements
3915
3900
  translate: 0 -50%;
3916
3901
  }
3917
3902
  }
3918
- }
3903
+ }
3919
3904
  @layer components.extended {
3920
3905
  :where(.field:has(textarea)) {
3921
3906
  textarea {
@@ -3940,7 +3925,7 @@ Lists meant to be used stand-alone or as part of Select elements
3940
3925
  }
3941
3926
  }
3942
3927
  }
3943
- }
3928
+ }
3944
3929
  @layer components.extended {
3945
3930
  @scope (.rich-text) to (.not-rich-text) {
3946
3931
  a {
@@ -4150,6 +4135,168 @@ Lists meant to be used stand-alone or as part of Select elements
4150
4135
  }
4151
4136
  }
4152
4137
  }
4153
- }
4154
- /* Theme (example) */
4155
- /* @import "./theme.css"; */
4138
+ }
4139
+ /* Setup */
4140
+ /*
4141
+ theme one theme setup
4142
+ */
4143
+ @layer theme {
4144
+ .light {
4145
+ --color-scheme: light;
4146
+ }
4147
+ .dark {
4148
+ --color-scheme: dark;
4149
+ }
4150
+
4151
+ :where(html) {
4152
+ color-scheme: var(--color-scheme, light dark);
4153
+
4154
+ --palette-hue: var(--oklch-teal);
4155
+ --palette-hue-rotate-by: 5;
4156
+ --palette-chroma: 0.89;
4157
+
4158
+ /* Primary */
4159
+ --primary: var(--color-8);
4160
+ --primary-light: oklch(from var(--primary) calc(l * 1.25) c h);
4161
+ --primary-dark: oklch(from var(--primary) calc(l * 0.75) c h);
4162
+ --primary-contrast: var(--gray-1);
4163
+
4164
+ /* Text */
4165
+ --text-color-1: light-dark(var(--gray-15), var(--gray-1));
4166
+ --text-color-1-contrast: light-dark(var(--gray-2), var(--gray-15));
4167
+ --text-color-2: light-dark(var(--gray-13), var(--gray-4));
4168
+ --text-color-2-contrast: light-dark(var(--gray-4), var(--gray-13));
4169
+
4170
+ /* Surface */
4171
+ --surface-default: light-dark(var(--gray-1), var(--gray-13));
4172
+ --surface-filled: light-dark(var(--gray-3), var(--gray-15));
4173
+ --surface-tonal: light-dark(var(--gray-3), var(--gray-12));
4174
+ --surface-elevated: light-dark(var(--gray-1), var(--gray-12));
4175
+
4176
+ /* Shadows */
4177
+ --shadow-color: light-dark(220 3% 15%, 220 40% 2%);
4178
+ --shadow-strength: light-dark(1%, 10%);
4179
+ --inner-shadow-highlight: light-dark(
4180
+ inset 0 -0.5px 0 0 #fff,
4181
+ inset 0 0.5px 0 0 #0001,
4182
+ inset 0 -0.5px 0 0 #fff1,
4183
+ inset 0 0.5px 0 0 #0007
4184
+ );
4185
+
4186
+ /* Typography */
4187
+ --font-size-h1: var(--font-size-fluid-3, 3.5rem);
4188
+ --font-size-h2: var(--font-size-fluid-2, 2rem);
4189
+ --font-size-h3: var(--font-size-fluid-1, 1.5rem);
4190
+ --font-size-h4: var(--font-size-3, 1.25rem);
4191
+ --font-size-h5: var(--font-size-2, 1.1rem);
4192
+ --font-size-h6: var(--font-size-fluid-0, 1rem);
4193
+ --font-size-lg: var(--font-size-3, 1.25rem);
4194
+ --font-size-md: var(--font-size-fluid-0, 1rem);
4195
+ --font-size-sm: 0.875rem;
4196
+ --font-size-xs: var(--font-size-0, 0.75rem);
4197
+
4198
+ /* Borders */
4199
+ --border-color: light-dark(var(--gray-4), var(--gray-12));
4200
+ --border-radius: var(--size-1);
4201
+ --border-width: 1px;
4202
+
4203
+ /* Input Field */
4204
+ --field-border-color: var(--border-color);
4205
+ --field-border-radius: var(--size-1);
4206
+ --field-border-width: 1px;
4207
+ --field-size: 2.3lh;
4208
+ --field-size-small: 1.9lh;
4209
+
4210
+ /* Button */
4211
+ --button-border-radius: var(--radius-round);
4212
+ /* Ripple effect */
4213
+ @media (prefers-reduced-motion: no-preference) {
4214
+ --button-ripple-size: 100%;
4215
+ --button-ripple-duration: 0.5s;
4216
+ }
4217
+ }
4218
+
4219
+ /* Highlight colors */
4220
+ :where(.red, .error, del) {
4221
+ --palette-hue: var(--oklch-red, 25);
4222
+ --palette-chroma: 1;
4223
+ --palette-hue-rotate-by: 1;
4224
+ }
4225
+ :where(.blue, .ok, abbr, dfn) {
4226
+ --palette-hue: var(--oklch-blue, 210);
4227
+ --palette-chroma: 1;
4228
+ --palette-hue-rotate-by: 1;
4229
+ }
4230
+ :where(.green, .good, ins) {
4231
+ --palette-hue: var(--oklch-green, 145);
4232
+ --palette-chroma: 1;
4233
+ --palette-hue-rotate-by: 1;
4234
+ }
4235
+ :where(.orange, .warning) {
4236
+ --palette-hue: var(--oklch-orange, 75);
4237
+ --palette-chroma: 1;
4238
+ --palette-hue-rotate-by: 1;
4239
+ }
4240
+
4241
+ :where(html) {
4242
+ --red: oklch(from var(--color-9) l 0.2 25);
4243
+ --blue: oklch(from var(--color-9) l 0.2 210);
4244
+ --green: oklch(from var(--color-9) l 0.2 145);
4245
+ --orange: oklch(from var(--color-7) l 0.2 75);
4246
+ }
4247
+
4248
+ /* Gray palette */
4249
+ :where(html) {
4250
+ --gray-chroma: 0.01;
4251
+ --gray-lightness: 255;
4252
+
4253
+ --gray-1: oklch(
4254
+ from var(--color-1) l var(--gray-chroma) var(--gray-lightness)
4255
+ );
4256
+ --gray-2: oklch(
4257
+ from var(--color-2) l var(--gray-chroma) var(--gray-lightness)
4258
+ );
4259
+ --gray-3: oklch(
4260
+ from var(--color-3) l var(--gray-chroma) var(--gray-lightness)
4261
+ );
4262
+ --gray-4: oklch(
4263
+ from var(--color-4) l var(--gray-chroma) var(--gray-lightness)
4264
+ );
4265
+ --gray-5: oklch(
4266
+ from var(--color-5) l var(--gray-chroma) var(--gray-lightness)
4267
+ );
4268
+ --gray-6: oklch(
4269
+ from var(--color-6) l var(--gray-chroma) var(--gray-lightness)
4270
+ );
4271
+ --gray-7: oklch(
4272
+ from var(--color-7) l var(--gray-chroma) var(--gray-lightness)
4273
+ );
4274
+ --gray-8: oklch(
4275
+ from var(--color-8) l var(--gray-chroma) var(--gray-lightness)
4276
+ );
4277
+ --gray-9: oklch(
4278
+ from var(--color-9) l var(--gray-chroma) var(--gray-lightness)
4279
+ );
4280
+ --gray-10: oklch(
4281
+ from var(--color-10) l var(--gray-chroma) var(--gray-lightness)
4282
+ );
4283
+ --gray-11: oklch(
4284
+ from var(--color-11) l var(--gray-chroma) var(--gray-lightness)
4285
+ );
4286
+ --gray-12: oklch(
4287
+ from var(--color-12) l var(--gray-chroma) var(--gray-lightness)
4288
+ );
4289
+ --gray-13: oklch(
4290
+ from var(--color-13) l var(--gray-chroma) var(--gray-lightness)
4291
+ );
4292
+ --gray-14: oklch(
4293
+ from var(--color-14) l var(--gray-chroma) var(--gray-lightness)
4294
+ );
4295
+ --gray-15: oklch(
4296
+ from var(--color-15) l var(--gray-chroma) var(--gray-lightness)
4297
+ );
4298
+ --gray-16: oklch(
4299
+ from var(--color-16) l var(--gray-chroma) var(--gray-lightness)
4300
+ );
4301
+ }
4302
+ }