@ecopages/radiant-themes 0.3.2 → 0.3.4

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 (50) hide show
  1. package/README.md +17 -1
  2. package/dist/compiled/themes/cloudflare/compact.css +19 -0
  3. package/dist/compiled/themes/cloudflare.css +19 -0
  4. package/dist/compiled/themes/github/compact.css +23 -2
  5. package/dist/compiled/themes/github.css +23 -2
  6. package/dist/compiled/themes/high-contrast/compact.css +28 -4
  7. package/dist/compiled/themes/high-contrast.css +28 -4
  8. package/dist/compiled/themes/macos/compact.css +28 -4
  9. package/dist/compiled/themes/macos-classic/compact.css +39 -4
  10. package/dist/compiled/themes/macos-classic.css +39 -4
  11. package/dist/compiled/themes/macos.css +28 -4
  12. package/dist/compiled/themes/material/compact.css +27 -4
  13. package/dist/compiled/themes/material.css +27 -4
  14. package/dist/compiled/themes/vercel/compact.css +44 -11
  15. package/dist/compiled/themes/vercel.css +44 -11
  16. package/dist/compiled/themes/vscode/compact.css +28 -4
  17. package/dist/compiled/themes/vscode.css +28 -4
  18. package/dist/compiled/themes/windows95/compact.css +42 -5
  19. package/dist/compiled/themes/windows95.css +42 -5
  20. package/dist/compiled/themes/zed/compact.css +1204 -0
  21. package/dist/compiled/themes/zed.css +1187 -0
  22. package/dist/foundation.css +2 -2
  23. package/dist/themes/zed/compact.css +2 -0
  24. package/dist/themes/zed.css +4 -0
  25. package/dist/tokens/colors/github.css +4 -2
  26. package/dist/tokens/colors/high-contrast.css +4 -2
  27. package/dist/tokens/colors/macos-classic.css +4 -2
  28. package/dist/tokens/colors/macos.css +6 -3
  29. package/dist/tokens/colors/material.css +4 -2
  30. package/dist/tokens/colors/vercel.css +4 -2
  31. package/dist/tokens/colors/vscode.css +4 -2
  32. package/dist/tokens/colors/windows95.css +4 -2
  33. package/dist/tokens/colors/zed.css +54 -0
  34. package/dist/tokens/components/high-contrast.css +1 -0
  35. package/dist/tokens/components/macos-classic.css +14 -1
  36. package/dist/tokens/components/macos.css +1 -0
  37. package/dist/tokens/components/material.css +0 -1
  38. package/dist/tokens/components/vercel.css +24 -7
  39. package/dist/tokens/components/vscode.css +5 -2
  40. package/dist/tokens/components/windows95.css +16 -1
  41. package/dist/tokens/components/zed.css +440 -0
  42. package/dist/tokens/roles/high-contrast.css +4 -2
  43. package/dist/tokens/roles/macos-classic.css +4 -2
  44. package/dist/tokens/roles/macos.css +4 -2
  45. package/dist/tokens/roles/material.css +4 -2
  46. package/dist/tokens/roles/vercel.css +4 -2
  47. package/dist/tokens/roles/vscode.css +4 -2
  48. package/dist/tokens/roles/windows95.css +4 -2
  49. package/dist/tokens/roles/zed.css +153 -0
  50. package/package.json +15 -3
@@ -1,6 +1,6 @@
1
1
  @import '@ecopages/radiant-ui/tokens/foundation';
2
- @import '@ecopages/radiant-ui/tokens/spacing/default';
3
- @import '@ecopages/radiant-ui/tokens/radius/default';
2
+ @import '@ecopages/radiant-ui/tokens/spacing/comfortable';
3
+ @import '@ecopages/radiant-ui/tokens/radius/soft';
4
4
 
5
5
  /**
6
6
  * @remarks The input inside an input group sits on the group's fill and frame, so no theme's field styling may give it
@@ -0,0 +1,2 @@
1
+ @import '../zed.css';
2
+ @import '@ecopages/radiant-ui/tokens/spacing/compact';
@@ -0,0 +1,4 @@
1
+ @import '../foundation.css';
2
+ @import '../tokens/colors/zed.css';
3
+ @import '../tokens/roles/zed.css';
4
+ @import '../tokens/components/zed.css';
@@ -2,7 +2,8 @@
2
2
  * Primer functional colors: `bgColor`, `fgColor`, `borderColor`, the accent family for selection and focus, and the
3
3
  * primary and default button fills.
4
4
  */
5
- :where(:root), :root[data-rui-theme='github'] {
5
+ :where(:root),
6
+ :root[data-rui-theme='github'] {
6
7
  --color-github-white: #ffffff;
7
8
  --color-github-canvas: #ffffff;
8
9
  --color-github-subtle: #f6f8fa;
@@ -33,7 +34,8 @@
33
34
  --color-github-knob-border: #818b98;
34
35
  }
35
36
 
36
- :where(.dark), :root.dark[data-rui-theme='github'] {
37
+ :where(.dark),
38
+ :root.dark[data-rui-theme='github'] {
37
39
  --color-github-white: #f0f6fc;
38
40
  --color-github-canvas: #0d1117;
39
41
  --color-github-subtle: #151b23;
@@ -1,4 +1,5 @@
1
- :where(:root), :root[data-rui-theme='high-contrast'] {
1
+ :where(:root),
2
+ :root[data-rui-theme='high-contrast'] {
2
3
  --contrast-canvas: #ffffff;
3
4
  --contrast-surface: #ffffff;
4
5
  --contrast-container: #f2f2f2;
@@ -19,7 +20,8 @@
19
20
  --contrast-focus: #0000a8;
20
21
  }
21
22
 
22
- :where(.dark), :root.dark[data-rui-theme='high-contrast'] {
23
+ :where(.dark),
24
+ :root.dark[data-rui-theme='high-contrast'] {
23
25
  --contrast-canvas: #000000;
24
26
  --contrast-surface: #000000;
25
27
  --contrast-container: #1a1a1a;
@@ -3,7 +3,8 @@
3
3
  * Human Interface Guidelines and the Appearance Manager's default theme: system greys #eeeeee, #dddddd, #cccccc,
4
4
  * #aaaaaa, #808080, #393939, #202020, with the default blue accent #6666cc.
5
5
  */
6
- :where(:root), :root[data-rui-theme='macos-classic'] {
6
+ :where(:root),
7
+ :root[data-rui-theme='macos-classic'] {
7
8
  --macos-classic-canvas: #dddddd;
8
9
  --macos-classic-surface: #dddddd;
9
10
  --macos-classic-container: #cccccc;
@@ -32,7 +33,8 @@
32
33
  * @remarks Mac OS 8 and 9 had no dark appearance. This scheme keeps Platinum's black frames, bevels, and striped title
33
34
  * bars on darker faces and fields.
34
35
  */
35
- :where(.dark), :root.dark[data-rui-theme='macos-classic'] {
36
+ :where(.dark),
37
+ :root.dark[data-rui-theme='macos-classic'] {
36
38
  --macos-classic-canvas: #262626;
37
39
  --macos-classic-surface: #2e2e2e;
38
40
  --macos-classic-container: #3a3a3a;
@@ -6,7 +6,8 @@
6
6
  * @remarks AppKit's translucent label colors are flattened onto their usual backgrounds. Status hues use Apple's
7
7
  * increased-contrast variants (`#d70015`, `#248a3d`, `#b25000`) where the standard hue cannot carry text at 4.5:1.
8
8
  */
9
- :where(:root), :root[data-rui-theme='macos'] {
9
+ :where(:root),
10
+ :root[data-rui-theme='macos'] {
10
11
  --macos-canvas: #ececec;
11
12
  --macos-surface: #ffffff;
12
13
  --macos-subtle: #e3e3e3;
@@ -34,10 +35,12 @@
34
35
  --macos-purple: #8944ab;
35
36
  --macos-control-shadow:
36
37
  0 0 0 0.5px rgb(0 0 0 / 0.16), 0 0.5px 1px rgb(0 0 0 / 0.22), 0 1px 1.5px -0.5px rgb(0 0 0 / 0.1);
37
- --macos-menu-shadow: 0 0 0 0.5px var(--macos-elevated-edge), 0 10px 30px rgb(0 0 0 / 0.2), 0 2px 6px rgb(0 0 0 / 0.1);
38
+ --macos-menu-shadow:
39
+ 0 0 0 0.5px var(--macos-elevated-edge), 0 10px 30px rgb(0 0 0 / 0.2), 0 2px 6px rgb(0 0 0 / 0.1);
38
40
  }
39
41
 
40
- :where(.dark), :root.dark[data-rui-theme='macos'] {
42
+ :where(.dark),
43
+ :root.dark[data-rui-theme='macos'] {
41
44
  --macos-canvas: #323232;
42
45
  --macos-surface: #1e1e1e;
43
46
  --macos-subtle: #3d3d3d;
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Material 3 baseline scheme (source color #6750a4), light and dark.
3
3
  */
4
- :where(:root), :root[data-rui-theme='material'] {
4
+ :where(:root),
5
+ :root[data-rui-theme='material'] {
5
6
  --material-primary: #6750a4;
6
7
  --material-on-primary: #ffffff;
7
8
  --material-primary-container: #eaddff;
@@ -33,7 +34,8 @@
33
34
  --material-outline-variant: #cac4d0;
34
35
  }
35
36
 
36
- :where(.dark), :root.dark[data-rui-theme='material'] {
37
+ :where(.dark),
38
+ :root.dark[data-rui-theme='material'] {
37
39
  --material-primary: #d0bcff;
38
40
  --material-on-primary: #381e72;
39
41
  --material-primary-container: #4f378b;
@@ -2,7 +2,8 @@
2
2
  * Geist colors: Background 1 and 2, component fills (Colors 1-3), borders (Colors 4-6), high-contrast fills (Colors
3
3
  * 7-8), and text (Colors 9-10), with Geist's near-black #171717 and near-white #ededed in place of pure black and white.
4
4
  */
5
- :where(:root), :root[data-rui-theme='vercel'] {
5
+ :where(:root),
6
+ :root[data-rui-theme='vercel'] {
6
7
  --color-vercel-gray-50: #fafafa;
7
8
  --color-vercel-gray-100: #f2f2f2;
8
9
  --color-vercel-gray-200: #ebebeb;
@@ -38,7 +39,8 @@
38
39
  --color-vercel-text-primary: #171717;
39
40
  }
40
41
 
41
- :where(.dark), :root.dark[data-rui-theme='vercel'] {
42
+ :where(.dark),
43
+ :root.dark[data-rui-theme='vercel'] {
42
44
  --color-vercel-gray-50: #1a1a1a;
43
45
  --color-vercel-gray-100: #1f1f1f;
44
46
  --color-vercel-gray-200: #292929;
@@ -2,7 +2,8 @@
2
2
  * Light Modern and Dark Modern workbench colors: editor, side bar, widget, input, button, list, menu, badge, and
3
3
  * scrollbar slider values.
4
4
  */
5
- :where(:root), :root[data-rui-theme='vscode'] {
5
+ :where(:root),
6
+ :root[data-rui-theme='vscode'] {
6
7
  --color-vscode-canvas: #ffffff;
7
8
  --color-vscode-subtle: #f8f8f8;
8
9
  --color-vscode-muted: #ececec;
@@ -38,7 +39,8 @@
38
39
  --color-vscode-scrollbar-active: rgb(0 0 0 / 60%);
39
40
  }
40
41
 
41
- :where(.dark), :root.dark[data-rui-theme='vscode'] {
42
+ :where(.dark),
43
+ :root.dark[data-rui-theme='vscode'] {
42
44
  --color-vscode-canvas: #1f1f1f;
43
45
  --color-vscode-subtle: #181818;
44
46
  --color-vscode-muted: #2b2b2b;
@@ -1,4 +1,5 @@
1
- :where(:root), :root[data-rui-theme='windows95'] {
1
+ :where(:root),
2
+ :root[data-rui-theme='windows95'] {
2
3
  --windows95-canvas: #c0c0c0;
3
4
  --windows95-face: #c0c0c0;
4
5
  --windows95-light: #ffffff;
@@ -25,7 +26,8 @@
25
26
  * button face, in the spirit of the custom color schemes Windows offered: light and highlight edges stay above the
26
27
  * face and shadow and dark edges below it, so raised and sunken controls still read as relief instead of outlines.
27
28
  */
28
- :where(.dark), :root.dark[data-rui-theme='windows95'] {
29
+ :where(.dark),
30
+ :root.dark[data-rui-theme='windows95'] {
29
31
  --windows95-canvas: #2b2b2b;
30
32
  --windows95-face: #3a3a3a;
31
33
  --windows95-light: #8a8a8a;
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Zed One Light and One Dark: editor background, panel and elevated surfaces, borders, text, and the syntax-derived
3
+ * accents. The accent blue is used as a tint, so `--color-zed-accent-solid` is a deeper blue that carries white text on
4
+ * filled buttons and `--color-zed-accent` is the editor blue used for focus, links and selection fills.
5
+ */
6
+ :where(:root),
7
+ :root[data-rui-theme='zed'] {
8
+ --color-zed-background: #fafafa;
9
+ --color-zed-panel: #ebebec;
10
+ --color-zed-elevated: #dcdcdd;
11
+ --color-zed-border: #c9c9ca;
12
+ --color-zed-border-subtle: #dcdcdd;
13
+ --color-zed-border-strong: #8a8a90;
14
+ --color-zed-text: #383a41;
15
+ --color-zed-text-muted: #5d5f68;
16
+
17
+ --color-zed-accent: #5c78e2;
18
+ --color-zed-accent-solid: #4a62cf;
19
+ --color-zed-accent-hover: #3f56bd;
20
+ --color-zed-accent-text: #3b55c4;
21
+ --color-zed-green: #669f59;
22
+ --color-zed-red: #d36151;
23
+ --color-zed-amber: #dec184;
24
+ --color-zed-purple: #a449ab;
25
+ --color-zed-teal: #3882b7;
26
+
27
+ --color-zed-hover: color-mix(in srgb, var(--color-zed-accent) 10%, transparent);
28
+ --color-zed-selected: color-mix(in srgb, var(--color-zed-accent) 15%, transparent);
29
+ }
30
+
31
+ :where(.dark),
32
+ :root.dark[data-rui-theme='zed'] {
33
+ --color-zed-background: #282c33;
34
+ --color-zed-panel: #2f343e;
35
+ --color-zed-elevated: #363c46;
36
+ --color-zed-border: #464b57;
37
+ --color-zed-border-subtle: #363c46;
38
+ --color-zed-border-strong: #7d8392;
39
+ --color-zed-text: #dce0e5;
40
+ --color-zed-text-muted: #a9afbc;
41
+
42
+ --color-zed-accent: #74ade8;
43
+ --color-zed-accent-solid: #74ade8;
44
+ --color-zed-accent-hover: #8bbcee;
45
+ --color-zed-accent-text: #74ade8;
46
+ --color-zed-green: #a1c181;
47
+ --color-zed-red: #d07277;
48
+ --color-zed-amber: #dfc184;
49
+ --color-zed-purple: #b477cf;
50
+ --color-zed-teal: #6eb4bf;
51
+
52
+ --color-zed-hover: color-mix(in srgb, var(--color-zed-accent) 10%, transparent);
53
+ --color-zed-selected: color-mix(in srgb, var(--color-zed-accent) 15%, transparent);
54
+ }
@@ -2,6 +2,7 @@
2
2
 
3
3
  :root,
4
4
  :root[data-rui-theme='high-contrast'] {
5
+ --rui-knob-linecap: butt;
5
6
  --font-sans: ui-sans-serif, system-ui, sans-serif;
6
7
  --font-heading: var(--font-sans);
7
8
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
@@ -7,6 +7,18 @@
7
7
  */
8
8
  :root,
9
9
  :root[data-rui-theme='macos-classic'] {
10
+ --rui-knob-linecap: butt;
11
+ --press-shift: 0px;
12
+ --popup-enter-duration: 0ms;
13
+ --popup-exit-duration: 0ms;
14
+ --popup-scale-from: 1;
15
+ --popup-shift: 0px;
16
+ --tooltip-duration: 0ms;
17
+ --hover-card-enter-duration: 0ms;
18
+ --dialog-enter-duration: 0ms;
19
+ --dialog-exit-duration: 0ms;
20
+ --backdrop-duration: 0ms;
21
+ --check-duration: 0ms;
10
22
  --font-sans: Charcoal, Geneva, 'Lucida Grande', 'Helvetica Neue', Arial, sans-serif;
11
23
  --font-heading: Charcoal, Geneva, 'Lucida Grande', 'Helvetica Neue', Arial, sans-serif;
12
24
  --font-mono: Monaco, Menlo, 'Courier New', monospace;
@@ -379,7 +391,8 @@
379
391
  --rui-popover-radius: 0;
380
392
  --rui-popover-surface: var(--macos-classic-surface);
381
393
  --rui-popover-border-color: var(--macos-classic-dark);
382
- --rui-popover-shadow: var(--macos-classic-bevel), 1px 1px 0 var(--macos-classic-dark), 3px 3px 0 rgb(0 0 0 / 0.25);
394
+ --rui-popover-shadow:
395
+ var(--macos-classic-bevel), 1px 1px 0 var(--macos-classic-dark), 3px 3px 0 rgb(0 0 0 / 0.25);
383
396
  }
384
397
 
385
398
  :root .rui-dialog__surface,
@@ -10,6 +10,7 @@
10
10
  */
11
11
  :root,
12
12
  :root[data-rui-theme='macos'] {
13
+ --press-shift: 0px;
13
14
  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', Arial, sans-serif;
14
15
  --font-heading: system-ui, -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;
15
16
  --font-mono: ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Monaco, monospace;
@@ -409,5 +409,4 @@
409
409
  border-color: var(--material-outline-variant);
410
410
  background-color: var(--surface);
411
411
  }
412
-
413
412
  }
@@ -1,6 +1,7 @@
1
1
  @reference 'tailwindcss';
2
2
 
3
- :where(:root), :root[data-rui-theme='vercel'] {
3
+ :where(:root),
4
+ :root[data-rui-theme='vercel'] {
4
5
  --font-sans: Geist, 'Geist Sans', ui-sans-serif, system-ui, sans-serif;
5
6
  --font-heading: Geist, 'Geist Sans', ui-sans-serif, system-ui, sans-serif;
6
7
  --font-mono: 'Geist Mono', 'GeistMono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
@@ -16,6 +17,22 @@
16
17
  --radius-container: var(--border-radius-xl);
17
18
  }
18
19
 
20
+ /**
21
+ * @remarks Geist's marketing scale is airy; the app chrome is one step smaller. Controls are 28/32/40px with 13px text
22
+ * and 10px inline padding. Unlike the font and radius tokens above these use `:root`, so they win over the spacing pack
23
+ * and the shared type scale even when the theme is loaded without `data-rui-theme`.
24
+ */
25
+ :root {
26
+ --size-control-sm: 1.75rem;
27
+ --size-control-md: 2rem;
28
+ --size-control-lg: 2.5rem;
29
+ --text-control: 0.8125rem;
30
+ --space-control-x: 0.625rem;
31
+ --space-control-y: 0.375rem;
32
+ --space-stack: 0.875rem;
33
+ --space-inset: 0.875rem;
34
+ }
35
+
19
36
  @layer components {
20
37
  /**
21
38
  * @remarks Geist fills dark destructive buttons with a saturated red and white text; `--error` stays the lighter
@@ -118,18 +135,18 @@
118
135
 
119
136
  :root .rui-tooltip__content {
120
137
  --rui-tooltip-radius: var(--radius-control);
121
- --rui-tooltip-padding-x: 0.75rem;
122
- --rui-tooltip-padding-y: 0.375rem;
138
+ --rui-tooltip-padding-x: 0.625rem;
139
+ --rui-tooltip-padding-y: 0.25rem;
123
140
  }
124
141
 
125
142
  /**
126
- * Geist menus: a 12px floating panel with 8px padding and 6px rounded rows.
143
+ * Geist menus: a 12px floating panel with 6px padding and 6px rounded rows.
127
144
  */
128
145
  :root .rui-menu-button__menu,
129
146
  :root .rui-menubar__menu,
130
147
  :root .rui-select__listbox,
131
148
  :root .rui-combobox__listbox {
132
- @apply rounded-container border border-border p-2;
149
+ @apply rounded-container border border-border p-1.5;
133
150
  background-color: var(--color-vercel-background-1);
134
151
  box-shadow:
135
152
  0 4px 8px -4px rgb(0 0 0 / 0.04),
@@ -148,7 +165,7 @@
148
165
  }
149
166
 
150
167
  :root rui-tabs[variant='boxed'] .rui-tabs__list {
151
- @apply border-b border-border bg-transparent px-2 pt-2;
168
+ @apply border-b border-border bg-transparent px-1.5 pt-1.5;
152
169
  gap: 0;
153
170
  }
154
171
 
@@ -211,4 +228,4 @@
211
228
  :root .rui-sidebar__separator {
212
229
  @apply bg-border;
213
230
  }
214
- }
231
+ }
@@ -6,8 +6,11 @@
6
6
  */
7
7
  :root,
8
8
  :root[data-rui-theme='vscode'] {
9
- --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', system-ui, Ubuntu, 'Droid Sans', sans-serif;
10
- --font-heading: -apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', system-ui, Ubuntu, 'Droid Sans', sans-serif;
9
+ --rui-knob-linecap: butt;
10
+ --font-sans:
11
+ -apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', system-ui, Ubuntu, 'Droid Sans', sans-serif;
12
+ --font-heading:
13
+ -apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', system-ui, Ubuntu, 'Droid Sans', sans-serif;
11
14
  --font-mono: Menlo, Monaco, Consolas, 'Droid Sans Mono', 'Courier New', monospace;
12
15
  --rui-border-alpha: 100%;
13
16
  --border-radius-xs: 0.125rem;
@@ -6,6 +6,18 @@
6
6
  */
7
7
  :root,
8
8
  :root[data-rui-theme='windows95'] {
9
+ --rui-knob-linecap: butt;
10
+ --press-shift: 0px;
11
+ --popup-enter-duration: 0ms;
12
+ --popup-exit-duration: 0ms;
13
+ --popup-scale-from: 1;
14
+ --popup-shift: 0px;
15
+ --tooltip-duration: 0ms;
16
+ --hover-card-enter-duration: 0ms;
17
+ --dialog-enter-duration: 0ms;
18
+ --dialog-exit-duration: 0ms;
19
+ --backdrop-duration: 0ms;
20
+ --check-duration: 0ms;
9
21
  --font-sans: Tahoma, 'MS Sans Serif', Arial, sans-serif;
10
22
  --font-heading: Tahoma, 'MS Sans Serif', Arial, sans-serif;
11
23
  --font-mono: 'Lucida Console', Consolas, Menlo, Monaco, 'Courier New', monospace;
@@ -710,7 +722,10 @@
710
722
  border: 1px solid var(--windows95-line);
711
723
  background-color: var(--windows95-field);
712
724
  color: var(--windows95-field-text);
713
- font: 9px/7px 'MS Sans Serif', Tahoma, sans-serif;
725
+ font:
726
+ 9px/7px 'MS Sans Serif',
727
+ Tahoma,
728
+ sans-serif;
714
729
  text-align: center;
715
730
  transform: none;
716
731
  transition: none;