@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,461 @@
|
|
|
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>Canva — reference components</title>
|
|
7
|
+
<meta
|
|
8
|
+
name="description"
|
|
9
|
+
content="Reference fixture for design-systems/canva. White canvas, vivid
|
|
10
|
+
purple→cyan gradient on hero CTAs, 12px card radii, soft cool shadows."
|
|
11
|
+
/>
|
|
12
|
+
|
|
13
|
+
<style>
|
|
14
|
+
:root {
|
|
15
|
+
--bg: #ffffff;
|
|
16
|
+
--surface: #f4f5f7;
|
|
17
|
+
--surface-warm: var(--surface);
|
|
18
|
+
|
|
19
|
+
--fg: #0e1318;
|
|
20
|
+
--fg-2: #3c4043;
|
|
21
|
+
--muted: #5f6368;
|
|
22
|
+
--meta: #9aa0a6;
|
|
23
|
+
|
|
24
|
+
--border: #e1e3e6;
|
|
25
|
+
--border-soft: var(--border);
|
|
26
|
+
|
|
27
|
+
--accent: #7d2ae8;
|
|
28
|
+
--accent-on: #ffffff;
|
|
29
|
+
--accent-hover: #6815d4;
|
|
30
|
+
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
31
|
+
|
|
32
|
+
--success: #00b894;
|
|
33
|
+
--warn: #ffb020;
|
|
34
|
+
--danger: #ff5757;
|
|
35
|
+
|
|
36
|
+
--font-display: "Canva Sans", "YS Text", system-ui, -apple-system, sans-serif;
|
|
37
|
+
--font-body: "Canva Sans", "YS Text", system-ui, -apple-system, sans-serif;
|
|
38
|
+
--font-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
|
|
39
|
+
|
|
40
|
+
--text-xs: 11px;
|
|
41
|
+
--text-sm: 12px;
|
|
42
|
+
--text-base: 14px;
|
|
43
|
+
--text-lg: 16px;
|
|
44
|
+
--text-xl: 18px;
|
|
45
|
+
--text-2xl: 24px;
|
|
46
|
+
--text-3xl: 36px;
|
|
47
|
+
--text-4xl: 64px;
|
|
48
|
+
|
|
49
|
+
--leading-body: 1.5;
|
|
50
|
+
--leading-tight: 1.15;
|
|
51
|
+
--tracking-display: -0.02em;
|
|
52
|
+
|
|
53
|
+
--space-1: 4px;
|
|
54
|
+
--space-2: 8px;
|
|
55
|
+
--space-3: 12px;
|
|
56
|
+
--space-4: 16px;
|
|
57
|
+
--space-5: 20px;
|
|
58
|
+
--space-6: 24px;
|
|
59
|
+
--space-8: 32px;
|
|
60
|
+
--space-12: 48px;
|
|
61
|
+
|
|
62
|
+
--section-y-desktop: 96px;
|
|
63
|
+
--section-y-tablet: 64px;
|
|
64
|
+
--section-y-phone: 48px;
|
|
65
|
+
|
|
66
|
+
--radius-sm: 8px;
|
|
67
|
+
--radius-md: 12px;
|
|
68
|
+
--radius-lg: 16px;
|
|
69
|
+
--radius-pill: 9999px;
|
|
70
|
+
|
|
71
|
+
--elev-flat: none;
|
|
72
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
73
|
+
--elev-raised: 0 2px 8px rgba(0, 0, 0, 0.06);
|
|
74
|
+
|
|
75
|
+
--focus-ring: 0 0 0 3px rgba(125, 42, 232, 0.16);
|
|
76
|
+
|
|
77
|
+
--motion-fast: 180ms;
|
|
78
|
+
--motion-base: 280ms;
|
|
79
|
+
--ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
|
|
80
|
+
|
|
81
|
+
--container-max: 1320px;
|
|
82
|
+
--container-gutter-desktop: 32px;
|
|
83
|
+
--container-gutter-tablet: 24px;
|
|
84
|
+
--container-gutter-phone: 16px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/* ─── Reset ─────────────────────────────────────────────── */
|
|
88
|
+
*, *::before, *::after { box-sizing: border-box; }
|
|
89
|
+
html, body { margin: 0; padding: 0; }
|
|
90
|
+
body {
|
|
91
|
+
background: var(--bg);
|
|
92
|
+
color: var(--fg-2);
|
|
93
|
+
font-family: var(--font-body);
|
|
94
|
+
font-size: var(--text-base);
|
|
95
|
+
line-height: var(--leading-body);
|
|
96
|
+
-webkit-font-smoothing: antialiased;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* ─── Layout ─────────────────────────────────────────────── */
|
|
100
|
+
.container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-gutter-desktop); }
|
|
101
|
+
section { padding-block: var(--section-y-desktop); }
|
|
102
|
+
section + section { border-top: 1px solid var(--border); }
|
|
103
|
+
@media (max-width: 1023px) {
|
|
104
|
+
.container { padding-inline: var(--container-gutter-tablet); }
|
|
105
|
+
section { padding-block: var(--section-y-tablet); }
|
|
106
|
+
}
|
|
107
|
+
@media (max-width: 639px) {
|
|
108
|
+
.container { padding-inline: var(--container-gutter-phone); }
|
|
109
|
+
section { padding-block: var(--section-y-phone); }
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/* ─── Typography — weight contrast carries hierarchy ─────── */
|
|
113
|
+
h1, h2, h3 {
|
|
114
|
+
font-family: var(--font-display);
|
|
115
|
+
color: var(--fg);
|
|
116
|
+
line-height: var(--leading-tight);
|
|
117
|
+
margin: 0;
|
|
118
|
+
}
|
|
119
|
+
h1 {
|
|
120
|
+
font-size: var(--text-4xl);
|
|
121
|
+
font-weight: 800;
|
|
122
|
+
letter-spacing: var(--tracking-display);
|
|
123
|
+
line-height: 1.05;
|
|
124
|
+
}
|
|
125
|
+
h2 {
|
|
126
|
+
font-size: var(--text-2xl);
|
|
127
|
+
font-weight: 700;
|
|
128
|
+
letter-spacing: -0.005em;
|
|
129
|
+
line-height: 1.2;
|
|
130
|
+
}
|
|
131
|
+
h3 {
|
|
132
|
+
font-size: var(--text-xl);
|
|
133
|
+
font-weight: 600;
|
|
134
|
+
line-height: 1.3;
|
|
135
|
+
}
|
|
136
|
+
p { margin: 0; }
|
|
137
|
+
.lead {
|
|
138
|
+
font-size: var(--text-lg);
|
|
139
|
+
color: var(--muted);
|
|
140
|
+
line-height: var(--leading-body);
|
|
141
|
+
font-weight: 400;
|
|
142
|
+
}
|
|
143
|
+
.body-muted { color: var(--muted); }
|
|
144
|
+
.body-sm { font-size: var(--text-sm); }
|
|
145
|
+
.eyebrow {
|
|
146
|
+
font-size: var(--text-xs);
|
|
147
|
+
font-weight: 600;
|
|
148
|
+
color: var(--accent);
|
|
149
|
+
text-transform: uppercase;
|
|
150
|
+
letter-spacing: 0.08em;
|
|
151
|
+
}
|
|
152
|
+
.stack-3 > * + * { margin-block-start: var(--space-3); }
|
|
153
|
+
.stack-4 > * + * { margin-block-start: var(--space-4); }
|
|
154
|
+
.stack-6 > * + * { margin-block-start: var(--space-6); }
|
|
155
|
+
|
|
156
|
+
/* ─── Buttons — soft rectangles, single gradient moment ─── */
|
|
157
|
+
.btn {
|
|
158
|
+
display: inline-flex;
|
|
159
|
+
align-items: center;
|
|
160
|
+
gap: var(--space-2);
|
|
161
|
+
padding: 12px 20px;
|
|
162
|
+
border-radius: var(--radius-sm);
|
|
163
|
+
font-family: var(--font-body);
|
|
164
|
+
font-size: var(--text-base);
|
|
165
|
+
font-weight: 600;
|
|
166
|
+
line-height: 1.2;
|
|
167
|
+
cursor: pointer;
|
|
168
|
+
border: 1px solid transparent;
|
|
169
|
+
text-decoration: none;
|
|
170
|
+
transition:
|
|
171
|
+
background-color var(--motion-fast) var(--ease-standard),
|
|
172
|
+
border-color var(--motion-fast) var(--ease-standard),
|
|
173
|
+
box-shadow var(--motion-fast) var(--ease-standard),
|
|
174
|
+
transform var(--motion-fast) var(--ease-standard);
|
|
175
|
+
}
|
|
176
|
+
.btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
|
|
177
|
+
.btn:active { transform: translateY(0); }
|
|
178
|
+
/* Primary: the brand gradient — purple origin → cyan terminus.
|
|
179
|
+
The single visible gradient on the page; do not repeat. */
|
|
180
|
+
.btn-primary {
|
|
181
|
+
background: linear-gradient(135deg, #7d2ae8, #00c4cc);
|
|
182
|
+
color: var(--accent-on);
|
|
183
|
+
box-shadow: 0 2px 8px rgba(125, 42, 232, 0.2);
|
|
184
|
+
}
|
|
185
|
+
.btn-primary:hover {
|
|
186
|
+
box-shadow: 0 4px 14px rgba(125, 42, 232, 0.3);
|
|
187
|
+
transform: translateY(-1px);
|
|
188
|
+
}
|
|
189
|
+
/* Secondary: white card with cool hairline border. */
|
|
190
|
+
.btn-secondary {
|
|
191
|
+
background: var(--bg);
|
|
192
|
+
color: var(--fg);
|
|
193
|
+
border-color: var(--border);
|
|
194
|
+
}
|
|
195
|
+
.btn-secondary:hover {
|
|
196
|
+
background: var(--surface);
|
|
197
|
+
border-color: #c7cdd3;
|
|
198
|
+
}
|
|
199
|
+
/* Subtle / tertiary: purple-tinted ghost. */
|
|
200
|
+
.btn-subtle {
|
|
201
|
+
background: rgba(125, 42, 232, 0.08);
|
|
202
|
+
color: var(--accent);
|
|
203
|
+
}
|
|
204
|
+
.btn-subtle:hover { background: rgba(125, 42, 232, 0.14); }
|
|
205
|
+
|
|
206
|
+
/* ─── Inputs — soft, purple focus ring ──────────────────── */
|
|
207
|
+
.field { display: flex; flex-direction: column; gap: var(--space-2); }
|
|
208
|
+
.field label {
|
|
209
|
+
font-size: var(--text-sm);
|
|
210
|
+
font-weight: 600;
|
|
211
|
+
color: var(--fg);
|
|
212
|
+
}
|
|
213
|
+
.field input {
|
|
214
|
+
padding: 10px 14px;
|
|
215
|
+
border-radius: var(--radius-sm);
|
|
216
|
+
border: 1px solid var(--border);
|
|
217
|
+
background: var(--bg);
|
|
218
|
+
color: var(--fg);
|
|
219
|
+
font-family: var(--font-body);
|
|
220
|
+
font-size: var(--text-base);
|
|
221
|
+
outline: none;
|
|
222
|
+
transition:
|
|
223
|
+
border-color var(--motion-fast) var(--ease-standard),
|
|
224
|
+
box-shadow var(--motion-fast) var(--ease-standard);
|
|
225
|
+
}
|
|
226
|
+
.field input:focus-visible {
|
|
227
|
+
border-color: var(--accent);
|
|
228
|
+
box-shadow: var(--focus-ring);
|
|
229
|
+
}
|
|
230
|
+
.field input::placeholder { color: var(--meta); }
|
|
231
|
+
.field-help { font-size: var(--text-xs); color: var(--muted); }
|
|
232
|
+
|
|
233
|
+
/* ─── Cards — 12px radius, soft cool shadow that grows ──── */
|
|
234
|
+
.card {
|
|
235
|
+
background: var(--bg);
|
|
236
|
+
border: 1px solid var(--border);
|
|
237
|
+
border-radius: var(--radius-md);
|
|
238
|
+
padding: var(--space-6);
|
|
239
|
+
display: flex;
|
|
240
|
+
flex-direction: column;
|
|
241
|
+
gap: var(--space-3);
|
|
242
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
|
|
243
|
+
transition:
|
|
244
|
+
box-shadow var(--motion-fast) var(--ease-standard),
|
|
245
|
+
transform var(--motion-fast) var(--ease-standard);
|
|
246
|
+
}
|
|
247
|
+
.card:hover {
|
|
248
|
+
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
|
|
249
|
+
transform: translateY(-2px);
|
|
250
|
+
}
|
|
251
|
+
.card-thumb {
|
|
252
|
+
aspect-ratio: 4 / 3;
|
|
253
|
+
border-radius: var(--radius-sm);
|
|
254
|
+
margin-block-end: var(--space-2);
|
|
255
|
+
}
|
|
256
|
+
.card-thumb-coral { background: linear-gradient(135deg, #ff7059, #ff9633); }
|
|
257
|
+
.card-thumb-mint { background: linear-gradient(135deg, #48c997, #3ea6ff); }
|
|
258
|
+
.card-thumb-lavender { background: linear-gradient(135deg, #9b87f5, #7d2ae8); }
|
|
259
|
+
|
|
260
|
+
/* ─── Chips / category tags — pill, uppercase ───────────── */
|
|
261
|
+
.chip {
|
|
262
|
+
display: inline-flex;
|
|
263
|
+
align-items: center;
|
|
264
|
+
padding: 4px 10px;
|
|
265
|
+
border-radius: var(--radius-pill);
|
|
266
|
+
font-size: var(--text-xs);
|
|
267
|
+
font-weight: 600;
|
|
268
|
+
line-height: 1.2;
|
|
269
|
+
text-transform: uppercase;
|
|
270
|
+
letter-spacing: 0.04em;
|
|
271
|
+
}
|
|
272
|
+
.chip-coral { background: rgba(255, 112, 89, 0.14); color: #c2412c; }
|
|
273
|
+
.chip-mint { background: rgba(72, 201, 151, 0.16); color: #1d8a5d; }
|
|
274
|
+
.chip-lavender { background: rgba(155, 135, 245, 0.18); color: #5b3fcf; }
|
|
275
|
+
|
|
276
|
+
/* ─── Pro badge — gradient pill, purple → pink ──────────── */
|
|
277
|
+
.pro-badge {
|
|
278
|
+
display: inline-flex;
|
|
279
|
+
align-items: center;
|
|
280
|
+
padding: 2px var(--space-2);
|
|
281
|
+
border-radius: var(--radius-pill);
|
|
282
|
+
background: linear-gradient(135deg, #7d2ae8, #ff5757);
|
|
283
|
+
color: var(--accent-on);
|
|
284
|
+
font-size: 10px;
|
|
285
|
+
font-weight: 700;
|
|
286
|
+
line-height: 1.4;
|
|
287
|
+
text-transform: uppercase;
|
|
288
|
+
letter-spacing: 0.06em;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
/* ─── Links ─────────────────────────────────────────────── */
|
|
292
|
+
a { color: var(--accent); text-decoration: none; font-weight: 600; }
|
|
293
|
+
a:hover { text-decoration: underline; text-underline-offset: 3px; }
|
|
294
|
+
kbd {
|
|
295
|
+
font-family: var(--font-mono); font-size: var(--text-xs);
|
|
296
|
+
padding: 2px 6px; border-radius: var(--radius-sm);
|
|
297
|
+
border: 1px solid var(--border); background: var(--surface); color: var(--muted);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/* ─── Layout helpers ────────────────────────────────────── */
|
|
301
|
+
.hero-grid {
|
|
302
|
+
display: grid;
|
|
303
|
+
grid-template-columns: 1.3fr 1fr;
|
|
304
|
+
gap: var(--space-12);
|
|
305
|
+
align-items: center;
|
|
306
|
+
}
|
|
307
|
+
@media (max-width: 1023px) {
|
|
308
|
+
.hero-grid { grid-template-columns: 1fr; gap: var(--space-8); }
|
|
309
|
+
}
|
|
310
|
+
.hero-actions {
|
|
311
|
+
display: flex; gap: var(--space-3);
|
|
312
|
+
margin-block-start: var(--space-6);
|
|
313
|
+
flex-wrap: wrap;
|
|
314
|
+
}
|
|
315
|
+
.hero-meta {
|
|
316
|
+
display: flex; flex-direction: column; gap: var(--space-4);
|
|
317
|
+
padding: var(--space-6);
|
|
318
|
+
border-radius: var(--radius-lg);
|
|
319
|
+
background: var(--surface);
|
|
320
|
+
}
|
|
321
|
+
.features-grid {
|
|
322
|
+
display: grid;
|
|
323
|
+
grid-template-columns: repeat(3, 1fr);
|
|
324
|
+
gap: var(--space-6);
|
|
325
|
+
}
|
|
326
|
+
@media (max-width: 1023px) { .features-grid { grid-template-columns: 1fr 1fr; gap: var(--space-4); } }
|
|
327
|
+
@media (max-width: 639px) { .features-grid { grid-template-columns: 1fr; } }
|
|
328
|
+
.form-row {
|
|
329
|
+
display: grid;
|
|
330
|
+
grid-template-columns: 1.2fr 1fr;
|
|
331
|
+
gap: var(--space-12);
|
|
332
|
+
align-items: start;
|
|
333
|
+
}
|
|
334
|
+
@media (max-width: 1023px) { .form-row { grid-template-columns: 1fr; } }
|
|
335
|
+
.form {
|
|
336
|
+
display: flex; flex-direction: column;
|
|
337
|
+
gap: var(--space-4);
|
|
338
|
+
max-width: 420px;
|
|
339
|
+
padding: var(--space-6);
|
|
340
|
+
background: var(--surface);
|
|
341
|
+
border-radius: var(--radius-lg);
|
|
342
|
+
}
|
|
343
|
+
.form-actions {
|
|
344
|
+
display: flex; gap: var(--space-3);
|
|
345
|
+
margin-block-start: var(--space-2);
|
|
346
|
+
}
|
|
347
|
+
.icon { width: 16px; height: 16px; flex-shrink: 0; }
|
|
348
|
+
.row-between {
|
|
349
|
+
display: flex; align-items: center;
|
|
350
|
+
justify-content: space-between;
|
|
351
|
+
gap: var(--space-3);
|
|
352
|
+
}
|
|
353
|
+
</style>
|
|
354
|
+
</head>
|
|
355
|
+
<body>
|
|
356
|
+
<main class="container">
|
|
357
|
+
<section data-od-id="hero">
|
|
358
|
+
<div class="hero-grid">
|
|
359
|
+
<div class="stack-4">
|
|
360
|
+
<p class="eyebrow">Reference fixture · canva</p>
|
|
361
|
+
<h1>Design anything.<br />Publish anywhere.</h1>
|
|
362
|
+
<p class="lead" style="max-width: 52ch">
|
|
363
|
+
From social posts to slide decks, posters to videos — drag, drop, done.
|
|
364
|
+
Canva makes great design accessible to every team, every brief, every brand.
|
|
365
|
+
</p>
|
|
366
|
+
<div class="hero-actions">
|
|
367
|
+
<a href="./tokens.css" class="btn btn-primary">
|
|
368
|
+
Start designing — it's free
|
|
369
|
+
<svg class="icon" viewBox="0 0 24 24" fill="none"
|
|
370
|
+
stroke="currentColor" stroke-width="2"
|
|
371
|
+
stroke-linecap="round" stroke-linejoin="round"
|
|
372
|
+
aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
|
|
373
|
+
</a>
|
|
374
|
+
<a href="./DESIGN.md" class="btn btn-secondary">Read the spec</a>
|
|
375
|
+
</div>
|
|
376
|
+
</div>
|
|
377
|
+
<aside class="hero-meta" aria-label="Workspace status">
|
|
378
|
+
<div class="row-between">
|
|
379
|
+
<span style="font-weight: 600; color: var(--fg)">Magic Studio</span>
|
|
380
|
+
<span class="pro-badge">Pro</span>
|
|
381
|
+
</div>
|
|
382
|
+
<p class="body-sm body-muted">
|
|
383
|
+
Generate images, copy, and full layouts from a single prompt.
|
|
384
|
+
Active across <strong style="color: var(--fg)">12 brand kits</strong>.
|
|
385
|
+
</p>
|
|
386
|
+
<div class="row-between body-sm">
|
|
387
|
+
<span class="body-muted">Last edited</span>
|
|
388
|
+
<span><time datetime="2026-05-18">2 minutes ago</time></span>
|
|
389
|
+
</div>
|
|
390
|
+
<p class="body-sm body-muted">
|
|
391
|
+
Tip: press <kbd>⌘</kbd> <kbd>K</kbd> to jump to any template.
|
|
392
|
+
</p>
|
|
393
|
+
</aside>
|
|
394
|
+
</div>
|
|
395
|
+
</section>
|
|
396
|
+
|
|
397
|
+
<section data-od-id="features">
|
|
398
|
+
<div class="stack-3">
|
|
399
|
+
<p class="eyebrow">A template for every brief</p>
|
|
400
|
+
<h2 style="max-width: 24ch">Start from anything. Make it your own.</h2>
|
|
401
|
+
</div>
|
|
402
|
+
<div class="features-grid" style="margin-block-start: var(--space-8)">
|
|
403
|
+
<article class="card">
|
|
404
|
+
<div class="card-thumb card-thumb-coral" aria-hidden="true"></div>
|
|
405
|
+
<span class="chip chip-coral">Social</span>
|
|
406
|
+
<h3>Instagram Story</h3>
|
|
407
|
+
<p class="body-muted body-sm">
|
|
408
|
+
1080 × 1920 vertical templates, ready for Reels and Stories.
|
|
409
|
+
Drop in your logo, swap fonts, publish straight to your handle.
|
|
410
|
+
</p>
|
|
411
|
+
<a href="./tokens.css" class="body-sm">Browse 1,240 templates →</a>
|
|
412
|
+
</article>
|
|
413
|
+
<article class="card">
|
|
414
|
+
<div class="card-thumb card-thumb-mint" aria-hidden="true"></div>
|
|
415
|
+
<span class="chip chip-mint">Education</span>
|
|
416
|
+
<h3>Lesson plans & worksheets</h3>
|
|
417
|
+
<p class="body-muted body-sm">
|
|
418
|
+
Printable A4 and US Letter formats for teachers. Subject-tagged
|
|
419
|
+
and tested against grade-level readability scores.
|
|
420
|
+
</p>
|
|
421
|
+
<a href="./tokens.css" class="body-sm">Open the classroom kit →</a>
|
|
422
|
+
</article>
|
|
423
|
+
<article class="card">
|
|
424
|
+
<div class="card-thumb card-thumb-lavender" aria-hidden="true"></div>
|
|
425
|
+
<span class="chip chip-lavender">Personal</span>
|
|
426
|
+
<h3>Invitations & cards</h3>
|
|
427
|
+
<p class="body-muted body-sm">
|
|
428
|
+
Birthday, wedding, save-the-date — print at home or order
|
|
429
|
+
through Canva Print with two-day shipping to most countries.
|
|
430
|
+
</p>
|
|
431
|
+
<a href="./tokens.css" class="body-sm">Pick an occasion →</a>
|
|
432
|
+
</article>
|
|
433
|
+
</div>
|
|
434
|
+
</section>
|
|
435
|
+
|
|
436
|
+
<section data-od-id="form">
|
|
437
|
+
<div class="form-row">
|
|
438
|
+
<div class="stack-4">
|
|
439
|
+
<p class="eyebrow">Get started</p>
|
|
440
|
+
<h2>Bring your team into Canva.</h2>
|
|
441
|
+
<p class="body-muted" style="max-width: 48ch">
|
|
442
|
+
Drop your work email and we'll set up your free Canva workspace —
|
|
443
|
+
brand kit, folders, and approvals included. No credit card needed.
|
|
444
|
+
</p>
|
|
445
|
+
</div>
|
|
446
|
+
<form class="form" onsubmit="event.preventDefault();">
|
|
447
|
+
<div class="field">
|
|
448
|
+
<label for="email">Work email</label>
|
|
449
|
+
<input id="email" type="email" placeholder="you@yourcompany.com" autocomplete="email" required />
|
|
450
|
+
<p class="field-help">We'll use this to create your team workspace.</p>
|
|
451
|
+
</div>
|
|
452
|
+
<div class="form-actions">
|
|
453
|
+
<button type="submit" class="btn btn-primary">Create workspace</button>
|
|
454
|
+
<button type="button" class="btn btn-subtle">See a demo</button>
|
|
455
|
+
</div>
|
|
456
|
+
</form>
|
|
457
|
+
</div>
|
|
458
|
+
</section>
|
|
459
|
+
</main>
|
|
460
|
+
</body>
|
|
461
|
+
</html>
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
2
|
+
* design-systems/canva/tokens.css
|
|
3
|
+
*
|
|
4
|
+
* Structured token bindings for "Design System Inspired by Canva".
|
|
5
|
+
* Consumer-friendly design platform: white canvas, vivid purple→cyan
|
|
6
|
+
* gradient, generously rounded geometry, weight-driven hierarchy.
|
|
7
|
+
*
|
|
8
|
+
* Key brand decisions encoded here:
|
|
9
|
+
* - Pure white canvas (#ffffff) — Canva looks inviting, never tinted
|
|
10
|
+
* - Canva Purple (#7d2ae8) as the single accent — gradient origin
|
|
11
|
+
* - Four ink tiers (#0e1318 → #3c4043 → #5f6368 → #9aa0a6) — weight
|
|
12
|
+
* contrast and ink-tier contrast carry hierarchy together
|
|
13
|
+
* - 12px card / 8px button radii — soft, friendly, never sharp
|
|
14
|
+
* - Cool soft shadows (rgba(0,0,0,0.06)) — never warm-tinted
|
|
15
|
+
* - Compressed type scale (14px body, 18px H3, 64px hero) — cards
|
|
16
|
+
* and templates must read at thumbnail scale
|
|
17
|
+
* - Material-style easing (0.4,0,0.2,1) at 180ms — friendly micro-lift
|
|
18
|
+
* ─────────────────────────────────────────────────────────────────── */
|
|
19
|
+
|
|
20
|
+
:root {
|
|
21
|
+
/* ─── Surface ─────────────────────────────────────────────────────
|
|
22
|
+
* White canvas with cool-gray subtle break. Canva never tints its
|
|
23
|
+
* neutral surfaces — the purple/cyan gradient is the only colored
|
|
24
|
+
* brand moment on an otherwise calm white page. */
|
|
25
|
+
--bg: #ffffff; /* Canvas — the primary white background */
|
|
26
|
+
--surface: #f4f5f7; /* Surface Subtle — section break, sidebar */
|
|
27
|
+
--surface-warm: var(--surface); /* alias — Canva has no warm tier; palette is cool-neutral */
|
|
28
|
+
|
|
29
|
+
/* ─── Foreground ──────────────────────────────────────────────────
|
|
30
|
+
* Four-tier ink stack from DESIGN.md §2: Primary → Secondary →
|
|
31
|
+
* Muted → Faint. Each tier is materially distinct so weight + tier
|
|
32
|
+
* together carry hierarchy (the palette stays neutral). */
|
|
33
|
+
--fg: #0e1318; /* Ink Primary — headings, max-emphasis text */
|
|
34
|
+
--fg-2: #3c4043; /* Ink Secondary — body prose */
|
|
35
|
+
--muted: #5f6368; /* Ink Muted — captions, descriptions */
|
|
36
|
+
--meta: #9aa0a6; /* Ink Faint — placeholder, disabled label */
|
|
37
|
+
|
|
38
|
+
/* ─── Border ──────────────────────────────────────────────────────
|
|
39
|
+
* Cool-gray hairlines. Canva uses two visible border tiers
|
|
40
|
+
* (Default + Strong on hover); --border-soft has no distinct value
|
|
41
|
+
* in DESIGN.md, so it aliases to keep the schema satisfied without
|
|
42
|
+
* inventing a tier the brand does not specify. */
|
|
43
|
+
--border: #e1e3e6; /* Border Default — standard card hairline */
|
|
44
|
+
--border-soft: var(--border); /* alias — DESIGN.md specifies no softer tier */
|
|
45
|
+
|
|
46
|
+
/* ─── Accent ──────────────────────────────────────────────────────
|
|
47
|
+
* Canva Purple — the gradient origin. The full purple→cyan gradient
|
|
48
|
+
* lives in component CSS as a linear-gradient(135deg, ...) on hero
|
|
49
|
+
* CTAs and Pro/Magic moments; the token itself is the solid purple
|
|
50
|
+
* used as the always-resolvable single-value accent. */
|
|
51
|
+
--accent: #7d2ae8; /* Canva Purple — gradient origin, solid CTA */
|
|
52
|
+
--accent-on: #ffffff;
|
|
53
|
+
--accent-hover: #6815d4; /* DESIGN.md §4 — explicit hover value */
|
|
54
|
+
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
55
|
+
|
|
56
|
+
/* ─── Semantic ────────────────────────────────────────────────────
|
|
57
|
+
* Brand-specific semantic palette from DESIGN.md §2. Error reuses
|
|
58
|
+
* Canva Pink (#ff5757) — the same hue is the tertiary brand accent
|
|
59
|
+
* (Magic Studio), so destructive feedback inherits brand warmth. */
|
|
60
|
+
--success: #00b894; /* Success — saved, exported */
|
|
61
|
+
--warn: #ffb020; /* Warning — storage limit, advisory */
|
|
62
|
+
--danger: #ff5757; /* Error — also the Magic Studio pink */
|
|
63
|
+
|
|
64
|
+
/* ─── Typography ──────────────────────────────────────────────────
|
|
65
|
+
* Canva Sans for everything — geometric rounded sans, no serifs.
|
|
66
|
+
* JetBrains Mono only inside devtools / code blocks. */
|
|
67
|
+
--font-display: "Canva Sans", "YS Text", system-ui, -apple-system, sans-serif;
|
|
68
|
+
--font-body: "Canva Sans", "YS Text", system-ui, -apple-system, sans-serif;
|
|
69
|
+
--font-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
|
|
70
|
+
|
|
71
|
+
/* Type scale — DESIGN.md §3. Compressed by design: 64px hero, 36px
|
|
72
|
+
* H1, then steps of 24/18/16/14/12/11. Tag (11px) is the floor so
|
|
73
|
+
* uppercase category chips on template tiles stay legible. */
|
|
74
|
+
--text-xs: 11px; /* Tag — uppercase category chip */
|
|
75
|
+
--text-sm: 12px; /* Caption — metadata, hint text */
|
|
76
|
+
--text-base: 14px; /* Body — standard UI prose */
|
|
77
|
+
--text-lg: 16px; /* Body Large — lede, marketing body */
|
|
78
|
+
--text-xl: 18px; /* H3 — sub-section, card title */
|
|
79
|
+
--text-2xl: 24px; /* H2 — section heading */
|
|
80
|
+
--text-3xl: 36px; /* H1 — page heading */
|
|
81
|
+
--text-4xl: 64px; /* Hero — marketing display, "Design anything." */
|
|
82
|
+
|
|
83
|
+
--leading-body: 1.5;
|
|
84
|
+
--leading-tight: 1.15; /* H1 baseline — tight enough for 3-line card titles */
|
|
85
|
+
--tracking-display: -0.02em; /* ≈ -1.28px at 64px — hero only */
|
|
86
|
+
|
|
87
|
+
/* ─── Spacing ─────────────────────────────────────────────────────
|
|
88
|
+
* 4px base unit. Scale 4/8/12/16/20/24/32/48 covers everything in
|
|
89
|
+
* DESIGN.md §5 except 64 and 96 which surface only as section-y. */
|
|
90
|
+
--space-1: 4px;
|
|
91
|
+
--space-2: 8px;
|
|
92
|
+
--space-3: 12px;
|
|
93
|
+
--space-4: 16px;
|
|
94
|
+
--space-5: 20px;
|
|
95
|
+
--space-6: 24px;
|
|
96
|
+
--space-8: 32px;
|
|
97
|
+
--space-12: 48px;
|
|
98
|
+
|
|
99
|
+
/* Section rhythm — generous on desktop (96px = scale top) so the
|
|
100
|
+
* white canvas breathes between marketing bands; compresses on
|
|
101
|
+
* narrower viewports following the 4px grid. */
|
|
102
|
+
--section-y-desktop: 96px;
|
|
103
|
+
--section-y-tablet: 64px;
|
|
104
|
+
--section-y-phone: 48px;
|
|
105
|
+
|
|
106
|
+
/* ─── Radius ──────────────────────────────────────────────────────
|
|
107
|
+
* Ultra-soft. Buttons / inputs at 8px, cards at 12px (the Canva
|
|
108
|
+
* template tile), larger panels at 16px. Pills (9999px) reserved
|
|
109
|
+
* for chips, tags, and the Pro/Magic badge. */
|
|
110
|
+
--radius-sm: 8px; /* Buttons, inputs, secondary chrome */
|
|
111
|
+
--radius-md: 12px; /* Cards, template tiles — the Canva default */
|
|
112
|
+
--radius-lg: 16px; /* Featured panels, hero cards */
|
|
113
|
+
--radius-pill: 9999px; /* Chips, tags, Pro/Magic badge */
|
|
114
|
+
|
|
115
|
+
/* ─── Elevation ───────────────────────────────────────────────────
|
|
116
|
+
* Soft cool-toned shadows that grow on hover (DESIGN.md §4 card +
|
|
117
|
+
* button shadows). --elev-raised matches the resting button shadow
|
|
118
|
+
* — `0 2px 8px rgba(0,0,0,0.06)`. Components scale up to the hover
|
|
119
|
+
* variant `0 8px 24px rgba(0,0,0,0.08)` inline. */
|
|
120
|
+
--elev-flat: none;
|
|
121
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
122
|
+
--elev-raised: 0 2px 8px rgba(0, 0, 0, 0.06);
|
|
123
|
+
|
|
124
|
+
/* ─── Focus ring ──────────────────────────────────────────────────
|
|
125
|
+
* Purple-tinted 3px ring, taken verbatim from DESIGN.md §4 input
|
|
126
|
+
* focus spec — `0 0 0 3px rgba(125, 42, 232, 0.16)`. Soft enough to
|
|
127
|
+
* sit beside a 1px purple border without crowding it. */
|
|
128
|
+
--focus-ring: 0 0 0 3px rgba(125, 42, 232, 0.16);
|
|
129
|
+
|
|
130
|
+
/* ─── Motion ──────────────────────────────────────────────────────
|
|
131
|
+
* Friendly micro-interactions: 180ms hover (Canva's signature card
|
|
132
|
+
* lift) and 280ms for menu / dialog open (DESIGN.md §6). Easing is
|
|
133
|
+
* Material-style cubic-bezier(0.4, 0, 0.2, 1) — eases out softly
|
|
134
|
+
* rather than the snappier (0.2, 0, 0, 1) used by enterprise brands. */
|
|
135
|
+
--motion-fast: 180ms;
|
|
136
|
+
--motion-base: 280ms;
|
|
137
|
+
--ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
|
|
138
|
+
|
|
139
|
+
/* ─── Layout ──────────────────────────────────────────────────────
|
|
140
|
+
* 1320px container with 32px gutter (DESIGN.md §5). Wider than
|
|
141
|
+
* enterprise (Cohere 1440 is editor-led; Canva 1320 fits a 4-col
|
|
142
|
+
* template grid at 300px per tile + gaps comfortably). */
|
|
143
|
+
--container-max: 1320px;
|
|
144
|
+
--container-gutter-desktop: 32px;
|
|
145
|
+
--container-gutter-tablet: 24px;
|
|
146
|
+
--container-gutter-phone: 16px;
|
|
147
|
+
}
|