@aexol/spectral 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/index.js +76 -301
- package/dist/cli.js +11 -0
- package/dist/designer/data/systems/agentic/DESIGN.md +71 -0
- package/dist/designer/data/systems/agentic/components.html +154 -0
- package/dist/designer/data/systems/agentic/tokens.css +63 -0
- package/dist/designer/data/systems/airbnb/DESIGN.md +393 -0
- package/dist/designer/data/systems/airbnb/components.html +1373 -0
- package/dist/designer/data/systems/airbnb/tokens.css +261 -0
- package/dist/designer/data/systems/airtable/DESIGN.md +92 -0
- package/dist/designer/data/systems/airtable/components.html +489 -0
- package/dist/designer/data/systems/airtable/tokens.css +261 -0
- package/dist/designer/data/systems/ant/DESIGN.md +71 -0
- package/dist/designer/data/systems/ant/components.html +154 -0
- package/dist/designer/data/systems/ant/tokens.css +63 -0
- package/dist/designer/data/systems/apple/DESIGN.md +250 -0
- package/dist/designer/data/systems/apple/components.html +749 -0
- package/dist/designer/data/systems/apple/tokens.css +286 -0
- package/dist/designer/data/systems/application/DESIGN.md +71 -0
- package/dist/designer/data/systems/application/components.html +154 -0
- package/dist/designer/data/systems/application/tokens.css +63 -0
- package/dist/designer/data/systems/arc/DESIGN.md +152 -0
- package/dist/designer/data/systems/arc/components.html +432 -0
- package/dist/designer/data/systems/arc/tokens.css +137 -0
- package/dist/designer/data/systems/artistic/DESIGN.md +71 -0
- package/dist/designer/data/systems/artistic/components.html +136 -0
- package/dist/designer/data/systems/artistic/tokens.css +63 -0
- package/dist/designer/data/systems/atelier-zero/DESIGN.md +316 -0
- package/dist/designer/data/systems/atelier-zero/components.html +136 -0
- package/dist/designer/data/systems/atelier-zero/tokens.css +63 -0
- package/dist/designer/data/systems/bento/DESIGN.md +71 -0
- package/dist/designer/data/systems/bento/components.html +136 -0
- package/dist/designer/data/systems/bento/tokens.css +63 -0
- package/dist/designer/data/systems/binance/DESIGN.md +348 -0
- package/dist/designer/data/systems/binance/components.html +550 -0
- package/dist/designer/data/systems/binance/tokens.css +255 -0
- package/dist/designer/data/systems/bmw/DESIGN.md +183 -0
- package/dist/designer/data/systems/bmw/components.html +551 -0
- package/dist/designer/data/systems/bmw/tokens.css +179 -0
- package/dist/designer/data/systems/bmw-m/DESIGN.md +246 -0
- package/dist/designer/data/systems/bmw-m/components.html +342 -0
- package/dist/designer/data/systems/bmw-m/tokens.css +64 -0
- package/dist/designer/data/systems/bold/DESIGN.md +71 -0
- package/dist/designer/data/systems/bold/components.html +136 -0
- package/dist/designer/data/systems/bold/tokens.css +63 -0
- package/dist/designer/data/systems/brutalism/DESIGN.md +71 -0
- package/dist/designer/data/systems/brutalism/components.html +154 -0
- package/dist/designer/data/systems/brutalism/tokens.css +63 -0
- package/dist/designer/data/systems/bugatti/DESIGN.md +271 -0
- package/dist/designer/data/systems/bugatti/components.html +342 -0
- package/dist/designer/data/systems/bugatti/tokens.css +64 -0
- package/dist/designer/data/systems/cafe/DESIGN.md +71 -0
- package/dist/designer/data/systems/cafe/components.html +136 -0
- package/dist/designer/data/systems/cafe/tokens.css +63 -0
- package/dist/designer/data/systems/cal/DESIGN.md +262 -0
- package/dist/designer/data/systems/cal/components.html +376 -0
- package/dist/designer/data/systems/cal/tokens.css +265 -0
- package/dist/designer/data/systems/canva/DESIGN.md +157 -0
- package/dist/designer/data/systems/canva/components.html +461 -0
- package/dist/designer/data/systems/canva/tokens.css +147 -0
- package/dist/designer/data/systems/cisco/DESIGN.md +201 -0
- package/dist/designer/data/systems/cisco/components.html +342 -0
- package/dist/designer/data/systems/cisco/tokens.css +64 -0
- package/dist/designer/data/systems/claude/DESIGN.md +315 -0
- package/dist/designer/data/systems/claude/components.html +483 -0
- package/dist/designer/data/systems/claude/tokens.css +130 -0
- package/dist/designer/data/systems/clay/DESIGN.md +307 -0
- package/dist/designer/data/systems/clay/components.html +136 -0
- package/dist/designer/data/systems/clay/tokens.css +63 -0
- package/dist/designer/data/systems/claymorphism/DESIGN.md +71 -0
- package/dist/designer/data/systems/claymorphism/components.html +136 -0
- package/dist/designer/data/systems/claymorphism/tokens.css +63 -0
- package/dist/designer/data/systems/clean/DESIGN.md +71 -0
- package/dist/designer/data/systems/clean/components.html +136 -0
- package/dist/designer/data/systems/clean/tokens.css +63 -0
- package/dist/designer/data/systems/clickhouse/DESIGN.md +284 -0
- package/dist/designer/data/systems/clickhouse/components.html +506 -0
- package/dist/designer/data/systems/clickhouse/tokens.css +135 -0
- package/dist/designer/data/systems/cohere/DESIGN.md +269 -0
- package/dist/designer/data/systems/cohere/components.html +353 -0
- package/dist/designer/data/systems/cohere/tokens.css +126 -0
- package/dist/designer/data/systems/coinbase/DESIGN.md +132 -0
- package/dist/designer/data/systems/coinbase/components.html +501 -0
- package/dist/designer/data/systems/coinbase/tokens.css +257 -0
- package/dist/designer/data/systems/colorful/DESIGN.md +71 -0
- package/dist/designer/data/systems/colorful/components.html +136 -0
- package/dist/designer/data/systems/colorful/tokens.css +63 -0
- package/dist/designer/data/systems/composio/DESIGN.md +310 -0
- package/dist/designer/data/systems/composio/components.html +342 -0
- package/dist/designer/data/systems/composio/tokens.css +64 -0
- package/dist/designer/data/systems/contemporary/DESIGN.md +71 -0
- package/dist/designer/data/systems/contemporary/components.html +136 -0
- package/dist/designer/data/systems/contemporary/tokens.css +63 -0
- package/dist/designer/data/systems/corporate/DESIGN.md +71 -0
- package/dist/designer/data/systems/corporate/components.html +136 -0
- package/dist/designer/data/systems/corporate/tokens.css +63 -0
- package/dist/designer/data/systems/cosmic/DESIGN.md +71 -0
- package/dist/designer/data/systems/cosmic/components.html +136 -0
- package/dist/designer/data/systems/cosmic/tokens.css +63 -0
- package/dist/designer/data/systems/creative/DESIGN.md +71 -0
- package/dist/designer/data/systems/creative/components.html +136 -0
- package/dist/designer/data/systems/creative/tokens.css +63 -0
- package/dist/designer/data/systems/cursor/DESIGN.md +312 -0
- package/dist/designer/data/systems/cursor/components.html +654 -0
- package/dist/designer/data/systems/cursor/tokens.css +218 -0
- package/dist/designer/data/systems/dashboard/DESIGN.md +71 -0
- package/dist/designer/data/systems/dashboard/components.html +154 -0
- package/dist/designer/data/systems/dashboard/tokens.css +63 -0
- package/dist/designer/data/systems/default/DESIGN.md +62 -0
- package/dist/designer/data/systems/default/components.html +523 -0
- package/dist/designer/data/systems/default/tokens.css +200 -0
- package/dist/designer/data/systems/discord/DESIGN.md +162 -0
- package/dist/designer/data/systems/discord/components.html +359 -0
- package/dist/designer/data/systems/discord/tokens.css +125 -0
- package/dist/designer/data/systems/dithered/DESIGN.md +71 -0
- package/dist/designer/data/systems/dithered/components.html +136 -0
- package/dist/designer/data/systems/dithered/tokens.css +63 -0
- package/dist/designer/data/systems/doodle/DESIGN.md +71 -0
- package/dist/designer/data/systems/doodle/components.html +136 -0
- package/dist/designer/data/systems/doodle/tokens.css +63 -0
- package/dist/designer/data/systems/dramatic/DESIGN.md +71 -0
- package/dist/designer/data/systems/dramatic/components.html +136 -0
- package/dist/designer/data/systems/dramatic/tokens.css +63 -0
- package/dist/designer/data/systems/duolingo/DESIGN.md +154 -0
- package/dist/designer/data/systems/duolingo/components.html +532 -0
- package/dist/designer/data/systems/duolingo/tokens.css +130 -0
- package/dist/designer/data/systems/editorial/DESIGN.md +71 -0
- package/dist/designer/data/systems/editorial/components.html +154 -0
- package/dist/designer/data/systems/editorial/tokens.css +63 -0
- package/dist/designer/data/systems/elegant/DESIGN.md +71 -0
- package/dist/designer/data/systems/elegant/components.html +136 -0
- package/dist/designer/data/systems/elegant/tokens.css +63 -0
- package/dist/designer/data/systems/elevenlabs/DESIGN.md +268 -0
- package/dist/designer/data/systems/elevenlabs/components.html +342 -0
- package/dist/designer/data/systems/elevenlabs/tokens.css +127 -0
- package/dist/designer/data/systems/energetic/DESIGN.md +72 -0
- package/dist/designer/data/systems/energetic/components.html +136 -0
- package/dist/designer/data/systems/energetic/tokens.css +63 -0
- package/dist/designer/data/systems/enterprise/DESIGN.md +71 -0
- package/dist/designer/data/systems/enterprise/components.html +154 -0
- package/dist/designer/data/systems/enterprise/tokens.css +63 -0
- package/dist/designer/data/systems/expo/DESIGN.md +284 -0
- package/dist/designer/data/systems/expo/components.html +342 -0
- package/dist/designer/data/systems/expo/tokens.css +64 -0
- package/dist/designer/data/systems/expressive/DESIGN.md +71 -0
- package/dist/designer/data/systems/expressive/components.html +136 -0
- package/dist/designer/data/systems/expressive/tokens.css +63 -0
- package/dist/designer/data/systems/fantasy/DESIGN.md +71 -0
- package/dist/designer/data/systems/fantasy/components.html +136 -0
- package/dist/designer/data/systems/fantasy/tokens.css +63 -0
- package/dist/designer/data/systems/ferrari/DESIGN.md +317 -0
- package/dist/designer/data/systems/ferrari/components.html +342 -0
- package/dist/designer/data/systems/ferrari/tokens.css +64 -0
- package/dist/designer/data/systems/figma/DESIGN.md +223 -0
- package/dist/designer/data/systems/figma/components.html +344 -0
- package/dist/designer/data/systems/figma/tokens.css +126 -0
- package/dist/designer/data/systems/flat/DESIGN.md +71 -0
- package/dist/designer/data/systems/flat/components.html +136 -0
- package/dist/designer/data/systems/flat/tokens.css +63 -0
- package/dist/designer/data/systems/framer/DESIGN.md +249 -0
- package/dist/designer/data/systems/framer/components.html +438 -0
- package/dist/designer/data/systems/framer/tokens.css +238 -0
- package/dist/designer/data/systems/friendly/DESIGN.md +71 -0
- package/dist/designer/data/systems/friendly/components.html +136 -0
- package/dist/designer/data/systems/friendly/tokens.css +63 -0
- package/dist/designer/data/systems/futuristic/DESIGN.md +71 -0
- package/dist/designer/data/systems/futuristic/components.html +136 -0
- package/dist/designer/data/systems/futuristic/tokens.css +63 -0
- package/dist/designer/data/systems/github/DESIGN.md +155 -0
- package/dist/designer/data/systems/github/components.html +383 -0
- package/dist/designer/data/systems/github/tokens.css +125 -0
- package/dist/designer/data/systems/glassmorphism/DESIGN.md +71 -0
- package/dist/designer/data/systems/glassmorphism/components.html +154 -0
- package/dist/designer/data/systems/glassmorphism/tokens.css +63 -0
- package/dist/designer/data/systems/gradient/DESIGN.md +71 -0
- package/dist/designer/data/systems/gradient/components.html +154 -0
- package/dist/designer/data/systems/gradient/tokens.css +63 -0
- package/dist/designer/data/systems/hashicorp/DESIGN.md +281 -0
- package/dist/designer/data/systems/hashicorp/components.html +502 -0
- package/dist/designer/data/systems/hashicorp/tokens.css +272 -0
- package/dist/designer/data/systems/hud/DESIGN.md +173 -0
- package/dist/designer/data/systems/hud/components.html +136 -0
- package/dist/designer/data/systems/hud/tokens.css +63 -0
- package/dist/designer/data/systems/huggingface/DESIGN.md +149 -0
- package/dist/designer/data/systems/huggingface/components.html +346 -0
- package/dist/designer/data/systems/huggingface/tokens.css +125 -0
- package/dist/designer/data/systems/ibm/DESIGN.md +335 -0
- package/dist/designer/data/systems/ibm/components.html +342 -0
- package/dist/designer/data/systems/ibm/tokens.css +64 -0
- package/dist/designer/data/systems/intercom/DESIGN.md +149 -0
- package/dist/designer/data/systems/intercom/components.html +557 -0
- package/dist/designer/data/systems/intercom/tokens.css +150 -0
- package/dist/designer/data/systems/kami/DESIGN.md +410 -0
- package/dist/designer/data/systems/kami/components.html +601 -0
- package/dist/designer/data/systems/kami/tokens.css +272 -0
- package/dist/designer/data/systems/kraken/DESIGN.md +128 -0
- package/dist/designer/data/systems/kraken/components.html +342 -0
- package/dist/designer/data/systems/kraken/tokens.css +64 -0
- package/dist/designer/data/systems/lamborghini/DESIGN.md +291 -0
- package/dist/designer/data/systems/lamborghini/components.html +342 -0
- package/dist/designer/data/systems/lamborghini/tokens.css +64 -0
- package/dist/designer/data/systems/levels/DESIGN.md +71 -0
- package/dist/designer/data/systems/levels/components.html +154 -0
- package/dist/designer/data/systems/levels/tokens.css +63 -0
- package/dist/designer/data/systems/linear-app/DESIGN.md +370 -0
- package/dist/designer/data/systems/linear-app/components.html +370 -0
- package/dist/designer/data/systems/linear-app/tokens.css +130 -0
- package/dist/designer/data/systems/lingo/DESIGN.md +71 -0
- package/dist/designer/data/systems/lingo/components.html +154 -0
- package/dist/designer/data/systems/lingo/tokens.css +63 -0
- package/dist/designer/data/systems/loom/DESIGN.md +201 -0
- package/dist/designer/data/systems/loom/components.html +446 -0
- package/dist/designer/data/systems/loom/tokens.css +138 -0
- package/dist/designer/data/systems/lovable/DESIGN.md +301 -0
- package/dist/designer/data/systems/lovable/components.html +441 -0
- package/dist/designer/data/systems/lovable/tokens.css +258 -0
- package/dist/designer/data/systems/luxury/DESIGN.md +71 -0
- package/dist/designer/data/systems/luxury/components.html +154 -0
- package/dist/designer/data/systems/luxury/tokens.css +63 -0
- package/dist/designer/data/systems/mastercard/DESIGN.md +368 -0
- package/dist/designer/data/systems/mastercard/components.html +342 -0
- package/dist/designer/data/systems/mastercard/tokens.css +64 -0
- package/dist/designer/data/systems/material/DESIGN.md +71 -0
- package/dist/designer/data/systems/material/components.html +154 -0
- package/dist/designer/data/systems/material/tokens.css +63 -0
- package/dist/designer/data/systems/meta/DESIGN.md +369 -0
- package/dist/designer/data/systems/meta/components.html +398 -0
- package/dist/designer/data/systems/meta/tokens.css +263 -0
- package/dist/designer/data/systems/minimal/DESIGN.md +71 -0
- package/dist/designer/data/systems/minimal/components.html +154 -0
- package/dist/designer/data/systems/minimal/tokens.css +63 -0
- package/dist/designer/data/systems/minimax/DESIGN.md +260 -0
- package/dist/designer/data/systems/minimax/components.html +590 -0
- package/dist/designer/data/systems/minimax/tokens.css +148 -0
- package/dist/designer/data/systems/mintlify/DESIGN.md +329 -0
- package/dist/designer/data/systems/mintlify/components.html +737 -0
- package/dist/designer/data/systems/mintlify/tokens.css +256 -0
- package/dist/designer/data/systems/miro/DESIGN.md +111 -0
- package/dist/designer/data/systems/miro/components.html +342 -0
- package/dist/designer/data/systems/miro/tokens.css +64 -0
- package/dist/designer/data/systems/mission-control/DESIGN.md +474 -0
- package/dist/designer/data/systems/mission-control/components.html +136 -0
- package/dist/designer/data/systems/mission-control/tokens.css +63 -0
- package/dist/designer/data/systems/mistral-ai/DESIGN.md +264 -0
- package/dist/designer/data/systems/mistral-ai/components.html +338 -0
- package/dist/designer/data/systems/mistral-ai/tokens.css +125 -0
- package/dist/designer/data/systems/modern/DESIGN.md +71 -0
- package/dist/designer/data/systems/modern/components.html +154 -0
- package/dist/designer/data/systems/modern/tokens.css +63 -0
- package/dist/designer/data/systems/mongodb/DESIGN.md +269 -0
- package/dist/designer/data/systems/mongodb/components.html +462 -0
- package/dist/designer/data/systems/mongodb/tokens.css +176 -0
- package/dist/designer/data/systems/mono/DESIGN.md +71 -0
- package/dist/designer/data/systems/mono/components.html +136 -0
- package/dist/designer/data/systems/mono/tokens.css +63 -0
- package/dist/designer/data/systems/neobrutalism/DESIGN.md +71 -0
- package/dist/designer/data/systems/neobrutalism/components.html +136 -0
- package/dist/designer/data/systems/neobrutalism/tokens.css +63 -0
- package/dist/designer/data/systems/neon/DESIGN.md +71 -0
- package/dist/designer/data/systems/neon/components.html +136 -0
- package/dist/designer/data/systems/neon/tokens.css +63 -0
- package/dist/designer/data/systems/neumorphism/DESIGN.md +71 -0
- package/dist/designer/data/systems/neumorphism/components.html +136 -0
- package/dist/designer/data/systems/neumorphism/tokens.css +63 -0
- package/dist/designer/data/systems/nike/DESIGN.md +366 -0
- package/dist/designer/data/systems/nike/components.html +512 -0
- package/dist/designer/data/systems/nike/tokens.css +304 -0
- package/dist/designer/data/systems/notion/DESIGN.md +312 -0
- package/dist/designer/data/systems/notion/components.html +413 -0
- package/dist/designer/data/systems/notion/tokens.css +130 -0
- package/dist/designer/data/systems/nvidia/DESIGN.md +296 -0
- package/dist/designer/data/systems/nvidia/components.html +414 -0
- package/dist/designer/data/systems/nvidia/tokens.css +133 -0
- package/dist/designer/data/systems/ollama/DESIGN.md +270 -0
- package/dist/designer/data/systems/ollama/components.html +700 -0
- package/dist/designer/data/systems/ollama/tokens.css +242 -0
- package/dist/designer/data/systems/openai/DESIGN.md +140 -0
- package/dist/designer/data/systems/openai/components.html +382 -0
- package/dist/designer/data/systems/openai/tokens.css +133 -0
- package/dist/designer/data/systems/opencode-ai/DESIGN.md +284 -0
- package/dist/designer/data/systems/opencode-ai/components.html +389 -0
- package/dist/designer/data/systems/opencode-ai/tokens.css +126 -0
- package/dist/designer/data/systems/pacman/DESIGN.md +71 -0
- package/dist/designer/data/systems/pacman/components.html +342 -0
- package/dist/designer/data/systems/pacman/tokens.css +64 -0
- package/dist/designer/data/systems/paper/DESIGN.md +71 -0
- package/dist/designer/data/systems/paper/components.html +136 -0
- package/dist/designer/data/systems/paper/tokens.css +63 -0
- package/dist/designer/data/systems/perplexity/DESIGN.md +286 -0
- package/dist/designer/data/systems/perplexity/components.html +455 -0
- package/dist/designer/data/systems/perplexity/tokens.css +151 -0
- package/dist/designer/data/systems/perspective/DESIGN.md +71 -0
- package/dist/designer/data/systems/perspective/components.html +136 -0
- package/dist/designer/data/systems/perspective/tokens.css +63 -0
- package/dist/designer/data/systems/pinterest/DESIGN.md +233 -0
- package/dist/designer/data/systems/pinterest/components.html +865 -0
- package/dist/designer/data/systems/pinterest/tokens.css +262 -0
- package/dist/designer/data/systems/playstation/DESIGN.md +367 -0
- package/dist/designer/data/systems/playstation/components.html +414 -0
- package/dist/designer/data/systems/playstation/tokens.css +150 -0
- package/dist/designer/data/systems/posthog/DESIGN.md +259 -0
- package/dist/designer/data/systems/posthog/components.html +827 -0
- package/dist/designer/data/systems/posthog/tokens.css +272 -0
- package/dist/designer/data/systems/premium/DESIGN.md +71 -0
- package/dist/designer/data/systems/premium/components.html +154 -0
- package/dist/designer/data/systems/premium/tokens.css +63 -0
- package/dist/designer/data/systems/professional/DESIGN.md +71 -0
- package/dist/designer/data/systems/professional/components.html +136 -0
- package/dist/designer/data/systems/professional/tokens.css +63 -0
- package/dist/designer/data/systems/publication/DESIGN.md +71 -0
- package/dist/designer/data/systems/publication/components.html +154 -0
- package/dist/designer/data/systems/publication/tokens.css +63 -0
- package/dist/designer/data/systems/raycast/DESIGN.md +271 -0
- package/dist/designer/data/systems/raycast/components.html +507 -0
- package/dist/designer/data/systems/raycast/tokens.css +143 -0
- package/dist/designer/data/systems/refined/DESIGN.md +71 -0
- package/dist/designer/data/systems/refined/components.html +136 -0
- package/dist/designer/data/systems/refined/tokens.css +63 -0
- package/dist/designer/data/systems/renault/DESIGN.md +314 -0
- package/dist/designer/data/systems/renault/components.html +154 -0
- package/dist/designer/data/systems/renault/tokens.css +63 -0
- package/dist/designer/data/systems/replicate/DESIGN.md +264 -0
- package/dist/designer/data/systems/replicate/components.html +340 -0
- package/dist/designer/data/systems/replicate/tokens.css +125 -0
- package/dist/designer/data/systems/resend/DESIGN.md +306 -0
- package/dist/designer/data/systems/resend/components.html +839 -0
- package/dist/designer/data/systems/resend/tokens.css +353 -0
- package/dist/designer/data/systems/retro/DESIGN.md +71 -0
- package/dist/designer/data/systems/retro/components.html +136 -0
- package/dist/designer/data/systems/retro/tokens.css +63 -0
- package/dist/designer/data/systems/revolut/DESIGN.md +188 -0
- package/dist/designer/data/systems/revolut/components.html +342 -0
- package/dist/designer/data/systems/revolut/tokens.css +64 -0
- package/dist/designer/data/systems/runwayml/DESIGN.md +247 -0
- package/dist/designer/data/systems/runwayml/components.html +638 -0
- package/dist/designer/data/systems/runwayml/tokens.css +204 -0
- package/dist/designer/data/systems/sanity/DESIGN.md +360 -0
- package/dist/designer/data/systems/sanity/components.html +342 -0
- package/dist/designer/data/systems/sanity/tokens.css +64 -0
- package/dist/designer/data/systems/sentry/DESIGN.md +265 -0
- package/dist/designer/data/systems/sentry/components.html +387 -0
- package/dist/designer/data/systems/sentry/tokens.css +219 -0
- package/dist/designer/data/systems/shadcn/DESIGN.md +71 -0
- package/dist/designer/data/systems/shadcn/components.html +732 -0
- package/dist/designer/data/systems/shadcn/tokens.css +255 -0
- package/dist/designer/data/systems/shopify/DESIGN.md +353 -0
- package/dist/designer/data/systems/shopify/components.html +342 -0
- package/dist/designer/data/systems/shopify/tokens.css +141 -0
- package/dist/designer/data/systems/simple/DESIGN.md +71 -0
- package/dist/designer/data/systems/simple/components.html +136 -0
- package/dist/designer/data/systems/simple/tokens.css +63 -0
- package/dist/designer/data/systems/skeumorphism/DESIGN.md +71 -0
- package/dist/designer/data/systems/skeumorphism/components.html +136 -0
- package/dist/designer/data/systems/skeumorphism/tokens.css +63 -0
- package/dist/designer/data/systems/slack/DESIGN.md +363 -0
- package/dist/designer/data/systems/slack/components.html +387 -0
- package/dist/designer/data/systems/slack/tokens.css +127 -0
- package/dist/designer/data/systems/sleek/DESIGN.md +71 -0
- package/dist/designer/data/systems/sleek/components.html +136 -0
- package/dist/designer/data/systems/sleek/tokens.css +63 -0
- package/dist/designer/data/systems/spacex/DESIGN.md +197 -0
- package/dist/designer/data/systems/spacex/components.html +496 -0
- package/dist/designer/data/systems/spacex/tokens.css +154 -0
- package/dist/designer/data/systems/spacious/DESIGN.md +71 -0
- package/dist/designer/data/systems/spacious/components.html +136 -0
- package/dist/designer/data/systems/spacious/tokens.css +63 -0
- package/dist/designer/data/systems/spotify/DESIGN.md +249 -0
- package/dist/designer/data/systems/spotify/components.html +365 -0
- package/dist/designer/data/systems/spotify/tokens.css +127 -0
- package/dist/designer/data/systems/starbucks/DESIGN.md +583 -0
- package/dist/designer/data/systems/starbucks/components.html +493 -0
- package/dist/designer/data/systems/starbucks/tokens.css +182 -0
- package/dist/designer/data/systems/storytelling/DESIGN.md +71 -0
- package/dist/designer/data/systems/storytelling/components.html +136 -0
- package/dist/designer/data/systems/storytelling/tokens.css +63 -0
- package/dist/designer/data/systems/stripe/DESIGN.md +325 -0
- package/dist/designer/data/systems/stripe/components.html +1018 -0
- package/dist/designer/data/systems/stripe/tokens.css +295 -0
- package/dist/designer/data/systems/supabase/DESIGN.md +258 -0
- package/dist/designer/data/systems/supabase/components.html +741 -0
- package/dist/designer/data/systems/supabase/tokens.css +294 -0
- package/dist/designer/data/systems/superhuman/DESIGN.md +255 -0
- package/dist/designer/data/systems/superhuman/components.html +537 -0
- package/dist/designer/data/systems/superhuman/tokens.css +160 -0
- package/dist/designer/data/systems/tesla/DESIGN.md +289 -0
- package/dist/designer/data/systems/tesla/components.html +724 -0
- package/dist/designer/data/systems/tesla/tokens.css +285 -0
- package/dist/designer/data/systems/tetris/DESIGN.md +71 -0
- package/dist/designer/data/systems/tetris/components.html +342 -0
- package/dist/designer/data/systems/tetris/tokens.css +64 -0
- package/dist/designer/data/systems/theverge/DESIGN.md +342 -0
- package/dist/designer/data/systems/theverge/components.html +342 -0
- package/dist/designer/data/systems/theverge/tokens.css +64 -0
- package/dist/designer/data/systems/together-ai/DESIGN.md +266 -0
- package/dist/designer/data/systems/together-ai/components.html +422 -0
- package/dist/designer/data/systems/together-ai/tokens.css +127 -0
- package/dist/designer/data/systems/totality-festival/DESIGN.md +206 -0
- package/dist/designer/data/systems/totality-festival/components.html +136 -0
- package/dist/designer/data/systems/totality-festival/tokens.css +63 -0
- package/dist/designer/data/systems/trading-terminal/DESIGN.md +178 -0
- package/dist/designer/data/systems/trading-terminal/components.html +154 -0
- package/dist/designer/data/systems/trading-terminal/tokens.css +63 -0
- package/dist/designer/data/systems/uber/DESIGN.md +298 -0
- package/dist/designer/data/systems/uber/components.html +347 -0
- package/dist/designer/data/systems/uber/tokens.css +131 -0
- package/dist/designer/data/systems/urdu/DESIGN.md +1002 -0
- package/dist/designer/data/systems/urdu/components.html +136 -0
- package/dist/designer/data/systems/urdu/tokens.css +63 -0
- package/dist/designer/data/systems/vercel/DESIGN.md +313 -0
- package/dist/designer/data/systems/vercel/components.html +839 -0
- package/dist/designer/data/systems/vercel/tokens.css +270 -0
- package/dist/designer/data/systems/vibrant/DESIGN.md +71 -0
- package/dist/designer/data/systems/vibrant/components.html +136 -0
- package/dist/designer/data/systems/vibrant/tokens.css +63 -0
- package/dist/designer/data/systems/vintage/DESIGN.md +71 -0
- package/dist/designer/data/systems/vintage/components.html +136 -0
- package/dist/designer/data/systems/vintage/tokens.css +63 -0
- package/dist/designer/data/systems/vodafone/DESIGN.md +426 -0
- package/dist/designer/data/systems/vodafone/components.html +342 -0
- package/dist/designer/data/systems/vodafone/tokens.css +64 -0
- package/dist/designer/data/systems/voltagent/DESIGN.md +326 -0
- package/dist/designer/data/systems/voltagent/components.html +154 -0
- package/dist/designer/data/systems/voltagent/tokens.css +63 -0
- package/dist/designer/data/systems/warm-editorial/DESIGN.md +65 -0
- package/dist/designer/data/systems/warm-editorial/components.html +136 -0
- package/dist/designer/data/systems/warm-editorial/tokens.css +63 -0
- package/dist/designer/data/systems/warp/DESIGN.md +256 -0
- package/dist/designer/data/systems/warp/components.html +411 -0
- package/dist/designer/data/systems/warp/tokens.css +156 -0
- package/dist/designer/data/systems/webex/DESIGN.md +207 -0
- package/dist/designer/data/systems/webex/components.html +342 -0
- package/dist/designer/data/systems/webex/tokens.css +64 -0
- package/dist/designer/data/systems/webflow/DESIGN.md +95 -0
- package/dist/designer/data/systems/webflow/components.html +413 -0
- package/dist/designer/data/systems/webflow/tokens.css +191 -0
- package/dist/designer/data/systems/wechat/DESIGN.md +302 -0
- package/dist/designer/data/systems/wechat/components.html +507 -0
- package/dist/designer/data/systems/wechat/tokens.css +176 -0
- package/dist/designer/data/systems/wired/DESIGN.md +281 -0
- package/dist/designer/data/systems/wired/components.html +342 -0
- package/dist/designer/data/systems/wired/tokens.css +64 -0
- package/dist/designer/data/systems/wise/DESIGN.md +176 -0
- package/dist/designer/data/systems/wise/components.html +365 -0
- package/dist/designer/data/systems/wise/tokens.css +141 -0
- package/dist/designer/data/systems/x-ai/DESIGN.md +260 -0
- package/dist/designer/data/systems/x-ai/components.html +460 -0
- package/dist/designer/data/systems/x-ai/tokens.css +268 -0
- package/dist/designer/data/systems/xiaohongshu/DESIGN.md +402 -0
- package/dist/designer/data/systems/xiaohongshu/components.html +865 -0
- package/dist/designer/data/systems/xiaohongshu/tokens.css +193 -0
- package/dist/designer/data/systems/zapier/DESIGN.md +331 -0
- package/dist/designer/data/systems/zapier/components.html +342 -0
- package/dist/designer/data/systems/zapier/tokens.css +64 -0
- package/dist/designer/guidelines.js +176 -0
- package/dist/designer/index.js +236 -0
- package/dist/designer/skills.js +1675 -0
- package/dist/designer/systems.js +216 -0
- package/dist/server/pi-bridge.js +155 -5
- package/dist/server/session-stream.js +45 -1
- package/package.json +1 -1
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# Design System Inspired by GitHub
|
|
2
|
+
|
|
3
|
+
> Category: Developer Tools
|
|
4
|
+
> Code-forward platform. Functional density, blue-on-white precision, Primer foundations.
|
|
5
|
+
|
|
6
|
+
## 1. Visual Theme & Atmosphere
|
|
7
|
+
|
|
8
|
+
GitHub's surface is engineered, not decorated. Every pixel announces a stance: this is a tool for people who care about diffs, builds, and pull requests. The page background is a clean `#ffffff` (light) or `#0d1117` (dark), with content arranged on dense rectangular panes separated by hairline borders rather than negative space. Information density is the brand — list rows, code lines, repository headers, and notification cards are all packed close together so a power user can scan a hundred items without scrolling.
|
|
9
|
+
|
|
10
|
+
The signature accents are the **Primer blue** (`#0969da`) for links and primary actions, and **GitHub green** (`#1a7f37`) for merged states, success, and the merge button itself. Both feel slightly muted compared to consumer-product blues and greens — saturated enough to read against the dense gray text, restrained enough to disappear into the background when several appear in one viewport.
|
|
11
|
+
|
|
12
|
+
Typography uses the **system-ui** stack across the entire product so text renders crisply on every OS, paired with **SFMono / Menlo / Consolas** for code. There is no editorial display font; GitHub's voice is the voice of the system you're already on.
|
|
13
|
+
|
|
14
|
+
**Key Characteristics:**
|
|
15
|
+
- True white canvas (`#ffffff`) or deep navy-black (`#0d1117`) — no warmth, no tint
|
|
16
|
+
- Hairline gray borders (`#d0d7de`) define every pane and panel
|
|
17
|
+
- Primer blue (`#0969da`) for links/primary; GitHub green (`#1a7f37`) for success/merge
|
|
18
|
+
- system-ui for prose; SFMono for code — no custom typeface
|
|
19
|
+
- Dense list rows with minimal padding; whitespace is rare
|
|
20
|
+
- Octicon iconography at 16px / 24px — single-stroke, geometric, consistent
|
|
21
|
+
- Pill-shaped status badges with strong color semantics
|
|
22
|
+
|
|
23
|
+
## 2. Color Palette & Roles
|
|
24
|
+
|
|
25
|
+
### Primary
|
|
26
|
+
- **Canvas Default** (`#ffffff`): Primary page background, light theme.
|
|
27
|
+
- **Canvas Subtle** (`#f6f8fa`): Secondary surface, sidebar, input background, header strip.
|
|
28
|
+
- **Canvas Inset** (`#eaeef2`): Code block background, deep-inset surface.
|
|
29
|
+
- **Fg Default** (`#1f2328`): Primary text, headlines, ink.
|
|
30
|
+
- **Fg Muted** (`#656d76`): Secondary text, captions, file paths.
|
|
31
|
+
|
|
32
|
+
### Brand Accent
|
|
33
|
+
- **Primer Blue** (`#0969da`): Links, primary CTAs, focus ring base — the universal interactive color.
|
|
34
|
+
- **Primer Blue Hover** (`#0550ae`): Hover/pressed for primary blue.
|
|
35
|
+
- **Accent Subtle** (`#ddf4ff`): Soft blue surface for callouts, info banners.
|
|
36
|
+
|
|
37
|
+
### Semantic
|
|
38
|
+
- **Success / Merge Green** (`#1a7f37`): Merged PRs, success badges, merge button.
|
|
39
|
+
- **Success Subtle** (`#dafbe1`): Success surface tint.
|
|
40
|
+
- **Open Green** (`#1a7f37`): "Open" issue/PR state.
|
|
41
|
+
- **Closed / Danger Red** (`#cf222e`): Closed PRs, destructive action, validation error.
|
|
42
|
+
- **Danger Subtle** (`#ffebe9`): Error banner surface.
|
|
43
|
+
- **Attention / Warning Yellow** (`#9a6700`): Warning text on amber surface.
|
|
44
|
+
- **Attention Subtle** (`#fff8c5`): Warning banner surface.
|
|
45
|
+
- **Done Purple** (`#8250df`): Merged-and-archived, "done" state, premium badge.
|
|
46
|
+
- **Sponsor Pink** (`#bf3989`): Sponsors heart, GitHub sponsors brand.
|
|
47
|
+
|
|
48
|
+
### Border & Divider
|
|
49
|
+
- **Border Default** (`#d0d7de`): Standard hairline border, panel outline.
|
|
50
|
+
- **Border Muted** (`#d8dee4`): Inner dividers within a panel.
|
|
51
|
+
- **Border Subtle** (`#eaeef2`): Faint table row dividers.
|
|
52
|
+
|
|
53
|
+
### Dark Theme
|
|
54
|
+
- **Dark Canvas** (`#0d1117`): Dark page background.
|
|
55
|
+
- **Dark Surface** (`#161b22`): Sidebar, header, secondary surface.
|
|
56
|
+
- **Dark Border** (`#30363d`): Standard dark-mode border.
|
|
57
|
+
- **Dark Fg** (`#e6edf3`): Primary text on dark.
|
|
58
|
+
|
|
59
|
+
## 3. Typography Rules
|
|
60
|
+
|
|
61
|
+
### Font Family
|
|
62
|
+
- **Body / UI**: `-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif`
|
|
63
|
+
- **Code / Mono**: `ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace`
|
|
64
|
+
- **Emoji**: `"Apple Color Emoji", "Segoe UI Emoji"`
|
|
65
|
+
|
|
66
|
+
### Hierarchy
|
|
67
|
+
|
|
68
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
69
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
70
|
+
| Display | system-ui | 32px (2rem) | 600 | 1.25 | -0.01em | Repo header, marketing hero |
|
|
71
|
+
| H1 | system-ui | 24px (1.5rem) | 600 | 1.25 | normal | Page heading |
|
|
72
|
+
| H2 | system-ui | 20px (1.25rem) | 600 | 1.25 | normal | Section heading |
|
|
73
|
+
| H3 | system-ui | 16px (1rem) | 600 | 1.25 | normal | Sub-section, panel header |
|
|
74
|
+
| Body | system-ui | 14px (0.875rem) | 400 | 1.5 | normal | Default text size — not 16px |
|
|
75
|
+
| Body Small | system-ui | 12px (0.75rem) | 400 | 1.4 | normal | Captions, file metadata |
|
|
76
|
+
| Code | SFMono | 12px (0.75rem) | 400 | 1.45 | normal | Code blocks, diff |
|
|
77
|
+
| Code Inline | SFMono | 0.85em | 400 | inherit | normal | Inline `code` spans |
|
|
78
|
+
|
|
79
|
+
### Principles
|
|
80
|
+
- **14px body, not 16px**: GitHub's prose density is its identity. The product reads at 14px to fit more rows in a viewport.
|
|
81
|
+
- **Weight binary**: 400 for everything by default; 600 for headlines and emphasis. No 500, no 700.
|
|
82
|
+
- **System fonts always**: never load a webfont for chrome — text must render instantly on slow connections.
|
|
83
|
+
|
|
84
|
+
## 4. Component Stylings
|
|
85
|
+
|
|
86
|
+
### Buttons
|
|
87
|
+
|
|
88
|
+
**Primary (Green)**
|
|
89
|
+
- Background: `#1f883d`
|
|
90
|
+
- Text: `#ffffff`
|
|
91
|
+
- Border: 1px solid `rgba(31, 35, 40, 0.15)`
|
|
92
|
+
- Padding: 5px 16px
|
|
93
|
+
- Radius: 6px
|
|
94
|
+
- Shadow: `0 1px 0 rgba(31,35,40,0.1)`
|
|
95
|
+
- Hover: background `#1a7f37`
|
|
96
|
+
- Use: "Create repository", "Merge pull request"
|
|
97
|
+
|
|
98
|
+
**Default**
|
|
99
|
+
- Background: `#f6f8fa`
|
|
100
|
+
- Text: `#1f2328`
|
|
101
|
+
- Border: 1px solid `#d0d7de`
|
|
102
|
+
- Padding: 5px 16px
|
|
103
|
+
- Radius: 6px
|
|
104
|
+
- Hover: background `#f3f4f6`, border `#d0d7de`
|
|
105
|
+
|
|
106
|
+
**Outline (Blue Link Style)**
|
|
107
|
+
- Background: `#ffffff`
|
|
108
|
+
- Text: `#0969da`
|
|
109
|
+
- Border: 1px solid `#d0d7de`
|
|
110
|
+
- Hover: background `#0969da`, text `#ffffff`
|
|
111
|
+
|
|
112
|
+
**Danger**
|
|
113
|
+
- Background: `#ffffff`
|
|
114
|
+
- Text: `#cf222e`
|
|
115
|
+
- Border: 1px solid `#d0d7de`
|
|
116
|
+
- Hover: background `#a40e26`, text `#ffffff`, border `#a40e26`
|
|
117
|
+
|
|
118
|
+
### Cards / Boxes
|
|
119
|
+
- Background: `#ffffff`
|
|
120
|
+
- Border: 1px solid `#d0d7de`
|
|
121
|
+
- Radius: 6px
|
|
122
|
+
- Padding: 16px (header) + 16px (body)
|
|
123
|
+
- Header has a `#f6f8fa` strip with bottom border.
|
|
124
|
+
|
|
125
|
+
### Inputs
|
|
126
|
+
- Background: `#ffffff`
|
|
127
|
+
- Border: 1px solid `#d0d7de`
|
|
128
|
+
- Radius: 6px
|
|
129
|
+
- Padding: 5px 12px
|
|
130
|
+
- Focus: border `#0969da`, ring `0 0 0 3px rgba(9,105,218,0.3)`
|
|
131
|
+
|
|
132
|
+
### Status Pills (Issue / PR)
|
|
133
|
+
- **Open**: background `#1a7f37`, text white, padding 4px 10px, radius 9999px.
|
|
134
|
+
- **Closed**: background `#cf222e`, text white.
|
|
135
|
+
- **Merged**: background `#8250df`, text white.
|
|
136
|
+
- **Draft**: background `#6e7781`, text white.
|
|
137
|
+
|
|
138
|
+
### Labels (Tags on Issues/PRs)
|
|
139
|
+
- Padding: 0 7px
|
|
140
|
+
- Radius: 9999px
|
|
141
|
+
- Font: 12px / 500
|
|
142
|
+
- Background and text are programmatic (label color → text computed for contrast).
|
|
143
|
+
|
|
144
|
+
## 5. Spacing & Layout
|
|
145
|
+
|
|
146
|
+
- **Base unit**: 4px. Spacing scale: 4, 8, 12, 16, 24, 32, 40, 48.
|
|
147
|
+
- **Page max-width**: 1280px (`Container-xl`).
|
|
148
|
+
- **Sidebar**: 296px on desktop, collapses below 1012px.
|
|
149
|
+
- **Row padding**: 16px horizontal, 12px vertical (lists are dense by design).
|
|
150
|
+
|
|
151
|
+
## 6. Motion
|
|
152
|
+
|
|
153
|
+
- **Duration**: 80ms for hover; 200ms for menu/popover open.
|
|
154
|
+
- **Easing**: `ease-out` for opens, `ease-in` for closes.
|
|
155
|
+
- **Avoided**: page-load animation, parallax, persistent micro-interactions. Things appear; they do not perform.
|
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>GitHub — reference components</title>
|
|
7
|
+
<meta
|
|
8
|
+
name="description"
|
|
9
|
+
content="Reference fixture for design-systems/github. Every visible
|
|
10
|
+
value comes from tokens.css. GitHub's signature moves: true white
|
|
11
|
+
canvas, hairline borders (#d0d7de), Primer blue CTAs, GitHub green
|
|
12
|
+
for success/merge, system-ui fonts, 14px body density."
|
|
13
|
+
/>
|
|
14
|
+
|
|
15
|
+
<style>
|
|
16
|
+
:root {
|
|
17
|
+
--bg: #ffffff;
|
|
18
|
+
--surface: #f6f8fa;
|
|
19
|
+
--surface-warm: var(--surface);
|
|
20
|
+
|
|
21
|
+
--fg: #1f2328;
|
|
22
|
+
--fg-2: #1f2328;
|
|
23
|
+
--muted: #656d76;
|
|
24
|
+
--meta: #656d76;
|
|
25
|
+
|
|
26
|
+
--border: #d0d7de;
|
|
27
|
+
--border-soft: #d8dee4;
|
|
28
|
+
|
|
29
|
+
--accent: #0969da;
|
|
30
|
+
--accent-on: #ffffff;
|
|
31
|
+
--accent-hover: #0550ae;
|
|
32
|
+
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
33
|
+
|
|
34
|
+
--success: #1a7f37;
|
|
35
|
+
--warn: #9a6700;
|
|
36
|
+
--danger: #cf222e;
|
|
37
|
+
|
|
38
|
+
--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
39
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
40
|
+
--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
41
|
+
|
|
42
|
+
--text-xs: 12px;
|
|
43
|
+
--text-sm: 14px;
|
|
44
|
+
--text-base: 14px;
|
|
45
|
+
--text-lg: 16px;
|
|
46
|
+
--text-xl: 20px;
|
|
47
|
+
--text-2xl: 24px;
|
|
48
|
+
--text-3xl: 28px;
|
|
49
|
+
--text-4xl: 32px;
|
|
50
|
+
|
|
51
|
+
--leading-body: 1.5;
|
|
52
|
+
--leading-tight: 1.25;
|
|
53
|
+
--tracking-display: -0.01em;
|
|
54
|
+
|
|
55
|
+
--space-1: 4px;
|
|
56
|
+
--space-2: 8px;
|
|
57
|
+
--space-3: 12px;
|
|
58
|
+
--space-4: 16px;
|
|
59
|
+
--space-5: 20px;
|
|
60
|
+
--space-6: 24px;
|
|
61
|
+
--space-8: 32px;
|
|
62
|
+
--space-12: 48px;
|
|
63
|
+
|
|
64
|
+
--section-y-desktop: 64px;
|
|
65
|
+
--section-y-tablet: 48px;
|
|
66
|
+
--section-y-phone: 32px;
|
|
67
|
+
|
|
68
|
+
--radius-sm: 6px;
|
|
69
|
+
--radius-md: 6px;
|
|
70
|
+
--radius-lg: 12px;
|
|
71
|
+
--radius-pill: 9999px;
|
|
72
|
+
|
|
73
|
+
--elev-flat: none;
|
|
74
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
75
|
+
--elev-raised: 0 1px 3px rgba(31, 35, 40, 0.12), 0 8px 24px rgba(66, 74, 83, 0.12);
|
|
76
|
+
|
|
77
|
+
--focus-ring: 0 0 0 3px rgba(9, 105, 218, 0.3);
|
|
78
|
+
|
|
79
|
+
--motion-fast: 80ms;
|
|
80
|
+
--motion-base: 200ms;
|
|
81
|
+
--ease-standard: ease-out;
|
|
82
|
+
|
|
83
|
+
--container-max: 1280px;
|
|
84
|
+
--container-gutter-desktop: 24px;
|
|
85
|
+
--container-gutter-tablet: 16px;
|
|
86
|
+
--container-gutter-phone: 16px;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
*, *::before, *::after { box-sizing: border-box; }
|
|
90
|
+
html, body { margin: 0; padding: 0; }
|
|
91
|
+
body {
|
|
92
|
+
background: var(--bg);
|
|
93
|
+
color: var(--fg);
|
|
94
|
+
font-family: var(--font-body);
|
|
95
|
+
font-size: var(--text-base);
|
|
96
|
+
line-height: var(--leading-body);
|
|
97
|
+
-webkit-font-smoothing: antialiased;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.container {
|
|
101
|
+
max-width: var(--container-max);
|
|
102
|
+
margin-inline: auto;
|
|
103
|
+
padding-inline: var(--container-gutter-desktop);
|
|
104
|
+
}
|
|
105
|
+
section { padding-block: var(--section-y-desktop); }
|
|
106
|
+
section + section { border-top: 1px solid var(--border); }
|
|
107
|
+
@media (max-width: 1023px) {
|
|
108
|
+
.container { padding-inline: var(--container-gutter-tablet); }
|
|
109
|
+
section { padding-block: var(--section-y-tablet); }
|
|
110
|
+
}
|
|
111
|
+
@media (max-width: 639px) {
|
|
112
|
+
.container { padding-inline: var(--container-gutter-phone); }
|
|
113
|
+
section { padding-block: var(--section-y-phone); }
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* ─── Typography ─────────────────────────── */
|
|
117
|
+
h1, h2, h3 {
|
|
118
|
+
font-family: var(--font-display);
|
|
119
|
+
font-weight: 600;
|
|
120
|
+
margin: 0;
|
|
121
|
+
line-height: var(--leading-tight);
|
|
122
|
+
}
|
|
123
|
+
h1 {
|
|
124
|
+
font-size: var(--text-4xl);
|
|
125
|
+
letter-spacing: var(--tracking-display);
|
|
126
|
+
}
|
|
127
|
+
h2 {
|
|
128
|
+
font-size: var(--text-xl);
|
|
129
|
+
/* 20px section heading: line-height 1.25, normal tracking. */
|
|
130
|
+
}
|
|
131
|
+
h3 {
|
|
132
|
+
font-size: var(--text-lg);
|
|
133
|
+
/* 16px sub-section/panel header: line-height 1.25.
|
|
134
|
+
Overrides the shared --leading-tight set above. */
|
|
135
|
+
}
|
|
136
|
+
p { margin: 0; }
|
|
137
|
+
.body-muted { color: var(--muted); }
|
|
138
|
+
.body-sm { font-size: var(--text-sm); }
|
|
139
|
+
.body-xs { font-size: var(--text-xs); }
|
|
140
|
+
.eyebrow {
|
|
141
|
+
font-size: var(--text-xs);
|
|
142
|
+
font-weight: 600;
|
|
143
|
+
color: var(--muted);
|
|
144
|
+
text-transform: uppercase;
|
|
145
|
+
letter-spacing: 0.06em;
|
|
146
|
+
}
|
|
147
|
+
code {
|
|
148
|
+
font-family: var(--font-mono);
|
|
149
|
+
font-size: 0.85em;
|
|
150
|
+
background: var(--surface);
|
|
151
|
+
border: 1px solid var(--border);
|
|
152
|
+
border-radius: var(--radius-sm);
|
|
153
|
+
padding: 1px 4px;
|
|
154
|
+
}
|
|
155
|
+
.stack-3 > * + * { margin-block-start: var(--space-3); }
|
|
156
|
+
.stack-4 > * + * { margin-block-start: var(--space-4); }
|
|
157
|
+
|
|
158
|
+
/* ─── Buttons ────────────────────────────── */
|
|
159
|
+
.btn {
|
|
160
|
+
display: inline-flex;
|
|
161
|
+
align-items: center;
|
|
162
|
+
gap: var(--space-2);
|
|
163
|
+
padding: 5px 16px;
|
|
164
|
+
border-radius: var(--radius-sm);
|
|
165
|
+
font-family: var(--font-body);
|
|
166
|
+
font-size: var(--text-sm);
|
|
167
|
+
font-weight: 400;
|
|
168
|
+
line-height: 1.5;
|
|
169
|
+
cursor: pointer;
|
|
170
|
+
border: 1px solid transparent;
|
|
171
|
+
transition: background-color var(--motion-fast) var(--ease-standard),
|
|
172
|
+
border-color var(--motion-fast) var(--ease-standard);
|
|
173
|
+
text-decoration: none;
|
|
174
|
+
}
|
|
175
|
+
.btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
|
|
176
|
+
.btn-primary {
|
|
177
|
+
background: #1f883d;
|
|
178
|
+
color: #ffffff;
|
|
179
|
+
border-color: rgba(31, 35, 40, 0.15);
|
|
180
|
+
box-shadow: 0 1px 0 rgba(31, 35, 40, 0.1);
|
|
181
|
+
font-weight: 500;
|
|
182
|
+
}
|
|
183
|
+
.btn-primary:hover { background: var(--success); }
|
|
184
|
+
.btn-default {
|
|
185
|
+
background: var(--surface);
|
|
186
|
+
color: var(--fg);
|
|
187
|
+
border-color: var(--border);
|
|
188
|
+
}
|
|
189
|
+
.btn-default:hover { background: #f3f4f6; }
|
|
190
|
+
.btn-outline {
|
|
191
|
+
background: var(--bg);
|
|
192
|
+
color: var(--accent);
|
|
193
|
+
border-color: var(--border);
|
|
194
|
+
}
|
|
195
|
+
.btn-outline:hover { background: var(--accent); color: white; }
|
|
196
|
+
|
|
197
|
+
/* ─── Status pills ───────────────────────── */
|
|
198
|
+
.status-pill {
|
|
199
|
+
display: inline-flex;
|
|
200
|
+
align-items: center;
|
|
201
|
+
gap: var(--space-1);
|
|
202
|
+
padding: 4px 10px;
|
|
203
|
+
border-radius: var(--radius-pill);
|
|
204
|
+
font-size: var(--text-xs);
|
|
205
|
+
font-weight: 500;
|
|
206
|
+
color: white;
|
|
207
|
+
line-height: 1;
|
|
208
|
+
}
|
|
209
|
+
.status-open { background: #1a7f37; }
|
|
210
|
+
.status-closed { background: #cf222e; }
|
|
211
|
+
.status-merged { background: #8250df; }
|
|
212
|
+
.status-draft { background: #6e7781; }
|
|
213
|
+
|
|
214
|
+
/* ─── Box / Card ─────────────────────────── */
|
|
215
|
+
.box {
|
|
216
|
+
border: 1px solid var(--border);
|
|
217
|
+
border-radius: var(--radius-sm);
|
|
218
|
+
overflow: hidden;
|
|
219
|
+
}
|
|
220
|
+
.box-header {
|
|
221
|
+
background: var(--surface);
|
|
222
|
+
border-bottom: 1px solid var(--border);
|
|
223
|
+
padding: var(--space-3) var(--space-4);
|
|
224
|
+
font-weight: 600;
|
|
225
|
+
font-size: var(--text-sm);
|
|
226
|
+
}
|
|
227
|
+
.box-body { padding: var(--space-4); }
|
|
228
|
+
|
|
229
|
+
/* ─── Inputs ─────────────────────────────── */
|
|
230
|
+
.field { display: flex; flex-direction: column; gap: var(--space-2); }
|
|
231
|
+
.field label { font-size: var(--text-sm); font-weight: 600; color: var(--fg); }
|
|
232
|
+
.field input {
|
|
233
|
+
background: var(--bg);
|
|
234
|
+
color: var(--fg);
|
|
235
|
+
border: 1px solid var(--border);
|
|
236
|
+
border-radius: var(--radius-sm);
|
|
237
|
+
padding: 5px 12px;
|
|
238
|
+
font-family: var(--font-body);
|
|
239
|
+
font-size: var(--text-sm);
|
|
240
|
+
outline: none;
|
|
241
|
+
transition: border-color var(--motion-fast) var(--ease-standard),
|
|
242
|
+
box-shadow var(--motion-fast) var(--ease-standard);
|
|
243
|
+
}
|
|
244
|
+
.field input::placeholder { color: var(--muted); }
|
|
245
|
+
.field input:focus {
|
|
246
|
+
border-color: var(--accent);
|
|
247
|
+
box-shadow: var(--focus-ring);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/* ─── Layout ─────────────────────────────── */
|
|
251
|
+
.hero-grid {
|
|
252
|
+
display: grid;
|
|
253
|
+
grid-template-columns: 1.2fr 1fr;
|
|
254
|
+
gap: var(--space-8);
|
|
255
|
+
align-items: start;
|
|
256
|
+
}
|
|
257
|
+
@media (max-width: 1023px) { .hero-grid { grid-template-columns: 1fr; } }
|
|
258
|
+
.features-grid {
|
|
259
|
+
display: grid;
|
|
260
|
+
grid-template-columns: repeat(3, 1fr);
|
|
261
|
+
gap: var(--space-4);
|
|
262
|
+
}
|
|
263
|
+
@media (max-width: 1023px) { .features-grid { grid-template-columns: 1fr 1fr; } }
|
|
264
|
+
@media (max-width: 639px) { .features-grid { grid-template-columns: 1fr; } }
|
|
265
|
+
.hero-actions { display: flex; gap: var(--space-3); margin-block-start: var(--space-4); flex-wrap: wrap; }
|
|
266
|
+
.icon { width: 16px; height: 16px; flex-shrink: 0; }
|
|
267
|
+
</style>
|
|
268
|
+
</head>
|
|
269
|
+
<body>
|
|
270
|
+
<main class="container">
|
|
271
|
+
<!-- HERO -->
|
|
272
|
+
<section data-od-id="hero">
|
|
273
|
+
<div class="hero-grid">
|
|
274
|
+
<div class="stack-4">
|
|
275
|
+
<p class="eyebrow">Reference fixture · github</p>
|
|
276
|
+
<h1>Where the world builds software.</h1>
|
|
277
|
+
<p class="body-muted" style="max-width:48ch;font-size:var(--text-lg);line-height:1.5;margin-top:var(--space-3)">
|
|
278
|
+
Millions of developers and companies build, ship, and maintain
|
|
279
|
+
their software on GitHub. Every value below comes from tokens.css
|
|
280
|
+
— no raw hex, no off-token type.
|
|
281
|
+
</p>
|
|
282
|
+
<div class="hero-actions">
|
|
283
|
+
<a href="./tokens.css" class="btn btn-primary">Sign up for free</a>
|
|
284
|
+
<a href="./DESIGN.md" class="btn btn-default">Read the spec</a>
|
|
285
|
+
</div>
|
|
286
|
+
</div>
|
|
287
|
+
|
|
288
|
+
<aside>
|
|
289
|
+
<div class="box">
|
|
290
|
+
<div class="box-header">open-design / design-systems</div>
|
|
291
|
+
<div class="box-body stack-3">
|
|
292
|
+
<div style="display:flex;align-items:center;justify-content:space-between">
|
|
293
|
+
<span class="body-sm" style="font-weight:600;color:var(--accent)">Pull requests</span>
|
|
294
|
+
<span class="status-pill status-open">Open</span>
|
|
295
|
+
</div>
|
|
296
|
+
<div style="font-size:var(--text-xs);color:var(--muted)">
|
|
297
|
+
#1652 · feat: add structured tokens for 5 brands
|
|
298
|
+
</div>
|
|
299
|
+
<div style="font-size:var(--text-xs);color:var(--muted)">
|
|
300
|
+
#1653 · feat: add batch 2 token fixtures
|
|
301
|
+
</div>
|
|
302
|
+
<div style="display:flex;gap:var(--space-2);margin-top:var(--space-2)">
|
|
303
|
+
<span class="status-pill status-merged">Merged</span>
|
|
304
|
+
<span class="status-pill status-draft">Draft</span>
|
|
305
|
+
<span class="status-pill status-closed">Closed</span>
|
|
306
|
+
</div>
|
|
307
|
+
</div>
|
|
308
|
+
</div>
|
|
309
|
+
</aside>
|
|
310
|
+
</div>
|
|
311
|
+
</section>
|
|
312
|
+
|
|
313
|
+
<!-- FEATURES -->
|
|
314
|
+
<section data-od-id="features">
|
|
315
|
+
<div class="stack-3">
|
|
316
|
+
<p class="eyebrow">What this fixture exercises</p>
|
|
317
|
+
<h2>Dense, functional, system-native.</h2>
|
|
318
|
+
</div>
|
|
319
|
+
|
|
320
|
+
<div class="features-grid" style="margin-block-start:var(--space-6)">
|
|
321
|
+
<article class="box stack-3">
|
|
322
|
+
<div class="box-header">14px body</div>
|
|
323
|
+
<div class="box-body">
|
|
324
|
+
<p class="body-sm body-muted">
|
|
325
|
+
Not 16px — GitHub's prose density is its identity. 14px base
|
|
326
|
+
fits more content per viewport. system-ui renders instantly on
|
|
327
|
+
every OS with zero webfont load.
|
|
328
|
+
</p>
|
|
329
|
+
</div>
|
|
330
|
+
</article>
|
|
331
|
+
<article class="box stack-3">
|
|
332
|
+
<div class="box-header">Hairline borders</div>
|
|
333
|
+
<div class="box-body">
|
|
334
|
+
<p class="body-sm body-muted">
|
|
335
|
+
<code>#d0d7de</code> — every pane, panel, and card. Structure
|
|
336
|
+
communicated by stroke, not shadow. Density without visual noise.
|
|
337
|
+
</p>
|
|
338
|
+
</div>
|
|
339
|
+
</article>
|
|
340
|
+
<article class="box stack-3">
|
|
341
|
+
<div class="box-header">Primer blue + green</div>
|
|
342
|
+
<div class="box-body">
|
|
343
|
+
<p class="body-sm body-muted">
|
|
344
|
+
<code>#0969da</code> for all interactive affordances.
|
|
345
|
+
<code>#1a7f37</code> exclusively for success/merge states.
|
|
346
|
+
Both restrained — never decorative.
|
|
347
|
+
</p>
|
|
348
|
+
</div>
|
|
349
|
+
</article>
|
|
350
|
+
</div>
|
|
351
|
+
</section>
|
|
352
|
+
|
|
353
|
+
<!-- FORM -->
|
|
354
|
+
<section data-od-id="form">
|
|
355
|
+
<div style="display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-12);align-items:start">
|
|
356
|
+
<div class="stack-4">
|
|
357
|
+
<p class="eyebrow">Form components</p>
|
|
358
|
+
<h2>Primer form inputs.</h2>
|
|
359
|
+
<p class="body-muted" style="max-width:44ch">
|
|
360
|
+
Focus: border <code>#0969da</code> + <code>0 0 0 3px rgba(9,105,218,0.3)</code>.
|
|
361
|
+
5px 12px padding. 6px radius. Weight 600 label.
|
|
362
|
+
</p>
|
|
363
|
+
</div>
|
|
364
|
+
<form style="display:flex;flex-direction:column;gap:var(--space-4);max-width:400px"
|
|
365
|
+
onsubmit="event.preventDefault()">
|
|
366
|
+
<div class="field">
|
|
367
|
+
<label for="email">Email address</label>
|
|
368
|
+
<input id="email" type="email" placeholder="you@example.com" />
|
|
369
|
+
</div>
|
|
370
|
+
<div class="field">
|
|
371
|
+
<label for="repo">Repository name</label>
|
|
372
|
+
<input id="repo" type="text" placeholder="my-project" />
|
|
373
|
+
</div>
|
|
374
|
+
<div style="display:flex;gap:var(--space-3);margin-top:var(--space-2)">
|
|
375
|
+
<button type="submit" class="btn btn-primary">Create repository</button>
|
|
376
|
+
<button type="button" class="btn btn-default">Cancel</button>
|
|
377
|
+
</div>
|
|
378
|
+
</form>
|
|
379
|
+
</div>
|
|
380
|
+
</section>
|
|
381
|
+
</main>
|
|
382
|
+
</body>
|
|
383
|
+
</html>
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
2
|
+
* design-systems/github/tokens.css
|
|
3
|
+
*
|
|
4
|
+
* Structured token bindings for the "GitHub" brand — Primer foundations,
|
|
5
|
+
* functional density, blue-on-white precision.
|
|
6
|
+
*
|
|
7
|
+
* Brand identity in three sentences:
|
|
8
|
+
* 1. True white canvas (#ffffff) with a clean canvas-subtle (#f6f8fa)
|
|
9
|
+
* secondary surface; hairline borders (#d0d7de) define every pane
|
|
10
|
+
* — density over decoration, information over aesthetics.
|
|
11
|
+
* 2. System-ui stack throughout — no custom webfont; type renders at
|
|
12
|
+
* instant on every OS; 14px body (not 16px) is the identity.
|
|
13
|
+
* 3. Primer blue (#0969da) for all interactive affordances; GitHub
|
|
14
|
+
* green (#1a7f37) reserved for success/merge states only.
|
|
15
|
+
*
|
|
16
|
+
* Schema decisions:
|
|
17
|
+
* - --bg: #ffffff; --surface: #f6f8fa (canvas-subtle).
|
|
18
|
+
* - --surface-warm aliases --surface (no warm tier in Primer).
|
|
19
|
+
* - --fg: #1f2328 (fg-default); --muted: #656d76 (fg-muted).
|
|
20
|
+
* - --border: #d0d7de (1px hairline — the structural backbone).
|
|
21
|
+
* - --accent: #0969da (Primer Blue); --accent-hover: #0550ae.
|
|
22
|
+
* - --success bound to GitHub green (#1a7f37) — merge / open state.
|
|
23
|
+
* - --tracking-display: -0.01em (only display-size headings use it).
|
|
24
|
+
* - --text-base: 14px (the 14px body IS GitHub's product density).
|
|
25
|
+
* - --radius-sm: 6px (universal Primer radius for buttons/inputs).
|
|
26
|
+
* ─────────────────────────────────────────────────────────────────── */
|
|
27
|
+
|
|
28
|
+
:root {
|
|
29
|
+
/* ─── Surface ──────────────────────────────────────────────────── */
|
|
30
|
+
--bg: #ffffff;
|
|
31
|
+
--surface: #f6f8fa; /* canvas-subtle — sidebar, input bg */
|
|
32
|
+
--surface-warm: var(--surface); /* Primer has no warm tier */
|
|
33
|
+
|
|
34
|
+
/* ─── Foreground ───────────────────────────────────────────────── */
|
|
35
|
+
--fg: #1f2328; /* fg-default — ink */
|
|
36
|
+
--fg-2: #1f2328; /* same ink; no B-slot split in Primer */
|
|
37
|
+
--muted: #656d76; /* fg-muted — captions, file paths */
|
|
38
|
+
--meta: #656d76; /* same muted tier */
|
|
39
|
+
|
|
40
|
+
/* ─── Border ───────────────────────────────────────────────────── */
|
|
41
|
+
--border: #d0d7de; /* border-default — hairline structural */
|
|
42
|
+
--border-soft: #d8dee4; /* border-muted — inner panel dividers */
|
|
43
|
+
|
|
44
|
+
/* ─── Accent ───────────────────────────────────────────────────── */
|
|
45
|
+
--accent: #0969da; /* Primer Blue — links, primary CTAs */
|
|
46
|
+
--accent-on: #ffffff;
|
|
47
|
+
--accent-hover: #0550ae; /* darker pressed state */
|
|
48
|
+
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
49
|
+
|
|
50
|
+
/* ─── Semantic ─────────────────────────────────────────────────── */
|
|
51
|
+
--success: #1a7f37; /* GitHub green — merge, open, success */
|
|
52
|
+
--warn: #9a6700; /* attention amber text */
|
|
53
|
+
--danger: #cf222e; /* closed / destructive red */
|
|
54
|
+
|
|
55
|
+
/* ─── Typography ───────────────────────────────────────────────── */
|
|
56
|
+
/* System fonts only — no webfonts load in GitHub. */
|
|
57
|
+
--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
58
|
+
--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
59
|
+
--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
60
|
+
|
|
61
|
+
/* Type scale — DESIGN.md §Typography.
|
|
62
|
+
* GitHub's prose density: 14px body (not 16px). Display sits at 32px.
|
|
63
|
+
* h2 (20px) and h3 (16px) collapse close together for density. */
|
|
64
|
+
--text-xs: 12px; /* body-small — captions, metadata */
|
|
65
|
+
--text-sm: 14px; /* body — default UI (GitHub's base) */
|
|
66
|
+
--text-base: 14px; /* body baseline = 14px for density */
|
|
67
|
+
--text-lg: 16px; /* h3 / panel header */
|
|
68
|
+
--text-xl: 20px; /* h2 — section heading */
|
|
69
|
+
--text-2xl: 24px; /* h1 — page heading */
|
|
70
|
+
--text-3xl: 28px; /* subpage display */
|
|
71
|
+
--text-4xl: 32px; /* display — repo header / hero */
|
|
72
|
+
|
|
73
|
+
/* Leading + tracking.
|
|
74
|
+
* GitHub uses 1.25 for headings (tight-but-readable), 1.5 for body.
|
|
75
|
+
* Only display gets the -0.01em tracking. */
|
|
76
|
+
--leading-body: 1.5;
|
|
77
|
+
--leading-tight: 1.25;
|
|
78
|
+
--tracking-display: -0.01em;
|
|
79
|
+
|
|
80
|
+
/* ─── Spacing ──────────────────────────────────────────────────── */
|
|
81
|
+
/* 4px base grid — Primer spacing. Row padding 16px h, 12px v. */
|
|
82
|
+
--space-1: 4px;
|
|
83
|
+
--space-2: 8px;
|
|
84
|
+
--space-3: 12px;
|
|
85
|
+
--space-4: 16px;
|
|
86
|
+
--space-5: 20px;
|
|
87
|
+
--space-6: 24px;
|
|
88
|
+
--space-8: 32px;
|
|
89
|
+
--space-12: 48px;
|
|
90
|
+
|
|
91
|
+
/* Section rhythm — GitHub marketing pages. */
|
|
92
|
+
--section-y-desktop: 64px;
|
|
93
|
+
--section-y-tablet: 48px;
|
|
94
|
+
--section-y-phone: 32px;
|
|
95
|
+
|
|
96
|
+
/* ─── Radius ───────────────────────────────────────────────────── */
|
|
97
|
+
/* 6px is the universal Primer radius for all interactive elements. */
|
|
98
|
+
--radius-sm: 6px;
|
|
99
|
+
--radius-md: 6px;
|
|
100
|
+
--radius-lg: 12px;
|
|
101
|
+
--radius-pill: 9999px;
|
|
102
|
+
|
|
103
|
+
/* ─── Elevation ────────────────────────────────────────────────── */
|
|
104
|
+
/* GitHub uses hairline borders, not shadows, as the primary depth
|
|
105
|
+
signal. --elev-raised is a whisper for the rare floating element. */
|
|
106
|
+
--elev-flat: none;
|
|
107
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
108
|
+
--elev-raised: 0 1px 3px rgba(31, 35, 40, 0.12), 0 8px 24px rgba(66, 74, 83, 0.12);
|
|
109
|
+
|
|
110
|
+
/* ─── Focus ────────────────────────────────────────────────────── */
|
|
111
|
+
/* Primer focus: 3px rgba ring on the accent color. */
|
|
112
|
+
--focus-ring: 0 0 0 3px rgba(9, 105, 218, 0.3);
|
|
113
|
+
|
|
114
|
+
/* ─── Motion ───────────────────────────────────────────────────── */
|
|
115
|
+
/* GitHub avoids animation. 80ms hover, 200ms open — short and purposeful. */
|
|
116
|
+
--motion-fast: 80ms;
|
|
117
|
+
--motion-base: 200ms;
|
|
118
|
+
--ease-standard: ease-out;
|
|
119
|
+
|
|
120
|
+
/* ─── Layout ───────────────────────────────────────────────────── */
|
|
121
|
+
--container-max: 1280px;
|
|
122
|
+
--container-gutter-desktop: 24px;
|
|
123
|
+
--container-gutter-tablet: 16px;
|
|
124
|
+
--container-gutter-phone: 16px;
|
|
125
|
+
}
|