@adea-ai/themes 0.5.1 → 0.6.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 (62) hide show
  1. package/NOTICE +16 -8
  2. package/README.md +14 -11
  3. package/dist/adapters/shadcn.d.ts +8 -4
  4. package/dist/adapters/shadcn.d.ts.map +1 -1
  5. package/dist/adapters/shadcn.js +12 -4
  6. package/dist/adapters/shadcn.js.map +1 -1
  7. package/dist/adapters/tailwind.d.ts +1 -1
  8. package/dist/adapters/tailwind.js +1 -1
  9. package/dist/generated/metadata.d.ts.map +1 -1
  10. package/dist/generated/metadata.js +74 -0
  11. package/dist/generated/metadata.js.map +1 -1
  12. package/dist/generated/schemes.d.ts.map +1 -1
  13. package/dist/generated/schemes.js +128 -0
  14. package/dist/generated/schemes.js.map +1 -1
  15. package/dist/generated/themes/contrast-dark.d.ts +11 -0
  16. package/dist/generated/themes/contrast-dark.d.ts.map +1 -0
  17. package/dist/generated/themes/contrast-dark.js +75 -0
  18. package/dist/generated/themes/contrast-dark.js.map +1 -0
  19. package/dist/generated/themes/contrast-light.d.ts +11 -0
  20. package/dist/generated/themes/contrast-light.d.ts.map +1 -0
  21. package/dist/generated/themes/contrast-light.js +75 -0
  22. package/dist/generated/themes/contrast-light.js.map +1 -0
  23. package/dist/generated/themes/slate-dark.d.ts +11 -0
  24. package/dist/generated/themes/slate-dark.d.ts.map +1 -0
  25. package/dist/generated/themes/slate-dark.js +77 -0
  26. package/dist/generated/themes/slate-dark.js.map +1 -0
  27. package/dist/generated/themes/slate-light.d.ts +11 -0
  28. package/dist/generated/themes/slate-light.d.ts.map +1 -0
  29. package/dist/generated/themes/slate-light.js +76 -0
  30. package/dist/generated/themes/slate-light.js.map +1 -0
  31. package/dist/generated/themes.d.ts.map +1 -1
  32. package/dist/generated/themes.js +26 -18
  33. package/dist/generated/themes.js.map +1 -1
  34. package/dist/index.d.ts +6 -6
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +5 -5
  37. package/dist/index.js.map +1 -1
  38. package/dist/normalize.d.ts +3 -1
  39. package/dist/normalize.d.ts.map +1 -1
  40. package/dist/normalize.js +1 -0
  41. package/dist/normalize.js.map +1 -1
  42. package/dist/schema.d.ts +32 -0
  43. package/dist/schema.d.ts.map +1 -1
  44. package/dist/schema.js.map +1 -1
  45. package/dist/sources.d.ts +16 -22
  46. package/dist/sources.d.ts.map +1 -1
  47. package/dist/sources.js +231 -5
  48. package/dist/sources.js.map +1 -1
  49. package/package.json +2 -2
  50. package/src/adapters/shadcn.ts +19 -8
  51. package/src/adapters/tailwind.ts +1 -1
  52. package/src/generated/metadata.ts +74 -0
  53. package/src/generated/schemes.ts +128 -0
  54. package/src/generated/themes/contrast-dark.ts +77 -0
  55. package/src/generated/themes/contrast-light.ts +77 -0
  56. package/src/generated/themes/slate-dark.ts +79 -0
  57. package/src/generated/themes/slate-light.ts +78 -0
  58. package/src/generated/themes.ts +26 -18
  59. package/src/index.ts +6 -5
  60. package/src/normalize.ts +4 -0
  61. package/src/schema.ts +33 -0
  62. package/src/sources.ts +244 -23
@@ -22,9 +22,12 @@
22
22
  * A table of the whole mapping is in `docs/shadcn-bridge.md`.
23
23
  */
24
24
 
25
- import type { AdeaTheme, AdeaThemeColors } from '../schema.js'
25
+ import type { AdeaTheme, AdeaThemeColors, ShadcnThemeProjection } from '../schema.js'
26
26
  import { STATUS_ROLES, statusForeground, tint } from '../derive.js'
27
27
 
28
+ /** A canonical theme with optional owner-authored shadcn presentation values. */
29
+ export type ShadcnTheme = AdeaTheme & { shadcn?: ShadcnThemeProjection }
30
+
28
31
  /**
29
32
  * Canonical role → shadcn custom-property name.
30
33
  *
@@ -62,7 +65,7 @@ export const SHADCN_MAPPING: Readonly<Record<keyof AdeaThemeColors, string>> = O
62
65
  * screen, a component reading `theme.colors.card` — rather than writing it straight
63
66
  * to the document.
64
67
  */
65
- export function shadcnRoles(theme: AdeaTheme): Record<string, string> {
68
+ export function shadcnRoles(theme: ShadcnTheme): Record<string, string> {
66
69
  return Object.fromEntries(
67
70
  Object.entries(shadcnVariables(theme)).map(([name, value]) => [name.replace(/^--/, ''), value])
68
71
  )
@@ -76,7 +79,7 @@ export function shadcnRoles(theme: AdeaTheme): Record<string, string> {
76
79
  * accent, because that is what a focus ring must be drawn in for the focus state
77
80
  * to be visible.
78
81
  */
79
- export function shadcnVariables(theme: AdeaTheme): Record<string, string> {
82
+ export function shadcnVariables(theme: ShadcnTheme): Record<string, string> {
80
83
  const variables: Record<string, string> = {}
81
84
 
82
85
  for (const [role, name] of Object.entries(SHADCN_MAPPING) as [keyof AdeaThemeColors, string][]) {
@@ -85,19 +88,22 @@ export function shadcnVariables(theme: AdeaTheme): Record<string, string> {
85
88
 
86
89
  variables['--accent'] = theme.colors.surfaceHover
87
90
  variables['--accent-foreground'] = theme.colors.text
88
- variables['--ring'] = theme.colors.accent
89
- variables['--input'] = theme.colors.border
91
+ variables['--ring'] = theme.shadcn?.ring ?? theme.colors.accent
92
+ variables['--input'] = theme.shadcn?.input ?? theme.colors.border
90
93
 
91
94
  // The rest of shadcn's default vocabulary. These are not in `SHADCN_MAPPING`
92
95
  // because they are not new *roles* — shadcn's `secondary` and `muted` are both the
93
96
  // first surface rung used as a fill, and its `card-foreground` is the body text —
94
97
  // so they are filled from the roles that already exist rather than getting
95
98
  // second-class entries of their own.
99
+ variables['--card'] = theme.shadcn?.card ?? theme.colors.surface
100
+ variables['--popover'] = theme.shadcn?.popover ?? theme.colors.surfaceElevated
96
101
  variables['--card-foreground'] = theme.colors.text
97
102
  variables['--popover-foreground'] = theme.colors.text
98
- variables['--secondary'] = theme.colors.surface
103
+ variables['--secondary'] = theme.shadcn?.secondary ?? theme.colors.surface
99
104
  variables['--secondary-foreground'] = theme.colors.text
100
- variables['--muted'] = theme.colors.surface
105
+ variables['--muted'] = theme.shadcn?.muted ?? theme.colors.surface
106
+ variables['--muted-foreground'] = theme.shadcn?.mutedForeground ?? theme.colors.textMuted
101
107
  variables['--sidebar'] = theme.colors.surface
102
108
  variables['--sidebar-foreground'] = theme.colors.text
103
109
  variables['--sidebar-accent'] = theme.colors.surfaceHover
@@ -121,6 +127,11 @@ export function shadcnVariables(theme: AdeaTheme): Record<string, string> {
121
127
  variables['--surface-raised'] = theme.colors.surfaceElevated
122
128
  variables['--surface-overlay'] = theme.colors.surfaceElevated
123
129
 
130
+ // Owner-authored legacy roles can differ from the canonical default. These
131
+ // values stay in the record's typed source projection so a consumer does not
132
+ // recreate palette decisions in its own adapter.
133
+ if (theme.shadcn?.border) variables['--border'] = theme.shadcn.border
134
+
124
135
  variables['--cursor'] = theme.cursor
125
136
  variables['--selection'] = theme.selection
126
137
 
@@ -128,7 +139,7 @@ export function shadcnVariables(theme: AdeaTheme): Record<string, string> {
128
139
  }
129
140
 
130
141
  /** The shadcn variables as a CSS rule. */
131
- export function shadcnCss(theme: AdeaTheme, selector = ':root'): string {
142
+ export function shadcnCss(theme: ShadcnTheme, selector = ':root'): string {
132
143
  const body = Object.entries(shadcnVariables(theme))
133
144
  .map(([name, value]) => ` ${name}: ${value};`)
134
145
  .join('\n')
@@ -35,7 +35,7 @@ function kebab(name: string): string {
35
35
  * The `--color-*` namespace, which is what makes `bg-surface` a valid utility.
36
36
  *
37
37
  * Takes no theme, and that is the point rather than an oversight. Every declaration
38
- * this emits is a `var()` reference, so the block is identical for all twenty-seven
38
+ * this emits is a `var()` reference, so the block is identical for all thirty-one
39
39
  * themes and one stylesheet serves every one of them. Accepting a theme would imply
40
40
  * the output depended on which theme was passed, and the first person to notice would
41
41
  * reasonably conclude they needed one block per theme.
@@ -206,6 +206,42 @@ export const themeMetadata: readonly ThemeMetadata[] = Object.freeze([
206
206
  ]
207
207
  }
208
208
  },
209
+ {
210
+ "id": "contrast-dark",
211
+ "name": "High Contrast Dark",
212
+ "appearance": "dark",
213
+ "family": "contrast",
214
+ "familyLabel": "High Contrast",
215
+ "label": "Dark",
216
+ "description": "Adea’s high-contrast palette for dark appearance.",
217
+ "tags": [
218
+ "dark",
219
+ "high-contrast"
220
+ ],
221
+ "provenance": {
222
+ "project": "Adea",
223
+ "url": "https://github.com/adea-ai/adea",
224
+ "license": "Apache-2.0"
225
+ }
226
+ },
227
+ {
228
+ "id": "contrast-light",
229
+ "name": "High Contrast Light",
230
+ "appearance": "light",
231
+ "family": "contrast",
232
+ "familyLabel": "High Contrast",
233
+ "label": "Light",
234
+ "description": "Adea’s high-contrast palette for light appearance.",
235
+ "tags": [
236
+ "light",
237
+ "high-contrast"
238
+ ],
239
+ "provenance": {
240
+ "project": "Adea",
241
+ "url": "https://github.com/adea-ai/adea",
242
+ "license": "Apache-2.0"
243
+ }
244
+ },
209
245
  {
210
246
  "id": "dracula",
211
247
  "name": "Dracula",
@@ -474,6 +510,44 @@ export const themeMetadata: readonly ThemeMetadata[] = Object.freeze([
474
510
  ]
475
511
  }
476
512
  },
513
+ {
514
+ "id": "slate-dark",
515
+ "name": "Slate Dark",
516
+ "appearance": "dark",
517
+ "family": "slate",
518
+ "familyLabel": "Slate",
519
+ "label": "Dark",
520
+ "description": "Adea’s slate neutral palette for dark appearance.",
521
+ "tags": [
522
+ "dark",
523
+ "slate",
524
+ "neutral"
525
+ ],
526
+ "provenance": {
527
+ "project": "Adea",
528
+ "url": "https://github.com/adea-ai/adea",
529
+ "license": "Apache-2.0"
530
+ }
531
+ },
532
+ {
533
+ "id": "slate-light",
534
+ "name": "Slate Light",
535
+ "appearance": "light",
536
+ "family": "slate",
537
+ "familyLabel": "Slate",
538
+ "label": "Light",
539
+ "description": "Adea’s slate neutral palette for light appearance.",
540
+ "tags": [
541
+ "light",
542
+ "slate",
543
+ "neutral"
544
+ ],
545
+ "provenance": {
546
+ "project": "Adea",
547
+ "url": "https://github.com/adea-ai/adea",
548
+ "license": "Apache-2.0"
549
+ }
550
+ },
477
551
  {
478
552
  "id": "solarized-dark",
479
553
  "name": "Solarized Dark",
@@ -303,6 +303,70 @@ export const generatedSchemes: Readonly<Record<string, Base24Scheme>> = Object.f
303
303
  "base17": "#f398da"
304
304
  }
305
305
  },
306
+ "contrast-dark": {
307
+ "system": "base24",
308
+ "name": "High Contrast Dark",
309
+ "author": "Adea",
310
+ "variant": "dark",
311
+ "palette": {
312
+ "base00": "#000000",
313
+ "base01": "#8f8f8f",
314
+ "base02": "#264f78",
315
+ "base03": "#8f8f8f",
316
+ "base04": "#e5e5e5",
317
+ "base05": "#ffffff",
318
+ "base06": "#ffffff",
319
+ "base07": "#ffffff",
320
+ "base08": "#ff8183",
321
+ "base09": "#e3b341",
322
+ "base0A": "#e3b341",
323
+ "base0B": "#56d364",
324
+ "base0C": "#39c5cf",
325
+ "base0D": "#6ca4f8",
326
+ "base0E": "#db61a2",
327
+ "base0F": "#f0c264",
328
+ "base10": "#8f8f8f",
329
+ "base11": "#8f8f8f",
330
+ "base12": "#ff9494",
331
+ "base13": "#f0c264",
332
+ "base14": "#79dd8a",
333
+ "base15": "#66d3dc",
334
+ "base16": "#8db9ff",
335
+ "base17": "#e87cb4"
336
+ }
337
+ },
338
+ "contrast-light": {
339
+ "system": "base24",
340
+ "name": "High Contrast Light",
341
+ "author": "Adea",
342
+ "variant": "light",
343
+ "palette": {
344
+ "base00": "#ffffff",
345
+ "base01": "#767676",
346
+ "base02": "#b6c7ff",
347
+ "base03": "#767676",
348
+ "base04": "#333333",
349
+ "base05": "#000000",
350
+ "base06": "#000000",
351
+ "base07": "#000000",
352
+ "base08": "#b91c1c",
353
+ "base09": "#8a5a1b",
354
+ "base0A": "#8a5a1b",
355
+ "base0B": "#116a2e",
356
+ "base0C": "#0e7490",
357
+ "base0D": "#0b57d0",
358
+ "base0E": "#a0186f",
359
+ "base0F": "#a9752c",
360
+ "base10": "#767676",
361
+ "base11": "#767676",
362
+ "base12": "#c94d4d",
363
+ "base13": "#a9752c",
364
+ "base14": "#1f9d4f",
365
+ "base15": "#0891b2",
366
+ "base16": "#3b82f6",
367
+ "base17": "#c04a92"
368
+ }
369
+ },
306
370
  "dracula": {
307
371
  "system": "base24",
308
372
  "name": "Dracula",
@@ -687,6 +751,70 @@ export const generatedSchemes: Readonly<Record<string, Base24Scheme>> = Object.f
687
751
  "base17": "#c4a7e7"
688
752
  }
689
753
  },
754
+ "slate-dark": {
755
+ "system": "base24",
756
+ "name": "Slate Dark",
757
+ "author": "Adea",
758
+ "variant": "dark",
759
+ "palette": {
760
+ "base00": "#0f172a",
761
+ "base01": "#64748b",
762
+ "base02": "#264f78",
763
+ "base03": "#64748b",
764
+ "base04": "#94a3b8",
765
+ "base05": "#f1f5f9",
766
+ "base06": "#f1f5f9",
767
+ "base07": "#f1f5f9",
768
+ "base08": "#ff8183",
769
+ "base09": "#e3b341",
770
+ "base0A": "#e3b341",
771
+ "base0B": "#56d364",
772
+ "base0C": "#39c5cf",
773
+ "base0D": "#6ca4f8",
774
+ "base0E": "#db61a2",
775
+ "base0F": "#f0c264",
776
+ "base10": "#94a3b8",
777
+ "base11": "#94a3b8",
778
+ "base12": "#ff9494",
779
+ "base13": "#f0c264",
780
+ "base14": "#79dd8a",
781
+ "base15": "#66d3dc",
782
+ "base16": "#8db9ff",
783
+ "base17": "#e87cb4"
784
+ }
785
+ },
786
+ "slate-light": {
787
+ "system": "base24",
788
+ "name": "Slate Light",
789
+ "author": "Adea",
790
+ "variant": "light",
791
+ "palette": {
792
+ "base00": "#f8fafc",
793
+ "base01": "#64748b",
794
+ "base02": "#b6c7ff",
795
+ "base03": "#64748b",
796
+ "base04": "#475569",
797
+ "base05": "#0f172a",
798
+ "base06": "#0f172a",
799
+ "base07": "#0f172a",
800
+ "base08": "#b91c1c",
801
+ "base09": "#8a5a1b",
802
+ "base0A": "#8a5a1b",
803
+ "base0B": "#116a2e",
804
+ "base0C": "#0e7490",
805
+ "base0D": "#0b57d0",
806
+ "base0E": "#a0186f",
807
+ "base0F": "#a9752c",
808
+ "base10": "#cbd5e1",
809
+ "base11": "#cbd5e1",
810
+ "base12": "#c94d4d",
811
+ "base13": "#a9752c",
812
+ "base14": "#1f9d4f",
813
+ "base15": "#0891b2",
814
+ "base16": "#3b82f6",
815
+ "base17": "#c04a92"
816
+ }
817
+ },
690
818
  "solarized-dark": {
691
819
  "system": "base24",
692
820
  "name": "iTerm2 Solarized Dark",
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Generated by `bun run catalogue:build`. Do not edit.
3
+ *
4
+ * The catalogue is committed so that a palette change is a reviewable diff, and
5
+ * `bun run catalogue:check` fails the build when this file and its inputs
6
+ * disagree.
7
+ */
8
+
9
+ import type { AdeaThemeRecord } from '../../schema.js'
10
+
11
+ const theme: AdeaThemeRecord = {
12
+ "id": "contrast-dark",
13
+ "name": "High Contrast Dark",
14
+ "appearance": "dark",
15
+ "colors": {
16
+ "background": "oklch(0 0 0)",
17
+ "foreground": "oklch(1 0 0)",
18
+ "surface": "oklch(0.1448 0 0)",
19
+ "surfaceElevated": "oklch(0.1448 0 0)",
20
+ "surfaceHover": "oklch(0.2178 0 0)",
21
+ "surfaceActive": "oklch(0.2178 0 0)",
22
+ "border": "oklch(0.65 0 0)",
23
+ "borderMuted": "oklch(0.65 0 0)",
24
+ "text": "oklch(1 0 0)",
25
+ "textMuted": "oklch(0.9219 0 0)",
26
+ "textSubtle": "oklch(0.65 0 0)",
27
+ "accent": "oklch(0.7693 0.1175 261.56)",
28
+ "accentForeground": "oklch(0 0 0)",
29
+ "success": "oklch(0.8003 0.1821 151.71)",
30
+ "warning": "oklch(0.7904 0.1386 85.24)",
31
+ "error": "oklch(0.7116 0.1812 22.84)",
32
+ "info": "oklch(0.7162 0.1369 258.28)"
33
+ },
34
+ "ansi": {
35
+ "black": "oklch(0.3339 0.0223 256.4)",
36
+ "red": "oklch(0.7465 0.1536 20.48)",
37
+ "green": "oklch(0.7717 0.188 145.48)",
38
+ "yellow": "oklch(0.7904 0.1386 85.24)",
39
+ "blue": "oklch(0.7162 0.1369 258.28)",
40
+ "magenta": "oklch(0.662 0.168 349.52)",
41
+ "cyan": "oklch(0.7555 0.1155 202.14)",
42
+ "white": "oklch(0.8938 0.014 247.98)",
43
+ "brightBlack": "oklch(0.4849 0.0196 251.02)",
44
+ "brightRed": "oklch(0.7793 0.1291 20.43)",
45
+ "brightGreen": "oklch(0.8159 0.1496 147.95)",
46
+ "brightYellow": "oklch(0.8363 0.1238 83.41)",
47
+ "brightBlue": "oklch(0.7814 0.1113 259.45)",
48
+ "brightMagenta": "oklch(0.723 0.1473 349.04)",
49
+ "brightCyan": "oklch(0.8063 0.1005 202.61)",
50
+ "brightWhite": "oklch(0.9593 0.0069 247.9)"
51
+ },
52
+ "cursor": "oklch(0.9425 0.0111 243.66)",
53
+ "selection": "oklch(0.4184 0.0829 250.44)",
54
+ "family": "contrast",
55
+ "familyLabel": "High Contrast",
56
+ "label": "Dark",
57
+ "description": "Adea’s high-contrast palette for dark appearance.",
58
+ "provenance": {
59
+ "project": "Adea",
60
+ "url": "https://github.com/adea-ai/adea",
61
+ "license": "Apache-2.0"
62
+ },
63
+ "tags": [
64
+ "dark",
65
+ "high-contrast"
66
+ ],
67
+ "shadcn": {
68
+ "card": "#0a0a0a",
69
+ "popover": "#0a0a0a",
70
+ "secondary": "#1a1a1a",
71
+ "muted": "#1a1a1a",
72
+ "border": "#8f8f8f",
73
+ "input": "#8f8f8f",
74
+ "ring": "#ffffff"
75
+ }
76
+ }
77
+ export default theme
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Generated by `bun run catalogue:build`. Do not edit.
3
+ *
4
+ * The catalogue is committed so that a palette change is a reviewable diff, and
5
+ * `bun run catalogue:check` fails the build when this file and its inputs
6
+ * disagree.
7
+ */
8
+
9
+ import type { AdeaThemeRecord } from '../../schema.js'
10
+
11
+ const theme: AdeaThemeRecord = {
12
+ "id": "contrast-light",
13
+ "name": "High Contrast Light",
14
+ "appearance": "light",
15
+ "colors": {
16
+ "background": "oklch(1 0 0)",
17
+ "foreground": "oklch(0 0 0)",
18
+ "surface": "oklch(1 0 0)",
19
+ "surfaceElevated": "oklch(1 0 0)",
20
+ "surfaceHover": "oklch(0.9551 0 0)",
21
+ "surfaceActive": "oklch(0.9551 0 0)",
22
+ "border": "oklch(0.5658 0 0)",
23
+ "borderMuted": "oklch(0.5658 0 0)",
24
+ "text": "oklch(0 0 0)",
25
+ "textMuted": "oklch(0.3211 0 0)",
26
+ "textSubtle": "oklch(0.5658 0 0)",
27
+ "accent": "oklch(0.3862 0.1436 262.12)",
28
+ "accentForeground": "oklch(1 0 0)",
29
+ "success": "oklch(0.3925 0.0896 152.54)",
30
+ "warning": "oklch(0.5091 0.0985 68.76)",
31
+ "error": "oklch(0.5054 0.1905 27.52)",
32
+ "info": "oklch(0.4949 0.1992 260.6)"
33
+ },
34
+ "ansi": {
35
+ "black": "oklch(0.2373 0.0113 254.06)",
36
+ "red": "oklch(0.5054 0.1905 27.52)",
37
+ "green": "oklch(0.4606 0.1227 148.77)",
38
+ "yellow": "oklch(0.5091 0.0985 68.76)",
39
+ "blue": "oklch(0.4949 0.1992 260.6)",
40
+ "magenta": "oklch(0.4773 0.185 347.85)",
41
+ "cyan": "oklch(0.5198 0.0936 223.13)",
42
+ "white": "oklch(0.4849 0.0196 251.02)",
43
+ "brightBlack": "oklch(0.4849 0.0196 251.02)",
44
+ "brightRed": "oklch(0.5864 0.1586 23.34)",
45
+ "brightGreen": "oklch(0.6127 0.1559 150.57)",
46
+ "brightYellow": "oklch(0.6026 0.1091 71.79)",
47
+ "brightBlue": "oklch(0.6231 0.188 259.81)",
48
+ "brightMagenta": "oklch(0.5889 0.1701 345.97)",
49
+ "brightCyan": "oklch(0.6089 0.1109 221.72)",
50
+ "brightWhite": "oklch(0.2785 0.0132 253.04)"
51
+ },
52
+ "cursor": "oklch(0.2785 0.0132 253.04)",
53
+ "selection": "oklch(0.8363 0.081 271.45)",
54
+ "family": "contrast",
55
+ "familyLabel": "High Contrast",
56
+ "label": "Light",
57
+ "description": "Adea’s high-contrast palette for light appearance.",
58
+ "provenance": {
59
+ "project": "Adea",
60
+ "url": "https://github.com/adea-ai/adea",
61
+ "license": "Apache-2.0"
62
+ },
63
+ "tags": [
64
+ "light",
65
+ "high-contrast"
66
+ ],
67
+ "shadcn": {
68
+ "card": "#ffffff",
69
+ "popover": "#ffffff",
70
+ "secondary": "#f0f0f0",
71
+ "muted": "#f0f0f0",
72
+ "border": "#767676",
73
+ "input": "#767676",
74
+ "ring": "#000000"
75
+ }
76
+ }
77
+ export default theme
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Generated by `bun run catalogue:build`. Do not edit.
3
+ *
4
+ * The catalogue is committed so that a palette change is a reviewable diff, and
5
+ * `bun run catalogue:check` fails the build when this file and its inputs
6
+ * disagree.
7
+ */
8
+
9
+ import type { AdeaThemeRecord } from '../../schema.js'
10
+
11
+ const theme: AdeaThemeRecord = {
12
+ "id": "slate-dark",
13
+ "name": "Slate Dark",
14
+ "appearance": "dark",
15
+ "colors": {
16
+ "background": "oklch(0.2077 0.0398 265.75)",
17
+ "foreground": "oklch(0.9683 0.0069 247.9)",
18
+ "surface": "oklch(0.2795 0.0368 260.03)",
19
+ "surfaceElevated": "oklch(0.2795 0.0368 260.03)",
20
+ "surfaceHover": "oklch(0.3717 0.0392 257.29)",
21
+ "surfaceActive": "oklch(0.3717 0.0392 257.29)",
22
+ "border": "oklch(0.7107 0.0351 256.79)",
23
+ "borderMuted": "oklch(0.7107 0.0351 256.79)",
24
+ "text": "oklch(0.9683 0.0069 247.9)",
25
+ "textMuted": "oklch(0.7107 0.0351 256.79)",
26
+ "textSubtle": "oklch(0.5544 0.0407 257.42)",
27
+ "accent": "oklch(0.9288 0.0126 255.51)",
28
+ "accentForeground": "oklch(0.2077 0.0398 265.75)",
29
+ "success": "oklch(0.8003 0.1821 151.71)",
30
+ "warning": "oklch(0.7904 0.1386 85.24)",
31
+ "error": "oklch(0.7106 0.1661 22.22)",
32
+ "info": "oklch(0.7162 0.1369 258.28)"
33
+ },
34
+ "ansi": {
35
+ "black": "oklch(0.3339 0.0223 256.4)",
36
+ "red": "oklch(0.7465 0.1536 20.48)",
37
+ "green": "oklch(0.7717 0.188 145.48)",
38
+ "yellow": "oklch(0.7904 0.1386 85.24)",
39
+ "blue": "oklch(0.7162 0.1369 258.28)",
40
+ "magenta": "oklch(0.662 0.168 349.52)",
41
+ "cyan": "oklch(0.7555 0.1155 202.14)",
42
+ "white": "oklch(0.8938 0.014 247.98)",
43
+ "brightBlack": "oklch(0.4849 0.0196 251.02)",
44
+ "brightRed": "oklch(0.7793 0.1291 20.43)",
45
+ "brightGreen": "oklch(0.8159 0.1496 147.95)",
46
+ "brightYellow": "oklch(0.8363 0.1238 83.41)",
47
+ "brightBlue": "oklch(0.7814 0.1113 259.45)",
48
+ "brightMagenta": "oklch(0.723 0.1473 349.04)",
49
+ "brightCyan": "oklch(0.8063 0.1005 202.61)",
50
+ "brightWhite": "oklch(0.9593 0.0069 247.9)"
51
+ },
52
+ "cursor": "oklch(0.9425 0.0111 243.66)",
53
+ "selection": "oklch(0.4184 0.0829 250.44)",
54
+ "family": "slate",
55
+ "familyLabel": "Slate",
56
+ "label": "Dark",
57
+ "description": "Adea’s slate neutral palette for dark appearance.",
58
+ "provenance": {
59
+ "project": "Adea",
60
+ "url": "https://github.com/adea-ai/adea",
61
+ "license": "Apache-2.0"
62
+ },
63
+ "tags": [
64
+ "dark",
65
+ "slate",
66
+ "neutral"
67
+ ],
68
+ "shadcn": {
69
+ "card": "#1e293b",
70
+ "popover": "#1e293b",
71
+ "secondary": "#334155",
72
+ "muted": "#334155",
73
+ "mutedForeground": "oklch(0.7427 0.0351 256.79)",
74
+ "border": "rgba(148, 163, 184, 0.2)",
75
+ "input": "rgba(148, 163, 184, 0.25)",
76
+ "ring": "#64748b"
77
+ }
78
+ }
79
+ export default theme
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Generated by `bun run catalogue:build`. Do not edit.
3
+ *
4
+ * The catalogue is committed so that a palette change is a reviewable diff, and
5
+ * `bun run catalogue:check` fails the build when this file and its inputs
6
+ * disagree.
7
+ */
8
+
9
+ import type { AdeaThemeRecord } from '../../schema.js'
10
+
11
+ const theme: AdeaThemeRecord = {
12
+ "id": "slate-light",
13
+ "name": "Slate Light",
14
+ "appearance": "light",
15
+ "colors": {
16
+ "background": "oklch(0.9842 0.0034 247.86)",
17
+ "foreground": "oklch(0.2077 0.0398 265.75)",
18
+ "surface": "oklch(0.9842 0.0034 247.86)",
19
+ "surfaceElevated": "oklch(0.9842 0.0034 247.86)",
20
+ "surfaceHover": "oklch(0.9288 0.0126 255.51)",
21
+ "surfaceActive": "oklch(0.9288 0.0126 255.51)",
22
+ "border": "oklch(0.869 0.0198 252.89)",
23
+ "borderMuted": "oklch(0.869 0.0198 252.89)",
24
+ "text": "oklch(0.2077 0.0398 265.75)",
25
+ "textMuted": "oklch(0.4455 0.0374 257.28)",
26
+ "textSubtle": "oklch(0.5544 0.0407 257.42)",
27
+ "accent": "oklch(0.2077 0.0398 265.75)",
28
+ "accentForeground": "oklch(0.9842 0.0034 247.86)",
29
+ "success": "oklch(0.5273 0.1371 150.07)",
30
+ "warning": "oklch(0.5091 0.0985 68.76)",
31
+ "error": "oklch(0.5054 0.1905 27.52)",
32
+ "info": "oklch(0.4949 0.1992 260.6)"
33
+ },
34
+ "ansi": {
35
+ "black": "oklch(0.2373 0.0113 254.06)",
36
+ "red": "oklch(0.5054 0.1905 27.52)",
37
+ "green": "oklch(0.4606 0.1227 148.77)",
38
+ "yellow": "oklch(0.5091 0.0985 68.76)",
39
+ "blue": "oklch(0.4949 0.1992 260.6)",
40
+ "magenta": "oklch(0.4773 0.185 347.85)",
41
+ "cyan": "oklch(0.5198 0.0936 223.13)",
42
+ "white": "oklch(0.4849 0.0196 251.02)",
43
+ "brightBlack": "oklch(0.4849 0.0196 251.02)",
44
+ "brightRed": "oklch(0.5864 0.1586 23.34)",
45
+ "brightGreen": "oklch(0.6127 0.1559 150.57)",
46
+ "brightYellow": "oklch(0.6026 0.1091 71.79)",
47
+ "brightBlue": "oklch(0.6231 0.188 259.81)",
48
+ "brightMagenta": "oklch(0.5889 0.1701 345.97)",
49
+ "brightCyan": "oklch(0.6089 0.1109 221.72)",
50
+ "brightWhite": "oklch(0.2785 0.0132 253.04)"
51
+ },
52
+ "cursor": "oklch(0.2785 0.0132 253.04)",
53
+ "selection": "oklch(0.8363 0.081 271.45)",
54
+ "family": "slate",
55
+ "familyLabel": "Slate",
56
+ "label": "Light",
57
+ "description": "Adea’s slate neutral palette for light appearance.",
58
+ "provenance": {
59
+ "project": "Adea",
60
+ "url": "https://github.com/adea-ai/adea",
61
+ "license": "Apache-2.0"
62
+ },
63
+ "tags": [
64
+ "light",
65
+ "slate",
66
+ "neutral"
67
+ ],
68
+ "shadcn": {
69
+ "card": "#ffffff",
70
+ "popover": "#ffffff",
71
+ "secondary": "#e2e8f0",
72
+ "muted": "#e2e8f0",
73
+ "border": "#cbd5e1",
74
+ "input": "#cbd5e1",
75
+ "ring": "#64748b"
76
+ }
77
+ }
78
+ export default theme