@adea-ai/themes 0.5.1 → 0.6.1
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.
- package/NOTICE +16 -8
- package/README.md +19 -11
- package/dist/adapters/shadcn.d.ts +8 -4
- package/dist/adapters/shadcn.d.ts.map +1 -1
- package/dist/adapters/shadcn.js +12 -4
- package/dist/adapters/shadcn.js.map +1 -1
- package/dist/adapters/tailwind.d.ts +1 -1
- package/dist/adapters/tailwind.js +1 -1
- package/dist/derive.d.ts +9 -0
- package/dist/derive.d.ts.map +1 -1
- package/dist/derive.js +55 -0
- package/dist/derive.js.map +1 -1
- package/dist/generated/metadata.d.ts.map +1 -1
- package/dist/generated/metadata.js +74 -0
- package/dist/generated/metadata.js.map +1 -1
- package/dist/generated/schemes.d.ts.map +1 -1
- package/dist/generated/schemes.js +128 -0
- package/dist/generated/schemes.js.map +1 -1
- package/dist/generated/themes/contrast-dark.d.ts +11 -0
- package/dist/generated/themes/contrast-dark.d.ts.map +1 -0
- package/dist/generated/themes/contrast-dark.js +75 -0
- package/dist/generated/themes/contrast-dark.js.map +1 -0
- package/dist/generated/themes/contrast-light.d.ts +11 -0
- package/dist/generated/themes/contrast-light.d.ts.map +1 -0
- package/dist/generated/themes/contrast-light.js +75 -0
- package/dist/generated/themes/contrast-light.js.map +1 -0
- package/dist/generated/themes/slate-dark.d.ts +11 -0
- package/dist/generated/themes/slate-dark.d.ts.map +1 -0
- package/dist/generated/themes/slate-dark.js +77 -0
- package/dist/generated/themes/slate-dark.js.map +1 -0
- package/dist/generated/themes/slate-light.d.ts +11 -0
- package/dist/generated/themes/slate-light.d.ts.map +1 -0
- package/dist/generated/themes/slate-light.js +76 -0
- package/dist/generated/themes/slate-light.js.map +1 -0
- package/dist/generated/themes.d.ts.map +1 -1
- package/dist/generated/themes.js +26 -18
- package/dist/generated/themes.js.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/normalize.d.ts +3 -1
- package/dist/normalize.d.ts.map +1 -1
- package/dist/normalize.js +1 -0
- package/dist/normalize.js.map +1 -1
- package/dist/schema.d.ts +32 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js.map +1 -1
- package/dist/sources.d.ts +16 -22
- package/dist/sources.d.ts.map +1 -1
- package/dist/sources.js +231 -5
- package/dist/sources.js.map +1 -1
- package/package.json +2 -2
- package/src/adapters/shadcn.ts +19 -8
- package/src/adapters/tailwind.ts +1 -1
- package/src/derive.ts +63 -0
- package/src/generated/metadata.ts +74 -0
- package/src/generated/schemes.ts +128 -0
- package/src/generated/themes/contrast-dark.ts +77 -0
- package/src/generated/themes/contrast-light.ts +77 -0
- package/src/generated/themes/slate-dark.ts +79 -0
- package/src/generated/themes/slate-light.ts +78 -0
- package/src/generated/themes.ts +26 -18
- package/src/index.ts +8 -6
- package/src/normalize.ts +4 -0
- package/src/schema.ts +33 -0
- package/src/sources.ts +244 -23
package/src/generated/schemes.ts
CHANGED
|
@@ -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
|
package/src/generated/themes.ts
CHANGED
|
@@ -16,24 +16,28 @@ import theme5 from './themes/catppuccin-frappe.js'
|
|
|
16
16
|
import theme6 from './themes/catppuccin-latte.js'
|
|
17
17
|
import theme7 from './themes/catppuccin-macchiato.js'
|
|
18
18
|
import theme8 from './themes/catppuccin-mocha.js'
|
|
19
|
-
import theme9 from './themes/
|
|
20
|
-
import theme10 from './themes/
|
|
21
|
-
import theme11 from './themes/
|
|
22
|
-
import theme12 from './themes/
|
|
23
|
-
import theme13 from './themes/
|
|
24
|
-
import theme14 from './themes/
|
|
25
|
-
import theme15 from './themes/
|
|
26
|
-
import theme16 from './themes/
|
|
27
|
-
import theme17 from './themes/
|
|
28
|
-
import theme18 from './themes/
|
|
29
|
-
import theme19 from './themes/
|
|
30
|
-
import theme20 from './themes/rosepine
|
|
31
|
-
import theme21 from './themes/
|
|
32
|
-
import theme22 from './themes/
|
|
33
|
-
import theme23 from './themes/
|
|
34
|
-
import theme24 from './themes/
|
|
35
|
-
import theme25 from './themes/
|
|
36
|
-
import theme26 from './themes/
|
|
19
|
+
import theme9 from './themes/contrast-dark.js'
|
|
20
|
+
import theme10 from './themes/contrast-light.js'
|
|
21
|
+
import theme11 from './themes/dracula.js'
|
|
22
|
+
import theme12 from './themes/everforest-dark.js'
|
|
23
|
+
import theme13 from './themes/everforest-light.js'
|
|
24
|
+
import theme14 from './themes/gruvbox-dark.js'
|
|
25
|
+
import theme15 from './themes/gruvbox-light.js'
|
|
26
|
+
import theme16 from './themes/kanagawa.js'
|
|
27
|
+
import theme17 from './themes/monokai.js'
|
|
28
|
+
import theme18 from './themes/nord.js'
|
|
29
|
+
import theme19 from './themes/one-dark.js'
|
|
30
|
+
import theme20 from './themes/rosepine.js'
|
|
31
|
+
import theme21 from './themes/rosepine-dawn.js'
|
|
32
|
+
import theme22 from './themes/rosepine-moon.js'
|
|
33
|
+
import theme23 from './themes/slate-dark.js'
|
|
34
|
+
import theme24 from './themes/slate-light.js'
|
|
35
|
+
import theme25 from './themes/solarized-dark.js'
|
|
36
|
+
import theme26 from './themes/solarized-light.js'
|
|
37
|
+
import theme27 from './themes/tokyonight-day.js'
|
|
38
|
+
import theme28 from './themes/tokyonight-night.js'
|
|
39
|
+
import theme29 from './themes/tokyonight-storm.js'
|
|
40
|
+
import theme30 from './themes/vesper.js'
|
|
37
41
|
|
|
38
42
|
/** Every theme in the catalogue, ordered by id. */
|
|
39
43
|
export const generatedThemes: readonly AdeaThemeRecord[] = Object.freeze([
|
|
@@ -64,4 +68,8 @@ export const generatedThemes: readonly AdeaThemeRecord[] = Object.freeze([
|
|
|
64
68
|
theme24,
|
|
65
69
|
theme25,
|
|
66
70
|
theme26,
|
|
71
|
+
theme27,
|
|
72
|
+
theme28,
|
|
73
|
+
theme29,
|
|
74
|
+
theme30,
|
|
67
75
|
])
|
package/src/index.ts
CHANGED
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
* The design is described in four decisions, and the rest of this package follows
|
|
10
10
|
* from them.
|
|
11
11
|
*
|
|
12
|
-
* **Adea owns the schema and the transformation
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
12
|
+
* **Adea owns the schema and the transformation.** The seventeen surface roles in
|
|
13
|
+
* `schema.ts` are the contract, and no upstream project is asked to satisfy it. The
|
|
14
|
+
* Base24 palettes in `palettes/` are reproduced from a pinned revision; the Slate
|
|
15
|
+
* and High Contrast families are Adea-authored semantic palettes. Normalizing inputs
|
|
16
|
+
* is this package's job and it happens once, here.
|
|
17
17
|
*
|
|
18
18
|
* **OKLCH is the representation.** Every role is an `oklch()` string. Lightness in
|
|
19
19
|
* OKLCH is perceptually uniform, which is what lets a surface ladder be built by
|
|
@@ -55,6 +55,7 @@ export type {
|
|
|
55
55
|
ThemeFamily,
|
|
56
56
|
ThemeMetadata,
|
|
57
57
|
ThemeProvenance,
|
|
58
|
+
ShadcnThemeProjection,
|
|
58
59
|
} from './schema.js'
|
|
59
60
|
export { ANSI_KEYS, THEME_COLOR_KEYS } from './schema.js'
|
|
60
61
|
|
|
@@ -122,11 +123,12 @@ export type { NormalizationFinding, NormalizedTheme, ThemeSourceSpec } from './n
|
|
|
122
123
|
export { CONTRAST_FLOORS, normalizeTheme } from './normalize.js'
|
|
123
124
|
|
|
124
125
|
/* --- Derived colours --------------------------------------------------- */
|
|
125
|
-
export type { StatusRole, SyntaxRole } from './derive.js'
|
|
126
|
+
export type { EditorRole, StatusRole, SyntaxRole } from './derive.js'
|
|
126
127
|
export {
|
|
127
128
|
CHART_SERIES,
|
|
128
129
|
STATUS_ROLES,
|
|
129
130
|
chartSeries,
|
|
131
|
+
editorRolesHex,
|
|
130
132
|
statusForeground,
|
|
131
133
|
statusForegroundHex,
|
|
132
134
|
syntaxRoles,
|
package/src/normalize.ts
CHANGED
|
@@ -50,6 +50,7 @@ import type {
|
|
|
50
50
|
AdeaThemeColors,
|
|
51
51
|
AdeaThemeRecord,
|
|
52
52
|
AnsiKey,
|
|
53
|
+
ShadcnThemeProjection,
|
|
53
54
|
ThemeAppearance,
|
|
54
55
|
ThemeProvenance,
|
|
55
56
|
} from './schema.js'
|
|
@@ -212,6 +213,8 @@ export interface ThemeSourceSpec {
|
|
|
212
213
|
accentSlot?: AnsiKey
|
|
213
214
|
/** Explicit roles for authored themes, applied after derivation. */
|
|
214
215
|
colors?: Partial<AdeaThemeColors>
|
|
216
|
+
/** Exact adapter values for authored distinctions outside the canonical roles. */
|
|
217
|
+
shadcn?: ShadcnThemeProjection
|
|
215
218
|
ansi?: Partial<AdeaAnsi>
|
|
216
219
|
cursor?: string
|
|
217
220
|
selection?: string
|
|
@@ -1196,6 +1199,7 @@ export function normalizeTheme(source: ThemeSourceSpec): NormalizedTheme {
|
|
|
1196
1199
|
description: source.description,
|
|
1197
1200
|
provenance: source.provenance ?? { project: '', url: '', license: '' },
|
|
1198
1201
|
tags: source.tags,
|
|
1202
|
+
...(source.shadcn ? { shadcn: source.shadcn } : {}),
|
|
1199
1203
|
},
|
|
1200
1204
|
findings,
|
|
1201
1205
|
}
|
package/src/schema.ts
CHANGED
|
@@ -148,6 +148,34 @@ export interface ThemeProvenance {
|
|
|
148
148
|
bootstrappedFrom?: readonly string[]
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
+
/**
|
|
152
|
+
* Exact shadcn token projections for legacy sources whose vocabulary carries
|
|
153
|
+
* distinctions the canonical surface roles do not encode.
|
|
154
|
+
*
|
|
155
|
+
* These are optional presentation values, not a second palette: canonical roles
|
|
156
|
+
* remain the default for every adapter, while the shadcn bridge can retain a
|
|
157
|
+
* source's separate secondary/muted fills, input outline, border alpha, or focus
|
|
158
|
+
* ring when those were explicitly authored.
|
|
159
|
+
*/
|
|
160
|
+
export interface ShadcnThemeProjection {
|
|
161
|
+
/** A source surface distinct from the canonical first rung. */
|
|
162
|
+
card?: string
|
|
163
|
+
/** A source surface distinct from the canonical second rung. */
|
|
164
|
+
popover?: string
|
|
165
|
+
/** A fill distinct from the canonical card surface. */
|
|
166
|
+
secondary?: string
|
|
167
|
+
/** A fill distinct from the canonical card surface. */
|
|
168
|
+
muted?: string
|
|
169
|
+
/** Text used on a source-specific muted fill. */
|
|
170
|
+
mutedForeground?: string
|
|
171
|
+
/** A divider that may carry source-authored alpha. */
|
|
172
|
+
border?: string
|
|
173
|
+
/** An input outline that may differ from the divider. */
|
|
174
|
+
input?: string
|
|
175
|
+
/** A focus ring that may differ from the canonical interactive accent. */
|
|
176
|
+
ring?: string
|
|
177
|
+
}
|
|
178
|
+
|
|
151
179
|
/**
|
|
152
180
|
* A catalogue entry: the theme, plus what a picker and an audit need.
|
|
153
181
|
*
|
|
@@ -168,6 +196,11 @@ export interface AdeaThemeRecord extends AdeaTheme {
|
|
|
168
196
|
provenance: ThemeProvenance
|
|
169
197
|
/** Search and filter terms, e.g. `['dark', 'muted', 'popular']`. */
|
|
170
198
|
tags: readonly string[]
|
|
199
|
+
/**
|
|
200
|
+
* Optional exact shadcn presentation values for source roles that do not map
|
|
201
|
+
* one-to-one onto the canonical schema. Consumed only by the shadcn adapter.
|
|
202
|
+
*/
|
|
203
|
+
shadcn?: ShadcnThemeProjection
|
|
171
204
|
}
|
|
172
205
|
|
|
173
206
|
/** A family of themes: one project, one or more variants. */
|