ソースを参照

feat(app): missing themes (#17275)

Adam 1 ヶ月 前
コミット
5576662200

+ 1 - 1
.gitignore

@@ -17,7 +17,7 @@ ts-dist
 /result
 refs
 Session.vim
-opencode.json
+/opencode.json
 a.out
 target
 .scripts

+ 81 - 18
packages/ui/src/theme/default-themes.ts

@@ -1,37 +1,79 @@
 import type { DesktopTheme } from "./types"
 import oc2ThemeJson from "./themes/oc-2.json"
-import tokyoThemeJson from "./themes/tokyonight.json"
+import amoledThemeJson from "./themes/amoled.json"
+import auraThemeJson from "./themes/aura.json"
+import ayuThemeJson from "./themes/ayu.json"
+import carbonfoxThemeJson from "./themes/carbonfox.json"
+import catppuccinThemeJson from "./themes/catppuccin.json"
+import catppuccinFrappeThemeJson from "./themes/catppuccin-frappe.json"
+import catppuccinMacchiatoThemeJson from "./themes/catppuccin-macchiato.json"
+import cobalt2ThemeJson from "./themes/cobalt2.json"
+import cursorThemeJson from "./themes/cursor.json"
 import draculaThemeJson from "./themes/dracula.json"
+import everforestThemeJson from "./themes/everforest.json"
+import flexokiThemeJson from "./themes/flexoki.json"
+import githubThemeJson from "./themes/github.json"
+import gruvboxThemeJson from "./themes/gruvbox.json"
+import kanagawaThemeJson from "./themes/kanagawa.json"
+import lucentOrngThemeJson from "./themes/lucent-orng.json"
+import materialThemeJson from "./themes/material.json"
+import matrixThemeJson from "./themes/matrix.json"
+import mercuryThemeJson from "./themes/mercury.json"
 import monokaiThemeJson from "./themes/monokai.json"
-import solarizedThemeJson from "./themes/solarized.json"
+import nightowlThemeJson from "./themes/nightowl.json"
 import nordThemeJson from "./themes/nord.json"
-import catppuccinThemeJson from "./themes/catppuccin.json"
-import ayuThemeJson from "./themes/ayu.json"
+import oneDarkThemeJson from "./themes/one-dark.json"
 import oneDarkProThemeJson from "./themes/onedarkpro.json"
+import opencodeThemeJson from "./themes/opencode.json"
+import orngThemeJson from "./themes/orng.json"
+import osakaJadeThemeJson from "./themes/osaka-jade.json"
+import palenightThemeJson from "./themes/palenight.json"
+import rosepineThemeJson from "./themes/rosepine.json"
 import shadesOfPurpleThemeJson from "./themes/shadesofpurple.json"
-import nightowlThemeJson from "./themes/nightowl.json"
+import solarizedThemeJson from "./themes/solarized.json"
+import synthwave84ThemeJson from "./themes/synthwave84.json"
+import tokyonightThemeJson from "./themes/tokyonight.json"
+import vercelThemeJson from "./themes/vercel.json"
 import vesperThemeJson from "./themes/vesper.json"
-import carbonfoxThemeJson from "./themes/carbonfox.json"
-import gruvboxThemeJson from "./themes/gruvbox.json"
-import auraThemeJson from "./themes/aura.json"
-import amoledThemeJson from "./themes/amoled.json"
+import zenburnThemeJson from "./themes/zenburn.json"
 
 export const oc2Theme = oc2ThemeJson as DesktopTheme
-export const tokyonightTheme = tokyoThemeJson as DesktopTheme
+export const amoledTheme = amoledThemeJson as DesktopTheme
+export const auraTheme = auraThemeJson as DesktopTheme
+export const ayuTheme = ayuThemeJson as DesktopTheme
+export const carbonfoxTheme = carbonfoxThemeJson as DesktopTheme
+export const catppuccinTheme = catppuccinThemeJson as DesktopTheme
+export const catppuccinFrappeTheme = catppuccinFrappeThemeJson as DesktopTheme
+export const catppuccinMacchiatoTheme = catppuccinMacchiatoThemeJson as DesktopTheme
+export const cobalt2Theme = cobalt2ThemeJson as DesktopTheme
+export const cursorTheme = cursorThemeJson as DesktopTheme
 export const draculaTheme = draculaThemeJson as DesktopTheme
+export const everforestTheme = everforestThemeJson as DesktopTheme
+export const flexokiTheme = flexokiThemeJson as DesktopTheme
+export const githubTheme = githubThemeJson as DesktopTheme
+export const gruvboxTheme = gruvboxThemeJson as DesktopTheme
+export const kanagawaTheme = kanagawaThemeJson as DesktopTheme
+export const lucentOrngTheme = lucentOrngThemeJson as DesktopTheme
+export const materialTheme = materialThemeJson as DesktopTheme
+export const matrixTheme = matrixThemeJson as DesktopTheme
+export const mercuryTheme = mercuryThemeJson as DesktopTheme
 export const monokaiTheme = monokaiThemeJson as DesktopTheme
-export const solarizedTheme = solarizedThemeJson as DesktopTheme
+export const nightowlTheme = nightowlThemeJson as DesktopTheme
 export const nordTheme = nordThemeJson as DesktopTheme
-export const catppuccinTheme = catppuccinThemeJson as DesktopTheme
-export const ayuTheme = ayuThemeJson as DesktopTheme
+export const oneDarkTheme = oneDarkThemeJson as DesktopTheme
 export const oneDarkProTheme = oneDarkProThemeJson as DesktopTheme
+export const opencodeTheme = opencodeThemeJson as DesktopTheme
+export const orngTheme = orngThemeJson as DesktopTheme
+export const osakaJadeTheme = osakaJadeThemeJson as DesktopTheme
+export const palenightTheme = palenightThemeJson as DesktopTheme
+export const rosepineTheme = rosepineThemeJson as DesktopTheme
 export const shadesOfPurpleTheme = shadesOfPurpleThemeJson as DesktopTheme
-export const nightowlTheme = nightowlThemeJson as DesktopTheme
+export const solarizedTheme = solarizedThemeJson as DesktopTheme
+export const synthwave84Theme = synthwave84ThemeJson as DesktopTheme
+export const tokyonightTheme = tokyonightThemeJson as DesktopTheme
+export const vercelTheme = vercelThemeJson as DesktopTheme
 export const vesperTheme = vesperThemeJson as DesktopTheme
-export const carbonfoxTheme = carbonfoxThemeJson as DesktopTheme
-export const gruvboxTheme = gruvboxThemeJson as DesktopTheme
-export const auraTheme = auraThemeJson as DesktopTheme
-export const amoledTheme = amoledThemeJson as DesktopTheme
+export const zenburnTheme = zenburnThemeJson as DesktopTheme
 
 export const DEFAULT_THEMES: Record<string, DesktopTheme> = {
   "oc-2": oc2Theme,
@@ -40,14 +82,35 @@ export const DEFAULT_THEMES: Record<string, DesktopTheme> = {
   ayu: ayuTheme,
   carbonfox: carbonfoxTheme,
   catppuccin: catppuccinTheme,
+  "catppuccin-frappe": catppuccinFrappeTheme,
+  "catppuccin-macchiato": catppuccinMacchiatoTheme,
+  cobalt2: cobalt2Theme,
+  cursor: cursorTheme,
   dracula: draculaTheme,
+  everforest: everforestTheme,
+  flexoki: flexokiTheme,
+  github: githubTheme,
   gruvbox: gruvboxTheme,
+  kanagawa: kanagawaTheme,
+  "lucent-orng": lucentOrngTheme,
+  material: materialTheme,
+  matrix: matrixTheme,
+  mercury: mercuryTheme,
   monokai: monokaiTheme,
   nightowl: nightowlTheme,
   nord: nordTheme,
+  "one-dark": oneDarkTheme,
   onedarkpro: oneDarkProTheme,
+  opencode: opencodeTheme,
+  orng: orngTheme,
+  "osaka-jade": osakaJadeTheme,
+  palenight: palenightTheme,
+  rosepine: rosepineTheme,
   shadesofpurple: shadesOfPurpleTheme,
   solarized: solarizedTheme,
+  synthwave84: synthwave84Theme,
   tokyonight: tokyonightTheme,
+  vercel: vercelTheme,
   vesper: vesperTheme,
+  zenburn: zenburnTheme,
 }

+ 30 - 5
packages/ui/src/theme/index.ts

@@ -36,15 +36,40 @@ export { ThemeProvider, useTheme, type ColorScheme } from "./context"
 export {
   DEFAULT_THEMES,
   oc2Theme,
-  tokyonightTheme,
+  amoledTheme,
+  auraTheme,
+  ayuTheme,
+  carbonfoxTheme,
+  catppuccinTheme,
+  catppuccinFrappeTheme,
+  catppuccinMacchiatoTheme,
+  cobalt2Theme,
+  cursorTheme,
   draculaTheme,
+  everforestTheme,
+  flexokiTheme,
+  githubTheme,
+  gruvboxTheme,
+  kanagawaTheme,
+  lucentOrngTheme,
+  materialTheme,
+  matrixTheme,
+  mercuryTheme,
   monokaiTheme,
-  solarizedTheme,
+  nightowlTheme,
   nordTheme,
-  catppuccinTheme,
-  ayuTheme,
+  oneDarkTheme,
   oneDarkProTheme,
+  opencodeTheme,
+  orngTheme,
+  osakaJadeTheme,
+  palenightTheme,
+  rosepineTheme,
   shadesOfPurpleTheme,
-  nightowlTheme,
+  solarizedTheme,
+  synthwave84Theme,
+  tokyonightTheme,
+  vercelTheme,
   vesperTheme,
+  zenburnTheme,
 } from "./default-themes"

+ 85 - 0
packages/ui/src/theme/themes/catppuccin-frappe.json

@@ -0,0 +1,85 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Catppuccin Frappe",
+  "id": "catppuccin-frappe",
+  "light": {
+    "palette": {
+      "neutral": "#303446",
+      "ink": "#c6d0f5",
+      "primary": "#8da4e2",
+      "accent": "#f4b8e4",
+      "success": "#a6d189",
+      "warning": "#e5c890",
+      "error": "#e78284",
+      "info": "#81c8be"
+    },
+    "overrides": {
+      "text-weak": "#b5bfe2",
+      "syntax-comment": "#949cb8",
+      "syntax-keyword": "#ca9ee6",
+      "syntax-string": "#a6d189",
+      "syntax-primitive": "#8da4e2",
+      "syntax-variable": "#e78284",
+      "syntax-property": "#99d1db",
+      "syntax-type": "#e5c890",
+      "syntax-constant": "#ef9f76",
+      "syntax-operator": "#99d1db",
+      "syntax-punctuation": "#c6d0f5",
+      "syntax-object": "#e78284",
+      "markdown-heading": "#ca9ee6",
+      "markdown-text": "#c6d0f5",
+      "markdown-link": "#8da4e2",
+      "markdown-link-text": "#99d1db",
+      "markdown-code": "#a6d189",
+      "markdown-block-quote": "#e5c890",
+      "markdown-emph": "#e5c890",
+      "markdown-strong": "#ef9f76",
+      "markdown-horizontal-rule": "#a5adce",
+      "markdown-list-item": "#8da4e2",
+      "markdown-list-enumeration": "#99d1db",
+      "markdown-image": "#8da4e2",
+      "markdown-image-text": "#99d1db",
+      "markdown-code-block": "#c6d0f5"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#303446",
+      "ink": "#c6d0f5",
+      "primary": "#8da4e2",
+      "accent": "#f4b8e4",
+      "success": "#a6d189",
+      "warning": "#e5c890",
+      "error": "#e78284",
+      "info": "#81c8be"
+    },
+    "overrides": {
+      "text-weak": "#b5bfe2",
+      "syntax-comment": "#949cb8",
+      "syntax-keyword": "#ca9ee6",
+      "syntax-string": "#a6d189",
+      "syntax-primitive": "#8da4e2",
+      "syntax-variable": "#e78284",
+      "syntax-property": "#99d1db",
+      "syntax-type": "#e5c890",
+      "syntax-constant": "#ef9f76",
+      "syntax-operator": "#99d1db",
+      "syntax-punctuation": "#c6d0f5",
+      "syntax-object": "#e78284",
+      "markdown-heading": "#ca9ee6",
+      "markdown-text": "#c6d0f5",
+      "markdown-link": "#8da4e2",
+      "markdown-link-text": "#99d1db",
+      "markdown-code": "#a6d189",
+      "markdown-block-quote": "#e5c890",
+      "markdown-emph": "#e5c890",
+      "markdown-strong": "#ef9f76",
+      "markdown-horizontal-rule": "#a5adce",
+      "markdown-list-item": "#8da4e2",
+      "markdown-list-enumeration": "#99d1db",
+      "markdown-image": "#8da4e2",
+      "markdown-image-text": "#99d1db",
+      "markdown-code-block": "#c6d0f5"
+    }
+  }
+}

+ 85 - 0
packages/ui/src/theme/themes/catppuccin-macchiato.json

@@ -0,0 +1,85 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Catppuccin Macchiato",
+  "id": "catppuccin-macchiato",
+  "light": {
+    "palette": {
+      "neutral": "#24273a",
+      "ink": "#cad3f5",
+      "primary": "#8aadf4",
+      "accent": "#f5bde6",
+      "success": "#a6da95",
+      "warning": "#eed49f",
+      "error": "#ed8796",
+      "info": "#8bd5ca"
+    },
+    "overrides": {
+      "text-weak": "#b8c0e0",
+      "syntax-comment": "#939ab7",
+      "syntax-keyword": "#c6a0f6",
+      "syntax-string": "#a6da95",
+      "syntax-primitive": "#8aadf4",
+      "syntax-variable": "#ed8796",
+      "syntax-property": "#91d7e3",
+      "syntax-type": "#eed49f",
+      "syntax-constant": "#f5a97f",
+      "syntax-operator": "#91d7e3",
+      "syntax-punctuation": "#cad3f5",
+      "syntax-object": "#ed8796",
+      "markdown-heading": "#c6a0f6",
+      "markdown-text": "#cad3f5",
+      "markdown-link": "#8aadf4",
+      "markdown-link-text": "#91d7e3",
+      "markdown-code": "#a6da95",
+      "markdown-block-quote": "#eed49f",
+      "markdown-emph": "#eed49f",
+      "markdown-strong": "#f5a97f",
+      "markdown-horizontal-rule": "#a5adcb",
+      "markdown-list-item": "#8aadf4",
+      "markdown-list-enumeration": "#91d7e3",
+      "markdown-image": "#8aadf4",
+      "markdown-image-text": "#91d7e3",
+      "markdown-code-block": "#cad3f5"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#24273a",
+      "ink": "#cad3f5",
+      "primary": "#8aadf4",
+      "accent": "#f5bde6",
+      "success": "#a6da95",
+      "warning": "#eed49f",
+      "error": "#ed8796",
+      "info": "#8bd5ca"
+    },
+    "overrides": {
+      "text-weak": "#b8c0e0",
+      "syntax-comment": "#939ab7",
+      "syntax-keyword": "#c6a0f6",
+      "syntax-string": "#a6da95",
+      "syntax-primitive": "#8aadf4",
+      "syntax-variable": "#ed8796",
+      "syntax-property": "#91d7e3",
+      "syntax-type": "#eed49f",
+      "syntax-constant": "#f5a97f",
+      "syntax-operator": "#91d7e3",
+      "syntax-punctuation": "#cad3f5",
+      "syntax-object": "#ed8796",
+      "markdown-heading": "#c6a0f6",
+      "markdown-text": "#cad3f5",
+      "markdown-link": "#8aadf4",
+      "markdown-link-text": "#91d7e3",
+      "markdown-code": "#a6da95",
+      "markdown-block-quote": "#eed49f",
+      "markdown-emph": "#eed49f",
+      "markdown-strong": "#f5a97f",
+      "markdown-horizontal-rule": "#a5adcb",
+      "markdown-list-item": "#8aadf4",
+      "markdown-list-enumeration": "#91d7e3",
+      "markdown-image": "#8aadf4",
+      "markdown-image-text": "#91d7e3",
+      "markdown-code-block": "#cad3f5"
+    }
+  }
+}

+ 87 - 0
packages/ui/src/theme/themes/cobalt2.json

@@ -0,0 +1,87 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Cobalt2",
+  "id": "cobalt2",
+  "light": {
+    "palette": {
+      "neutral": "#ffffff",
+      "ink": "#193549",
+      "primary": "#0066cc",
+      "accent": "#00acc1",
+      "success": "#4caf50",
+      "warning": "#ff9800",
+      "error": "#e91e63",
+      "info": "#ff5722"
+    },
+    "overrides": {
+      "text-weak": "#5c6b7d",
+      "syntax-comment": "#5c6b7d",
+      "syntax-keyword": "#ff5722",
+      "syntax-string": "#4caf50",
+      "syntax-primitive": "#ff9800",
+      "syntax-variable": "#193549",
+      "syntax-property": "#00acc1",
+      "syntax-type": "#00acc1",
+      "syntax-constant": "#e91e63",
+      "syntax-operator": "#ff5722",
+      "syntax-punctuation": "#193549",
+      "syntax-object": "#193549",
+      "markdown-heading": "#ff9800",
+      "markdown-text": "#193549",
+      "markdown-link": "#0066cc",
+      "markdown-link-text": "#00acc1",
+      "markdown-code": "#4caf50",
+      "markdown-block-quote": "#5c6b7d",
+      "markdown-emph": "#ff5722",
+      "markdown-strong": "#e91e63",
+      "markdown-horizontal-rule": "#d3dae3",
+      "markdown-list-item": "#0066cc",
+      "markdown-list-enumeration": "#00acc1",
+      "markdown-image": "#0066cc",
+      "markdown-image-text": "#00acc1",
+      "markdown-code-block": "#193549"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#193549",
+      "ink": "#ffffff",
+      "primary": "#0088ff",
+      "accent": "#2affdf",
+      "success": "#9eff80",
+      "warning": "#ffc600",
+      "error": "#ff0088",
+      "info": "#ff9d00",
+      "diffAdd": "#b9ff9f",
+      "diffDelete": "#ff5fb3"
+    },
+    "overrides": {
+      "text-weak": "#adb7c9",
+      "syntax-comment": "#0088ff",
+      "syntax-keyword": "#ff9d00",
+      "syntax-string": "#9eff80",
+      "syntax-primitive": "#ffc600",
+      "syntax-variable": "#ffffff",
+      "syntax-property": "#2affdf",
+      "syntax-type": "#2affdf",
+      "syntax-constant": "#ff628c",
+      "syntax-operator": "#ff9d00",
+      "syntax-punctuation": "#ffffff",
+      "syntax-object": "#ffffff",
+      "markdown-heading": "#ffc600",
+      "markdown-text": "#ffffff",
+      "markdown-link": "#0088ff",
+      "markdown-link-text": "#2affdf",
+      "markdown-code": "#9eff80",
+      "markdown-block-quote": "#adb7c9",
+      "markdown-emph": "#ff9d00",
+      "markdown-strong": "#ff628c",
+      "markdown-horizontal-rule": "#2d5a7b",
+      "markdown-list-item": "#0088ff",
+      "markdown-list-enumeration": "#2affdf",
+      "markdown-image": "#0088ff",
+      "markdown-image-text": "#2affdf",
+      "markdown-code-block": "#ffffff"
+    }
+  }
+}

+ 91 - 0
packages/ui/src/theme/themes/cursor.json

@@ -0,0 +1,91 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Cursor",
+  "id": "cursor",
+  "light": {
+    "palette": {
+      "neutral": "#fcfcfc",
+      "ink": "#141414",
+      "primary": "#6f9ba6",
+      "accent": "#6f9ba6",
+      "success": "#1f8a65",
+      "warning": "#db704b",
+      "error": "#cf2d56",
+      "info": "#3c7cab",
+      "interactive": "#206595",
+      "diffAdd": "#55a583",
+      "diffDelete": "#e75e78"
+    },
+    "overrides": {
+      "text-weak": "#141414ad",
+      "syntax-comment": "#141414ad",
+      "syntax-keyword": "#b3003f",
+      "syntax-string": "#9e94d5",
+      "syntax-primitive": "#db704b",
+      "syntax-variable": "#141414",
+      "syntax-property": "#141414ad",
+      "syntax-type": "#206595",
+      "syntax-constant": "#b8448b",
+      "syntax-operator": "#141414",
+      "syntax-punctuation": "#141414",
+      "syntax-object": "#141414",
+      "markdown-heading": "#206595",
+      "markdown-text": "#141414",
+      "markdown-link": "#206595",
+      "markdown-link-text": "#141414ad",
+      "markdown-code": "#1f8a65",
+      "markdown-block-quote": "#141414ad",
+      "markdown-emph": "#141414",
+      "markdown-strong": "#141414",
+      "markdown-horizontal-rule": "#141414ad",
+      "markdown-list-item": "#141414",
+      "markdown-list-enumeration": "#141414ad",
+      "markdown-image": "#206595",
+      "markdown-image-text": "#141414ad",
+      "markdown-code-block": "#141414"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#181818",
+      "ink": "#e4e4e4",
+      "primary": "#88c0d0",
+      "accent": "#88c0d0",
+      "success": "#3fa266",
+      "warning": "#f1b467",
+      "error": "#e34671",
+      "info": "#81a1c1",
+      "interactive": "#82D2CE",
+      "diffAdd": "#70b489",
+      "diffDelete": "#fc6b83"
+    },
+    "overrides": {
+      "text-weak": "#e4e4e45e",
+      "syntax-comment": "#e4e4e45e",
+      "syntax-keyword": "#82D2CE",
+      "syntax-string": "#E394DC",
+      "syntax-primitive": "#EFB080",
+      "syntax-variable": "#e4e4e4",
+      "syntax-property": "#81a1c1",
+      "syntax-type": "#EFB080",
+      "syntax-constant": "#F8C762",
+      "syntax-operator": "#e4e4e4",
+      "syntax-punctuation": "#e4e4e4",
+      "syntax-object": "#e4e4e4",
+      "markdown-heading": "#AAA0FA",
+      "markdown-text": "#e4e4e4",
+      "markdown-link": "#82D2CE",
+      "markdown-link-text": "#81a1c1",
+      "markdown-code": "#E394DC",
+      "markdown-block-quote": "#e4e4e45e",
+      "markdown-emph": "#82D2CE",
+      "markdown-strong": "#F8C762",
+      "markdown-horizontal-rule": "#e4e4e45e",
+      "markdown-list-item": "#e4e4e4",
+      "markdown-list-enumeration": "#88c0d0",
+      "markdown-image": "#88c0d0",
+      "markdown-image-text": "#81a1c1",
+      "markdown-code-block": "#e4e4e4"
+    }
+  }
+}

+ 89 - 0
packages/ui/src/theme/themes/everforest.json

@@ -0,0 +1,89 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Everforest",
+  "id": "everforest",
+  "light": {
+    "palette": {
+      "neutral": "#fdf6e3",
+      "ink": "#5c6a72",
+      "primary": "#8da101",
+      "accent": "#df69ba",
+      "success": "#8da101",
+      "warning": "#f57d26",
+      "error": "#f85552",
+      "info": "#35a77c",
+      "diffAdd": "#4db380",
+      "diffDelete": "#f52a65"
+    },
+    "overrides": {
+      "text-weak": "#a6b0a0",
+      "syntax-comment": "#a6b0a0",
+      "syntax-keyword": "#df69ba",
+      "syntax-string": "#8da101",
+      "syntax-primitive": "#8da101",
+      "syntax-variable": "#f85552",
+      "syntax-property": "#35a77c",
+      "syntax-type": "#dfa000",
+      "syntax-constant": "#f57d26",
+      "syntax-operator": "#35a77c",
+      "syntax-punctuation": "#5c6a72",
+      "syntax-object": "#f85552",
+      "markdown-heading": "#df69ba",
+      "markdown-text": "#5c6a72",
+      "markdown-link": "#8da101",
+      "markdown-link-text": "#35a77c",
+      "markdown-code": "#8da101",
+      "markdown-block-quote": "#dfa000",
+      "markdown-emph": "#dfa000",
+      "markdown-strong": "#f57d26",
+      "markdown-horizontal-rule": "#a6b0a0",
+      "markdown-list-item": "#8da101",
+      "markdown-list-enumeration": "#35a77c",
+      "markdown-image": "#8da101",
+      "markdown-image-text": "#35a77c",
+      "markdown-code-block": "#5c6a72"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#2d353b",
+      "ink": "#d3c6aa",
+      "primary": "#a7c080",
+      "accent": "#d699b6",
+      "success": "#a7c080",
+      "warning": "#e69875",
+      "error": "#e67e80",
+      "info": "#83c092",
+      "diffAdd": "#b8db87",
+      "diffDelete": "#e26a75"
+    },
+    "overrides": {
+      "text-weak": "#7a8478",
+      "syntax-comment": "#7a8478",
+      "syntax-keyword": "#d699b6",
+      "syntax-string": "#a7c080",
+      "syntax-primitive": "#a7c080",
+      "syntax-variable": "#e67e80",
+      "syntax-property": "#83c092",
+      "syntax-type": "#dbbc7f",
+      "syntax-constant": "#e69875",
+      "syntax-operator": "#83c092",
+      "syntax-punctuation": "#d3c6aa",
+      "syntax-object": "#e67e80",
+      "markdown-heading": "#d699b6",
+      "markdown-text": "#d3c6aa",
+      "markdown-link": "#a7c080",
+      "markdown-link-text": "#83c092",
+      "markdown-code": "#a7c080",
+      "markdown-block-quote": "#dbbc7f",
+      "markdown-emph": "#dbbc7f",
+      "markdown-strong": "#e69875",
+      "markdown-horizontal-rule": "#7a8478",
+      "markdown-list-item": "#a7c080",
+      "markdown-list-enumeration": "#83c092",
+      "markdown-image": "#a7c080",
+      "markdown-image-text": "#83c092",
+      "markdown-code-block": "#d3c6aa"
+    }
+  }
+}

+ 86 - 0
packages/ui/src/theme/themes/flexoki.json

@@ -0,0 +1,86 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Flexoki",
+  "id": "flexoki",
+  "light": {
+    "palette": {
+      "neutral": "#FFFCF0",
+      "ink": "#100F0F",
+      "primary": "#205EA6",
+      "accent": "#BC5215",
+      "success": "#66800B",
+      "warning": "#BC5215",
+      "error": "#AF3029",
+      "info": "#24837B"
+    },
+    "overrides": {
+      "text-weak": "#6F6E69",
+      "syntax-comment": "#6F6E69",
+      "syntax-keyword": "#66800B",
+      "syntax-string": "#24837B",
+      "syntax-primitive": "#BC5215",
+      "syntax-variable": "#205EA6",
+      "syntax-property": "#24837B",
+      "syntax-type": "#AD8301",
+      "syntax-constant": "#5E409D",
+      "syntax-operator": "#6F6E69",
+      "syntax-punctuation": "#6F6E69",
+      "syntax-object": "#205EA6",
+      "markdown-heading": "#5E409D",
+      "markdown-text": "#100F0F",
+      "markdown-link": "#205EA6",
+      "markdown-link-text": "#24837B",
+      "markdown-code": "#24837B",
+      "markdown-block-quote": "#AD8301",
+      "markdown-emph": "#AD8301",
+      "markdown-strong": "#BC5215",
+      "markdown-horizontal-rule": "#6F6E69",
+      "markdown-list-item": "#BC5215",
+      "markdown-list-enumeration": "#24837B",
+      "markdown-image": "#A02F6F",
+      "markdown-image-text": "#24837B",
+      "markdown-code-block": "#100F0F"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#100F0F",
+      "ink": "#CECDC3",
+      "primary": "#DA702C",
+      "accent": "#8B7EC8",
+      "success": "#879A39",
+      "warning": "#DA702C",
+      "error": "#D14D41",
+      "info": "#3AA99F",
+      "interactive": "#4385BE"
+    },
+    "overrides": {
+      "text-weak": "#6F6E69",
+      "syntax-comment": "#6F6E69",
+      "syntax-keyword": "#879A39",
+      "syntax-string": "#3AA99F",
+      "syntax-primitive": "#DA702C",
+      "syntax-variable": "#4385BE",
+      "syntax-property": "#3AA99F",
+      "syntax-type": "#D0A215",
+      "syntax-constant": "#8B7EC8",
+      "syntax-operator": "#B7B5AC",
+      "syntax-punctuation": "#B7B5AC",
+      "syntax-object": "#4385BE",
+      "markdown-heading": "#8B7EC8",
+      "markdown-text": "#CECDC3",
+      "markdown-link": "#4385BE",
+      "markdown-link-text": "#3AA99F",
+      "markdown-code": "#3AA99F",
+      "markdown-block-quote": "#D0A215",
+      "markdown-emph": "#D0A215",
+      "markdown-strong": "#DA702C",
+      "markdown-horizontal-rule": "#6F6E69",
+      "markdown-list-item": "#DA702C",
+      "markdown-list-enumeration": "#3AA99F",
+      "markdown-image": "#CE5D97",
+      "markdown-image-text": "#3AA99F",
+      "markdown-code-block": "#CECDC3"
+    }
+  }
+}

+ 85 - 0
packages/ui/src/theme/themes/github.json

@@ -0,0 +1,85 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "GitHub",
+  "id": "github",
+  "light": {
+    "palette": {
+      "neutral": "#ffffff",
+      "ink": "#24292f",
+      "primary": "#0969da",
+      "accent": "#1b7c83",
+      "success": "#1a7f37",
+      "warning": "#9a6700",
+      "error": "#cf222e",
+      "info": "#bc4c00"
+    },
+    "overrides": {
+      "text-weak": "#57606a",
+      "syntax-comment": "#57606a",
+      "syntax-keyword": "#cf222e",
+      "syntax-string": "#0969da",
+      "syntax-primitive": "#8250df",
+      "syntax-variable": "#bc4c00",
+      "syntax-property": "#1b7c83",
+      "syntax-type": "#bc4c00",
+      "syntax-constant": "#1b7c83",
+      "syntax-operator": "#cf222e",
+      "syntax-punctuation": "#24292f",
+      "syntax-object": "#bc4c00",
+      "markdown-heading": "#0969da",
+      "markdown-text": "#24292f",
+      "markdown-link": "#0969da",
+      "markdown-link-text": "#1b7c83",
+      "markdown-code": "#bf3989",
+      "markdown-block-quote": "#57606a",
+      "markdown-emph": "#9a6700",
+      "markdown-strong": "#bc4c00",
+      "markdown-horizontal-rule": "#d0d7de",
+      "markdown-list-item": "#0969da",
+      "markdown-list-enumeration": "#1b7c83",
+      "markdown-image": "#0969da",
+      "markdown-image-text": "#1b7c83",
+      "markdown-code-block": "#24292f"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#0d1117",
+      "ink": "#c9d1d9",
+      "primary": "#58a6ff",
+      "accent": "#39c5cf",
+      "success": "#3fb950",
+      "warning": "#e3b341",
+      "error": "#f85149",
+      "info": "#d29922"
+    },
+    "overrides": {
+      "text-weak": "#8b949e",
+      "syntax-comment": "#8b949e",
+      "syntax-keyword": "#ff7b72",
+      "syntax-string": "#39c5cf",
+      "syntax-primitive": "#bc8cff",
+      "syntax-variable": "#d29922",
+      "syntax-property": "#39c5cf",
+      "syntax-type": "#d29922",
+      "syntax-constant": "#58a6ff",
+      "syntax-operator": "#ff7b72",
+      "syntax-punctuation": "#c9d1d9",
+      "syntax-object": "#d29922",
+      "markdown-heading": "#58a6ff",
+      "markdown-text": "#c9d1d9",
+      "markdown-link": "#58a6ff",
+      "markdown-link-text": "#39c5cf",
+      "markdown-code": "#ff7b72",
+      "markdown-block-quote": "#8b949e",
+      "markdown-emph": "#e3b341",
+      "markdown-strong": "#d29922",
+      "markdown-horizontal-rule": "#30363d",
+      "markdown-list-item": "#58a6ff",
+      "markdown-list-enumeration": "#39c5cf",
+      "markdown-image": "#58a6ff",
+      "markdown-image-text": "#39c5cf",
+      "markdown-code-block": "#c9d1d9"
+    }
+  }
+}

+ 89 - 0
packages/ui/src/theme/themes/kanagawa.json

@@ -0,0 +1,89 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Kanagawa",
+  "id": "kanagawa",
+  "light": {
+    "palette": {
+      "neutral": "#F2E9DE",
+      "ink": "#54433A",
+      "primary": "#2D4F67",
+      "accent": "#D27E99",
+      "success": "#98BB6C",
+      "warning": "#D7A657",
+      "error": "#E82424",
+      "info": "#76946A",
+      "diffAdd": "#89AF5B",
+      "diffDelete": "#D61F1F"
+    },
+    "overrides": {
+      "text-weak": "#9E9389",
+      "syntax-comment": "#9E9389",
+      "syntax-keyword": "#957FB8",
+      "syntax-string": "#98BB6C",
+      "syntax-primitive": "#2D4F67",
+      "syntax-variable": "#54433A",
+      "syntax-property": "#76946A",
+      "syntax-type": "#C38D9D",
+      "syntax-constant": "#D7A657",
+      "syntax-operator": "#D27E99",
+      "syntax-punctuation": "#54433A",
+      "syntax-object": "#54433A",
+      "markdown-heading": "#957FB8",
+      "markdown-text": "#54433A",
+      "markdown-link": "#2D4F67",
+      "markdown-link-text": "#76946A",
+      "markdown-code": "#98BB6C",
+      "markdown-block-quote": "#9E9389",
+      "markdown-emph": "#C38D9D",
+      "markdown-strong": "#D7A657",
+      "markdown-horizontal-rule": "#9E9389",
+      "markdown-list-item": "#2D4F67",
+      "markdown-list-enumeration": "#76946A",
+      "markdown-image": "#2D4F67",
+      "markdown-image-text": "#76946A",
+      "markdown-code-block": "#54433A"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#1F1F28",
+      "ink": "#DCD7BA",
+      "primary": "#7E9CD8",
+      "accent": "#D27E99",
+      "success": "#98BB6C",
+      "warning": "#D7A657",
+      "error": "#E82424",
+      "info": "#76946A",
+      "diffAdd": "#A9D977",
+      "diffDelete": "#F24A4A"
+    },
+    "overrides": {
+      "text-weak": "#727169",
+      "syntax-comment": "#727169",
+      "syntax-keyword": "#957FB8",
+      "syntax-string": "#98BB6C",
+      "syntax-primitive": "#7E9CD8",
+      "syntax-variable": "#DCD7BA",
+      "syntax-property": "#76946A",
+      "syntax-type": "#C38D9D",
+      "syntax-constant": "#D7A657",
+      "syntax-operator": "#D27E99",
+      "syntax-punctuation": "#DCD7BA",
+      "syntax-object": "#DCD7BA",
+      "markdown-heading": "#957FB8",
+      "markdown-text": "#DCD7BA",
+      "markdown-link": "#7E9CD8",
+      "markdown-link-text": "#76946A",
+      "markdown-code": "#98BB6C",
+      "markdown-block-quote": "#727169",
+      "markdown-emph": "#C38D9D",
+      "markdown-strong": "#D7A657",
+      "markdown-horizontal-rule": "#727169",
+      "markdown-list-item": "#7E9CD8",
+      "markdown-list-enumeration": "#76946A",
+      "markdown-image": "#7E9CD8",
+      "markdown-image-text": "#76946A",
+      "markdown-code-block": "#DCD7BA"
+    }
+  }
+}

+ 87 - 0
packages/ui/src/theme/themes/lucent-orng.json

@@ -0,0 +1,87 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Lucent Orng",
+  "id": "lucent-orng",
+  "light": {
+    "palette": {
+      "neutral": "#fff5f0",
+      "ink": "#1a1a1a",
+      "primary": "#EC5B2B",
+      "accent": "#c94d24",
+      "success": "#0062d1",
+      "warning": "#EC5B2B",
+      "error": "#d1383d",
+      "info": "#318795",
+      "diffDelete": "#f52a65"
+    },
+    "overrides": {
+      "text-weak": "#8a8a8a",
+      "syntax-comment": "#8a8a8a",
+      "syntax-keyword": "#EC5B2B",
+      "syntax-string": "#0062d1",
+      "syntax-primitive": "#c94d24",
+      "syntax-variable": "#d1383d",
+      "syntax-property": "#318795",
+      "syntax-type": "#b0851f",
+      "syntax-constant": "#EC5B2B",
+      "syntax-operator": "#318795",
+      "syntax-punctuation": "#1a1a1a",
+      "syntax-object": "#d1383d",
+      "markdown-heading": "#EC5B2B",
+      "markdown-text": "#1a1a1a",
+      "markdown-link": "#EC5B2B",
+      "markdown-link-text": "#318795",
+      "markdown-code": "#0062d1",
+      "markdown-block-quote": "#b0851f",
+      "markdown-emph": "#b0851f",
+      "markdown-strong": "#EC5B2B",
+      "markdown-horizontal-rule": "#8a8a8a",
+      "markdown-list-item": "#EC5B2B",
+      "markdown-list-enumeration": "#318795",
+      "markdown-image": "#EC5B2B",
+      "markdown-image-text": "#318795",
+      "markdown-code-block": "#1a1a1a"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#2a1a15",
+      "ink": "#eeeeee",
+      "primary": "#EC5B2B",
+      "accent": "#FFF7F1",
+      "success": "#6ba1e6",
+      "warning": "#EC5B2B",
+      "error": "#e06c75",
+      "info": "#56b6c2",
+      "diffDelete": "#e26a75"
+    },
+    "overrides": {
+      "text-weak": "#808080",
+      "syntax-comment": "#808080",
+      "syntax-keyword": "#EC5B2B",
+      "syntax-string": "#6ba1e6",
+      "syntax-primitive": "#EE7948",
+      "syntax-variable": "#e06c75",
+      "syntax-property": "#56b6c2",
+      "syntax-type": "#e5c07b",
+      "syntax-constant": "#FFF7F1",
+      "syntax-operator": "#56b6c2",
+      "syntax-punctuation": "#eeeeee",
+      "syntax-object": "#e06c75",
+      "markdown-heading": "#EC5B2B",
+      "markdown-text": "#eeeeee",
+      "markdown-link": "#EC5B2B",
+      "markdown-link-text": "#56b6c2",
+      "markdown-code": "#6ba1e6",
+      "markdown-block-quote": "#FFF7F1",
+      "markdown-emph": "#e5c07b",
+      "markdown-strong": "#EE7948",
+      "markdown-horizontal-rule": "#808080",
+      "markdown-list-item": "#EC5B2B",
+      "markdown-list-enumeration": "#56b6c2",
+      "markdown-image": "#EC5B2B",
+      "markdown-image-text": "#56b6c2",
+      "markdown-code-block": "#eeeeee"
+    }
+  }
+}

+ 87 - 0
packages/ui/src/theme/themes/material.json

@@ -0,0 +1,87 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Material",
+  "id": "material",
+  "light": {
+    "palette": {
+      "neutral": "#fafafa",
+      "ink": "#263238",
+      "primary": "#6182b8",
+      "accent": "#39adb5",
+      "success": "#91b859",
+      "warning": "#ffb300",
+      "error": "#e53935",
+      "info": "#f4511e",
+      "interactive": "#39adb5"
+    },
+    "overrides": {
+      "text-weak": "#90a4ae",
+      "syntax-comment": "#90a4ae",
+      "syntax-keyword": "#7c4dff",
+      "syntax-string": "#91b859",
+      "syntax-primitive": "#6182b8",
+      "syntax-variable": "#263238",
+      "syntax-property": "#7c4dff",
+      "syntax-type": "#ffb300",
+      "syntax-constant": "#f4511e",
+      "syntax-operator": "#39adb5",
+      "syntax-punctuation": "#263238",
+      "syntax-object": "#263238",
+      "markdown-heading": "#6182b8",
+      "markdown-text": "#263238",
+      "markdown-link": "#39adb5",
+      "markdown-link-text": "#7c4dff",
+      "markdown-code": "#91b859",
+      "markdown-block-quote": "#90a4ae",
+      "markdown-emph": "#ffb300",
+      "markdown-strong": "#f4511e",
+      "markdown-horizontal-rule": "#e0e0e0",
+      "markdown-list-item": "#6182b8",
+      "markdown-list-enumeration": "#39adb5",
+      "markdown-image": "#39adb5",
+      "markdown-image-text": "#7c4dff",
+      "markdown-code-block": "#263238"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#263238",
+      "ink": "#eeffff",
+      "primary": "#82aaff",
+      "accent": "#89ddff",
+      "success": "#c3e88d",
+      "warning": "#ffcb6b",
+      "error": "#f07178",
+      "info": "#ffcb6b",
+      "interactive": "#89ddff"
+    },
+    "overrides": {
+      "text-weak": "#546e7a",
+      "syntax-comment": "#546e7a",
+      "syntax-keyword": "#c792ea",
+      "syntax-string": "#c3e88d",
+      "syntax-primitive": "#82aaff",
+      "syntax-variable": "#eeffff",
+      "syntax-property": "#c792ea",
+      "syntax-type": "#ffcb6b",
+      "syntax-constant": "#ffcb6b",
+      "syntax-operator": "#89ddff",
+      "syntax-punctuation": "#eeffff",
+      "syntax-object": "#eeffff",
+      "markdown-heading": "#82aaff",
+      "markdown-text": "#eeffff",
+      "markdown-link": "#89ddff",
+      "markdown-link-text": "#c792ea",
+      "markdown-code": "#c3e88d",
+      "markdown-block-quote": "#546e7a",
+      "markdown-emph": "#ffcb6b",
+      "markdown-strong": "#ffcb6b",
+      "markdown-horizontal-rule": "#37474f",
+      "markdown-list-item": "#82aaff",
+      "markdown-list-enumeration": "#89ddff",
+      "markdown-image": "#89ddff",
+      "markdown-image-text": "#c792ea",
+      "markdown-code-block": "#eeffff"
+    }
+  }
+}

+ 91 - 0
packages/ui/src/theme/themes/matrix.json

@@ -0,0 +1,91 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Matrix",
+  "id": "matrix",
+  "light": {
+    "palette": {
+      "neutral": "#eef3ea",
+      "ink": "#203022",
+      "primary": "#1cc24b",
+      "accent": "#c770ff",
+      "success": "#1cc24b",
+      "warning": "#e6ff57",
+      "error": "#ff4b4b",
+      "info": "#30b3ff",
+      "interactive": "#30b3ff",
+      "diffAdd": "#5dac7e",
+      "diffDelete": "#d53a3a"
+    },
+    "overrides": {
+      "text-weak": "#748476",
+      "syntax-comment": "#748476",
+      "syntax-keyword": "#c770ff",
+      "syntax-string": "#1cc24b",
+      "syntax-primitive": "#30b3ff",
+      "syntax-variable": "#203022",
+      "syntax-property": "#24f6d9",
+      "syntax-type": "#e6ff57",
+      "syntax-constant": "#ffa83d",
+      "syntax-operator": "#24f6d9",
+      "syntax-punctuation": "#203022",
+      "syntax-object": "#203022",
+      "markdown-heading": "#24f6d9",
+      "markdown-text": "#203022",
+      "markdown-link": "#30b3ff",
+      "markdown-link-text": "#24f6d9",
+      "markdown-code": "#1cc24b",
+      "markdown-block-quote": "#748476",
+      "markdown-emph": "#ffa83d",
+      "markdown-strong": "#e6ff57",
+      "markdown-horizontal-rule": "#748476",
+      "markdown-list-item": "#30b3ff",
+      "markdown-list-enumeration": "#24f6d9",
+      "markdown-image": "#30b3ff",
+      "markdown-image-text": "#24f6d9",
+      "markdown-code-block": "#203022"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#0a0e0a",
+      "ink": "#62ff94",
+      "primary": "#2eff6a",
+      "accent": "#c770ff",
+      "success": "#62ff94",
+      "warning": "#e6ff57",
+      "error": "#ff4b4b",
+      "info": "#30b3ff",
+      "interactive": "#30b3ff",
+      "diffAdd": "#77ffaf",
+      "diffDelete": "#ff7171"
+    },
+    "overrides": {
+      "text-weak": "#8ca391",
+      "syntax-comment": "#8ca391",
+      "syntax-keyword": "#c770ff",
+      "syntax-string": "#1cc24b",
+      "syntax-primitive": "#30b3ff",
+      "syntax-variable": "#62ff94",
+      "syntax-property": "#24f6d9",
+      "syntax-type": "#e6ff57",
+      "syntax-constant": "#ffa83d",
+      "syntax-operator": "#24f6d9",
+      "syntax-punctuation": "#62ff94",
+      "syntax-object": "#62ff94",
+      "markdown-heading": "#00efff",
+      "markdown-text": "#62ff94",
+      "markdown-link": "#30b3ff",
+      "markdown-link-text": "#24f6d9",
+      "markdown-code": "#1cc24b",
+      "markdown-block-quote": "#8ca391",
+      "markdown-emph": "#ffa83d",
+      "markdown-strong": "#e6ff57",
+      "markdown-horizontal-rule": "#8ca391",
+      "markdown-list-item": "#30b3ff",
+      "markdown-list-enumeration": "#24f6d9",
+      "markdown-image": "#30b3ff",
+      "markdown-image-text": "#24f6d9",
+      "markdown-code-block": "#62ff94"
+    }
+  }
+}

+ 86 - 0
packages/ui/src/theme/themes/mercury.json

@@ -0,0 +1,86 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Mercury",
+  "id": "mercury",
+  "light": {
+    "palette": {
+      "neutral": "#ffffff",
+      "ink": "#363644",
+      "primary": "#5266eb",
+      "accent": "#8da4f5",
+      "success": "#036e43",
+      "warning": "#a44200",
+      "error": "#b0175f",
+      "info": "#007f95",
+      "interactive": "#465bd1"
+    },
+    "overrides": {
+      "text-weak": "#70707d",
+      "syntax-comment": "#70707d",
+      "syntax-keyword": "#465bd1",
+      "syntax-string": "#036e43",
+      "syntax-primitive": "#5266eb",
+      "syntax-variable": "#007f95",
+      "syntax-property": "#5266eb",
+      "syntax-type": "#007f95",
+      "syntax-constant": "#a44200",
+      "syntax-operator": "#465bd1",
+      "syntax-punctuation": "#363644",
+      "syntax-object": "#007f95",
+      "markdown-heading": "#1e1e2a",
+      "markdown-text": "#363644",
+      "markdown-link": "#465bd1",
+      "markdown-link-text": "#5266eb",
+      "markdown-code": "#036e43",
+      "markdown-block-quote": "#70707d",
+      "markdown-emph": "#a44200",
+      "markdown-strong": "#1e1e2a",
+      "markdown-horizontal-rule": "#7073931a",
+      "markdown-list-item": "#1e1e2a",
+      "markdown-list-enumeration": "#5266eb",
+      "markdown-image": "#465bd1",
+      "markdown-image-text": "#5266eb",
+      "markdown-code-block": "#363644"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#171721",
+      "ink": "#dddde5",
+      "primary": "#8da4f5",
+      "accent": "#8da4f5",
+      "success": "#77c599",
+      "warning": "#fc9b6f",
+      "error": "#fc92b4",
+      "info": "#77becf"
+    },
+    "overrides": {
+      "text-weak": "#9d9da8",
+      "syntax-comment": "#9d9da8",
+      "syntax-keyword": "#8da4f5",
+      "syntax-string": "#77c599",
+      "syntax-primitive": "#8da4f5",
+      "syntax-variable": "#77becf",
+      "syntax-property": "#a7b6f8",
+      "syntax-type": "#77becf",
+      "syntax-constant": "#fc9b6f",
+      "syntax-operator": "#8da4f5",
+      "syntax-punctuation": "#dddde5",
+      "syntax-object": "#77becf",
+      "markdown-heading": "#ffffff",
+      "markdown-text": "#dddde5",
+      "markdown-link": "#8da4f5",
+      "markdown-link-text": "#a7b6f8",
+      "markdown-code": "#77c599",
+      "markdown-block-quote": "#9d9da8",
+      "markdown-emph": "#fc9b6f",
+      "markdown-strong": "#f4f5f9",
+      "markdown-horizontal-rule": "#b4b7c81f",
+      "markdown-list-item": "#ffffff",
+      "markdown-list-enumeration": "#8da4f5",
+      "markdown-image": "#8da4f5",
+      "markdown-image-text": "#a7b6f8",
+      "markdown-code-block": "#dddde5"
+    }
+  }
+}

+ 89 - 0
packages/ui/src/theme/themes/one-dark.json

@@ -0,0 +1,89 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "One Dark",
+  "id": "one-dark",
+  "light": {
+    "palette": {
+      "neutral": "#fafafa",
+      "ink": "#383a42",
+      "primary": "#4078f2",
+      "accent": "#0184bc",
+      "success": "#50a14f",
+      "warning": "#c18401",
+      "error": "#e45649",
+      "info": "#986801",
+      "diffAdd": "#489447",
+      "diffDelete": "#d65145"
+    },
+    "overrides": {
+      "text-weak": "#a0a1a7",
+      "syntax-comment": "#a0a1a7",
+      "syntax-keyword": "#a626a4",
+      "syntax-string": "#50a14f",
+      "syntax-primitive": "#4078f2",
+      "syntax-variable": "#e45649",
+      "syntax-property": "#0184bc",
+      "syntax-type": "#c18401",
+      "syntax-constant": "#986801",
+      "syntax-operator": "#0184bc",
+      "syntax-punctuation": "#383a42",
+      "syntax-object": "#e45649",
+      "markdown-heading": "#a626a4",
+      "markdown-text": "#383a42",
+      "markdown-link": "#4078f2",
+      "markdown-link-text": "#0184bc",
+      "markdown-code": "#50a14f",
+      "markdown-block-quote": "#a0a1a7",
+      "markdown-emph": "#c18401",
+      "markdown-strong": "#986801",
+      "markdown-horizontal-rule": "#a0a1a7",
+      "markdown-list-item": "#4078f2",
+      "markdown-list-enumeration": "#0184bc",
+      "markdown-image": "#4078f2",
+      "markdown-image-text": "#0184bc",
+      "markdown-code-block": "#383a42"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#282c34",
+      "ink": "#abb2bf",
+      "primary": "#61afef",
+      "accent": "#56b6c2",
+      "success": "#98c379",
+      "warning": "#e5c07b",
+      "error": "#e06c75",
+      "info": "#d19a66",
+      "diffAdd": "#aad482",
+      "diffDelete": "#e8828b"
+    },
+    "overrides": {
+      "text-weak": "#5c6370",
+      "syntax-comment": "#5c6370",
+      "syntax-keyword": "#c678dd",
+      "syntax-string": "#98c379",
+      "syntax-primitive": "#61afef",
+      "syntax-variable": "#e06c75",
+      "syntax-property": "#56b6c2",
+      "syntax-type": "#e5c07b",
+      "syntax-constant": "#d19a66",
+      "syntax-operator": "#56b6c2",
+      "syntax-punctuation": "#abb2bf",
+      "syntax-object": "#e06c75",
+      "markdown-heading": "#c678dd",
+      "markdown-text": "#abb2bf",
+      "markdown-link": "#61afef",
+      "markdown-link-text": "#56b6c2",
+      "markdown-code": "#98c379",
+      "markdown-block-quote": "#5c6370",
+      "markdown-emph": "#e5c07b",
+      "markdown-strong": "#d19a66",
+      "markdown-horizontal-rule": "#5c6370",
+      "markdown-list-item": "#61afef",
+      "markdown-list-enumeration": "#56b6c2",
+      "markdown-image": "#61afef",
+      "markdown-image-text": "#56b6c2",
+      "markdown-code-block": "#abb2bf"
+    }
+  }
+}

+ 89 - 0
packages/ui/src/theme/themes/opencode.json

@@ -0,0 +1,89 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "OpenCode",
+  "id": "opencode",
+  "light": {
+    "palette": {
+      "neutral": "#ffffff",
+      "ink": "#1a1a1a",
+      "primary": "#3b7dd8",
+      "accent": "#d68c27",
+      "success": "#3d9a57",
+      "warning": "#d68c27",
+      "error": "#d1383d",
+      "info": "#318795",
+      "diffAdd": "#4db380",
+      "diffDelete": "#f52a65"
+    },
+    "overrides": {
+      "text-weak": "#8a8a8a",
+      "syntax-comment": "#8a8a8a",
+      "syntax-keyword": "#d68c27",
+      "syntax-string": "#3d9a57",
+      "syntax-primitive": "#3b7dd8",
+      "syntax-variable": "#d1383d",
+      "syntax-property": "#318795",
+      "syntax-type": "#b0851f",
+      "syntax-constant": "#d68c27",
+      "syntax-operator": "#318795",
+      "syntax-punctuation": "#1a1a1a",
+      "syntax-object": "#d1383d",
+      "markdown-heading": "#d68c27",
+      "markdown-text": "#1a1a1a",
+      "markdown-link": "#3b7dd8",
+      "markdown-link-text": "#318795",
+      "markdown-code": "#3d9a57",
+      "markdown-block-quote": "#b0851f",
+      "markdown-emph": "#b0851f",
+      "markdown-strong": "#d68c27",
+      "markdown-horizontal-rule": "#8a8a8a",
+      "markdown-list-item": "#3b7dd8",
+      "markdown-list-enumeration": "#318795",
+      "markdown-image": "#3b7dd8",
+      "markdown-image-text": "#318795",
+      "markdown-code-block": "#1a1a1a"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#0a0a0a",
+      "ink": "#eeeeee",
+      "primary": "#fab283",
+      "accent": "#9d7cd8",
+      "success": "#7fd88f",
+      "warning": "#f5a742",
+      "error": "#e06c75",
+      "info": "#56b6c2",
+      "diffAdd": "#b8db87",
+      "diffDelete": "#e26a75"
+    },
+    "overrides": {
+      "text-weak": "#808080",
+      "syntax-comment": "#808080",
+      "syntax-keyword": "#9d7cd8",
+      "syntax-string": "#7fd88f",
+      "syntax-primitive": "#fab283",
+      "syntax-variable": "#e06c75",
+      "syntax-property": "#56b6c2",
+      "syntax-type": "#e5c07b",
+      "syntax-constant": "#f5a742",
+      "syntax-operator": "#56b6c2",
+      "syntax-punctuation": "#eeeeee",
+      "syntax-object": "#e06c75",
+      "markdown-heading": "#9d7cd8",
+      "markdown-text": "#eeeeee",
+      "markdown-link": "#fab283",
+      "markdown-link-text": "#56b6c2",
+      "markdown-code": "#7fd88f",
+      "markdown-block-quote": "#e5c07b",
+      "markdown-emph": "#e5c07b",
+      "markdown-strong": "#f5a742",
+      "markdown-horizontal-rule": "#808080",
+      "markdown-list-item": "#fab283",
+      "markdown-list-enumeration": "#56b6c2",
+      "markdown-image": "#fab283",
+      "markdown-image-text": "#56b6c2",
+      "markdown-code-block": "#eeeeee"
+    }
+  }
+}

+ 87 - 0
packages/ui/src/theme/themes/orng.json

@@ -0,0 +1,87 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Orng",
+  "id": "orng",
+  "light": {
+    "palette": {
+      "neutral": "#ffffff",
+      "ink": "#1a1a1a",
+      "primary": "#EC5B2B",
+      "accent": "#c94d24",
+      "success": "#0062d1",
+      "warning": "#EC5B2B",
+      "error": "#d1383d",
+      "info": "#318795",
+      "diffDelete": "#f52a65"
+    },
+    "overrides": {
+      "text-weak": "#8a8a8a",
+      "syntax-comment": "#8a8a8a",
+      "syntax-keyword": "#EC5B2B",
+      "syntax-string": "#0062d1",
+      "syntax-primitive": "#c94d24",
+      "syntax-variable": "#d1383d",
+      "syntax-property": "#318795",
+      "syntax-type": "#b0851f",
+      "syntax-constant": "#EC5B2B",
+      "syntax-operator": "#318795",
+      "syntax-punctuation": "#1a1a1a",
+      "syntax-object": "#d1383d",
+      "markdown-heading": "#EC5B2B",
+      "markdown-text": "#1a1a1a",
+      "markdown-link": "#EC5B2B",
+      "markdown-link-text": "#318795",
+      "markdown-code": "#0062d1",
+      "markdown-block-quote": "#b0851f",
+      "markdown-emph": "#b0851f",
+      "markdown-strong": "#EC5B2B",
+      "markdown-horizontal-rule": "#8a8a8a",
+      "markdown-list-item": "#EC5B2B",
+      "markdown-list-enumeration": "#318795",
+      "markdown-image": "#EC5B2B",
+      "markdown-image-text": "#318795",
+      "markdown-code-block": "#1a1a1a"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#0a0a0a",
+      "ink": "#eeeeee",
+      "primary": "#EC5B2B",
+      "accent": "#FFF7F1",
+      "success": "#6ba1e6",
+      "warning": "#EC5B2B",
+      "error": "#e06c75",
+      "info": "#56b6c2",
+      "diffDelete": "#e26a75"
+    },
+    "overrides": {
+      "text-weak": "#808080",
+      "syntax-comment": "#808080",
+      "syntax-keyword": "#EC5B2B",
+      "syntax-string": "#6ba1e6",
+      "syntax-primitive": "#EE7948",
+      "syntax-variable": "#e06c75",
+      "syntax-property": "#56b6c2",
+      "syntax-type": "#e5c07b",
+      "syntax-constant": "#FFF7F1",
+      "syntax-operator": "#56b6c2",
+      "syntax-punctuation": "#eeeeee",
+      "syntax-object": "#e06c75",
+      "markdown-heading": "#EC5B2B",
+      "markdown-text": "#eeeeee",
+      "markdown-link": "#EC5B2B",
+      "markdown-link-text": "#56b6c2",
+      "markdown-code": "#6ba1e6",
+      "markdown-block-quote": "#FFF7F1",
+      "markdown-emph": "#e5c07b",
+      "markdown-strong": "#EE7948",
+      "markdown-horizontal-rule": "#808080",
+      "markdown-list-item": "#EC5B2B",
+      "markdown-list-enumeration": "#56b6c2",
+      "markdown-image": "#EC5B2B",
+      "markdown-image-text": "#56b6c2",
+      "markdown-code-block": "#eeeeee"
+    }
+  }
+}

+ 88 - 0
packages/ui/src/theme/themes/osaka-jade.json

@@ -0,0 +1,88 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Osaka Jade",
+  "id": "osaka-jade",
+  "light": {
+    "palette": {
+      "neutral": "#F6F5DD",
+      "ink": "#111c18",
+      "primary": "#1faa90",
+      "accent": "#3d7a52",
+      "success": "#3d7a52",
+      "warning": "#b5a020",
+      "error": "#c7392d",
+      "info": "#1faa90"
+    },
+    "overrides": {
+      "text-weak": "#53685B",
+      "syntax-comment": "#53685B",
+      "syntax-keyword": "#1faa90",
+      "syntax-string": "#3d7a52",
+      "syntax-primitive": "#3d7560",
+      "syntax-variable": "#111c18",
+      "syntax-property": "#3d7a52",
+      "syntax-type": "#3d7a52",
+      "syntax-constant": "#a8527a",
+      "syntax-operator": "#b5a020",
+      "syntax-punctuation": "#111c18",
+      "syntax-object": "#111c18",
+      "markdown-heading": "#1faa90",
+      "markdown-text": "#111c18",
+      "markdown-link": "#1faa90",
+      "markdown-link-text": "#3d7a52",
+      "markdown-code": "#3d7a52",
+      "markdown-block-quote": "#53685B",
+      "markdown-emph": "#a8527a",
+      "markdown-strong": "#111c18",
+      "markdown-horizontal-rule": "#53685B",
+      "markdown-list-item": "#1faa90",
+      "markdown-list-enumeration": "#1faa90",
+      "markdown-image": "#1faa90",
+      "markdown-image-text": "#3d7a52",
+      "markdown-code-block": "#111c18"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#111c18",
+      "ink": "#C1C497",
+      "primary": "#2DD5B7",
+      "accent": "#549e6a",
+      "success": "#549e6a",
+      "warning": "#E5C736",
+      "error": "#FF5345",
+      "info": "#2DD5B7",
+      "interactive": "#8CD3CB",
+      "diffAdd": "#63b07a",
+      "diffDelete": "#db9f9c"
+    },
+    "overrides": {
+      "text-weak": "#53685B",
+      "syntax-comment": "#53685B",
+      "syntax-keyword": "#2DD5B7",
+      "syntax-string": "#63b07a",
+      "syntax-primitive": "#509475",
+      "syntax-variable": "#C1C497",
+      "syntax-property": "#549e6a",
+      "syntax-type": "#549e6a",
+      "syntax-constant": "#D2689C",
+      "syntax-operator": "#459451",
+      "syntax-punctuation": "#C1C497",
+      "syntax-object": "#C1C497",
+      "markdown-heading": "#2DD5B7",
+      "markdown-text": "#C1C497",
+      "markdown-link": "#8CD3CB",
+      "markdown-link-text": "#549e6a",
+      "markdown-code": "#63b07a",
+      "markdown-block-quote": "#53685B",
+      "markdown-emph": "#D2689C",
+      "markdown-strong": "#C1C497",
+      "markdown-horizontal-rule": "#53685B",
+      "markdown-list-item": "#2DD5B7",
+      "markdown-list-enumeration": "#8CD3CB",
+      "markdown-image": "#8CD3CB",
+      "markdown-image-text": "#549e6a",
+      "markdown-code-block": "#C1C497"
+    }
+  }
+}

+ 85 - 0
packages/ui/src/theme/themes/palenight.json

@@ -0,0 +1,85 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Palenight",
+  "id": "palenight",
+  "light": {
+    "palette": {
+      "neutral": "#fafafa",
+      "ink": "#292d3e",
+      "primary": "#4976eb",
+      "accent": "#00acc1",
+      "success": "#91b859",
+      "warning": "#ffb300",
+      "error": "#e53935",
+      "info": "#f4511e"
+    },
+    "overrides": {
+      "text-weak": "#8796b0",
+      "syntax-comment": "#8796b0",
+      "syntax-keyword": "#a854f2",
+      "syntax-string": "#91b859",
+      "syntax-primitive": "#4976eb",
+      "syntax-variable": "#292d3e",
+      "syntax-property": "#00acc1",
+      "syntax-type": "#ffb300",
+      "syntax-constant": "#f4511e",
+      "syntax-operator": "#00acc1",
+      "syntax-punctuation": "#292d3e",
+      "syntax-object": "#292d3e",
+      "markdown-heading": "#a854f2",
+      "markdown-text": "#292d3e",
+      "markdown-link": "#4976eb",
+      "markdown-link-text": "#00acc1",
+      "markdown-code": "#91b859",
+      "markdown-block-quote": "#8796b0",
+      "markdown-emph": "#ffb300",
+      "markdown-strong": "#f4511e",
+      "markdown-horizontal-rule": "#8796b0",
+      "markdown-list-item": "#4976eb",
+      "markdown-list-enumeration": "#00acc1",
+      "markdown-image": "#4976eb",
+      "markdown-image-text": "#00acc1",
+      "markdown-code-block": "#292d3e"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#292d3e",
+      "ink": "#a6accd",
+      "primary": "#82aaff",
+      "accent": "#89ddff",
+      "success": "#c3e88d",
+      "warning": "#ffcb6b",
+      "error": "#f07178",
+      "info": "#f78c6c"
+    },
+    "overrides": {
+      "text-weak": "#676e95",
+      "syntax-comment": "#676e95",
+      "syntax-keyword": "#c792ea",
+      "syntax-string": "#c3e88d",
+      "syntax-primitive": "#82aaff",
+      "syntax-variable": "#a6accd",
+      "syntax-property": "#89ddff",
+      "syntax-type": "#ffcb6b",
+      "syntax-constant": "#f78c6c",
+      "syntax-operator": "#89ddff",
+      "syntax-punctuation": "#a6accd",
+      "syntax-object": "#a6accd",
+      "markdown-heading": "#c792ea",
+      "markdown-text": "#a6accd",
+      "markdown-link": "#82aaff",
+      "markdown-link-text": "#89ddff",
+      "markdown-code": "#c3e88d",
+      "markdown-block-quote": "#676e95",
+      "markdown-emph": "#ffcb6b",
+      "markdown-strong": "#f78c6c",
+      "markdown-horizontal-rule": "#676e95",
+      "markdown-list-item": "#82aaff",
+      "markdown-list-enumeration": "#89ddff",
+      "markdown-image": "#82aaff",
+      "markdown-image-text": "#89ddff",
+      "markdown-code-block": "#a6accd"
+    }
+  }
+}

+ 85 - 0
packages/ui/src/theme/themes/rosepine.json

@@ -0,0 +1,85 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Rose Pine",
+  "id": "rosepine",
+  "light": {
+    "palette": {
+      "neutral": "#faf4ed",
+      "ink": "#575279",
+      "primary": "#31748f",
+      "accent": "#d7827e",
+      "success": "#286983",
+      "warning": "#ea9d34",
+      "error": "#b4637a",
+      "info": "#56949f"
+    },
+    "overrides": {
+      "text-weak": "#9893a5",
+      "syntax-comment": "#9893a5",
+      "syntax-keyword": "#286983",
+      "syntax-string": "#ea9d34",
+      "syntax-primitive": "#d7827e",
+      "syntax-variable": "#575279",
+      "syntax-property": "#d7827e",
+      "syntax-type": "#56949f",
+      "syntax-constant": "#907aa9",
+      "syntax-operator": "#797593",
+      "syntax-punctuation": "#797593",
+      "syntax-object": "#575279",
+      "markdown-heading": "#907aa9",
+      "markdown-text": "#575279",
+      "markdown-link": "#31748f",
+      "markdown-link-text": "#d7827e",
+      "markdown-code": "#286983",
+      "markdown-block-quote": "#9893a5",
+      "markdown-emph": "#ea9d34",
+      "markdown-strong": "#b4637a",
+      "markdown-horizontal-rule": "#dfdad9",
+      "markdown-list-item": "#31748f",
+      "markdown-list-enumeration": "#d7827e",
+      "markdown-image": "#31748f",
+      "markdown-image-text": "#d7827e",
+      "markdown-code-block": "#575279"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#191724",
+      "ink": "#e0def4",
+      "primary": "#9ccfd8",
+      "accent": "#ebbcba",
+      "success": "#31748f",
+      "warning": "#f6c177",
+      "error": "#eb6f92",
+      "info": "#9ccfd8"
+    },
+    "overrides": {
+      "text-weak": "#6e6a86",
+      "syntax-comment": "#6e6a86",
+      "syntax-keyword": "#31748f",
+      "syntax-string": "#f6c177",
+      "syntax-primitive": "#ebbcba",
+      "syntax-variable": "#e0def4",
+      "syntax-property": "#ebbcba",
+      "syntax-type": "#9ccfd8",
+      "syntax-constant": "#c4a7e7",
+      "syntax-operator": "#908caa",
+      "syntax-punctuation": "#908caa",
+      "syntax-object": "#e0def4",
+      "markdown-heading": "#c4a7e7",
+      "markdown-text": "#e0def4",
+      "markdown-link": "#9ccfd8",
+      "markdown-link-text": "#ebbcba",
+      "markdown-code": "#31748f",
+      "markdown-block-quote": "#6e6a86",
+      "markdown-emph": "#f6c177",
+      "markdown-strong": "#eb6f92",
+      "markdown-horizontal-rule": "#403d52",
+      "markdown-list-item": "#9ccfd8",
+      "markdown-list-enumeration": "#ebbcba",
+      "markdown-image": "#9ccfd8",
+      "markdown-image-text": "#ebbcba",
+      "markdown-code-block": "#e0def4"
+    }
+  }
+}

+ 87 - 0
packages/ui/src/theme/themes/synthwave84.json

@@ -0,0 +1,87 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Synthwave '84",
+  "id": "synthwave84",
+  "light": {
+    "palette": {
+      "neutral": "#fafafa",
+      "ink": "#262335",
+      "primary": "#00bcd4",
+      "accent": "#9c27b0",
+      "success": "#4caf50",
+      "warning": "#ff9800",
+      "error": "#f44336",
+      "info": "#ff5722"
+    },
+    "overrides": {
+      "text-weak": "#5c5c8a",
+      "syntax-comment": "#5c5c8a",
+      "syntax-keyword": "#e91e63",
+      "syntax-string": "#ff9800",
+      "syntax-primitive": "#ff5722",
+      "syntax-variable": "#262335",
+      "syntax-property": "#9c27b0",
+      "syntax-type": "#00bcd4",
+      "syntax-constant": "#9c27b0",
+      "syntax-operator": "#e91e63",
+      "syntax-punctuation": "#262335",
+      "syntax-object": "#262335",
+      "markdown-heading": "#e91e63",
+      "markdown-text": "#262335",
+      "markdown-link": "#00bcd4",
+      "markdown-link-text": "#9c27b0",
+      "markdown-code": "#4caf50",
+      "markdown-block-quote": "#5c5c8a",
+      "markdown-emph": "#ff9800",
+      "markdown-strong": "#ff5722",
+      "markdown-horizontal-rule": "#e0e0e0",
+      "markdown-list-item": "#00bcd4",
+      "markdown-list-enumeration": "#9c27b0",
+      "markdown-image": "#00bcd4",
+      "markdown-image-text": "#9c27b0",
+      "markdown-code-block": "#262335"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#262335",
+      "ink": "#ffffff",
+      "primary": "#36f9f6",
+      "accent": "#b084eb",
+      "success": "#72f1b8",
+      "warning": "#fede5d",
+      "error": "#fe4450",
+      "info": "#ff8b39",
+      "diffAdd": "#97f1d8",
+      "diffDelete": "#ff5e5b"
+    },
+    "overrides": {
+      "text-weak": "#848bbd",
+      "syntax-comment": "#848bbd",
+      "syntax-keyword": "#ff7edb",
+      "syntax-string": "#fede5d",
+      "syntax-primitive": "#ff8b39",
+      "syntax-variable": "#ffffff",
+      "syntax-property": "#b084eb",
+      "syntax-type": "#36f9f6",
+      "syntax-constant": "#b084eb",
+      "syntax-operator": "#ff7edb",
+      "syntax-punctuation": "#ffffff",
+      "syntax-object": "#ffffff",
+      "markdown-heading": "#ff7edb",
+      "markdown-text": "#ffffff",
+      "markdown-link": "#36f9f6",
+      "markdown-link-text": "#b084eb",
+      "markdown-code": "#72f1b8",
+      "markdown-block-quote": "#848bbd",
+      "markdown-emph": "#fede5d",
+      "markdown-strong": "#ff8b39",
+      "markdown-horizontal-rule": "#495495",
+      "markdown-list-item": "#36f9f6",
+      "markdown-list-enumeration": "#b084eb",
+      "markdown-image": "#36f9f6",
+      "markdown-image-text": "#b084eb",
+      "markdown-code-block": "#ffffff"
+    }
+  }
+}

+ 90 - 0
packages/ui/src/theme/themes/vercel.json

@@ -0,0 +1,90 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Vercel",
+  "id": "vercel",
+  "light": {
+    "palette": {
+      "neutral": "#FFFFFF",
+      "ink": "#171717",
+      "primary": "#0070F3",
+      "accent": "#8E4EC6",
+      "success": "#388E3C",
+      "warning": "#FF9500",
+      "error": "#DC3545",
+      "info": "#0070F3",
+      "diffAdd": "#46A758",
+      "diffDelete": "#E5484D"
+    },
+    "overrides": {
+      "text-weak": "#666666",
+      "syntax-comment": "#888888",
+      "syntax-keyword": "#E93D82",
+      "syntax-string": "#46A758",
+      "syntax-primitive": "#8E4EC6",
+      "syntax-variable": "#0070F3",
+      "syntax-property": "#12A594",
+      "syntax-type": "#12A594",
+      "syntax-constant": "#FFB224",
+      "syntax-operator": "#E93D82",
+      "syntax-punctuation": "#171717",
+      "syntax-object": "#0070F3",
+      "markdown-heading": "#8E4EC6",
+      "markdown-text": "#171717",
+      "markdown-link": "#0070F3",
+      "markdown-link-text": "#12A594",
+      "markdown-code": "#46A758",
+      "markdown-block-quote": "#666666",
+      "markdown-emph": "#FFB224",
+      "markdown-strong": "#E93D82",
+      "markdown-horizontal-rule": "#999999",
+      "markdown-list-item": "#171717",
+      "markdown-list-enumeration": "#0070F3",
+      "markdown-image": "#12A594",
+      "markdown-image-text": "#12A594",
+      "markdown-code-block": "#171717"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#000000",
+      "ink": "#EDEDED",
+      "primary": "#0070F3",
+      "accent": "#8E4EC6",
+      "success": "#46A758",
+      "warning": "#FFB224",
+      "error": "#E5484D",
+      "info": "#52A8FF",
+      "interactive": "#52A8FF",
+      "diffAdd": "#63C46D",
+      "diffDelete": "#FF6166"
+    },
+    "overrides": {
+      "text-weak": "#878787",
+      "syntax-comment": "#878787",
+      "syntax-keyword": "#F75590",
+      "syntax-string": "#63C46D",
+      "syntax-primitive": "#BF7AF0",
+      "syntax-variable": "#52A8FF",
+      "syntax-property": "#0AC7AC",
+      "syntax-type": "#0AC7AC",
+      "syntax-constant": "#F2A700",
+      "syntax-operator": "#F75590",
+      "syntax-punctuation": "#EDEDED",
+      "syntax-object": "#52A8FF",
+      "markdown-heading": "#BF7AF0",
+      "markdown-text": "#EDEDED",
+      "markdown-link": "#52A8FF",
+      "markdown-link-text": "#0AC7AC",
+      "markdown-code": "#63C46D",
+      "markdown-block-quote": "#878787",
+      "markdown-emph": "#F2A700",
+      "markdown-strong": "#F75590",
+      "markdown-horizontal-rule": "#454545",
+      "markdown-list-item": "#EDEDED",
+      "markdown-list-enumeration": "#52A8FF",
+      "markdown-image": "#0AC7AC",
+      "markdown-image-text": "#50E3C2",
+      "markdown-code-block": "#EDEDED"
+    }
+  }
+}

+ 87 - 0
packages/ui/src/theme/themes/zenburn.json

@@ -0,0 +1,87 @@
+{
+  "$schema": "https://opencode.ai/desktop-theme.json",
+  "name": "Zenburn",
+  "id": "zenburn",
+  "light": {
+    "palette": {
+      "neutral": "#ffffef",
+      "ink": "#3f3f3f",
+      "primary": "#5f7f8f",
+      "accent": "#5f8f8f",
+      "success": "#5f8f5f",
+      "warning": "#8f8f5f",
+      "error": "#8f5f5f",
+      "info": "#8f7f5f"
+    },
+    "overrides": {
+      "text-weak": "#6f6f6f",
+      "syntax-comment": "#5f7f5f",
+      "syntax-keyword": "#8f8f5f",
+      "syntax-string": "#8f5f5f",
+      "syntax-primitive": "#5f7f8f",
+      "syntax-variable": "#3f3f3f",
+      "syntax-property": "#5f8f8f",
+      "syntax-type": "#5f8f8f",
+      "syntax-constant": "#5f8f5f",
+      "syntax-operator": "#8f8f5f",
+      "syntax-punctuation": "#3f3f3f",
+      "syntax-object": "#3f3f3f",
+      "markdown-heading": "#8f8f5f",
+      "markdown-text": "#3f3f3f",
+      "markdown-link": "#5f7f8f",
+      "markdown-link-text": "#5f8f8f",
+      "markdown-code": "#5f8f5f",
+      "markdown-block-quote": "#6f6f6f",
+      "markdown-emph": "#8f8f5f",
+      "markdown-strong": "#8f7f5f",
+      "markdown-horizontal-rule": "#6f6f6f",
+      "markdown-list-item": "#5f7f8f",
+      "markdown-list-enumeration": "#5f8f8f",
+      "markdown-image": "#5f7f8f",
+      "markdown-image-text": "#5f8f8f",
+      "markdown-code-block": "#3f3f3f"
+    }
+  },
+  "dark": {
+    "palette": {
+      "neutral": "#3f3f3f",
+      "ink": "#dcdccc",
+      "primary": "#8cd0d3",
+      "accent": "#93e0e3",
+      "success": "#7f9f7f",
+      "warning": "#f0dfaf",
+      "error": "#cc9393",
+      "info": "#dfaf8f",
+      "diffAdd": "#8fb28f",
+      "diffDelete": "#dca3a3"
+    },
+    "overrides": {
+      "text-weak": "#9f9f9f",
+      "syntax-comment": "#7f9f7f",
+      "syntax-keyword": "#f0dfaf",
+      "syntax-string": "#cc9393",
+      "syntax-primitive": "#8cd0d3",
+      "syntax-variable": "#dcdccc",
+      "syntax-property": "#93e0e3",
+      "syntax-type": "#93e0e3",
+      "syntax-constant": "#8fb28f",
+      "syntax-operator": "#f0dfaf",
+      "syntax-punctuation": "#dcdccc",
+      "syntax-object": "#dcdccc",
+      "markdown-heading": "#f0dfaf",
+      "markdown-text": "#dcdccc",
+      "markdown-link": "#8cd0d3",
+      "markdown-link-text": "#93e0e3",
+      "markdown-code": "#7f9f7f",
+      "markdown-block-quote": "#9f9f9f",
+      "markdown-emph": "#e0cf9f",
+      "markdown-strong": "#dfaf8f",
+      "markdown-horizontal-rule": "#9f9f9f",
+      "markdown-list-item": "#8cd0d3",
+      "markdown-list-enumeration": "#93e0e3",
+      "markdown-image": "#8cd0d3",
+      "markdown-image-text": "#93e0e3",
+      "markdown-code-block": "#dcdccc"
+    }
+  }
+}