awesome-design-md 1.0.0
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/LICENSE +21 -0
- package/README.md +172 -0
- package/bin/cli.mjs +126 -0
- package/design-md/airbnb/DESIGN.md +246 -0
- package/design-md/airbnb/README.md +23 -0
- package/design-md/airbnb/preview-dark.html +234 -0
- package/design-md/airbnb/preview.html +233 -0
- package/design-md/airtable/DESIGN.md +89 -0
- package/design-md/airtable/README.md +23 -0
- package/design-md/airtable/preview-dark.html +165 -0
- package/design-md/airtable/preview.html +164 -0
- package/design-md/apple/DESIGN.md +313 -0
- package/design-md/apple/README.md +24 -0
- package/design-md/apple/preview-dark.html +422 -0
- package/design-md/apple/preview.html +416 -0
- package/design-md/bmw/DESIGN.md +180 -0
- package/design-md/bmw/README.md +23 -0
- package/design-md/bmw/preview-dark.html +211 -0
- package/design-md/bmw/preview.html +210 -0
- package/design-md/cal/DESIGN.md +259 -0
- package/design-md/cal/README.md +23 -0
- package/design-md/cal/preview-dark.html +449 -0
- package/design-md/cal/preview.html +575 -0
- package/design-md/claude/DESIGN.md +312 -0
- package/design-md/claude/README.md +24 -0
- package/design-md/claude/preview-dark.html +803 -0
- package/design-md/claude/preview.html +826 -0
- package/design-md/clay/DESIGN.md +304 -0
- package/design-md/clay/README.md +23 -0
- package/design-md/clay/preview-dark.html +318 -0
- package/design-md/clay/preview.html +317 -0
- package/design-md/clickhouse/DESIGN.md +281 -0
- package/design-md/clickhouse/README.md +24 -0
- package/design-md/clickhouse/preview-dark.html +834 -0
- package/design-md/clickhouse/preview.html +786 -0
- package/design-md/cohere/DESIGN.md +266 -0
- package/design-md/cohere/README.md +24 -0
- package/design-md/cohere/preview-dark.html +810 -0
- package/design-md/cohere/preview.html +814 -0
- package/design-md/coinbase/DESIGN.md +129 -0
- package/design-md/coinbase/README.md +23 -0
- package/design-md/coinbase/preview-dark.html +164 -0
- package/design-md/coinbase/preview.html +163 -0
- package/design-md/composio/DESIGN.md +307 -0
- package/design-md/composio/README.md +24 -0
- package/design-md/composio/preview-dark.html +958 -0
- package/design-md/composio/preview.html +933 -0
- package/design-md/cursor/DESIGN.md +309 -0
- package/design-md/cursor/README.md +24 -0
- package/design-md/cursor/preview-dark.html +395 -0
- package/design-md/cursor/preview.html +385 -0
- package/design-md/elevenlabs/DESIGN.md +265 -0
- package/design-md/elevenlabs/README.md +23 -0
- package/design-md/elevenlabs/preview-dark.html +254 -0
- package/design-md/elevenlabs/preview.html +253 -0
- package/design-md/expo/DESIGN.md +281 -0
- package/design-md/expo/README.md +24 -0
- package/design-md/expo/preview-dark.html +536 -0
- package/design-md/expo/preview.html +536 -0
- package/design-md/figma/DESIGN.md +220 -0
- package/design-md/figma/README.md +24 -0
- package/design-md/figma/preview-dark.html +831 -0
- package/design-md/figma/preview.html +841 -0
- package/design-md/framer/DESIGN.md +246 -0
- package/design-md/framer/README.md +23 -0
- package/design-md/framer/preview-dark.html +904 -0
- package/design-md/framer/preview.html +885 -0
- package/design-md/hashicorp/DESIGN.md +278 -0
- package/design-md/hashicorp/README.md +24 -0
- package/design-md/hashicorp/preview-dark.html +1206 -0
- package/design-md/hashicorp/preview.html +1195 -0
- package/design-md/ibm/DESIGN.md +332 -0
- package/design-md/ibm/README.md +24 -0
- package/design-md/ibm/preview-dark.html +445 -0
- package/design-md/ibm/preview.html +430 -0
- package/design-md/intercom/DESIGN.md +146 -0
- package/design-md/intercom/README.md +23 -0
- package/design-md/intercom/preview-dark.html +185 -0
- package/design-md/intercom/preview.html +184 -0
- package/design-md/kraken/DESIGN.md +125 -0
- package/design-md/kraken/README.md +23 -0
- package/design-md/kraken/preview-dark.html +169 -0
- package/design-md/kraken/preview.html +168 -0
- package/design-md/linear.app/DESIGN.md +367 -0
- package/design-md/linear.app/README.md +24 -0
- package/design-md/linear.app/preview-dark.html +385 -0
- package/design-md/linear.app/preview.html +375 -0
- package/design-md/lovable/DESIGN.md +298 -0
- package/design-md/lovable/README.md +24 -0
- package/design-md/lovable/preview-dark.html +351 -0
- package/design-md/lovable/preview.html +350 -0
- package/design-md/minimax/DESIGN.md +257 -0
- package/design-md/minimax/README.md +24 -0
- package/design-md/minimax/preview-dark.html +1267 -0
- package/design-md/minimax/preview.html +1253 -0
- package/design-md/mintlify/DESIGN.md +326 -0
- package/design-md/mintlify/README.md +24 -0
- package/design-md/mintlify/preview-dark.html +411 -0
- package/design-md/mintlify/preview.html +400 -0
- package/design-md/miro/DESIGN.md +108 -0
- package/design-md/miro/README.md +23 -0
- package/design-md/miro/preview-dark.html +174 -0
- package/design-md/miro/preview.html +173 -0
- package/design-md/mistral.ai/DESIGN.md +261 -0
- package/design-md/mistral.ai/README.md +24 -0
- package/design-md/mistral.ai/preview-dark.html +813 -0
- package/design-md/mistral.ai/preview.html +812 -0
- package/design-md/mongodb/DESIGN.md +266 -0
- package/design-md/mongodb/README.md +23 -0
- package/design-md/mongodb/preview-dark.html +262 -0
- package/design-md/mongodb/preview.html +261 -0
- package/design-md/notion/DESIGN.md +309 -0
- package/design-md/notion/README.md +24 -0
- package/design-md/notion/preview-dark.html +374 -0
- package/design-md/notion/preview.html +366 -0
- package/design-md/nvidia/DESIGN.md +293 -0
- package/design-md/nvidia/README.md +24 -0
- package/design-md/nvidia/preview-dark.html +376 -0
- package/design-md/nvidia/preview.html +368 -0
- package/design-md/ollama/DESIGN.md +267 -0
- package/design-md/ollama/README.md +24 -0
- package/design-md/ollama/preview-dark.html +678 -0
- package/design-md/ollama/preview.html +678 -0
- package/design-md/opencode.ai/DESIGN.md +281 -0
- package/design-md/opencode.ai/README.md +24 -0
- package/design-md/opencode.ai/preview-dark.html +368 -0
- package/design-md/opencode.ai/preview.html +359 -0
- package/design-md/pinterest/DESIGN.md +230 -0
- package/design-md/pinterest/README.md +23 -0
- package/design-md/pinterest/preview-dark.html +233 -0
- package/design-md/pinterest/preview.html +232 -0
- package/design-md/posthog/DESIGN.md +256 -0
- package/design-md/posthog/README.md +23 -0
- package/design-md/posthog/preview-dark.html +701 -0
- package/design-md/posthog/preview.html +751 -0
- package/design-md/raycast/DESIGN.md +268 -0
- package/design-md/raycast/README.md +23 -0
- package/design-md/raycast/preview-dark.html +608 -0
- package/design-md/raycast/preview.html +690 -0
- package/design-md/replicate/DESIGN.md +261 -0
- package/design-md/replicate/README.md +24 -0
- package/design-md/replicate/preview-dark.html +828 -0
- package/design-md/replicate/preview.html +831 -0
- package/design-md/resend/DESIGN.md +303 -0
- package/design-md/resend/README.md +23 -0
- package/design-md/resend/preview-dark.html +357 -0
- package/design-md/resend/preview.html +356 -0
- package/design-md/revolut/DESIGN.md +185 -0
- package/design-md/revolut/README.md +23 -0
- package/design-md/revolut/preview-dark.html +234 -0
- package/design-md/revolut/preview.html +233 -0
- package/design-md/runwayml/DESIGN.md +244 -0
- package/design-md/runwayml/README.md +24 -0
- package/design-md/runwayml/preview-dark.html +664 -0
- package/design-md/runwayml/preview.html +665 -0
- package/design-md/sanity/DESIGN.md +357 -0
- package/design-md/sanity/README.md +24 -0
- package/design-md/sanity/preview-dark.html +995 -0
- package/design-md/sanity/preview.html +1140 -0
- package/design-md/sentry/DESIGN.md +262 -0
- package/design-md/sentry/README.md +24 -0
- package/design-md/sentry/preview-dark.html +628 -0
- package/design-md/sentry/preview.html +953 -0
- package/design-md/spacex/DESIGN.md +194 -0
- package/design-md/spacex/README.md +23 -0
- package/design-md/spacex/preview-dark.html +223 -0
- package/design-md/spacex/preview.html +222 -0
- package/design-md/spotify/DESIGN.md +246 -0
- package/design-md/spotify/README.md +23 -0
- package/design-md/spotify/preview-dark.html +231 -0
- package/design-md/spotify/preview.html +230 -0
- package/design-md/stripe/DESIGN.md +322 -0
- package/design-md/stripe/README.md +24 -0
- package/design-md/stripe/preview-dark.html +430 -0
- package/design-md/stripe/preview.html +421 -0
- package/design-md/supabase/DESIGN.md +255 -0
- package/design-md/supabase/README.md +24 -0
- package/design-md/supabase/preview-dark.html +977 -0
- package/design-md/supabase/preview.html +955 -0
- package/design-md/superhuman/DESIGN.md +252 -0
- package/design-md/superhuman/README.md +23 -0
- package/design-md/superhuman/preview-dark.html +975 -0
- package/design-md/superhuman/preview.html +953 -0
- package/design-md/together.ai/DESIGN.md +263 -0
- package/design-md/together.ai/README.md +24 -0
- package/design-md/together.ai/preview-dark.html +892 -0
- package/design-md/together.ai/preview.html +897 -0
- package/design-md/uber/DESIGN.md +295 -0
- package/design-md/uber/README.md +24 -0
- package/design-md/uber/preview-dark.html +1164 -0
- package/design-md/uber/preview.html +1163 -0
- package/design-md/vercel/DESIGN.md +310 -0
- package/design-md/vercel/README.md +24 -0
- package/design-md/vercel/preview-dark.html +370 -0
- package/design-md/vercel/preview.html +369 -0
- package/design-md/voltagent/DESIGN.md +323 -0
- package/design-md/voltagent/README.md +24 -0
- package/design-md/voltagent/preview-dark.html +487 -0
- package/design-md/voltagent/preview.html +766 -0
- package/design-md/warp/DESIGN.md +253 -0
- package/design-md/warp/README.md +23 -0
- package/design-md/warp/preview-dark.html +502 -0
- package/design-md/warp/preview.html +535 -0
- package/design-md/webflow/DESIGN.md +92 -0
- package/design-md/webflow/README.md +23 -0
- package/design-md/webflow/preview-dark.html +147 -0
- package/design-md/webflow/preview.html +146 -0
- package/design-md/wise/DESIGN.md +173 -0
- package/design-md/wise/README.md +23 -0
- package/design-md/wise/preview-dark.html +230 -0
- package/design-md/wise/preview.html +229 -0
- package/design-md/x.ai/DESIGN.md +257 -0
- package/design-md/x.ai/README.md +24 -0
- package/design-md/x.ai/preview-dark.html +358 -0
- package/design-md/x.ai/preview.html +409 -0
- package/design-md/zapier/DESIGN.md +328 -0
- package/design-md/zapier/README.md +24 -0
- package/design-md/zapier/preview-dark.html +382 -0
- package/design-md/zapier/preview.html +374 -0
- package/package.json +33 -0
|
@@ -0,0 +1,234 @@
|
|
|
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.0">
|
|
6
|
+
<title>Design System Preview: Airbnb (Dark)</title>
|
|
7
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
8
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
9
|
+
<link href="https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
--white: #1a1a1a; --near-black: #f0f0f0; --rausch: #ff385c; --deep-rausch: #e00b41;
|
|
13
|
+
--secondary: #a0a0a0; --disabled: #666666; --border: #3a3a3a; --surface: #2a2a2a;
|
|
14
|
+
--luxe: #460479; --plus: #92174d; --legal-blue: #428bff; --error: #c13515;
|
|
15
|
+
--shadow-card: rgba(0,0,0,0.02) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 6px, rgba(0,0,0,0.1) 0px 4px 8px;
|
|
16
|
+
--shadow-hover: rgba(0,0,0,0.08) 0px 4px 12px;
|
|
17
|
+
--font: 'Nunito Sans', -apple-system, system-ui, Roboto, Helvetica Neue, sans-serif;
|
|
18
|
+
}
|
|
19
|
+
* { margin:0; padding:0; box-sizing:border-box; }
|
|
20
|
+
body { background:var(--white); color:var(--near-black); font-family:var(--font); font-size:14px; font-weight:400; line-height:1.43; -webkit-font-smoothing:antialiased; }
|
|
21
|
+
|
|
22
|
+
.nav { position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:14px 24px; background:var(--white); border-bottom:1px solid #2a2a2a; }
|
|
23
|
+
.nav-brand { font-size:14px; font-weight:600; color:var(--near-black); text-decoration:none; }
|
|
24
|
+
.nav-links { display:flex; gap:20px; list-style:none; }
|
|
25
|
+
.nav-links a { font-size:14px; font-weight:500; color:var(--secondary); text-decoration:none; transition:color 0.15s; }
|
|
26
|
+
.nav-links a:hover { color:var(--near-black); }
|
|
27
|
+
.nav-cta { display:inline-flex; align-items:center; justify-content:center; background:var(--rausch); color:var(--white); width:40px; height:40px; border-radius:50%; font-size:18px; font-weight:700; text-decoration:none; border:none; }
|
|
28
|
+
|
|
29
|
+
.hero { padding:64px 24px; text-align:center; }
|
|
30
|
+
.hero h1 { font-size:28px; font-weight:700; line-height:1.43; margin-bottom:12px; }
|
|
31
|
+
.hero h1 span { color:var(--rausch); }
|
|
32
|
+
.hero p { font-size:16px; font-weight:400; color:var(--secondary); max-width:480px; margin:0 auto 24px; }
|
|
33
|
+
.hero-buttons { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
|
|
34
|
+
.btn-dark { display:inline-block; background:var(--near-black); color:var(--white); padding:12px 24px; border-radius:8px; font-family:var(--font); font-size:16px; font-weight:500; text-decoration:none; border:none; cursor:pointer; }
|
|
35
|
+
.btn-outline { display:inline-block; background:transparent; color:var(--near-black); padding:12px 24px; border-radius:8px; border:1px solid var(--near-black); font-family:var(--font); font-size:16px; font-weight:500; text-decoration:none; cursor:pointer; }
|
|
36
|
+
.btn-circle { display:inline-flex; align-items:center; justify-content:center; background:var(--surface); color:var(--near-black); width:36px; height:36px; border-radius:50%; font-size:14px; text-decoration:none; border:none; cursor:pointer; transition:box-shadow 0.2s; }
|
|
37
|
+
.btn-circle:hover { box-shadow:var(--shadow-hover); }
|
|
38
|
+
|
|
39
|
+
.section { padding:48px 24px; max-width:1100px; margin:0 auto; }
|
|
40
|
+
.section-label { font-size:12px; font-weight:700; color:var(--secondary); text-transform:uppercase; letter-spacing:0.32px; margin-bottom:8px; }
|
|
41
|
+
.section-title { font-size:22px; font-weight:600; line-height:1.18; letter-spacing:-0.44px; margin-bottom:24px; }
|
|
42
|
+
.section-divider { border:none; border-top:1px solid #2a2a2a; margin:0; }
|
|
43
|
+
|
|
44
|
+
.color-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(145px,1fr)); gap:10px; margin-bottom:20px; }
|
|
45
|
+
.color-swatch { border-radius:14px; overflow:hidden; box-shadow:var(--shadow-card); }
|
|
46
|
+
.color-swatch-block { height:64px; width:100%; }
|
|
47
|
+
.color-swatch-info { padding:10px; }
|
|
48
|
+
.color-swatch-name { font-size:12px; font-weight:600; margin-bottom:2px; }
|
|
49
|
+
.color-swatch-hex { font-size:10px; color:var(--secondary); font-family:monospace; }
|
|
50
|
+
.color-swatch-role { font-size:9px; color:var(--disabled); margin-top:2px; }
|
|
51
|
+
.color-group-label { font-size:12px; font-weight:700; color:var(--secondary); margin:20px 0 8px; }
|
|
52
|
+
|
|
53
|
+
.type-sample { margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid #f5f5f5; }
|
|
54
|
+
.type-sample:last-child { border-bottom:none; }
|
|
55
|
+
.type-meta { font-size:10px; color:var(--disabled); margin-top:4px; font-family:monospace; }
|
|
56
|
+
|
|
57
|
+
.button-row { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
|
|
58
|
+
.button-item { text-align:center; }
|
|
59
|
+
.button-label { font-size:10px; color:var(--disabled); margin-top:6px; }
|
|
60
|
+
|
|
61
|
+
.card-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:16px; }
|
|
62
|
+
.card { background:var(--white); border-radius:20px; overflow:hidden; box-shadow:var(--shadow-card); }
|
|
63
|
+
.card-img { height:160px; background:var(--surface); display:flex; align-items:center; justify-content:center; color:var(--disabled); font-size:12px; }
|
|
64
|
+
.card-body { padding:16px; }
|
|
65
|
+
.card h3 { font-size:16px; font-weight:600; margin-bottom:4px; }
|
|
66
|
+
.card p { font-size:14px; color:var(--secondary); }
|
|
67
|
+
|
|
68
|
+
.form-group { margin-bottom:16px; max-width:400px; }
|
|
69
|
+
.form-label { display:block; font-size:12px; font-weight:600; margin-bottom:4px; }
|
|
70
|
+
.form-input { width:100%; background:var(--white); color:var(--near-black); border:1px solid var(--border); padding:12px 16px; border-radius:8px; font-family:var(--font); font-size:16px; outline:none; }
|
|
71
|
+
.form-input:focus { border-color:var(--near-black); box-shadow:0 0 0 2px var(--near-black); }
|
|
72
|
+
.form-input--focus { border-color:var(--near-black); box-shadow:0 0 0 2px var(--near-black); }
|
|
73
|
+
.form-input--error { border-color:var(--error); box-shadow:0 0 0 2px var(--error); }
|
|
74
|
+
.form-textarea { width:100%; min-height:80px; background:var(--white); color:var(--near-black); border:1px solid var(--border); padding:12px 16px; border-radius:8px; font-family:var(--font); font-size:16px; resize:vertical; outline:none; }
|
|
75
|
+
.form-state-label { font-size:9px; color:var(--disabled); margin-top:4px; }
|
|
76
|
+
|
|
77
|
+
.spacing-row { display:flex; align-items:flex-end; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
|
|
78
|
+
.spacing-item { text-align:center; }
|
|
79
|
+
.spacing-block { background:var(--rausch); border-radius:4px; margin-bottom:4px; height:24px; opacity:0.7; }
|
|
80
|
+
.spacing-value { font-size:9px; color:var(--disabled); font-family:monospace; }
|
|
81
|
+
|
|
82
|
+
.radius-row { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
|
|
83
|
+
.radius-item { text-align:center; }
|
|
84
|
+
.radius-box { width:56px; height:56px; background:var(--surface); margin-bottom:4px; }
|
|
85
|
+
.radius-label { font-size:9px; color:var(--disabled); font-family:monospace; }
|
|
86
|
+
.radius-context { font-size:8px; color:var(--disabled); }
|
|
87
|
+
|
|
88
|
+
.elevation-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:12px; }
|
|
89
|
+
.elevation-card { background:var(--white); border-radius:20px; padding:16px; text-align:center; }
|
|
90
|
+
.elevation-label { font-size:13px; font-weight:600; margin-bottom:4px; }
|
|
91
|
+
.elevation-desc { font-size:9px; color:var(--disabled); font-family:monospace; }
|
|
92
|
+
|
|
93
|
+
.footer { padding:24px; text-align:center; border-top:1px solid #2a2a2a; font-size:12px; color:var(--secondary); }
|
|
94
|
+
.footer a { color:var(--rausch); text-decoration:underline; }
|
|
95
|
+
|
|
96
|
+
@media (max-width:744px) { .nav-links { display:none; } .section { padding:32px 16px; } .card-grid { grid-template-columns:1fr; } }
|
|
97
|
+
</style>
|
|
98
|
+
</head>
|
|
99
|
+
<body>
|
|
100
|
+
|
|
101
|
+
<nav class="nav">
|
|
102
|
+
<a class="nav-brand" href="#">awesome-design-md</a>
|
|
103
|
+
<ul class="nav-links">
|
|
104
|
+
<li><a href="#colors">Colors</a></li>
|
|
105
|
+
<li><a href="#typography">Typography</a></li>
|
|
106
|
+
<li><a href="#buttons">Buttons</a></li>
|
|
107
|
+
<li><a href="#cards">Cards</a></li>
|
|
108
|
+
<li><a href="#forms">Forms</a></li>
|
|
109
|
+
</ul>
|
|
110
|
+
<a class="nav-cta" href="#">🔍</a>
|
|
111
|
+
</nav>
|
|
112
|
+
<div style="position:fixed;top:16px;right:16px;z-index:200;background:#ff385c;color:#ffffff;font-size:10px;font-weight:700;padding:4px 10px;border-radius:20px;">Dark Mode</div>
|
|
113
|
+
|
|
114
|
+
<section class="hero">
|
|
115
|
+
<h1>Design System Inspired by <span>Airbnb</span></h1>
|
|
116
|
+
<p>A design token catalog generated from DESIGN.md. Every color, font, component, and spacing value — visualized.</p>
|
|
117
|
+
<div class="hero-buttons">
|
|
118
|
+
<a class="btn-dark" href="#">Explore Stays</a>
|
|
119
|
+
<a class="btn-outline" href="#">Become a Host</a>
|
|
120
|
+
</div>
|
|
121
|
+
</section>
|
|
122
|
+
|
|
123
|
+
<hr class="section-divider">
|
|
124
|
+
|
|
125
|
+
<section class="section" id="colors">
|
|
126
|
+
<div class="section-label">01 / Colors</div><h2 class="section-title">Color Palette</h2>
|
|
127
|
+
<div class="color-group-label">Brand</div>
|
|
128
|
+
<div class="color-grid">
|
|
129
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#ff385c"></div><div class="color-swatch-info"><div class="color-swatch-name">Rausch Red</div><div class="color-swatch-hex">#ff385c</div><div class="color-swatch-role">Primary CTA</div></div></div>
|
|
130
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#e00b41"></div><div class="color-swatch-info"><div class="color-swatch-name">Deep Rausch</div><div class="color-swatch-hex">#e00b41</div><div class="color-swatch-role">Pressed state</div></div></div>
|
|
131
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#460479"></div><div class="color-swatch-info"><div class="color-swatch-name">Luxe Purple</div><div class="color-swatch-hex">#460479</div><div class="color-swatch-role">Luxe tier</div></div></div>
|
|
132
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#92174d"></div><div class="color-swatch-info"><div class="color-swatch-name">Plus Magenta</div><div class="color-swatch-hex">#92174d</div><div class="color-swatch-role">Plus tier</div></div></div>
|
|
133
|
+
</div>
|
|
134
|
+
<div class="color-group-label">Text & Neutral</div>
|
|
135
|
+
<div class="color-grid">
|
|
136
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#222222"></div><div class="color-swatch-info"><div class="color-swatch-name">Near Black</div><div class="color-swatch-hex">#222222</div><div class="color-swatch-role">Primary text</div></div></div>
|
|
137
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#6a6a6a"></div><div class="color-swatch-info"><div class="color-swatch-name">Secondary</div><div class="color-swatch-hex">#6a6a6a</div><div class="color-swatch-role">Secondary text</div></div></div>
|
|
138
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#c1c1c1"></div><div class="color-swatch-info"><div class="color-swatch-name">Border</div><div class="color-swatch-hex">#c1c1c1</div><div class="color-swatch-role">Borders</div></div></div>
|
|
139
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#f2f2f2"></div><div class="color-swatch-info"><div class="color-swatch-name">Surface</div><div class="color-swatch-hex">#f2f2f2</div><div class="color-swatch-role">Circular buttons</div></div></div>
|
|
140
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#428bff"></div><div class="color-swatch-info"><div class="color-swatch-name">Legal Blue</div><div class="color-swatch-hex">#428bff</div><div class="color-swatch-role">Legal links</div></div></div>
|
|
141
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#c13515"></div><div class="color-swatch-info"><div class="color-swatch-name">Error</div><div class="color-swatch-hex">#c13515</div><div class="color-swatch-role">Error text</div></div></div>
|
|
142
|
+
</div>
|
|
143
|
+
</section>
|
|
144
|
+
|
|
145
|
+
<hr class="section-divider">
|
|
146
|
+
|
|
147
|
+
<section class="section" id="typography">
|
|
148
|
+
<div class="section-label">02 / Typography</div><h2 class="section-title">Typography Scale</h2>
|
|
149
|
+
<div class="type-sample"><div style="font-size:28px; font-weight:700; line-height:1.43;">Section Heading</div><div class="type-meta">Section — 28px / 700 / 1.43 / Cereal VF</div></div>
|
|
150
|
+
<div class="type-sample"><div style="font-size:22px; font-weight:600; line-height:1.18; letter-spacing:-0.44px;">Card Heading</div><div class="type-meta">Card — 22px / 600 / 1.18 / -0.44px</div></div>
|
|
151
|
+
<div class="type-sample"><div style="font-size:20px; font-weight:600; line-height:1.20; letter-spacing:-0.18px;">Feature Title</div><div class="type-meta">Feature — 20px / 600 / 1.20 / -0.18px</div></div>
|
|
152
|
+
<div class="type-sample"><div style="font-size:16px; font-weight:500; line-height:1.25;">UI Medium — Inspiration for future getaways</div><div class="type-meta">UI — 16px / 500 / 1.25</div></div>
|
|
153
|
+
<div class="type-sample"><div style="font-size:14px; font-weight:400; line-height:1.43; color:var(--secondary);">Body — Istanbul, Turkey. Apartment in Kadikoy. 2 guests, 1 bed, 1 bath.</div><div class="type-meta">Body — 14px / 400 / 1.43</div></div>
|
|
154
|
+
<div class="type-sample"><div style="font-size:12px; font-weight:700; line-height:1.33;">Tag Bold — $145 night</div><div class="type-meta">Tag Bold — 12px / 700 / 1.33</div></div>
|
|
155
|
+
<div class="type-sample"><div style="font-size:8px; font-weight:700; line-height:1.25; text-transform:uppercase; letter-spacing:0.32px;">SUPERHOST</div><div class="type-meta">Micro — 8px / 700 / uppercase / +0.32px</div></div>
|
|
156
|
+
</section>
|
|
157
|
+
|
|
158
|
+
<hr class="section-divider">
|
|
159
|
+
|
|
160
|
+
<section class="section" id="buttons">
|
|
161
|
+
<div class="section-label">03 / Buttons</div><h2 class="section-title">Button Variants</h2>
|
|
162
|
+
<div class="button-row">
|
|
163
|
+
<div class="button-item"><a class="btn-dark" href="#">Explore</a><div class="button-label">Primary Dark</div></div>
|
|
164
|
+
<div class="button-item"><a class="btn-outline" href="#">Host</a><div class="button-label">Outlined</div></div>
|
|
165
|
+
<div class="button-item"><a class="btn-circle" href="#">←</a><div class="button-label">Circle Nav</div></div>
|
|
166
|
+
<div class="button-item"><a class="btn-circle" href="#">→</a><div class="button-label">Circle Nav</div></div>
|
|
167
|
+
<div class="button-item"><span style="display:inline-flex; align-items:center; justify-content:center; background:var(--rausch); color:var(--white); width:40px; height:40px; border-radius:50%; font-size:18px;">🔍</span><div class="button-label">Search</div></div>
|
|
168
|
+
</div>
|
|
169
|
+
</section>
|
|
170
|
+
|
|
171
|
+
<hr class="section-divider">
|
|
172
|
+
|
|
173
|
+
<section class="section" id="cards">
|
|
174
|
+
<div class="section-label">04 / Cards</div><h2 class="section-title">Card Examples</h2>
|
|
175
|
+
<div class="card-grid">
|
|
176
|
+
<div class="card"><div class="card-img">Photo placeholder</div><div class="card-body"><h3>Istanbul, Turkey</h3><p>Entire apartment. 2 guests, 1 bed. $78 night.</p></div></div>
|
|
177
|
+
<div class="card"><div class="card-img" style="background:#eee;">Photo placeholder</div><div class="card-body"><h3>Barcelona, Spain</h3><p>Private room. 3 guests, 2 beds. $92 night.</p></div></div>
|
|
178
|
+
<div class="card"><div class="card-img" style="background:#e8e8e8;">Photo placeholder</div><div class="card-body"><h3>Galveston, TX</h3><p>Entire house. 6 guests, 3 beds. $145 night.</p></div></div>
|
|
179
|
+
</div>
|
|
180
|
+
</section>
|
|
181
|
+
|
|
182
|
+
<hr class="section-divider">
|
|
183
|
+
|
|
184
|
+
<section class="section" id="forms">
|
|
185
|
+
<div class="section-label">05 / Forms</div><h2 class="section-title">Form Elements</h2>
|
|
186
|
+
<div class="form-group"><label class="form-label">Where</label><input class="form-input" type="text" placeholder="Search destinations"><div class="form-state-label">Default</div></div>
|
|
187
|
+
<div class="form-group"><label class="form-label">Check in</label><input class="form-input form-input--focus" type="text" value="Apr 15, 2026"><div class="form-state-label">Focus (dark ring)</div></div>
|
|
188
|
+
<div class="form-group"><label class="form-label">Guests</label><input class="form-input form-input--error" type="text" value="0 guests"><div class="form-state-label">Error</div></div>
|
|
189
|
+
<div class="form-group"><label class="form-label">Message host</label><textarea class="form-textarea" placeholder="Tell your host about your trip..."></textarea></div>
|
|
190
|
+
</section>
|
|
191
|
+
|
|
192
|
+
<hr class="section-divider">
|
|
193
|
+
|
|
194
|
+
<section class="section">
|
|
195
|
+
<div class="section-label">06 / Spacing</div><h2 class="section-title">Spacing Scale</h2>
|
|
196
|
+
<div class="spacing-row">
|
|
197
|
+
<div class="spacing-item"><div class="spacing-block" style="width:4px"></div><div class="spacing-value">4</div></div>
|
|
198
|
+
<div class="spacing-item"><div class="spacing-block" style="width:8px"></div><div class="spacing-value">8</div></div>
|
|
199
|
+
<div class="spacing-item"><div class="spacing-block" style="width:12px"></div><div class="spacing-value">12</div></div>
|
|
200
|
+
<div class="spacing-item"><div class="spacing-block" style="width:16px"></div><div class="spacing-value">16</div></div>
|
|
201
|
+
<div class="spacing-item"><div class="spacing-block" style="width:24px"></div><div class="spacing-value">24</div></div>
|
|
202
|
+
<div class="spacing-item"><div class="spacing-block" style="width:32px"></div><div class="spacing-value">32</div></div>
|
|
203
|
+
</div>
|
|
204
|
+
</section>
|
|
205
|
+
|
|
206
|
+
<hr class="section-divider">
|
|
207
|
+
|
|
208
|
+
<section class="section">
|
|
209
|
+
<div class="section-label">07 / Radius</div><h2 class="section-title">Border Radius</h2>
|
|
210
|
+
<div class="radius-row">
|
|
211
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:8px"></div><div class="radius-label">8px</div><div class="radius-context">Buttons</div></div>
|
|
212
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:14px"></div><div class="radius-label">14px</div><div class="radius-context">Badges</div></div>
|
|
213
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:20px"></div><div class="radius-label">20px</div><div class="radius-context">Cards</div></div>
|
|
214
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:32px"></div><div class="radius-label">32px</div><div class="radius-context">Large</div></div>
|
|
215
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:50%; width:56px; height:56px;"></div><div class="radius-label">50%</div><div class="radius-context">Controls</div></div>
|
|
216
|
+
</div>
|
|
217
|
+
</section>
|
|
218
|
+
|
|
219
|
+
<hr class="section-divider">
|
|
220
|
+
|
|
221
|
+
<section class="section">
|
|
222
|
+
<div class="section-label">08 / Elevation</div><h2 class="section-title">Depth</h2>
|
|
223
|
+
<div class="elevation-grid">
|
|
224
|
+
<div class="elevation-card" style="border:1px solid #ebebeb;"><div class="elevation-label">Flat</div><div class="elevation-desc">No shadow</div></div>
|
|
225
|
+
<div class="elevation-card" style="box-shadow:var(--shadow-card);"><div class="elevation-label">Card</div><div class="elevation-desc">Three-layer warm</div></div>
|
|
226
|
+
<div class="elevation-card" style="box-shadow:var(--shadow-hover);"><div class="elevation-label">Hover</div><div class="elevation-desc">Interactive lift</div></div>
|
|
227
|
+
<div class="elevation-card" style="box-shadow:0 0 0 2px var(--near-black);"><div class="elevation-label">Focus</div><div class="elevation-desc">Dark focus ring</div></div>
|
|
228
|
+
</div>
|
|
229
|
+
</section>
|
|
230
|
+
|
|
231
|
+
<footer class="footer">Generated from <a href="https://airbnb.com/">airbnb.com</a> DESIGN.md — awesome-design-md</footer>
|
|
232
|
+
|
|
233
|
+
</body>
|
|
234
|
+
</html>
|
|
@@ -0,0 +1,233 @@
|
|
|
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.0">
|
|
6
|
+
<title>Design System Preview: Airbnb (Light)</title>
|
|
7
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
8
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
9
|
+
<link href="https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
--white: #ffffff; --near-black: #222222; --rausch: #ff385c; --deep-rausch: #e00b41;
|
|
13
|
+
--secondary: #6a6a6a; --disabled: #929292; --border: #c1c1c1; --surface: #f2f2f2;
|
|
14
|
+
--luxe: #460479; --plus: #92174d; --legal-blue: #428bff; --error: #c13515;
|
|
15
|
+
--shadow-card: rgba(0,0,0,0.02) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 6px, rgba(0,0,0,0.1) 0px 4px 8px;
|
|
16
|
+
--shadow-hover: rgba(0,0,0,0.08) 0px 4px 12px;
|
|
17
|
+
--font: 'Nunito Sans', -apple-system, system-ui, Roboto, Helvetica Neue, sans-serif;
|
|
18
|
+
}
|
|
19
|
+
* { margin:0; padding:0; box-sizing:border-box; }
|
|
20
|
+
body { background:var(--white); color:var(--near-black); font-family:var(--font); font-size:14px; font-weight:400; line-height:1.43; -webkit-font-smoothing:antialiased; }
|
|
21
|
+
|
|
22
|
+
.nav { position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:14px 24px; background:var(--white); border-bottom:1px solid #ebebeb; }
|
|
23
|
+
.nav-brand { font-size:14px; font-weight:600; color:var(--near-black); text-decoration:none; }
|
|
24
|
+
.nav-links { display:flex; gap:20px; list-style:none; }
|
|
25
|
+
.nav-links a { font-size:14px; font-weight:500; color:var(--secondary); text-decoration:none; transition:color 0.15s; }
|
|
26
|
+
.nav-links a:hover { color:var(--near-black); }
|
|
27
|
+
.nav-cta { display:inline-flex; align-items:center; justify-content:center; background:var(--rausch); color:var(--white); width:40px; height:40px; border-radius:50%; font-size:18px; font-weight:700; text-decoration:none; border:none; }
|
|
28
|
+
|
|
29
|
+
.hero { padding:64px 24px; text-align:center; }
|
|
30
|
+
.hero h1 { font-size:28px; font-weight:700; line-height:1.43; margin-bottom:12px; }
|
|
31
|
+
.hero h1 span { color:var(--rausch); }
|
|
32
|
+
.hero p { font-size:16px; font-weight:400; color:var(--secondary); max-width:480px; margin:0 auto 24px; }
|
|
33
|
+
.hero-buttons { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
|
|
34
|
+
.btn-dark { display:inline-block; background:var(--near-black); color:var(--white); padding:12px 24px; border-radius:8px; font-family:var(--font); font-size:16px; font-weight:500; text-decoration:none; border:none; cursor:pointer; }
|
|
35
|
+
.btn-outline { display:inline-block; background:transparent; color:var(--near-black); padding:12px 24px; border-radius:8px; border:1px solid var(--near-black); font-family:var(--font); font-size:16px; font-weight:500; text-decoration:none; cursor:pointer; }
|
|
36
|
+
.btn-circle { display:inline-flex; align-items:center; justify-content:center; background:var(--surface); color:var(--near-black); width:36px; height:36px; border-radius:50%; font-size:14px; text-decoration:none; border:none; cursor:pointer; transition:box-shadow 0.2s; }
|
|
37
|
+
.btn-circle:hover { box-shadow:var(--shadow-hover); }
|
|
38
|
+
|
|
39
|
+
.section { padding:48px 24px; max-width:1100px; margin:0 auto; }
|
|
40
|
+
.section-label { font-size:12px; font-weight:700; color:var(--secondary); text-transform:uppercase; letter-spacing:0.32px; margin-bottom:8px; }
|
|
41
|
+
.section-title { font-size:22px; font-weight:600; line-height:1.18; letter-spacing:-0.44px; margin-bottom:24px; }
|
|
42
|
+
.section-divider { border:none; border-top:1px solid #ebebeb; margin:0; }
|
|
43
|
+
|
|
44
|
+
.color-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(145px,1fr)); gap:10px; margin-bottom:20px; }
|
|
45
|
+
.color-swatch { border-radius:14px; overflow:hidden; box-shadow:var(--shadow-card); }
|
|
46
|
+
.color-swatch-block { height:64px; width:100%; }
|
|
47
|
+
.color-swatch-info { padding:10px; }
|
|
48
|
+
.color-swatch-name { font-size:12px; font-weight:600; margin-bottom:2px; }
|
|
49
|
+
.color-swatch-hex { font-size:10px; color:var(--secondary); font-family:monospace; }
|
|
50
|
+
.color-swatch-role { font-size:9px; color:var(--disabled); margin-top:2px; }
|
|
51
|
+
.color-group-label { font-size:12px; font-weight:700; color:var(--secondary); margin:20px 0 8px; }
|
|
52
|
+
|
|
53
|
+
.type-sample { margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid #f5f5f5; }
|
|
54
|
+
.type-sample:last-child { border-bottom:none; }
|
|
55
|
+
.type-meta { font-size:10px; color:var(--disabled); margin-top:4px; font-family:monospace; }
|
|
56
|
+
|
|
57
|
+
.button-row { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
|
|
58
|
+
.button-item { text-align:center; }
|
|
59
|
+
.button-label { font-size:10px; color:var(--disabled); margin-top:6px; }
|
|
60
|
+
|
|
61
|
+
.card-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:16px; }
|
|
62
|
+
.card { background:var(--white); border-radius:20px; overflow:hidden; box-shadow:var(--shadow-card); }
|
|
63
|
+
.card-img { height:160px; background:var(--surface); display:flex; align-items:center; justify-content:center; color:var(--disabled); font-size:12px; }
|
|
64
|
+
.card-body { padding:16px; }
|
|
65
|
+
.card h3 { font-size:16px; font-weight:600; margin-bottom:4px; }
|
|
66
|
+
.card p { font-size:14px; color:var(--secondary); }
|
|
67
|
+
|
|
68
|
+
.form-group { margin-bottom:16px; max-width:400px; }
|
|
69
|
+
.form-label { display:block; font-size:12px; font-weight:600; margin-bottom:4px; }
|
|
70
|
+
.form-input { width:100%; background:var(--white); color:var(--near-black); border:1px solid var(--border); padding:12px 16px; border-radius:8px; font-family:var(--font); font-size:16px; outline:none; }
|
|
71
|
+
.form-input:focus { border-color:var(--near-black); box-shadow:0 0 0 2px var(--near-black); }
|
|
72
|
+
.form-input--focus { border-color:var(--near-black); box-shadow:0 0 0 2px var(--near-black); }
|
|
73
|
+
.form-input--error { border-color:var(--error); box-shadow:0 0 0 2px var(--error); }
|
|
74
|
+
.form-textarea { width:100%; min-height:80px; background:var(--white); color:var(--near-black); border:1px solid var(--border); padding:12px 16px; border-radius:8px; font-family:var(--font); font-size:16px; resize:vertical; outline:none; }
|
|
75
|
+
.form-state-label { font-size:9px; color:var(--disabled); margin-top:4px; }
|
|
76
|
+
|
|
77
|
+
.spacing-row { display:flex; align-items:flex-end; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
|
|
78
|
+
.spacing-item { text-align:center; }
|
|
79
|
+
.spacing-block { background:var(--rausch); border-radius:4px; margin-bottom:4px; height:24px; opacity:0.7; }
|
|
80
|
+
.spacing-value { font-size:9px; color:var(--disabled); font-family:monospace; }
|
|
81
|
+
|
|
82
|
+
.radius-row { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
|
|
83
|
+
.radius-item { text-align:center; }
|
|
84
|
+
.radius-box { width:56px; height:56px; background:var(--surface); margin-bottom:4px; }
|
|
85
|
+
.radius-label { font-size:9px; color:var(--disabled); font-family:monospace; }
|
|
86
|
+
.radius-context { font-size:8px; color:var(--disabled); }
|
|
87
|
+
|
|
88
|
+
.elevation-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:12px; }
|
|
89
|
+
.elevation-card { background:var(--white); border-radius:20px; padding:16px; text-align:center; }
|
|
90
|
+
.elevation-label { font-size:13px; font-weight:600; margin-bottom:4px; }
|
|
91
|
+
.elevation-desc { font-size:9px; color:var(--disabled); font-family:monospace; }
|
|
92
|
+
|
|
93
|
+
.footer { padding:24px; text-align:center; border-top:1px solid #ebebeb; font-size:12px; color:var(--secondary); }
|
|
94
|
+
.footer a { color:var(--rausch); text-decoration:underline; }
|
|
95
|
+
|
|
96
|
+
@media (max-width:744px) { .nav-links { display:none; } .section { padding:32px 16px; } .card-grid { grid-template-columns:1fr; } }
|
|
97
|
+
</style>
|
|
98
|
+
</head>
|
|
99
|
+
<body>
|
|
100
|
+
|
|
101
|
+
<nav class="nav">
|
|
102
|
+
<a class="nav-brand" href="#">awesome-design-md</a>
|
|
103
|
+
<ul class="nav-links">
|
|
104
|
+
<li><a href="#colors">Colors</a></li>
|
|
105
|
+
<li><a href="#typography">Typography</a></li>
|
|
106
|
+
<li><a href="#buttons">Buttons</a></li>
|
|
107
|
+
<li><a href="#cards">Cards</a></li>
|
|
108
|
+
<li><a href="#forms">Forms</a></li>
|
|
109
|
+
</ul>
|
|
110
|
+
<a class="nav-cta" href="#">🔍</a>
|
|
111
|
+
</nav>
|
|
112
|
+
|
|
113
|
+
<section class="hero">
|
|
114
|
+
<h1>Design System Inspired by <span>Airbnb</span></h1>
|
|
115
|
+
<p>A design token catalog generated from DESIGN.md. Every color, font, component, and spacing value — visualized.</p>
|
|
116
|
+
<div class="hero-buttons">
|
|
117
|
+
<a class="btn-dark" href="#">Explore Stays</a>
|
|
118
|
+
<a class="btn-outline" href="#">Become a Host</a>
|
|
119
|
+
</div>
|
|
120
|
+
</section>
|
|
121
|
+
|
|
122
|
+
<hr class="section-divider">
|
|
123
|
+
|
|
124
|
+
<section class="section" id="colors">
|
|
125
|
+
<div class="section-label">01 / Colors</div><h2 class="section-title">Color Palette</h2>
|
|
126
|
+
<div class="color-group-label">Brand</div>
|
|
127
|
+
<div class="color-grid">
|
|
128
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#ff385c"></div><div class="color-swatch-info"><div class="color-swatch-name">Rausch Red</div><div class="color-swatch-hex">#ff385c</div><div class="color-swatch-role">Primary CTA</div></div></div>
|
|
129
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#e00b41"></div><div class="color-swatch-info"><div class="color-swatch-name">Deep Rausch</div><div class="color-swatch-hex">#e00b41</div><div class="color-swatch-role">Pressed state</div></div></div>
|
|
130
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#460479"></div><div class="color-swatch-info"><div class="color-swatch-name">Luxe Purple</div><div class="color-swatch-hex">#460479</div><div class="color-swatch-role">Luxe tier</div></div></div>
|
|
131
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#92174d"></div><div class="color-swatch-info"><div class="color-swatch-name">Plus Magenta</div><div class="color-swatch-hex">#92174d</div><div class="color-swatch-role">Plus tier</div></div></div>
|
|
132
|
+
</div>
|
|
133
|
+
<div class="color-group-label">Text & Neutral</div>
|
|
134
|
+
<div class="color-grid">
|
|
135
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#222222"></div><div class="color-swatch-info"><div class="color-swatch-name">Near Black</div><div class="color-swatch-hex">#222222</div><div class="color-swatch-role">Primary text</div></div></div>
|
|
136
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#6a6a6a"></div><div class="color-swatch-info"><div class="color-swatch-name">Secondary</div><div class="color-swatch-hex">#6a6a6a</div><div class="color-swatch-role">Secondary text</div></div></div>
|
|
137
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#c1c1c1"></div><div class="color-swatch-info"><div class="color-swatch-name">Border</div><div class="color-swatch-hex">#c1c1c1</div><div class="color-swatch-role">Borders</div></div></div>
|
|
138
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#f2f2f2"></div><div class="color-swatch-info"><div class="color-swatch-name">Surface</div><div class="color-swatch-hex">#f2f2f2</div><div class="color-swatch-role">Circular buttons</div></div></div>
|
|
139
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#428bff"></div><div class="color-swatch-info"><div class="color-swatch-name">Legal Blue</div><div class="color-swatch-hex">#428bff</div><div class="color-swatch-role">Legal links</div></div></div>
|
|
140
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#c13515"></div><div class="color-swatch-info"><div class="color-swatch-name">Error</div><div class="color-swatch-hex">#c13515</div><div class="color-swatch-role">Error text</div></div></div>
|
|
141
|
+
</div>
|
|
142
|
+
</section>
|
|
143
|
+
|
|
144
|
+
<hr class="section-divider">
|
|
145
|
+
|
|
146
|
+
<section class="section" id="typography">
|
|
147
|
+
<div class="section-label">02 / Typography</div><h2 class="section-title">Typography Scale</h2>
|
|
148
|
+
<div class="type-sample"><div style="font-size:28px; font-weight:700; line-height:1.43;">Section Heading</div><div class="type-meta">Section — 28px / 700 / 1.43 / Cereal VF</div></div>
|
|
149
|
+
<div class="type-sample"><div style="font-size:22px; font-weight:600; line-height:1.18; letter-spacing:-0.44px;">Card Heading</div><div class="type-meta">Card — 22px / 600 / 1.18 / -0.44px</div></div>
|
|
150
|
+
<div class="type-sample"><div style="font-size:20px; font-weight:600; line-height:1.20; letter-spacing:-0.18px;">Feature Title</div><div class="type-meta">Feature — 20px / 600 / 1.20 / -0.18px</div></div>
|
|
151
|
+
<div class="type-sample"><div style="font-size:16px; font-weight:500; line-height:1.25;">UI Medium — Inspiration for future getaways</div><div class="type-meta">UI — 16px / 500 / 1.25</div></div>
|
|
152
|
+
<div class="type-sample"><div style="font-size:14px; font-weight:400; line-height:1.43; color:var(--secondary);">Body — Istanbul, Turkey. Apartment in Kadikoy. 2 guests, 1 bed, 1 bath.</div><div class="type-meta">Body — 14px / 400 / 1.43</div></div>
|
|
153
|
+
<div class="type-sample"><div style="font-size:12px; font-weight:700; line-height:1.33;">Tag Bold — $145 night</div><div class="type-meta">Tag Bold — 12px / 700 / 1.33</div></div>
|
|
154
|
+
<div class="type-sample"><div style="font-size:8px; font-weight:700; line-height:1.25; text-transform:uppercase; letter-spacing:0.32px;">SUPERHOST</div><div class="type-meta">Micro — 8px / 700 / uppercase / +0.32px</div></div>
|
|
155
|
+
</section>
|
|
156
|
+
|
|
157
|
+
<hr class="section-divider">
|
|
158
|
+
|
|
159
|
+
<section class="section" id="buttons">
|
|
160
|
+
<div class="section-label">03 / Buttons</div><h2 class="section-title">Button Variants</h2>
|
|
161
|
+
<div class="button-row">
|
|
162
|
+
<div class="button-item"><a class="btn-dark" href="#">Explore</a><div class="button-label">Primary Dark</div></div>
|
|
163
|
+
<div class="button-item"><a class="btn-outline" href="#">Host</a><div class="button-label">Outlined</div></div>
|
|
164
|
+
<div class="button-item"><a class="btn-circle" href="#">←</a><div class="button-label">Circle Nav</div></div>
|
|
165
|
+
<div class="button-item"><a class="btn-circle" href="#">→</a><div class="button-label">Circle Nav</div></div>
|
|
166
|
+
<div class="button-item"><span style="display:inline-flex; align-items:center; justify-content:center; background:var(--rausch); color:var(--white); width:40px; height:40px; border-radius:50%; font-size:18px;">🔍</span><div class="button-label">Search</div></div>
|
|
167
|
+
</div>
|
|
168
|
+
</section>
|
|
169
|
+
|
|
170
|
+
<hr class="section-divider">
|
|
171
|
+
|
|
172
|
+
<section class="section" id="cards">
|
|
173
|
+
<div class="section-label">04 / Cards</div><h2 class="section-title">Card Examples</h2>
|
|
174
|
+
<div class="card-grid">
|
|
175
|
+
<div class="card"><div class="card-img">Photo placeholder</div><div class="card-body"><h3>Istanbul, Turkey</h3><p>Entire apartment. 2 guests, 1 bed. $78 night.</p></div></div>
|
|
176
|
+
<div class="card"><div class="card-img" style="background:#eee;">Photo placeholder</div><div class="card-body"><h3>Barcelona, Spain</h3><p>Private room. 3 guests, 2 beds. $92 night.</p></div></div>
|
|
177
|
+
<div class="card"><div class="card-img" style="background:#e8e8e8;">Photo placeholder</div><div class="card-body"><h3>Galveston, TX</h3><p>Entire house. 6 guests, 3 beds. $145 night.</p></div></div>
|
|
178
|
+
</div>
|
|
179
|
+
</section>
|
|
180
|
+
|
|
181
|
+
<hr class="section-divider">
|
|
182
|
+
|
|
183
|
+
<section class="section" id="forms">
|
|
184
|
+
<div class="section-label">05 / Forms</div><h2 class="section-title">Form Elements</h2>
|
|
185
|
+
<div class="form-group"><label class="form-label">Where</label><input class="form-input" type="text" placeholder="Search destinations"><div class="form-state-label">Default</div></div>
|
|
186
|
+
<div class="form-group"><label class="form-label">Check in</label><input class="form-input form-input--focus" type="text" value="Apr 15, 2026"><div class="form-state-label">Focus (dark ring)</div></div>
|
|
187
|
+
<div class="form-group"><label class="form-label">Guests</label><input class="form-input form-input--error" type="text" value="0 guests"><div class="form-state-label">Error</div></div>
|
|
188
|
+
<div class="form-group"><label class="form-label">Message host</label><textarea class="form-textarea" placeholder="Tell your host about your trip..."></textarea></div>
|
|
189
|
+
</section>
|
|
190
|
+
|
|
191
|
+
<hr class="section-divider">
|
|
192
|
+
|
|
193
|
+
<section class="section">
|
|
194
|
+
<div class="section-label">06 / Spacing</div><h2 class="section-title">Spacing Scale</h2>
|
|
195
|
+
<div class="spacing-row">
|
|
196
|
+
<div class="spacing-item"><div class="spacing-block" style="width:4px"></div><div class="spacing-value">4</div></div>
|
|
197
|
+
<div class="spacing-item"><div class="spacing-block" style="width:8px"></div><div class="spacing-value">8</div></div>
|
|
198
|
+
<div class="spacing-item"><div class="spacing-block" style="width:12px"></div><div class="spacing-value">12</div></div>
|
|
199
|
+
<div class="spacing-item"><div class="spacing-block" style="width:16px"></div><div class="spacing-value">16</div></div>
|
|
200
|
+
<div class="spacing-item"><div class="spacing-block" style="width:24px"></div><div class="spacing-value">24</div></div>
|
|
201
|
+
<div class="spacing-item"><div class="spacing-block" style="width:32px"></div><div class="spacing-value">32</div></div>
|
|
202
|
+
</div>
|
|
203
|
+
</section>
|
|
204
|
+
|
|
205
|
+
<hr class="section-divider">
|
|
206
|
+
|
|
207
|
+
<section class="section">
|
|
208
|
+
<div class="section-label">07 / Radius</div><h2 class="section-title">Border Radius</h2>
|
|
209
|
+
<div class="radius-row">
|
|
210
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:8px"></div><div class="radius-label">8px</div><div class="radius-context">Buttons</div></div>
|
|
211
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:14px"></div><div class="radius-label">14px</div><div class="radius-context">Badges</div></div>
|
|
212
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:20px"></div><div class="radius-label">20px</div><div class="radius-context">Cards</div></div>
|
|
213
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:32px"></div><div class="radius-label">32px</div><div class="radius-context">Large</div></div>
|
|
214
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:50%; width:56px; height:56px;"></div><div class="radius-label">50%</div><div class="radius-context">Controls</div></div>
|
|
215
|
+
</div>
|
|
216
|
+
</section>
|
|
217
|
+
|
|
218
|
+
<hr class="section-divider">
|
|
219
|
+
|
|
220
|
+
<section class="section">
|
|
221
|
+
<div class="section-label">08 / Elevation</div><h2 class="section-title">Depth</h2>
|
|
222
|
+
<div class="elevation-grid">
|
|
223
|
+
<div class="elevation-card" style="border:1px solid #ebebeb;"><div class="elevation-label">Flat</div><div class="elevation-desc">No shadow</div></div>
|
|
224
|
+
<div class="elevation-card" style="box-shadow:var(--shadow-card);"><div class="elevation-label">Card</div><div class="elevation-desc">Three-layer warm</div></div>
|
|
225
|
+
<div class="elevation-card" style="box-shadow:var(--shadow-hover);"><div class="elevation-label">Hover</div><div class="elevation-desc">Interactive lift</div></div>
|
|
226
|
+
<div class="elevation-card" style="box-shadow:0 0 0 2px var(--near-black);"><div class="elevation-label">Focus</div><div class="elevation-desc">Dark focus ring</div></div>
|
|
227
|
+
</div>
|
|
228
|
+
</section>
|
|
229
|
+
|
|
230
|
+
<footer class="footer">Generated from <a href="https://airbnb.com/">airbnb.com</a> DESIGN.md — awesome-design-md</footer>
|
|
231
|
+
|
|
232
|
+
</body>
|
|
233
|
+
</html>
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Design System: Airtable
|
|
2
|
+
|
|
3
|
+
## 1. Visual Theme & Atmosphere
|
|
4
|
+
|
|
5
|
+
Airtable's website is a clean, enterprise-friendly platform that communicates "sophisticated simplicity" through a white canvas with deep navy text (`#181d26`) and Airtable Blue (`#1b61c9`) as the primary interactive accent. The Haas font family (display + text variants) creates a Swiss-precision typography system with positive letter-spacing throughout.
|
|
6
|
+
|
|
7
|
+
**Key Characteristics:**
|
|
8
|
+
- White canvas with deep navy text (`#181d26`)
|
|
9
|
+
- Airtable Blue (`#1b61c9`) as primary CTA and link color
|
|
10
|
+
- Haas + Haas Groot Disp dual font system
|
|
11
|
+
- Positive letter-spacing on body text (0.08px–0.28px)
|
|
12
|
+
- 12px radius buttons, 16px–32px for cards
|
|
13
|
+
- Multi-layer blue-tinted shadow: `rgba(45,127,249,0.28) 0px 1px 3px`
|
|
14
|
+
- Semantic theme tokens: `--theme_*` CSS variable naming
|
|
15
|
+
|
|
16
|
+
## 2. Color Palette & Roles
|
|
17
|
+
|
|
18
|
+
### Primary
|
|
19
|
+
- **Deep Navy** (`#181d26`): Primary text
|
|
20
|
+
- **Airtable Blue** (`#1b61c9`): CTA buttons, links
|
|
21
|
+
- **White** (`#ffffff`): Primary surface
|
|
22
|
+
- **Spotlight** (`rgba(249,252,255,0.97)`): `--theme_button-text-spotlight`
|
|
23
|
+
|
|
24
|
+
### Semantic
|
|
25
|
+
- **Success Green** (`#006400`): `--theme_success-text`
|
|
26
|
+
- **Weak Text** (`rgba(4,14,32,0.69)`): `--theme_text-weak`
|
|
27
|
+
- **Secondary Active** (`rgba(7,12,20,0.82)`): `--theme_button-text-secondary-active`
|
|
28
|
+
|
|
29
|
+
### Neutral
|
|
30
|
+
- **Dark Gray** (`#333333`): Secondary text
|
|
31
|
+
- **Mid Blue** (`#254fad`): Link/accent blue variant
|
|
32
|
+
- **Border** (`#e0e2e6`): Card borders
|
|
33
|
+
- **Light Surface** (`#f8fafc`): Subtle surface
|
|
34
|
+
|
|
35
|
+
### Shadows
|
|
36
|
+
- **Blue-tinted** (`rgba(0,0,0,0.32) 0px 0px 1px, rgba(0,0,0,0.08) 0px 0px 2px, rgba(45,127,249,0.28) 0px 1px 3px, rgba(0,0,0,0.06) 0px 0px 0px 0.5px inset`)
|
|
37
|
+
- **Soft** (`rgba(15,48,106,0.05) 0px 0px 20px`)
|
|
38
|
+
|
|
39
|
+
## 3. Typography Rules
|
|
40
|
+
|
|
41
|
+
### Font Families
|
|
42
|
+
- **Primary**: `Haas`, fallbacks: `-apple-system, system-ui, Segoe UI, Roboto`
|
|
43
|
+
- **Display**: `Haas Groot Disp`, fallback: `Haas`
|
|
44
|
+
|
|
45
|
+
### Hierarchy
|
|
46
|
+
|
|
47
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing |
|
|
48
|
+
|------|------|------|--------|-------------|----------------|
|
|
49
|
+
| Display Hero | Haas | 48px | 400 | 1.15 | normal |
|
|
50
|
+
| Display Bold | Haas Groot Disp | 48px | 900 | 1.50 | normal |
|
|
51
|
+
| Section Heading | Haas | 40px | 400 | 1.25 | normal |
|
|
52
|
+
| Sub-heading | Haas | 32px | 400–500 | 1.15–1.25 | normal |
|
|
53
|
+
| Card Title | Haas | 24px | 400 | 1.20–1.30 | 0.12px |
|
|
54
|
+
| Feature | Haas | 20px | 400 | 1.25–1.50 | 0.1px |
|
|
55
|
+
| Body | Haas | 18px | 400 | 1.35 | 0.18px |
|
|
56
|
+
| Body Medium | Haas | 16px | 500 | 1.30 | 0.08–0.16px |
|
|
57
|
+
| Button | Haas | 16px | 500 | 1.25–1.30 | 0.08px |
|
|
58
|
+
| Caption | Haas | 14px | 400–500 | 1.25–1.35 | 0.07–0.28px |
|
|
59
|
+
|
|
60
|
+
## 4. Component Stylings
|
|
61
|
+
|
|
62
|
+
### Buttons
|
|
63
|
+
- **Primary Blue**: `#1b61c9`, white text, 16px 24px padding, 12px radius
|
|
64
|
+
- **White**: white bg, `#181d26` text, 12px radius, 1px border white
|
|
65
|
+
- **Cookie Consent**: `#1b61c9` bg, 2px radius (sharp)
|
|
66
|
+
|
|
67
|
+
### Cards: `1px solid #e0e2e6`, 16px–24px radius
|
|
68
|
+
### Inputs: Standard Haas styling
|
|
69
|
+
|
|
70
|
+
## 5. Layout
|
|
71
|
+
- Spacing: 1–48px (8px base)
|
|
72
|
+
- Radius: 2px (small), 12px (buttons), 16px (cards), 24px (sections), 32px (large), 50% (circles)
|
|
73
|
+
|
|
74
|
+
## 6. Depth
|
|
75
|
+
- Blue-tinted multi-layer shadow system
|
|
76
|
+
- Soft ambient: `rgba(15,48,106,0.05) 0px 0px 20px`
|
|
77
|
+
|
|
78
|
+
## 7. Do's and Don'ts
|
|
79
|
+
### Do: Use Airtable Blue for CTAs, Haas with positive tracking, 12px radius buttons
|
|
80
|
+
### Don't: Skip positive letter-spacing, use heavy shadows
|
|
81
|
+
|
|
82
|
+
## 8. Responsive Behavior
|
|
83
|
+
Breakpoints: 425–1664px (23 breakpoints)
|
|
84
|
+
|
|
85
|
+
## 9. Agent Prompt Guide
|
|
86
|
+
- Text: Deep Navy (`#181d26`)
|
|
87
|
+
- CTA: Airtable Blue (`#1b61c9`)
|
|
88
|
+
- Background: White (`#ffffff`)
|
|
89
|
+
- Border: `#e0e2e6`
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Airtable Inspired Design System
|
|
2
|
+
|
|
3
|
+
[DESIGN.md](https://github.com/VoltAgent/awesome-design-md/blob/main/design-md/airtable/DESIGN.md) extracted from the public [airtable](https://airtable.com/) website. This is not the official design system. Colors, fonts, and spacing may not be 100% accurate. But it's a good starting point for building something similar.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
|
|
7
|
+
| File | Description |
|
|
8
|
+
|------|-------------|
|
|
9
|
+
| `DESIGN.md` | Complete design system documentation (9 sections) |
|
|
10
|
+
| `preview.html` | Interactive design token catalog (light) |
|
|
11
|
+
| `preview-dark.html` | Interactive design token catalog (dark) |
|
|
12
|
+
|
|
13
|
+
Use [DESIGN.md](https://github.com/VoltAgent/awesome-design-md/blob/main/design-md/airtable/DESIGN.md) to use as a reference for AI agents (Claude, Cursor, Stitch) to generate UI that looks like the Airtable design language.
|
|
14
|
+
|
|
15
|
+
## Preview
|
|
16
|
+
|
|
17
|
+
A sample landing page built with DESIGN.md. It shows the actual colors, typography, buttons, cards, spacing, and elevation, all in one page.
|
|
18
|
+
|
|
19
|
+
### Dark Mode
|
|
20
|
+

|
|
21
|
+
|
|
22
|
+
### Light Mode
|
|
23
|
+

|