@djangocfg/ui-core 2.1.460 → 2.1.463

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 (46) hide show
  1. package/README.md +1 -1
  2. package/package.json +19 -11
  3. package/src/styles/README.md +74 -510
  4. package/src/styles/{base.css → css/base.css} +1 -1
  5. package/src/styles/css/presets/default.css +1 -0
  6. package/src/styles/css/presets/dense.css +36 -0
  7. package/src/styles/css/presets/django-cfg.css +44 -0
  8. package/src/styles/css/presets/high-contrast.css +24 -0
  9. package/src/styles/css/presets/ios.css +120 -0
  10. package/src/styles/css/presets/macos.css +138 -0
  11. package/src/styles/css/presets/soft.css +52 -0
  12. package/src/styles/css/presets/windows.css +140 -0
  13. package/src/styles/{utilities → css/utilities}/glass.css +16 -0
  14. package/src/styles/presets/index.ts +2 -15
  15. package/src/styles/presets/presets.ts +0 -3
  16. package/src/styles/presets/types.ts +4 -148
  17. package/src/theme/README.md +36 -64
  18. package/src/theme/TROUBLESHOOTING.md +4 -0
  19. package/src/styles/presets/build.ts +0 -64
  20. package/src/styles/presets/themes/default.ts +0 -6
  21. package/src/styles/presets/themes/dense.ts +0 -31
  22. package/src/styles/presets/themes/django-cfg.ts +0 -62
  23. package/src/styles/presets/themes/high-contrast.ts +0 -35
  24. package/src/styles/presets/themes/index.ts +0 -24
  25. package/src/styles/presets/themes/ios.ts +0 -114
  26. package/src/styles/presets/themes/macos.ts +0 -190
  27. package/src/styles/presets/themes/soft.ts +0 -48
  28. package/src/styles/presets/themes/types.ts +0 -6
  29. package/src/styles/presets/themes/windows.ts +0 -154
  30. /package/src/styles/{full.css → css/full.css} +0 -0
  31. /package/src/styles/{globals.css → css/globals.css} +0 -0
  32. /package/src/styles/{index.css → css/index.css} +0 -0
  33. /package/src/styles/{sources.css → css/sources.css} +0 -0
  34. /package/src/styles/{theme → css/theme}/animations.css +0 -0
  35. /package/src/styles/{theme → css/theme}/dark.css +0 -0
  36. /package/src/styles/{theme → css/theme}/light.css +0 -0
  37. /package/src/styles/{theme → css/theme}/tokens.css +0 -0
  38. /package/src/styles/{theme.css → css/theme.css} +0 -0
  39. /package/src/styles/{utilities → css/utilities}/animations.css +0 -0
  40. /package/src/styles/{utilities → css/utilities}/controls.css +0 -0
  41. /package/src/styles/{utilities → css/utilities}/display.css +0 -0
  42. /package/src/styles/{utilities → css/utilities}/divider.css +0 -0
  43. /package/src/styles/{utilities → css/utilities}/marquee.css +0 -0
  44. /package/src/styles/{utilities → css/utilities}/overlay.css +0 -0
  45. /package/src/styles/{utilities → css/utilities}/step.css +0 -0
  46. /package/src/styles/{utilities.css → css/utilities.css} +0 -0
@@ -0,0 +1,36 @@
1
+ /* Authoritative static preset: dense. */
2
+ :root {
3
+ --radius: 0.25rem;
4
+ --border: hsl(0 0% 82%);
5
+ --input: hsl(0 0% 82%);
6
+ --divider: hsl(0 0% 88%);
7
+ --muted: hsl(0 0% 94%);
8
+ --card: hsl(0 0% 100%);
9
+ --accent: hsl(0 0% 93%);
10
+ --radius-xs: calc(0.25rem - 6px);
11
+ --radius-sm: calc(0.25rem - 4px);
12
+ --radius-md: calc(0.25rem - 2px);
13
+ --radius-lg: 0.25rem;
14
+ --radius-xl: calc(0.25rem + 4px);
15
+ --radius-2xl: calc(0.25rem + 8px);
16
+ --radius-3xl: calc(0.25rem + 12px);
17
+ --radius-4xl: calc(0.25rem + 16px);
18
+ }
19
+
20
+ .dark {
21
+ --radius: 0.25rem;
22
+ --border: hsl(0 0% 24%);
23
+ --input: hsl(0 0% 24%);
24
+ --divider: hsl(0 0% 46% / 0.18);
25
+ --muted: hsl(0 0% 12%);
26
+ --card: hsl(0 0% 10%);
27
+ --accent: hsl(0 0% 14%);
28
+ --radius-xs: calc(0.25rem - 6px);
29
+ --radius-sm: calc(0.25rem - 4px);
30
+ --radius-md: calc(0.25rem - 2px);
31
+ --radius-lg: 0.25rem;
32
+ --radius-xl: calc(0.25rem + 4px);
33
+ --radius-2xl: calc(0.25rem + 8px);
34
+ --radius-3xl: calc(0.25rem + 12px);
35
+ --radius-4xl: calc(0.25rem + 16px);
36
+ }
@@ -0,0 +1,44 @@
1
+ /* Authoritative static preset: django-cfg. */
2
+ :root {
3
+ --primary: hsl(192 90% 35%);
4
+ --primary-foreground: hsl(0 0% 100%);
5
+ --accent: hsl(192 60% 94%);
6
+ --accent-foreground: hsl(192 90% 22%);
7
+ --ring: hsl(192 90% 40%);
8
+ --sidebar-primary: hsl(192 90% 35%);
9
+ --sidebar-primary-foreground: hsl(0 0% 100%);
10
+ --sidebar-accent: hsl(192 55% 93%);
11
+ --sidebar-accent-foreground: hsl(192 90% 22%);
12
+ --sidebar-ring: hsl(192 90% 40%);
13
+ --info: hsl(192 90% 35%);
14
+ --info-background: hsl(192 100% 96%);
15
+ --info-foreground: hsl(192 90% 22%);
16
+ --info-border: hsl(192 80% 78%);
17
+ --chart-1: hsl(192 90% 35%);
18
+ --chart-2: hsl(142 76% 36%);
19
+ --chart-3: hsl(262 83% 58%);
20
+ --chart-4: hsl(26 90% 57%);
21
+ --chart-5: hsl(346 77% 50%);
22
+ }
23
+
24
+ .dark {
25
+ --primary: hsl(189 100% 50%);
26
+ --primary-foreground: hsl(0 0% 9%);
27
+ --accent: hsl(189 40% 18%);
28
+ --accent-foreground: hsl(189 100% 78%);
29
+ --ring: hsl(189 100% 50%);
30
+ --sidebar-primary: hsl(189 100% 50%);
31
+ --sidebar-primary-foreground: hsl(0 0% 9%);
32
+ --sidebar-accent: hsl(189 35% 16%);
33
+ --sidebar-accent-foreground: hsl(189 100% 78%);
34
+ --sidebar-ring: hsl(189 100% 50%);
35
+ --info: hsl(189 100% 55%);
36
+ --info-background: hsl(189 70% 10%);
37
+ --info-foreground: hsl(189 90% 75%);
38
+ --info-border: hsl(189 50% 28%);
39
+ --chart-1: hsl(189 100% 50%);
40
+ --chart-2: hsl(142 76% 50%);
41
+ --chart-3: hsl(262 83% 65%);
42
+ --chart-4: hsl(26 90% 60%);
43
+ --chart-5: hsl(346 77% 58%);
44
+ }
@@ -0,0 +1,24 @@
1
+ /* Authoritative static preset: high-contrast. */
2
+ :root {
3
+ --background: hsl(0 0% 100%);
4
+ --foreground: hsl(0 0% 6%);
5
+ --card: hsl(0 0% 100%);
6
+ --card-foreground: hsl(0 0% 6%);
7
+ --border: hsl(0 0% 62%);
8
+ --input: hsl(0 0% 62%);
9
+ --divider: hsl(0 0% 68%);
10
+ --muted-foreground: hsl(0 0% 28%);
11
+ --ring: hsl(0 0% 12%);
12
+ }
13
+
14
+ .dark {
15
+ --background: hsl(0 0% 4%);
16
+ --foreground: hsl(0 0% 100%);
17
+ --card: hsl(0 0% 8%);
18
+ --card-foreground: hsl(0 0% 100%);
19
+ --border: hsl(0 0% 48%);
20
+ --input: hsl(0 0% 48%);
21
+ --divider: hsl(0 0% 42%);
22
+ --muted-foreground: hsl(0 0% 82%);
23
+ --ring: hsl(0 0% 92%);
24
+ }
@@ -0,0 +1,120 @@
1
+ /* Authoritative static preset: ios. */
2
+ :root {
3
+ --background: hsl(0 0% 98%);
4
+ --foreground: hsl(220 9% 12%);
5
+ --card: hsl(0 0% 100%);
6
+ --card-foreground: hsl(220 9% 12%);
7
+ --popover: hsl(0 0% 100%);
8
+ --popover-foreground: hsl(220 9% 12%);
9
+ --primary: hsl(211 100% 50%);
10
+ --primary-foreground: hsl(0 0% 100%);
11
+ --secondary: hsl(220 9% 92%);
12
+ --secondary-foreground: hsl(220 9% 12%);
13
+ --muted: hsl(220 9% 94%);
14
+ --muted-foreground: hsl(220 9% 40%);
15
+ --accent: hsl(220 9% 94%);
16
+ --accent-foreground: hsl(220 9% 12%);
17
+ --destructive: hsl(0 100% 58%);
18
+ --destructive-foreground: hsl(0 0% 100%);
19
+ --border: hsl(220 9% 85%);
20
+ --input: hsl(220 9% 88%);
21
+ --ring: hsl(211 100% 50%);
22
+ --divider: hsl(220 9% 88%);
23
+ --radius: 0.75rem;
24
+ --overlay: hsl(220 9% 10% / 0.32);
25
+ --sidebar-background: hsl(0 0% 99%);
26
+ --sidebar-foreground: hsl(220 9% 12%);
27
+ --sidebar-primary: hsl(211 100% 50%);
28
+ --sidebar-primary-foreground: hsl(0 0% 100%);
29
+ --sidebar-accent: hsl(220 9% 94%);
30
+ --sidebar-accent-foreground: hsl(220 9% 12%);
31
+ --sidebar-border: hsl(220 9% 88%);
32
+ --sidebar-ring: hsl(211 100% 50%);
33
+ --chart-1: hsl(211 100% 50%);
34
+ --chart-2: hsl(145 63% 42%);
35
+ --chart-3: hsl(262 83% 58%);
36
+ --chart-4: hsl(35 100% 50%);
37
+ --chart-5: hsl(346 77% 50%);
38
+ --warning: hsl(35 100% 50%);
39
+ --warning-background: hsl(35 100% 95%);
40
+ --warning-foreground: hsl(28 80% 30%);
41
+ --warning-border: hsl(35 90% 78%);
42
+ --success: hsl(145 63% 42%);
43
+ --success-background: hsl(145 60% 95%);
44
+ --success-foreground: hsl(145 60% 24%);
45
+ --success-border: hsl(145 55% 76%);
46
+ --destructive-background: hsl(0 100% 96%);
47
+ --destructive-border: hsl(0 90% 80%);
48
+ --info: hsl(211 100% 50%);
49
+ --info-background: hsl(211 100% 96%);
50
+ --info-foreground: hsl(211 80% 30%);
51
+ --info-border: hsl(211 90% 80%);
52
+ --radius-xs: calc(0.75rem - 6px);
53
+ --radius-sm: calc(0.75rem - 4px);
54
+ --radius-md: calc(0.75rem - 2px);
55
+ --radius-lg: 0.75rem;
56
+ --radius-xl: calc(0.75rem + 4px);
57
+ --radius-2xl: calc(0.75rem + 8px);
58
+ --radius-3xl: calc(0.75rem + 12px);
59
+ --radius-4xl: calc(0.75rem + 16px);
60
+ }
61
+
62
+ .dark {
63
+ --background: hsl(240 6% 10%);
64
+ --foreground: hsl(0 0% 96%);
65
+ --card: hsl(240 6% 16%);
66
+ --card-foreground: hsl(0 0% 96%);
67
+ --popover: hsl(240 6% 20%);
68
+ --popover-foreground: hsl(0 0% 96%);
69
+ --primary: hsl(211 100% 55%);
70
+ --primary-foreground: hsl(0 0% 100%);
71
+ --secondary: hsl(240 5% 26%);
72
+ --secondary-foreground: hsl(0 0% 96%);
73
+ --muted: hsl(240 5% 13%);
74
+ --muted-foreground: hsl(240 5% 64%);
75
+ --accent: hsl(240 5% 18%);
76
+ --accent-foreground: hsl(0 0% 96%);
77
+ --destructive: hsl(0 100% 67%);
78
+ --destructive-foreground: hsl(0 0% 100%);
79
+ --border: hsl(240 5% 27%);
80
+ --input: hsl(240 5% 22%);
81
+ --ring: hsl(211 100% 55%);
82
+ --divider: hsl(240 5% 48% / 0.18);
83
+ --radius: 0.75rem;
84
+ --overlay: hsl(0 0% 0% / 0.55);
85
+ --sidebar-background: hsl(240 6% 8%);
86
+ --sidebar-foreground: hsl(0 0% 96%);
87
+ --sidebar-primary: hsl(211 100% 55%);
88
+ --sidebar-primary-foreground: hsl(0 0% 100%);
89
+ --sidebar-accent: hsl(240 5% 16%);
90
+ --sidebar-accent-foreground: hsl(0 0% 96%);
91
+ --sidebar-border: hsl(240 5% 22%);
92
+ --sidebar-ring: hsl(211 100% 55%);
93
+ --chart-1: hsl(211 100% 55%);
94
+ --chart-2: hsl(145 65% 52%);
95
+ --chart-3: hsl(262 83% 65%);
96
+ --chart-4: hsl(35 100% 58%);
97
+ --chart-5: hsl(346 77% 58%);
98
+ --warning: hsl(35 100% 58%);
99
+ --warning-background: hsl(35 90% 10%);
100
+ --warning-foreground: hsl(35 100% 72%);
101
+ --warning-border: hsl(35 80% 28%);
102
+ --success: hsl(145 65% 52%);
103
+ --success-background: hsl(145 60% 9%);
104
+ --success-foreground: hsl(145 60% 70%);
105
+ --success-border: hsl(145 50% 26%);
106
+ --destructive-background: hsl(0 80% 11%);
107
+ --destructive-border: hsl(0 70% 30%);
108
+ --info: hsl(211 100% 55%);
109
+ --info-background: hsl(211 90% 11%);
110
+ --info-foreground: hsl(211 100% 74%);
111
+ --info-border: hsl(211 80% 30%);
112
+ --radius-xs: calc(0.75rem - 6px);
113
+ --radius-sm: calc(0.75rem - 4px);
114
+ --radius-md: calc(0.75rem - 2px);
115
+ --radius-lg: 0.75rem;
116
+ --radius-xl: calc(0.75rem + 4px);
117
+ --radius-2xl: calc(0.75rem + 8px);
118
+ --radius-3xl: calc(0.75rem + 12px);
119
+ --radius-4xl: calc(0.75rem + 16px);
120
+ }
@@ -0,0 +1,138 @@
1
+ /* Authoritative static preset: macos. */
2
+ :root {
3
+ --background: hsl(240 17% 97%);
4
+ --foreground: hsl(0 0% 7%);
5
+ --card: hsl(0 0% 100%);
6
+ --card-foreground: hsl(0 0% 7%);
7
+ --popover: hsl(0 0% 100%);
8
+ --popover-foreground: hsl(0 0% 7%);
9
+ --primary: hsl(211 100% 50%);
10
+ --primary-foreground: hsl(0 0% 100%);
11
+ --secondary: hsl(240 12% 95%);
12
+ --secondary-foreground: hsl(0 0% 7%);
13
+ --muted: hsl(240 8% 91%);
14
+ --muted-foreground: hsl(240 3% 44%);
15
+ --accent: hsl(211 50% 96%);
16
+ --accent-foreground: hsl(211 100% 36%);
17
+ --destructive: hsl(2 100% 59%);
18
+ --destructive-foreground: hsl(0 0% 100%);
19
+ --border: hsl(240 3% 78%);
20
+ --input: hsl(240 8% 93%);
21
+ --divider: hsl(240 4% 83%);
22
+ --ring: hsl(211 100% 50%);
23
+ --radius: 0.625rem;
24
+ --overlay: hsl(240 6% 10% / 0.32);
25
+ --sidebar-background: hsl(240 12% 94%);
26
+ --sidebar-foreground: hsl(0 0% 7%);
27
+ --sidebar-primary: hsl(211 100% 50%);
28
+ --sidebar-primary-foreground: hsl(0 0% 100%);
29
+ --sidebar-accent: hsl(211 50% 93%);
30
+ --sidebar-accent-foreground: hsl(211 100% 36%);
31
+ --sidebar-border: hsl(240 3% 82%);
32
+ --sidebar-ring: hsl(211 100% 50%);
33
+ --chart-1: hsl(211 100% 50%);
34
+ --chart-2: hsl(142 52% 40%);
35
+ --chart-3: hsl(262 60% 56%);
36
+ --chart-4: hsl(35 100% 48%);
37
+ --chart-5: hsl(2 100% 59%);
38
+ --warning: hsl(35 100% 48%);
39
+ --warning-background: hsl(35 100% 95%);
40
+ --warning-foreground: hsl(28 80% 30%);
41
+ --warning-border: hsl(35 90% 78%);
42
+ --success: hsl(142 71% 45%);
43
+ --success-background: hsl(142 60% 95%);
44
+ --success-foreground: hsl(142 60% 24%);
45
+ --success-border: hsl(142 55% 76%);
46
+ --destructive-background: hsl(2 100% 96%);
47
+ --destructive-border: hsl(2 90% 80%);
48
+ --info: hsl(211 100% 50%);
49
+ --info-background: hsl(211 100% 96%);
50
+ --info-foreground: hsl(211 80% 30%);
51
+ --info-border: hsl(211 90% 80%);
52
+ --font-sans: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
53
+ --font-mono: "SF Mono", ui-monospace, Menlo, "Courier New", monospace;
54
+ --font-size-base: 0.8125rem;
55
+ --font-size-sm: 0.75rem;
56
+ --font-size-xs: 0.6875rem;
57
+ --font-size-lg: 0.9375rem;
58
+ --font-size-xl: 1.0625rem;
59
+ --line-height-base: 1.47;
60
+ --letter-spacing-base: -0.022em;
61
+ --radius-xs: calc(0.625rem - 6px);
62
+ --radius-sm: calc(0.625rem - 4px);
63
+ --radius-md: calc(0.625rem - 2px);
64
+ --radius-lg: 0.625rem;
65
+ --radius-xl: calc(0.625rem + 4px);
66
+ --radius-2xl: calc(0.625rem + 8px);
67
+ --radius-3xl: calc(0.625rem + 12px);
68
+ --radius-4xl: calc(0.625rem + 16px);
69
+ }
70
+
71
+ .dark {
72
+ --background: hsl(240 5% 8%);
73
+ --foreground: hsl(0 0% 95%);
74
+ --card: hsl(240 3% 15%);
75
+ --card-foreground: hsl(0 0% 95%);
76
+ --popover: hsl(240 3% 20%);
77
+ --popover-foreground: hsl(0 0% 95%);
78
+ --primary: hsl(211 100% 58%);
79
+ --primary-foreground: hsl(0 0% 100%);
80
+ --secondary: hsl(240 3% 20%);
81
+ --secondary-foreground: hsl(0 0% 88%);
82
+ --muted: hsl(240 3% 11%);
83
+ --muted-foreground: hsl(240 4% 58%);
84
+ --accent: hsl(211 25% 19%);
85
+ --accent-foreground: hsl(211 100% 72%);
86
+ --destructive: hsl(3 100% 62%);
87
+ --destructive-foreground: hsl(0 0% 100%);
88
+ --border: hsl(240 3% 22%);
89
+ --input: hsl(240 3% 22%);
90
+ --divider: hsl(240 4% 46% / 0.18);
91
+ --ring: hsl(211 100% 58%);
92
+ --radius: 0.625rem;
93
+ --overlay: hsl(0 0% 0% / 0.55);
94
+ --sidebar-background: hsl(240 5% 5%);
95
+ --sidebar-foreground: hsl(0 0% 90%);
96
+ --sidebar-primary: hsl(211 100% 58%);
97
+ --sidebar-primary-foreground: hsl(0 0% 100%);
98
+ --sidebar-accent: hsl(211 22% 16%);
99
+ --sidebar-accent-foreground: hsl(211 100% 72%);
100
+ --sidebar-border: hsl(240 3% 22%);
101
+ --sidebar-ring: hsl(211 100% 58%);
102
+ --chart-1: hsl(211 100% 58%);
103
+ --chart-2: hsl(142 52% 50%);
104
+ --chart-3: hsl(262 60% 65%);
105
+ --chart-4: hsl(35 100% 56%);
106
+ --chart-5: hsl(3 100% 62%);
107
+ --warning: hsl(35 100% 56%);
108
+ --warning-background: hsl(35 70% 10%);
109
+ --warning-foreground: hsl(35 95% 70%);
110
+ --warning-border: hsl(35 50% 26%);
111
+ --success: hsl(142 60% 50%);
112
+ --success-background: hsl(142 50% 9%);
113
+ --success-foreground: hsl(142 65% 68%);
114
+ --success-border: hsl(142 40% 24%);
115
+ --destructive-background: hsl(3 70% 11%);
116
+ --destructive-border: hsl(3 55% 30%);
117
+ --info: hsl(211 100% 58%);
118
+ --info-background: hsl(211 70% 11%);
119
+ --info-foreground: hsl(211 90% 72%);
120
+ --info-border: hsl(211 50% 30%);
121
+ --font-sans: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
122
+ --font-mono: "SF Mono", ui-monospace, Menlo, "Courier New", monospace;
123
+ --font-size-base: 0.8125rem;
124
+ --font-size-sm: 0.75rem;
125
+ --font-size-xs: 0.6875rem;
126
+ --font-size-lg: 0.9375rem;
127
+ --font-size-xl: 1.0625rem;
128
+ --line-height-base: 1.47;
129
+ --letter-spacing-base: -0.022em;
130
+ --radius-xs: calc(0.625rem - 6px);
131
+ --radius-sm: calc(0.625rem - 4px);
132
+ --radius-md: calc(0.625rem - 2px);
133
+ --radius-lg: 0.625rem;
134
+ --radius-xl: calc(0.625rem + 4px);
135
+ --radius-2xl: calc(0.625rem + 8px);
136
+ --radius-3xl: calc(0.625rem + 12px);
137
+ --radius-4xl: calc(0.625rem + 16px);
138
+ }
@@ -0,0 +1,52 @@
1
+ /* Authoritative static preset: soft. */
2
+ :root {
3
+ --background: hsl(0 0% 98%);
4
+ --foreground: hsl(240 6% 10%);
5
+ --card: hsl(0 0% 100%);
6
+ --card-foreground: hsl(240 6% 10%);
7
+ --muted: hsl(240 5% 96%);
8
+ --muted-foreground: hsl(240 4% 46%);
9
+ --accent: hsl(240 5% 94%);
10
+ --accent-foreground: hsl(240 6% 10%);
11
+ --border: hsl(240 5% 91%);
12
+ --input: hsl(240 5% 91%);
13
+ --divider: hsl(240 5% 93%);
14
+ --radius: 1rem;
15
+ --sidebar-background: hsl(0 0% 99%);
16
+ --sidebar-accent: hsl(240 5% 94%);
17
+ --sidebar-border: hsl(240 5% 91%);
18
+ --radius-xs: calc(1rem - 6px);
19
+ --radius-sm: calc(1rem - 4px);
20
+ --radius-md: calc(1rem - 2px);
21
+ --radius-lg: 1rem;
22
+ --radius-xl: calc(1rem + 4px);
23
+ --radius-2xl: calc(1rem + 8px);
24
+ --radius-3xl: calc(1rem + 12px);
25
+ --radius-4xl: calc(1rem + 16px);
26
+ }
27
+
28
+ .dark {
29
+ --background: hsl(240 6% 8%);
30
+ --foreground: hsl(0 0% 96%);
31
+ --card: hsl(240 5% 12%);
32
+ --card-foreground: hsl(0 0% 96%);
33
+ --muted: hsl(240 4% 16%);
34
+ --muted-foreground: hsl(240 5% 64%);
35
+ --accent: hsl(240 5% 16%);
36
+ --accent-foreground: hsl(0 0% 96%);
37
+ --border: hsl(240 5% 20%);
38
+ --input: hsl(240 5% 20%);
39
+ --divider: hsl(240 5% 48% / 0.18);
40
+ --radius: 1rem;
41
+ --sidebar-background: hsl(240 6% 6%);
42
+ --sidebar-accent: hsl(240 5% 14%);
43
+ --sidebar-border: hsl(240 5% 20%);
44
+ --radius-xs: calc(1rem - 6px);
45
+ --radius-sm: calc(1rem - 4px);
46
+ --radius-md: calc(1rem - 2px);
47
+ --radius-lg: 1rem;
48
+ --radius-xl: calc(1rem + 4px);
49
+ --radius-2xl: calc(1rem + 8px);
50
+ --radius-3xl: calc(1rem + 12px);
51
+ --radius-4xl: calc(1rem + 16px);
52
+ }
@@ -0,0 +1,140 @@
1
+ /* Authoritative static preset: windows. */
2
+ :root {
3
+ --background: hsl(0 0% 95%);
4
+ --foreground: hsl(0 0% 9%);
5
+ --card: hsl(0 0% 100%);
6
+ --card-foreground: hsl(0 0% 9%);
7
+ --popover: hsl(0 0% 100%);
8
+ --popover-foreground: hsl(0 0% 9%);
9
+ --primary: hsl(210 100% 38%);
10
+ --primary-foreground: hsl(0 0% 100%);
11
+ --secondary: hsl(0 0% 94%);
12
+ --secondary-foreground: hsl(0 0% 9%);
13
+ --muted: hsl(0 0% 92%);
14
+ --muted-foreground: hsl(0 0% 42%);
15
+ --accent: hsl(210 60% 94%);
16
+ --accent-foreground: hsl(210 100% 28%);
17
+ --destructive: hsl(0 90% 55%);
18
+ --destructive-foreground: hsl(0 0% 100%);
19
+ --border: hsl(0 0% 87%);
20
+ --input: hsl(0 0% 90%);
21
+ --divider: hsl(0 0% 84%);
22
+ --ring: hsl(210 100% 45%);
23
+ --overlay: hsl(0 0% 0% / 0.4);
24
+ --radius: 0.375rem;
25
+ --sidebar-background: hsl(0 0% 92%);
26
+ --sidebar-foreground: hsl(0 0% 9%);
27
+ --sidebar-primary: hsl(210 100% 38%);
28
+ --sidebar-primary-foreground: hsl(0 0% 100%);
29
+ --sidebar-accent: hsl(210 50% 93%);
30
+ --sidebar-accent-foreground: hsl(210 100% 28%);
31
+ --sidebar-border: hsl(0 0% 86%);
32
+ --sidebar-ring: hsl(210 100% 45%);
33
+ --chart-1: hsl(210 100% 38%);
34
+ --chart-2: hsl(145 63% 38%);
35
+ --chart-3: hsl(262 83% 55%);
36
+ --chart-4: hsl(35 100% 48%);
37
+ --chart-5: hsl(346 77% 50%);
38
+ --warning: hsl(38 92% 50%);
39
+ --warning-background: hsl(38 100% 95%);
40
+ --warning-foreground: hsl(30 80% 28%);
41
+ --warning-border: hsl(38 85% 78%);
42
+ --success: hsl(120 78% 27%);
43
+ --success-background: hsl(120 55% 95%);
44
+ --success-foreground: hsl(120 60% 28%);
45
+ --success-border: hsl(120 45% 78%);
46
+ --destructive-background: hsl(0 90% 96%);
47
+ --destructive-border: hsl(0 85% 78%);
48
+ --info: hsl(210 100% 38%);
49
+ --info-background: hsl(210 100% 95%);
50
+ --info-foreground: hsl(210 90% 28%);
51
+ --info-border: hsl(210 80% 78%);
52
+ --on-success: hsl(0 0% 100%);
53
+ --on-info: hsl(0 0% 100%);
54
+ --font-sans: "Segoe UI Variable", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
55
+ --font-mono: "Cascadia Code", "Cascadia Mono", Consolas, "Courier New", monospace;
56
+ --font-size-base: 0.875rem;
57
+ --font-size-sm: 0.8125rem;
58
+ --font-size-xs: 0.75rem;
59
+ --font-size-lg: 1rem;
60
+ --font-size-xl: 1.125rem;
61
+ --line-height-base: 1.5;
62
+ --letter-spacing-base: 0em;
63
+ --radius-xs: calc(0.375rem - 6px);
64
+ --radius-sm: calc(0.375rem - 4px);
65
+ --radius-md: calc(0.375rem - 2px);
66
+ --radius-lg: 0.375rem;
67
+ --radius-xl: calc(0.375rem + 4px);
68
+ --radius-2xl: calc(0.375rem + 8px);
69
+ --radius-3xl: calc(0.375rem + 12px);
70
+ --radius-4xl: calc(0.375rem + 16px);
71
+ }
72
+
73
+ .dark {
74
+ --background: hsl(0 0% 13%);
75
+ --foreground: hsl(0 0% 96%);
76
+ --card: hsl(0 0% 17%);
77
+ --card-foreground: hsl(0 0% 96%);
78
+ --popover: hsl(0 0% 20%);
79
+ --popover-foreground: hsl(0 0% 96%);
80
+ --primary: hsl(200 100% 69%);
81
+ --primary-foreground: hsl(0 0% 9%);
82
+ --secondary: hsl(0 0% 22%);
83
+ --secondary-foreground: hsl(0 0% 90%);
84
+ --muted: hsl(0 0% 15%);
85
+ --muted-foreground: hsl(0 0% 62%);
86
+ --accent: hsl(210 25% 20%);
87
+ --accent-foreground: hsl(200 100% 75%);
88
+ --destructive: hsl(0 90% 62%);
89
+ --destructive-foreground: hsl(0 0% 100%);
90
+ --border: hsl(0 0% 28%);
91
+ --input: hsl(0 0% 24%);
92
+ --divider: hsl(0 0% 46% / 0.18);
93
+ --ring: hsl(200 100% 69%);
94
+ --overlay: hsl(0 0% 0% / 0.55);
95
+ --radius: 0.375rem;
96
+ --sidebar-background: hsl(0 0% 10%);
97
+ --sidebar-foreground: hsl(0 0% 90%);
98
+ --sidebar-primary: hsl(200 100% 69%);
99
+ --sidebar-primary-foreground: hsl(0 0% 9%);
100
+ --sidebar-accent: hsl(210 20% 18%);
101
+ --sidebar-accent-foreground: hsl(200 100% 75%);
102
+ --sidebar-border: hsl(0 0% 22%);
103
+ --sidebar-ring: hsl(200 100% 69%);
104
+ --chart-1: hsl(200 100% 69%);
105
+ --chart-2: hsl(145 65% 50%);
106
+ --chart-3: hsl(262 83% 65%);
107
+ --chart-4: hsl(35 100% 58%);
108
+ --chart-5: hsl(346 77% 58%);
109
+ --warning: hsl(38 95% 58%);
110
+ --warning-background: hsl(38 60% 10%);
111
+ --warning-foreground: hsl(38 90% 72%);
112
+ --warning-border: hsl(38 50% 28%);
113
+ --success: hsl(120 60% 55%);
114
+ --success-background: hsl(120 40% 10%);
115
+ --success-foreground: hsl(120 55% 72%);
116
+ --success-border: hsl(120 35% 28%);
117
+ --destructive-background: hsl(0 60% 11%);
118
+ --destructive-border: hsl(0 50% 30%);
119
+ --info: hsl(200 100% 69%);
120
+ --info-background: hsl(200 60% 11%);
121
+ --info-foreground: hsl(200 90% 74%);
122
+ --info-border: hsl(200 50% 30%);
123
+ --font-sans: "Segoe UI Variable", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
124
+ --font-mono: "Cascadia Code", "Cascadia Mono", Consolas, "Courier New", monospace;
125
+ --font-size-base: 0.875rem;
126
+ --font-size-sm: 0.8125rem;
127
+ --font-size-xs: 0.75rem;
128
+ --font-size-lg: 1rem;
129
+ --font-size-xl: 1.125rem;
130
+ --line-height-base: 1.5;
131
+ --letter-spacing-base: 0em;
132
+ --radius-xs: calc(0.375rem - 6px);
133
+ --radius-sm: calc(0.375rem - 4px);
134
+ --radius-md: calc(0.375rem - 2px);
135
+ --radius-lg: 0.375rem;
136
+ --radius-xl: calc(0.375rem + 4px);
137
+ --radius-2xl: calc(0.375rem + 8px);
138
+ --radius-3xl: calc(0.375rem + 12px);
139
+ --radius-4xl: calc(0.375rem + 16px);
140
+ }
@@ -55,3 +55,19 @@
55
55
  -webkit-backdrop-filter: blur(8px) saturate(160%);
56
56
  background-color: color-mix(in oklab, var(--background) 80%, transparent);
57
57
  }
58
+
59
+ /**
60
+ * PublicLayout desktop navigation dropdown.
61
+ * Keep this as a package utility instead of relying on a consumer's Tailwind
62
+ * source scan: the layout is distributed code, while the dropdown must still
63
+ * frost whatever page is underneath it.
64
+ */
65
+ .nav-dropdown-glass {
66
+ backdrop-filter: blur(var(--overlay-blur, 5px)) saturate(150%);
67
+ -webkit-backdrop-filter: blur(var(--overlay-blur, 5px)) saturate(150%);
68
+ background-color: color-mix(in oklab, var(--background) 55%, transparent);
69
+ }
70
+
71
+ .dark .nav-dropdown-glass {
72
+ background-color: color-mix(in oklab, var(--card) 55%, transparent);
73
+ }
@@ -1,16 +1,3 @@
1
- export type {
2
- ThemeCssVarChartKey,
3
- ThemeCssVarChromeKey,
4
- ThemeCssVarColorKey,
5
- ThemeCssVarKey,
6
- ThemeCssVarMap,
7
- ThemeCssVarSidebarKey,
8
- ThemeCssVarStatusKey,
9
- ThemeCssVarTypographyKey,
10
- ThemeStyleConfig,
11
- ThemeStylePresetId,
12
- } from './types';
1
+ export type { ThemeStylePresetId } from './types';
13
2
 
14
- export { THEME_STYLE_PRESETS, THEME_STYLE_PRESET_ORDER } from './presets';
15
-
16
- export { buildThemeStyleSheet } from './build';
3
+ export { THEME_STYLE_PRESET_ORDER } from './presets';
@@ -1,5 +1,4 @@
1
1
  import type { ThemeStylePresetId } from './types';
2
- import { THEME_PRESETS } from './themes';
3
2
 
4
3
  export const THEME_STYLE_PRESET_ORDER = [
5
4
  'default',
@@ -11,5 +10,3 @@ export const THEME_STYLE_PRESET_ORDER = [
11
10
  'dense',
12
11
  'high-contrast',
13
12
  ] as const satisfies readonly ThemeStylePresetId[];
14
-
15
- export const THEME_STYLE_PRESETS = THEME_PRESETS;