getrelay 0.1.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 +40 -0
- package/bin/relay.js +362 -0
- package/design-md/airbnb/DESIGN.md +545 -0
- package/design-md/airbnb/README.md +5 -0
- package/design-md/airtable/DESIGN.md +554 -0
- package/design-md/airtable/README.md +5 -0
- package/design-md/apple/DESIGN.md +562 -0
- package/design-md/apple/README.md +5 -0
- package/design-md/binance/DESIGN.md +634 -0
- package/design-md/binance/README.md +5 -0
- package/design-md/bmw/DESIGN.md +544 -0
- package/design-md/bmw/README.md +5 -0
- package/design-md/bmw-m/DESIGN.md +503 -0
- package/design-md/bmw-m/README.md +5 -0
- package/design-md/bugatti/DESIGN.md +454 -0
- package/design-md/bugatti/README.md +5 -0
- package/design-md/cal/DESIGN.md +542 -0
- package/design-md/cal/README.md +5 -0
- package/design-md/claude/DESIGN.md +589 -0
- package/design-md/claude/README.md +5 -0
- package/design-md/clay/DESIGN.md +541 -0
- package/design-md/clay/README.md +5 -0
- package/design-md/clickhouse/DESIGN.md +544 -0
- package/design-md/clickhouse/README.md +5 -0
- package/design-md/cohere/DESIGN.md +451 -0
- package/design-md/cohere/README.md +5 -0
- package/design-md/coinbase/DESIGN.md +570 -0
- package/design-md/coinbase/README.md +5 -0
- package/design-md/composio/DESIGN.md +506 -0
- package/design-md/composio/README.md +5 -0
- package/design-md/cursor/DESIGN.md +537 -0
- package/design-md/cursor/README.md +5 -0
- package/design-md/elevenlabs/DESIGN.md +504 -0
- package/design-md/elevenlabs/README.md +5 -0
- package/design-md/expo/DESIGN.md +526 -0
- package/design-md/expo/README.md +5 -0
- package/design-md/ferrari/DESIGN.md +531 -0
- package/design-md/ferrari/README.md +5 -0
- package/design-md/figma/DESIGN.md +578 -0
- package/design-md/figma/README.md +5 -0
- package/design-md/framer/DESIGN.md +544 -0
- package/design-md/framer/README.md +5 -0
- package/design-md/hashicorp/DESIGN.md +575 -0
- package/design-md/hashicorp/README.md +5 -0
- package/design-md/ibm/DESIGN.md +550 -0
- package/design-md/ibm/README.md +5 -0
- package/design-md/intercom/DESIGN.md +546 -0
- package/design-md/intercom/README.md +5 -0
- package/design-md/kraken/DESIGN.md +125 -0
- package/design-md/kraken/README.md +5 -0
- package/design-md/lamborghini/DESIGN.md +288 -0
- package/design-md/lamborghini/README.md +5 -0
- package/design-md/linear.app/DESIGN.md +548 -0
- package/design-md/linear.app/README.md +5 -0
- package/design-md/lovable/DESIGN.md +298 -0
- package/design-md/lovable/README.md +5 -0
- package/design-md/mastercard/DESIGN.md +365 -0
- package/design-md/mastercard/README.md +5 -0
- package/design-md/meta/DESIGN.md +683 -0
- package/design-md/meta/README.md +5 -0
- package/design-md/minimax/DESIGN.md +746 -0
- package/design-md/minimax/README.md +5 -0
- package/design-md/mintlify/DESIGN.md +852 -0
- package/design-md/mintlify/README.md +5 -0
- package/design-md/miro/DESIGN.md +825 -0
- package/design-md/miro/README.md +5 -0
- package/design-md/mistral.ai/DESIGN.md +773 -0
- package/design-md/mistral.ai/README.md +5 -0
- package/design-md/mongodb/DESIGN.md +767 -0
- package/design-md/mongodb/README.md +5 -0
- package/design-md/nike/DESIGN.md +575 -0
- package/design-md/nike/README.md +5 -0
- package/design-md/notion/DESIGN.md +821 -0
- package/design-md/notion/README.md +5 -0
- package/design-md/nvidia/DESIGN.md +640 -0
- package/design-md/nvidia/README.md +5 -0
- package/design-md/ollama/DESIGN.md +539 -0
- package/design-md/ollama/README.md +5 -0
- package/design-md/opencode.ai/DESIGN.md +521 -0
- package/design-md/opencode.ai/README.md +5 -0
- package/design-md/pinterest/DESIGN.md +597 -0
- package/design-md/pinterest/README.md +5 -0
- package/design-md/playstation/DESIGN.md +661 -0
- package/design-md/playstation/README.md +5 -0
- package/design-md/posthog/DESIGN.md +690 -0
- package/design-md/posthog/README.md +5 -0
- package/design-md/raycast/DESIGN.md +669 -0
- package/design-md/raycast/README.md +5 -0
- package/design-md/renault/DESIGN.md +589 -0
- package/design-md/renault/README.md +5 -0
- package/design-md/replicate/DESIGN.md +616 -0
- package/design-md/replicate/README.md +5 -0
- package/design-md/resend/DESIGN.md +585 -0
- package/design-md/resend/README.md +5 -0
- package/design-md/revolut/DESIGN.md +636 -0
- package/design-md/revolut/README.md +5 -0
- package/design-md/runwayml/DESIGN.md +244 -0
- package/design-md/runwayml/README.md +5 -0
- package/design-md/sanity/DESIGN.md +357 -0
- package/design-md/sanity/README.md +5 -0
- package/design-md/sentry/DESIGN.md +551 -0
- package/design-md/sentry/README.md +5 -0
- package/design-md/shopify/DESIGN.md +516 -0
- package/design-md/shopify/README.md +5 -0
- package/design-md/slack/DESIGN.md +482 -0
- package/design-md/spacex/DESIGN.md +363 -0
- package/design-md/spacex/README.md +5 -0
- package/design-md/spotify/DESIGN.md +246 -0
- package/design-md/spotify/README.md +5 -0
- package/design-md/starbucks/DESIGN.md +580 -0
- package/design-md/starbucks/README.md +5 -0
- package/design-md/stripe/DESIGN.md +487 -0
- package/design-md/stripe/README.md +5 -0
- package/design-md/supabase/DESIGN.md +462 -0
- package/design-md/supabase/README.md +5 -0
- package/design-md/superhuman/DESIGN.md +448 -0
- package/design-md/superhuman/README.md +5 -0
- package/design-md/tesla/DESIGN.md +286 -0
- package/design-md/tesla/README.md +5 -0
- package/design-md/theverge/DESIGN.md +339 -0
- package/design-md/theverge/README.md +5 -0
- package/design-md/together.ai/DESIGN.md +633 -0
- package/design-md/together.ai/README.md +5 -0
- package/design-md/uber/DESIGN.md +636 -0
- package/design-md/uber/README.md +5 -0
- package/design-md/vercel/DESIGN.md +736 -0
- package/design-md/vercel/README.md +5 -0
- package/design-md/vodafone/DESIGN.md +538 -0
- package/design-md/vodafone/README.md +5 -0
- package/design-md/voltagent/DESIGN.md +521 -0
- package/design-md/voltagent/README.md +5 -0
- package/design-md/warp/DESIGN.md +526 -0
- package/design-md/warp/README.md +5 -0
- package/design-md/webflow/DESIGN.md +588 -0
- package/design-md/webflow/README.md +5 -0
- package/design-md/wired/DESIGN.md +497 -0
- package/design-md/wired/README.md +5 -0
- package/design-md/wise/DESIGN.md +544 -0
- package/design-md/wise/README.md +5 -0
- package/design-md/x.ai/DESIGN.md +465 -0
- package/design-md/x.ai/README.md +5 -0
- package/design-md/zapier/DESIGN.md +537 -0
- package/design-md/zapier/README.md +5 -0
- package/package.json +31 -0
|
@@ -0,0 +1,767 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: alpha
|
|
3
|
+
name: MongoDB
|
|
4
|
+
description: MongoDB carries a strong dual-mode visual identity — dark deep-teal hero bands with bright MongoDB green ({colors.brand-green}) CTAs paired with stark white documentation surfaces. The signature green pill button is unmistakable across product, pricing, learning, and AI use-case surfaces. The system uses Euclid Circular A as its display face, anchors a 3-tier pricing comparison (Free / Flex / Dedicated), and presents extensive course catalogs in card grids with colored category tags. Coverage spans homepage, Atlas product page, Community Edition, MongoDB University, AI use cases, and pricing.
|
|
5
|
+
|
|
6
|
+
colors:
|
|
7
|
+
primary: "#00ed64"
|
|
8
|
+
primary-deep: "#00b545"
|
|
9
|
+
primary-pressed: "#008c34"
|
|
10
|
+
on-primary: "#001e2b"
|
|
11
|
+
brand-green: "#00ed64"
|
|
12
|
+
brand-green-dark: "#00684a"
|
|
13
|
+
brand-green-mid: "#00a35c"
|
|
14
|
+
brand-green-soft: "#c3f0d2"
|
|
15
|
+
brand-teal-deep: "#001e2b"
|
|
16
|
+
brand-teal: "#003d4f"
|
|
17
|
+
brand-teal-mid: "#00684a"
|
|
18
|
+
accent-purple: "#7b3ff2"
|
|
19
|
+
accent-orange: "#fa6e39"
|
|
20
|
+
accent-pink: "#f06bb8"
|
|
21
|
+
accent-blue: "#3d4f9f"
|
|
22
|
+
semantic-warning-bg: "#fff8e0"
|
|
23
|
+
semantic-warning-text: "#946f3f"
|
|
24
|
+
canvas: "#ffffff"
|
|
25
|
+
canvas-dark: "#001e2b"
|
|
26
|
+
surface: "#f9fbfa"
|
|
27
|
+
surface-soft: "#f4f7f6"
|
|
28
|
+
surface-feature: "#e3fcef"
|
|
29
|
+
hairline: "#e1e5e8"
|
|
30
|
+
hairline-soft: "#eceff1"
|
|
31
|
+
hairline-strong: "#c1ccd6"
|
|
32
|
+
hairline-dark: "#1c2d38"
|
|
33
|
+
ink: "#001e2b"
|
|
34
|
+
charcoal: "#1c2d38"
|
|
35
|
+
slate: "#3d4f5b"
|
|
36
|
+
steel: "#5c6c7a"
|
|
37
|
+
stone: "#7c8c9a"
|
|
38
|
+
muted: "#a8b3bc"
|
|
39
|
+
on-dark: "#ffffff"
|
|
40
|
+
on-dark-muted: "#a8b3bc"
|
|
41
|
+
|
|
42
|
+
typography:
|
|
43
|
+
hero-display:
|
|
44
|
+
fontFamily: Euclid Circular A
|
|
45
|
+
fontSize: 72px
|
|
46
|
+
fontWeight: 500
|
|
47
|
+
lineHeight: 1.10
|
|
48
|
+
letterSpacing: -1.5px
|
|
49
|
+
display-lg:
|
|
50
|
+
fontFamily: Euclid Circular A
|
|
51
|
+
fontSize: 56px
|
|
52
|
+
fontWeight: 500
|
|
53
|
+
lineHeight: 1.15
|
|
54
|
+
letterSpacing: -1px
|
|
55
|
+
heading-1:
|
|
56
|
+
fontFamily: Euclid Circular A
|
|
57
|
+
fontSize: 48px
|
|
58
|
+
fontWeight: 500
|
|
59
|
+
lineHeight: 1.20
|
|
60
|
+
letterSpacing: -0.5px
|
|
61
|
+
heading-2:
|
|
62
|
+
fontFamily: Euclid Circular A
|
|
63
|
+
fontSize: 36px
|
|
64
|
+
fontWeight: 500
|
|
65
|
+
lineHeight: 1.25
|
|
66
|
+
letterSpacing: -0.5px
|
|
67
|
+
heading-3:
|
|
68
|
+
fontFamily: Euclid Circular A
|
|
69
|
+
fontSize: 28px
|
|
70
|
+
fontWeight: 500
|
|
71
|
+
lineHeight: 1.30
|
|
72
|
+
heading-4:
|
|
73
|
+
fontFamily: Euclid Circular A
|
|
74
|
+
fontSize: 22px
|
|
75
|
+
fontWeight: 500
|
|
76
|
+
lineHeight: 1.35
|
|
77
|
+
heading-5:
|
|
78
|
+
fontFamily: Euclid Circular A
|
|
79
|
+
fontSize: 18px
|
|
80
|
+
fontWeight: 600
|
|
81
|
+
lineHeight: 1.40
|
|
82
|
+
subtitle:
|
|
83
|
+
fontFamily: Euclid Circular A
|
|
84
|
+
fontSize: 18px
|
|
85
|
+
fontWeight: 400
|
|
86
|
+
lineHeight: 1.50
|
|
87
|
+
body-md:
|
|
88
|
+
fontFamily: Euclid Circular A
|
|
89
|
+
fontSize: 16px
|
|
90
|
+
fontWeight: 400
|
|
91
|
+
lineHeight: 1.55
|
|
92
|
+
body-md-medium:
|
|
93
|
+
fontFamily: Euclid Circular A
|
|
94
|
+
fontSize: 16px
|
|
95
|
+
fontWeight: 500
|
|
96
|
+
lineHeight: 1.55
|
|
97
|
+
body-sm:
|
|
98
|
+
fontFamily: Euclid Circular A
|
|
99
|
+
fontSize: 14px
|
|
100
|
+
fontWeight: 400
|
|
101
|
+
lineHeight: 1.50
|
|
102
|
+
body-sm-medium:
|
|
103
|
+
fontFamily: Euclid Circular A
|
|
104
|
+
fontSize: 14px
|
|
105
|
+
fontWeight: 500
|
|
106
|
+
lineHeight: 1.50
|
|
107
|
+
caption:
|
|
108
|
+
fontFamily: Euclid Circular A
|
|
109
|
+
fontSize: 13px
|
|
110
|
+
fontWeight: 400
|
|
111
|
+
lineHeight: 1.40
|
|
112
|
+
caption-bold:
|
|
113
|
+
fontFamily: Euclid Circular A
|
|
114
|
+
fontSize: 13px
|
|
115
|
+
fontWeight: 600
|
|
116
|
+
lineHeight: 1.40
|
|
117
|
+
micro:
|
|
118
|
+
fontFamily: Euclid Circular A
|
|
119
|
+
fontSize: 12px
|
|
120
|
+
fontWeight: 500
|
|
121
|
+
lineHeight: 1.40
|
|
122
|
+
micro-uppercase:
|
|
123
|
+
fontFamily: Euclid Circular A
|
|
124
|
+
fontSize: 11px
|
|
125
|
+
fontWeight: 600
|
|
126
|
+
lineHeight: 1.40
|
|
127
|
+
letterSpacing: 1px
|
|
128
|
+
button-md:
|
|
129
|
+
fontFamily: Euclid Circular A
|
|
130
|
+
fontSize: 14px
|
|
131
|
+
fontWeight: 600
|
|
132
|
+
lineHeight: 1.30
|
|
133
|
+
code-md:
|
|
134
|
+
fontFamily: Source Code Pro
|
|
135
|
+
fontSize: 14px
|
|
136
|
+
fontWeight: 400
|
|
137
|
+
lineHeight: 1.55
|
|
138
|
+
|
|
139
|
+
rounded:
|
|
140
|
+
xs: 4px
|
|
141
|
+
sm: 6px
|
|
142
|
+
md: 8px
|
|
143
|
+
lg: 12px
|
|
144
|
+
xl: 16px
|
|
145
|
+
xxl: 24px
|
|
146
|
+
full: 9999px
|
|
147
|
+
|
|
148
|
+
spacing:
|
|
149
|
+
xxs: 4px
|
|
150
|
+
xs: 8px
|
|
151
|
+
sm: 12px
|
|
152
|
+
md: 16px
|
|
153
|
+
lg: 20px
|
|
154
|
+
xl: 24px
|
|
155
|
+
xxl: 32px
|
|
156
|
+
xxxl: 40px
|
|
157
|
+
section-sm: 48px
|
|
158
|
+
section: 64px
|
|
159
|
+
section-lg: 96px
|
|
160
|
+
hero: 120px
|
|
161
|
+
|
|
162
|
+
components:
|
|
163
|
+
button-primary:
|
|
164
|
+
backgroundColor: "{colors.brand-green}"
|
|
165
|
+
textColor: "{colors.on-primary}"
|
|
166
|
+
typography: "{typography.button-md}"
|
|
167
|
+
rounded: "{rounded.full}"
|
|
168
|
+
padding: "10px 22px"
|
|
169
|
+
button-primary-pressed:
|
|
170
|
+
backgroundColor: "{colors.primary-pressed}"
|
|
171
|
+
textColor: "{colors.on-primary}"
|
|
172
|
+
button-primary-disabled:
|
|
173
|
+
backgroundColor: "{colors.hairline}"
|
|
174
|
+
textColor: "{colors.muted}"
|
|
175
|
+
button-secondary:
|
|
176
|
+
backgroundColor: "transparent"
|
|
177
|
+
textColor: "{colors.ink}"
|
|
178
|
+
typography: "{typography.button-md}"
|
|
179
|
+
rounded: "{rounded.full}"
|
|
180
|
+
padding: "10px 22px"
|
|
181
|
+
border: "1px solid {colors.hairline-strong}"
|
|
182
|
+
button-on-dark:
|
|
183
|
+
backgroundColor: "{colors.brand-green}"
|
|
184
|
+
textColor: "{colors.on-primary}"
|
|
185
|
+
typography: "{typography.button-md}"
|
|
186
|
+
rounded: "{rounded.full}"
|
|
187
|
+
padding: "10px 22px"
|
|
188
|
+
button-secondary-on-dark:
|
|
189
|
+
backgroundColor: "transparent"
|
|
190
|
+
textColor: "{colors.on-dark}"
|
|
191
|
+
typography: "{typography.button-md}"
|
|
192
|
+
rounded: "{rounded.full}"
|
|
193
|
+
padding: "10px 22px"
|
|
194
|
+
border: "1px solid {colors.hairline-dark}"
|
|
195
|
+
button-ghost:
|
|
196
|
+
backgroundColor: "transparent"
|
|
197
|
+
textColor: "{colors.ink}"
|
|
198
|
+
typography: "{typography.button-md}"
|
|
199
|
+
rounded: "{rounded.md}"
|
|
200
|
+
padding: "8px 12px"
|
|
201
|
+
button-link:
|
|
202
|
+
backgroundColor: "transparent"
|
|
203
|
+
textColor: "{colors.brand-green-dark}"
|
|
204
|
+
typography: "{typography.body-sm-medium}"
|
|
205
|
+
padding: "0"
|
|
206
|
+
card-base:
|
|
207
|
+
backgroundColor: "{colors.canvas}"
|
|
208
|
+
rounded: "{rounded.lg}"
|
|
209
|
+
padding: "{spacing.xl}"
|
|
210
|
+
border: "1px solid {colors.hairline}"
|
|
211
|
+
card-feature:
|
|
212
|
+
backgroundColor: "{colors.canvas}"
|
|
213
|
+
rounded: "{rounded.lg}"
|
|
214
|
+
padding: "{spacing.xxl}"
|
|
215
|
+
border: "1px solid {colors.hairline}"
|
|
216
|
+
card-product-deploy:
|
|
217
|
+
backgroundColor: "{colors.canvas}"
|
|
218
|
+
rounded: "{rounded.lg}"
|
|
219
|
+
padding: "{spacing.xxl}"
|
|
220
|
+
border: "1px solid {colors.hairline}"
|
|
221
|
+
card-feature-dark:
|
|
222
|
+
backgroundColor: "{colors.brand-teal-deep}"
|
|
223
|
+
textColor: "{colors.on-dark}"
|
|
224
|
+
rounded: "{rounded.lg}"
|
|
225
|
+
padding: "{spacing.xxl}"
|
|
226
|
+
card-course:
|
|
227
|
+
backgroundColor: "{colors.canvas}"
|
|
228
|
+
rounded: "{rounded.lg}"
|
|
229
|
+
padding: "{spacing.xl}"
|
|
230
|
+
border: "1px solid {colors.hairline}"
|
|
231
|
+
card-cert:
|
|
232
|
+
backgroundColor: "{colors.canvas}"
|
|
233
|
+
rounded: "{rounded.lg}"
|
|
234
|
+
padding: "{spacing.xl}"
|
|
235
|
+
border: "1px solid {colors.hairline}"
|
|
236
|
+
pricing-card:
|
|
237
|
+
backgroundColor: "{colors.canvas}"
|
|
238
|
+
rounded: "{rounded.lg}"
|
|
239
|
+
padding: "{spacing.xxl}"
|
|
240
|
+
border: "1px solid {colors.hairline}"
|
|
241
|
+
pricing-card-featured:
|
|
242
|
+
backgroundColor: "{colors.surface-feature}"
|
|
243
|
+
rounded: "{rounded.lg}"
|
|
244
|
+
padding: "{spacing.xxl}"
|
|
245
|
+
border: "2px solid {colors.brand-green}"
|
|
246
|
+
text-input:
|
|
247
|
+
backgroundColor: "{colors.canvas}"
|
|
248
|
+
textColor: "{colors.ink}"
|
|
249
|
+
typography: "{typography.body-md}"
|
|
250
|
+
rounded: "{rounded.md}"
|
|
251
|
+
padding: "{spacing.sm} {spacing.md}"
|
|
252
|
+
border: "1px solid {colors.hairline-strong}"
|
|
253
|
+
height: 44px
|
|
254
|
+
text-input-focused:
|
|
255
|
+
backgroundColor: "{colors.canvas}"
|
|
256
|
+
textColor: "{colors.ink}"
|
|
257
|
+
border: "2px solid {colors.brand-green-dark}"
|
|
258
|
+
search-pill:
|
|
259
|
+
backgroundColor: "{colors.surface}"
|
|
260
|
+
textColor: "{colors.steel}"
|
|
261
|
+
typography: "{typography.body-md}"
|
|
262
|
+
rounded: "{rounded.md}"
|
|
263
|
+
padding: "{spacing.sm} {spacing.md}"
|
|
264
|
+
height: 44px
|
|
265
|
+
border: "1px solid {colors.hairline-strong}"
|
|
266
|
+
search-pill-large:
|
|
267
|
+
backgroundColor: "{colors.canvas}"
|
|
268
|
+
textColor: "{colors.steel}"
|
|
269
|
+
typography: "{typography.body-md}"
|
|
270
|
+
rounded: "{rounded.md}"
|
|
271
|
+
padding: "{spacing.md}"
|
|
272
|
+
height: 56px
|
|
273
|
+
border: "1px solid {colors.hairline-strong}"
|
|
274
|
+
pill-tab:
|
|
275
|
+
backgroundColor: "transparent"
|
|
276
|
+
textColor: "{colors.steel}"
|
|
277
|
+
typography: "{typography.body-sm-medium}"
|
|
278
|
+
rounded: "{rounded.full}"
|
|
279
|
+
padding: "{spacing.xs} {spacing.md}"
|
|
280
|
+
border: "1px solid {colors.hairline}"
|
|
281
|
+
pill-tab-active:
|
|
282
|
+
backgroundColor: "{colors.ink}"
|
|
283
|
+
textColor: "{colors.on-dark}"
|
|
284
|
+
rounded: "{rounded.full}"
|
|
285
|
+
border: "1px solid {colors.ink}"
|
|
286
|
+
segmented-tab:
|
|
287
|
+
backgroundColor: "transparent"
|
|
288
|
+
textColor: "{colors.steel}"
|
|
289
|
+
typography: "{typography.body-sm-medium}"
|
|
290
|
+
padding: "{spacing.sm} {spacing.md}"
|
|
291
|
+
border: "0 0 2px transparent solid"
|
|
292
|
+
segmented-tab-active:
|
|
293
|
+
backgroundColor: "transparent"
|
|
294
|
+
textColor: "{colors.brand-green-dark}"
|
|
295
|
+
typography: "{typography.body-sm-medium}"
|
|
296
|
+
border: "0 0 2px {colors.brand-green-dark} solid"
|
|
297
|
+
badge-green:
|
|
298
|
+
backgroundColor: "{colors.brand-green}"
|
|
299
|
+
textColor: "{colors.on-primary}"
|
|
300
|
+
typography: "{typography.caption-bold}"
|
|
301
|
+
rounded: "{rounded.sm}"
|
|
302
|
+
padding: "2px 8px"
|
|
303
|
+
badge-green-soft:
|
|
304
|
+
backgroundColor: "{colors.brand-green-soft}"
|
|
305
|
+
textColor: "{colors.brand-green-dark}"
|
|
306
|
+
typography: "{typography.caption-bold}"
|
|
307
|
+
rounded: "{rounded.full}"
|
|
308
|
+
padding: "4px 10px"
|
|
309
|
+
badge-purple:
|
|
310
|
+
backgroundColor: "{colors.accent-purple}"
|
|
311
|
+
textColor: "{colors.on-dark}"
|
|
312
|
+
typography: "{typography.caption-bold}"
|
|
313
|
+
rounded: "{rounded.sm}"
|
|
314
|
+
padding: "2px 8px"
|
|
315
|
+
badge-orange:
|
|
316
|
+
backgroundColor: "{colors.accent-orange}"
|
|
317
|
+
textColor: "{colors.on-dark}"
|
|
318
|
+
typography: "{typography.caption-bold}"
|
|
319
|
+
rounded: "{rounded.sm}"
|
|
320
|
+
padding: "2px 8px"
|
|
321
|
+
badge-popular:
|
|
322
|
+
backgroundColor: "{colors.brand-teal-deep}"
|
|
323
|
+
textColor: "{colors.brand-green}"
|
|
324
|
+
typography: "{typography.caption-bold}"
|
|
325
|
+
rounded: "{rounded.full}"
|
|
326
|
+
padding: "4px 10px"
|
|
327
|
+
promo-banner:
|
|
328
|
+
backgroundColor: "{colors.brand-teal-deep}"
|
|
329
|
+
textColor: "{colors.on-dark}"
|
|
330
|
+
typography: "{typography.body-sm-medium}"
|
|
331
|
+
padding: "{spacing.sm} {spacing.md}"
|
|
332
|
+
hero-band-dark:
|
|
333
|
+
backgroundColor: "{colors.brand-teal-deep}"
|
|
334
|
+
textColor: "{colors.on-dark}"
|
|
335
|
+
rounded: "0"
|
|
336
|
+
padding: "{spacing.hero}"
|
|
337
|
+
hero-platform-card:
|
|
338
|
+
backgroundColor: "{colors.brand-teal-mid}"
|
|
339
|
+
textColor: "{colors.on-dark}"
|
|
340
|
+
rounded: "{rounded.xl}"
|
|
341
|
+
padding: "{spacing.xxl}"
|
|
342
|
+
cta-banner-dark:
|
|
343
|
+
backgroundColor: "{colors.brand-teal-deep}"
|
|
344
|
+
textColor: "{colors.on-dark}"
|
|
345
|
+
rounded: "{rounded.lg}"
|
|
346
|
+
padding: "{spacing.section}"
|
|
347
|
+
code-block:
|
|
348
|
+
backgroundColor: "{colors.canvas-dark}"
|
|
349
|
+
textColor: "{colors.on-dark}"
|
|
350
|
+
typography: "{typography.code-md}"
|
|
351
|
+
rounded: "{rounded.md}"
|
|
352
|
+
padding: "{spacing.md}"
|
|
353
|
+
code-mockup-card:
|
|
354
|
+
backgroundColor: "{colors.canvas-dark}"
|
|
355
|
+
textColor: "{colors.on-dark}"
|
|
356
|
+
rounded: "{rounded.lg}"
|
|
357
|
+
padding: "{spacing.lg}"
|
|
358
|
+
comparison-table:
|
|
359
|
+
backgroundColor: "{colors.canvas}"
|
|
360
|
+
textColor: "{colors.ink}"
|
|
361
|
+
typography: "{typography.body-sm}"
|
|
362
|
+
rounded: "{rounded.md}"
|
|
363
|
+
border: "1px solid {colors.hairline}"
|
|
364
|
+
comparison-row:
|
|
365
|
+
backgroundColor: "{colors.canvas}"
|
|
366
|
+
textColor: "{colors.ink}"
|
|
367
|
+
padding: "{spacing.md} {spacing.lg}"
|
|
368
|
+
border: "0 0 1px {colors.hairline-soft} solid"
|
|
369
|
+
service-tile:
|
|
370
|
+
backgroundColor: "{colors.canvas}"
|
|
371
|
+
rounded: "{rounded.lg}"
|
|
372
|
+
padding: "{spacing.xl}"
|
|
373
|
+
border: "1px solid {colors.hairline}"
|
|
374
|
+
why-card:
|
|
375
|
+
backgroundColor: "{colors.surface}"
|
|
376
|
+
rounded: "{rounded.lg}"
|
|
377
|
+
padding: "{spacing.xl}"
|
|
378
|
+
customer-testimonial-card:
|
|
379
|
+
backgroundColor: "{colors.canvas}"
|
|
380
|
+
rounded: "{rounded.lg}"
|
|
381
|
+
padding: "{spacing.xxl}"
|
|
382
|
+
border: "1px solid {colors.hairline}"
|
|
383
|
+
logo-wall-item:
|
|
384
|
+
backgroundColor: "transparent"
|
|
385
|
+
textColor: "{colors.steel}"
|
|
386
|
+
typography: "{typography.body-md-medium}"
|
|
387
|
+
padding: "{spacing.lg}"
|
|
388
|
+
faq-accordion-item:
|
|
389
|
+
backgroundColor: "{colors.canvas}"
|
|
390
|
+
rounded: "{rounded.md}"
|
|
391
|
+
padding: "{spacing.xl}"
|
|
392
|
+
border: "0 0 1px {colors.hairline} solid"
|
|
393
|
+
footer-region:
|
|
394
|
+
backgroundColor: "{colors.brand-teal-deep}"
|
|
395
|
+
textColor: "{colors.on-dark}"
|
|
396
|
+
typography: "{typography.body-sm}"
|
|
397
|
+
padding: "{spacing.section} {spacing.xxl}"
|
|
398
|
+
footer-link:
|
|
399
|
+
backgroundColor: "transparent"
|
|
400
|
+
textColor: "{colors.on-dark-muted}"
|
|
401
|
+
typography: "{typography.body-sm}"
|
|
402
|
+
padding: "{spacing.xxs} 0"
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## Overview
|
|
406
|
+
|
|
407
|
+
MongoDB carries a strong dual-mode visual identity — dark deep-teal hero bands with the unmistakable bright MongoDB green ({colors.brand-green}) CTA pill paired with stark white documentation and pricing surfaces. The homepage opens with "One data platform. Unlimited AI potential." headline over a deep navy hero, the green pill sitting at the visual center as the primary CTA. Lower on the page, embedded code mockup cards (terminal-aesthetic) sit on the dark hero band, breaking out into white feature cards below. The pricing page renders a 3-tier comparison (Free / Flex / Dedicated) with a featured tier highlighted in soft mint background and bright green border. The MongoDB University page presents a course catalog grid where each tile carries a colored category tag (orange, purple, green, teal) — these are MongoDB's category-encoding accent colors and are the only place outside the brand green where saturated color appears.
|
|
408
|
+
|
|
409
|
+
The system uses Euclid Circular A as its display face. The face is contemporary geometric — confident but not overly playful — and pairs naturally with both the developer-tool aesthetic of the database product and the educational positioning of the learning surfaces. Cards use `{rounded.lg}` (12px) corners; buttons use `{rounded.full}` pills universally. The brand-teal palette ({colors.brand-teal-deep}) anchors hero bands, footer, code mockups, and the dark CTA banners.
|
|
410
|
+
|
|
411
|
+
**Key Characteristics:**
|
|
412
|
+
- Deep navy/teal hero bands ({colors.brand-teal-deep}) with bright MongoDB green ({colors.brand-green}) CTA pills
|
|
413
|
+
- Stark white pricing/documentation surfaces with colored category tags for course tiles (purple, orange, green, teal)
|
|
414
|
+
- Euclid Circular A across every UI surface
|
|
415
|
+
- Pill-shaped buttons ({rounded.full}) and 12px-rounded cards
|
|
416
|
+
- 3-tier pricing comparison (Free / Flex / Dedicated) with featured-mint highlight tier
|
|
417
|
+
- Code mockup cards with terminal-aesthetic dark canvas
|
|
418
|
+
|
|
419
|
+
## Colors
|
|
420
|
+
|
|
421
|
+
> Source pages: mongodb.com/ (homepage), /products/platform/atlas-database (Atlas product), /products/self-managed/community-edition, learn.mongodb.com/ (MongoDB University), /solutions/use-cases/artificial-intelligence (AI), /pricing (3-tier comparison). Token coverage was identical across all six pages.
|
|
422
|
+
|
|
423
|
+
### Brand & Accent
|
|
424
|
+
- **MongoDB Green** ({colors.brand-green}): The brand's most recognizable signal — bright pill-CTA color
|
|
425
|
+
- **Green Dark** ({colors.brand-green-dark}): Inline link color, secondary green
|
|
426
|
+
- **Green Mid** ({colors.brand-green-mid}): Mid-spectrum green for atmospheric tints
|
|
427
|
+
- **Green Soft** ({colors.brand-green-soft}): Pale-mint background tint for success badges and featured pricing tier
|
|
428
|
+
- **Brand Teal Deep** ({colors.brand-teal-deep}): Deep navy-teal for hero bands, footer
|
|
429
|
+
- **Brand Teal** ({colors.brand-teal}): Mid-spectrum teal
|
|
430
|
+
- **Brand Teal Mid** ({colors.brand-teal-mid}): Lighter teal for hero platform cards
|
|
431
|
+
|
|
432
|
+
### Category Accent (Course Tags)
|
|
433
|
+
- **Accent Purple** ({colors.accent-purple}): Course tag for "Database & Security"
|
|
434
|
+
- **Accent Orange** ({colors.accent-orange}): Course tag for "Search"
|
|
435
|
+
- **Accent Pink** ({colors.accent-pink}): Course tag variant
|
|
436
|
+
- **Accent Blue** ({colors.accent-blue}): Course tag variant for atlas/cloud topics
|
|
437
|
+
|
|
438
|
+
### Surface
|
|
439
|
+
- **Canvas White** ({colors.canvas}): Page background and primary card surface
|
|
440
|
+
- **Canvas Dark** ({colors.canvas-dark}): Code-block backgrounds, dark mockup canvas
|
|
441
|
+
- **Surface** ({colors.surface}): Subtle section backgrounds, search-pill rest
|
|
442
|
+
- **Surface Soft** ({colors.surface-soft}): Quieter section divisions
|
|
443
|
+
- **Surface Feature** ({colors.surface-feature}): Pale mint background for featured pricing tier
|
|
444
|
+
- **Hairline** ({colors.hairline}): 1px borders and primary dividers
|
|
445
|
+
- **Hairline Soft** ({colors.hairline-soft}): Quieter dividers
|
|
446
|
+
- **Hairline Strong** ({colors.hairline-strong}): Stronger 1px border for inputs
|
|
447
|
+
- **Hairline Dark** ({colors.hairline-dark}): Border on dark surfaces
|
|
448
|
+
|
|
449
|
+
### Text
|
|
450
|
+
- **Ink** ({colors.ink}): Primary headlines and body text (deep navy-teal)
|
|
451
|
+
- **Charcoal** ({colors.charcoal}): Body emphasis
|
|
452
|
+
- **Slate** ({colors.slate}): Secondary text
|
|
453
|
+
- **Steel** ({colors.steel}): Tertiary text, captions
|
|
454
|
+
- **Stone** ({colors.stone}): Muted labels
|
|
455
|
+
- **Muted** ({colors.muted}): Disabled, placeholders
|
|
456
|
+
- **On Dark** ({colors.on-dark}): White text on dark surfaces
|
|
457
|
+
- **On Dark Muted** ({colors.on-dark-muted}): Reduced-opacity white
|
|
458
|
+
|
|
459
|
+
### Semantic
|
|
460
|
+
- **Warning Background** ({colors.semantic-warning-bg}): Pale yellow callout bg
|
|
461
|
+
- **Warning Text** ({colors.semantic-warning-text}): Warning state copy color
|
|
462
|
+
|
|
463
|
+
## Typography
|
|
464
|
+
|
|
465
|
+
### Font Family
|
|
466
|
+
**Euclid Circular A** (primary): MongoDB's geometric sans-serif. Fallbacks: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif.
|
|
467
|
+
**Source Code Pro** (code): Monospace for code mockups. Fallbacks: 'SF Mono', Menlo, Consolas, monospace.
|
|
468
|
+
|
|
469
|
+
### Hierarchy
|
|
470
|
+
|
|
471
|
+
| Token | Size | Weight | Line Height | Letter Spacing | Use |
|
|
472
|
+
|---|---|---|---|---|---|
|
|
473
|
+
| `{typography.hero-display}` | 72px | 500 | 1.10 | -1.5px | Hero ("One data platform") |
|
|
474
|
+
| `{typography.display-lg}` | 56px | 500 | 1.15 | -1px | Major section openers |
|
|
475
|
+
| `{typography.heading-1}` | 48px | 500 | 1.20 | -0.5px | Page-level headlines |
|
|
476
|
+
| `{typography.heading-2}` | 36px | 500 | 1.25 | -0.5px | Subsection headlines |
|
|
477
|
+
| `{typography.heading-3}` | 28px | 500 | 1.30 | 0 | Card titles |
|
|
478
|
+
| `{typography.heading-4}` | 22px | 500 | 1.35 | 0 | Feature tile titles |
|
|
479
|
+
| `{typography.heading-5}` | 18px | 600 | 1.40 | 0 | Smaller card titles, FAQ questions |
|
|
480
|
+
| `{typography.subtitle}` | 18px | 400 | 1.50 | 0 | Hero subtitle, lead body |
|
|
481
|
+
| `{typography.body-md}` | 16px | 400 | 1.55 | 0 | Primary body text |
|
|
482
|
+
| `{typography.body-sm}` | 14px | 400 | 1.50 | 0 | Secondary body, table cells |
|
|
483
|
+
| `{typography.body-sm-medium}` | 14px | 500 | 1.50 | 0 | Active sidebar, button labels |
|
|
484
|
+
| `{typography.caption-bold}` | 13px | 600 | 1.40 | 0 | Badge labels |
|
|
485
|
+
| `{typography.micro-uppercase}` | 11px | 600 | 1.40 | 1px | Section eyebrows, course category tags |
|
|
486
|
+
| `{typography.button-md}` | 14px | 600 | 1.30 | 0 | Pill button labels |
|
|
487
|
+
| `{typography.code-md}` | 14px | 400 | 1.55 | 0 | Code mockups |
|
|
488
|
+
|
|
489
|
+
### Principles
|
|
490
|
+
- Tight hero leading (1.10) on 72px display
|
|
491
|
+
- Negative letter-spacing on display sizes (-1.5px to -0.5px)
|
|
492
|
+
- 600 weight reserved for buttons and small emphasis (FAQ headings, badges)
|
|
493
|
+
- Generous body leading (1.55) for technical documentation readability
|
|
494
|
+
|
|
495
|
+
## Layout
|
|
496
|
+
|
|
497
|
+
### Spacing System
|
|
498
|
+
- **Base unit**: 4px (8px primary increment)
|
|
499
|
+
- **Tokens**: `{spacing.xxs}` (4px) through `{spacing.hero}` (120px)
|
|
500
|
+
- **Section rhythm**: Marketing pages use `{spacing.section-lg}` (96px); pricing tightens to `{spacing.section}` (64px)
|
|
501
|
+
|
|
502
|
+
### Grid & Container
|
|
503
|
+
- 1280px max-width with 32px gutters
|
|
504
|
+
- Pricing: 3-tier card row, dense feature comparison table below
|
|
505
|
+
- Learn catalog: 3-up course tile grid, 4-up certification grid
|
|
506
|
+
- AI use cases: 2-column hero with atmospheric illustration
|
|
507
|
+
|
|
508
|
+
### Whitespace Philosophy
|
|
509
|
+
Marketing surfaces give content generous breathing room — `{spacing.hero}` (120px) hero padding for deep teal bands. Pricing/learn surfaces tighten dramatically.
|
|
510
|
+
|
|
511
|
+
## Elevation & Depth
|
|
512
|
+
|
|
513
|
+
| Level | Treatment | Use |
|
|
514
|
+
|---|---|---|
|
|
515
|
+
| 0 (flat) | No shadow; `{colors.hairline}` border | Default cards, table rows |
|
|
516
|
+
| 1 (subtle) | `rgba(0, 30, 43, 0.04) 0px 1px 2px 0px` | Hover-elevated tiles |
|
|
517
|
+
| 2 (card) | `rgba(0, 30, 43, 0.08) 0px 4px 12px 0px` | Feature cards |
|
|
518
|
+
| 3 (mockup) | `rgba(0, 30, 43, 0.12) 0px 12px 24px -4px` | Code mockup over hero |
|
|
519
|
+
| 4 (modal) | `rgba(0, 30, 43, 0.16) 0px 16px 48px -8px` | Modals, dropdowns |
|
|
520
|
+
|
|
521
|
+
### Decorative Depth
|
|
522
|
+
- Dark teal hero bands carry atmospheric gradient depth
|
|
523
|
+
- Code mockup cards on hero use canvas-dark surface with terminal aesthetic
|
|
524
|
+
- Pale-mint pricing-feature tier uses brand-tinted shadow
|
|
525
|
+
|
|
526
|
+
## Shapes
|
|
527
|
+
|
|
528
|
+
### Border Radius Scale
|
|
529
|
+
|
|
530
|
+
| Token | Value | Use |
|
|
531
|
+
|---|---|---|
|
|
532
|
+
| `{rounded.xs}` | 4px | Course category tags |
|
|
533
|
+
| `{rounded.sm}` | 6px | Type badges, code chips |
|
|
534
|
+
| `{rounded.md}` | 8px | Inputs, search-pill, code blocks |
|
|
535
|
+
| `{rounded.lg}` | 12px | Cards, pricing tiers, course tiles |
|
|
536
|
+
| `{rounded.xl}` | 16px | Larger feature panels |
|
|
537
|
+
| `{rounded.xxl}` | 24px | Featured product showcases |
|
|
538
|
+
| `{rounded.full}` | 9999px | All buttons, status badges |
|
|
539
|
+
|
|
540
|
+
### Photography Geometry
|
|
541
|
+
- Hero illustrations sit on full-bleed dark backgrounds
|
|
542
|
+
- Course tile thumbnails use `{rounded.lg}` corners
|
|
543
|
+
- Customer logos wall: wordmarks at consistent 60–80px height
|
|
544
|
+
|
|
545
|
+
## Components
|
|
546
|
+
|
|
547
|
+
> Per the no-hover policy, hover states are NOT documented. Default and pressed/active states only.
|
|
548
|
+
|
|
549
|
+
### Buttons
|
|
550
|
+
|
|
551
|
+
**`button-primary`** — Bright MongoDB green pill primary CTA, the dominant action.
|
|
552
|
+
- Background `{colors.brand-green}`, text `{colors.on-primary}` (deep navy), typography `{typography.button-md}`, padding `10px 22px`, rounded `{rounded.full}`.
|
|
553
|
+
- Pressed state `button-primary-pressed` deepens to `{colors.primary-pressed}`.
|
|
554
|
+
- Disabled state `button-primary-disabled` uses `{colors.hairline}` background.
|
|
555
|
+
|
|
556
|
+
**`button-secondary`** — Outlined pill for secondary actions.
|
|
557
|
+
- Background transparent, text `{colors.ink}`, border `1px solid {colors.hairline-strong}`, typography `{typography.button-md}`, padding `10px 22px`, rounded `{rounded.full}`.
|
|
558
|
+
|
|
559
|
+
**`button-on-dark`** — Bright green pill on dark hero bands.
|
|
560
|
+
- Background `{colors.brand-green}`, text `{colors.on-primary}`, typography `{typography.button-md}`, padding `10px 22px`, rounded `{rounded.full}`.
|
|
561
|
+
|
|
562
|
+
**`button-secondary-on-dark`** — Outlined pill on dark backgrounds.
|
|
563
|
+
- Background transparent, text `{colors.on-dark}`, border `1px solid {colors.hairline-dark}`, typography `{typography.button-md}`, padding `10px 22px`, rounded `{rounded.full}`.
|
|
564
|
+
|
|
565
|
+
**`button-ghost`** — Quieter rectangular ghost button.
|
|
566
|
+
- Background transparent, text `{colors.ink}`, typography `{typography.button-md}`, padding `8px 12px`, rounded `{rounded.md}`.
|
|
567
|
+
|
|
568
|
+
**`button-link`** — Inline green text link.
|
|
569
|
+
- Background transparent, text `{colors.brand-green-dark}`, typography `{typography.body-sm-medium}`, padding `0`.
|
|
570
|
+
|
|
571
|
+
### Cards & Containers
|
|
572
|
+
|
|
573
|
+
**`card-base`** — Standard content card.
|
|
574
|
+
- Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xl}`, border `1px solid {colors.hairline}`.
|
|
575
|
+
|
|
576
|
+
**`card-feature`** — Feature card with larger padding.
|
|
577
|
+
- Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `1px solid {colors.hairline}`.
|
|
578
|
+
|
|
579
|
+
**`card-product-deploy`** — Product deployment card ("MongoDB Atlas / Community").
|
|
580
|
+
- Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `1px solid {colors.hairline}`.
|
|
581
|
+
|
|
582
|
+
**`card-feature-dark`** — Dark teal feature card on hero band.
|
|
583
|
+
- Background `{colors.brand-teal-deep}`, text `{colors.on-dark}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`.
|
|
584
|
+
|
|
585
|
+
**`card-course`** — MongoDB University course tile.
|
|
586
|
+
- Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xl}`, border `1px solid {colors.hairline}`.
|
|
587
|
+
- Top: colored category tag. Below: title `{typography.heading-5}`, description `{typography.body-sm}`, "Get Started →" link.
|
|
588
|
+
|
|
589
|
+
**`card-cert`** — Certification card.
|
|
590
|
+
- Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xl}`, border `1px solid {colors.hairline}`.
|
|
591
|
+
|
|
592
|
+
**`pricing-card`** — Standard pricing tier card.
|
|
593
|
+
- Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `1px solid {colors.hairline}`.
|
|
594
|
+
|
|
595
|
+
**`pricing-card-featured`** — Featured pricing tier (Flex tier, mint background + green border).
|
|
596
|
+
- Background `{colors.surface-feature}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `2px solid {colors.brand-green}`.
|
|
597
|
+
|
|
598
|
+
### Inputs & Forms
|
|
599
|
+
|
|
600
|
+
**`text-input`** — Standard text field.
|
|
601
|
+
- Background `{colors.canvas}`, text `{colors.ink}`, border `1px solid {colors.hairline-strong}`, rounded `{rounded.md}`, padding `{spacing.sm} {spacing.md}`, height 44px.
|
|
602
|
+
|
|
603
|
+
**`text-input-focused`** — Activated state.
|
|
604
|
+
- Border switches to `2px solid {colors.brand-green-dark}`.
|
|
605
|
+
|
|
606
|
+
**`search-pill`** — Standard 44px search bar.
|
|
607
|
+
- Background `{colors.surface}`, text `{colors.steel}`, typography `{typography.body-md}`, rounded `{rounded.md}`, height 44px, border `1px solid {colors.hairline-strong}`.
|
|
608
|
+
|
|
609
|
+
**`search-pill-large`** — Large 56px search bar (top of MongoDB University catalog).
|
|
610
|
+
- Background `{colors.canvas}`, text `{colors.steel}`, typography `{typography.body-md}`, rounded `{rounded.md}`, height 56px, border `1px solid {colors.hairline-strong}`.
|
|
611
|
+
|
|
612
|
+
### Tabs
|
|
613
|
+
|
|
614
|
+
**`pill-tab`** + **`pill-tab-active`** — Pill-style tab nav (top of pricing: "MongoDB Atlas / Enterprise Advanced").
|
|
615
|
+
- Inactive: text `{colors.steel}`, border `1px solid {colors.hairline}`, padding `{spacing.xs} {spacing.md}`, rounded `{rounded.full}`.
|
|
616
|
+
- Active: background `{colors.ink}`, text `{colors.on-dark}`.
|
|
617
|
+
|
|
618
|
+
**`segmented-tab`** + **`segmented-tab-active`** — Underline-style tab navigation.
|
|
619
|
+
- Inactive: text `{colors.steel}`, no border. Active: text `{colors.brand-green-dark}`, 2px bottom border in `{colors.brand-green-dark}`.
|
|
620
|
+
|
|
621
|
+
### Badges & Status
|
|
622
|
+
|
|
623
|
+
**`badge-green`** — Bright green badge for new product highlights.
|
|
624
|
+
- Background `{colors.brand-green}`, text `{colors.on-primary}`, typography `{typography.caption-bold}`, rounded `{rounded.sm}`, padding `2px 8px`.
|
|
625
|
+
|
|
626
|
+
**`badge-green-soft`** — Pale-mint pill for success/free indicators.
|
|
627
|
+
- Background `{colors.brand-green-soft}`, text `{colors.brand-green-dark}`, typography `{typography.caption-bold}`, rounded `{rounded.full}`, padding `4px 10px`.
|
|
628
|
+
|
|
629
|
+
**`badge-purple`** — Purple course category tag.
|
|
630
|
+
- Background `{colors.accent-purple}`, text `{colors.on-dark}`, typography `{typography.caption-bold}`, rounded `{rounded.sm}`, padding `2px 8px`.
|
|
631
|
+
|
|
632
|
+
**`badge-orange`** — Orange course category tag.
|
|
633
|
+
- Background `{colors.accent-orange}`, text `{colors.on-dark}`, typography `{typography.caption-bold}`, rounded `{rounded.sm}`, padding `2px 8px`.
|
|
634
|
+
|
|
635
|
+
**`badge-popular`** — "Most Popular" tier indicator (dark teal pill with green text).
|
|
636
|
+
- Background `{colors.brand-teal-deep}`, text `{colors.brand-green}`, typography `{typography.caption-bold}`, rounded `{rounded.full}`, padding `4px 10px`.
|
|
637
|
+
|
|
638
|
+
**`promo-banner`** — Dark teal sticky promo strip ABOVE the top nav.
|
|
639
|
+
- Background `{colors.brand-teal-deep}`, text `{colors.on-dark}`, typography `{typography.body-sm-medium}`, padding `{spacing.sm} {spacing.md}`.
|
|
640
|
+
|
|
641
|
+
### Code
|
|
642
|
+
|
|
643
|
+
**`code-block`** — Code container.
|
|
644
|
+
- Background `{colors.canvas-dark}`, text `{colors.on-dark}`, typography `{typography.code-md}`, rounded `{rounded.md}`, padding `{spacing.md}`.
|
|
645
|
+
|
|
646
|
+
**`code-mockup-card`** — Embedded code mockup on hero band.
|
|
647
|
+
- Background `{colors.canvas-dark}`, text `{colors.on-dark}`, rounded `{rounded.lg}`, padding `{spacing.lg}`. Carries terminal-aesthetic code snippet.
|
|
648
|
+
|
|
649
|
+
### Tables
|
|
650
|
+
|
|
651
|
+
**`comparison-table`** — Pricing feature comparison table.
|
|
652
|
+
- Background `{colors.canvas}`, text `{colors.ink}`, typography `{typography.body-sm}`, rounded `{rounded.md}`, border `1px solid {colors.hairline}`.
|
|
653
|
+
|
|
654
|
+
**`comparison-row`** — Individual feature row.
|
|
655
|
+
- Background `{colors.canvas}`, text `{colors.ink}`, padding `{spacing.md} {spacing.lg}`, bottom border `1px solid {colors.hairline-soft}`.
|
|
656
|
+
|
|
657
|
+
### Documentation Components
|
|
658
|
+
|
|
659
|
+
**`service-tile`** — Tile in "Customize your deployment" 6-up grid.
|
|
660
|
+
- Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xl}`, border `1px solid {colors.hairline}`.
|
|
661
|
+
|
|
662
|
+
**`why-card`** — "Loved by builders" feature card.
|
|
663
|
+
- Background `{colors.surface}`, rounded `{rounded.lg}`, padding `{spacing.xl}`.
|
|
664
|
+
|
|
665
|
+
**`customer-testimonial-card`** — Customer quote card.
|
|
666
|
+
- Background `{colors.canvas}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`, border `1px solid {colors.hairline}`.
|
|
667
|
+
|
|
668
|
+
**`logo-wall-item`** — Customer logo wordmark cell.
|
|
669
|
+
- Background transparent, text `{colors.steel}`, typography `{typography.body-md-medium}`, padding `{spacing.lg}`.
|
|
670
|
+
|
|
671
|
+
**`faq-accordion-item`** — FAQ panel.
|
|
672
|
+
- Background `{colors.canvas}`, rounded `{rounded.md}`, padding `{spacing.xl}`, bottom border `1px solid {colors.hairline}`.
|
|
673
|
+
|
|
674
|
+
### Navigation
|
|
675
|
+
|
|
676
|
+
**Top Navigation (Marketing)** — Sticky white bar.
|
|
677
|
+
- Background `{colors.canvas}`, height ~64px, bottom border `1px solid {colors.hairline}`.
|
|
678
|
+
- Left: MongoDB leaf logo + "Solutions / Resources / Company / Pricing" links.
|
|
679
|
+
- Right: "Sign In" link + bright-green pill "Try Free" CTA.
|
|
680
|
+
|
|
681
|
+
### Signature Components
|
|
682
|
+
|
|
683
|
+
**`hero-band-dark`** — Deep teal hero band with embedded code mockup.
|
|
684
|
+
- Background `{colors.brand-teal-deep}`, text `{colors.on-dark}`, padding `{spacing.hero}`.
|
|
685
|
+
- Layout: centered headline `{typography.hero-display}`, subtitle, button row, `code-mockup-card` below.
|
|
686
|
+
|
|
687
|
+
**`hero-platform-card`** — Lighter-teal platform showcase card on dark hero.
|
|
688
|
+
- Background `{colors.brand-teal-mid}`, text `{colors.on-dark}`, rounded `{rounded.xl}`, padding `{spacing.xxl}`.
|
|
689
|
+
|
|
690
|
+
**`cta-banner-dark`** — Dark CTA banner at the bottom of feature pages.
|
|
691
|
+
- Background `{colors.brand-teal-deep}`, text `{colors.on-dark}`, rounded `{rounded.lg}`, padding `{spacing.section}`.
|
|
692
|
+
|
|
693
|
+
**`footer-region`** — Dark teal multi-column footer.
|
|
694
|
+
- Background `{colors.brand-teal-deep}`, padding `{spacing.section} {spacing.xxl}`.
|
|
695
|
+
- 6-column link grid.
|
|
696
|
+
- Section headings in `{typography.body-sm-medium}` `{colors.on-dark}`.
|
|
697
|
+
|
|
698
|
+
**`footer-link`** — Individual footer link.
|
|
699
|
+
- Background transparent, text `{colors.on-dark-muted}`, typography `{typography.body-sm}`, padding `{spacing.xxs} 0`.
|
|
700
|
+
|
|
701
|
+
## Do's and Don'ts
|
|
702
|
+
|
|
703
|
+
### Do
|
|
704
|
+
- Use `{colors.brand-green}` (bright MongoDB green) for primary CTAs everywhere
|
|
705
|
+
- Pair dark-teal hero bands with bright green CTA pills
|
|
706
|
+
- Apply `{rounded.full}` to every button, every status badge
|
|
707
|
+
- Apply `{rounded.lg}` (12px) to cards consistently
|
|
708
|
+
- Use category accent colors (purple, orange, green, teal) ONLY for course tags
|
|
709
|
+
- Maintain Euclid Circular A across every UI surface
|
|
710
|
+
- Use code mockup cards with terminal-aesthetic content for product showcases
|
|
711
|
+
|
|
712
|
+
### Don't
|
|
713
|
+
- Don't use the bright green for body text or large surfaces
|
|
714
|
+
- Don't introduce additional accent colors beyond the brand green and category-encoding palette
|
|
715
|
+
- Don't soften corners on buttons; the pill is a brand signature
|
|
716
|
+
- Don't replace deep teal hero bands with white hero bands
|
|
717
|
+
- Don't apply heavy shadows on flat documentation cards; reserve elevation for code mockups
|
|
718
|
+
- Don't use Source Code Pro for prose
|
|
719
|
+
|
|
720
|
+
## Responsive Behavior
|
|
721
|
+
|
|
722
|
+
### Breakpoints
|
|
723
|
+
| Name | Width | Key Changes |
|
|
724
|
+
|---|---|---|
|
|
725
|
+
| Mobile (small) | < 480px | Single column. Hero 36px. Pricing 1-up. Course catalog 1-up. |
|
|
726
|
+
| Mobile (large) | 480 – 767px | Course tiles 2-up. Hero 48px. |
|
|
727
|
+
| Tablet | 768 – 1023px | 2-column feature grids. Hero 56px. |
|
|
728
|
+
| Desktop | 1024 – 1279px | 3-tier pricing card row. 3-up course catalog. Hero 64px. |
|
|
729
|
+
| Wide Desktop | ≥ 1280px | Full 72px hero presentation. |
|
|
730
|
+
|
|
731
|
+
### Touch Targets
|
|
732
|
+
- Pill buttons render at 40–44px effective height
|
|
733
|
+
- Form inputs render at 44px height
|
|
734
|
+
- Search pill (large) renders at 56px
|
|
735
|
+
- Pill tabs ~32px → 44px on mobile
|
|
736
|
+
|
|
737
|
+
### Collapsing Strategy
|
|
738
|
+
- **Promo banner** stays full-width; truncates at < 480px
|
|
739
|
+
- **Top nav** below 1024px collapses to hamburger
|
|
740
|
+
- **Hero band**: code mockup card moves below text on mobile
|
|
741
|
+
- **Pricing tiers**: 3-column → 2-column tablet → 1-column mobile
|
|
742
|
+
- **Course catalog**: 3-up → 2-up tablet → 1-up mobile
|
|
743
|
+
- **Hero typography**: 72px → 56px → 48px → 36px
|
|
744
|
+
- **Footer**: 6-column desktop → 3-column tablet → accordion mobile
|
|
745
|
+
|
|
746
|
+
### Image Behavior
|
|
747
|
+
- Atmospheric AI imagery uses 16:9 ratio with full-bleed scaling
|
|
748
|
+
- Code mockup card content remains readable across breakpoints
|
|
749
|
+
- Customer logo wall: wordmarks at consistent 60–80px height
|
|
750
|
+
|
|
751
|
+
## Iteration Guide
|
|
752
|
+
|
|
753
|
+
1. Focus on ONE component at a time
|
|
754
|
+
2. Reference component names and tokens directly
|
|
755
|
+
3. Run `npx @google/design.md lint DESIGN.md` after edits
|
|
756
|
+
4. Add new variants as separate `components:` entries
|
|
757
|
+
5. Default to `{typography.body-md}` for body
|
|
758
|
+
6. Keep `{colors.brand-green}` as the primary CTA across all surfaces
|
|
759
|
+
7. Pill-shaped buttons (`{rounded.full}`) always
|
|
760
|
+
8. Dark-teal hero bands frame primary CTAs
|
|
761
|
+
|
|
762
|
+
## Known Gaps
|
|
763
|
+
|
|
764
|
+
- Specific dark-mode token values for canvas/surface beyond hero bands not surfaced
|
|
765
|
+
- Animation/transition timings not extracted; recommend 150–200ms ease
|
|
766
|
+
- Form validation success state not explicitly captured
|
|
767
|
+
- Course-tile category color mappings are observation-based
|