@orange-halo/tokens 2.1.0 → 2.2.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 +187 -31
- package/contrast.js +11 -2
- package/dist/brands/hood-dark.json +45 -41
- package/dist/brands/hood.css +29 -28
- package/dist/brands/hood.json +45 -41
- package/dist/brands/orange-halo-dark.json +35 -31
- package/dist/brands/orange-halo.css +25 -24
- package/dist/brands/orange-halo.json +35 -31
- package/dist/themes/dark.json +35 -31
- package/dist/tokens.css +25 -24
- package/dist/tokens.js +35 -34
- package/dist/tokens.json +35 -31
- package/package.json +2 -4
- package/tokens/brands/hood/brand.json +3 -1
- package/tokens/brands/hood/light.tokens.json +4 -4
- package/tokens/brands/hood/palette.tokens.json +73 -16
- package/tokens/brands/orange-halo/brand.json +3 -1
- package/tokens/brands/orange-halo/dark.tokens.json +49 -10
- package/tokens/brands/orange-halo/light.tokens.json +41 -11
- package/tokens/brands/orange-halo/palette.tokens.json +25 -37
- package/tokens/core/component.tokens.json +198 -48
- package/tokens/core/scales.tokens.json +1 -1
package/contrast-pairs.json
CHANGED
|
@@ -1,36 +1,192 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$description": "Token pairs that must meet WCAG contrast. Used by `pnpm check:contrast` and the Storybook Tokens page. Paths are token paths in dist/tokens.json. `over` composites a translucent background onto a solid one. `knownIssue` reports a failure as a warning until it's resolved.",
|
|
3
3
|
"pairs": [
|
|
4
|
-
{
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
{
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
{
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
{
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
{
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
{
|
|
4
|
+
{
|
|
5
|
+
"fg": "color.text.primary",
|
|
6
|
+
"bg": "color.surface.base",
|
|
7
|
+
"min": 4.5,
|
|
8
|
+
"use": "Body text on page"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"fg": "color.text.primary",
|
|
12
|
+
"bg": "color.surface.raised",
|
|
13
|
+
"min": 4.5,
|
|
14
|
+
"use": "Body text on cards"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"fg": "color.text.secondary",
|
|
18
|
+
"bg": "color.surface.base",
|
|
19
|
+
"min": 4.5,
|
|
20
|
+
"use": "Secondary text on page"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"fg": "color.text.secondary",
|
|
24
|
+
"bg": "color.surface.inset",
|
|
25
|
+
"min": 4.5,
|
|
26
|
+
"use": "Placeholder / helper text in wells"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"fg": "color.text.secondary",
|
|
30
|
+
"bg": "color.surface.raised",
|
|
31
|
+
"min": 4.5,
|
|
32
|
+
"use": "Secondary text on raised surfaces (cards, panels, keyboard hints)"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"fg": "color.text.primary",
|
|
36
|
+
"bg": "color.surface.highlight",
|
|
37
|
+
"min": 4.5,
|
|
38
|
+
"use": "Text in a focused input"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"fg": "color.text.link",
|
|
42
|
+
"bg": "color.surface.base",
|
|
43
|
+
"min": 4.5,
|
|
44
|
+
"use": "Links on page"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"fg": "color.text.linkRaised",
|
|
48
|
+
"bg": "color.surface.raised",
|
|
49
|
+
"min": 4.5,
|
|
50
|
+
"use": "Links on raised surfaces (cards, skip link)"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"fg": "color.text.onBrand",
|
|
54
|
+
"bg": "color.brand.primary",
|
|
55
|
+
"min": 4.5,
|
|
56
|
+
"use": "Primary button, hero text"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"fg": "color.text.onBrand",
|
|
60
|
+
"bg": "color.brand.primaryHover",
|
|
61
|
+
"min": 4.5,
|
|
62
|
+
"use": "Primary button hover"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"fg": "color.text.onAccent",
|
|
66
|
+
"bg": "color.accent.default",
|
|
67
|
+
"min": 4.5,
|
|
68
|
+
"use": "Accent button, footer text"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"fg": "color.text.onAccent",
|
|
72
|
+
"bg": "color.accent.hover",
|
|
73
|
+
"min": 4.5,
|
|
74
|
+
"use": "Accent button hover"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"fg": "color.brand.primary",
|
|
78
|
+
"bg": "color.brand.primarySubtle",
|
|
79
|
+
"min": 4.5,
|
|
80
|
+
"use": "Brand badge"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"fg": "color.accent.default",
|
|
84
|
+
"bg": "color.accent.subtle",
|
|
85
|
+
"min": 4.5,
|
|
86
|
+
"use": "Accent badge"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"fg": "color.feedback.success",
|
|
90
|
+
"bg": "color.feedback.successSubtle",
|
|
91
|
+
"min": 4.5,
|
|
92
|
+
"use": "Success badge / alert text"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"fg": "color.feedback.error",
|
|
96
|
+
"bg": "color.feedback.errorSubtle",
|
|
97
|
+
"min": 4.5,
|
|
98
|
+
"use": "Error text on error background"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"fg": "color.feedback.error",
|
|
102
|
+
"bg": "color.surface.base",
|
|
103
|
+
"min": 4.5,
|
|
104
|
+
"use": "Error messages"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"fg": "color.feedback.warning",
|
|
108
|
+
"bg": "color.feedback.warningSubtle",
|
|
109
|
+
"min": 4.5,
|
|
110
|
+
"use": "Warning badge / alert text"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"fg": "color.feedback.info",
|
|
114
|
+
"bg": "color.feedback.infoSubtle",
|
|
115
|
+
"min": 4.5,
|
|
116
|
+
"use": "Info badge / alert text"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"fg": "color.text.onSuccess",
|
|
120
|
+
"bg": "color.feedback.success",
|
|
121
|
+
"min": 4.5,
|
|
122
|
+
"use": "Filled success badge"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"fg": "color.text.onError",
|
|
126
|
+
"bg": "color.feedback.error",
|
|
127
|
+
"min": 4.5,
|
|
128
|
+
"use": "Filled error badge"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"fg": "color.text.onWarning",
|
|
132
|
+
"bg": "color.feedback.warning",
|
|
133
|
+
"min": 4.5,
|
|
134
|
+
"use": "Filled warning badge"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"fg": "color.text.onInfo",
|
|
138
|
+
"bg": "color.feedback.info",
|
|
139
|
+
"min": 4.5,
|
|
140
|
+
"use": "Filled info badge"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"fg": "color.border.emphasis",
|
|
144
|
+
"bg": "color.surface.base",
|
|
145
|
+
"min": 3,
|
|
146
|
+
"use": "Control borders at rest"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"fg": "color.border.hover",
|
|
150
|
+
"bg": "color.surface.base",
|
|
151
|
+
"min": 3,
|
|
152
|
+
"use": "Control borders on hover"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"fg": "focus.ringColor",
|
|
156
|
+
"bg": "color.surface.highlight",
|
|
157
|
+
"min": 3,
|
|
158
|
+
"use": "Focused input border"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"fg": "focus.ringColor",
|
|
162
|
+
"bg": "color.surface.base",
|
|
163
|
+
"min": 3,
|
|
164
|
+
"use": "Focus outline"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"fg": "color.brand.primary",
|
|
168
|
+
"bg": "color.surface.base",
|
|
169
|
+
"min": 3,
|
|
170
|
+
"use": "Checked controls, link underlines"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"fg": "color.feedback.success",
|
|
174
|
+
"bg": "color.surface.inset",
|
|
175
|
+
"min": 3,
|
|
176
|
+
"use": "Progress fill (success)"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"fg": "color.brand.primary",
|
|
180
|
+
"bg": "color.surface.inset",
|
|
181
|
+
"min": 3,
|
|
182
|
+
"use": "Progress fill (brand)"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"fg": "progress.inverse.fill",
|
|
186
|
+
"bg": "progress.inverse.trackBackground",
|
|
187
|
+
"over": "color.brand.primary",
|
|
188
|
+
"min": 3,
|
|
189
|
+
"use": "Inverse progress fill in the hero"
|
|
190
|
+
}
|
|
35
191
|
]
|
|
36
192
|
}
|
package/contrast.js
CHANGED
|
@@ -24,7 +24,12 @@ export function parseColor(value) {
|
|
|
24
24
|
/** Alpha-composite a colour onto an opaque background. */
|
|
25
25
|
export function composite(fg, bg) {
|
|
26
26
|
const [r, g, b, a] = fg;
|
|
27
|
-
return [
|
|
27
|
+
return [
|
|
28
|
+
r * a + bg[0] * (1 - a),
|
|
29
|
+
g * a + bg[1] * (1 - a),
|
|
30
|
+
b * a + bg[2] * (1 - a),
|
|
31
|
+
1,
|
|
32
|
+
];
|
|
28
33
|
}
|
|
29
34
|
|
|
30
35
|
function luminance([r, g, b]) {
|
|
@@ -55,5 +60,9 @@ export function checkPair(tokens, pair) {
|
|
|
55
60
|
let fg = parseColor(resolve(tokens, pair.fg));
|
|
56
61
|
if (fg[3] < 1) fg = composite(fg, bg);
|
|
57
62
|
const value = ratio(fg, bg);
|
|
58
|
-
return {
|
|
63
|
+
return {
|
|
64
|
+
...pair,
|
|
65
|
+
ratio: Math.round(value * 100) / 100,
|
|
66
|
+
pass: value >= pair.min,
|
|
67
|
+
};
|
|
59
68
|
}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$description": "Hood tier 2, dark mode: the default look, after fraser-hood.co.uk/gig-history. Sets every tier 2 colour.",
|
|
3
|
+
"grid": {
|
|
4
|
+
"$description": "The brand's layout grid. Spacing is multiples of half a unit; type sizes and line heights sit on it (see style-dictionary.config.js)",
|
|
5
|
+
"unit": "8px"
|
|
6
|
+
},
|
|
3
7
|
"color": {
|
|
4
8
|
"grey": {
|
|
5
9
|
"50": "#f7f7f7",
|
|
@@ -131,16 +135,16 @@
|
|
|
131
135
|
"mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"
|
|
132
136
|
},
|
|
133
137
|
"size": {
|
|
134
|
-
"$description": "
|
|
135
|
-
"xs": "0.
|
|
136
|
-
"sm": "0.
|
|
137
|
-
"base": "
|
|
138
|
-
"lg": "1.
|
|
139
|
-
"xl": "1.
|
|
140
|
-
"2xl": "
|
|
141
|
-
"3xl": "2.
|
|
138
|
+
"$description": "Type scale on the brand's grid (grid.unit): every size is a multiple of half a unit. Strict: no size between xs and base",
|
|
139
|
+
"xs": "0.75rem",
|
|
140
|
+
"sm": "0.75rem",
|
|
141
|
+
"base": "1rem",
|
|
142
|
+
"lg": "1.25rem",
|
|
143
|
+
"xl": "1.5rem",
|
|
144
|
+
"2xl": "2rem",
|
|
145
|
+
"3xl": "2.5rem",
|
|
142
146
|
"4xl": "3.5rem",
|
|
143
|
-
"5xl": "
|
|
147
|
+
"5xl": "4rem"
|
|
144
148
|
},
|
|
145
149
|
"weight": {
|
|
146
150
|
"normal": "400",
|
|
@@ -251,7 +255,7 @@
|
|
|
251
255
|
"12": "3rem",
|
|
252
256
|
"16": "4rem",
|
|
253
257
|
"20": "5rem",
|
|
254
|
-
"$description": "Generous spacing — breathing room, not dense",
|
|
258
|
+
"$description": "Generous spacing — breathing room, not dense. Multiples of half the brand's grid.unit (spacing.1 = half a unit, spacing.2 = one unit), computed per brand at build time by style-dictionary.config.js; the values written here are what an 8px grid gives. The x-5 steps fall between half-units: avoid them in new work",
|
|
255
259
|
"px": "1px",
|
|
256
260
|
"0-5": "0.125rem",
|
|
257
261
|
"1-5": "0.375rem",
|
|
@@ -305,34 +309,34 @@
|
|
|
305
309
|
"h1": {
|
|
306
310
|
"fontSize": "3.5rem",
|
|
307
311
|
"fontWeight": "800",
|
|
308
|
-
"lineHeight": 1.
|
|
312
|
+
"lineHeight": 1.1429,
|
|
309
313
|
"letterSpacing": "-0.02em"
|
|
310
314
|
},
|
|
311
315
|
"h2": {
|
|
312
|
-
"fontSize": "2.
|
|
316
|
+
"fontSize": "2.5rem",
|
|
313
317
|
"fontWeight": "800",
|
|
314
|
-
"lineHeight": 1.
|
|
318
|
+
"lineHeight": 1.2,
|
|
315
319
|
"letterSpacing": "-0.01em"
|
|
316
320
|
},
|
|
317
321
|
"h3": {
|
|
318
|
-
"fontSize": "
|
|
322
|
+
"fontSize": "2rem",
|
|
319
323
|
"fontWeight": "700",
|
|
320
|
-
"lineHeight": 1.
|
|
324
|
+
"lineHeight": 1.25,
|
|
321
325
|
"letterSpacing": "-0.01em"
|
|
322
326
|
},
|
|
323
327
|
"h4": {
|
|
324
|
-
"fontSize": "1.
|
|
328
|
+
"fontSize": "1.5rem",
|
|
325
329
|
"fontWeight": "700",
|
|
326
|
-
"lineHeight": 1.
|
|
330
|
+
"lineHeight": 1.3333,
|
|
327
331
|
"letterSpacing": "0"
|
|
328
332
|
},
|
|
329
333
|
"h5": {
|
|
330
|
-
"fontSize": "1.
|
|
334
|
+
"fontSize": "1.25rem",
|
|
331
335
|
"fontWeight": "700",
|
|
332
|
-
"lineHeight": 1.
|
|
336
|
+
"lineHeight": 1.6
|
|
333
337
|
},
|
|
334
338
|
"h6": {
|
|
335
|
-
"fontSize": "
|
|
339
|
+
"fontSize": "1rem",
|
|
336
340
|
"fontWeight": "700",
|
|
337
341
|
"lineHeight": 1.5
|
|
338
342
|
}
|
|
@@ -340,51 +344,51 @@
|
|
|
340
344
|
"body": {
|
|
341
345
|
"fontFamily": "'Plus Jakarta Sans', Arial, Helvetica, sans-serif",
|
|
342
346
|
"xl": {
|
|
343
|
-
"fontSize": "1.
|
|
347
|
+
"fontSize": "1.5rem",
|
|
344
348
|
"fontWeight": "400",
|
|
345
|
-
"lineHeight": 1.
|
|
349
|
+
"lineHeight": 1.6667
|
|
346
350
|
},
|
|
347
351
|
"lg": {
|
|
348
|
-
"fontSize": "1.
|
|
352
|
+
"fontSize": "1.25rem",
|
|
349
353
|
"fontWeight": "400",
|
|
350
354
|
"lineHeight": 1.6
|
|
351
355
|
},
|
|
352
356
|
"base": {
|
|
353
|
-
"fontSize": "
|
|
357
|
+
"fontSize": "1rem",
|
|
354
358
|
"fontWeight": "400",
|
|
355
359
|
"lineHeight": 1.5
|
|
356
360
|
},
|
|
357
361
|
"sm": {
|
|
358
|
-
"fontSize": "0.
|
|
362
|
+
"fontSize": "0.75rem",
|
|
359
363
|
"fontWeight": "400",
|
|
360
|
-
"lineHeight": 1.
|
|
364
|
+
"lineHeight": 1.6667,
|
|
361
365
|
"letterSpacing": "0"
|
|
362
366
|
},
|
|
363
367
|
"xs": {
|
|
364
|
-
"fontSize": "0.
|
|
368
|
+
"fontSize": "0.75rem",
|
|
365
369
|
"fontWeight": "400",
|
|
366
|
-
"lineHeight": 1.
|
|
370
|
+
"lineHeight": 1.6667,
|
|
367
371
|
"letterSpacing": "0.02em"
|
|
368
372
|
}
|
|
369
373
|
},
|
|
370
374
|
"label": {
|
|
371
375
|
"fontFamily": "'Plus Jakarta Sans', Arial, Helvetica, sans-serif",
|
|
372
376
|
"base": {
|
|
373
|
-
"fontSize": "
|
|
377
|
+
"fontSize": "1rem",
|
|
374
378
|
"fontWeight": "600",
|
|
375
379
|
"lineHeight": 1.5,
|
|
376
380
|
"letterSpacing": "0.02em"
|
|
377
381
|
},
|
|
378
382
|
"sm": {
|
|
379
|
-
"fontSize": "0.
|
|
383
|
+
"fontSize": "0.75rem",
|
|
380
384
|
"fontWeight": "600",
|
|
381
|
-
"lineHeight": 1.
|
|
385
|
+
"lineHeight": 1.6667,
|
|
382
386
|
"letterSpacing": "0.08em"
|
|
383
387
|
}
|
|
384
388
|
},
|
|
385
389
|
"eyebrow": {
|
|
386
390
|
"fontFamily": "'Plus Jakarta Sans', Arial, Helvetica, sans-serif",
|
|
387
|
-
"fontSize": "0.
|
|
391
|
+
"fontSize": "0.75rem",
|
|
388
392
|
"fontWeight": "600",
|
|
389
393
|
"letterSpacing": "0.08em"
|
|
390
394
|
},
|
|
@@ -393,9 +397,9 @@
|
|
|
393
397
|
"fontWeight": "600",
|
|
394
398
|
"letterSpacing": "0.02em",
|
|
395
399
|
"fontSize": {
|
|
396
|
-
"sm": "
|
|
397
|
-
"md": "
|
|
398
|
-
"lg": "1.
|
|
400
|
+
"sm": "1rem",
|
|
401
|
+
"md": "1rem",
|
|
402
|
+
"lg": "1.25rem"
|
|
399
403
|
}
|
|
400
404
|
},
|
|
401
405
|
"emphasis": {
|
|
@@ -403,7 +407,7 @@
|
|
|
403
407
|
},
|
|
404
408
|
"code": {
|
|
405
409
|
"fontFamily": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
|
|
406
|
-
"fontSize": "
|
|
410
|
+
"fontSize": "1rem",
|
|
407
411
|
"lineHeight": 1.5
|
|
408
412
|
}
|
|
409
413
|
},
|
|
@@ -491,21 +495,21 @@
|
|
|
491
495
|
"size": {
|
|
492
496
|
"$description": "Matches oh-button.ts, which reads these. Minimum 16px text",
|
|
493
497
|
"sm": {
|
|
494
|
-
"fontSize": "
|
|
498
|
+
"fontSize": "1rem",
|
|
495
499
|
"paddingX": "1rem",
|
|
496
500
|
"paddingY": "0.5rem",
|
|
497
501
|
"minHeight": "40px",
|
|
498
502
|
"gap": "0.5rem"
|
|
499
503
|
},
|
|
500
504
|
"md": {
|
|
501
|
-
"fontSize": "
|
|
505
|
+
"fontSize": "1rem",
|
|
502
506
|
"paddingX": "1.5rem",
|
|
503
507
|
"paddingY": "0.75rem",
|
|
504
508
|
"minHeight": "48px",
|
|
505
509
|
"gap": "0.5rem"
|
|
506
510
|
},
|
|
507
511
|
"lg": {
|
|
508
|
-
"fontSize": "1.
|
|
512
|
+
"fontSize": "1.25rem",
|
|
509
513
|
"paddingX": "2rem",
|
|
510
514
|
"paddingY": "1rem",
|
|
511
515
|
"minHeight": "56px",
|
|
@@ -551,7 +555,7 @@
|
|
|
551
555
|
"$description": "Input — chunky border, inset shadow, tactile feel",
|
|
552
556
|
"base": {
|
|
553
557
|
"fontFamily": "'Plus Jakarta Sans', Arial, Helvetica, sans-serif",
|
|
554
|
-
"fontSize": "
|
|
558
|
+
"fontSize": "1rem",
|
|
555
559
|
"lineHeight": 1.5,
|
|
556
560
|
"borderRadius": "4px",
|
|
557
561
|
"borderWidth": "1px",
|
|
@@ -662,7 +666,7 @@
|
|
|
662
666
|
"$description": "Badge — small status indicators",
|
|
663
667
|
"base": {
|
|
664
668
|
"fontFamily": "'Plus Jakarta Sans', Arial, Helvetica, sans-serif",
|
|
665
|
-
"fontSize": "
|
|
669
|
+
"fontSize": "1rem",
|
|
666
670
|
"fontWeight": "600",
|
|
667
671
|
"letterSpacing": "0.02em",
|
|
668
672
|
"borderRadius": "2px",
|
package/dist/brands/hood.css
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
:root {
|
|
6
|
+
--oh-grid-unit: 8px; /** 8px grid with 4px half-steps */
|
|
6
7
|
--oh-color-grey-50: #f7f7f7;
|
|
7
8
|
--oh-color-grey-100: #ededed;
|
|
8
9
|
--oh-color-grey-200: #dedede;
|
|
@@ -47,15 +48,14 @@
|
|
|
47
48
|
--oh-font-family-sans: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
|
|
48
49
|
--oh-font-family-display: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
|
|
49
50
|
--oh-font-family-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
50
|
-
--oh-font-size-xs: 0.
|
|
51
|
-
--oh-font-size-
|
|
52
|
-
--oh-font-size-
|
|
53
|
-
--oh-font-size-
|
|
54
|
-
--oh-font-size-
|
|
55
|
-
--oh-font-size-
|
|
56
|
-
--oh-font-size-
|
|
57
|
-
--oh-font-size-
|
|
58
|
-
--oh-font-size-5xl: 4.2rem;
|
|
51
|
+
--oh-font-size-xs: 0.75rem; /** 12px */
|
|
52
|
+
--oh-font-size-base: 1rem; /** 16px */
|
|
53
|
+
--oh-font-size-lg: 1.25rem; /** 20px */
|
|
54
|
+
--oh-font-size-xl: 1.5rem; /** 24px */
|
|
55
|
+
--oh-font-size-2xl: 2rem; /** 32px */
|
|
56
|
+
--oh-font-size-3xl: 2.5rem; /** 40px */
|
|
57
|
+
--oh-font-size-4xl: 3.5rem; /** 56px */
|
|
58
|
+
--oh-font-size-5xl: 4rem; /** 64px */
|
|
59
59
|
--oh-font-weight-normal: 400;
|
|
60
60
|
--oh-font-weight-medium: 500;
|
|
61
61
|
--oh-font-weight-semibold: 600;
|
|
@@ -120,6 +120,20 @@
|
|
|
120
120
|
--oh-z-index-modal: 1200;
|
|
121
121
|
--oh-z-index-popover: 1300;
|
|
122
122
|
--oh-z-index-tooltip: 1400;
|
|
123
|
+
--oh-typography-heading-h1-line-height: 1.1429; /** 64px at 56px: 56px × 1.1, rounded to the 8px grid */
|
|
124
|
+
--oh-typography-heading-h2-line-height: 1.2; /** 48px at 40px: 40px × 1.1, rounded to the 8px grid */
|
|
125
|
+
--oh-typography-heading-h3-line-height: 1.25; /** 40px at 32px: 32px × 1.3, rounded to the 8px grid */
|
|
126
|
+
--oh-typography-heading-h4-line-height: 1.3333; /** 32px at 24px: 24px × 1.3, rounded to the 8px grid */
|
|
127
|
+
--oh-typography-heading-h5-line-height: 1.6; /** 32px at 20px: 20px × 1.5, rounded to the 8px grid */
|
|
128
|
+
--oh-typography-heading-h6-line-height: 1.5; /** 24px at 16px: 16px × 1.5, rounded to the 8px grid */
|
|
129
|
+
--oh-typography-body-xl-line-height: 1.6667; /** 40px at 24px: 24px × 1.5, rounded to the 8px grid */
|
|
130
|
+
--oh-typography-body-lg-line-height: 1.6; /** 32px at 20px: 20px × 1.6, rounded to the 8px grid */
|
|
131
|
+
--oh-typography-body-base-line-height: 1.5; /** 24px at 16px: 16px × 1.5, rounded to the 8px grid */
|
|
132
|
+
--oh-typography-body-sm-line-height: 1.6667; /** 20px at 12px: 12px × 1.5, rounded to the 4px grid */
|
|
133
|
+
--oh-typography-body-xs-line-height: 1.6667; /** 20px at 12px: 12px × 1.5, rounded to the 4px grid */
|
|
134
|
+
--oh-typography-label-base-line-height: 1.5; /** 24px at 16px: 16px × 1.5, rounded to the 8px grid */
|
|
135
|
+
--oh-typography-label-sm-line-height: 1.6667; /** 20px at 12px: 12px × 1.5, rounded to the 4px grid */
|
|
136
|
+
--oh-typography-code-line-height: 1.5; /** 24px at 16px: 16px × 1.5, rounded to the 8px grid */
|
|
123
137
|
--oh-elevation-offset-xs: 0px; /** Flat brand: offset shadows have no offset, so they don't show */
|
|
124
138
|
--oh-elevation-offset-sm: 0px; /** Flat brand: offset shadows have no offset, so they don't show */
|
|
125
139
|
--oh-elevation-offset-md: 0px; /** Flat brand: offset shadows have no offset, so they don't show */
|
|
@@ -203,6 +217,7 @@
|
|
|
203
217
|
--oh-color-text-on-error: var(--oh-color-white);
|
|
204
218
|
--oh-color-text-on-warning: var(--oh-color-white);
|
|
205
219
|
--oh-color-text-on-info: var(--oh-color-white);
|
|
220
|
+
--oh-font-size-sm: var(--oh-font-size-xs); /** Kept so existing references don't break. On the grid, small text is xs; use xs or a tier 2 role */
|
|
206
221
|
--oh-shadow-overlay: var(--oh-color-grey-400);
|
|
207
222
|
--oh-shadow-primary: var(--oh-color-grey-300);
|
|
208
223
|
--oh-shadow-secondary: var(--oh-color-grey-200);
|
|
@@ -231,55 +246,42 @@
|
|
|
231
246
|
--oh-typography-heading-font-family: var(--oh-font-family-display);
|
|
232
247
|
--oh-typography-heading-h1-font-size: var(--oh-font-size-4xl);
|
|
233
248
|
--oh-typography-heading-h1-font-weight: var(--oh-font-weight-extrabold);
|
|
234
|
-
--oh-typography-heading-h1-line-height: var(--oh-font-line-height-tight);
|
|
235
249
|
--oh-typography-heading-h1-letter-spacing: var(--oh-font-letter-spacing-tighter);
|
|
236
250
|
--oh-typography-heading-h2-font-size: var(--oh-font-size-3xl);
|
|
237
251
|
--oh-typography-heading-h2-font-weight: var(--oh-font-weight-extrabold);
|
|
238
|
-
--oh-typography-heading-h2-line-height: var(--oh-font-line-height-tight);
|
|
239
252
|
--oh-typography-heading-h2-letter-spacing: var(--oh-font-letter-spacing-tight);
|
|
240
253
|
--oh-typography-heading-h3-font-size: var(--oh-font-size-2xl);
|
|
241
254
|
--oh-typography-heading-h3-font-weight: var(--oh-font-weight-bold);
|
|
242
|
-
--oh-typography-heading-h3-line-height: var(--oh-font-line-height-snug);
|
|
243
255
|
--oh-typography-heading-h3-letter-spacing: var(--oh-font-letter-spacing-tight);
|
|
244
256
|
--oh-typography-heading-h4-font-size: var(--oh-font-size-xl);
|
|
245
257
|
--oh-typography-heading-h4-font-weight: var(--oh-font-weight-bold);
|
|
246
|
-
--oh-typography-heading-h4-line-height: var(--oh-font-line-height-snug);
|
|
247
258
|
--oh-typography-heading-h4-letter-spacing: var(--oh-font-letter-spacing-normal);
|
|
248
259
|
--oh-typography-heading-h5-font-size: var(--oh-font-size-lg);
|
|
249
260
|
--oh-typography-heading-h5-font-weight: var(--oh-font-weight-bold);
|
|
250
|
-
--oh-typography-heading-h5-line-height: var(--oh-font-line-height-normal);
|
|
251
261
|
--oh-typography-heading-h6-font-size: var(--oh-font-size-base);
|
|
252
262
|
--oh-typography-heading-h6-font-weight: var(--oh-font-weight-bold);
|
|
253
|
-
--oh-typography-heading-h6-line-height: var(--oh-font-line-height-normal);
|
|
254
263
|
--oh-typography-body-font-family: var(--oh-font-family-sans);
|
|
255
264
|
--oh-typography-body-xl-font-size: var(--oh-font-size-xl);
|
|
256
265
|
--oh-typography-body-xl-font-weight: var(--oh-font-weight-normal);
|
|
257
|
-
--oh-typography-body-xl-line-height: var(--oh-font-line-height-normal);
|
|
258
266
|
--oh-typography-body-lg-font-size: var(--oh-font-size-lg);
|
|
259
267
|
--oh-typography-body-lg-font-weight: var(--oh-font-weight-normal);
|
|
260
|
-
--oh-typography-body-lg-line-height: var(--oh-font-line-height-relaxed);
|
|
261
268
|
--oh-typography-body-base-font-size: var(--oh-font-size-base);
|
|
262
269
|
--oh-typography-body-base-font-weight: var(--oh-font-weight-normal);
|
|
263
|
-
--oh-typography-body-
|
|
264
|
-
--oh-typography-body-sm-font-size: var(--oh-font-size-sm);
|
|
270
|
+
--oh-typography-body-sm-font-size: var(--oh-font-size-xs);
|
|
265
271
|
--oh-typography-body-sm-font-weight: var(--oh-font-weight-normal);
|
|
266
|
-
--oh-typography-body-sm-line-height: var(--oh-font-line-height-normal);
|
|
267
272
|
--oh-typography-body-sm-letter-spacing: var(--oh-font-letter-spacing-normal);
|
|
268
273
|
--oh-typography-body-xs-font-size: var(--oh-font-size-xs);
|
|
269
274
|
--oh-typography-body-xs-font-weight: var(--oh-font-weight-normal);
|
|
270
|
-
--oh-typography-body-xs-line-height: var(--oh-font-line-height-normal);
|
|
271
275
|
--oh-typography-body-xs-letter-spacing: var(--oh-font-letter-spacing-wide);
|
|
272
276
|
--oh-typography-label-font-family: var(--oh-font-family-sans);
|
|
273
|
-
--oh-typography-label-base-font-size: var(--oh-font-size-
|
|
277
|
+
--oh-typography-label-base-font-size: var(--oh-font-size-base);
|
|
274
278
|
--oh-typography-label-base-font-weight: var(--oh-font-weight-semibold);
|
|
275
|
-
--oh-typography-label-base-line-height: var(--oh-font-line-height-normal);
|
|
276
279
|
--oh-typography-label-base-letter-spacing: var(--oh-font-letter-spacing-wide);
|
|
277
280
|
--oh-typography-label-sm-font-size: var(--oh-font-size-xs);
|
|
278
281
|
--oh-typography-label-sm-font-weight: var(--oh-font-weight-semibold);
|
|
279
|
-
--oh-typography-label-sm-line-height: var(--oh-font-line-height-normal);
|
|
280
282
|
--oh-typography-label-sm-letter-spacing: var(--oh-font-letter-spacing-widest);
|
|
281
283
|
--oh-typography-eyebrow-font-family: var(--oh-font-family-sans);
|
|
282
|
-
--oh-typography-eyebrow-font-size: var(--oh-font-size-
|
|
284
|
+
--oh-typography-eyebrow-font-size: var(--oh-font-size-xs);
|
|
283
285
|
--oh-typography-eyebrow-font-weight: var(--oh-font-weight-semibold);
|
|
284
286
|
--oh-typography-eyebrow-letter-spacing: var(--oh-font-letter-spacing-widest);
|
|
285
287
|
--oh-typography-control-font-family: var(--oh-font-family-sans);
|
|
@@ -290,8 +292,7 @@
|
|
|
290
292
|
--oh-typography-control-font-size-lg: var(--oh-font-size-lg);
|
|
291
293
|
--oh-typography-emphasis-font-weight: var(--oh-font-weight-bold);
|
|
292
294
|
--oh-typography-code-font-family: var(--oh-font-family-mono);
|
|
293
|
-
--oh-typography-code-font-size: var(--oh-font-size-
|
|
294
|
-
--oh-typography-code-line-height: var(--oh-font-line-height-normal);
|
|
295
|
+
--oh-typography-code-font-size: var(--oh-font-size-base);
|
|
295
296
|
--oh-layout-container-sm: var(--oh-size-container-sm);
|
|
296
297
|
--oh-layout-container-md: var(--oh-size-container-md);
|
|
297
298
|
--oh-layout-container-lg: var(--oh-size-container-lg);
|
|
@@ -329,6 +330,7 @@
|
|
|
329
330
|
--oh-button-size-lg-padding-y: var(--oh-spacing-4);
|
|
330
331
|
--oh-button-size-lg-gap: var(--oh-spacing-2-5);
|
|
331
332
|
--oh-button-focus-glow-color: var(--oh-focus-glow-color);
|
|
333
|
+
--oh-input-base-line-height: var(--oh-typography-body-base-line-height);
|
|
332
334
|
--oh-input-size-md-padding-x: var(--oh-spacing-4);
|
|
333
335
|
--oh-input-size-md-padding-y: var(--oh-spacing-3);
|
|
334
336
|
--oh-card-base-padding: var(--oh-spacing-5);
|
|
@@ -371,7 +373,6 @@
|
|
|
371
373
|
--oh-button-focus-ring-color: var(--oh-focus-ring-color);
|
|
372
374
|
--oh-input-base-font-family: var(--oh-typography-control-font-family);
|
|
373
375
|
--oh-input-base-font-size: var(--oh-typography-control-font-size-md);
|
|
374
|
-
--oh-input-base-line-height: var(--oh-typography-body-base-line-height);
|
|
375
376
|
--oh-input-base-border-radius: var(--oh-shape-control);
|
|
376
377
|
--oh-input-base-border-width: var(--oh-stroke-control);
|
|
377
378
|
--oh-input-base-transition-duration: var(--oh-motion-snappy);
|