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