MCPcopy Create free account
hub / github.com/anomalyco/opencode / getColors

Function getColors

packages/ui/src/theme/resolve.ts:473–514  ·  view source on GitHub ↗
(variant: ThemeVariant)

Source from the content-addressed store, hash-verified

471}
472
473function getColors(variant: ThemeVariant): ThemeColors {
474 const input = variant as { palette?: unknown; seeds?: unknown }
475 if (input.palette && input.seeds) {
476 throw new Error("Theme variant cannot define both `palette` and `seeds`")
477 }
478
479 if (variant.palette) {
480 return {
481 compact: true,
482 neutral: variant.palette.neutral,
483 ink: variant.palette.ink,
484 primary: variant.palette.primary,
485 accent: variant.palette.accent ?? variant.palette.info,
486 success: variant.palette.success,
487 warning: variant.palette.warning,
488 error: variant.palette.error,
489 info: variant.palette.info,
490 interactive: variant.palette.interactive ?? variant.palette.primary,
491 diffAdd: variant.palette.diffAdd,
492 diffDelete: variant.palette.diffDelete,
493 }
494 }
495
496 if (variant.seeds) {
497 return {
498 compact: false,
499 neutral: variant.seeds.neutral,
500 ink: undefined,
501 primary: variant.seeds.primary,
502 accent: variant.seeds.info,
503 success: variant.seeds.success,
504 warning: variant.seeds.warning,
505 error: variant.seeds.error,
506 info: variant.seeds.info,
507 interactive: variant.seeds.interactive,
508 diffAdd: variant.seeds.diffAdd,
509 diffDelete: variant.seeds.diffDelete,
510 }
511 }
512
513 throw new Error("Theme variant requires `palette` or `seeds`")
514}
515
516function generateNeutralAlphaScale(neutralScale: HexColor[], isDark: boolean): HexColor[] {
517 const alphas = isDark

Callers 1

resolveThemeVariantFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected