@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,261 @@
|
|
|
1
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
2
|
+
* design-systems/airtable/tokens.css
|
|
3
|
+
*
|
|
4
|
+
* Structured token bindings for "Design System Inspired by Airtable" —
|
|
5
|
+
* the spreadsheet-database hybrid that talks to enterprise without
|
|
6
|
+
* shouting. A white canvas with deep-navy text, Airtable Blue as the
|
|
7
|
+
* single chromatic accent, Haas Swiss-precision typography, and a
|
|
8
|
+
* signature blue-tinted multi-layer shadow that makes cards feel
|
|
9
|
+
* built into the page rather than dropped onto it.
|
|
10
|
+
*
|
|
11
|
+
* Brand-specific schema decisions (each one bends a schema convention
|
|
12
|
+
* to match Airtable's voice rather than the cross-brand default):
|
|
13
|
+
*
|
|
14
|
+
* 1. `--accent` is Airtable Blue (#1b61c9), not deep navy. Deep
|
|
15
|
+
* navy is already `--fg`; the brand expresses primary CTAs by
|
|
16
|
+
* using `--accent` as the button background and reserves
|
|
17
|
+
* navy-on-white for headlines and body. `--accent-hover` binds
|
|
18
|
+
* to the documented "Mid Blue" #254fad rather than a generic
|
|
19
|
+
* color-mix darken — Airtable explicitly differentiates the
|
|
20
|
+
* hover tier as a discrete brand tone, not a calculated shade.
|
|
21
|
+
*
|
|
22
|
+
* 2. `--fg` is `#181d26` (Deep Navy), not `#000000`. The faint
|
|
23
|
+
* blue undertone at the top of the neutral ramp is part of the
|
|
24
|
+
* brand — pure black would clash with Airtable Blue and make
|
|
25
|
+
* the page read as harsh against the white canvas. `--fg-2`
|
|
26
|
+
* drops to `#333333` (documented Dark Gray) for body
|
|
27
|
+
* description; `--muted` binds to the documented Weak Text
|
|
28
|
+
* `rgba(4, 14, 32, 0.69)` so cross-brand `var(--muted)` calls
|
|
29
|
+
* land on Airtable's actual semitransparent navy tier instead
|
|
30
|
+
* of a flat gray.
|
|
31
|
+
*
|
|
32
|
+
* 3. `--surface-warm` aliases to `--surface` because Airtable has
|
|
33
|
+
* no warm tier — the canvas is white and the lifted surface is
|
|
34
|
+
* the documented `#f8fafc` light-surface, both cool. Adding a
|
|
35
|
+
* warm sibling would invent a tone the brand does not use.
|
|
36
|
+
*
|
|
37
|
+
* 4. `--elev-raised` is the full multi-layer Airtable shadow stack
|
|
38
|
+
* reproduced VERBATIM from DESIGN.md §6: a 1px dark hairline, a
|
|
39
|
+
* 2px ambient, a 3px blue-tinted (rgba(45,127,249,0.28))
|
|
40
|
+
* "Airtable glow" at 1px y-offset, and a 0.5px inner ring. The
|
|
41
|
+
* blue tint is the brand signature — it makes cards feel
|
|
42
|
+
* authored by the same hand as the Airtable Blue CTAs, instead
|
|
43
|
+
* of a generic gray-shadow drop. Never drop the third layer
|
|
44
|
+
* when overriding this token.
|
|
45
|
+
*
|
|
46
|
+
* 5. Radius scale binds 12 / 16 / 24 / 9999 (sm / md / lg / pill)
|
|
47
|
+
* per DESIGN.md §5. Buttons sit at 12px (documented), cards at
|
|
48
|
+
* 16px, large feature containers at 24px. The 2px "sharp"
|
|
49
|
+
* cookie-consent radius is component-specific and inlined
|
|
50
|
+
* where needed, not promoted to the schema. The 32px "large"
|
|
51
|
+
* radius is also section-specific; binding it to `--radius-lg`
|
|
52
|
+
* would over-round the typical card surface.
|
|
53
|
+
*
|
|
54
|
+
* 6. `--leading-body` is 1.35 (DESIGN.md body 18px / 24px), not
|
|
55
|
+
* the schema-conventional 1.5. Airtable runs body copy at a
|
|
56
|
+
* slightly tighter rhythm so dense product UI (table rows,
|
|
57
|
+
* record cards) does not feel sparse. `--leading-tight` is 1.2
|
|
58
|
+
* for headings, matching the documented 1.15–1.25 band.
|
|
59
|
+
*
|
|
60
|
+
* 7. `--tracking-display` is `0` (normal), not negative. DESIGN.md
|
|
61
|
+
* §3 explicitly lists display headings as `letter-spacing:
|
|
62
|
+
* normal` and body text as POSITIVE tracking (0.08–0.28px).
|
|
63
|
+
* The Haas family is engineered for positive tracking; mapping
|
|
64
|
+
* display to a negative em would fight the typeface. Body-tier
|
|
65
|
+
* positive tracking is applied at the component level (button,
|
|
66
|
+
* caption) since `--tracking-display` only covers display sizes.
|
|
67
|
+
*
|
|
68
|
+
* 8. `--success` is `#006400` (documented `--theme_success-text`),
|
|
69
|
+
* a darker forest green than the schema's #16a34a. Airtable's
|
|
70
|
+
* semantic green is intentionally deeper so it reads as a
|
|
71
|
+
* "confirmed / saved" tone against the white canvas rather
|
|
72
|
+
* than a vibrant alert.
|
|
73
|
+
*
|
|
74
|
+
* 9. Section rhythm is 96 / 64 / 48 (desktop / tablet / phone).
|
|
75
|
+
* DESIGN.md does not pin section padding numerically but the
|
|
76
|
+
* site's airy enterprise voice asks for generous vertical
|
|
77
|
+
* space — this matches the documented 8px-base spacing scale
|
|
78
|
+
* (96 = 12 × 8) without inventing a new tier. Container caps
|
|
79
|
+
* at 1200px, consistent with Airtable's documented
|
|
80
|
+
* 425–1664px responsive band centered on a desktop sweet spot.
|
|
81
|
+
*
|
|
82
|
+
* Source contracts:
|
|
83
|
+
* - Standard token names: design-systems/_schema/tokens.schema.ts
|
|
84
|
+
* - A2 fallback parity: design-systems/_schema/defaults.css
|
|
85
|
+
* - Lint enforcement: apps/daemon/src/lint-artifact.ts
|
|
86
|
+
*
|
|
87
|
+
* Keep this file additive: never invent token names not also
|
|
88
|
+
* documented in DESIGN.md or the schema. The Haas family does not
|
|
89
|
+
* need a CDN reference here — the font stack lists OS fallbacks
|
|
90
|
+
* (`-apple-system, system-ui, Segoe UI, Roboto`) per DESIGN.md §3
|
|
91
|
+
* so artifacts render acceptably even when Haas is not loaded.
|
|
92
|
+
* ─────────────────────────────────────────────────────────────────── */
|
|
93
|
+
|
|
94
|
+
:root {
|
|
95
|
+
/* ─── Surface ─────────────────────────────────────────────────────
|
|
96
|
+
* White canvas, white lifted card. Airtable explicitly does not
|
|
97
|
+
* vary background between sections — depth comes from the
|
|
98
|
+
* blue-tinted shadow stack, not from tinting one surface against
|
|
99
|
+
* another. `--surface-warm` aliases to surface because the brand
|
|
100
|
+
* has no warm tier (DESIGN.md §2 lists only cool neutrals). */
|
|
101
|
+
--bg: #ffffff; /* primary canvas */
|
|
102
|
+
--surface: #ffffff; /* card / lifted container */
|
|
103
|
+
--surface-warm: var(--surface); /* alias — Airtable has no warm tier */
|
|
104
|
+
|
|
105
|
+
/* ─── Foreground ──────────────────────────────────────────────────
|
|
106
|
+
* Deep Navy → Dark Gray → Weak Text (semitransparent navy) →
|
|
107
|
+
* tertiary alias. The four-tier ramp matches DESIGN.md §2 + §6
|
|
108
|
+
* exactly: `#181d26` headings, `#333333` body, the documented
|
|
109
|
+
* `rgba(4, 14, 32, 0.69)` weak tier for captions, and `--meta`
|
|
110
|
+
* aliasing to muted because Airtable does not differentiate a
|
|
111
|
+
* fourth tertiary tone. */
|
|
112
|
+
--fg: #181d26; /* Deep Navy — primary text */
|
|
113
|
+
--fg-2: #333333; /* Dark Gray — secondary text / body */
|
|
114
|
+
--muted: rgba(4, 14, 32, 0.69); /* Weak Text — captions, meta */
|
|
115
|
+
--meta: var(--muted); /* alias — no distinct tertiary tier */
|
|
116
|
+
|
|
117
|
+
/* ─── Border ──────────────────────────────────────────────────────
|
|
118
|
+
* `#e0e2e6` is the documented card-border tone from DESIGN.md §4.
|
|
119
|
+
* `--border-soft` drops to a lighter `#eef0f3` for inner row
|
|
120
|
+
* separators (table rows, list dividers) that must not visually
|
|
121
|
+
* compete with the outer card edge. */
|
|
122
|
+
--border: #e0e2e6; /* card / input edge */
|
|
123
|
+
--border-soft: #eef0f3; /* inner row separator */
|
|
124
|
+
|
|
125
|
+
/* ─── Accent ──────────────────────────────────────────────────────
|
|
126
|
+
* Airtable Blue — the single chromatic accent across the brand.
|
|
127
|
+
* Used for primary CTAs, links, focus rings, and active-state
|
|
128
|
+
* highlights. Hard cap of ≤2 visible uses per screen (lint
|
|
129
|
+
* enforced); decorative blue is forbidden because the brand reads
|
|
130
|
+
* the accent as "this is the action".
|
|
131
|
+
*
|
|
132
|
+
* `--accent-hover` binds to the documented "Mid Blue" #254fad
|
|
133
|
+
* rather than a generic color-mix darken — Airtable explicitly
|
|
134
|
+
* differentiates the hover tier as a discrete brand tone. */
|
|
135
|
+
--accent: #1b61c9; /* Airtable Blue — CTA, links */
|
|
136
|
+
--accent-on: #ffffff; /* white label on blue */
|
|
137
|
+
--accent-hover: #254fad; /* Mid Blue — documented hover tone */
|
|
138
|
+
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
139
|
+
|
|
140
|
+
/* ─── Semantic ────────────────────────────────────────────────────
|
|
141
|
+
* `--success` is the documented `--theme_success-text` (#006400),
|
|
142
|
+
* a deeper forest green than the schema's #16a34a — Airtable's
|
|
143
|
+
* green reads as "confirmed / saved" against white, not as a
|
|
144
|
+
* vivid alert. Warn / danger inherit schema defaults because the
|
|
145
|
+
* brand has no defined yellow / red. */
|
|
146
|
+
--success: #006400; /* documented Success Green */
|
|
147
|
+
--warn: #eab308;
|
|
148
|
+
--danger: #dc2626;
|
|
149
|
+
|
|
150
|
+
/* ─── Typography ──────────────────────────────────────────────────
|
|
151
|
+
* Haas (display + Groot Disp variant) is Airtable's proprietary
|
|
152
|
+
* Swiss family. The OS fallbacks `-apple-system, system-ui,
|
|
153
|
+
* Segoe UI, Roboto` are documented in DESIGN.md §3 and ensure
|
|
154
|
+
* artifacts render legibly when Haas is not loaded. The Groot
|
|
155
|
+
* Disp variant carries display headings; Haas regular carries
|
|
156
|
+
* body and UI. */
|
|
157
|
+
--font-display: "Haas Groot Disp", Haas, -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;
|
|
158
|
+
--font-body: Haas, -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;
|
|
159
|
+
--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, monospace;
|
|
160
|
+
|
|
161
|
+
/* Type scale — derived from DESIGN.md §3 hierarchy. The scale
|
|
162
|
+
* tops out at 48px (display hero); Airtable reads as "sophisticated
|
|
163
|
+
* simplicity" because hierarchy comes from weight + tracking
|
|
164
|
+
* variation within the Haas family, not from inflated px counts. */
|
|
165
|
+
--text-xs: 12px; /* metadata, tags */
|
|
166
|
+
--text-sm: 14px; /* caption, small UI */
|
|
167
|
+
--text-base: 16px; /* body medium, button */
|
|
168
|
+
--text-lg: 20px; /* feature copy */
|
|
169
|
+
--text-xl: 24px; /* card title */
|
|
170
|
+
--text-2xl: 32px; /* sub-heading */
|
|
171
|
+
--text-3xl: 40px; /* section heading */
|
|
172
|
+
--text-4xl: 48px; /* display hero */
|
|
173
|
+
|
|
174
|
+
/* `--leading-body` is 1.35 (DESIGN.md body 18px / 24px), not 1.5.
|
|
175
|
+
* Dense product UI (table rows, record cards) needs the tighter
|
|
176
|
+
* rhythm so rows do not feel sparse. `--leading-tight` is 1.2
|
|
177
|
+
* for headings, matching the documented 1.15–1.25 band.
|
|
178
|
+
* `--tracking-display` is `0` because DESIGN.md §3 explicitly
|
|
179
|
+
* lists display headings as `letter-spacing: normal`; positive
|
|
180
|
+
* body tracking (0.08–0.28px) is applied per-component. */
|
|
181
|
+
--leading-body: 1.35;
|
|
182
|
+
--leading-tight: 1.2;
|
|
183
|
+
--tracking-display: 0;
|
|
184
|
+
|
|
185
|
+
/* ─── Spacing ─────────────────────────────────────────────────────
|
|
186
|
+
* 8px base unit per DESIGN.md §5 (1–48px range). The 4/8/12/16/
|
|
187
|
+
* 20/24/32/48 tier covers structural rhythm; finer sub-tier
|
|
188
|
+
* increments (1–3px micro-padding inside chips and badges) are
|
|
189
|
+
* inlined per-component because they are too granular for the
|
|
190
|
+
* shared schema. */
|
|
191
|
+
--space-1: 4px;
|
|
192
|
+
--space-2: 8px;
|
|
193
|
+
--space-3: 12px;
|
|
194
|
+
--space-4: 16px;
|
|
195
|
+
--space-5: 20px;
|
|
196
|
+
--space-6: 24px;
|
|
197
|
+
--space-8: 32px;
|
|
198
|
+
--space-12: 48px;
|
|
199
|
+
|
|
200
|
+
/* Section rhythm — Airtable's enterprise voice asks for generous
|
|
201
|
+
* vertical space between marketing sections without going gallery-
|
|
202
|
+
* empty. 96 desktop / 64 tablet / 48 phone matches the 8px base
|
|
203
|
+
* (96 = 12 × 8) and stays within the documented responsive band. */
|
|
204
|
+
--section-y-desktop: 96px;
|
|
205
|
+
--section-y-tablet: 64px;
|
|
206
|
+
--section-y-phone: 48px;
|
|
207
|
+
|
|
208
|
+
/* ─── Radius ──────────────────────────────────────────────────────
|
|
209
|
+
* DESIGN.md §5 radius scale: 2 / 12 / 16 / 24 / 32 / 50%. We bind
|
|
210
|
+
* the four schema tiers to: 12 (button/input, documented), 16
|
|
211
|
+
* (card, documented), 24 (large feature container, documented),
|
|
212
|
+
* 9999 (pill). The 2px "sharp" cookie-consent radius is
|
|
213
|
+
* component-specific and inlined where it appears; the 32px
|
|
214
|
+
* section radius would over-round typical surfaces and is
|
|
215
|
+
* intentionally not bound here. */
|
|
216
|
+
--radius-sm: 12px; /* buttons, inputs, chips */
|
|
217
|
+
--radius-md: 16px; /* cards, modals */
|
|
218
|
+
--radius-lg: 24px; /* featured containers */
|
|
219
|
+
--radius-pill: 9999px; /* badges, avatars */
|
|
220
|
+
|
|
221
|
+
/* ─── Elevation ───────────────────────────────────────────────────
|
|
222
|
+
* Airtable's signature: blue-tinted multi-layer shadow that makes
|
|
223
|
+
* cards feel authored by the same hand as the Airtable Blue CTAs.
|
|
224
|
+
* Four layers reproduced verbatim from DESIGN.md §6:
|
|
225
|
+
* 1px dark hairline (defines the edge)
|
|
226
|
+
* 2px ambient (soft surround)
|
|
227
|
+
* 3px blue glow @ 1y (the Airtable signature — never drop)
|
|
228
|
+
* 0.5px inset ring (subtle inner highlight) */
|
|
229
|
+
--elev-flat: none;
|
|
230
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
231
|
+
--elev-raised:
|
|
232
|
+
0 0 1px rgba(0, 0, 0, 0.32),
|
|
233
|
+
0 0 2px rgba(0, 0, 0, 0.08),
|
|
234
|
+
0 1px 3px rgba(45, 127, 249, 0.28),
|
|
235
|
+
inset 0 0 0 0.5px rgba(0, 0, 0, 0.06);
|
|
236
|
+
|
|
237
|
+
/* ─── Focus ring ──────────────────────────────────────────────────
|
|
238
|
+
* 3px Airtable-Blue alpha glow — keyboard focus reads as
|
|
239
|
+
* "actionable" without competing with the saturated CTA fill.
|
|
240
|
+
* Matches schema default formula so cross-brand focus styles
|
|
241
|
+
* remain visually consistent. */
|
|
242
|
+
--focus-ring: 0 0 0 3px color-mix(in oklab, var(--accent), transparent 70%);
|
|
243
|
+
|
|
244
|
+
/* ─── Motion ──────────────────────────────────────────────────────
|
|
245
|
+
* Standard durations + curve. Airtable's product UI uses motion
|
|
246
|
+
* to confirm direct manipulation (cell edits, drag-and-drop),
|
|
247
|
+
* not to choreograph entrances — 150/200ms feels responsive
|
|
248
|
+
* without dragging. */
|
|
249
|
+
--motion-fast: 150ms;
|
|
250
|
+
--motion-base: 200ms;
|
|
251
|
+
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
252
|
+
|
|
253
|
+
/* ─── Layout ──────────────────────────────────────────────────────
|
|
254
|
+
* 1200px max content width — sits in the middle of Airtable's
|
|
255
|
+
* documented 425–1664px responsive band. Gutters narrow on
|
|
256
|
+
* mobile to preserve line length on dense marketing copy. */
|
|
257
|
+
--container-max: 1200px;
|
|
258
|
+
--container-gutter-desktop: 24px;
|
|
259
|
+
--container-gutter-tablet: 16px;
|
|
260
|
+
--container-gutter-phone: 12px;
|
|
261
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Design System Inspired by Ant
|
|
2
|
+
|
|
3
|
+
> Category: Professional & Corporate
|
|
4
|
+
> Structured, enterprise-focused design system emphasizing clarity, consistency, and efficiency for data-dense web applications.
|
|
5
|
+
|
|
6
|
+
## 1. Visual Theme & Atmosphere
|
|
7
|
+
|
|
8
|
+
Structured, enterprise-focused design system emphasizing clarity, consistency, and efficiency for data-dense web applications.
|
|
9
|
+
|
|
10
|
+
- **Visual style:** data-dense, enterprise
|
|
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:** `#1677FF` — Token from style foundations.
|
|
17
|
+
- **Secondary:** `#8B5CF6` — 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 (#1677FF) 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=Plus Jakarta Sans, display=Plus Jakarta Sans, 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 `#1677FF`; 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 (#1677FF) 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.
|
|
@@ -0,0 +1,154 @@
|
|
|
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>Ant - reference components</title>
|
|
7
|
+
<meta name="description" content="Reference fixture for design-systems/ant: enterprise fintech clarity, white work surfaces, sharp red intent, and compact data controls." />
|
|
8
|
+
<style>
|
|
9
|
+
:root {
|
|
10
|
+
--bg: #ffffff;
|
|
11
|
+
--surface: #f7f8fa;
|
|
12
|
+
--surface-warm: #fff1f0;
|
|
13
|
+
--fg: #1f1f1f;
|
|
14
|
+
--fg-2: #4b5563;
|
|
15
|
+
--muted: #697386;
|
|
16
|
+
--meta: #d32029;
|
|
17
|
+
--border: #d9dce3;
|
|
18
|
+
--border-soft: #eef0f4;
|
|
19
|
+
--accent: #d32029;
|
|
20
|
+
--accent-on: #ffffff;
|
|
21
|
+
--accent-hover: color-mix(in oklab, var(--accent), black 8%);
|
|
22
|
+
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
23
|
+
--success: #22a06b;
|
|
24
|
+
--warn: #faad14;
|
|
25
|
+
--danger: #cf1322;
|
|
26
|
+
--font-display: "Ant Sans", "Alibaba PuHuiTi", Inter, Arial, sans-serif;
|
|
27
|
+
--font-body: "Ant Sans", "Alibaba PuHuiTi", Inter, Arial, sans-serif;
|
|
28
|
+
--font-mono: "SF Mono", ui-monospace, Menlo, monospace;
|
|
29
|
+
--text-xs: 12px;
|
|
30
|
+
--text-sm: 14px;
|
|
31
|
+
--text-base: 16px;
|
|
32
|
+
--text-lg: 18px;
|
|
33
|
+
--text-xl: 22px;
|
|
34
|
+
--text-2xl: 32px;
|
|
35
|
+
--text-3xl: 48px;
|
|
36
|
+
--text-4xl: 64px;
|
|
37
|
+
--leading-body: 1.52;
|
|
38
|
+
--leading-tight: 1.08;
|
|
39
|
+
--tracking-display: -0.018em;
|
|
40
|
+
--space-1: 4px;
|
|
41
|
+
--space-2: 8px;
|
|
42
|
+
--space-3: 12px;
|
|
43
|
+
--space-4: 16px;
|
|
44
|
+
--space-5: 20px;
|
|
45
|
+
--space-6: 24px;
|
|
46
|
+
--space-8: 32px;
|
|
47
|
+
--space-12: 48px;
|
|
48
|
+
--section-y-desktop: 96px;
|
|
49
|
+
--section-y-tablet: 68px;
|
|
50
|
+
--section-y-phone: 48px;
|
|
51
|
+
--radius-sm: 6px;
|
|
52
|
+
--radius-md: 10px;
|
|
53
|
+
--radius-lg: 16px;
|
|
54
|
+
--radius-pill: 9999px;
|
|
55
|
+
--elev-flat: none;
|
|
56
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
57
|
+
--elev-raised: 0 18px 42px rgba(31, 31, 31, 0.10);
|
|
58
|
+
--focus-ring: 0 0 0 4px rgba(211, 32, 41, 0.22);
|
|
59
|
+
--motion-fast: 140ms;
|
|
60
|
+
--motion-base: 220ms;
|
|
61
|
+
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
62
|
+
--container-max: 1200px;
|
|
63
|
+
--container-gutter-desktop: 36px;
|
|
64
|
+
--container-gutter-tablet: 24px;
|
|
65
|
+
--container-gutter-phone: 16px;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
*, *::before, *::after { box-sizing: border-box; }
|
|
69
|
+
html, body { margin: 0; padding: 0; }
|
|
70
|
+
body {
|
|
71
|
+
min-height: 100vh;
|
|
72
|
+
background: var(--bg);
|
|
73
|
+
color: var(--fg);
|
|
74
|
+
font-family: var(--font-body);
|
|
75
|
+
font-size: var(--text-base);
|
|
76
|
+
line-height: var(--leading-body);
|
|
77
|
+
-webkit-font-smoothing: antialiased;
|
|
78
|
+
}
|
|
79
|
+
.page { min-height: 100vh; background: linear-gradient(135deg, #ffffff 0%, #fff1f0 100%); }
|
|
80
|
+
.container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-gutter-desktop); }
|
|
81
|
+
section { padding-block: var(--section-y-desktop); }
|
|
82
|
+
@media (max-width: 1023px) { .container { padding-inline: var(--container-gutter-tablet); } section { padding-block: var(--section-y-tablet); } }
|
|
83
|
+
@media (max-width: 639px) { .container { padding-inline: var(--container-gutter-phone); } section { padding-block: var(--section-y-phone); } }
|
|
84
|
+
h1, h2, h3, p { margin: 0; }
|
|
85
|
+
h1, h2, h3 { font-family: var(--font-display); line-height: var(--leading-tight); letter-spacing: var(--tracking-display); }
|
|
86
|
+
h1 { max-width: 820px; font-size: var(--text-4xl); font-weight: 760; }
|
|
87
|
+
h2 { font-size: var(--text-3xl); font-weight: 700; }
|
|
88
|
+
h3 { font-size: var(--text-xl); font-weight: 700; }
|
|
89
|
+
.eyebrow { color: var(--meta); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
|
|
90
|
+
.lead { max-width: 640px; color: var(--fg-2); font-size: var(--text-lg); }
|
|
91
|
+
.hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr); gap: var(--space-8); align-items: center; }
|
|
92
|
+
.stack > * + * { margin-block-start: var(--space-4); }
|
|
93
|
+
.actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-block-start: var(--space-6); }
|
|
94
|
+
.btn {
|
|
95
|
+
display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 var(--space-5);
|
|
96
|
+
border: 1px solid transparent; border-radius: var(--radius-md); font: 700 var(--text-sm) / 1 var(--font-body);
|
|
97
|
+
color: inherit; text-decoration: none; cursor: pointer; transition: background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);
|
|
98
|
+
}
|
|
99
|
+
.btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
|
|
100
|
+
.btn-primary { background: var(--accent); color: var(--accent-on); }
|
|
101
|
+
.btn-primary:hover { background: var(--accent-hover); transform: translateY(-1px); }
|
|
102
|
+
.btn-secondary { background: var(--surface); color: var(--fg); border-color: var(--border); box-shadow: var(--elev-ring); }
|
|
103
|
+
.btn-secondary:hover { border-color: var(--accent); color: var(--accent); }
|
|
104
|
+
.panel { background: color-mix(in oklab, var(--surface), transparent 4%); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--elev-raised); overflow: hidden; }
|
|
105
|
+
.panel-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-5); border-bottom: 1px solid var(--border-soft); }
|
|
106
|
+
.status { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--meta); font: 700 var(--text-xs) / 1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.08em; }
|
|
107
|
+
.status::before { width: 8px; height: 8px; border-radius: var(--radius-pill); background: var(--success); content: ""; }
|
|
108
|
+
.metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--border-soft); }
|
|
109
|
+
.metric { padding: var(--space-5); border-right: 1px solid var(--border-soft); }
|
|
110
|
+
.metric:last-child { border-right: 0; }
|
|
111
|
+
.metric strong { display: block; font-family: var(--font-display); font-size: var(--text-2xl); line-height: var(--leading-tight); }
|
|
112
|
+
.metric span { color: var(--muted); font-size: var(--text-sm); }
|
|
113
|
+
.card-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); padding: var(--space-5); }
|
|
114
|
+
.mini-card { min-height: 148px; padding: var(--space-5); border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: var(--surface-warm); }
|
|
115
|
+
.mini-card p, .tile p { color: var(--muted); font-size: var(--text-sm); margin-block-start: var(--space-3); }
|
|
116
|
+
.swatches { display: flex; gap: var(--space-2); margin-block-start: var(--space-4); }
|
|
117
|
+
.swatch { width: 32px; height: 32px; border-radius: var(--radius-sm); border: 1px solid var(--border); }
|
|
118
|
+
.swatch.accent { background: var(--accent); } .swatch.surface { background: var(--surface); } .swatch.warm { background: var(--surface-warm); } .swatch.fg { background: var(--fg); }
|
|
119
|
+
.field { display: grid; gap: var(--space-2); margin-block-start: var(--space-5); }
|
|
120
|
+
label { color: var(--fg-2); font-size: var(--text-sm); font-weight: 700; }
|
|
121
|
+
input { width: 100%; min-height: 46px; padding: 0 var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--fg); font: inherit; }
|
|
122
|
+
input:focus { outline: none; box-shadow: var(--focus-ring); border-color: var(--accent); }
|
|
123
|
+
.lower { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
|
|
124
|
+
.tile { padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
|
|
125
|
+
@media (max-width: 860px) { .hero, .lower { grid-template-columns: 1fr; } .metric-grid, .card-row { grid-template-columns: 1fr; } .metric { border-right: 0; border-bottom: 1px solid var(--border-soft); } .metric:last-child { border-bottom: 0; } }
|
|
126
|
+
</style>
|
|
127
|
+
</head>
|
|
128
|
+
<body>
|
|
129
|
+
<main class="page">
|
|
130
|
+
<section>
|
|
131
|
+
<div class="container hero">
|
|
132
|
+
<div class="stack">
|
|
133
|
+
<p class="eyebrow">Ant design system</p>
|
|
134
|
+
<h1>Financial platform console</h1>
|
|
135
|
+
<p class="lead">Trustworthy enterprise finance with precise red action and clean product density.</p>
|
|
136
|
+
<div class="actions" aria-label="Reference actions">
|
|
137
|
+
<a class="btn btn-primary" href="#">Primary action</a>
|
|
138
|
+
<a class="btn btn-secondary" href="#">Secondary action</a>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
<article class="panel" aria-label="Ant component preview">
|
|
142
|
+
<div class="panel-head"><div><p class="eyebrow">Live module</p><h3>Reference component</h3></div><span class="status">online</span></div>
|
|
143
|
+
<div class="metric-grid"><div class="metric"><strong>98%</strong><span>Signal quality</span></div><div class="metric"><strong>24</strong><span>Active flows</span></div><div class="metric"><strong>3.2s</strong><span>Response time</span></div></div>
|
|
144
|
+
<div class="card-row">
|
|
145
|
+
<div class="mini-card"><h3>Palette</h3><p>enterprise fintech clarity, white work surfaces, sharp red intent, and compact data controls.</p><div class="swatches" aria-label="Token swatches"><span class="swatch accent"></span><span class="swatch surface"></span><span class="swatch warm"></span><span class="swatch fg"></span></div></div>
|
|
146
|
+
<div class="mini-card"><h3>Control</h3><p>Focus, hover, and status states share the same brand signal.</p><div class="field"><label for="ant-input">Reference input</label><input id="ant-input" value="Ant system token" /></div></div>
|
|
147
|
+
</div>
|
|
148
|
+
</article>
|
|
149
|
+
</div>
|
|
150
|
+
</section>
|
|
151
|
+
<section><div class="container lower"><article class="tile"><p class="eyebrow">Typography</p><h2>Display rhythm</h2><p>Headlines use the display stack with the declared scale and leading.</p></article><article class="tile"><p class="eyebrow">Surface</p><h2>Layer system</h2><p>Cards, warm panels, borders, and raised states resolve through shared tokens.</p></article><article class="tile"><p class="eyebrow">Interaction</p><h2>Motion states</h2><p>Buttons, inputs, and panels use brand-specific focus rings and easing.</p></article></div></section>
|
|
152
|
+
</main>
|
|
153
|
+
</body>
|
|
154
|
+
</html>
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/* design-systems/ant/tokens.css
|
|
2
|
+
* Structured token bindings for Ant.
|
|
3
|
+
* enterprise fintech clarity, white work surfaces, sharp red intent, and compact data controls.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
--bg: #ffffff;
|
|
8
|
+
--surface: #f7f8fa;
|
|
9
|
+
--surface-warm: #fff1f0;
|
|
10
|
+
--fg: #1f1f1f;
|
|
11
|
+
--fg-2: #4b5563;
|
|
12
|
+
--muted: #697386;
|
|
13
|
+
--meta: #d32029;
|
|
14
|
+
--border: #d9dce3;
|
|
15
|
+
--border-soft: #eef0f4;
|
|
16
|
+
--accent: #d32029;
|
|
17
|
+
--accent-on: #ffffff;
|
|
18
|
+
--accent-hover: color-mix(in oklab, var(--accent), black 8%);
|
|
19
|
+
--accent-active: color-mix(in oklab, var(--accent), black 14%);
|
|
20
|
+
--success: #22a06b;
|
|
21
|
+
--warn: #faad14;
|
|
22
|
+
--danger: #cf1322;
|
|
23
|
+
--font-display: "Ant Sans", "Alibaba PuHuiTi", Inter, Arial, sans-serif;
|
|
24
|
+
--font-body: "Ant Sans", "Alibaba PuHuiTi", Inter, Arial, sans-serif;
|
|
25
|
+
--font-mono: "SF Mono", ui-monospace, Menlo, monospace;
|
|
26
|
+
--text-xs: 12px;
|
|
27
|
+
--text-sm: 14px;
|
|
28
|
+
--text-base: 16px;
|
|
29
|
+
--text-lg: 18px;
|
|
30
|
+
--text-xl: 22px;
|
|
31
|
+
--text-2xl: 32px;
|
|
32
|
+
--text-3xl: 48px;
|
|
33
|
+
--text-4xl: 64px;
|
|
34
|
+
--leading-body: 1.52;
|
|
35
|
+
--leading-tight: 1.08;
|
|
36
|
+
--tracking-display: -0.018em;
|
|
37
|
+
--space-1: 4px;
|
|
38
|
+
--space-2: 8px;
|
|
39
|
+
--space-3: 12px;
|
|
40
|
+
--space-4: 16px;
|
|
41
|
+
--space-5: 20px;
|
|
42
|
+
--space-6: 24px;
|
|
43
|
+
--space-8: 32px;
|
|
44
|
+
--space-12: 48px;
|
|
45
|
+
--section-y-desktop: 96px;
|
|
46
|
+
--section-y-tablet: 68px;
|
|
47
|
+
--section-y-phone: 48px;
|
|
48
|
+
--radius-sm: 6px;
|
|
49
|
+
--radius-md: 10px;
|
|
50
|
+
--radius-lg: 16px;
|
|
51
|
+
--radius-pill: 9999px;
|
|
52
|
+
--elev-flat: none;
|
|
53
|
+
--elev-ring: 0 0 0 1px var(--border);
|
|
54
|
+
--elev-raised: 0 18px 42px rgba(31, 31, 31, 0.10);
|
|
55
|
+
--focus-ring: 0 0 0 4px rgba(211, 32, 41, 0.22);
|
|
56
|
+
--motion-fast: 140ms;
|
|
57
|
+
--motion-base: 220ms;
|
|
58
|
+
--ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
59
|
+
--container-max: 1200px;
|
|
60
|
+
--container-gutter-desktop: 36px;
|
|
61
|
+
--container-gutter-tablet: 24px;
|
|
62
|
+
--container-gutter-phone: 16px;
|
|
63
|
+
}
|