feat(design-system): complete blueprint aesthetic redesign with editorial typography
- Replace Geist fonts with Space Grotesk + Space Mono via next/font/google - Make dotted borders default for all card variants (default, elevated, outline) - Add blueprint grid backgrounds to homepage sections and playground - Create Section layout component with flexible semantic elements and spacing variants - Create GridContainer component with auto-fit/auto-fill responsive grid support - Add blueprint variants to Tabs and Button components (dotted borders) - Add editorial typography tokens (line-heights, letter-spacing) to Tailwind config - Add spacing tokens for airy editorial layouts - Add shadow utilities for blueprint aesthetic (shadow-blueprint, shadow-blueprint-hover) - Update 59 component tests for new variants and styling - All 429 tests passing, zero hardcoded colors, fully themeable 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
8e122aa468
commit
27f867ff24
30 changed files with 1265 additions and 73 deletions
|
|
@ -276,7 +276,7 @@ describe("CodeBlock", () => {
|
|||
);
|
||||
const codeblock = screen.getByTestId("codeblock");
|
||||
expect(codeblock.className).toContain("custom-class");
|
||||
expect(codeblock.className).toContain("bg-zinc-900");
|
||||
expect(codeblock.className).toContain("bg-background");
|
||||
expect(codeblock.className).toContain("border");
|
||||
});
|
||||
});
|
||||
|
|
@ -302,7 +302,7 @@ describe("CodeBlock", () => {
|
|||
render(<CodeBlock code="code" data-testid="codeblock" />);
|
||||
const codeblock = screen.getByTestId("codeblock");
|
||||
expect(codeblock.className).toContain("relative");
|
||||
expect(codeblock.className).toContain("bg-zinc-900");
|
||||
expect(codeblock.className).toContain("bg-background");
|
||||
expect(codeblock.className).toContain("border");
|
||||
expect(codeblock.className).toContain("overflow-hidden");
|
||||
});
|
||||
|
|
@ -313,7 +313,7 @@ describe("CodeBlock", () => {
|
|||
const code = codeblock.querySelector("code");
|
||||
expect(code?.className).toContain("block");
|
||||
expect(code?.className).toContain("font-mono");
|
||||
expect(code?.className).toContain("text-zinc-300");
|
||||
expect(code?.className).toContain("text-foreground-secondary");
|
||||
expect(code?.className).toContain("overflow-x-auto");
|
||||
expect(code?.className).toContain("whitespace-pre");
|
||||
});
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@ export const codeBlockContainerVariants = createVariants({
|
|||
// Layout
|
||||
"relative",
|
||||
// Background
|
||||
"bg-zinc-900",
|
||||
"bg-background",
|
||||
// Border
|
||||
"border border-zinc-800 rounded-lg",
|
||||
"border border-border rounded-lg",
|
||||
// Overflow
|
||||
"overflow-hidden",
|
||||
].join(" "),
|
||||
|
|
@ -32,7 +32,7 @@ export const codeBlockCodeVariants = createVariants({
|
|||
// Font
|
||||
"font-mono",
|
||||
// Color
|
||||
"text-zinc-300",
|
||||
"text-foreground-secondary",
|
||||
// Overflow
|
||||
"overflow-x-auto",
|
||||
// Whitespace
|
||||
|
|
@ -66,11 +66,11 @@ export const codeBlockCopyButtonVariants = createVariants({
|
|||
// Size
|
||||
"w-8 h-8",
|
||||
// Background
|
||||
"bg-zinc-800 hover:bg-zinc-700",
|
||||
"bg-surface-elevated hover:bg-accent",
|
||||
// Border
|
||||
"border border-zinc-700 rounded",
|
||||
"border border-border rounded",
|
||||
// Color
|
||||
"text-zinc-400 hover:text-zinc-100",
|
||||
"text-foreground-secondary hover:text-foreground",
|
||||
// Cursor
|
||||
"cursor-pointer",
|
||||
// Transition
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue