@adea-ai/themes 0.5.0 → 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.
- package/NOTICE +16 -8
- package/README.md +14 -11
- package/dist/adapters/shadcn.d.ts +8 -4
- package/dist/adapters/shadcn.d.ts.map +1 -1
- package/dist/adapters/shadcn.js +20 -7
- 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/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 +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- 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 +27 -11
- package/src/adapters/tailwind.ts +1 -1
- 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 +6 -5
- package/src/normalize.ts +4 -0
- package/src/schema.ts +33 -0
- package/src/sources.ts +244 -23
package/src/adapters/shadcn.ts
CHANGED
|
@@ -22,8 +22,11 @@
|
|
|
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'
|
|
26
|
-
import { STATUS_ROLES, statusForeground } from '../derive.js'
|
|
25
|
+
import type { AdeaTheme, AdeaThemeColors, ShadcnThemeProjection } from '../schema.js'
|
|
26
|
+
import { STATUS_ROLES, statusForeground, tint } from '../derive.js'
|
|
27
|
+
|
|
28
|
+
/** A canonical theme with optional owner-authored shadcn presentation values. */
|
|
29
|
+
export type ShadcnTheme = AdeaTheme & { shadcn?: ShadcnThemeProjection }
|
|
27
30
|
|
|
28
31
|
/**
|
|
29
32
|
* Canonical role → shadcn custom-property name.
|
|
@@ -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:
|
|
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:
|
|
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
|
|
@@ -108,14 +114,24 @@ export function shadcnVariables(theme: AdeaTheme): Record<string, string> {
|
|
|
108
114
|
variables['--sidebar-muted-foreground'] = theme.colors.textMuted
|
|
109
115
|
|
|
110
116
|
for (const role of STATUS_ROLES) {
|
|
111
|
-
|
|
112
|
-
|
|
117
|
+
// Status labels on a subtle fill use the theme's body foreground; this
|
|
118
|
+
// foreground is reserved for text on the role's solid colour. Keep the
|
|
119
|
+
// generated shadcn names aligned with SHADCN_MAPPING, especially error →
|
|
120
|
+
// destructive, and resolve the tint against a real canvas so it is opaque.
|
|
121
|
+
const shadcnRole = SHADCN_MAPPING[role]
|
|
122
|
+
variables[`--${shadcnRole}-foreground`] = statusForeground(theme, role)
|
|
123
|
+
variables[`--${shadcnRole}-subtle`] = tint(theme.colors[role], theme.colors.background)
|
|
113
124
|
}
|
|
114
125
|
|
|
115
126
|
variables['--surface-sunken'] = theme.colors.background
|
|
116
127
|
variables['--surface-raised'] = theme.colors.surfaceElevated
|
|
117
128
|
variables['--surface-overlay'] = theme.colors.surfaceElevated
|
|
118
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
|
+
|
|
119
135
|
variables['--cursor'] = theme.cursor
|
|
120
136
|
variables['--selection'] = theme.selection
|
|
121
137
|
|
|
@@ -123,7 +139,7 @@ export function shadcnVariables(theme: AdeaTheme): Record<string, string> {
|
|
|
123
139
|
}
|
|
124
140
|
|
|
125
141
|
/** The shadcn variables as a CSS rule. */
|
|
126
|
-
export function shadcnCss(theme:
|
|
142
|
+
export function shadcnCss(theme: ShadcnTheme, selector = ':root'): string {
|
|
127
143
|
const body = Object.entries(shadcnVariables(theme))
|
|
128
144
|
.map(([name, value]) => ` ${name}: ${value};`)
|
|
129
145
|
.join('\n')
|
package/src/adapters/tailwind.ts
CHANGED
|
@@ -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
|
|
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",
|
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
|