Add fused TigerGraph\u00d7Claude design tokens
Browse files- web/src/lib/design-tokens.ts +125 -0
web/src/lib/design-tokens.ts
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/**
|
| 2 |
+
* Fused Design System: TigerGraph Γ Claude (Anthropic)
|
| 3 |
+
* ====================================================
|
| 4 |
+
* TigerGraph: Orange #FF6B00, Navy #002B49, Electric Blue #0072CE
|
| 5 |
+
* Claude: Cream #faf9f5, Coral #cc785c, Dark #181715
|
| 6 |
+
*
|
| 7 |
+
* The fusion: TigerGraph's authority + Claude's warmth
|
| 8 |
+
* - Canvas: Claude's warm cream (not cold white)
|
| 9 |
+
* - Primary CTA: TigerGraph orange (energy, action)
|
| 10 |
+
* - Secondary accent: Claude coral (warmth, intelligence)
|
| 11 |
+
* - Text/structure: TigerGraph navy (depth, authority)
|
| 12 |
+
* - Dark surfaces: Claude dark (product chrome, code)
|
| 13 |
+
*/
|
| 14 |
+
|
| 15 |
+
export const colors = {
|
| 16 |
+
// ββ Brand Primary βββββββββββββββββββββββββββββββββ
|
| 17 |
+
tigerOrange: "#FF6B00",
|
| 18 |
+
tigerOrangeHover: "#E55F00",
|
| 19 |
+
tigerOrangeLight: "#FFF4EB",
|
| 20 |
+
tigerOrangeMuted: "#FF8C35",
|
| 21 |
+
|
| 22 |
+
// ββ Brand Secondary βββββββββββββββββββββββββββββββ
|
| 23 |
+
tigerNavy: "#002B49",
|
| 24 |
+
tigerNavyLight: "#003D6B",
|
| 25 |
+
electricBlue: "#0072CE",
|
| 26 |
+
electricBlueLight: "#E6F4FF",
|
| 27 |
+
|
| 28 |
+
// ββ Claude Surfaces βββββββββββββββββββββββββββββββ
|
| 29 |
+
canvas: "#faf9f5",
|
| 30 |
+
surfaceSoft: "#f5f0e8",
|
| 31 |
+
surfaceCard: "#efe9de",
|
| 32 |
+
surfaceCreamStrong:"#e8e0d2",
|
| 33 |
+
surfaceDark: "#181715",
|
| 34 |
+
surfaceDarkElev: "#252320",
|
| 35 |
+
surfaceDarkSoft: "#1f1e1b",
|
| 36 |
+
|
| 37 |
+
// ββ Claude Accents ββββββββββββββββββββββββββββββββ
|
| 38 |
+
coral: "#cc785c",
|
| 39 |
+
coralActive: "#a9583e",
|
| 40 |
+
coralDisabled: "#e6dfd8",
|
| 41 |
+
accentTeal: "#5db8a6",
|
| 42 |
+
accentAmber: "#e8a55a",
|
| 43 |
+
|
| 44 |
+
// ββ Text ββββββββββββββββββββββββββββββββββββββββββ
|
| 45 |
+
ink: "#141413",
|
| 46 |
+
bodyStrong: "#252523",
|
| 47 |
+
body: "#3d3d3a",
|
| 48 |
+
muted: "#6c6a64",
|
| 49 |
+
mutedSoft: "#8e8b82",
|
| 50 |
+
onPrimary: "#ffffff",
|
| 51 |
+
onDark: "#faf9f5",
|
| 52 |
+
onDarkSoft: "#a09d96",
|
| 53 |
+
|
| 54 |
+
// ββ Borders βββββββββββββββββββββββββββββββββββββββ
|
| 55 |
+
hairline: "#e6dfd8",
|
| 56 |
+
hairlineSoft: "#ebe6df",
|
| 57 |
+
|
| 58 |
+
// ββ Semantic ββββββββββββββββββββββββββββββββββββββ
|
| 59 |
+
success: "#5db872",
|
| 60 |
+
successLight: "#ecf7ef",
|
| 61 |
+
warning: "#d4a017",
|
| 62 |
+
warningLight: "#fdf6e3",
|
| 63 |
+
error: "#c64545",
|
| 64 |
+
errorLight: "#fdf0f0",
|
| 65 |
+
|
| 66 |
+
// ββ Chart Colors (Pipeline comparison) ββββββββββββ
|
| 67 |
+
baseline: "#0072CE", // Electric blue for baseline
|
| 68 |
+
graphrag: "#FF6B00", // Tiger orange for GraphRAG
|
| 69 |
+
baselineLight: "#E6F4FF",
|
| 70 |
+
graphragLight: "#FFF4EB",
|
| 71 |
+
} as const;
|
| 72 |
+
|
| 73 |
+
export const typography = {
|
| 74 |
+
fontSerif: "'Cormorant Garamond', 'EB Garamond', 'Times New Roman', serif",
|
| 75 |
+
fontSans: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
|
| 76 |
+
fontMono: "'JetBrains Mono', 'Fira Code', 'Cascadia Code', Consolas, monospace",
|
| 77 |
+
} as const;
|
| 78 |
+
|
| 79 |
+
export const spacing = {
|
| 80 |
+
xxs: "4px",
|
| 81 |
+
xs: "8px",
|
| 82 |
+
sm: "12px",
|
| 83 |
+
md: "16px",
|
| 84 |
+
lg: "24px",
|
| 85 |
+
xl: "32px",
|
| 86 |
+
xxl: "48px",
|
| 87 |
+
section: "96px",
|
| 88 |
+
} as const;
|
| 89 |
+
|
| 90 |
+
export const rounded = {
|
| 91 |
+
xs: "4px",
|
| 92 |
+
sm: "6px",
|
| 93 |
+
md: "8px",
|
| 94 |
+
lg: "12px",
|
| 95 |
+
xl: "16px",
|
| 96 |
+
pill: "9999px",
|
| 97 |
+
full: "50%",
|
| 98 |
+
} as const;
|
| 99 |
+
|
| 100 |
+
// Chart-specific tokens for Recharts
|
| 101 |
+
export const chartTokens = {
|
| 102 |
+
baseline: {
|
| 103 |
+
stroke: colors.baseline,
|
| 104 |
+
fill: colors.baseline,
|
| 105 |
+
fillOpacity: 0.15,
|
| 106 |
+
name: "Baseline RAG",
|
| 107 |
+
},
|
| 108 |
+
graphrag: {
|
| 109 |
+
stroke: colors.graphrag,
|
| 110 |
+
fill: colors.graphrag,
|
| 111 |
+
fillOpacity: 0.15,
|
| 112 |
+
name: "GraphRAG",
|
| 113 |
+
},
|
| 114 |
+
grid: {
|
| 115 |
+
stroke: colors.tigerNavy,
|
| 116 |
+
strokeOpacity: 0.1,
|
| 117 |
+
},
|
| 118 |
+
tooltip: {
|
| 119 |
+
background: colors.canvas,
|
| 120 |
+
border: colors.hairline,
|
| 121 |
+
text: colors.ink,
|
| 122 |
+
},
|
| 123 |
+
} as const;
|
| 124 |
+
|
| 125 |
+
export type ColorKey = keyof typeof colors;
|