@orange-halo/tokens 1.0.0 → 2.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/contrast-pairs.json +36 -0
- package/contrast.js +59 -0
- package/dist/brands/hood-dark.css +74 -0
- package/dist/brands/hood-dark.json +719 -0
- package/dist/brands/hood.css +433 -0
- package/dist/brands/hood.json +719 -0
- package/dist/brands/orange-halo-dark.css +78 -0
- package/dist/brands/orange-halo-dark.json +853 -0
- package/dist/brands/orange-halo.css +511 -0
- package/dist/brands/orange-halo.json +853 -0
- package/dist/themes/dark.css +70 -119
- package/dist/themes/dark.json +853 -0
- package/dist/tokens.css +213 -101
- package/dist/tokens.js +212 -82
- package/dist/tokens.json +273 -87
- package/package.json +9 -4
- package/tokens/brands/hood/brand.json +5 -0
- package/tokens/brands/hood/dark.tokens.json +295 -0
- package/tokens/brands/hood/light.tokens.json +875 -0
- package/tokens/brands/hood/palette.tokens.json +130 -0
- package/tokens/brands/orange-halo/brand.json +5 -0
- package/tokens/brands/orange-halo/dark.tokens.json +99 -0
- package/tokens/brands/orange-halo/light.tokens.json +880 -0
- package/tokens/brands/orange-halo/palette.tokens.json +800 -0
- package/tokens/{component.tokens.json → core/component.tokens.json} +89 -41
- package/tokens/core/scales.tokens.json +170 -0
- package/dist/themes/light.css +0 -46
- package/tokens/global.tokens.json +0 -230
- package/tokens/semantic.tokens.json +0 -219
- package/tokens/themes/dark.tokens.json +0 -73
- package/tokens/themes/light.tokens.json +0 -57
|
@@ -0,0 +1,880 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "Semantic Design Tokens — Orange Halo Visual DNA. Purpose-driven warmth.",
|
|
3
|
+
"color": {
|
|
4
|
+
"brand": {
|
|
5
|
+
"$description": "Brand colors — Orange Halo warmth",
|
|
6
|
+
"primary": {
|
|
7
|
+
"$type": "color",
|
|
8
|
+
"$value": "{color.orange.900}",
|
|
9
|
+
"$description": "Primary brand action — WCAG AA"
|
|
10
|
+
},
|
|
11
|
+
"primaryHover": {
|
|
12
|
+
"$type": "color",
|
|
13
|
+
"$value": "{color.orange.950}",
|
|
14
|
+
"$description": "Hover state"
|
|
15
|
+
},
|
|
16
|
+
"primaryActive": {
|
|
17
|
+
"$type": "color",
|
|
18
|
+
"$value": "{color.orange.950}",
|
|
19
|
+
"$description": "Active/pressed state"
|
|
20
|
+
},
|
|
21
|
+
"primarySubtle": {
|
|
22
|
+
"$type": "color",
|
|
23
|
+
"$value": "{color.orange.50}",
|
|
24
|
+
"$description": "Subtle tint"
|
|
25
|
+
},
|
|
26
|
+
"highlight": {
|
|
27
|
+
"$type": "color",
|
|
28
|
+
"$value": "{color.honey.400}",
|
|
29
|
+
"$description": "Golden accent"
|
|
30
|
+
},
|
|
31
|
+
"highlightSubtle": {
|
|
32
|
+
"$type": "color",
|
|
33
|
+
"$value": "{color.honey.100}"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"accent": {
|
|
37
|
+
"$description": "Blue accent — modern counterbalance for CTAs",
|
|
38
|
+
"default": {
|
|
39
|
+
"$type": "color",
|
|
40
|
+
"$value": "{color.blue.500}",
|
|
41
|
+
"$description": "Signature blue accent"
|
|
42
|
+
},
|
|
43
|
+
"hover": {
|
|
44
|
+
"$type": "color",
|
|
45
|
+
"$value": "{color.blue.600}"
|
|
46
|
+
},
|
|
47
|
+
"active": {
|
|
48
|
+
"$type": "color",
|
|
49
|
+
"$value": "{color.blue.700}"
|
|
50
|
+
},
|
|
51
|
+
"subtle": {
|
|
52
|
+
"$type": "color",
|
|
53
|
+
"$value": "{color.blue.50}"
|
|
54
|
+
},
|
|
55
|
+
"shadow": {
|
|
56
|
+
"$type": "color",
|
|
57
|
+
"$value": "{color.blue.200}",
|
|
58
|
+
"$description": "Chunky shadow for accent"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"feedback": {
|
|
62
|
+
"$description": "Feedback colors — warm-tinted",
|
|
63
|
+
"success": {
|
|
64
|
+
"$type": "color",
|
|
65
|
+
"$value": "{color.green.700}",
|
|
66
|
+
"$description": "5.2:1 on successSubtle — green.600 failed AA for text"
|
|
67
|
+
},
|
|
68
|
+
"successSubtle": {
|
|
69
|
+
"$type": "color",
|
|
70
|
+
"$value": "{color.green.50}"
|
|
71
|
+
},
|
|
72
|
+
"error": {
|
|
73
|
+
"$type": "color",
|
|
74
|
+
"$value": "{color.red.600}"
|
|
75
|
+
},
|
|
76
|
+
"errorHover": {
|
|
77
|
+
"$type": "color",
|
|
78
|
+
"$value": "{color.red.700}",
|
|
79
|
+
"$description": "Error hover/active state"
|
|
80
|
+
},
|
|
81
|
+
"errorSubtle": {
|
|
82
|
+
"$type": "color",
|
|
83
|
+
"$value": "{color.red.50}"
|
|
84
|
+
},
|
|
85
|
+
"errorShadow": {
|
|
86
|
+
"$type": "color",
|
|
87
|
+
"$value": "{shadow.chunky.error}",
|
|
88
|
+
"$description": "Error shadow color"
|
|
89
|
+
},
|
|
90
|
+
"warning": {
|
|
91
|
+
"$type": "color",
|
|
92
|
+
"$value": "{color.honey.700}"
|
|
93
|
+
},
|
|
94
|
+
"warningSubtle": {
|
|
95
|
+
"$type": "color",
|
|
96
|
+
"$value": "{color.honey.50}"
|
|
97
|
+
},
|
|
98
|
+
"info": {
|
|
99
|
+
"$type": "color",
|
|
100
|
+
"$value": "{color.blue.500}"
|
|
101
|
+
},
|
|
102
|
+
"infoSubtle": {
|
|
103
|
+
"$type": "color",
|
|
104
|
+
"$value": "{color.blue.50}"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"surface": {
|
|
108
|
+
"$description": "Surface system — designed surfaces, not flat planes",
|
|
109
|
+
"base": {
|
|
110
|
+
"$type": "color",
|
|
111
|
+
"$value": "{color.warm.cream}",
|
|
112
|
+
"$description": "Page background — warm off-white"
|
|
113
|
+
},
|
|
114
|
+
"raised": {
|
|
115
|
+
"$type": "color",
|
|
116
|
+
"$value": "{color.warm.linen}",
|
|
117
|
+
"$description": "Cards, panels — slight lift"
|
|
118
|
+
},
|
|
119
|
+
"sunlit": {
|
|
120
|
+
"$type": "color",
|
|
121
|
+
"$value": "{color.warm.cream}",
|
|
122
|
+
"$description": "Featured — use with gradient"
|
|
123
|
+
},
|
|
124
|
+
"inset": {
|
|
125
|
+
"$type": "color",
|
|
126
|
+
"$value": "{color.warm.parchment}",
|
|
127
|
+
"$description": "Inputs, wells — pressed in"
|
|
128
|
+
},
|
|
129
|
+
"highlight": {
|
|
130
|
+
"$type": "color",
|
|
131
|
+
"$value": "{color.white}",
|
|
132
|
+
"$description": "Brightest surface — focused inputs, top of raised gradients"
|
|
133
|
+
},
|
|
134
|
+
"overlay": {
|
|
135
|
+
"$type": "color",
|
|
136
|
+
"$value": "rgba(61, 50, 41, 0.4)",
|
|
137
|
+
"$description": "Modal backdrop — warm"
|
|
138
|
+
},
|
|
139
|
+
"disabled": {
|
|
140
|
+
"$type": "color",
|
|
141
|
+
"$value": "{color.warm.sand}",
|
|
142
|
+
"$description": "Quiet disabled"
|
|
143
|
+
},
|
|
144
|
+
"hover": {
|
|
145
|
+
"$type": "color",
|
|
146
|
+
"$value": "#FFF4E6",
|
|
147
|
+
"$description": "Warm hover tint"
|
|
148
|
+
},
|
|
149
|
+
"activePressed": {
|
|
150
|
+
"$type": "color",
|
|
151
|
+
"$value": "#F0EBE3",
|
|
152
|
+
"$description": "Active/pressed surface"
|
|
153
|
+
},
|
|
154
|
+
"featuredStart": {
|
|
155
|
+
"$type": "color",
|
|
156
|
+
"$value": "{color.warm.dawn}",
|
|
157
|
+
"$description": "Featured (sunlit) card gradient: top"
|
|
158
|
+
},
|
|
159
|
+
"featuredMid": {
|
|
160
|
+
"$type": "color",
|
|
161
|
+
"$value": "{color.warm.shell}",
|
|
162
|
+
"$description": "Featured (sunlit) card gradient: 30%"
|
|
163
|
+
},
|
|
164
|
+
"featuredEnd": {
|
|
165
|
+
"$type": "color",
|
|
166
|
+
"$value": "{color.warm.biscuit}",
|
|
167
|
+
"$description": "Featured (sunlit) card gradient: bottom"
|
|
168
|
+
},
|
|
169
|
+
"sheen": {
|
|
170
|
+
"$type": "color",
|
|
171
|
+
"$value": "rgba(255, 255, 255, 0.5)",
|
|
172
|
+
"$description": "Light glaze at the top of card headers, fading to transparent"
|
|
173
|
+
},
|
|
174
|
+
"backdrop": {
|
|
175
|
+
"$type": "color",
|
|
176
|
+
"$value": "rgba(61, 50, 41, 0.6)",
|
|
177
|
+
"$description": "Modal backdrop — darker than surface.overlay so the dialog stands out"
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"border": {
|
|
181
|
+
"$description": "Border colors — visible and intentional",
|
|
182
|
+
"default": {
|
|
183
|
+
"$type": "color",
|
|
184
|
+
"$value": "{color.warm.sand}",
|
|
185
|
+
"$description": "Standard border"
|
|
186
|
+
},
|
|
187
|
+
"subtle": {
|
|
188
|
+
"$type": "color",
|
|
189
|
+
"$value": "{color.warm.parchment}",
|
|
190
|
+
"$description": "Subtle dividers"
|
|
191
|
+
},
|
|
192
|
+
"emphasis": {
|
|
193
|
+
"$type": "color",
|
|
194
|
+
"$value": "{color.warm.driftwood}",
|
|
195
|
+
"$description": "Strong border for form elements"
|
|
196
|
+
},
|
|
197
|
+
"strong": {
|
|
198
|
+
"$type": "color",
|
|
199
|
+
"$value": "{color.warm.dune}",
|
|
200
|
+
"$description": "Neutral edge between default and emphasis — card hover, drawer edge. Decorative, not a 3:1 control border"
|
|
201
|
+
},
|
|
202
|
+
"hover": {
|
|
203
|
+
"$type": "color",
|
|
204
|
+
"$value": "{color.terracotta.600}",
|
|
205
|
+
"$description": "Hover border — darker for feedback"
|
|
206
|
+
},
|
|
207
|
+
"disabled": {
|
|
208
|
+
"$type": "color",
|
|
209
|
+
"$value": "{color.warm.parchment}"
|
|
210
|
+
},
|
|
211
|
+
"brand": {
|
|
212
|
+
"$type": "color",
|
|
213
|
+
"$value": "rgba(197, 67, 0, 0.25)",
|
|
214
|
+
"$description": "Brand-tinted border"
|
|
215
|
+
},
|
|
216
|
+
"brandHover": {
|
|
217
|
+
"$type": "color",
|
|
218
|
+
"$value": "rgba(197, 67, 0, 0.35)",
|
|
219
|
+
"$description": "Brand-tinted border on hover. Decorative container edge — not a focus or control border"
|
|
220
|
+
},
|
|
221
|
+
"divider": {
|
|
222
|
+
"$type": "color",
|
|
223
|
+
"$value": "rgba(226, 213, 200, 0.6)",
|
|
224
|
+
"$description": "Decorative divider inside a container, such as a card's header and footer"
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
"text": {
|
|
228
|
+
"$description": "Text colors — calm and readable, not stark",
|
|
229
|
+
"primary": {
|
|
230
|
+
"$type": "color",
|
|
231
|
+
"$value": "{color.warm.walnut}",
|
|
232
|
+
"$description": "Primary text — warm brown"
|
|
233
|
+
},
|
|
234
|
+
"secondary": {
|
|
235
|
+
"$type": "color",
|
|
236
|
+
"$value": "{color.warm.driftwood}",
|
|
237
|
+
"$description": "Secondary text"
|
|
238
|
+
},
|
|
239
|
+
"disabled": {
|
|
240
|
+
"$type": "color",
|
|
241
|
+
"$value": "{color.warm.dune}",
|
|
242
|
+
"$description": "Disabled text"
|
|
243
|
+
},
|
|
244
|
+
"inverse": {
|
|
245
|
+
"$type": "color",
|
|
246
|
+
"$value": "{color.warm.cream}",
|
|
247
|
+
"$description": "On dark backgrounds"
|
|
248
|
+
},
|
|
249
|
+
"link": {
|
|
250
|
+
"$type": "color",
|
|
251
|
+
"$value": "{color.orange.900}",
|
|
252
|
+
"$description": "Link text"
|
|
253
|
+
},
|
|
254
|
+
"linkHover": {
|
|
255
|
+
"$type": "color",
|
|
256
|
+
"$value": "{color.orange.950}",
|
|
257
|
+
"$description": "Link hover"
|
|
258
|
+
},
|
|
259
|
+
"linkRaised": {
|
|
260
|
+
"$type": "color",
|
|
261
|
+
"$value": "{color.orange.950}",
|
|
262
|
+
"$description": "Links on raised (linen) surfaces — text.link is only 4.4:1 on linen"
|
|
263
|
+
},
|
|
264
|
+
"brand": {
|
|
265
|
+
"$type": "color",
|
|
266
|
+
"$value": "{color.orange.900}"
|
|
267
|
+
},
|
|
268
|
+
"onBrand": {
|
|
269
|
+
"$type": "color",
|
|
270
|
+
"$value": "{color.white}",
|
|
271
|
+
"$description": "Light text on dark brand bg"
|
|
272
|
+
},
|
|
273
|
+
"onAccent": {
|
|
274
|
+
"$type": "color",
|
|
275
|
+
"$value": "{color.white}",
|
|
276
|
+
"$description": "Light text on dark accent bg"
|
|
277
|
+
},
|
|
278
|
+
"onSuccess": {
|
|
279
|
+
"$type": "color",
|
|
280
|
+
"$value": "{color.white}",
|
|
281
|
+
"$description": "Text on filled color.feedback.success"
|
|
282
|
+
},
|
|
283
|
+
"onError": {
|
|
284
|
+
"$type": "color",
|
|
285
|
+
"$value": "{color.white}",
|
|
286
|
+
"$description": "Text on filled color.feedback.error"
|
|
287
|
+
},
|
|
288
|
+
"onWarning": {
|
|
289
|
+
"$type": "color",
|
|
290
|
+
"$value": "{color.white}",
|
|
291
|
+
"$description": "Text on filled color.feedback.warning"
|
|
292
|
+
},
|
|
293
|
+
"onInfo": {
|
|
294
|
+
"$type": "color",
|
|
295
|
+
"$value": "{color.white}",
|
|
296
|
+
"$description": "Text on filled color.feedback.info"
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
"typography": {
|
|
301
|
+
"$description": "Bricolage Grotesque — playful, crafted, warm",
|
|
302
|
+
"heading": {
|
|
303
|
+
"fontFamily": {
|
|
304
|
+
"$type": "fontFamily",
|
|
305
|
+
"$value": "{font.family.display}"
|
|
306
|
+
},
|
|
307
|
+
"h1": {
|
|
308
|
+
"fontSize": {
|
|
309
|
+
"$type": "dimension",
|
|
310
|
+
"$value": "{font.size.4xl}"
|
|
311
|
+
},
|
|
312
|
+
"fontWeight": {
|
|
313
|
+
"$type": "fontWeight",
|
|
314
|
+
"$value": "{font.weight.bold}"
|
|
315
|
+
},
|
|
316
|
+
"lineHeight": {
|
|
317
|
+
"$type": "number",
|
|
318
|
+
"$value": "{font.lineHeight.tight}"
|
|
319
|
+
},
|
|
320
|
+
"letterSpacing": {
|
|
321
|
+
"$type": "dimension",
|
|
322
|
+
"$value": "{font.letterSpacing.tighter}"
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
"h2": {
|
|
326
|
+
"fontSize": {
|
|
327
|
+
"$type": "dimension",
|
|
328
|
+
"$value": "{font.size.3xl}"
|
|
329
|
+
},
|
|
330
|
+
"fontWeight": {
|
|
331
|
+
"$type": "fontWeight",
|
|
332
|
+
"$value": "{font.weight.bold}"
|
|
333
|
+
},
|
|
334
|
+
"lineHeight": {
|
|
335
|
+
"$type": "number",
|
|
336
|
+
"$value": "{font.lineHeight.tight}"
|
|
337
|
+
},
|
|
338
|
+
"letterSpacing": {
|
|
339
|
+
"$type": "dimension",
|
|
340
|
+
"$value": "{font.letterSpacing.tight}"
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
"h3": {
|
|
344
|
+
"fontSize": {
|
|
345
|
+
"$type": "dimension",
|
|
346
|
+
"$value": "{font.size.2xl}"
|
|
347
|
+
},
|
|
348
|
+
"fontWeight": {
|
|
349
|
+
"$type": "fontWeight",
|
|
350
|
+
"$value": "{font.weight.semibold}"
|
|
351
|
+
},
|
|
352
|
+
"lineHeight": {
|
|
353
|
+
"$type": "number",
|
|
354
|
+
"$value": "{font.lineHeight.snug}"
|
|
355
|
+
},
|
|
356
|
+
"letterSpacing": {
|
|
357
|
+
"$type": "dimension",
|
|
358
|
+
"$value": "{font.letterSpacing.tight}"
|
|
359
|
+
}
|
|
360
|
+
},
|
|
361
|
+
"h4": {
|
|
362
|
+
"fontSize": {
|
|
363
|
+
"$type": "dimension",
|
|
364
|
+
"$value": "{font.size.xl}"
|
|
365
|
+
},
|
|
366
|
+
"fontWeight": {
|
|
367
|
+
"$type": "fontWeight",
|
|
368
|
+
"$value": "{font.weight.semibold}"
|
|
369
|
+
},
|
|
370
|
+
"lineHeight": {
|
|
371
|
+
"$type": "number",
|
|
372
|
+
"$value": "{font.lineHeight.snug}"
|
|
373
|
+
},
|
|
374
|
+
"letterSpacing": {
|
|
375
|
+
"$type": "dimension",
|
|
376
|
+
"$value": "{font.letterSpacing.normal}"
|
|
377
|
+
}
|
|
378
|
+
},
|
|
379
|
+
"h5": {
|
|
380
|
+
"fontSize": {
|
|
381
|
+
"$type": "dimension",
|
|
382
|
+
"$value": "{font.size.lg}"
|
|
383
|
+
},
|
|
384
|
+
"fontWeight": {
|
|
385
|
+
"$type": "fontWeight",
|
|
386
|
+
"$value": "{font.weight.medium}"
|
|
387
|
+
},
|
|
388
|
+
"lineHeight": {
|
|
389
|
+
"$type": "number",
|
|
390
|
+
"$value": "{font.lineHeight.normal}"
|
|
391
|
+
}
|
|
392
|
+
},
|
|
393
|
+
"h6": {
|
|
394
|
+
"fontSize": {
|
|
395
|
+
"$type": "dimension",
|
|
396
|
+
"$value": "{font.size.base}"
|
|
397
|
+
},
|
|
398
|
+
"fontWeight": {
|
|
399
|
+
"$type": "fontWeight",
|
|
400
|
+
"$value": "{font.weight.medium}"
|
|
401
|
+
},
|
|
402
|
+
"lineHeight": {
|
|
403
|
+
"$type": "number",
|
|
404
|
+
"$value": "{font.lineHeight.normal}"
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
},
|
|
408
|
+
"body": {
|
|
409
|
+
"fontFamily": {
|
|
410
|
+
"$type": "fontFamily",
|
|
411
|
+
"$value": "{font.family.sans}"
|
|
412
|
+
},
|
|
413
|
+
"xl": {
|
|
414
|
+
"$description": "Lead paragraphs and hero subtitles",
|
|
415
|
+
"fontSize": {
|
|
416
|
+
"$type": "dimension",
|
|
417
|
+
"$value": "{font.size.xl}"
|
|
418
|
+
},
|
|
419
|
+
"fontWeight": {
|
|
420
|
+
"$type": "fontWeight",
|
|
421
|
+
"$value": "{font.weight.normal}"
|
|
422
|
+
},
|
|
423
|
+
"lineHeight": {
|
|
424
|
+
"$type": "number",
|
|
425
|
+
"$value": "{font.lineHeight.normal}"
|
|
426
|
+
}
|
|
427
|
+
},
|
|
428
|
+
"lg": {
|
|
429
|
+
"fontSize": {
|
|
430
|
+
"$type": "dimension",
|
|
431
|
+
"$value": "{font.size.lg}"
|
|
432
|
+
},
|
|
433
|
+
"fontWeight": {
|
|
434
|
+
"$type": "fontWeight",
|
|
435
|
+
"$value": "{font.weight.normal}"
|
|
436
|
+
},
|
|
437
|
+
"lineHeight": {
|
|
438
|
+
"$type": "number",
|
|
439
|
+
"$value": "{font.lineHeight.relaxed}"
|
|
440
|
+
}
|
|
441
|
+
},
|
|
442
|
+
"base": {
|
|
443
|
+
"fontSize": {
|
|
444
|
+
"$type": "dimension",
|
|
445
|
+
"$value": "{font.size.base}"
|
|
446
|
+
},
|
|
447
|
+
"fontWeight": {
|
|
448
|
+
"$type": "fontWeight",
|
|
449
|
+
"$value": "{font.weight.normal}"
|
|
450
|
+
},
|
|
451
|
+
"lineHeight": {
|
|
452
|
+
"$type": "number",
|
|
453
|
+
"$value": "{font.lineHeight.normal}"
|
|
454
|
+
}
|
|
455
|
+
},
|
|
456
|
+
"sm": {
|
|
457
|
+
"fontSize": {
|
|
458
|
+
"$type": "dimension",
|
|
459
|
+
"$value": "{font.size.sm}"
|
|
460
|
+
},
|
|
461
|
+
"fontWeight": {
|
|
462
|
+
"$type": "fontWeight",
|
|
463
|
+
"$value": "{font.weight.normal}"
|
|
464
|
+
},
|
|
465
|
+
"lineHeight": {
|
|
466
|
+
"$type": "number",
|
|
467
|
+
"$value": "{font.lineHeight.normal}"
|
|
468
|
+
},
|
|
469
|
+
"letterSpacing": {
|
|
470
|
+
"$type": "dimension",
|
|
471
|
+
"$value": "{font.letterSpacing.wide}"
|
|
472
|
+
}
|
|
473
|
+
},
|
|
474
|
+
"xs": {
|
|
475
|
+
"fontSize": {
|
|
476
|
+
"$type": "dimension",
|
|
477
|
+
"$value": "{font.size.xs}"
|
|
478
|
+
},
|
|
479
|
+
"fontWeight": {
|
|
480
|
+
"$type": "fontWeight",
|
|
481
|
+
"$value": "{font.weight.normal}"
|
|
482
|
+
},
|
|
483
|
+
"lineHeight": {
|
|
484
|
+
"$type": "number",
|
|
485
|
+
"$value": "{font.lineHeight.normal}"
|
|
486
|
+
},
|
|
487
|
+
"letterSpacing": {
|
|
488
|
+
"$type": "dimension",
|
|
489
|
+
"$value": "{font.letterSpacing.wide}"
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
},
|
|
493
|
+
"label": {
|
|
494
|
+
"fontFamily": {
|
|
495
|
+
"$type": "fontFamily",
|
|
496
|
+
"$value": "{font.family.sans}"
|
|
497
|
+
},
|
|
498
|
+
"base": {
|
|
499
|
+
"fontSize": {
|
|
500
|
+
"$type": "dimension",
|
|
501
|
+
"$value": "{font.size.sm}"
|
|
502
|
+
},
|
|
503
|
+
"fontWeight": {
|
|
504
|
+
"$type": "fontWeight",
|
|
505
|
+
"$value": "{font.weight.medium}"
|
|
506
|
+
},
|
|
507
|
+
"lineHeight": {
|
|
508
|
+
"$type": "number",
|
|
509
|
+
"$value": "{font.lineHeight.normal}",
|
|
510
|
+
"$description": "1.5 for WCAG 1.4.12"
|
|
511
|
+
},
|
|
512
|
+
"letterSpacing": {
|
|
513
|
+
"$type": "dimension",
|
|
514
|
+
"$value": "{font.letterSpacing.wide}"
|
|
515
|
+
}
|
|
516
|
+
},
|
|
517
|
+
"sm": {
|
|
518
|
+
"fontSize": {
|
|
519
|
+
"$type": "dimension",
|
|
520
|
+
"$value": "{font.size.xs}"
|
|
521
|
+
},
|
|
522
|
+
"fontWeight": {
|
|
523
|
+
"$type": "fontWeight",
|
|
524
|
+
"$value": "{font.weight.medium}"
|
|
525
|
+
},
|
|
526
|
+
"lineHeight": {
|
|
527
|
+
"$type": "number",
|
|
528
|
+
"$value": "{font.lineHeight.normal}",
|
|
529
|
+
"$description": "1.5 for WCAG 1.4.12"
|
|
530
|
+
},
|
|
531
|
+
"letterSpacing": {
|
|
532
|
+
"$type": "dimension",
|
|
533
|
+
"$value": "{font.letterSpacing.wide}"
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
},
|
|
537
|
+
"eyebrow": {
|
|
538
|
+
"$description": "Small uppercase line above a heading (set text-transform: uppercase alongside)",
|
|
539
|
+
"fontFamily": {
|
|
540
|
+
"$type": "fontFamily",
|
|
541
|
+
"$value": "{font.family.sans}"
|
|
542
|
+
},
|
|
543
|
+
"fontSize": {
|
|
544
|
+
"$type": "dimension",
|
|
545
|
+
"$value": "{font.size.base}"
|
|
546
|
+
},
|
|
547
|
+
"fontWeight": {
|
|
548
|
+
"$type": "fontWeight",
|
|
549
|
+
"$value": "{font.weight.medium}"
|
|
550
|
+
},
|
|
551
|
+
"letterSpacing": {
|
|
552
|
+
"$type": "dimension",
|
|
553
|
+
"$value": "{font.letterSpacing.widest}"
|
|
554
|
+
}
|
|
555
|
+
},
|
|
556
|
+
"control": {
|
|
557
|
+
"$description": "Buttons, field labels, legends, select triggers and options, choice labels",
|
|
558
|
+
"fontFamily": {
|
|
559
|
+
"$type": "fontFamily",
|
|
560
|
+
"$value": "{font.family.sans}"
|
|
561
|
+
},
|
|
562
|
+
"fontWeight": {
|
|
563
|
+
"$type": "fontWeight",
|
|
564
|
+
"$value": "{font.weight.semibold}"
|
|
565
|
+
},
|
|
566
|
+
"letterSpacing": {
|
|
567
|
+
"$type": "dimension",
|
|
568
|
+
"$value": "{font.letterSpacing.wide}"
|
|
569
|
+
},
|
|
570
|
+
"fontSize": {
|
|
571
|
+
"sm": {
|
|
572
|
+
"$type": "dimension",
|
|
573
|
+
"$value": "{font.size.base}",
|
|
574
|
+
"$description": "Small buttons, field labels"
|
|
575
|
+
},
|
|
576
|
+
"md": {
|
|
577
|
+
"$type": "dimension",
|
|
578
|
+
"$value": "{font.size.lg}",
|
|
579
|
+
"$description": "Default: input text, choices, buttons"
|
|
580
|
+
},
|
|
581
|
+
"lg": {
|
|
582
|
+
"$type": "dimension",
|
|
583
|
+
"$value": "{font.size.xl}",
|
|
584
|
+
"$description": "Large buttons"
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
},
|
|
588
|
+
"emphasis": {
|
|
589
|
+
"$description": "Inline emphasis inside body text: links, the selected option",
|
|
590
|
+
"fontWeight": {
|
|
591
|
+
"$type": "fontWeight",
|
|
592
|
+
"$value": "{font.weight.semibold}"
|
|
593
|
+
}
|
|
594
|
+
},
|
|
595
|
+
"code": {
|
|
596
|
+
"fontFamily": {
|
|
597
|
+
"$type": "fontFamily",
|
|
598
|
+
"$value": "{font.family.mono}"
|
|
599
|
+
},
|
|
600
|
+
"fontSize": {
|
|
601
|
+
"$type": "dimension",
|
|
602
|
+
"$value": "{font.size.sm}"
|
|
603
|
+
},
|
|
604
|
+
"lineHeight": {
|
|
605
|
+
"$type": "number",
|
|
606
|
+
"$value": "{font.lineHeight.normal}"
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
},
|
|
610
|
+
"spacing": {
|
|
611
|
+
"layout": {
|
|
612
|
+
"$description": "Generous layout spacing",
|
|
613
|
+
"page": {
|
|
614
|
+
"$type": "dimension",
|
|
615
|
+
"$value": "{spacing.6}"
|
|
616
|
+
},
|
|
617
|
+
"section": {
|
|
618
|
+
"$type": "dimension",
|
|
619
|
+
"$value": "{spacing.12}"
|
|
620
|
+
},
|
|
621
|
+
"stack": {
|
|
622
|
+
"$type": "dimension",
|
|
623
|
+
"$value": "{spacing.5}"
|
|
624
|
+
},
|
|
625
|
+
"inline": {
|
|
626
|
+
"$type": "dimension",
|
|
627
|
+
"$value": "{spacing.4}"
|
|
628
|
+
}
|
|
629
|
+
},
|
|
630
|
+
"component": {
|
|
631
|
+
"$description": "Component-level spacing",
|
|
632
|
+
"xs": {
|
|
633
|
+
"$type": "dimension",
|
|
634
|
+
"$value": "{spacing.1-5}"
|
|
635
|
+
},
|
|
636
|
+
"sm": {
|
|
637
|
+
"$type": "dimension",
|
|
638
|
+
"$value": "{spacing.2-5}"
|
|
639
|
+
},
|
|
640
|
+
"md": {
|
|
641
|
+
"$type": "dimension",
|
|
642
|
+
"$value": "{spacing.3-5}"
|
|
643
|
+
},
|
|
644
|
+
"lg": {
|
|
645
|
+
"$type": "dimension",
|
|
646
|
+
"$value": "{spacing.5}"
|
|
647
|
+
},
|
|
648
|
+
"xl": {
|
|
649
|
+
"$type": "dimension",
|
|
650
|
+
"$value": "{spacing.7}"
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
},
|
|
654
|
+
"layout": {
|
|
655
|
+
"$description": "Layout sizes",
|
|
656
|
+
"container": {
|
|
657
|
+
"$description": "Max-width of a centred content column (oh-container, oh-hero)",
|
|
658
|
+
"sm": {
|
|
659
|
+
"$type": "dimension",
|
|
660
|
+
"$value": "{size.container.sm}"
|
|
661
|
+
},
|
|
662
|
+
"md": {
|
|
663
|
+
"$type": "dimension",
|
|
664
|
+
"$value": "{size.container.md}"
|
|
665
|
+
},
|
|
666
|
+
"lg": {
|
|
667
|
+
"$type": "dimension",
|
|
668
|
+
"$value": "{size.container.lg}"
|
|
669
|
+
},
|
|
670
|
+
"xl": {
|
|
671
|
+
"$type": "dimension",
|
|
672
|
+
"$value": "{size.container.xl}"
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
},
|
|
676
|
+
"shape": {
|
|
677
|
+
"$description": "Friendly soft corners",
|
|
678
|
+
"control": {
|
|
679
|
+
"$type": "dimension",
|
|
680
|
+
"$value": "{radius.md}",
|
|
681
|
+
"$description": "Buttons, inputs, selects, tabs"
|
|
682
|
+
},
|
|
683
|
+
"container": {
|
|
684
|
+
"$type": "dimension",
|
|
685
|
+
"$value": "{radius.md}",
|
|
686
|
+
"$description": "Alerts, modals, dropdowns, accordion items, panels"
|
|
687
|
+
},
|
|
688
|
+
"large": {
|
|
689
|
+
"$type": "dimension",
|
|
690
|
+
"$value": "{radius.lg}",
|
|
691
|
+
"$description": "Cards"
|
|
692
|
+
},
|
|
693
|
+
"compact": {
|
|
694
|
+
"$type": "dimension",
|
|
695
|
+
"$value": "{radius.sm}",
|
|
696
|
+
"$description": "Small controls and tags: close buttons, checkboxes, badges, code blocks"
|
|
697
|
+
},
|
|
698
|
+
"tight": {
|
|
699
|
+
"$type": "dimension",
|
|
700
|
+
"$value": "{radius.xs}",
|
|
701
|
+
"$description": "Focus outlines on text links, inline code"
|
|
702
|
+
},
|
|
703
|
+
"pill": {
|
|
704
|
+
"$type": "dimension",
|
|
705
|
+
"$value": "{radius.full}",
|
|
706
|
+
"$description": "Pills, radios, toggles, progress bars"
|
|
707
|
+
}
|
|
708
|
+
},
|
|
709
|
+
"elevation": {
|
|
710
|
+
"$description": "Warm shadows with visible depth",
|
|
711
|
+
"none": {
|
|
712
|
+
"$type": "shadow",
|
|
713
|
+
"$value": "{shadow.none}"
|
|
714
|
+
},
|
|
715
|
+
"soft": {
|
|
716
|
+
"$type": "shadow",
|
|
717
|
+
"$value": "{shadow.soft}",
|
|
718
|
+
"$description": "Cards, raised elements"
|
|
719
|
+
},
|
|
720
|
+
"medium": {
|
|
721
|
+
"$type": "shadow",
|
|
722
|
+
"$value": "{shadow.medium}",
|
|
723
|
+
"$description": "Dropdowns, popovers"
|
|
724
|
+
},
|
|
725
|
+
"strong": {
|
|
726
|
+
"$type": "shadow",
|
|
727
|
+
"$value": "{shadow.strong}",
|
|
728
|
+
"$description": "Modals, dialogs"
|
|
729
|
+
},
|
|
730
|
+
"glow": {
|
|
731
|
+
"$type": "shadow",
|
|
732
|
+
"$value": "{shadow.glow}",
|
|
733
|
+
"$description": "Focus ring"
|
|
734
|
+
},
|
|
735
|
+
"inset": {
|
|
736
|
+
"$type": "shadow",
|
|
737
|
+
"$value": "{shadow.inset}",
|
|
738
|
+
"$description": "Inputs, wells"
|
|
739
|
+
},
|
|
740
|
+
"surface": {
|
|
741
|
+
"$description": "Card surfaces, by state. Featured is the sunlit card",
|
|
742
|
+
"flat": { "$type": "shadow", "$value": "{shadow.layered.flat}" },
|
|
743
|
+
"raised": { "$type": "shadow", "$value": "{shadow.layered.raised}" },
|
|
744
|
+
"lifted": { "$type": "shadow", "$value": "{shadow.layered.lifted}", "$description": "Hovered" },
|
|
745
|
+
"pressed": { "$type": "shadow", "$value": "{shadow.layered.pressed}" },
|
|
746
|
+
"focused": { "$type": "shadow", "$value": "{shadow.layered.focused}", "$description": "Sits under the focus glow" },
|
|
747
|
+
"featured": { "$type": "shadow", "$value": "{shadow.layered.sunlit}" },
|
|
748
|
+
"featuredLifted": { "$type": "shadow", "$value": "{shadow.layered.sunlitLifted}" },
|
|
749
|
+
"featuredFocused": { "$type": "shadow", "$value": "{shadow.layered.sunlitFocused}" }
|
|
750
|
+
},
|
|
751
|
+
"offset": {
|
|
752
|
+
"$description": "How far solid offset shadows sit from the element, from pressed (xs) to dialogs (2xl). The colour comes from shadow.*. A flat brand sets every step to 0",
|
|
753
|
+
"xs": { "$type": "dimension", "$value": "1px" },
|
|
754
|
+
"sm": { "$type": "dimension", "$value": "2px" },
|
|
755
|
+
"md": { "$type": "dimension", "$value": "3px" },
|
|
756
|
+
"lg": { "$type": "dimension", "$value": "4px" },
|
|
757
|
+
"xl": { "$type": "dimension", "$value": "5px" },
|
|
758
|
+
"2xl": { "$type": "dimension", "$value": "6px" }
|
|
759
|
+
}
|
|
760
|
+
},
|
|
761
|
+
"lift": {
|
|
762
|
+
"$description": "How far elements move on hover (negative: up and left, towards the viewer) and when pressed (positive: into the page). A still brand sets every step to 0",
|
|
763
|
+
"hoverSm": { "$type": "dimension", "$value": "-1px" },
|
|
764
|
+
"hoverMd": { "$type": "dimension", "$value": "-2px" },
|
|
765
|
+
"pressSm": { "$type": "dimension", "$value": "1px" },
|
|
766
|
+
"pressMd": { "$type": "dimension", "$value": "2px" }
|
|
767
|
+
},
|
|
768
|
+
"stroke": {
|
|
769
|
+
"$description": "Border widths by role",
|
|
770
|
+
"control": { "$type": "dimension", "$value": "{border.width.chunky}", "$description": "Controls and framed containers: buttons, fields, checkboxes, alerts, dialogs" },
|
|
771
|
+
"surface": { "$type": "dimension", "$value": "{border.width.1}", "$description": "Card edges" },
|
|
772
|
+
"divider": { "$type": "dimension", "$value": "{border.width.1}", "$description": "Lines between sections" }
|
|
773
|
+
},
|
|
774
|
+
"decoration": {
|
|
775
|
+
"$description": "Link underlines. Orange Halo's are dashed: a dash, then a gap, repeating every period. A solid underline sets dash and period to the same value",
|
|
776
|
+
"underlineThickness": { "$type": "dimension", "$value": "2px" },
|
|
777
|
+
"underlineFocusThickness": { "$type": "dimension", "$value": "3px", "$description": "The solid underline that shows keyboard focus on inline links" },
|
|
778
|
+
"underlineDash": { "$type": "dimension", "$value": "4px" },
|
|
779
|
+
"underlinePeriod": { "$type": "dimension", "$value": "8px" }
|
|
780
|
+
},
|
|
781
|
+
"motion": {
|
|
782
|
+
"$description": "Relaxed, playful motion",
|
|
783
|
+
"quick": {
|
|
784
|
+
"$type": "duration",
|
|
785
|
+
"$value": "{motion.duration.quick}"
|
|
786
|
+
},
|
|
787
|
+
"snappy": {
|
|
788
|
+
"$type": "duration",
|
|
789
|
+
"$value": "{motion.duration.snappy}"
|
|
790
|
+
},
|
|
791
|
+
"gentle": {
|
|
792
|
+
"$type": "duration",
|
|
793
|
+
"$value": "{motion.duration.gentle}"
|
|
794
|
+
},
|
|
795
|
+
"relaxed": {
|
|
796
|
+
"$type": "duration",
|
|
797
|
+
"$value": "{motion.duration.relaxed}"
|
|
798
|
+
},
|
|
799
|
+
"slow": {
|
|
800
|
+
"$type": "duration",
|
|
801
|
+
"$value": "{motion.duration.slow}"
|
|
802
|
+
},
|
|
803
|
+
"easeGentle": {
|
|
804
|
+
"$type": "cubicBezier",
|
|
805
|
+
"$value": "{motion.easing.gentle}"
|
|
806
|
+
},
|
|
807
|
+
"easeOut": {
|
|
808
|
+
"$type": "cubicBezier",
|
|
809
|
+
"$value": "{motion.easing.out}"
|
|
810
|
+
},
|
|
811
|
+
"easePlayful": {
|
|
812
|
+
"$type": "cubicBezier",
|
|
813
|
+
"$value": "{motion.easing.playful}"
|
|
814
|
+
}
|
|
815
|
+
},
|
|
816
|
+
"shadow": {
|
|
817
|
+
"$description": "Chunky offset shadows for playful tactile feel",
|
|
818
|
+
"primary": {
|
|
819
|
+
"$type": "color",
|
|
820
|
+
"$value": "{shadow.chunky.primary}",
|
|
821
|
+
"$description": "Primary buttons"
|
|
822
|
+
},
|
|
823
|
+
"secondary": {
|
|
824
|
+
"$type": "color",
|
|
825
|
+
"$value": "{shadow.chunky.secondary}",
|
|
826
|
+
"$description": "Secondary/form elements"
|
|
827
|
+
},
|
|
828
|
+
"accent": {
|
|
829
|
+
"$type": "color",
|
|
830
|
+
"$value": "{shadow.chunky.accent}",
|
|
831
|
+
"$description": "Accent buttons"
|
|
832
|
+
},
|
|
833
|
+
"error": {
|
|
834
|
+
"$type": "color",
|
|
835
|
+
"$value": "{shadow.chunky.error}",
|
|
836
|
+
"$description": "Error state"
|
|
837
|
+
},
|
|
838
|
+
"neutral": {
|
|
839
|
+
"$type": "color",
|
|
840
|
+
"$value": "{shadow.chunky.driftwood}",
|
|
841
|
+
"$description": "Containers and the skip link"
|
|
842
|
+
},
|
|
843
|
+
"neutralHover": {
|
|
844
|
+
"$type": "color",
|
|
845
|
+
"$value": "{shadow.chunky.driftwoodHover}",
|
|
846
|
+
"$description": "Lifted containers"
|
|
847
|
+
},
|
|
848
|
+
"overlay": {
|
|
849
|
+
"$type": "color",
|
|
850
|
+
"$value": "{shadow.chunky.driftwoodDeep}",
|
|
851
|
+
"$description": "Dialogs"
|
|
852
|
+
},
|
|
853
|
+
"field": {
|
|
854
|
+
"$type": "color",
|
|
855
|
+
"$value": "{shadow.chunky.walnut}",
|
|
856
|
+
"$description": "The inset shadow inside text fields"
|
|
857
|
+
}
|
|
858
|
+
},
|
|
859
|
+
"focus": {
|
|
860
|
+
"$description": "Warm, friendly focus ring",
|
|
861
|
+
"ringWidth": {
|
|
862
|
+
"$type": "dimension",
|
|
863
|
+
"$value": "3px"
|
|
864
|
+
},
|
|
865
|
+
"ringOffset": {
|
|
866
|
+
"$type": "dimension",
|
|
867
|
+
"$value": "2px"
|
|
868
|
+
},
|
|
869
|
+
"ringColor": {
|
|
870
|
+
"$type": "color",
|
|
871
|
+
"$value": "{color.orange.900}",
|
|
872
|
+
"$description": "The focus colour: outlines, focused control borders. Must stay opaque (4.7:1 on cream, WCAG 1.4.11)"
|
|
873
|
+
},
|
|
874
|
+
"glowColor": {
|
|
875
|
+
"$type": "color",
|
|
876
|
+
"$value": "rgba(197, 67, 0, 0.15)",
|
|
877
|
+
"$description": "Decorative glow only — never the sole focus indicator"
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
}
|