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,231 @@
|
|
|
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: Spotify (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=Inter:wght@400;600;700&display=swap" rel="stylesheet">
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
--bg: #0a0a0a; --surface: #111111; --mid: #1f1f1f; --card: #252525;
|
|
13
|
+
--green: #1ed760; --white: #ffffff; --silver: #b3b3b3; --muted: #7c7c7c;
|
|
14
|
+
--neg: #f3727f; --warn: #ffa42b; --info: #539df5;
|
|
15
|
+
--border: #4d4d4d; --light-border: #7c7c7c;
|
|
16
|
+
--shadow-heavy: rgba(0,0,0,0.5) 0px 8px 24px;
|
|
17
|
+
--shadow-med: rgba(0,0,0,0.3) 0px 8px 8px;
|
|
18
|
+
--font: 'Inter', Helvetica Neue, helvetica, arial, sans-serif;
|
|
19
|
+
}
|
|
20
|
+
* { margin:0; padding:0; box-sizing:border-box; }
|
|
21
|
+
body { background:var(--bg); color:var(--white); font-family:var(--font); font-size:14px; font-weight:400; line-height:1.40; -webkit-font-smoothing:antialiased; }
|
|
22
|
+
|
|
23
|
+
.nav { position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:12px 24px; background:var(--surface); }
|
|
24
|
+
.nav-brand { font-size:14px; font-weight:700; color:var(--white); text-decoration:none; }
|
|
25
|
+
.nav-links { display:flex; gap:16px; list-style:none; }
|
|
26
|
+
.nav-links a { font-size:14px; font-weight:400; color:var(--silver); text-decoration:none; transition:color 0.15s; }
|
|
27
|
+
.nav-links a:hover { color:var(--white); }
|
|
28
|
+
.nav-cta { display:inline-block; background:var(--green); color:#000; padding:8px 20px; border-radius:500px; font-size:14px; font-weight:700; text-decoration:none; }
|
|
29
|
+
|
|
30
|
+
.hero { padding:64px 24px; text-align:center; background:var(--bg); }
|
|
31
|
+
.hero h1 { font-size:24px; font-weight:700; margin-bottom:12px; }
|
|
32
|
+
.hero h1 span { color:var(--green); }
|
|
33
|
+
.hero p { font-size:14px; color:var(--silver); max-width:500px; margin:0 auto 24px; }
|
|
34
|
+
.hero-buttons { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
|
|
35
|
+
.btn-green { display:inline-block; background:var(--green); color:#000; padding:10px 24px; border-radius:500px; font-size:14px; font-weight:700; text-decoration:none; border:none; cursor:pointer; text-transform:uppercase; letter-spacing:1.4px; }
|
|
36
|
+
.btn-outline { display:inline-block; background:transparent; color:var(--white); padding:10px 24px; border-radius:9999px; border:1px solid var(--light-border); font-family:var(--font); font-size:14px; font-weight:700; text-decoration:none; cursor:pointer; text-transform:uppercase; letter-spacing:1.4px; }
|
|
37
|
+
.btn-dark { display:inline-block; background:var(--mid); color:var(--white); padding:8px 16px; border-radius:9999px; font-size:14px; font-weight:700; text-decoration:none; }
|
|
38
|
+
.btn-circle { display:inline-flex; align-items:center; justify-content:center; background:var(--green); color:#000; width:48px; height:48px; border-radius:50%; font-size:20px; font-weight:700; text-decoration:none; border:none; cursor:pointer; }
|
|
39
|
+
|
|
40
|
+
.section { padding:48px 24px; max-width:1000px; margin:0 auto; }
|
|
41
|
+
.section-label { font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:1.4px; color:var(--silver); margin-bottom:8px; }
|
|
42
|
+
.section-title { font-size:18px; font-weight:700; margin-bottom:24px; }
|
|
43
|
+
.section-divider { border:none; border-top:1px solid rgba(255,255,255,0.08); margin:0; }
|
|
44
|
+
|
|
45
|
+
.color-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(140px,1fr)); gap:10px; margin-bottom:20px; }
|
|
46
|
+
.color-swatch { border-radius:6px; overflow:hidden; border:1px solid rgba(255,255,255,0.08); }
|
|
47
|
+
.color-swatch-block { height:60px; width:100%; }
|
|
48
|
+
.color-swatch-info { padding:8px 10px; }
|
|
49
|
+
.color-swatch-name { font-size:12px; font-weight:700; margin-bottom:2px; }
|
|
50
|
+
.color-swatch-hex { font-size:10px; color:var(--silver); font-family:monospace; }
|
|
51
|
+
.color-swatch-role { font-size:9px; color:var(--muted); margin-top:2px; }
|
|
52
|
+
.color-group-label { font-size:12px; font-weight:700; color:var(--silver); margin:20px 0 8px; text-transform:uppercase; letter-spacing:1px; }
|
|
53
|
+
|
|
54
|
+
.type-sample { margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,0.05); }
|
|
55
|
+
.type-sample:last-child { border-bottom:none; }
|
|
56
|
+
.type-meta { font-size:10px; color:var(--muted); margin-top:4px; font-family:monospace; }
|
|
57
|
+
|
|
58
|
+
.button-row { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
|
|
59
|
+
.button-item { text-align:center; }
|
|
60
|
+
.button-label { font-size:10px; color:var(--muted); margin-top:6px; text-transform:uppercase; letter-spacing:0.5px; }
|
|
61
|
+
|
|
62
|
+
.card-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:12px; }
|
|
63
|
+
.card { background:var(--surface); border-radius:8px; padding:16px; transition:background 0.2s; }
|
|
64
|
+
.card:hover { background:var(--card); }
|
|
65
|
+
.card h3 { font-size:16px; font-weight:700; margin-bottom:4px; }
|
|
66
|
+
.card p { font-size:12px; color:var(--silver); }
|
|
67
|
+
|
|
68
|
+
.form-group { margin-bottom:16px; max-width:400px; }
|
|
69
|
+
.form-label { display:block; font-size:12px; font-weight:700; margin-bottom:4px; text-transform:uppercase; letter-spacing:0.5px; }
|
|
70
|
+
.form-input { width:100%; background:var(--mid); color:var(--white); border:none; padding:12px 16px; border-radius:500px; font-family:var(--font); font-size:14px; outline:none; box-shadow:rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset; }
|
|
71
|
+
.form-input:focus { box-shadow:0 0 0 2px var(--green); }
|
|
72
|
+
.form-input--focus { box-shadow:0 0 0 2px var(--green); }
|
|
73
|
+
.form-input--error { box-shadow:0 0 0 2px var(--neg); }
|
|
74
|
+
.form-textarea { width:100%; min-height:80px; background:var(--mid); color:var(--white); border:none; padding:12px 16px; border-radius:8px; font-family:var(--font); font-size:14px; resize:vertical; outline:none; box-shadow:rgb(124,124,124) 0px 0px 0px 1px inset; }
|
|
75
|
+
.form-state-label { font-size:9px; color:var(--muted); 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(--green); border-radius:4px; margin-bottom:4px; height:24px; }
|
|
80
|
+
.spacing-value { font-size:9px; color:var(--muted); 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:52px; height:52px; background:var(--mid); border:1px solid rgba(255,255,255,0.1); margin-bottom:4px; }
|
|
85
|
+
.radius-label { font-size:9px; color:var(--muted); font-family:monospace; }
|
|
86
|
+
|
|
87
|
+
.elevation-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:12px; }
|
|
88
|
+
.elevation-card { background:var(--surface); border-radius:8px; padding:16px; text-align:center; }
|
|
89
|
+
.elevation-label { font-size:13px; font-weight:700; margin-bottom:4px; }
|
|
90
|
+
.elevation-desc { font-size:9px; color:var(--muted); font-family:monospace; }
|
|
91
|
+
|
|
92
|
+
.footer { padding:24px; text-align:center; border-top:1px solid rgba(255,255,255,0.05); font-size:12px; color:var(--muted); }
|
|
93
|
+
.footer a { color:var(--green); text-decoration:underline; }
|
|
94
|
+
|
|
95
|
+
@media (max-width:768px) { .nav-links { display:none; } .section { padding:32px 16px; } .card-grid { grid-template-columns:1fr; } }
|
|
96
|
+
</style>
|
|
97
|
+
</head>
|
|
98
|
+
<body>
|
|
99
|
+
|
|
100
|
+
<nav class="nav">
|
|
101
|
+
<a class="nav-brand" href="#">awesome-design-md</a>
|
|
102
|
+
<ul class="nav-links">
|
|
103
|
+
<li><a href="#colors">Colors</a></li>
|
|
104
|
+
<li><a href="#typography">Typography</a></li>
|
|
105
|
+
<li><a href="#buttons">Buttons</a></li>
|
|
106
|
+
<li><a href="#cards">Cards</a></li>
|
|
107
|
+
<li><a href="#forms">Forms</a></li>
|
|
108
|
+
</ul>
|
|
109
|
+
<a class="nav-cta" href="#">Open Spotify</a>
|
|
110
|
+
</nav>
|
|
111
|
+
<div style="position:fixed;top:16px;right:16px;z-index:200;background:#1ed760;color:#000;font-size:10px;font-weight:700;padding:4px 10px;border-radius:500px;text-transform:uppercase;letter-spacing:1px;">Dark Mode</div>
|
|
112
|
+
|
|
113
|
+
<section class="hero">
|
|
114
|
+
<h1>Design System Inspired by <span>Spotify</span></h1>
|
|
115
|
+
<p>A design token catalog generated from DESIGN.md. Every color, font, and component — visualized in the dark.</p>
|
|
116
|
+
<div class="hero-buttons">
|
|
117
|
+
<a class="btn-green" href="#">Get Spotify Free</a>
|
|
118
|
+
<a class="btn-outline" href="#">Learn More</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:#1ed760"></div><div class="color-swatch-info"><div class="color-swatch-name">Spotify Green</div><div class="color-swatch-hex">#1ed760</div><div class="color-swatch-role">Brand accent</div></div></div>
|
|
129
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#121212"></div><div class="color-swatch-info"><div class="color-swatch-name">Near Black</div><div class="color-swatch-hex">#121212</div><div class="color-swatch-role">Page background</div></div></div>
|
|
130
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#181818"></div><div class="color-swatch-info"><div class="color-swatch-name">Surface</div><div class="color-swatch-hex">#181818</div><div class="color-swatch-role">Cards, containers</div></div></div>
|
|
131
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#1f1f1f"></div><div class="color-swatch-info"><div class="color-swatch-name">Mid Dark</div><div class="color-swatch-hex">#1f1f1f</div><div class="color-swatch-role">Buttons, inputs</div></div></div>
|
|
132
|
+
</div>
|
|
133
|
+
<div class="color-group-label">Text & Semantic</div>
|
|
134
|
+
<div class="color-grid">
|
|
135
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#ffffff"></div><div class="color-swatch-info"><div class="color-swatch-name">White</div><div class="color-swatch-hex">#ffffff</div><div class="color-swatch-role">Primary text</div></div></div>
|
|
136
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#b3b3b3"></div><div class="color-swatch-info"><div class="color-swatch-name">Silver</div><div class="color-swatch-hex">#b3b3b3</div><div class="color-swatch-role">Secondary text</div></div></div>
|
|
137
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#f3727f"></div><div class="color-swatch-info"><div class="color-swatch-name">Negative</div><div class="color-swatch-hex">#f3727f</div><div class="color-swatch-role">Error states</div></div></div>
|
|
138
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#ffa42b"></div><div class="color-swatch-info"><div class="color-swatch-name">Warning</div><div class="color-swatch-hex">#ffa42b</div><div class="color-swatch-role">Warning states</div></div></div>
|
|
139
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#539df5"></div><div class="color-swatch-info"><div class="color-swatch-name">Announcement</div><div class="color-swatch-hex">#539df5</div><div class="color-swatch-role">Info states</div></div></div>
|
|
140
|
+
</div>
|
|
141
|
+
</section>
|
|
142
|
+
|
|
143
|
+
<hr class="section-divider">
|
|
144
|
+
|
|
145
|
+
<section class="section" id="typography">
|
|
146
|
+
<div class="section-label">02 / Typography</div><h2 class="section-title">Typography Scale</h2>
|
|
147
|
+
<div class="type-sample"><div style="font-size:24px; font-weight:700;">Section Title — Your Playlists</div><div class="type-meta">Title — 24px / 700 / SpotifyMixUITitle</div></div>
|
|
148
|
+
<div class="type-sample"><div style="font-size:18px; font-weight:600; line-height:1.30;">Feature Heading</div><div class="type-meta">Feature — 18px / 600 / 1.30</div></div>
|
|
149
|
+
<div class="type-sample"><div style="font-size:16px; font-weight:700;">Body Bold — Liked Songs</div><div class="type-meta">Body Bold — 16px / 700</div></div>
|
|
150
|
+
<div class="type-sample"><div style="font-size:14px; font-weight:400; color:var(--silver);">Caption — 3 min 42 sec</div><div class="type-meta">Caption — 14px / 400</div></div>
|
|
151
|
+
<div class="type-sample"><div style="font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:1.4px;">SHUFFLE PLAY</div><div class="type-meta">Button Uppercase — 14px / 700 / uppercase / +1.4px</div></div>
|
|
152
|
+
<div class="type-sample"><div style="font-size:12px; font-weight:700; color:var(--silver);">Small Bold — 1,234 songs</div><div class="type-meta">Small Bold — 12px / 700</div></div>
|
|
153
|
+
<div class="type-sample"><div style="font-size:10.5px; font-weight:600; text-transform:capitalize; color:var(--silver);">Badge</div><div class="type-meta">Badge — 10.5px / 600 / capitalize</div></div>
|
|
154
|
+
</section>
|
|
155
|
+
|
|
156
|
+
<hr class="section-divider">
|
|
157
|
+
|
|
158
|
+
<section class="section" id="buttons">
|
|
159
|
+
<div class="section-label">03 / Buttons</div><h2 class="section-title">Button Variants</h2>
|
|
160
|
+
<div class="button-row">
|
|
161
|
+
<div class="button-item"><a class="btn-green" href="#">Shuffle Play</a><div class="button-label">Green Pill</div></div>
|
|
162
|
+
<div class="button-item"><a class="btn-dark" href="#">Browse</a><div class="button-label">Dark Pill</div></div>
|
|
163
|
+
<div class="button-item"><a class="btn-outline" href="#">Follow</a><div class="button-label">Outlined</div></div>
|
|
164
|
+
<div class="button-item"><a class="btn-circle" href="#">▶</a><div class="button-label">Play Circle</div></div>
|
|
165
|
+
</div>
|
|
166
|
+
</section>
|
|
167
|
+
|
|
168
|
+
<hr class="section-divider">
|
|
169
|
+
|
|
170
|
+
<section class="section" id="cards">
|
|
171
|
+
<div class="section-label">04 / Cards</div><h2 class="section-title">Card Examples</h2>
|
|
172
|
+
<div class="card-grid">
|
|
173
|
+
<div class="card"><h3>Discover Weekly</h3><p>Your personal playlist, updated every Monday.</p></div>
|
|
174
|
+
<div class="card" style="box-shadow:var(--shadow-med);"><h3>Release Radar</h3><p>New releases from artists you follow. Elevated shadow.</p></div>
|
|
175
|
+
<div class="card"><h3>Daily Mix 1</h3><p>Made for you based on your listening.</p></div>
|
|
176
|
+
<div class="card"><h3>Liked Songs</h3><p>Your saved songs collection.</p></div>
|
|
177
|
+
</div>
|
|
178
|
+
</section>
|
|
179
|
+
|
|
180
|
+
<hr class="section-divider">
|
|
181
|
+
|
|
182
|
+
<section class="section" id="forms">
|
|
183
|
+
<div class="section-label">05 / Forms</div><h2 class="section-title">Form Elements</h2>
|
|
184
|
+
<div class="form-group"><label class="form-label">Search</label><input class="form-input" type="search" placeholder="Artists, songs, or podcasts"><div class="form-state-label">Default (inset border)</div></div>
|
|
185
|
+
<div class="form-group"><label class="form-label">Playlist Name</label><input class="form-input form-input--focus" type="text" value="Chill Vibes"><div class="form-state-label">Focus (green ring)</div></div>
|
|
186
|
+
<div class="form-group"><label class="form-label">Email</label><input class="form-input form-input--error" type="email" value="invalid"><div class="form-state-label">Error (red ring)</div></div>
|
|
187
|
+
<div class="form-group"><label class="form-label">Description</label><textarea class="form-textarea" placeholder="Add a description..."></textarea></div>
|
|
188
|
+
</section>
|
|
189
|
+
|
|
190
|
+
<hr class="section-divider">
|
|
191
|
+
|
|
192
|
+
<section class="section">
|
|
193
|
+
<div class="section-label">06 / Spacing</div><h2 class="section-title">Spacing Scale</h2>
|
|
194
|
+
<div class="spacing-row">
|
|
195
|
+
<div class="spacing-item"><div class="spacing-block" style="width:4px"></div><div class="spacing-value">4</div></div>
|
|
196
|
+
<div class="spacing-item"><div class="spacing-block" style="width:8px"></div><div class="spacing-value">8</div></div>
|
|
197
|
+
<div class="spacing-item"><div class="spacing-block" style="width:12px"></div><div class="spacing-value">12</div></div>
|
|
198
|
+
<div class="spacing-item"><div class="spacing-block" style="width:16px"></div><div class="spacing-value">16</div></div>
|
|
199
|
+
<div class="spacing-item"><div class="spacing-block" style="width:20px"></div><div class="spacing-value">20</div></div>
|
|
200
|
+
</div>
|
|
201
|
+
</section>
|
|
202
|
+
|
|
203
|
+
<hr class="section-divider">
|
|
204
|
+
|
|
205
|
+
<section class="section">
|
|
206
|
+
<div class="section-label">07 / Radius</div><h2 class="section-title">Border Radius</h2>
|
|
207
|
+
<div class="radius-row">
|
|
208
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:2px"></div><div class="radius-label">2px</div></div>
|
|
209
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:6px"></div><div class="radius-label">6px</div></div>
|
|
210
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:8px"></div><div class="radius-label">8px</div></div>
|
|
211
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:500px"></div><div class="radius-label">500px</div></div>
|
|
212
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:50%; width:52px; height:52px;"></div><div class="radius-label">50%</div></div>
|
|
213
|
+
</div>
|
|
214
|
+
</section>
|
|
215
|
+
|
|
216
|
+
<hr class="section-divider">
|
|
217
|
+
|
|
218
|
+
<section class="section">
|
|
219
|
+
<div class="section-label">08 / Elevation</div><h2 class="section-title">Depth</h2>
|
|
220
|
+
<div class="elevation-grid">
|
|
221
|
+
<div class="elevation-card"><div class="elevation-label">Base</div><div class="elevation-desc">#121212 background</div></div>
|
|
222
|
+
<div class="elevation-card" style="background:var(--mid);"><div class="elevation-label">Surface</div><div class="elevation-desc">#1f1f1f</div></div>
|
|
223
|
+
<div class="elevation-card" style="box-shadow:var(--shadow-med);"><div class="elevation-label">Elevated</div><div class="elevation-desc">0.3 opacity 8px</div></div>
|
|
224
|
+
<div class="elevation-card" style="box-shadow:var(--shadow-heavy);"><div class="elevation-label">Dialog</div><div class="elevation-desc">0.5 opacity 24px</div></div>
|
|
225
|
+
</div>
|
|
226
|
+
</section>
|
|
227
|
+
|
|
228
|
+
<footer class="footer">Generated from <a href="https://spotify.com/">spotify.com</a> DESIGN.md — awesome-design-md</footer>
|
|
229
|
+
|
|
230
|
+
</body>
|
|
231
|
+
</html>
|
|
@@ -0,0 +1,230 @@
|
|
|
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: Spotify (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=Inter:wght@400;600;700&display=swap" rel="stylesheet">
|
|
10
|
+
<style>
|
|
11
|
+
:root {
|
|
12
|
+
--bg: #121212; --surface: #181818; --mid: #1f1f1f; --card: #252525;
|
|
13
|
+
--green: #1ed760; --white: #ffffff; --silver: #b3b3b3; --muted: #7c7c7c;
|
|
14
|
+
--neg: #f3727f; --warn: #ffa42b; --info: #539df5;
|
|
15
|
+
--border: #4d4d4d; --light-border: #7c7c7c;
|
|
16
|
+
--shadow-heavy: rgba(0,0,0,0.5) 0px 8px 24px;
|
|
17
|
+
--shadow-med: rgba(0,0,0,0.3) 0px 8px 8px;
|
|
18
|
+
--font: 'Inter', Helvetica Neue, helvetica, arial, sans-serif;
|
|
19
|
+
}
|
|
20
|
+
* { margin:0; padding:0; box-sizing:border-box; }
|
|
21
|
+
body { background:var(--bg); color:var(--white); font-family:var(--font); font-size:14px; font-weight:400; line-height:1.40; -webkit-font-smoothing:antialiased; }
|
|
22
|
+
|
|
23
|
+
.nav { position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:12px 24px; background:var(--surface); }
|
|
24
|
+
.nav-brand { font-size:14px; font-weight:700; color:var(--white); text-decoration:none; }
|
|
25
|
+
.nav-links { display:flex; gap:16px; list-style:none; }
|
|
26
|
+
.nav-links a { font-size:14px; font-weight:400; color:var(--silver); text-decoration:none; transition:color 0.15s; }
|
|
27
|
+
.nav-links a:hover { color:var(--white); }
|
|
28
|
+
.nav-cta { display:inline-block; background:var(--green); color:#000; padding:8px 20px; border-radius:500px; font-size:14px; font-weight:700; text-decoration:none; }
|
|
29
|
+
|
|
30
|
+
.hero { padding:64px 24px; text-align:center; background:var(--bg); }
|
|
31
|
+
.hero h1 { font-size:24px; font-weight:700; margin-bottom:12px; }
|
|
32
|
+
.hero h1 span { color:var(--green); }
|
|
33
|
+
.hero p { font-size:14px; color:var(--silver); max-width:500px; margin:0 auto 24px; }
|
|
34
|
+
.hero-buttons { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
|
|
35
|
+
.btn-green { display:inline-block; background:var(--green); color:#000; padding:10px 24px; border-radius:500px; font-size:14px; font-weight:700; text-decoration:none; border:none; cursor:pointer; text-transform:uppercase; letter-spacing:1.4px; }
|
|
36
|
+
.btn-outline { display:inline-block; background:transparent; color:var(--white); padding:10px 24px; border-radius:9999px; border:1px solid var(--light-border); font-family:var(--font); font-size:14px; font-weight:700; text-decoration:none; cursor:pointer; text-transform:uppercase; letter-spacing:1.4px; }
|
|
37
|
+
.btn-dark { display:inline-block; background:var(--mid); color:var(--white); padding:8px 16px; border-radius:9999px; font-size:14px; font-weight:700; text-decoration:none; }
|
|
38
|
+
.btn-circle { display:inline-flex; align-items:center; justify-content:center; background:var(--green); color:#000; width:48px; height:48px; border-radius:50%; font-size:20px; font-weight:700; text-decoration:none; border:none; cursor:pointer; }
|
|
39
|
+
|
|
40
|
+
.section { padding:48px 24px; max-width:1000px; margin:0 auto; }
|
|
41
|
+
.section-label { font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:1.4px; color:var(--silver); margin-bottom:8px; }
|
|
42
|
+
.section-title { font-size:18px; font-weight:700; margin-bottom:24px; }
|
|
43
|
+
.section-divider { border:none; border-top:1px solid rgba(255,255,255,0.08); margin:0; }
|
|
44
|
+
|
|
45
|
+
.color-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(140px,1fr)); gap:10px; margin-bottom:20px; }
|
|
46
|
+
.color-swatch { border-radius:6px; overflow:hidden; border:1px solid rgba(255,255,255,0.08); }
|
|
47
|
+
.color-swatch-block { height:60px; width:100%; }
|
|
48
|
+
.color-swatch-info { padding:8px 10px; }
|
|
49
|
+
.color-swatch-name { font-size:12px; font-weight:700; margin-bottom:2px; }
|
|
50
|
+
.color-swatch-hex { font-size:10px; color:var(--silver); font-family:monospace; }
|
|
51
|
+
.color-swatch-role { font-size:9px; color:var(--muted); margin-top:2px; }
|
|
52
|
+
.color-group-label { font-size:12px; font-weight:700; color:var(--silver); margin:20px 0 8px; text-transform:uppercase; letter-spacing:1px; }
|
|
53
|
+
|
|
54
|
+
.type-sample { margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,0.05); }
|
|
55
|
+
.type-sample:last-child { border-bottom:none; }
|
|
56
|
+
.type-meta { font-size:10px; color:var(--muted); margin-top:4px; font-family:monospace; }
|
|
57
|
+
|
|
58
|
+
.button-row { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
|
|
59
|
+
.button-item { text-align:center; }
|
|
60
|
+
.button-label { font-size:10px; color:var(--muted); margin-top:6px; text-transform:uppercase; letter-spacing:0.5px; }
|
|
61
|
+
|
|
62
|
+
.card-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:12px; }
|
|
63
|
+
.card { background:var(--surface); border-radius:8px; padding:16px; transition:background 0.2s; }
|
|
64
|
+
.card:hover { background:var(--card); }
|
|
65
|
+
.card h3 { font-size:16px; font-weight:700; margin-bottom:4px; }
|
|
66
|
+
.card p { font-size:12px; color:var(--silver); }
|
|
67
|
+
|
|
68
|
+
.form-group { margin-bottom:16px; max-width:400px; }
|
|
69
|
+
.form-label { display:block; font-size:12px; font-weight:700; margin-bottom:4px; text-transform:uppercase; letter-spacing:0.5px; }
|
|
70
|
+
.form-input { width:100%; background:var(--mid); color:var(--white); border:none; padding:12px 16px; border-radius:500px; font-family:var(--font); font-size:14px; outline:none; box-shadow:rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset; }
|
|
71
|
+
.form-input:focus { box-shadow:0 0 0 2px var(--green); }
|
|
72
|
+
.form-input--focus { box-shadow:0 0 0 2px var(--green); }
|
|
73
|
+
.form-input--error { box-shadow:0 0 0 2px var(--neg); }
|
|
74
|
+
.form-textarea { width:100%; min-height:80px; background:var(--mid); color:var(--white); border:none; padding:12px 16px; border-radius:8px; font-family:var(--font); font-size:14px; resize:vertical; outline:none; box-shadow:rgb(124,124,124) 0px 0px 0px 1px inset; }
|
|
75
|
+
.form-state-label { font-size:9px; color:var(--muted); 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(--green); border-radius:4px; margin-bottom:4px; height:24px; }
|
|
80
|
+
.spacing-value { font-size:9px; color:var(--muted); 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:52px; height:52px; background:var(--mid); border:1px solid rgba(255,255,255,0.1); margin-bottom:4px; }
|
|
85
|
+
.radius-label { font-size:9px; color:var(--muted); font-family:monospace; }
|
|
86
|
+
|
|
87
|
+
.elevation-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:12px; }
|
|
88
|
+
.elevation-card { background:var(--surface); border-radius:8px; padding:16px; text-align:center; }
|
|
89
|
+
.elevation-label { font-size:13px; font-weight:700; margin-bottom:4px; }
|
|
90
|
+
.elevation-desc { font-size:9px; color:var(--muted); font-family:monospace; }
|
|
91
|
+
|
|
92
|
+
.footer { padding:24px; text-align:center; border-top:1px solid rgba(255,255,255,0.05); font-size:12px; color:var(--muted); }
|
|
93
|
+
.footer a { color:var(--green); text-decoration:underline; }
|
|
94
|
+
|
|
95
|
+
@media (max-width:768px) { .nav-links { display:none; } .section { padding:32px 16px; } .card-grid { grid-template-columns:1fr; } }
|
|
96
|
+
</style>
|
|
97
|
+
</head>
|
|
98
|
+
<body>
|
|
99
|
+
|
|
100
|
+
<nav class="nav">
|
|
101
|
+
<a class="nav-brand" href="#">awesome-design-md</a>
|
|
102
|
+
<ul class="nav-links">
|
|
103
|
+
<li><a href="#colors">Colors</a></li>
|
|
104
|
+
<li><a href="#typography">Typography</a></li>
|
|
105
|
+
<li><a href="#buttons">Buttons</a></li>
|
|
106
|
+
<li><a href="#cards">Cards</a></li>
|
|
107
|
+
<li><a href="#forms">Forms</a></li>
|
|
108
|
+
</ul>
|
|
109
|
+
<a class="nav-cta" href="#">Open Spotify</a>
|
|
110
|
+
</nav>
|
|
111
|
+
|
|
112
|
+
<section class="hero">
|
|
113
|
+
<h1>Design System Inspired by <span>Spotify</span></h1>
|
|
114
|
+
<p>A design token catalog generated from DESIGN.md. Every color, font, and component — visualized in the dark.</p>
|
|
115
|
+
<div class="hero-buttons">
|
|
116
|
+
<a class="btn-green" href="#">Get Spotify Free</a>
|
|
117
|
+
<a class="btn-outline" href="#">Learn More</a>
|
|
118
|
+
</div>
|
|
119
|
+
</section>
|
|
120
|
+
|
|
121
|
+
<hr class="section-divider">
|
|
122
|
+
|
|
123
|
+
<section class="section" id="colors">
|
|
124
|
+
<div class="section-label">01 / Colors</div><h2 class="section-title">Color Palette</h2>
|
|
125
|
+
<div class="color-group-label">Brand</div>
|
|
126
|
+
<div class="color-grid">
|
|
127
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#1ed760"></div><div class="color-swatch-info"><div class="color-swatch-name">Spotify Green</div><div class="color-swatch-hex">#1ed760</div><div class="color-swatch-role">Brand accent</div></div></div>
|
|
128
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#121212"></div><div class="color-swatch-info"><div class="color-swatch-name">Near Black</div><div class="color-swatch-hex">#121212</div><div class="color-swatch-role">Page background</div></div></div>
|
|
129
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#181818"></div><div class="color-swatch-info"><div class="color-swatch-name">Surface</div><div class="color-swatch-hex">#181818</div><div class="color-swatch-role">Cards, containers</div></div></div>
|
|
130
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#1f1f1f"></div><div class="color-swatch-info"><div class="color-swatch-name">Mid Dark</div><div class="color-swatch-hex">#1f1f1f</div><div class="color-swatch-role">Buttons, inputs</div></div></div>
|
|
131
|
+
</div>
|
|
132
|
+
<div class="color-group-label">Text & Semantic</div>
|
|
133
|
+
<div class="color-grid">
|
|
134
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#ffffff"></div><div class="color-swatch-info"><div class="color-swatch-name">White</div><div class="color-swatch-hex">#ffffff</div><div class="color-swatch-role">Primary text</div></div></div>
|
|
135
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#b3b3b3"></div><div class="color-swatch-info"><div class="color-swatch-name">Silver</div><div class="color-swatch-hex">#b3b3b3</div><div class="color-swatch-role">Secondary text</div></div></div>
|
|
136
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#f3727f"></div><div class="color-swatch-info"><div class="color-swatch-name">Negative</div><div class="color-swatch-hex">#f3727f</div><div class="color-swatch-role">Error states</div></div></div>
|
|
137
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#ffa42b"></div><div class="color-swatch-info"><div class="color-swatch-name">Warning</div><div class="color-swatch-hex">#ffa42b</div><div class="color-swatch-role">Warning states</div></div></div>
|
|
138
|
+
<div class="color-swatch"><div class="color-swatch-block" style="background:#539df5"></div><div class="color-swatch-info"><div class="color-swatch-name">Announcement</div><div class="color-swatch-hex">#539df5</div><div class="color-swatch-role">Info states</div></div></div>
|
|
139
|
+
</div>
|
|
140
|
+
</section>
|
|
141
|
+
|
|
142
|
+
<hr class="section-divider">
|
|
143
|
+
|
|
144
|
+
<section class="section" id="typography">
|
|
145
|
+
<div class="section-label">02 / Typography</div><h2 class="section-title">Typography Scale</h2>
|
|
146
|
+
<div class="type-sample"><div style="font-size:24px; font-weight:700;">Section Title — Your Playlists</div><div class="type-meta">Title — 24px / 700 / SpotifyMixUITitle</div></div>
|
|
147
|
+
<div class="type-sample"><div style="font-size:18px; font-weight:600; line-height:1.30;">Feature Heading</div><div class="type-meta">Feature — 18px / 600 / 1.30</div></div>
|
|
148
|
+
<div class="type-sample"><div style="font-size:16px; font-weight:700;">Body Bold — Liked Songs</div><div class="type-meta">Body Bold — 16px / 700</div></div>
|
|
149
|
+
<div class="type-sample"><div style="font-size:14px; font-weight:400; color:var(--silver);">Caption — 3 min 42 sec</div><div class="type-meta">Caption — 14px / 400</div></div>
|
|
150
|
+
<div class="type-sample"><div style="font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:1.4px;">SHUFFLE PLAY</div><div class="type-meta">Button Uppercase — 14px / 700 / uppercase / +1.4px</div></div>
|
|
151
|
+
<div class="type-sample"><div style="font-size:12px; font-weight:700; color:var(--silver);">Small Bold — 1,234 songs</div><div class="type-meta">Small Bold — 12px / 700</div></div>
|
|
152
|
+
<div class="type-sample"><div style="font-size:10.5px; font-weight:600; text-transform:capitalize; color:var(--silver);">Badge</div><div class="type-meta">Badge — 10.5px / 600 / capitalize</div></div>
|
|
153
|
+
</section>
|
|
154
|
+
|
|
155
|
+
<hr class="section-divider">
|
|
156
|
+
|
|
157
|
+
<section class="section" id="buttons">
|
|
158
|
+
<div class="section-label">03 / Buttons</div><h2 class="section-title">Button Variants</h2>
|
|
159
|
+
<div class="button-row">
|
|
160
|
+
<div class="button-item"><a class="btn-green" href="#">Shuffle Play</a><div class="button-label">Green Pill</div></div>
|
|
161
|
+
<div class="button-item"><a class="btn-dark" href="#">Browse</a><div class="button-label">Dark Pill</div></div>
|
|
162
|
+
<div class="button-item"><a class="btn-outline" href="#">Follow</a><div class="button-label">Outlined</div></div>
|
|
163
|
+
<div class="button-item"><a class="btn-circle" href="#">▶</a><div class="button-label">Play Circle</div></div>
|
|
164
|
+
</div>
|
|
165
|
+
</section>
|
|
166
|
+
|
|
167
|
+
<hr class="section-divider">
|
|
168
|
+
|
|
169
|
+
<section class="section" id="cards">
|
|
170
|
+
<div class="section-label">04 / Cards</div><h2 class="section-title">Card Examples</h2>
|
|
171
|
+
<div class="card-grid">
|
|
172
|
+
<div class="card"><h3>Discover Weekly</h3><p>Your personal playlist, updated every Monday.</p></div>
|
|
173
|
+
<div class="card" style="box-shadow:var(--shadow-med);"><h3>Release Radar</h3><p>New releases from artists you follow. Elevated shadow.</p></div>
|
|
174
|
+
<div class="card"><h3>Daily Mix 1</h3><p>Made for you based on your listening.</p></div>
|
|
175
|
+
<div class="card"><h3>Liked Songs</h3><p>Your saved songs collection.</p></div>
|
|
176
|
+
</div>
|
|
177
|
+
</section>
|
|
178
|
+
|
|
179
|
+
<hr class="section-divider">
|
|
180
|
+
|
|
181
|
+
<section class="section" id="forms">
|
|
182
|
+
<div class="section-label">05 / Forms</div><h2 class="section-title">Form Elements</h2>
|
|
183
|
+
<div class="form-group"><label class="form-label">Search</label><input class="form-input" type="search" placeholder="Artists, songs, or podcasts"><div class="form-state-label">Default (inset border)</div></div>
|
|
184
|
+
<div class="form-group"><label class="form-label">Playlist Name</label><input class="form-input form-input--focus" type="text" value="Chill Vibes"><div class="form-state-label">Focus (green ring)</div></div>
|
|
185
|
+
<div class="form-group"><label class="form-label">Email</label><input class="form-input form-input--error" type="email" value="invalid"><div class="form-state-label">Error (red ring)</div></div>
|
|
186
|
+
<div class="form-group"><label class="form-label">Description</label><textarea class="form-textarea" placeholder="Add a description..."></textarea></div>
|
|
187
|
+
</section>
|
|
188
|
+
|
|
189
|
+
<hr class="section-divider">
|
|
190
|
+
|
|
191
|
+
<section class="section">
|
|
192
|
+
<div class="section-label">06 / Spacing</div><h2 class="section-title">Spacing Scale</h2>
|
|
193
|
+
<div class="spacing-row">
|
|
194
|
+
<div class="spacing-item"><div class="spacing-block" style="width:4px"></div><div class="spacing-value">4</div></div>
|
|
195
|
+
<div class="spacing-item"><div class="spacing-block" style="width:8px"></div><div class="spacing-value">8</div></div>
|
|
196
|
+
<div class="spacing-item"><div class="spacing-block" style="width:12px"></div><div class="spacing-value">12</div></div>
|
|
197
|
+
<div class="spacing-item"><div class="spacing-block" style="width:16px"></div><div class="spacing-value">16</div></div>
|
|
198
|
+
<div class="spacing-item"><div class="spacing-block" style="width:20px"></div><div class="spacing-value">20</div></div>
|
|
199
|
+
</div>
|
|
200
|
+
</section>
|
|
201
|
+
|
|
202
|
+
<hr class="section-divider">
|
|
203
|
+
|
|
204
|
+
<section class="section">
|
|
205
|
+
<div class="section-label">07 / Radius</div><h2 class="section-title">Border Radius</h2>
|
|
206
|
+
<div class="radius-row">
|
|
207
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:2px"></div><div class="radius-label">2px</div></div>
|
|
208
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:6px"></div><div class="radius-label">6px</div></div>
|
|
209
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:8px"></div><div class="radius-label">8px</div></div>
|
|
210
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:500px"></div><div class="radius-label">500px</div></div>
|
|
211
|
+
<div class="radius-item"><div class="radius-box" style="border-radius:50%; width:52px; height:52px;"></div><div class="radius-label">50%</div></div>
|
|
212
|
+
</div>
|
|
213
|
+
</section>
|
|
214
|
+
|
|
215
|
+
<hr class="section-divider">
|
|
216
|
+
|
|
217
|
+
<section class="section">
|
|
218
|
+
<div class="section-label">08 / Elevation</div><h2 class="section-title">Depth</h2>
|
|
219
|
+
<div class="elevation-grid">
|
|
220
|
+
<div class="elevation-card"><div class="elevation-label">Base</div><div class="elevation-desc">#121212 background</div></div>
|
|
221
|
+
<div class="elevation-card" style="background:var(--mid);"><div class="elevation-label">Surface</div><div class="elevation-desc">#1f1f1f</div></div>
|
|
222
|
+
<div class="elevation-card" style="box-shadow:var(--shadow-med);"><div class="elevation-label">Elevated</div><div class="elevation-desc">0.3 opacity 8px</div></div>
|
|
223
|
+
<div class="elevation-card" style="box-shadow:var(--shadow-heavy);"><div class="elevation-label">Dialog</div><div class="elevation-desc">0.5 opacity 24px</div></div>
|
|
224
|
+
</div>
|
|
225
|
+
</section>
|
|
226
|
+
|
|
227
|
+
<footer class="footer">Generated from <a href="https://spotify.com/">spotify.com</a> DESIGN.md — awesome-design-md</footer>
|
|
228
|
+
|
|
229
|
+
</body>
|
|
230
|
+
</html>
|