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,368 @@
|
|
|
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: OpenCode (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=IBM+Plex+Mono:wght@400;500;700&display=swap" rel="stylesheet">
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
--oc-dark: #fdfcfc;
|
|
13
|
+
--oc-light: #201d1d;
|
|
14
|
+
--oc-gray: #9a9898;
|
|
15
|
+
--oc-dark-surface: #302c2c;
|
|
16
|
+
--oc-border-gray: #646262;
|
|
17
|
+
--oc-light-surface: #2a2626;
|
|
18
|
+
--oc-input-bg: #302c2c;
|
|
19
|
+
--accent: #4da3ff;
|
|
20
|
+
--accent-hover: #007aff;
|
|
21
|
+
--accent-active: #0056b3;
|
|
22
|
+
--danger: #ff6961;
|
|
23
|
+
--danger-hover: #ff3b30;
|
|
24
|
+
--danger-active: #d70015;
|
|
25
|
+
--success: #5de882;
|
|
26
|
+
--warning: #ffb840;
|
|
27
|
+
--warning-hover: #ff9f0a;
|
|
28
|
+
--warning-active: #cc7f08;
|
|
29
|
+
--text-primary: #fdfcfc;
|
|
30
|
+
--text-secondary: #9a9898;
|
|
31
|
+
--text-muted: #6e6e73;
|
|
32
|
+
--text-caption: #9a9898;
|
|
33
|
+
--border-warm: rgba(253, 252, 252, 0.12);
|
|
34
|
+
--border-tab: #9a9898;
|
|
35
|
+
--border-outline: #646262;
|
|
36
|
+
--font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
|
|
37
|
+
}
|
|
38
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
39
|
+
body {
|
|
40
|
+
background: var(--oc-light);
|
|
41
|
+
color: var(--text-primary);
|
|
42
|
+
font-family: var(--font-mono);
|
|
43
|
+
font-size: 16px; font-weight: 400; line-height: 1.50;
|
|
44
|
+
-webkit-font-smoothing: antialiased;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.dark-badge {
|
|
48
|
+
position: fixed; top: 12px; right: 12px; z-index: 200;
|
|
49
|
+
background: var(--accent); color: #ffffff;
|
|
50
|
+
padding: 4px 12px; border-radius: 9999px;
|
|
51
|
+
font-size: 12px; font-weight: 600; letter-spacing: 0.5px;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* NAV */
|
|
55
|
+
.nav {
|
|
56
|
+
position: sticky; top: 0; z-index: 100;
|
|
57
|
+
display: flex; align-items: center; justify-content: space-between;
|
|
58
|
+
padding: 12px 32px;
|
|
59
|
+
background: var(--oc-light);
|
|
60
|
+
border-bottom: 1px solid var(--border-warm);
|
|
61
|
+
}
|
|
62
|
+
.nav-brand { font-size: 14px; font-weight: 700; color: var(--text-primary); text-decoration: none; }
|
|
63
|
+
.nav-links { display: flex; gap: 24px; list-style: none; }
|
|
64
|
+
.nav-links a { font-size: 14px; font-weight: 500; color: var(--text-secondary); text-decoration: none; transition: color 0.15s; }
|
|
65
|
+
.nav-links a:hover { color: var(--accent); }
|
|
66
|
+
.nav-cta {
|
|
67
|
+
display: inline-block; background: var(--oc-dark); color: var(--oc-light);
|
|
68
|
+
padding: 4px 20px; border-radius: 4px; font-size: 14px; font-weight: 500;
|
|
69
|
+
text-decoration: none; font-family: var(--font-mono); transition: opacity 0.15s;
|
|
70
|
+
}
|
|
71
|
+
.nav-cta:hover { opacity: 0.85; }
|
|
72
|
+
|
|
73
|
+
/* HERO */
|
|
74
|
+
.hero { padding: 96px 32px 80px; text-align: center; }
|
|
75
|
+
.hero h1 {
|
|
76
|
+
font-size: 38px; font-weight: 700; line-height: 1.50;
|
|
77
|
+
color: var(--text-primary); margin-bottom: 16px;
|
|
78
|
+
}
|
|
79
|
+
.hero p { font-size: 16px; font-weight: 400; line-height: 1.50; color: var(--text-secondary); max-width: 600px; margin: 0 auto 32px; }
|
|
80
|
+
.hero-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
|
|
81
|
+
.btn-primary {
|
|
82
|
+
display: inline-block; background: var(--oc-dark); color: var(--oc-light);
|
|
83
|
+
padding: 4px 20px; border-radius: 4px; border: none;
|
|
84
|
+
font-family: var(--font-mono); font-size: 16px; font-weight: 500; line-height: 2.00;
|
|
85
|
+
text-decoration: none; cursor: pointer; transition: opacity 0.15s;
|
|
86
|
+
}
|
|
87
|
+
.btn-primary:hover { opacity: 0.85; }
|
|
88
|
+
.btn-secondary {
|
|
89
|
+
display: inline-block; background: transparent; color: var(--text-primary);
|
|
90
|
+
padding: 4px 20px; border-radius: 4px; border: 1px solid var(--border-outline);
|
|
91
|
+
font-family: var(--font-mono); font-size: 16px; font-weight: 500; line-height: 2.00;
|
|
92
|
+
text-decoration: none; cursor: pointer; transition: all 0.15s;
|
|
93
|
+
}
|
|
94
|
+
.btn-secondary:hover { border-color: var(--text-primary); }
|
|
95
|
+
.btn-accent {
|
|
96
|
+
display: inline-block; background: var(--accent); color: #ffffff;
|
|
97
|
+
padding: 4px 20px; border-radius: 4px; border: none;
|
|
98
|
+
font-family: var(--font-mono); font-size: 16px; font-weight: 500; line-height: 2.00;
|
|
99
|
+
text-decoration: none; cursor: pointer; transition: background 0.15s;
|
|
100
|
+
}
|
|
101
|
+
.btn-accent:hover { background: var(--accent-hover); }
|
|
102
|
+
.btn-danger {
|
|
103
|
+
display: inline-block; background: var(--danger); color: #ffffff;
|
|
104
|
+
padding: 4px 20px; border-radius: 4px; border: none;
|
|
105
|
+
font-family: var(--font-mono); font-size: 16px; font-weight: 500; line-height: 2.00;
|
|
106
|
+
text-decoration: none; cursor: pointer; transition: background 0.15s;
|
|
107
|
+
}
|
|
108
|
+
.btn-danger:hover { background: var(--danger-hover); }
|
|
109
|
+
|
|
110
|
+
/* SECTIONS */
|
|
111
|
+
.section { padding: 64px 32px; max-width: 1000px; margin: 0 auto; }
|
|
112
|
+
.section-label { font-size: 12px; font-weight: 500; color: var(--text-muted); text-transform: uppercase; margin-bottom: 8px; letter-spacing: 0.5px; }
|
|
113
|
+
.section-title { font-size: 38px; font-weight: 700; line-height: 1.50; margin-bottom: 32px; }
|
|
114
|
+
.section-divider { border: none; border-top: 1px solid var(--border-warm); margin: 0; }
|
|
115
|
+
|
|
116
|
+
/* COLORS */
|
|
117
|
+
.color-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)); gap: 12px; margin-bottom: 24px; }
|
|
118
|
+
.color-swatch { border-radius: 4px; overflow: hidden; border: 1px solid var(--border-warm); background: var(--oc-dark-surface); }
|
|
119
|
+
.color-swatch-block { height: 72px; width: 100%; }
|
|
120
|
+
.color-swatch-info { padding: 10px 12px; }
|
|
121
|
+
.color-swatch-name { font-size: 13px; font-weight: 700; margin-bottom: 2px; }
|
|
122
|
+
.color-swatch-hex { font-size: 12px; color: var(--text-secondary); }
|
|
123
|
+
.color-swatch-role { font-size: 11px; color: var(--text-muted); margin-top: 3px; }
|
|
124
|
+
.color-group-label { font-size: 14px; font-weight: 700; color: var(--text-secondary); margin: 24px 0 10px; }
|
|
125
|
+
|
|
126
|
+
/* TYPOGRAPHY */
|
|
127
|
+
.type-sample { margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--border-warm); }
|
|
128
|
+
.type-sample:last-child { border-bottom: none; }
|
|
129
|
+
.type-meta { font-size: 12px; font-weight: 500; color: var(--text-muted); margin-top: 8px; }
|
|
130
|
+
|
|
131
|
+
/* BUTTONS */
|
|
132
|
+
.button-row { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
|
|
133
|
+
.button-item { text-align: center; }
|
|
134
|
+
.button-label { font-size: 12px; font-weight: 500; color: var(--text-muted); margin-top: 8px; }
|
|
135
|
+
|
|
136
|
+
/* CARDS */
|
|
137
|
+
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
|
|
138
|
+
.card { background: var(--oc-dark-surface); border-radius: 4px; padding: 24px; border: 1px solid var(--border-warm); transition: border-color 0.15s; }
|
|
139
|
+
.card:hover { border-color: var(--border-outline); }
|
|
140
|
+
.card h3 { font-size: 16px; font-weight: 700; margin-bottom: 8px; }
|
|
141
|
+
.card p { font-size: 14px; color: var(--text-secondary); line-height: 1.50; }
|
|
142
|
+
.card-badge { display: inline-block; font-size: 12px; font-weight: 500; padding: 2px 8px; border-radius: 4px; margin-bottom: 12px; }
|
|
143
|
+
|
|
144
|
+
/* FORMS */
|
|
145
|
+
.form-group { margin-bottom: 20px; max-width: 400px; }
|
|
146
|
+
.form-label { display: block; font-size: 14px; font-weight: 500; color: var(--text-primary); margin-bottom: 6px; }
|
|
147
|
+
.form-input {
|
|
148
|
+
width: 100%; background: var(--oc-input-bg); color: var(--text-primary);
|
|
149
|
+
border: 1px solid var(--border-warm); padding: 20px; border-radius: 6px;
|
|
150
|
+
font-family: var(--font-mono); font-size: 14px; outline: none;
|
|
151
|
+
transition: border-color 0.15s;
|
|
152
|
+
}
|
|
153
|
+
.form-input:focus { border-color: var(--accent); }
|
|
154
|
+
.form-input--focus { border-color: var(--accent); }
|
|
155
|
+
.form-input--error { border-color: var(--danger); }
|
|
156
|
+
.form-state-label { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
|
|
157
|
+
|
|
158
|
+
/* SPACING */
|
|
159
|
+
.spacing-row { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }
|
|
160
|
+
.spacing-item { text-align: center; }
|
|
161
|
+
.spacing-block { background: var(--oc-dark); border-radius: 2px; margin-bottom: 6px; height: 28px; }
|
|
162
|
+
.spacing-value { font-size: 11px; font-weight: 500; color: var(--text-muted); }
|
|
163
|
+
|
|
164
|
+
/* RADIUS */
|
|
165
|
+
.radius-row { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
|
|
166
|
+
.radius-item { text-align: center; }
|
|
167
|
+
.radius-box { width: 64px; height: 64px; background: var(--oc-dark); margin-bottom: 6px; }
|
|
168
|
+
.radius-label { font-size: 11px; font-weight: 500; color: var(--text-muted); }
|
|
169
|
+
.radius-context { font-size: 10px; color: var(--text-muted); }
|
|
170
|
+
|
|
171
|
+
/* ELEVATION */
|
|
172
|
+
.elevation-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
|
|
173
|
+
.elevation-card { background: var(--oc-dark-surface); border-radius: 4px; padding: 20px; text-align: center; }
|
|
174
|
+
.elevation-label { font-size: 14px; font-weight: 700; margin-bottom: 4px; }
|
|
175
|
+
.elevation-desc { font-size: 11px; color: var(--text-muted); }
|
|
176
|
+
|
|
177
|
+
/* FOOTER */
|
|
178
|
+
.footer { padding: 32px; text-align: center; border-top: 1px solid var(--border-warm); font-size: 14px; color: var(--text-secondary); }
|
|
179
|
+
.footer a { color: var(--accent); text-decoration: underline; }
|
|
180
|
+
|
|
181
|
+
@media (max-width: 768px) {
|
|
182
|
+
.hero h1 { font-size: 28px; }
|
|
183
|
+
.nav-links { display: none; }
|
|
184
|
+
.section { padding: 48px 20px; }
|
|
185
|
+
.section-title { font-size: 28px; }
|
|
186
|
+
.card-grid { grid-template-columns: 1fr; }
|
|
187
|
+
}
|
|
188
|
+
</style>
|
|
189
|
+
</head>
|
|
190
|
+
<body>
|
|
191
|
+
|
|
192
|
+
<div class="dark-badge">Dark Mode</div>
|
|
193
|
+
|
|
194
|
+
<nav class="nav">
|
|
195
|
+
<a class="nav-brand" href="#">awesome-design-md</a>
|
|
196
|
+
<ul class="nav-links">
|
|
197
|
+
<li><a href="#colors">Colors</a></li>
|
|
198
|
+
<li><a href="#typography">Typography</a></li>
|
|
199
|
+
<li><a href="#buttons">Buttons</a></li>
|
|
200
|
+
<li><a href="#cards">Cards</a></li>
|
|
201
|
+
<li><a href="#forms">Forms</a></li>
|
|
202
|
+
<li><a href="#spacing">Spacing</a></li>
|
|
203
|
+
</ul>
|
|
204
|
+
<a class="nav-cta" href="#">Get Started</a>
|
|
205
|
+
</nav>
|
|
206
|
+
|
|
207
|
+
<section class="hero">
|
|
208
|
+
<h1>Design System<br>Inspired by OpenCode</h1>
|
|
209
|
+
<p>A design token catalog generated from DESIGN.md. Every color, font, component, and spacing value -- visualized in monospace precision.</p>
|
|
210
|
+
<div class="hero-buttons">
|
|
211
|
+
<a class="btn-primary" href="#">Install OpenCode</a>
|
|
212
|
+
<a class="btn-secondary" href="#">View on GitHub</a>
|
|
213
|
+
</div>
|
|
214
|
+
</section>
|
|
215
|
+
|
|
216
|
+
<hr class="section-divider">
|
|
217
|
+
|
|
218
|
+
<section class="section" id="colors">
|
|
219
|
+
<div class="section-label">01 / Colors</div>
|
|
220
|
+
<h2 class="section-title">Color Palette</h2>
|
|
221
|
+
|
|
222
|
+
<div class="color-group-label">Primary</div>
|
|
223
|
+
<div class="color-grid">
|
|
224
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#201d1d"></div><div class="color-swatch-info"><div class="color-swatch-name">OpenCode Dark</div><div class="color-swatch-hex">#201d1d</div><div class="color-swatch-role">Background, buttons</div></div></div>
|
|
225
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#fdfcfc"></div><div class="color-swatch-info"><div class="color-swatch-name">OpenCode Light</div><div class="color-swatch-hex">#fdfcfc</div><div class="color-swatch-role">Primary text</div></div></div>
|
|
226
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#9a9898"></div><div class="color-swatch-info"><div class="color-swatch-name">Mid Gray</div><div class="color-swatch-hex">#9a9898</div><div class="color-swatch-role">Secondary text</div></div></div>
|
|
227
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#302c2c"></div><div class="color-swatch-info"><div class="color-swatch-name">Dark Surface</div><div class="color-swatch-hex">#302c2c</div><div class="color-swatch-role">Elevated surface</div></div></div>
|
|
228
|
+
</div>
|
|
229
|
+
|
|
230
|
+
<div class="color-group-label">Surface & Border</div>
|
|
231
|
+
<div class="color-grid">
|
|
232
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#f1eeee"></div><div class="color-swatch-info"><div class="color-swatch-name">Light Surface</div><div class="color-swatch-hex">#f1eeee</div><div class="color-swatch-role">Light background</div></div></div>
|
|
233
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#f8f7f7"></div><div class="color-swatch-info"><div class="color-swatch-name">Input BG</div><div class="color-swatch-hex">#f8f7f7</div><div class="color-swatch-role">Form inputs</div></div></div>
|
|
234
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#646262"></div><div class="color-swatch-info"><div class="color-swatch-name">Border Gray</div><div class="color-swatch-hex">#646262</div><div class="color-swatch-role">Outline borders</div></div></div>
|
|
235
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#6e6e73"></div><div class="color-swatch-info"><div class="color-swatch-name">Text Muted</div><div class="color-swatch-hex">#6e6e73</div><div class="color-swatch-role">Muted labels</div></div></div>
|
|
236
|
+
</div>
|
|
237
|
+
|
|
238
|
+
<div class="color-group-label">Accent</div>
|
|
239
|
+
<div class="color-grid">
|
|
240
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#007aff"></div><div class="color-swatch-info"><div class="color-swatch-name">Accent Blue</div><div class="color-swatch-hex">#007aff</div><div class="color-swatch-role">Primary accent</div></div></div>
|
|
241
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#0056b3"></div><div class="color-swatch-info"><div class="color-swatch-name">Accent Hover</div><div class="color-swatch-hex">#0056b3</div><div class="color-swatch-role">Hover state</div></div></div>
|
|
242
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#004085"></div><div class="color-swatch-info"><div class="color-swatch-name">Accent Active</div><div class="color-swatch-hex">#004085</div><div class="color-swatch-role">Active state</div></div></div>
|
|
243
|
+
</div>
|
|
244
|
+
|
|
245
|
+
<div class="color-group-label">Semantic</div>
|
|
246
|
+
<div class="color-grid">
|
|
247
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#ff3b30"></div><div class="color-swatch-info"><div class="color-swatch-name">Danger</div><div class="color-swatch-hex">#ff3b30</div><div class="color-swatch-role">Error, destructive</div></div></div>
|
|
248
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#30d158"></div><div class="color-swatch-info"><div class="color-swatch-name">Success</div><div class="color-swatch-hex">#30d158</div><div class="color-swatch-role">Success state</div></div></div>
|
|
249
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#ff9f0a"></div><div class="color-swatch-info"><div class="color-swatch-name">Warning</div><div class="color-swatch-hex">#ff9f0a</div><div class="color-swatch-role">Caution, alerts</div></div></div>
|
|
250
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#424245"></div><div class="color-swatch-info"><div class="color-swatch-name">Text Secondary</div><div class="color-swatch-hex">#424245</div><div class="color-swatch-role">Captions on light</div></div></div>
|
|
251
|
+
</div>
|
|
252
|
+
</section>
|
|
253
|
+
|
|
254
|
+
<hr class="section-divider">
|
|
255
|
+
|
|
256
|
+
<section class="section" id="typography">
|
|
257
|
+
<div class="section-label">02 / Typography</div>
|
|
258
|
+
<h2 class="section-title">Typography Scale</h2>
|
|
259
|
+
|
|
260
|
+
<div class="type-sample"><div style="font-size:38px; font-weight:700; line-height:1.50;">Heading 1 -- Hero</div><div class="type-meta">Heading 1 -- 38px / 700 / 1.50 / Berkeley Mono</div></div>
|
|
261
|
+
<div class="type-sample"><div style="font-size:16px; font-weight:700; line-height:1.50;">Heading 2 -- Section Title</div><div class="type-meta">Heading 2 -- 16px / 700 / 1.50 / Berkeley Mono</div></div>
|
|
262
|
+
<div class="type-sample"><div style="font-size:16px; font-weight:500; line-height:1.50;">Body Medium -- Navigation links, interactive text, and button labels live here.</div><div class="type-meta">Body Medium -- 16px / 500 / 1.50 / Berkeley Mono</div></div>
|
|
263
|
+
<div class="type-sample"><div style="font-size:16px; font-weight:400; line-height:1.50;">Body Regular -- Standard paragraph text for descriptions, documentation, and general content across the interface.</div><div class="type-meta">Body Regular -- 16px / 400 / 1.50 / Berkeley Mono</div></div>
|
|
264
|
+
<div class="type-sample"><div style="font-size:16px; font-weight:500; line-height:1.00;">Body Tight -- Compact Labels</div><div class="type-meta">Body Tight -- 16px / 500 / 1.00 / Berkeley Mono</div></div>
|
|
265
|
+
<div class="type-sample"><div style="font-size:14px; font-weight:400; line-height:2.00;">Caption -- Footnotes, metadata, and small supplementary text with relaxed line-height for readability.</div><div class="type-meta">Caption -- 14px / 400 / 2.00 / Berkeley Mono</div></div>
|
|
266
|
+
<div class="type-sample"><div style="font-size:14px; font-weight:400; line-height:1.50; font-family:var(--font-mono);">$ opencode --help</div><div class="type-meta">Code -- 14px / 400 / 1.50 / Berkeley Mono (monospace)</div></div>
|
|
267
|
+
</section>
|
|
268
|
+
|
|
269
|
+
<hr class="section-divider">
|
|
270
|
+
|
|
271
|
+
<section class="section" id="buttons">
|
|
272
|
+
<div class="section-label">03 / Buttons</div>
|
|
273
|
+
<h2 class="section-title">Button Variants</h2>
|
|
274
|
+
<div class="button-row">
|
|
275
|
+
<div class="button-item"><a class="btn-primary" href="#">Install OpenCode</a><div class="button-label">Primary Dark</div></div>
|
|
276
|
+
<div class="button-item"><a class="btn-secondary" href="#">View on GitHub</a><div class="button-label">Secondary Outline</div></div>
|
|
277
|
+
<div class="button-item"><a class="btn-accent" href="#">Learn More</a><div class="button-label">Accent Blue</div></div>
|
|
278
|
+
<div class="button-item"><a class="btn-danger" href="#">Delete</a><div class="button-label">Danger</div></div>
|
|
279
|
+
<div class="button-item"><span style="display:inline-block; background:var(--success); color:#ffffff; padding:4px 20px; border-radius:4px; font-size:16px; font-weight:500; font-family:var(--font-mono);">Success</span><div class="button-label">Success</div></div>
|
|
280
|
+
<div class="button-item"><span style="display:inline-block; background:var(--warning); color:#ffffff; padding:4px 20px; border-radius:4px; font-size:16px; font-weight:500; font-family:var(--font-mono);">Warning</span><div class="button-label">Warning</div></div>
|
|
281
|
+
</div>
|
|
282
|
+
</section>
|
|
283
|
+
|
|
284
|
+
<hr class="section-divider">
|
|
285
|
+
|
|
286
|
+
<section class="section" id="cards">
|
|
287
|
+
<div class="section-label">04 / Cards</div>
|
|
288
|
+
<h2 class="section-title">Card Examples</h2>
|
|
289
|
+
<div class="card-grid">
|
|
290
|
+
<div class="card">
|
|
291
|
+
<div class="card-badge" style="background:rgba(77,163,255,0.15); color:var(--accent);">AI Agent</div>
|
|
292
|
+
<h3>Terminal-Native Coding</h3>
|
|
293
|
+
<p>An open source AI coding agent that runs in your terminal. No IDE required -- just you, your code, and the command line.</p>
|
|
294
|
+
</div>
|
|
295
|
+
<div class="card" style="border-color: var(--border-outline);">
|
|
296
|
+
<div class="card-badge" style="background:rgba(93,232,130,0.15); color:var(--success);">Open Source</div>
|
|
297
|
+
<h3>Multi-Provider Support</h3>
|
|
298
|
+
<p>Works with Anthropic, OpenAI, and other LLM providers. Choose the model that fits your workflow and budget.</p>
|
|
299
|
+
</div>
|
|
300
|
+
<div class="card">
|
|
301
|
+
<div class="card-badge" style="background:rgba(255,184,64,0.15); color:var(--warning);">CLI</div>
|
|
302
|
+
<h3>Context-Aware Editing</h3>
|
|
303
|
+
<p>Understands your entire codebase context. Make changes across multiple files with natural language instructions.</p>
|
|
304
|
+
</div>
|
|
305
|
+
</div>
|
|
306
|
+
</section>
|
|
307
|
+
|
|
308
|
+
<hr class="section-divider">
|
|
309
|
+
|
|
310
|
+
<section class="section" id="forms">
|
|
311
|
+
<div class="section-label">05 / Forms</div>
|
|
312
|
+
<h2 class="section-title">Form Elements</h2>
|
|
313
|
+
<div class="form-group"><label class="form-label">Email Address</label><input class="form-input" type="text" placeholder="you@example.com"><div class="form-state-label">Default (warm border, 20px padding)</div></div>
|
|
314
|
+
<div class="form-group"><label class="form-label">API Key</label><input class="form-input form-input--focus" type="text" value="sk-ant-..."><div class="form-state-label">Focus (accent blue border)</div></div>
|
|
315
|
+
<div class="form-group"><label class="form-label">Invalid Key</label><input class="form-input form-input--error" type="text" value="invalid-key-format"><div class="form-state-label">Error (danger red border)</div></div>
|
|
316
|
+
</section>
|
|
317
|
+
|
|
318
|
+
<hr class="section-divider">
|
|
319
|
+
|
|
320
|
+
<section class="section" id="spacing">
|
|
321
|
+
<div class="section-label">06 / Spacing</div>
|
|
322
|
+
<h2 class="section-title">Spacing Scale</h2>
|
|
323
|
+
<div class="spacing-row">
|
|
324
|
+
<div class="spacing-item"><div class="spacing-block" style="width:1px"></div><div class="spacing-value">1</div></div>
|
|
325
|
+
<div class="spacing-item"><div class="spacing-block" style="width:2px"></div><div class="spacing-value">2</div></div>
|
|
326
|
+
<div class="spacing-item"><div class="spacing-block" style="width:4px"></div><div class="spacing-value">4</div></div>
|
|
327
|
+
<div class="spacing-item"><div class="spacing-block" style="width:8px"></div><div class="spacing-value">8</div></div>
|
|
328
|
+
<div class="spacing-item"><div class="spacing-block" style="width:12px"></div><div class="spacing-value">12</div></div>
|
|
329
|
+
<div class="spacing-item"><div class="spacing-block" style="width:16px"></div><div class="spacing-value">16</div></div>
|
|
330
|
+
<div class="spacing-item"><div class="spacing-block" style="width:20px"></div><div class="spacing-value">20</div></div>
|
|
331
|
+
<div class="spacing-item"><div class="spacing-block" style="width:24px"></div><div class="spacing-value">24</div></div>
|
|
332
|
+
<div class="spacing-item"><div class="spacing-block" style="width:32px"></div><div class="spacing-value">32</div></div>
|
|
333
|
+
<div class="spacing-item"><div class="spacing-block" style="width:40px"></div><div class="spacing-value">40</div></div>
|
|
334
|
+
<div class="spacing-item"><div class="spacing-block" style="width:48px"></div><div class="spacing-value">48</div></div>
|
|
335
|
+
<div class="spacing-item"><div class="spacing-block" style="width:64px"></div><div class="spacing-value">64</div></div>
|
|
336
|
+
</div>
|
|
337
|
+
</section>
|
|
338
|
+
|
|
339
|
+
<hr class="section-divider">
|
|
340
|
+
|
|
341
|
+
<section class="section" id="radius">
|
|
342
|
+
<div class="section-label">07 / Radius</div>
|
|
343
|
+
<h2 class="section-title">Border Radius Scale</h2>
|
|
344
|
+
<div class="radius-row">
|
|
345
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:4px"></div><div class="radius-label">4px</div><div class="radius-context">Default (buttons, cards)</div></div>
|
|
346
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:6px"></div><div class="radius-label">6px</div><div class="radius-context">Inputs</div></div>
|
|
347
|
+
</div>
|
|
348
|
+
</section>
|
|
349
|
+
|
|
350
|
+
<hr class="section-divider">
|
|
351
|
+
|
|
352
|
+
<section class="section" id="elevation">
|
|
353
|
+
<div class="section-label">08 / Elevation</div>
|
|
354
|
+
<h2 class="section-title">Elevation & Depth</h2>
|
|
355
|
+
<div class="elevation-grid">
|
|
356
|
+
<div class="elevation-card" style="border: none; background: var(--oc-light-surface);"><div class="elevation-label">Level 0: Flat</div><div class="elevation-desc">No border, no shadow</div></div>
|
|
357
|
+
<div class="elevation-card" style="border: 1px solid var(--border-warm);"><div class="elevation-label">Level 1: Subtle</div><div class="elevation-desc">1px rgba(253,252,252,0.12)</div></div>
|
|
358
|
+
<div class="elevation-card" style="border-bottom: 2px solid var(--border-tab);"><div class="elevation-label">Level 2: Tab</div><div class="elevation-desc">2px solid #9a9898</div></div>
|
|
359
|
+
<div class="elevation-card" style="border: 1px solid var(--border-outline);"><div class="elevation-label">Level 3: Outline</div><div class="elevation-desc">1px solid #646262</div></div>
|
|
360
|
+
</div>
|
|
361
|
+
</section>
|
|
362
|
+
|
|
363
|
+
<footer class="footer">
|
|
364
|
+
Generated from <a href="https://opencode.ai/">opencode.ai</a> DESIGN.md -- awesome-design-md
|
|
365
|
+
</footer>
|
|
366
|
+
|
|
367
|
+
</body>
|
|
368
|
+
</html>
|