From c1d4d55333d9ed9b606c86d4f5185ae436561089 Mon Sep 17 00:00:00 2001 From: Juan Date: Mon, 13 Apr 2026 17:46:30 -0500 Subject: [PATCH] design system token v0.4 --- app/globals.css | 1 + app/tokens/TOKENS.md | 2 ++ app/tokens/tokens-dark.css | 2 ++ app/tokens/tokens-light.css | 2 ++ app/tokens/tokens.ts | 2 ++ components/ui/hero.tsx | 2 +- components/ui/navbar.tsx | 18 +++++++++--------- components/ui/page-layout.tsx | 2 +- components/ui/section.tsx | 2 +- skill/SKILL.md | 2 ++ tokens/color.json | 10 ++++++++++ 11 files changed, 33 insertions(+), 12 deletions(-) diff --git a/app/globals.css b/app/globals.css index 57d21c2..abcc99e 100644 --- a/app/globals.css +++ b/app/globals.css @@ -75,6 +75,7 @@ --radius-md: var(--radius); --radius-lg: calc(var(--radius) + 2px); --radius-xl: calc(var(--radius) + 4px); + --color-hero-bg: rgb(var(--hero-bg)); --color-sidebar: rgb(var(--sidebar)); --color-sidebar-foreground: rgb(var(--sidebar-foreground)); --color-sidebar-primary: rgb(var(--sidebar-primary)); diff --git a/app/tokens/TOKENS.md b/app/tokens/TOKENS.md index 76956f3..9d0d4f5 100644 --- a/app/tokens/TOKENS.md +++ b/app/tokens/TOKENS.md @@ -37,6 +37,7 @@ | `color.semantic.border` | `#c4c4bd` | Default border | | `color.semantic.input` | `#c4c4bd` | Input border | | `color.semantic.ring` | `#d95e2a` | Focus ring | +| `color.semantic.hero-bg` | `#ddddd7` | Hero banner background | | `color.semantic.chart.1` | `#d95e2a` | Chart accent | | `color.semantic.chart.2` | `#575753` | Chart secondary | | `color.semantic.chart.3` | `#7f7f79` | Chart tertiary | @@ -69,6 +70,7 @@ | `color.dark.border` | `#575753` | Dark border | | `color.dark.input` | `#575753` | Dark input border | | `color.dark.ring` | `#d95e2a` | Dark focus ring | +| `color.dark.hero-bg` | `#2f2f2c` | Dark hero banner background | | `color.dark.chart.1` | `#d95e2a` | Dark chart accent | | `color.dark.chart.2` | `#c4c4bd` | Dark chart secondary | | `color.dark.chart.3` | `#a6a69f` | Dark chart tertiary | diff --git a/app/tokens/tokens-dark.css b/app/tokens/tokens-dark.css index 9bdd5f2..c16bf01 100644 --- a/app/tokens/tokens-dark.css +++ b/app/tokens/tokens-dark.css @@ -41,6 +41,8 @@ --input: 87 87 83; /* Dark focus ring */ --ring: 217 94 42; + /* Dark hero banner background */ + --hero-bg: 47 47 44; /* Dark chart accent */ --chart-1: 217 94 42; /* Dark chart secondary */ diff --git a/app/tokens/tokens-light.css b/app/tokens/tokens-light.css index 14f2bed..7debb89 100644 --- a/app/tokens/tokens-light.css +++ b/app/tokens/tokens-light.css @@ -41,6 +41,8 @@ --input: 196 196 189; /* Focus ring */ --ring: 217 94 42; + /* Hero banner background */ + --hero-bg: 221 221 215; /* Chart accent */ --chart-1: 217 94 42; /* Chart secondary */ diff --git a/app/tokens/tokens.ts b/app/tokens/tokens.ts index 4a8db66..291fd20 100644 --- a/app/tokens/tokens.ts +++ b/app/tokens/tokens.ts @@ -32,6 +32,7 @@ export const ColorTokens = { 'semantic.border': '#c4c4bd', 'semantic.input': '#c4c4bd', 'semantic.ring': '#d95e2a', + 'semantic.hero-bg': '#ddddd7', 'semantic.chart.1': '#d95e2a', 'semantic.chart.2': '#575753', 'semantic.chart.3': '#7f7f79', @@ -64,6 +65,7 @@ export const ColorTokens = { 'dark.border': '#575753', 'dark.input': '#575753', 'dark.ring': '#d95e2a', + 'dark.hero-bg': '#2f2f2c', 'dark.chart.1': '#d95e2a', 'dark.chart.2': '#c4c4bd', 'dark.chart.3': '#a6a69f', diff --git a/components/ui/hero.tsx b/components/ui/hero.tsx index b3a232e..7dcdffd 100644 --- a/components/ui/hero.tsx +++ b/components/ui/hero.tsx @@ -11,7 +11,7 @@ const heroVariants = cva('py-24 px-6', { split: 'text-left', }, background: { - default: 'bg-background', + default: 'bg-hero-bg', muted: 'bg-muted', accent: 'bg-primary/5', dark: 'bg-foreground text-background', diff --git a/components/ui/navbar.tsx b/components/ui/navbar.tsx index 503cf79..5883d4e 100644 --- a/components/ui/navbar.tsx +++ b/components/ui/navbar.tsx @@ -6,13 +6,13 @@ import { cn } from '@/lib/utils' import { Button } from '@/components/ui/button' const navbarVariants = cva( - 'fixed top-0 left-0 right-0 z-50 h-16 font-sans', + 'fixed top-0 left-0 right-0 z-50 h-[65px] font-sans', { variants: { variant: { - solid: 'bg-background border-b border-border', + solid: 'bg-card dark:bg-background border-b border-border', transparent: 'bg-transparent', - minimal: 'bg-background/80 backdrop-blur-sm border-b border-border/50', + minimal: 'bg-card/80 dark:bg-background/80 backdrop-blur-sm border-b border-border/50', }, }, defaultVariants: { @@ -47,7 +47,7 @@ function Navbar({
{/* Logo slot — left */} {logo && ( -
+
{logo}
)} @@ -55,7 +55,7 @@ function Navbar({ {/* Desktop nav — center */} @@ -93,9 +93,9 @@ function Navbar({ {mobileOpen && (
-