@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,455 @@
|
|
|
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>Perplexity — reference components</title>
|
|
7
|
+
<meta
|
|
8
|
+
name="description"
|
|
9
|
+
content="Reference fixture for design-systems/perplexity. Every visible
|
|
10
|
+
value comes from tokens.css. Perplexity's signature moves: flat
|
|
11
|
+
near-black canvas, Inter for UI, JetBrains Mono for citations,
|
|
12
|
+
purple accent used once per view, hairline borders instead of
|
|
13
|
+
drop shadows, answer-first single-column layout."
|
|
14
|
+
/>
|
|
15
|
+
|
|
16
|
+
<style>
|
|
17
|
+
:root {
|
|
18
|
+
--bg: #0f0f10;
|
|
19
|
+
--surface: #19191a;
|
|
20
|
+
--surface-warm: var(--surface);
|
|
21
|
+
|
|
22
|
+
--fg: #f0f0f0;
|
|
23
|
+
--fg-2: var(--fg);
|
|
24
|
+
--muted: #9b9b9b;
|
|
25
|
+
--meta: #5c5c5e;
|
|
26
|
+
|
|
27
|
+
--border: #2e2e30;
|
|
28
|
+
--border-soft: #232325;
|
|
29
|
+
|
|
30
|
+
--accent: #a855f7;
|
|
31
|
+
--accent-on: #ffffff;
|
|
32
|
+
--accent-hover: #c084fc;
|
|
33
|
+
--accent-active: #9333ea;
|
|
34
|
+
|
|
35
|
+
--success: #22c55e;
|
|
36
|
+
--warn: #f59e0b;
|
|
37
|
+
--danger: #ef4444;
|
|
38
|
+
|
|
39
|
+
--font-display: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
40
|
+
--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
41
|
+
--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", Menlo, Monaco, Consolas, monospace;
|
|
42
|
+
|
|
43
|
+
--text-xs: 11px;
|
|
44
|
+
--text-sm: 13px;
|
|
45
|
+
--text-base: 15px;
|
|
46
|
+
--text-lg: 16px;
|
|
47
|
+
--text-xl: 18px;
|
|
48
|
+
--text-2xl: 22px;
|
|
49
|
+
--text-3xl: 28px;
|
|
50
|
+
--text-4xl: 32px;
|
|
51
|
+
|
|
52
|
+
--leading-body: 1.65;
|
|
53
|
+
--leading-tight: 1.2;
|
|
54
|
+
--tracking-display: -0.01em;
|
|
55
|
+
|
|
56
|
+
--space-1: 4px;
|
|
57
|
+
--space-2: 8px;
|
|
58
|
+
--space-3: 12px;
|
|
59
|
+
--space-4: 16px;
|
|
60
|
+
--space-5: 20px;
|
|
61
|
+
--space-6: 24px;
|
|
62
|
+
--space-8: 32px;
|
|
63
|
+
--space-12: 48px;
|
|
64
|
+
|
|
65
|
+
--section-y-desktop: 64px;
|
|
66
|
+
--section-y-tablet: 48px;
|
|
67
|
+
--section-y-phone: 32px;
|
|
68
|
+
|
|
69
|
+
--radius-sm: 4px;
|
|
70
|
+
--radius-md: 8px;
|
|
71
|
+
--radius-lg: 12px;
|
|
72
|
+
--radius-pill: 9999px;
|
|
73
|
+
|
|
74
|
+
--elev-flat: none;
|
|
75
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
76
|
+
--elev-raised: 0 0 0 1px var(--border);
|
|
77
|
+
|
|
78
|
+
--focus-ring: 0 0 0 2px var(--accent);
|
|
79
|
+
|
|
80
|
+
--motion-fast: 120ms;
|
|
81
|
+
--motion-base: 200ms;
|
|
82
|
+
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
83
|
+
|
|
84
|
+
--container-max: 1100px;
|
|
85
|
+
--container-gutter-desktop: 24px;
|
|
86
|
+
--container-gutter-tablet: 16px;
|
|
87
|
+
--container-gutter-phone: 16px;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
*, *::before, *::after { box-sizing: border-box; }
|
|
91
|
+
html, body { margin: 0; padding: 0; }
|
|
92
|
+
body {
|
|
93
|
+
background: var(--bg);
|
|
94
|
+
color: var(--fg);
|
|
95
|
+
font-family: var(--font-body);
|
|
96
|
+
font-size: var(--text-base);
|
|
97
|
+
line-height: var(--leading-body);
|
|
98
|
+
-webkit-font-smoothing: antialiased;
|
|
99
|
+
}
|
|
100
|
+
@media (prefers-reduced-motion: reduce) {
|
|
101
|
+
*, *::before, *::after { transition: none !important; animation: none !important; }
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.container {
|
|
105
|
+
max-width: var(--container-max);
|
|
106
|
+
margin-inline: auto;
|
|
107
|
+
padding-inline: var(--container-gutter-desktop);
|
|
108
|
+
}
|
|
109
|
+
section { padding-block: var(--section-y-desktop); }
|
|
110
|
+
section + section { border-top: 1px solid var(--border); }
|
|
111
|
+
@media (max-width: 1023px) {
|
|
112
|
+
.container { padding-inline: var(--container-gutter-tablet); }
|
|
113
|
+
section { padding-block: var(--section-y-tablet); }
|
|
114
|
+
}
|
|
115
|
+
@media (max-width: 639px) {
|
|
116
|
+
.container { padding-inline: var(--container-gutter-phone); }
|
|
117
|
+
section { padding-block: var(--section-y-phone); }
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* ─── Typography ─────────────────────────── */
|
|
121
|
+
h1, h2, h3 {
|
|
122
|
+
font-family: var(--font-display);
|
|
123
|
+
margin: 0;
|
|
124
|
+
color: var(--fg);
|
|
125
|
+
font-weight: 600;
|
|
126
|
+
line-height: var(--leading-tight);
|
|
127
|
+
}
|
|
128
|
+
h1 {
|
|
129
|
+
font-size: var(--text-4xl);
|
|
130
|
+
letter-spacing: var(--tracking-display);
|
|
131
|
+
}
|
|
132
|
+
h2 {
|
|
133
|
+
font-size: var(--text-2xl);
|
|
134
|
+
line-height: 1.3;
|
|
135
|
+
}
|
|
136
|
+
h3 {
|
|
137
|
+
font-size: var(--text-xl);
|
|
138
|
+
line-height: 1.4;
|
|
139
|
+
}
|
|
140
|
+
p { margin: 0; }
|
|
141
|
+
.lead {
|
|
142
|
+
font-size: var(--text-lg);
|
|
143
|
+
line-height: 1.6;
|
|
144
|
+
color: var(--muted);
|
|
145
|
+
font-weight: 400;
|
|
146
|
+
max-width: 60ch;
|
|
147
|
+
}
|
|
148
|
+
.body-muted { color: var(--muted); }
|
|
149
|
+
.body-sm { font-size: var(--text-sm); color: var(--muted); }
|
|
150
|
+
.eyebrow {
|
|
151
|
+
font-family: var(--font-mono);
|
|
152
|
+
font-size: var(--text-xs);
|
|
153
|
+
font-weight: 400;
|
|
154
|
+
color: var(--muted);
|
|
155
|
+
letter-spacing: 0.04em;
|
|
156
|
+
}
|
|
157
|
+
code, .mono {
|
|
158
|
+
font-family: var(--font-mono);
|
|
159
|
+
font-size: 0.92em;
|
|
160
|
+
color: var(--fg);
|
|
161
|
+
}
|
|
162
|
+
.stack-3 > * + * { margin-block-start: var(--space-3); }
|
|
163
|
+
.stack-4 > * + * { margin-block-start: var(--space-4); }
|
|
164
|
+
.stack-5 > * + * { margin-block-start: var(--space-5); }
|
|
165
|
+
.stack-6 > * + * { margin-block-start: var(--space-6); }
|
|
166
|
+
|
|
167
|
+
/* ─── Buttons ─────────────────────────────── */
|
|
168
|
+
.btn {
|
|
169
|
+
display: inline-flex;
|
|
170
|
+
align-items: center;
|
|
171
|
+
gap: var(--space-2);
|
|
172
|
+
padding: 10px 20px;
|
|
173
|
+
border-radius: var(--radius-md);
|
|
174
|
+
font-family: var(--font-body);
|
|
175
|
+
font-size: var(--text-base);
|
|
176
|
+
font-weight: 500;
|
|
177
|
+
line-height: 1;
|
|
178
|
+
cursor: pointer;
|
|
179
|
+
border: 1px solid transparent;
|
|
180
|
+
transition: background-color var(--motion-fast) var(--ease-standard),
|
|
181
|
+
border-color var(--motion-fast) var(--ease-standard);
|
|
182
|
+
text-decoration: none;
|
|
183
|
+
}
|
|
184
|
+
.btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
185
|
+
.btn-primary {
|
|
186
|
+
background: var(--accent);
|
|
187
|
+
color: var(--accent-on);
|
|
188
|
+
}
|
|
189
|
+
.btn-primary:hover { background: var(--accent-hover); }
|
|
190
|
+
.btn-primary:active { background: var(--accent-active); }
|
|
191
|
+
.btn-ghost {
|
|
192
|
+
background: transparent;
|
|
193
|
+
color: var(--fg);
|
|
194
|
+
border-color: var(--border);
|
|
195
|
+
}
|
|
196
|
+
.btn-ghost:hover { background: var(--border-soft); }
|
|
197
|
+
|
|
198
|
+
/* ─── Source badge — DESIGN.md §6 ─────────── */
|
|
199
|
+
.source-badge {
|
|
200
|
+
display: inline-flex;
|
|
201
|
+
align-items: center;
|
|
202
|
+
gap: var(--space-1);
|
|
203
|
+
padding: 3px 8px;
|
|
204
|
+
background: var(--surface);
|
|
205
|
+
border: 1px solid var(--border);
|
|
206
|
+
border-radius: var(--radius-sm);
|
|
207
|
+
font-family: var(--font-mono);
|
|
208
|
+
font-size: var(--text-xs);
|
|
209
|
+
color: var(--muted);
|
|
210
|
+
text-decoration: none;
|
|
211
|
+
}
|
|
212
|
+
.source-badge::before {
|
|
213
|
+
content: "";
|
|
214
|
+
width: 6px;
|
|
215
|
+
height: 6px;
|
|
216
|
+
border-radius: var(--radius-pill);
|
|
217
|
+
background: var(--accent);
|
|
218
|
+
opacity: 0.55;
|
|
219
|
+
flex-shrink: 0;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/* ─── Tab bar — DESIGN.md §6 ────────────── */
|
|
223
|
+
.tabbar {
|
|
224
|
+
display: flex;
|
|
225
|
+
gap: var(--space-5);
|
|
226
|
+
border-bottom: 1px solid var(--border);
|
|
227
|
+
padding-block-end: var(--space-3);
|
|
228
|
+
margin-block-end: var(--space-5);
|
|
229
|
+
}
|
|
230
|
+
.tab {
|
|
231
|
+
font-size: var(--text-sm);
|
|
232
|
+
color: var(--muted);
|
|
233
|
+
padding-block-end: var(--space-2);
|
|
234
|
+
border-bottom: 2px solid transparent;
|
|
235
|
+
margin-bottom: -1px;
|
|
236
|
+
cursor: pointer;
|
|
237
|
+
font-weight: 500;
|
|
238
|
+
}
|
|
239
|
+
.tab[aria-current="page"] {
|
|
240
|
+
color: var(--fg);
|
|
241
|
+
border-bottom-color: var(--accent);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/* ─── Cards (answer + source) ───────────── */
|
|
245
|
+
.card {
|
|
246
|
+
background: var(--surface);
|
|
247
|
+
border: 1px solid var(--border);
|
|
248
|
+
border-radius: var(--radius-lg);
|
|
249
|
+
padding: var(--space-5);
|
|
250
|
+
box-shadow: var(--elev-flat);
|
|
251
|
+
transition: background-color var(--motion-fast) var(--ease-standard);
|
|
252
|
+
}
|
|
253
|
+
.card:hover { background: var(--border-soft); }
|
|
254
|
+
|
|
255
|
+
/* ─── Search field — DESIGN.md §5 ────────── */
|
|
256
|
+
.search {
|
|
257
|
+
display: flex;
|
|
258
|
+
align-items: center;
|
|
259
|
+
gap: var(--space-3);
|
|
260
|
+
background: var(--surface);
|
|
261
|
+
border: 1px solid var(--border);
|
|
262
|
+
border-radius: var(--radius-lg);
|
|
263
|
+
padding: 12px 16px;
|
|
264
|
+
transition: border-color var(--motion-fast) var(--ease-standard);
|
|
265
|
+
}
|
|
266
|
+
.search:focus-within { border-color: var(--accent); }
|
|
267
|
+
.search input {
|
|
268
|
+
flex: 1;
|
|
269
|
+
background: transparent;
|
|
270
|
+
border: none;
|
|
271
|
+
outline: none;
|
|
272
|
+
color: var(--fg);
|
|
273
|
+
font-family: var(--font-body);
|
|
274
|
+
font-size: var(--text-base);
|
|
275
|
+
line-height: 1.4;
|
|
276
|
+
}
|
|
277
|
+
.search input::placeholder { color: var(--meta); }
|
|
278
|
+
.search-submit {
|
|
279
|
+
display: inline-flex;
|
|
280
|
+
align-items: center;
|
|
281
|
+
justify-content: center;
|
|
282
|
+
width: 28px;
|
|
283
|
+
height: 28px;
|
|
284
|
+
background: transparent;
|
|
285
|
+
border: none;
|
|
286
|
+
border-radius: var(--radius-sm);
|
|
287
|
+
color: var(--muted);
|
|
288
|
+
cursor: pointer;
|
|
289
|
+
transition: color var(--motion-fast) var(--ease-standard);
|
|
290
|
+
}
|
|
291
|
+
.search:focus-within .search-submit { color: var(--accent); }
|
|
292
|
+
|
|
293
|
+
.field { display: flex; flex-direction: column; gap: var(--space-2); }
|
|
294
|
+
.field label {
|
|
295
|
+
font-size: var(--text-sm);
|
|
296
|
+
font-weight: 500;
|
|
297
|
+
color: var(--fg);
|
|
298
|
+
}
|
|
299
|
+
.field input {
|
|
300
|
+
background: var(--surface);
|
|
301
|
+
color: var(--fg);
|
|
302
|
+
border: 1px solid var(--border);
|
|
303
|
+
border-radius: var(--radius-md);
|
|
304
|
+
padding: 10px 14px;
|
|
305
|
+
font-family: var(--font-body);
|
|
306
|
+
font-size: var(--text-base);
|
|
307
|
+
outline: none;
|
|
308
|
+
transition: border-color var(--motion-fast) var(--ease-standard);
|
|
309
|
+
}
|
|
310
|
+
.field input::placeholder { color: var(--meta); }
|
|
311
|
+
.field input:focus { border-color: var(--accent); }
|
|
312
|
+
|
|
313
|
+
/* ─── Layout ─────────────────────────────── */
|
|
314
|
+
.hero-grid {
|
|
315
|
+
display: grid;
|
|
316
|
+
grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
|
|
317
|
+
gap: var(--space-12);
|
|
318
|
+
align-items: start;
|
|
319
|
+
}
|
|
320
|
+
@media (max-width: 1023px) { .hero-grid { grid-template-columns: 1fr; } }
|
|
321
|
+
.features-grid {
|
|
322
|
+
display: grid;
|
|
323
|
+
grid-template-columns: repeat(3, 1fr);
|
|
324
|
+
gap: var(--space-4);
|
|
325
|
+
}
|
|
326
|
+
@media (max-width: 1023px) { .features-grid { grid-template-columns: 1fr 1fr; } }
|
|
327
|
+
@media (max-width: 639px) { .features-grid { grid-template-columns: 1fr; } }
|
|
328
|
+
.hero-actions { display: flex; gap: var(--space-3); margin-block-start: var(--space-5); flex-wrap: wrap; }
|
|
329
|
+
.source-row { display: flex; flex-wrap: wrap; gap: var(--space-2); }
|
|
330
|
+
.icon { width: 16px; height: 16px; flex-shrink: 0; }
|
|
331
|
+
</style>
|
|
332
|
+
</head>
|
|
333
|
+
<body>
|
|
334
|
+
<main class="container">
|
|
335
|
+
<!-- HERO — answers, not links. DESIGN.md §5 answer-first pattern. -->
|
|
336
|
+
<section data-od-id="hero">
|
|
337
|
+
<div class="hero-grid">
|
|
338
|
+
<div class="stack-5">
|
|
339
|
+
<p class="eyebrow">perplexity / reference fixture</p>
|
|
340
|
+
<h1>Answers, not links.</h1>
|
|
341
|
+
<p class="lead">
|
|
342
|
+
Ask anything. Perplexity reads the sources, cites the
|
|
343
|
+
passage, and returns a single, grounded answer — no
|
|
344
|
+
ten-blue-links detour, no auto-play, no autoplaying anything.
|
|
345
|
+
</p>
|
|
346
|
+
|
|
347
|
+
<div class="search" role="search" aria-label="Ask Perplexity">
|
|
348
|
+
<span aria-hidden="true" style="color:var(--muted);display:inline-flex">
|
|
349
|
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
350
|
+
stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true">
|
|
351
|
+
<circle cx="11" cy="11" r="7"/>
|
|
352
|
+
<path d="M20 20l-3.5-3.5"/>
|
|
353
|
+
</svg>
|
|
354
|
+
</span>
|
|
355
|
+
<input type="text" placeholder="Ask anything." aria-label="Ask Perplexity" />
|
|
356
|
+
<button type="button" class="search-submit" aria-label="Submit query">
|
|
357
|
+
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
358
|
+
stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" aria-hidden="true">
|
|
359
|
+
<path d="M5 12h14M13 6l6 6-6 6"/>
|
|
360
|
+
</svg>
|
|
361
|
+
</button>
|
|
362
|
+
</div>
|
|
363
|
+
|
|
364
|
+
<div class="hero-actions">
|
|
365
|
+
<a href="./tokens.css" class="btn btn-primary">Search</a>
|
|
366
|
+
<a href="./DESIGN.md" class="btn btn-ghost">Read the spec</a>
|
|
367
|
+
</div>
|
|
368
|
+
</div>
|
|
369
|
+
|
|
370
|
+
<aside class="card">
|
|
371
|
+
<div class="tabbar" role="tablist">
|
|
372
|
+
<span class="tab" aria-current="page" role="tab">Answer</span>
|
|
373
|
+
<span class="tab" role="tab">Sources</span>
|
|
374
|
+
<span class="tab" role="tab">Steps</span>
|
|
375
|
+
</div>
|
|
376
|
+
<p class="eyebrow" style="margin-bottom:var(--space-3)">Q · who first measured the speed of light?</p>
|
|
377
|
+
<p style="color:var(--fg)">
|
|
378
|
+
Ole Rømer, in 1676, by timing eclipses of Jupiter's moon Io as
|
|
379
|
+
Earth moved toward and away from Jupiter — a delay of
|
|
380
|
+
<code>~22 min</code> across the orbit yielded the first
|
|
381
|
+
finite estimate.
|
|
382
|
+
</p>
|
|
383
|
+
<div class="source-row" style="margin-block-start:var(--space-4)">
|
|
384
|
+
<a class="source-badge" href="#"><span class="mono">nature.com</span></a>
|
|
385
|
+
<a class="source-badge" href="#"><span class="mono">en.wikipedia.org</span></a>
|
|
386
|
+
<a class="source-badge" href="#"><span class="mono">aps.org</span></a>
|
|
387
|
+
<a class="source-badge" href="#"><span class="mono">arxiv.org</span></a>
|
|
388
|
+
</div>
|
|
389
|
+
</aside>
|
|
390
|
+
</div>
|
|
391
|
+
</section>
|
|
392
|
+
|
|
393
|
+
<!-- FEATURES — three quiet propositions, no decorative imagery. -->
|
|
394
|
+
<section data-od-id="features">
|
|
395
|
+
<div class="stack-3" style="margin-bottom:var(--space-6)">
|
|
396
|
+
<p class="eyebrow">what this fixture exercises</p>
|
|
397
|
+
<h2>Quiet by design.</h2>
|
|
398
|
+
</div>
|
|
399
|
+
|
|
400
|
+
<div class="features-grid">
|
|
401
|
+
<article class="card stack-3">
|
|
402
|
+
<h3>Cited</h3>
|
|
403
|
+
<p class="body-sm">
|
|
404
|
+
Every factual claim is attributed. Source badges sit
|
|
405
|
+
beneath the answer in <code>JetBrains Mono</code>, sentence
|
|
406
|
+
case, never decorative.
|
|
407
|
+
</p>
|
|
408
|
+
</article>
|
|
409
|
+
<article class="card stack-3">
|
|
410
|
+
<h3>Grounded</h3>
|
|
411
|
+
<p class="body-sm">
|
|
412
|
+
Flat <code>#0f0f10</code> canvas with three luminance
|
|
413
|
+
steps. No gradient hero, no animated blob — the chrome
|
|
414
|
+
recedes, the answer leads.
|
|
415
|
+
</p>
|
|
416
|
+
</article>
|
|
417
|
+
<article class="card stack-3">
|
|
418
|
+
<h3>Restrained</h3>
|
|
419
|
+
<p class="body-sm">
|
|
420
|
+
Purple <code>#a855f7</code> appears once per view: the
|
|
421
|
+
primary action. Borders before shadows, content before
|
|
422
|
+
motion.
|
|
423
|
+
</p>
|
|
424
|
+
</article>
|
|
425
|
+
</div>
|
|
426
|
+
</section>
|
|
427
|
+
|
|
428
|
+
<!-- FORM — direct copy, no apology. DESIGN.md §8 voice. -->
|
|
429
|
+
<section data-od-id="form">
|
|
430
|
+
<div style="display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-12);align-items:start">
|
|
431
|
+
<div class="stack-4">
|
|
432
|
+
<p class="eyebrow">form components</p>
|
|
433
|
+
<h2>Keep the signal in.</h2>
|
|
434
|
+
<p class="lead">
|
|
435
|
+
Sign in to keep your threads, follow-ups, and saved sources
|
|
436
|
+
across devices. No newsletter trickery, no marketing checkbox
|
|
437
|
+
defaulted on.
|
|
438
|
+
</p>
|
|
439
|
+
</div>
|
|
440
|
+
<form style="display:flex;flex-direction:column;gap:var(--space-4);max-width:420px"
|
|
441
|
+
onsubmit="event.preventDefault()">
|
|
442
|
+
<div class="field">
|
|
443
|
+
<label for="email">Email</label>
|
|
444
|
+
<input id="email" type="email" placeholder="you@domain.com" />
|
|
445
|
+
</div>
|
|
446
|
+
<div style="display:flex;gap:var(--space-3);margin-top:var(--space-2)">
|
|
447
|
+
<button type="submit" class="btn btn-primary">Continue</button>
|
|
448
|
+
<button type="button" class="btn btn-ghost">Use a passkey</button>
|
|
449
|
+
</div>
|
|
450
|
+
</form>
|
|
451
|
+
</div>
|
|
452
|
+
</section>
|
|
453
|
+
</main>
|
|
454
|
+
</body>
|
|
455
|
+
</html>
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
2
|
+
* design-systems/perplexity/tokens.css
|
|
3
|
+
*
|
|
4
|
+
* Structured token bindings for the "Perplexity" brand — the research-
|
|
5
|
+
* terminal voice of a conversational AI search engine.
|
|
6
|
+
*
|
|
7
|
+
* Brand identity in three sentences:
|
|
8
|
+
* 1. Dark canvas as the native medium — a flat near-black (#0f0f10)
|
|
9
|
+
* that recedes so citations, sources, and the answer column lead;
|
|
10
|
+
* depth is three luminance steps (base → surface → elevated), never
|
|
11
|
+
* shadow.
|
|
12
|
+
* 2. Inter for all UI and reading, JetBrains Mono for code and
|
|
13
|
+
* citations; weight 600 is the cap for display (700 reads too
|
|
14
|
+
* thin against #0f0f10), generous 1.65 body leading for dense
|
|
15
|
+
* research paragraphs.
|
|
16
|
+
* 3. A single chromatic accent — Perplexity Purple (#a855f7) —
|
|
17
|
+
* reserved for the primary CTA and active focus state; everything
|
|
18
|
+
* else is grayscale. Color appears once per view, never twice.
|
|
19
|
+
*
|
|
20
|
+
* Schema decisions:
|
|
21
|
+
* - --bg: #0f0f10 (page background, anti-gradient flat).
|
|
22
|
+
* - --surface: #19191a (card / sidebar surface).
|
|
23
|
+
* - --surface-warm aliases --surface — dark achromatic system, no warm
|
|
24
|
+
* tier; the third luminance step (#232325) lives in --border-soft so
|
|
25
|
+
* hover/elevated states can borrow it without inventing a token.
|
|
26
|
+
* - --fg: #f0f0f0 (near-white, not pure white — prevents eye strain).
|
|
27
|
+
* - --fg-2 aliases --fg — DESIGN.md §2 lists a single primary text
|
|
28
|
+
* color; secondary lives in --muted, tertiary in --meta.
|
|
29
|
+
* - --border: #2e2e30; --border-soft: #232325 (also the elevated tier).
|
|
30
|
+
* - --accent: #a855f7 (purple); --accent-hover: #c084fc;
|
|
31
|
+
* --accent-active: #9333ea (darker pressed — one step down the
|
|
32
|
+
* violet scale, since DESIGN.md does not name an active value).
|
|
33
|
+
* - --tracking-display: -0.01em (Inter at 32px tightens slightly).
|
|
34
|
+
* - --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px (DESIGN.md §4).
|
|
35
|
+
* - --elev-raised: hairline ring only — DESIGN.md §6 §9 forbids
|
|
36
|
+
* drop shadows; elevation is communicated through border contrast.
|
|
37
|
+
* - --motion-fast: 120ms (DESIGN.md §7 hover), --motion-base: 200ms
|
|
38
|
+
* (modal); ease-out flavored cubic-bezier per DESIGN.md guidance.
|
|
39
|
+
* ─────────────────────────────────────────────────────────────────── */
|
|
40
|
+
|
|
41
|
+
:root {
|
|
42
|
+
/* ─── Surface ──────────────────────────────────────────────────── */
|
|
43
|
+
--bg: #0f0f10; /* flat near-black canvas — no gradient */
|
|
44
|
+
--surface: #19191a; /* card / sidebar / search bar fill */
|
|
45
|
+
--surface-warm: var(--surface); /* no warm tier in dark achromatic system */
|
|
46
|
+
|
|
47
|
+
/* ─── Foreground ───────────────────────────────────────────────── */
|
|
48
|
+
--fg: #f0f0f0; /* near-white — body copy, headings */
|
|
49
|
+
--fg-2: var(--fg); /* DESIGN.md §2 has a single primary tier */
|
|
50
|
+
--muted: #9b9b9b; /* secondary — meta, captions, labels */
|
|
51
|
+
--meta: #5c5c5e; /* tertiary — placeholder, disabled */
|
|
52
|
+
|
|
53
|
+
/* ─── Border ───────────────────────────────────────────────────── */
|
|
54
|
+
--border: #2e2e30; /* divider, input border, card edge */
|
|
55
|
+
--border-soft: #232325; /* inner row separator + elevated tier */
|
|
56
|
+
|
|
57
|
+
/* ─── Accent ───────────────────────────────────────────────────── */
|
|
58
|
+
--accent: #a855f7; /* Perplexity purple — sole chromatic color */
|
|
59
|
+
--accent-on: #ffffff; /* white on accent for buttons / badges */
|
|
60
|
+
--accent-hover: #c084fc; /* lighter violet hover */
|
|
61
|
+
--accent-active: #9333ea; /* darker pressed — derived, DESIGN.md silent */
|
|
62
|
+
|
|
63
|
+
/* ─── Semantic ─────────────────────────────────────────────────── */
|
|
64
|
+
--success: #22c55e; /* verified source badge */
|
|
65
|
+
--warn: #f59e0b; /* caution */
|
|
66
|
+
--danger: #ef4444; /* error state */
|
|
67
|
+
|
|
68
|
+
/* ─── Typography ───────────────────────────────────────────────── */
|
|
69
|
+
/* Inter for UI/body/display (weight 600 cap at display sizes).
|
|
70
|
+
JetBrains Mono for code, citations, inline tags. */
|
|
71
|
+
--font-display: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
72
|
+
--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
73
|
+
--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", Menlo, Monaco, Consolas, monospace;
|
|
74
|
+
|
|
75
|
+
/* Type scale — DESIGN.md §3.
|
|
76
|
+
* 4xl=32 display, 3xl=22 heading-l, 2xl=18 heading-m, lg=16 reading-large,
|
|
77
|
+
* base=15 body, sm=13 body-sm, xs=11 caption. The 3xl/2xl→xl gap (16) is
|
|
78
|
+
* the natural reading-large bridge for source-card titles. */
|
|
79
|
+
--text-xs: 11px; /* caption — source labels, timestamps */
|
|
80
|
+
--text-sm: 13px; /* body-sm — secondary, meta */
|
|
81
|
+
--text-base: 15px; /* body — primary reading copy */
|
|
82
|
+
--text-lg: 16px; /* reading-large — source card titles */
|
|
83
|
+
--text-xl: 18px; /* heading-m — sub-section heading */
|
|
84
|
+
--text-2xl: 22px; /* heading-l — section heading */
|
|
85
|
+
--text-3xl: 28px; /* sub-display — intermediate hero step */
|
|
86
|
+
--text-4xl: 32px; /* display — page title, hero answer */
|
|
87
|
+
|
|
88
|
+
/* Leading + tracking.
|
|
89
|
+
* --leading-body=1.65: dense research paragraphs (DESIGN.md §3 body).
|
|
90
|
+
* --leading-tight=1.2: display compression (DESIGN.md display row).
|
|
91
|
+
* --tracking-display=-0.01em: Inter at 32px tightens subtly; never stretch. */
|
|
92
|
+
--leading-body: 1.65;
|
|
93
|
+
--leading-tight: 1.2;
|
|
94
|
+
--tracking-display: -0.01em;
|
|
95
|
+
|
|
96
|
+
/* ─── Spacing ──────────────────────────────────────────────────── */
|
|
97
|
+
/* 8px base unit (DESIGN.md §4). Schema spine maps the key stops;
|
|
98
|
+
DESIGN.md's 48/64 page/above-fold tiers ride --space-12 and the
|
|
99
|
+
section-y tokens below. */
|
|
100
|
+
--space-1: 4px;
|
|
101
|
+
--space-2: 8px;
|
|
102
|
+
--space-3: 12px;
|
|
103
|
+
--space-4: 16px;
|
|
104
|
+
--space-5: 20px;
|
|
105
|
+
--space-6: 24px;
|
|
106
|
+
--space-8: 32px;
|
|
107
|
+
--space-12: 48px;
|
|
108
|
+
|
|
109
|
+
/* Section rhythm — DESIGN.md §4: 48px page-level, 64px above-fold. */
|
|
110
|
+
--section-y-desktop: 64px;
|
|
111
|
+
--section-y-tablet: 48px;
|
|
112
|
+
--section-y-phone: 32px;
|
|
113
|
+
|
|
114
|
+
/* ─── Radius ───────────────────────────────────────────────────── */
|
|
115
|
+
/* DESIGN.md §4: 4 tag, 8 input/card, 12 modal/popover. Pill for
|
|
116
|
+
avatars/tags only — never on cards (DESIGN.md §9 anti-pattern). */
|
|
117
|
+
--radius-sm: 4px;
|
|
118
|
+
--radius-md: 8px;
|
|
119
|
+
--radius-lg: 12px;
|
|
120
|
+
--radius-pill: 9999px;
|
|
121
|
+
|
|
122
|
+
/* ─── Elevation ────────────────────────────────────────────────── */
|
|
123
|
+
/* DESIGN.md §6 §9: no drop shadows. Elevation = border contrast.
|
|
124
|
+
--elev-raised intentionally collapses to a hairline ring — the
|
|
125
|
+
visual lift comes from the background stepping to #232325 in
|
|
126
|
+
the consuming rule, not from a cast shadow. */
|
|
127
|
+
--elev-flat: none;
|
|
128
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
129
|
+
--elev-raised: 0 0 0 1px var(--border);
|
|
130
|
+
|
|
131
|
+
/* ─── Focus ────────────────────────────────────────────────────── */
|
|
132
|
+
/* DESIGN.md §5 search bar: --accent 2px outline, no box-shadow halo. */
|
|
133
|
+
--focus-ring: 0 0 0 2px var(--accent);
|
|
134
|
+
|
|
135
|
+
/* ─── Motion ───────────────────────────────────────────────────── */
|
|
136
|
+
/* DESIGN.md §7: hover 120ms, modal 200ms; anti-animation brand.
|
|
137
|
+
Easing reads as "ease-out-like" (cubic-bezier(0.2, 0, 0, 1)) since
|
|
138
|
+
DESIGN.md prescribes ease-out for panel/modal openers. */
|
|
139
|
+
--motion-fast: 120ms;
|
|
140
|
+
--motion-base: 200ms;
|
|
141
|
+
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
142
|
+
|
|
143
|
+
/* ─── Layout ───────────────────────────────────────────────────── */
|
|
144
|
+
/* DESIGN.md §4: 1100px full-page shell (answer column 720px lives
|
|
145
|
+
inline in components that want the reading width). Gutter 16px
|
|
146
|
+
on phone matches DESIGN.md's stated side margin. */
|
|
147
|
+
--container-max: 1100px;
|
|
148
|
+
--container-gutter-desktop: 24px;
|
|
149
|
+
--container-gutter-tablet: 16px;
|
|
150
|
+
--container-gutter-phone: 16px;
|
|
151
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Design System Inspired by Perspective
|
|
2
|
+
|
|
3
|
+
> Category: Layout & Structure
|
|
4
|
+
> Spatial depth design with isometric views, vanishing points, and layered elements that guide attention through 3D-like realism.
|
|
5
|
+
|
|
6
|
+
## 1. Visual Theme & Atmosphere
|
|
7
|
+
|
|
8
|
+
Spatial depth design with isometric views, vanishing points, and layered elements that guide attention through 3D-like realism.
|
|
9
|
+
|
|
10
|
+
- **Visual style:** modern, clean, high-contrast
|
|
11
|
+
- **Color stance:** primary, neutral, success, warning, danger
|
|
12
|
+
- **Design intent:** Keep outputs recognizable to this style family while preserving usability and readability.
|
|
13
|
+
|
|
14
|
+
## 2. Color
|
|
15
|
+
|
|
16
|
+
- **Primary:** `#00BD7D` — Token from style foundations.
|
|
17
|
+
- **Secondary:** `#00BD7D` — Token from style foundations.
|
|
18
|
+
- **Success:** `#16A34A` — Token from style foundations.
|
|
19
|
+
- **Warning:** `#D97706` — Token from style foundations.
|
|
20
|
+
- **Danger:** `#DC2626` — Token from style foundations.
|
|
21
|
+
- **Surface:** `#FFFFFF` — Token from style foundations.
|
|
22
|
+
- **Text:** `#111827` — Token from style foundations.
|
|
23
|
+
- **Neutral:** `#FFFFFF` — Derived from the surface token for official format compatibility.
|
|
24
|
+
|
|
25
|
+
- Favor Primary (#00BD7D) for CTA emphasis.
|
|
26
|
+
- Use Surface (#FFFFFF) for large backgrounds and cards.
|
|
27
|
+
- Keep body copy on Text (#111827) for legibility.
|
|
28
|
+
|
|
29
|
+
## 3. Typography
|
|
30
|
+
|
|
31
|
+
- **Scale:** 12/14/16/20/24/32
|
|
32
|
+
- **Families:** primary=Poppins, display=Oswald, mono=JetBrains Mono
|
|
33
|
+
- **Weights:** 100, 200, 300, 400, 500, 600, 700, 800, 900
|
|
34
|
+
- Headings should carry the style personality; body text should optimize scanability and contrast.
|
|
35
|
+
|
|
36
|
+
## 4. Spacing & Grid
|
|
37
|
+
|
|
38
|
+
- **Spacing scale:** 4/8/12/16/24/32
|
|
39
|
+
- Keep vertical rhythm consistent across sections and components.
|
|
40
|
+
- Align columns and modules to a predictable grid; avoid ad-hoc offsets.
|
|
41
|
+
|
|
42
|
+
## 5. Layout & Composition
|
|
43
|
+
|
|
44
|
+
- Prefer clear content blocks with consistent internal padding.
|
|
45
|
+
- Keep hierarchy obvious: headline → support text → primary action.
|
|
46
|
+
- Use whitespace to separate concerns before adding borders or shadows.
|
|
47
|
+
|
|
48
|
+
## 6. Components
|
|
49
|
+
|
|
50
|
+
- Buttons: primary action uses `#00BD7D`; secondary actions stay neutral.
|
|
51
|
+
- Inputs: strong focus-visible states, clear labels, and predictable error messaging.
|
|
52
|
+
- Cards/sections: use consistent radii, spacing, and elevation strategy across the page.
|
|
53
|
+
|
|
54
|
+
## 7. Motion & Interaction
|
|
55
|
+
|
|
56
|
+
- Use subtle transitions that emphasize Primary (#00BD7D) as the interaction signal.
|
|
57
|
+
- Default to short, purposeful transitions (150–250ms) with stable easing.
|
|
58
|
+
- Ensure hover, focus-visible, active, disabled, and loading states are explicit.
|
|
59
|
+
|
|
60
|
+
## 8. Voice & Brand
|
|
61
|
+
|
|
62
|
+
- Tone should reflect the visual style: concise, confident, and product-specific.
|
|
63
|
+
- Keep microcopy action-oriented and avoid generic filler language.
|
|
64
|
+
- Preserve the style identity in headlines while keeping UI labels literal and clear.
|
|
65
|
+
|
|
66
|
+
## 9. Anti-patterns
|
|
67
|
+
|
|
68
|
+
- Do not introduce off-palette colors when an existing token can solve the problem.
|
|
69
|
+
- Do not flatten hierarchy by using the same type size/weight for all text.
|
|
70
|
+
- Do not add decorative effects that reduce readability or accessibility.
|
|
71
|
+
- Do not mix unrelated visual metaphors in the same interface.
|