feat: replace v0 defaults with Greyhaven brand — icons, fonts (Aspekta), colors, and type scale from brand guidelines
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
export function ColorSwatches() {
|
||||
const primaryColors = [
|
||||
{ name: "Off-white", hex: "#F9F9F7", rgb: "249 249 247", token: "--card" },
|
||||
{ name: "Off-black", hex: "#161614", rgb: "22 22 20", token: "--foreground", dark: true },
|
||||
{ name: "Orange", hex: "#D95E2A", rgb: "217 94 42", token: "--primary", dark: true },
|
||||
{ name: "Off-white", hex: "#F9F9F7", rgb: "249 249 247", token: "--card", pantone: null },
|
||||
{ name: "Off-black", hex: "#161614", rgb: "22 22 20", token: "--foreground", dark: true, pantone: "PANTONE Black 6 C" },
|
||||
{ name: "Orange", hex: "#D95E2A", rgb: "217 94 42", token: "--primary", dark: true, pantone: "PANTONE 1595 C" },
|
||||
]
|
||||
|
||||
const greyScale = [
|
||||
@@ -47,6 +47,9 @@ export function ColorSwatches() {
|
||||
<div className="p-3 bg-card">
|
||||
<p className="font-sans text-sm font-medium">{color.name}</p>
|
||||
<p className="font-mono text-xs text-muted-foreground">{color.token}</p>
|
||||
{color.pantone && (
|
||||
<p className="font-sans text-xs text-muted-foreground mt-0.5">{color.pantone}</p>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
|
||||
@@ -104,20 +104,67 @@ export function TypographySamples() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Type Scale Reference */}
|
||||
<div className="border border-border rounded-md p-6 bg-card">
|
||||
<h4 className="font-sans text-sm font-semibold text-muted-foreground mb-4 uppercase tracking-wide">
|
||||
Type Scale — Brand Guidelines v1.1
|
||||
</h4>
|
||||
<div className="overflow-x-auto">
|
||||
<table className="w-full text-sm font-sans">
|
||||
<thead>
|
||||
<tr className="border-b border-border text-left">
|
||||
<th className="pb-2 pr-6 font-medium text-muted-foreground text-xs uppercase tracking-wide">Level</th>
|
||||
<th className="pb-2 pr-6 font-medium text-muted-foreground text-xs uppercase tracking-wide">Print ref</th>
|
||||
<th className="pb-2 pr-6 font-medium text-muted-foreground text-xs uppercase tracking-wide">Web token</th>
|
||||
<th className="pb-2 font-medium text-muted-foreground text-xs uppercase tracking-wide">Tracking</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody className="divide-y divide-border">
|
||||
{[
|
||||
{ level: "Display", print: "136pt", token: "--type-display", tracking: "−1%" },
|
||||
{ level: "H1", print: "68pt", token: "--type-h1", tracking: "−1%" },
|
||||
{ level: "H2", print: "51pt", token: "--type-h2", tracking: "−1%" },
|
||||
{ level: "H3", print: "40pt", token: "--type-h3", tracking: "−1%" },
|
||||
{ level: "H4", print: "36pt", token: "--type-h4", tracking: "−1%" },
|
||||
{ level: "Body", print: "18px", token: "--type-body-lg", tracking: "2%" },
|
||||
{ level: "Body sm", print: "15px", token: "--type-body-sm", tracking: "2%" },
|
||||
{ level: "Caption", print: "10pt", token: "--type-caption", tracking: "2%" },
|
||||
].map((row) => (
|
||||
<tr key={row.level}>
|
||||
<td className="py-2 pr-6 font-medium">{row.level}</td>
|
||||
<td className="py-2 pr-6 text-muted-foreground font-mono text-xs">{row.print}</td>
|
||||
<td className="py-2 pr-6 text-muted-foreground font-mono text-xs">{row.token}</td>
|
||||
<td className="py-2 text-muted-foreground font-mono text-xs">{row.tracking}</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Font Stack Reference */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
|
||||
<div className="border border-border rounded-md p-4 bg-card">
|
||||
<p className="font-sans text-xs text-muted-foreground uppercase tracking-wide mb-2">Serif Stack</p>
|
||||
<p className="font-sans text-xs text-muted-foreground uppercase tracking-wide mb-2">Primary — Serif</p>
|
||||
<p className="font-mono text-xs text-muted-foreground">
|
||||
'Source Serif Pro', 'Source Serif 4', Georgia, serif
|
||||
</p>
|
||||
</div>
|
||||
<div className="border border-border rounded-md p-4 bg-card">
|
||||
<p className="font-sans text-xs text-muted-foreground uppercase tracking-wide mb-2">Sans Stack</p>
|
||||
<p className="font-sans text-xs text-muted-foreground uppercase tracking-wide mb-1">Secondary — Sans</p>
|
||||
<p className="font-mono text-xs text-muted-foreground">
|
||||
'Aspekta', ui-sans-serif, system-ui, sans-serif
|
||||
</p>
|
||||
</div>
|
||||
<div className="border border-border rounded-md p-4 bg-card">
|
||||
<p className="font-sans text-xs text-muted-foreground uppercase tracking-wide mb-1">Logo only</p>
|
||||
<p className="font-mono text-xs text-muted-foreground mb-2">
|
||||
Circular Medium
|
||||
</p>
|
||||
<p className="font-sans text-xs text-muted-foreground">
|
||||
Used exclusively for the Greyhaven wordmark and product logos. Do not use in UI.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user