Skip to content
Source
Sign inSign up

themePalettes.ts

1,068 lines45.2 KB

1export const BUILT_IN_THEME_IDS = [
2 "t3-code-classic",
3 "t3-chat",
4 "grove",
5 "ocean",
6 "ember",
7 "iris",
8] as const;
9​
10export const MOBILE_DEFAULT_THEME_ID = "t3-code";
11​
12export const MOBILE_THEME_IDS = [MOBILE_DEFAULT_THEME_ID, ...BUILT_IN_THEME_IDS] as const;
13​
14/** Reserve appearance keywords, built-ins, and legacy aliases so custom themes cannot capture stored preferences. */
15export const RESERVED_THEME_IDS: ReadonlySet<string> = new Set([
16 "system",
17 "light",
18 "dark",
19 ...BUILT_IN_THEME_IDS,
20 "t3-chat-dark",
21 "t3-grove",
22 "t3-ocean",
23 "t3-ember",
24 "t3-iris",
25]);
26​
27/** The mobile default id is valid in saved themes but cannot be published because web/desktop cannot resolve it. */
28export const UNPUBLISHABLE_THEME_IDS: ReadonlySet<string> = new Set([
29 ...RESERVED_THEME_IDS,
30 MOBILE_DEFAULT_THEME_ID,
31]);
32​
33export type BuiltInThemeId = (typeof BUILT_IN_THEME_IDS)[number];
34export type MobileThemeId = (typeof MOBILE_THEME_IDS)[number];
35export type ThemeAppearance = "light" | "dark";
36​
37export const THEME_COLOR_ROLES = [
38 "canvas",
39 "chrome",
40 "toolbar",
41 "toolbarForeground",
42 "toolbarBorder",
43 "toolbarControl",
44 "toolbarControlForeground",
45 "toolbarControlHover",
46 "surface",
47 "surfaceRaised",
48 "surfaceOverlay",
49 "text",
50 "textMuted",
51 "border",
52 "input",
53 "focus",
54 "accent",
55 "accentForeground",
56 "secondary",
57 "secondaryForeground",
58 "muted",
59 "mutedForeground",
60 "placeholder",
61 "secondaryLabel",
62 "iconMuted",
63 "error",
64 "errorForeground",
65 "errorSurface",
66 "warning",
67 "warningForeground",
68 "warningSurface",
69 "update",
70 "updateForeground",
71 "updateSurface",
72 "accentSurface",
73 "accentSurfaceForeground",
74 "messageSurface",
75 "messageForeground",
76 "messageAction",
77 "messageActionForeground",
78 "messageActionHover",
79 "codeBackground",
80 "codeForeground",
81 "searchMatchBackground",
82 "searchMatchForeground",
83 "searchMatchActiveBackground",
84 "searchMatchActiveForeground",
85 "sidebar",
86 "sidebarForeground",
87 "sidebarMutedForeground",
88 "sidebarControlSurface",
89 "sidebarRowHover",
90 "sidebarRowActive",
91 "sidebarRowSelected",
92 "sidebarBorder",
93 "terminalBackground",
94 "terminalForeground",
95 "terminalCursor",
96 "terminalSelection",
97 "terminalScrollbar",
98 "terminalScrollbarHover",
99] as const;
100​
101export type ThemeColorRole = (typeof THEME_COLOR_ROLES)[number];
102export type ThemeColors = Readonly<Record<ThemeColorRole, string>>;
103export type ThemeVariants = Readonly<Partial<Record<ThemeAppearance, ThemeColors>>>;
104export type ThemeDefinition = Readonly<{
105 id: string;
106 label: string;
107 appearance: ThemeAppearance;
108 colors: ThemeColors;
109 variants?: ThemeVariants;
110 collection?: Readonly<{ id: string; label: string }>;
111 sidebarArtwork?: boolean;
112 managed?: boolean;
113}>;
114​
115export const T3_CODE_LIGHT_THEME_COLORS: ThemeColors = {
116 searchMatchBackground: "#ffde8b",
117 searchMatchForeground: "#21180a",
118 searchMatchActiveBackground: "#eea52b",
119 searchMatchActiveForeground: "#21180a",
120 canvas: "#fcfcfc",
121 chrome: "#fcfcfc",
122 toolbar: "#fcfcfc",
123 toolbarForeground: "#272727",
124 toolbarBorder: "#e4e4e4",
125 toolbarControl: "#ffffff",
126 toolbarControlForeground: "#272727",
127 toolbarControlHover: "#f4f4f4",
128 surface: "#ffffff",
129 surfaceRaised: "#fcfcfc",
130 surfaceOverlay: "#ffffff",
131 text: "#272727",
132 textMuted: "#727272",
133 border: "#e4e4e4",
134 input: "#d4d4d4",
135 focus: "#1b4ed8",
136 accent: "#1b4ed8",
137 accentForeground: "#ffffff",
138 secondary: "#fafafa",
139 secondaryForeground: "#272727",
140 muted: "#fafafa",
141 mutedForeground: "#727272",
142 placeholder: "#727272",
143 secondaryLabel: "#727272",
144 iconMuted: "#727272",
145 error: "#fb2c36",
146 errorForeground: "#c10007",
147 errorSurface: "#fcebec",
148 warning: "#fe9a00",
149 warningForeground: "#bb4d00",
150 warningSurface: "#fcf4e8",
151 update: "#1b4ed8",
152 updateForeground: "#1b4ed8",
153 updateSurface: "#e0e6f7",
154 accentSurface: "#f4f4f4",
155 accentSurfaceForeground: "#181818",
156 messageSurface: "#f4f4f4",
157 messageForeground: "#272727",
158 messageAction: "#1b4ed8",
159 messageActionForeground: "#ffffff",
160 messageActionHover: "#3160db",
161 codeBackground: "#ffffff",
162 codeForeground: "#272727",
163 sidebar: "#fafafa",
164 sidebarForeground: "#272727",
165 sidebarMutedForeground: "#727272",
166 sidebarControlSurface: "#f4f4f4",
167 sidebarRowHover: "#fcfcfc",
168 sidebarRowActive: "#ffffff",
169 sidebarRowSelected: "#ffffff",
170 sidebarBorder: "#e4e4e4",
171 terminalBackground: "#fcfcfc",
172 terminalForeground: "#272727",
173 terminalCursor: "#373737",
174 terminalSelection: "#d5d5d5",
175 terminalScrollbar: "#d6d6d6",
176 terminalScrollbarHover: "#bdbdbd",
177};
178​
179export const T3_CODE_DARK_THEME_COLORS: ThemeColors = {
180 searchMatchBackground: "#8c6c1f",
181 searchMatchForeground: "#f5f5f5",
182 searchMatchActiveBackground: "#eea52b",
183 searchMatchActiveForeground: "#21180a",
184 canvas: "#0a0a0a",
185 chrome: "#0a0a0a",
186 toolbar: "#0a0a0a",
187 toolbarForeground: "#f5f5f5",
188 toolbarBorder: "#191919",
189 toolbarControl: "#111111",
190 toolbarControlForeground: "#f5f5f5",
191 toolbarControlHover: "#141414",
192 surface: "#111111",
193 surfaceRaised: "#111111",
194 surfaceOverlay: "#111111",
195 text: "#f5f5f5",
196 textMuted: "#818181",
197 border: "#191919",
198 input: "#1e1e1e",
199 focus: "#346bf1",
200 accent: "#346bf1",
201 accentForeground: "#ffffff",
202 secondary: "#111111",
203 secondaryForeground: "#f5f5f5",
204 muted: "#111111",
205 mutedForeground: "#818181",
206 placeholder: "#818181",
207 secondaryLabel: "#818181",
208 iconMuted: "#818181",
209 error: "#fb414a",
210 errorForeground: "#ff6467",
211 errorSurface: "#301214",
212 warning: "#fe9a00",
213 warningForeground: "#ffb900",
214 warningSurface: "#312108",
215 update: "#346bf1",
216 updateForeground: "#51a2ff",
217 updateSurface: "#121b34",
218 accentSurface: "#141414",
219 accentSurfaceForeground: "#f5f5f5",
220 messageSurface: "#141414",
221 messageForeground: "#f5f5f5",
222 messageAction: "#346bf1",
223 messageActionForeground: "#ffffff",
224 messageActionHover: "#3061d9",
225 codeBackground: "#111111",
226 codeForeground: "#f5f5f5",
227 sidebar: "#000000",
228 sidebarForeground: "#f3f3f3",
229 sidebarMutedForeground: "#a3a3a3",
230 sidebarControlSurface: "#0a0a0a",
231 sidebarRowHover: "#131313",
232 sidebarRowActive: "#1b1b1b",
233 sidebarRowSelected: "#111111",
234 sidebarBorder: "#141414",
235 terminalBackground: "#0a0a0a",
236 terminalForeground: "#f5f5f5",
237 terminalCursor: "#cbcbcb",
238 terminalSelection: "#3a3a3a",
239 terminalScrollbar: "#222222",
240 terminalScrollbarHover: "#363636",
241};
242​
243// The default palette painted by upstream c6ca605630, including its sidebar overrides.
244export const T3_CODE_CLASSIC_THEME: ThemeDefinition = {
245 id: "t3-code-classic",
246 label: "T3 Code Classic",
247 appearance: "light",
248 colors: {
249 canvas: "#fcfcfc",
250 chrome: "#fafafa",
251 toolbar: "#fafafa",
252 toolbarForeground: "#18181b",
253 toolbarBorder: "#e4e4e7",
254 toolbarControl: "#ffffff",
255 toolbarControlForeground: "#18181b",
256 toolbarControlHover: "#f4f4f5",
257 surface: "#ffffff",
258 surfaceRaised: "#fdfdfd",
259 surfaceOverlay: "#ffffff",
260 text: "#18181b",
261 textMuted: "#71717b",
262 border: "#e4e4e7",
263 input: "#d4d4d8",
264 focus: "#1b4ed8",
265 accent: "#1b4ed8",
266 accentForeground: "#ffffff",
267 secondary: "#fafafa",
268 secondaryForeground: "#27272a",
269 muted: "#fafafa",
270 mutedForeground: "#71717b",
271 placeholder: "#71717b",
272 secondaryLabel: "#71717b",
273 iconMuted: "#71717b",
274 error: "#fb2c36",
275 errorForeground: "#c10007",
276 errorSurface: "#fcebec",
277 warning: "#fe9a00",
278 warningForeground: "#bb4d00",
279 warningSurface: "#fcf4e8",
280 update: "#1b4ed8",
281 updateForeground: "#1b4ed8",
282 updateSurface: "#e0e6f7",
283 accentSurface: "#f4f4f5",
284 accentSurfaceForeground: "#18181b",
285 messageSurface: "#ebebed",
286 messageForeground: "#18181b",
287 messageAction: "#1b4ed8",
288 messageActionForeground: "#ffffff",
289 messageActionHover: "#3160db",
290 codeBackground: "#ffffff",
291 codeForeground: "#18181b",
292 searchMatchBackground: "#ffde8b",
293 searchMatchForeground: "#21180a",
294 searchMatchActiveBackground: "#eea52b",
295 searchMatchActiveForeground: "#21180a",
296 sidebar: "#fafafa",
297 sidebarForeground: "#18181b",
298 sidebarMutedForeground: "#71717b",
299 sidebarControlSurface: "#f4f4f5",
300 sidebarRowHover: "#fcfcfc",
301 sidebarRowActive: "#ffffff",
302 sidebarRowSelected: "#ffffff",
303 sidebarBorder: "#e4e4e7",
304 terminalBackground: "#fcfcfc",
305 terminalForeground: "#18181b",
306 terminalCursor: "#26384e",
307 terminalSelection: "rgba(37, 63, 99, 0.2)",
308 terminalScrollbar: "#d9d9d9",
309 terminalScrollbarHover: "#bfbfbf",
310 },
311 variants: {
312 dark: {
313 canvas: "#000000",
314 chrome: "#000000",
315 toolbar: "#000000",
316 toolbarForeground: "#f5f5f5",
317 toolbarBorder: "rgba(255, 255, 255, 0.08)",
318 toolbarControl: "#111111",
319 toolbarControlForeground: "#f5f5f5",
320 toolbarControlHover: "rgba(255, 255, 255, 0.04)",
321 surface: "#111111",
322 surfaceRaised: "#111111",
323 surfaceOverlay: "#111111",
324 text: "#f5f5f5",
325 textMuted: "#a1a1a1",
326 border: "rgba(255, 255, 255, 0.08)",
327 input: "rgba(255, 255, 255, 0.11)",
328 focus: "#346bf1",
329 accent: "#346bf1",
330 accentForeground: "#ffffff",
331 secondary: "#080808",
332 secondaryForeground: "#f5f5f5",
333 muted: "#080808",
334 mutedForeground: "#a1a1a1",
335 placeholder: "#a1a1a1",
336 secondaryLabel: "#a1a1a1",
337 iconMuted: "#a1a1a1",
338 error: "#fb414a",
339 errorForeground: "#ff6467",
340 errorSurface: "#280a0c",
341 warning: "#fe9a00",
342 warningForeground: "#ffb900",
343 warningSurface: "#291900",
344 update: "#346bf1",
345 updateForeground: "#51a2ff",
346 updateSurface: "#121b34",
347 accentSurface: "#0a0a0a",
348 accentSurfaceForeground: "#f5f5f5",
349 messageSurface: "#1e1e1e",
350 messageForeground: "#f5f5f5",
351 messageAction: "#346bf1",
352 messageActionForeground: "#ffffff",
353 messageActionHover: "#2f60d9",
354 codeBackground: "#101010",
355 codeForeground: "#f5f5f5",
356 searchMatchBackground: "#8c6c1f",
357 searchMatchForeground: "#f5f5f5",
358 searchMatchActiveBackground: "#eea52b",
359 searchMatchActiveForeground: "#21180a",
360 sidebar: "#000000",
361 sidebarForeground: "#f1f3f7",
362 sidebarMutedForeground: "#a3a3a3",
363 sidebarControlSurface: "#0a0a0a",
364 sidebarRowHover: "#131314",
365 sidebarRowActive: "#1b1b1b",
366 sidebarRowSelected: "#111111",
367 sidebarBorder: "rgba(255, 255, 255, 0.08)",
368 terminalBackground: "#000000",
369 terminalForeground: "#f5f5f5",
370 terminalCursor: "#b4cbff",
371 terminalSelection: "rgba(180, 203, 255, 0.25)",
372 terminalScrollbar: "rgba(255, 255, 255, 0.08)",
373 terminalScrollbarHover: "rgba(255, 255, 255, 0.12)",
374 },
375 },
376};
377​
378export const T3_CHAT_THEME: ThemeDefinition = {
379 id: "t3-chat",
380 label: "T3 Chat",
381 appearance: "light",
382 colors: {
383 canvas: "oklch(0.982446 0.010114 325.653)",
384 chrome: "oklch(0.982446 0.010114 325.653)",
385 toolbar: "oklch(0.982446 0.010114 325.653)",
386 toolbarForeground: "oklch(0.325698 0.116116 325.037)",
387 toolbarBorder: "oklch(0.856784 0.082879 328.911)",
388 toolbarControl: "oklch(0.939552 0.024286 321.664)",
389 toolbarControlForeground: "oklch(0.325698 0.116116 325.037)",
390 toolbarControlHover: "oklch(0.884525 0.041658 337.177)",
391 surface: "oklch(0.994446 0.012884 321.894)",
392 surfaceRaised: "oklch(0.988235 0.005049 325.615)",
393 surfaceOverlay: "oklch(1 0 0)",
394 text: "oklch(0.325698 0.116116 325.037)",
395 textMuted: "oklch(0.494754 0.190937 354.544)",
396 border: "oklch(0.923531 0.021247 328.096)",
397 input: "oklch(0.851713 0.055822 336.6)",
398 focus: "oklch(0.591646 0.217985 0.584)",
399 accent: "oklch(0.591646 0.217985 0.584)",
400 accentForeground: "oklch(1 0 0)",
401 secondary: "oklch(0.869588 0.06751 334.899)",
402 secondaryForeground: "oklch(0.444777 0.134061 324.799)",
403 muted: "oklch(0.802407 0.090963 345.892)",
404 mutedForeground: "oklch(0.428932 0.163929 354.332)",
405 placeholder: "oklch(0.549927 0.090215 323.149)",
406 secondaryLabel: "oklch(0.494754 0.190937 354.544)",
407 iconMuted: "oklch(0.494754 0.190937 354.544)",
408 error: "oklch(0.627117 0.248974 7.734)",
409 errorForeground: "oklch(0.458704 0.169677 3.815)",
410 errorSurface: "oklch(0.942787 0.032076 344.963)",
411 warning: "oklch(0.76859 0.164659 70.08)",
412 warningForeground: "oklch(0.54612 0.143036 48.949)",
413 warningSurface: "oklch(0.962901 0.015297 48.56)",
414 update: "oklch(0.591646 0.217985 0.584)",
415 updateForeground: "oklch(0.494754 0.190937 354.544)",
416 updateSurface: "oklch(0.930264 0.036194 341.45)",
417 accentSurface: "oklch(0.939552 0.024286 321.664)",
418 accentSurfaceForeground: "oklch(0.396296 0.025134 285.196)",
419 messageSurface: "oklch(0.926746 0.037898 332.6)",
420 messageForeground: "oklch(0.354591 0.093575 307.568)",
421 messageAction: "oklch(0.591646 0.217985 0.584)",
422 messageActionForeground: "oklch(1 0 0)",
423 messageActionHover: "oklch(0.539042 0.197866 0.305)",
424 codeBackground: "oklch(0.953855 0.019695 315.668)",
425 codeForeground: "oklch(0.445128 0.13005 307.026)",
426 searchMatchBackground: "oklch(0.915 0.11 85)",
427 searchMatchForeground: "oklch(0.216164 0.028283 77.423)",
428 searchMatchActiveBackground: "oklch(0.774202 0.151946 74.331)",
429 searchMatchActiveForeground: "oklch(0.216164 0.028283 77.423)",
430 sidebar: "oklch(0.928886 0.031178 322.592)",
431 sidebarForeground: "oklch(0.396296 0.025134 285.196)",
432 sidebarMutedForeground: "oklch(0.494754 0.190937 354.544)",
433 sidebarControlSurface: "oklch(0.978851 0.001321 106.424)",
434 sidebarRowHover: "oklch(0.978851 0.001321 106.424)",
435 sidebarRowActive: "oklch(0.978851 0.001321 106.424)",
436 sidebarRowSelected: "oklch(0.978851 0.001321 106.424)",
437 sidebarBorder: "oklch(0.938313 0.002552 48.717)",
438 terminalBackground: "oklch(0.982446 0.010114 325.653)",
439 terminalForeground: "oklch(0.325698 0.116116 325.037)",
440 terminalCursor: "oklch(0.591646 0.217985 0.584)",
441 terminalSelection: "oklch(0.869588 0.06751 334.899)",
442 terminalScrollbar: "oklch(0.851713 0.055822 336.6)",
443 terminalScrollbarHover: "oklch(0.802407 0.090963 345.892)",
444 },
445 variants: {
446 dark: {
447 canvas: "oklch(0.22813 0.020366 307.469)",
448 chrome: "oklch(0.22813 0.020366 307.469)",
449 toolbar: "oklch(0.22813 0.020366 307.469)",
450 toolbarForeground: "oklch(0.980735 0.004092 301.426)",
451 toolbarBorder: "oklch(0.266943 0.015262 302.425)",
452 toolbarControl: "oklch(0.313674 0.030572 310.061)",
453 toolbarControlForeground: "oklch(0.848252 0.038248 307.961)",
454 toolbarControlHover: "oklch(0.364912 0.050794 308.491)",
455 surface: "oklch(0.267101 0.02016 311.799)",
456 surfaceRaised: "oklch(0.279864 0.021572 309.532)",
457 surfaceOverlay: "oklch(0.267101 0.02016 311.799)",
458 text: "oklch(0.980735 0.004092 301.426)",
459 textMuted: "oklch(0.880303 0.03077 342.696)",
460 border: "oklch(0.266943 0.015262 302.425)",
461 input: "oklch(0.266817 0.02897 344.461)",
462 focus: "oklch(0.591646 0.217985 0.584)",
463 accent: "oklch(0.460685 0.185347 4.099)",
464 accentForeground: "oklch(0.901233 0.057189 343.694)",
465 secondary: "oklch(0.313674 0.030572 310.061)",
466 secondaryForeground: "oklch(0.848252 0.038248 307.961)",
467 muted: "oklch(0.360924 0.021469 316.83)",
468 mutedForeground: "oklch(0.880303 0.03077 342.696)",
469 placeholder: "oklch(0.657087 0.028226 307.985)",
470 secondaryLabel: "oklch(0.880303 0.03077 342.696)",
471 iconMuted: "oklch(0.848252 0.038248 307.961)",
472 error: "oklch(0.458704 0.169677 3.815)",
473 errorForeground: "oklch(0.901233 0.057189 343.694)",
474 errorSurface: "oklch(0.259022 0.04799 340.062)",
475 warning: "oklch(0.76859 0.164659 70.08)",
476 warningForeground: "oklch(0.836861 0.164422 84.429)",
477 warningSurface: "oklch(0.321706 0.036256 60.806)",
478 update: "oklch(0.460685 0.185347 4.099)",
479 updateForeground: "oklch(0.901233 0.057189 343.694)",
480 updateSurface: "oklch(0.256077 0.063004 342.914)",
481 accentSurface: "oklch(0.364912 0.050794 308.491)",
482 accentSurfaceForeground: "oklch(0.964695 0.009139 341.803)",
483 messageSurface: "oklch(0.273791 0.025541 309.079)",
484 messageForeground: "oklch(0.949872 0.021269 306.838)",
485 messageAction: "oklch(0.460685 0.185347 4.099)",
486 messageActionForeground: "oklch(0.901233 0.057189 343.694)",
487 messageActionHover: "oklch(0.458754 0.184639 3.857)",
488 codeBackground: "oklch(0.22813 0.020366 307.469)",
489 codeForeground: "oklch(0.848703 0.064239 306.645)",
490 searchMatchBackground: "oklch(0.55 0.1 85)",
491 searchMatchForeground: "oklch(0.970151 0 0)",
492 searchMatchActiveBackground: "oklch(0.774202 0.151946 74.331)",
493 searchMatchActiveForeground: "oklch(0.216164 0.028283 77.423)",
494 sidebar: "oklch(0.185778 0.019368 322.159)",
495 sidebarForeground: "oklch(0.967434 0.001326 286.375)",
496 sidebarMutedForeground: "oklch(0.880303 0.03077 342.696)",
497 sidebarControlSurface: "oklch(0.23366 0.026081 338.196)",
498 sidebarRowHover: "oklch(0.23366 0.026081 338.196)",
499 sidebarRowActive: "oklch(0.23366 0.026081 338.196)",
500 sidebarRowSelected: "oklch(0.23366 0.026081 338.196)",
501 sidebarBorder: "oklch(0.269132 0.030766 351.067)",
502 terminalBackground: "oklch(0.22813 0.020366 307.469)",
503 terminalForeground: "oklch(0.980735 0.004092 301.426)",
504 terminalCursor: "oklch(0.591646 0.217985 0.584)",
505 terminalSelection: "oklch(0.313674 0.030572 310.061)",
506 terminalScrollbar: "oklch(0.266817 0.02897 344.461)",
507 terminalScrollbarHover: "oklch(0.360924 0.021469 316.83)",
508 },
509 },
510 sidebarArtwork: true,
511};
512​
513export const GROVE_THEME: ThemeDefinition = {
514 id: "grove",
515 label: "Grove",
516 appearance: "light",
517 colors: {
518 canvas: "oklch(0.972369 0.005497 157.15)",
519 chrome: "oklch(0.972369 0.005497 157.15)",
520 toolbar: "oklch(0.972369 0.005497 157.15)",
521 toolbarForeground: "oklch(0.222003 0.03479 328.979)",
522 toolbarBorder: "oklch(0.909438 0.021521 164.612)",
523 toolbarControl: "oklch(0.936464 0.014601 163.554)",
524 toolbarControlForeground: "oklch(0.222003 0.03479 328.979)",
525 toolbarControlHover: "oklch(0.909438 0.021521 164.612)",
526 surface: "oklch(0.984369 0.005497 157.15)",
527 surfaceRaised: "oklch(0.949276 0.004496 159.002)",
528 surfaceOverlay: "oklch(0.981369 0.003778 160.944)",
529 text: "oklch(0.222003 0.03479 328.979)",
530 textMuted: "oklch(0.540472 0.014944 326.176)",
531 border: "oklch(0.864831 0.01312 167.255)",
532 input: "oklch(0.829746 0.016084 168.234)",
533 focus: "oklch(0.523295 0.112292 158.089)",
534 accent: "oklch(0.523295 0.112292 158.089)",
535 accentForeground: "oklch(0.990339 0.008411 325.64)",
536 secondary: "oklch(0.936464 0.014601 163.554)",
537 secondaryForeground: "oklch(0.222003 0.03479 328.979)",
538 muted: "oklch(0.945455 0.012308 162.879)",
539 mutedForeground: "oklch(0.527266 0.012309 320.683)",
540 placeholder: "oklch(0.529681 0.01551 326.299)",
541 secondaryLabel: "oklch(0.540472 0.014944 326.176)",
542 iconMuted: "oklch(0.540472 0.014944 326.176)",
543 error: "oklch(0.637823 0.237287 25.436)",
544 errorForeground: "oklch(0.509494 0.208583 28.513)",
545 errorSurface: "oklch(0.936968 0.014243 26.295)",
546 warning: "oklch(0.772406 0.172798 65.367)",
547 warningForeground: "oklch(0.545036 0.155019 45.359)",
548 warningSurface: "oklch(0.953175 0.02009 93.379)",
549 update: "oklch(0.523295 0.112292 158.089)",
550 updateForeground: "oklch(0.388012 0.080082 158.768)",
551 updateSurface: "oklch(0.900411 0.02384 164.795)",
552 accentSurface: "oklch(0.909438 0.021521 164.612)",
553 accentSurfaceForeground: "oklch(0.222003 0.03479 328.979)",
554 messageSurface: "oklch(0.891377 0.026164 164.929)",
555 messageForeground: "oklch(0.222003 0.03479 328.979)",
556 messageAction: "oklch(0.535028 0.106403 77.549)",
557 messageActionForeground: "oklch(0.990339 0.008411 325.64)",
558 messageActionHover: "oklch(0.488753 0.096536 77.829)",
559 codeBackground: "oklch(0.955888 0.004783 158.391)",
560 codeForeground: "oklch(0.222003 0.03479 328.979)",
561 searchMatchBackground: "oklch(0.915 0.11 85)",
562 searchMatchForeground: "oklch(0.216164 0.028283 77.423)",
563 searchMatchActiveBackground: "oklch(0.774202 0.151946 74.331)",
564 searchMatchActiveForeground: "oklch(0.216164 0.028283 77.423)",
565 sidebar: "oklch(0.936464 0.014601 163.554)",
566 sidebarForeground: "oklch(0.222003 0.03479 328.979)",
567 sidebarMutedForeground: "oklch(0.515606 0.011938 318.897)",
568 sidebarControlSurface: "oklch(0.88585 0.011734 166.331)",
569 sidebarRowHover: "oklch(0.886676 0.027374 164.983)",
570 sidebarRowActive: "oklch(0.85335 0.03597 165.158)",
571 sidebarRowSelected: "oklch(0.836654 0.040284 165.149)",
572 sidebarBorder: "oklch(0.860274 0.010287 168.339)",
573 terminalBackground: "oklch(0.972369 0.005497 157.15)",
574 terminalForeground: "oklch(0.222003 0.03479 328.979)",
575 terminalCursor: "oklch(0.523295 0.112292 158.089)",
576 terminalSelection: "oklch(0.891377 0.026164 164.929)",
577 terminalScrollbar: "oklch(0.824752 0.001392 294.641)",
578 terminalScrollbarHover: "oklch(0.755495 0.004415 318.776)",
579 },
580 variants: {
581 dark: {
582 canvas: "oklch(0.260865 0.02152 162.75)",
583 chrome: "oklch(0.260865 0.02152 162.75)",
584 toolbar: "oklch(0.260865 0.02152 162.75)",
585 toolbarForeground: "oklch(0.990339 0.008411 325.64)",
586 toolbarBorder: "oklch(0.464636 0.066083 158.72)",
587 toolbarControl: "oklch(0.380487 0.048313 159.608)",
588 toolbarControlForeground: "oklch(0.990339 0.008411 325.64)",
589 toolbarControlHover: "oklch(0.437021 0.060312 158.962)",
590 surface: "oklch(0.285865 0.02152 162.75)",
591 surfaceRaised: "oklch(0.363192 0.016572 165.32)",
592 surfaceOverlay: "oklch(0.411828 0.014378 166.627)",
593 text: "oklch(0.990339 0.008411 325.64)",
594 textMuted: "oklch(0.666747 0.004239 187.292)",
595 border: "oklch(0.457475 0.044046 160.971)",
596 input: "oklch(0.519849 0.049896 160.863)",
597 focus: "oklch(0.796228 0.133058 157.319)",
598 accent: "oklch(0.796228 0.133058 157.319)",
599 accentForeground: "oklch(0.222003 0.03479 328.979)",
600 secondary: "oklch(0.380487 0.048313 159.608)",
601 secondaryForeground: "oklch(0.990339 0.008411 325.64)",
602 muted: "oklch(0.339728 0.039456 160.274)",
603 mutedForeground: "oklch(0.715427 0.010896 171.428)",
604 placeholder: "oklch(0.739243 0.002222 223.225)",
605 secondaryLabel: "oklch(0.666747 0.004239 187.292)",
606 iconMuted: "oklch(0.666747 0.004239 187.292)",
607 error: "oklch(0.655108 0.221148 23.473)",
608 errorForeground: "oklch(0.704237 0.187511 22.228)",
609 errorSurface: "oklch(0.312773 0.02923 32.121)",
610 warning: "oklch(0.772406 0.172798 65.367)",
611 warningForeground: "oklch(0.829017 0.171221 81.038)",
612 warningSurface: "oklch(0.345524 0.046882 99.736)",
613 update: "oklch(0.796228 0.133058 157.319)",
614 updateForeground: "oklch(0.86276 0.089288 159.704)",
615 updateSurface: "oklch(0.448116 0.062637 158.86)",
616 accentSurface: "oklch(0.437021 0.060312 158.962)",
617 accentSurfaceForeground: "oklch(0.990339 0.008411 325.64)",
618 messageSurface: "oklch(0.470111 0.067221 158.676)",
619 messageForeground: "oklch(0.990339 0.008411 325.64)",
620 messageAction: "oklch(0.791603 0.129713 83.299)",
621 messageActionForeground: "oklch(0.222003 0.03479 328.979)",
622 messageActionHover: "oklch(0.815227 0.117902 84.21)",
623 codeBackground: "oklch(0.312979 0.018942 164.082)",
624 codeForeground: "oklch(0.990339 0.008411 325.64)",
625 searchMatchBackground: "oklch(0.55 0.1 85)",
626 searchMatchForeground: "oklch(0.970151 0 0)",
627 searchMatchActiveBackground: "oklch(0.774202 0.151946 74.331)",
628 searchMatchActiveForeground: "oklch(0.216164 0.028283 77.423)",
629 sidebar: "oklch(0.309925 0.032827 160.944)",
630 sidebarForeground: "oklch(0.990339 0.008411 325.64)",
631 sidebarMutedForeground: "oklch(0.711387 0.007643 175.89)",
632 sidebarControlSurface: "oklch(0.432727 0.024549 163.654)",
633 sidebarRowHover: "oklch(0.374959 0.047124 159.686)",
634 sidebarRowActive: "oklch(0.41688 0.056069 159.165)",
635 sidebarRowSelected: "oklch(0.437466 0.060406 158.958)",
636 sidebarBorder: "oklch(0.569253 0.015933 167.062)",
637 terminalBackground: "oklch(0.260865 0.02152 162.75)",
638 terminalForeground: "oklch(0.990339 0.008411 325.64)",
639 terminalCursor: "oklch(0.796228 0.133058 157.319)",
640 terminalSelection: "oklch(0.464636 0.066083 158.72)",
641 terminalScrollbar: "oklch(0.594692 0.006862 176.022)",
642 terminalScrollbarHover: "oklch(0.687968 0.00354 193.55)",
643 },
644 },
645 sidebarArtwork: true,
646};
647​
648export const OCEAN_THEME: ThemeDefinition = {
649 id: "ocean",
650 label: "Ocean",
651 appearance: "light",
652 colors: {
653 canvas: "oklch(0.974199 0.002856 241.597)",
654 chrome: "oklch(0.974199 0.002856 241.597)",
655 toolbar: "oklch(0.974199 0.002856 241.597)",
656 toolbarForeground: "oklch(0.222003 0.03479 328.979)",
657 toolbarBorder: "oklch(0.91295 0.018827 241.836)",
658 toolbarControl: "oklch(0.939254 0.01193 241.729)",
659 toolbarControlForeground: "oklch(0.222003 0.03479 328.979)",
660 toolbarControlHover: "oklch(0.91295 0.018827 241.836)",
661 surface: "oklch(0.986199 0.002856 241.597)",
662 surfaceRaised: "oklch(0.951058 0.002962 258.339)",
663 surfaceOverlay: "oklch(0.983199 0.003181 269.1)",
664 text: "oklch(0.222003 0.03479 328.979)",
665 textMuted: "oklch(0.541555 0.017468 323.531)",
666 border: "oklch(0.867646 0.013482 252.362)",
667 input: "oklch(0.832939 0.017389 252.598)",
668 focus: "oklch(0.536684 0.120219 247.01)",
669 accent: "oklch(0.536684 0.120219 247.01)",
670 accentForeground: "oklch(0.990339 0.008411 325.64)",
671 secondary: "oklch(0.939254 0.01193 241.729)",
672 secondaryForeground: "oklch(0.222003 0.03479 328.979)",
673 muted: "oklch(0.948004 0.009649 241.695)",
674 mutedForeground: "oklch(0.528741 0.01828 313.823)",
675 placeholder: "oklch(0.530733 0.01795 323.79)",
676 secondaryLabel: "oklch(0.541555 0.017468 323.531)",
677 iconMuted: "oklch(0.541555 0.017468 323.531)",
678 error: "oklch(0.637823 0.237287 25.436)",
679 errorForeground: "oklch(0.509494 0.208583 28.513)",
680 errorSurface: "oklch(0.938747 0.016377 7.186)",
681 warning: "oklch(0.772406 0.172798 65.367)",
682 warningForeground: "oklch(0.546927 0.155556 45.359)",
683 warningSurface: "oklch(0.954846 0.016009 81.731)",
684 update: "oklch(0.536684 0.120219 247.01)",
685 updateForeground: "oklch(0.397497 0.084999 246.523)",
686 updateSurface: "oklch(0.904165 0.021144 241.874)",
687 accentSurface: "oklch(0.91295 0.018827 241.836)",
688 accentSurfaceForeground: "oklch(0.222003 0.03479 328.979)",
689 messageSurface: "oklch(0.895373 0.023469 241.913)",
690 messageForeground: "oklch(0.222003 0.03479 328.979)",
691 messageAction: "oklch(0.493961 0.08175 201.584)",
692 messageActionForeground: "oklch(0.990339 0.008411 325.64)",
693 messageActionHover: "oklch(0.45151 0.074407 201.516)",
694 codeBackground: "oklch(0.957684 0.002906 253.68)",
695 codeForeground: "oklch(0.222003 0.03479 328.979)",
696 searchMatchBackground: "oklch(0.915 0.11 85)",
697 searchMatchForeground: "oklch(0.216164 0.028283 77.423)",
698 searchMatchActiveBackground: "oklch(0.774202 0.151946 74.331)",
699 searchMatchActiveForeground: "oklch(0.216164 0.028283 77.423)",
700 sidebar: "oklch(0.939254 0.01193 241.729)",
701 sidebarForeground: "oklch(0.222003 0.03479 328.979)",
702 sidebarMutedForeground: "oklch(0.517366 0.018944 311.433)",
703 sidebarControlSurface: "oklch(0.888479 0.011475 251.638)",
704 sidebarRowHover: "oklch(0.890798 0.024681 241.933)",
705 sidebarRowActive: "oklch(0.858363 0.033325 242.089)",
706 sidebarRowSelected: "oklch(0.842113 0.037689 242.174)",
707 sidebarBorder: "oklch(0.862823 0.011384 256.926)",
708 terminalBackground: "oklch(0.974199 0.002856 241.597)",
709 terminalForeground: "oklch(0.222003 0.03479 328.979)",
710 terminalCursor: "oklch(0.536684 0.120219 247.01)",
711 terminalSelection: "oklch(0.895373 0.023469 241.913)",
712 terminalScrollbar: "oklch(0.826271 0.006191 305.456)",
713 terminalScrollbarHover: "oklch(0.756866 0.008685 313.721)",
714 },
715 variants: {
716 dark: {
717 canvas: "oklch(0.242641 0.024125 250.573)",
718 chrome: "oklch(0.242641 0.024125 250.573)",
719 toolbar: "oklch(0.242641 0.024125 250.573)",
720 toolbarForeground: "oklch(0.990339 0.008411 325.64)",
721 toolbarBorder: "oklch(0.439946 0.0561 243.479)",
722 toolbarControl: "oklch(0.358725 0.043145 244.911)",
723 toolbarControlForeground: "oklch(0.990339 0.008411 325.64)",
724 toolbarControlHover: "oklch(0.413315 0.051874 243.855)",
725 surface: "oklch(0.267641 0.024125 250.573)",
726 surfaceRaised: "oklch(0.348439 0.019942 253.696)",
727 surfaceOverlay: "oklch(0.398517 0.018232 255.72)",
728 text: "oklch(0.990339 0.008411 325.64)",
729 textMuted: "oklch(0.652227 0.01149 273.31)",
730 border: "oklch(0.438653 0.039496 245.44)",
731 input: "oklch(0.500905 0.043574 244.781)",
732 focus: "oklch(0.758933 0.105833 241.548)",
733 accent: "oklch(0.758933 0.105833 241.548)",
734 accentForeground: "oklch(0.222003 0.03479 328.979)",
735 secondary: "oklch(0.358725 0.043145 244.911)",
736 secondaryForeground: "oklch(0.990339 0.008411 325.64)",
737 muted: "oklch(0.319287 0.036766 246.065)",
738 mutedForeground: "oklch(0.691936 0.016294 261.588)",
739 placeholder: "oklch(0.721641 0.010192 281.271)",
740 secondaryLabel: "oklch(0.652227 0.01149 273.31)",
741 iconMuted: "oklch(0.652227 0.01149 273.31)",
742 error: "oklch(0.655108 0.221148 23.473)",
743 errorForeground: "oklch(0.702184 0.189226 22.228)",
744 errorSurface: "oklch(0.298933 0.036443 350.094)",
745 warning: "oklch(0.772406 0.172798 65.367)",
746 warningForeground: "oklch(0.829017 0.171221 81.038)",
747 warningSurface: "oklch(0.329449 0.028712 84.495)",
748 update: "oklch(0.758933 0.105833 241.548)",
749 updateForeground: "oklch(0.840844 0.069217 240.151)",
750 updateSurface: "oklch(0.424017 0.053575 243.695)",
751 accentSurface: "oklch(0.413315 0.051874 243.855)",
752 accentSurfaceForeground: "oklch(0.990339 0.008411 325.64)",
753 messageSurface: "oklch(0.445224 0.056936 243.413)",
754 messageForeground: "oklch(0.990339 0.008411 325.64)",
755 messageAction: "oklch(0.793363 0.105022 199.893)",
756 messageActionForeground: "oklch(0.222003 0.03479 328.979)",
757 messageActionHover: "oklch(0.815308 0.096174 199.862)",
758 codeBackground: "oklch(0.29661 0.021883 251.968)",
759 codeForeground: "oklch(0.990339 0.008411 325.64)",
760 searchMatchBackground: "oklch(0.55 0.1 85)",
761 searchMatchForeground: "oklch(0.970151 0 0)",
762 searchMatchActiveBackground: "oklch(0.774202 0.151946 74.331)",
763 searchMatchActiveForeground: "oklch(0.216164 0.028283 77.423)",
764 sidebar: "oklch(0.290387 0.032043 247.274)",
765 sidebarForeground: "oklch(0.990339 0.008411 325.64)",
766 sidebarMutedForeground: "oklch(0.69099 0.01395 266.424)",
767 sidebarControlSurface: "oklch(0.417822 0.02535 250.162)",
768 sidebarRowHover: "oklch(0.353381 0.042285 245.043)",
769 sidebarRowActive: "oklch(0.393878 0.048778 244.179)",
770 sidebarRowSelected: "oklch(0.413744 0.051943 243.848)",
771 sidebarBorder: "oklch(0.55859 0.019001 256.223)",
772 terminalBackground: "oklch(0.242641 0.024125 250.573)",
773 terminalForeground: "oklch(0.990339 0.008411 325.64)",
774 terminalCursor: "oklch(0.758933 0.105833 241.548)",
775 terminalSelection: "oklch(0.439946 0.0561 243.479)",
776 terminalScrollbar: "oklch(0.58613 0.012959 267.22)",
777 terminalScrollbarHover: "oklch(0.681569 0.010909 276.465)",
778 },
779 },
780 sidebarArtwork: true,
781};
782​
783export const EMBER_THEME: ThemeDefinition = {
784 id: "ember",
785 label: "Ember",
786 appearance: "light",
787 colors: {
788 canvas: "oklch(0.976527 0.002685 60.725)",
789 chrome: "oklch(0.976527 0.002685 60.725)",
790 toolbar: "oklch(0.976527 0.002685 60.725)",
791 toolbarForeground: "oklch(0.222003 0.03479 328.979)",
792 toolbarBorder: "oklch(0.916502 0.01832 49.597)",
793 toolbarControl: "oklch(0.942267 0.01151 50.785)",
794 toolbarControlForeground: "oklch(0.222003 0.03479 328.979)",
795 toolbarControlHover: "oklch(0.916502 0.01832 49.597)",
796 surface: "oklch(0.988527 0.002685 60.725)",
797 surfaceRaised: "oklch(0.953321 0.002701 42.266)",
798 surfaceOverlay: "oklch(0.985527 0.002879 29.96)",
799 text: "oklch(0.222003 0.03479 328.979)",
800 textMuted: "oklch(0.543023 0.017316 331.964)",
801 border: "oklch(0.870631 0.013204 39.431)",
802 input: "oklch(0.836213 0.017153 38.661)",
803 focus: "oklch(0.552831 0.129438 44.656)",
804 accent: "oklch(0.552831 0.129438 44.656)",
805 accentForeground: "oklch(0.990339 0.008411 325.64)",
806 secondary: "oklch(0.942267 0.01151 50.785)",
807 secondaryForeground: "oklch(0.222003 0.03479 328.979)",
808 muted: "oklch(0.950842 0.009273 51.528)",
809 mutedForeground: "oklch(0.530413 0.018453 341.181)",
810 placeholder: "oklch(0.532339 0.017796 331.748)",
811 secondaryLabel: "oklch(0.543023 0.017316 331.964)",
812 iconMuted: "oklch(0.543023 0.017316 331.964)",
813 error: "oklch(0.637823 0.237287 25.436)",
814 errorForeground: "oklch(0.509494 0.208583 28.513)",
815 errorSurface: "oklch(0.941094 0.019938 19.375)",
816 warning: "oklch(0.772406 0.172798 65.367)",
817 warningForeground: "oklch(0.549154 0.156188 45.359)",
818 warningSurface: "oklch(0.957148 0.020843 76.702)",
819 update: "oklch(0.552831 0.129438 44.656)",
820 updateForeground: "oklch(0.408647 0.091207 45.037)",
821 updateSurface: "oklch(0.907902 0.020621 49.36)",
822 accentSurface: "oklch(0.916502 0.01832 49.597)",
823 accentSurfaceForeground: "oklch(0.222003 0.03479 328.979)",
824 messageSurface: "oklch(0.899296 0.022939 49.163)",
825 messageForeground: "oklch(0.222003 0.03479 328.979)",
826 messageAction: "oklch(0.516323 0.161628 24.82)",
827 messageActionForeground: "oklch(0.990339 0.008411 325.64)",
828 messageActionHover: "oklch(0.471223 0.145843 24.688)",
829 codeBackground: "oklch(0.959965 0.002668 47.512)",
830 codeForeground: "oklch(0.222003 0.03479 328.979)",
831 searchMatchBackground: "oklch(0.915 0.11 85)",
832 searchMatchForeground: "oklch(0.216164 0.028283 77.423)",
833 searchMatchActiveBackground: "oklch(0.774202 0.151946 74.331)",
834 searchMatchActiveForeground: "oklch(0.216164 0.028283 77.423)",
835 sidebar: "oklch(0.942267 0.01151 50.785)",
836 sidebarForeground: "oklch(0.222003 0.03479 328.979)",
837 sidebarMutedForeground: "oklch(0.519146 0.019214 343.427)",
838 sidebarControlSurface: "oklch(0.891332 0.011179 40.596)",
839 sidebarRowHover: "oklch(0.894819 0.024151 49.073)",
840 sidebarRowActive: "oklch(0.863104 0.032855 48.586)",
841 sidebarRowSelected: "oklch(0.84723 0.037292 48.403)",
842 sidebarBorder: "oklch(0.865593 0.011154 35.246)",
843 terminalBackground: "oklch(0.976527 0.002685 60.725)",
844 terminalForeground: "oklch(0.222003 0.03479 328.979)",
845 terminalCursor: "oklch(0.552831 0.129438 44.656)",
846 terminalSelection: "oklch(0.899296 0.022939 49.163)",
847 terminalScrollbar: "oklch(0.828185 0.005884 349.533)",
848 terminalScrollbarHover: "oklch(0.758584 0.008423 341.16)",
849 },
850 variants: {
851 dark: {
852 canvas: "oklch(0.245899 0.019144 42.044)",
853 chrome: "oklch(0.245899 0.019144 42.044)",
854 toolbar: "oklch(0.245899 0.019144 42.044)",
855 toolbarForeground: "oklch(0.990339 0.008411 325.64)",
856 toolbarBorder: "oklch(0.442681 0.0608 50.795)",
857 toolbarControl: "oklch(0.361499 0.044052 49.515)",
858 toolbarControlForeground: "oklch(0.990339 0.008411 325.64)",
859 toolbarControlHover: "oklch(0.416048 0.055354 50.484)",
860 surface: "oklch(0.270899 0.019144 42.044)",
861 surfaceRaised: "oklch(0.351262 0.01565 37.592)",
862 surfaceOverlay: "oklch(0.401111 0.014308 34.896)",
863 text: "oklch(0.990339 0.008411 325.64)",
864 textMuted: "oklch(0.654017 0.009505 13.287)",
865 border: "oklch(0.44099 0.040202 48.807)",
866 input: "oklch(0.503003 0.045721 49.44)",
867 focus: "oklch(0.762174 0.124117 52.082)",
868 accent: "oklch(0.762174 0.124117 52.082)",
869 accentForeground: "oklch(0.222003 0.03479 328.979)",
870 secondary: "oklch(0.361499 0.044052 49.515)",
871 secondaryForeground: "oklch(0.990339 0.008411 325.64)",
872 muted: "oklch(0.322144 0.03574 48.309)",
873 mutedForeground: "oklch(0.692479 0.015227 30.963)",
874 placeholder: "oklch(0.723533 0.008741 4.515)",
875 secondaryLabel: "oklch(0.654017 0.009505 13.287)",
876 iconMuted: "oklch(0.654017 0.009505 13.287)",
877 error: "oklch(0.655108 0.221148 23.473)",
878 errorForeground: "oklch(0.702184 0.189226 22.228)",
879 errorSurface: "oklch(0.310955 0.059624 24.334)",
880 warning: "oklch(0.772406 0.172798 65.367)",
881 warningForeground: "oklch(0.829017 0.171221 81.038)",
882 warningSurface: "oklch(0.339137 0.055638 66.911)",
883 update: "oklch(0.762174 0.124117 52.082)",
884 updateForeground: "oklch(0.841456 0.079585 53.521)",
885 updateSurface: "oklch(0.426749 0.057547 50.618)",
886 accentSurface: "oklch(0.416048 0.055354 50.484)",
887 accentSurfaceForeground: "oklch(0.990339 0.008411 325.64)",
888 messageSurface: "oklch(0.447961 0.061874 50.849)",
889 messageForeground: "oklch(0.990339 0.008411 325.64)",
890 messageAction: "oklch(0.747955 0.135578 29.432)",
891 messageActionForeground: "oklch(0.222003 0.03479 328.979)",
892 messageActionHover: "oklch(0.775116 0.117953 29.014)",
893 codeBackground: "oklch(0.299662 0.017229 39.973)",
894 codeForeground: "oklch(0.990339 0.008411 325.64)",
895 searchMatchBackground: "oklch(0.55 0.1 85)",
896 searchMatchForeground: "oklch(0.970151 0 0)",
897 searchMatchActiveBackground: "oklch(0.774202 0.151946 74.331)",
898 searchMatchActiveForeground: "oklch(0.216164 0.028283 77.423)",
899 sidebar: "oklch(0.293349 0.029554 46.882)",
900 sidebarForeground: "oklch(0.990339 0.008411 325.64)",
901 sidebarMutedForeground: "oklch(0.691874 0.012538 24.638)",
902 sidebarControlSurface: "oklch(0.420227 0.022893 43.226)",
903 sidebarRowHover: "oklch(0.356163 0.042933 49.385)",
904 sidebarRowActive: "oklch(0.396617 0.051353 50.201)",
905 sidebarRowSelected: "oklch(0.416477 0.055442 50.489)",
906 sidebarBorder: "oklch(0.560372 0.016998 36.179)",
907 terminalBackground: "oklch(0.245899 0.019144 42.044)",
908 terminalForeground: "oklch(0.990339 0.008411 325.64)",
909 terminalCursor: "oklch(0.762174 0.124117 52.082)",
910 terminalSelection: "oklch(0.442681 0.0608 50.795)",
911 terminalScrollbar: "oklch(0.587861 0.010463 20.444)",
912 terminalScrollbarHover: "oklch(0.682876 0.009156 9.796)",
913 },
914 },
915 sidebarArtwork: true,
916};
917​
918export const IRIS_THEME: ThemeDefinition = {
919 id: "iris",
920 label: "Iris",
921 appearance: "light",
922 colors: {
923 canvas: "oklch(0.976531 0.003855 303.226)",
924 chrome: "oklch(0.976531 0.003855 303.226)",
925 toolbar: "oklch(0.976531 0.003855 303.226)",
926 toolbarForeground: "oklch(0.222003 0.03479 328.979)",
927 toolbarBorder: "oklch(0.914882 0.022965 299.986)",
928 toolbarControl: "oklch(0.941387 0.014687 300.474)",
929 toolbarControlForeground: "oklch(0.222003 0.03479 328.979)",
930 toolbarControlHover: "oklch(0.914882 0.022965 299.986)",
931 surface: "oklch(0.988531 0.003855 303.226)",
932 surfaceRaised: "oklch(0.953326 0.004536 307.676)",
933 surfaceOverlay: "oklch(0.985531 0.005041 310.132)",
934 text: "oklch(0.222003 0.03479 328.979)",
935 textMuted: "oklch(0.543042 0.018894 325.652)",
936 border: "oklch(0.869608 0.018226 303.859)",
937 input: "oklch(0.834773 0.023405 303.676)",
938 focus: "oklch(0.525348 0.15373 294.176)",
939 accent: "oklch(0.525348 0.15373 294.176)",
940 accentForeground: "oklch(0.990339 0.008411 325.64)",
941 secondary: "oklch(0.941387 0.014687 300.474)",
942 secondaryForeground: "oklch(0.222003 0.03479 328.979)",
943 muted: "oklch(0.950194 0.011956 300.733)",
944 mutedForeground: "oklch(0.529955 0.022319 321.556)",
945 placeholder: "oklch(0.532177 0.019333 325.784)",
946 secondaryLabel: "oklch(0.543042 0.018894 325.652)",
947 iconMuted: "oklch(0.543042 0.018894 325.652)",
948 error: "oklch(0.637823 0.237287 25.436)",
949 errorForeground: "oklch(0.509494 0.208583 28.513)",
950 errorSurface: "oklch(0.941043 0.019582 4.235)",
951 warning: "oklch(0.772406 0.172798 65.367)",
952 warningForeground: "oklch(0.549154 0.156188 45.359)",
953 warningSurface: "oklch(0.957054 0.016197 69.932)",
954 update: "oklch(0.525348 0.15373 294.176)",
955 updateForeground: "oklch(0.389926 0.10825 294.547)",
956 updateSurface: "oklch(0.90602 0.025754 299.867)",
957 accentSurface: "oklch(0.914882 0.022965 299.986)",
958 accentSurfaceForeground: "oklch(0.222003 0.03479 328.979)",
959 messageSurface: "oklch(0.897143 0.028558 299.758)",
960 messageForeground: "oklch(0.222003 0.03479 328.979)",
961 messageAction: "oklch(0.516084 0.185229 340.776)",
962 messageActionForeground: "oklch(0.990339 0.008411 325.64)",
963 messageActionHover: "oklch(0.471003 0.16748 340.687)",
964 codeBackground: "oklch(0.95997 0.004338 306.542)",
965 codeForeground: "oklch(0.222003 0.03479 328.979)",
966 searchMatchBackground: "oklch(0.915 0.11 85)",
967 searchMatchForeground: "oklch(0.216164 0.028283 77.423)",
968 searchMatchActiveBackground: "oklch(0.774202 0.151946 74.331)",
969 searchMatchActiveForeground: "oklch(0.216164 0.028283 77.423)",
970 sidebar: "oklch(0.941387 0.014687 300.474)",
971 sidebarForeground: "oklch(0.222003 0.03479 328.979)",
972 sidebarMutedForeground: "oklch(0.518417 0.023683 320.681)",
973 sidebarControlSurface: "oklch(0.890512 0.0155 303.803)",
974 sidebarRowHover: "oklch(0.892522 0.030022 299.704)",
975 sidebarRowActive: "oklch(0.85971 0.040501 299.36)",
976 sidebarRowSelected: "oklch(0.843236 0.045818 299.198)",
977 sidebarBorder: "oklch(0.864805 0.015938 305.371)",
978 terminalBackground: "oklch(0.976531 0.003855 303.226)",
979 terminalForeground: "oklch(0.222003 0.03479 328.979)",
980 terminalCursor: "oklch(0.525348 0.15373 294.176)",
981 terminalSelection: "oklch(0.897143 0.028558 299.758)",
982 terminalScrollbar: "oklch(0.828195 0.008526 318.858)",
983 terminalScrollbarHover: "oklch(0.758596 0.010892 321.538)",
984 },
985 variants: {
986 dark: {
987 canvas: "oklch(0.225975 0.031062 293.741)",
988 chrome: "oklch(0.225975 0.031062 293.741)",
989 toolbar: "oklch(0.225975 0.031062 293.741)",
990 toolbarForeground: "oklch(0.990339 0.008411 325.64)",
991 toolbarBorder: "oklch(0.395417 0.085554 294.182)",
992 toolbarControl: "oklch(0.325405 0.063614 294.23)",
993 toolbarControlForeground: "oklch(0.990339 0.008411 325.64)",
994 toolbarControlHover: "oklch(0.372436 0.07841 294.204)",
995 surface: "oklch(0.250975 0.031062 293.741)",
996 surfaceRaised: "oklch(0.335291 0.026008 296.394)",
997 surfaceOverlay: "oklch(0.386739 0.024023 297.509)",
998 text: "oklch(0.990339 0.008411 325.64)",
999 textMuted: "oklch(0.640465 0.016197 304.171)",
1000 border: "oklch(0.40874 0.058536 295.893)",
1001 input: "oklch(0.46756 0.065775 296.265)",
1002 focus: "oklch(0.671712 0.169136 293.929)",
1003 accent: "oklch(0.671712 0.169136 293.929)",
1004 accentForeground: "oklch(0.222003 0.03479 328.979)",
1005 secondary: "oklch(0.325405 0.063614 294.23)",
1006 secondaryForeground: "oklch(0.990339 0.008411 325.64)",
1007 muted: "oklch(0.291515 0.05276 294.209)",
1008 mutedForeground: "oklch(0.663321 0.025932 301.862)",
1009 placeholder: "oklch(0.706249 0.014508 306.607)",
1010 secondaryLabel: "oklch(0.640465 0.016197 304.171)",
1011 iconMuted: "oklch(0.640465 0.016197 304.171)",
1012 error: "oklch(0.655108 0.221148 23.473)",
1013 errorForeground: "oklch(0.702184 0.189226 22.228)",
1014 errorSurface: "oklch(0.291658 0.054707 352.238)",
1015 warning: "oklch(0.772406 0.172798 65.367)",
1016 warningForeground: "oklch(0.829017 0.171221 81.038)",
1017 warningSurface: "oklch(0.318952 0.033845 51.646)",
1018 update: "oklch(0.671712 0.169136 293.929)",
1019 updateForeground: "oklch(0.785032 0.108439 296.344)",
1020 updateSurface: "oklch(0.381668 0.081286 294.195)",
1021 accentSurface: "oklch(0.372436 0.07841 294.204)",
1022 accentSurfaceForeground: "oklch(0.990339 0.008411 325.64)",
1023 messageSurface: "oklch(0.399975 0.086965 294.177)",
1024 messageForeground: "oklch(0.990339 0.008411 325.64)",
1025 messageAction: "oklch(0.789904 0.130063 337.621)",
1026 messageActionForeground: "oklch(0.222003 0.03479 328.979)",
1027 messageActionHover: "oklch(0.813537 0.114101 337.23)",
1028 codeBackground: "oklch(0.281873 0.028308 295.193)",
1029 codeForeground: "oklch(0.990339 0.008411 325.64)",
1030 searchMatchBackground: "oklch(0.55 0.1 85)",
1031 searchMatchForeground: "oklch(0.970151 0 0)",
1032 searchMatchActiveBackground: "oklch(0.774202 0.151946 74.331)",
1033 searchMatchActiveForeground: "oklch(0.216164 0.028283 77.423)",
1034 sidebar: "oklch(0.266743 0.044689 294.138)",
1035 sidebarForeground: "oklch(0.990339 0.008411 325.64)",
1036 sidebarMutedForeground: "oklch(0.668773 0.021522 302.949)",
1037 sidebarControlSurface: "oklch(0.399977 0.035678 297.031)",
1038 sidebarRowHover: "oklch(0.320808 0.062152 294.23)",
1039 sidebarRowActive: "oklch(0.355677 0.073167 294.217)",
1040 sidebarRowSelected: "oklch(0.372806 0.078525 294.203)",
1041 sidebarBorder: "oklch(0.545895 0.027522 299.871)",
1042 terminalBackground: "oklch(0.225975 0.031062 293.741)",
1043 terminalForeground: "oklch(0.990339 0.008411 325.64)",
1044 terminalCursor: "oklch(0.671712 0.169136 293.929)",
1045 terminalSelection: "oklch(0.395417 0.085554 294.182)",
1046 terminalScrollbar: "oklch(0.578663 0.017888 302.229)",
1047 terminalScrollbarHover: "oklch(0.676012 0.015271 305.433)",
1048 },
1049 },
1050 sidebarArtwork: true,
1052​
1053export const BUILT_IN_THEMES: ReadonlyArray<ThemeDefinition> = [
1054 T3_CODE_CLASSIC_THEME,
1055 T3_CHAT_THEME,
1056 GROVE_THEME,
1057 OCEAN_THEME,
1058 EMBER_THEME,
1059 IRIS_THEME,
1061​
1062export function getThemeColorsForAppearance(
1063 theme: ThemeDefinition,
1064 appearance: ThemeAppearance,
1065): ThemeColors | null {
1066 if (theme.appearance === appearance) return theme.colors;
1067 return theme.variants?.[appearance] ?? null;