@omni-design/components 0.11.0 → 0.13.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/.claude/commands/ScanComponents.md +1 -1
- package/.claude/commands/ShareComponent.md +1 -1
- package/CLAUDE.md +5 -3
- package/dist/OmniDesignProvider.esm.js +1 -1
- package/dist/OmniDesignProvider.esm.js.map +1 -1
- package/dist/OmniDesignProvider.js +1 -1
- package/dist/OmniDesignProvider.js.map +1 -1
- package/dist/index.esm.js +8 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/types/components/BackgroundPicker.d.ts +1 -1
- package/dist/types/components/BrandIcon/BrandIcon.d.ts +20 -0
- package/dist/types/components/BrandIcon/index.d.ts +1 -0
- package/dist/types/components/Button/Button.d.ts +3 -1
- package/dist/types/components/ButtonGroup/ButtonGroup.d.ts +3 -2
- package/dist/types/components/Charts/tokens.d.ts +1 -1
- package/dist/types/components/Chip/Chip.d.ts +1 -1
- package/dist/types/components/Footer/Footer.d.ts +3 -1
- package/dist/types/components/Foundations/FoundationTopic.d.ts +4 -0
- package/dist/types/components/Foundations/HowToSlot.d.ts +16 -0
- package/dist/types/components/Foundations/TokenRoles.d.ts +19 -0
- package/dist/types/components/Foundations/TypographySummary.d.ts +2 -0
- package/dist/types/components/IconBadge/IconBadge.d.ts +1 -1
- package/dist/types/components/Loader/Loader.d.ts +66 -0
- package/dist/types/components/Loader/index.d.ts +1 -0
- package/dist/types/components/MiniSwatch/MiniSwatch.d.ts +7 -0
- package/dist/types/components/MiniSwatch/index.d.ts +1 -0
- package/dist/types/components/ShowcaseHeader.d.ts +5 -0
- package/dist/types/components/Swatch/Swatch.d.ts +14 -0
- package/dist/types/components/Swatch/index.d.ts +1 -0
- package/dist/types/components/Switch/Switch.d.ts +24 -8
- package/dist/types/components/Switch/index.d.ts +1 -1
- package/dist/types/components/TextField/TextField.d.ts +1 -1
- package/dist/types/components/Typography/Typography.d.ts +54 -1
- package/dist/types/components/Typography/index.d.ts +1 -1
- package/dist/types/components/_states.d.ts +1 -1
- package/dist/types/components/a11yPanel.d.ts +37 -0
- package/dist/types/components/index.d.ts +7 -1
- package/dist/types/docs/DocPanels.d.ts +25 -0
- package/dist/types/docs/components.d.ts +220 -0
- package/dist/types/docs/componentsData.d.ts +587 -0
- package/dist/types/docs/componentsForms.d.ts +597 -0
- package/dist/types/docs/componentsNav.d.ts +420 -0
- package/dist/types/docs/componentsOverlays.d.ts +379 -0
- package/dist/types/docs/componentsRest.d.ts +158 -0
- package/dist/types/docs/componentsSurfaces.d.ts +429 -0
- package/dist/types/docs/docsLink.d.ts +32 -0
- package/dist/types/docs/examples.d.ts +48 -0
- package/dist/types/docs/figmaHowTo.d.ts +28 -0
- package/dist/types/docs/figmaLinks.d.ts +58 -0
- package/dist/types/docs/foundations.d.ts +40 -0
- package/dist/types/docs/index.d.ts +5 -0
- package/docs/components.md +71 -55
- package/package.json +4 -2
- package/public/styles/Dark-Mode.css +12062 -13009
- package/public/styles/Light-Mode.css +11246 -12370
- package/public/styles/base.css +387 -182
- package/public/styles/core.css +569 -133
- package/public/styles/foundation.css +142 -53
- package/public/styles/styles.css +5 -5
- package/public/styles/theme.json +2 -2
- package/public/styles/typography-tokens.css +873 -96
- package/dist/types/theme/useThemeMode.d.ts +0 -4
|
@@ -1,62 +1,381 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* The "Auto-generated" note below refers to the template itself being
|
|
6
|
-
* auto-generated upstream, not per-design-system regeneration.
|
|
7
|
-
* ============================================================================ */
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:GRAD,ROND,opsz,slnt,wdth,wght@0..100,0..100,6..144,-10..0,25..151,1..1000&display=swap');
|
|
2
|
+
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400&display=swap');
|
|
3
|
+
@import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:wght@640&display=swap');
|
|
4
|
+
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');
|
|
8
5
|
|
|
9
6
|
/* typography-tokens.css
|
|
10
7
|
* Auto-generated — do not edit by hand.
|
|
11
|
-
* Apply [data-
|
|
8
|
+
* Apply [data-device="Desktop"] etc to your root element.
|
|
12
9
|
*/
|
|
13
10
|
|
|
14
|
-
[data-
|
|
11
|
+
[data-device="Desktop"] {
|
|
12
|
+
/* Faces */
|
|
13
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
14
|
+
--Font-Family-Header: var(--Platform-Font-Families-Header, var(--Set-Font-Family-Header));
|
|
15
|
+
--Font-Family-Eyebrow: var(--Set-Font-Family-Eyebrow, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
|
|
16
|
+
--Font-Family-Body: var(--Platform-Font-Families-Body, var(--Set-Font-Family-Body));
|
|
17
|
+
|
|
18
|
+
/* Face weights */
|
|
19
|
+
--Font-Weight-Display: 400;
|
|
20
|
+
--Font-Weight-Header: 640;
|
|
21
|
+
--Font-Weight-Eyebrow: 400;
|
|
22
|
+
--Font-Weight-Body: 400;
|
|
23
|
+
--Header-Clamped-Weight: 640;
|
|
24
|
+
|
|
25
|
+
/* Variable-font axes */
|
|
26
|
+
--Font-Slant-Header: 0;
|
|
27
|
+
--Font-Grade-Header: 50;
|
|
28
|
+
--Font-Width-Header: 72;
|
|
29
|
+
--Font-Roundness-Header: 0;
|
|
30
|
+
--Font-Optical-Size-Header: 96;
|
|
31
|
+
--Font-Variation-Header: "slnt" var(--Font-Slant-Header), "GRAD" var(--Font-Grade-Header), "wdth" var(--Font-Width-Header), "ROND" var(--Font-Roundness-Header), "opsz" var(--Font-Optical-Size-Header);
|
|
32
|
+
|
|
33
|
+
/* Display — Large and Medium belong in Header or Hero areas. Small is the one sized to sit inside a component — a card title, a stat, a pull quote. */
|
|
34
|
+
--Display-Large-Font-Family: var(--Font-Family-Display);
|
|
35
|
+
--Display-Large-Font-Size: 72px;
|
|
36
|
+
--Display-Large-Font-Weight: var(--Font-Weight-Display);
|
|
37
|
+
--Display-Large-Line-Height: 88px;
|
|
38
|
+
--Display-Large-Letter-Spacing: 0em;
|
|
39
|
+
--Display-Large-Text-Transform: none;
|
|
40
|
+
--Display-Medium-Font-Family: var(--Font-Family-Display);
|
|
41
|
+
--Display-Medium-Font-Size: 60px;
|
|
42
|
+
--Display-Medium-Font-Weight: var(--Font-Weight-Display);
|
|
43
|
+
--Display-Medium-Line-Height: 76px;
|
|
44
|
+
--Display-Medium-Letter-Spacing: 0em;
|
|
45
|
+
--Display-Medium-Text-Transform: none;
|
|
46
|
+
--Display-Small-Font-Family: var(--Font-Family-Display);
|
|
47
|
+
--Display-Small-Font-Size: 48px;
|
|
48
|
+
--Display-Small-Font-Weight: var(--Font-Weight-Display);
|
|
49
|
+
--Display-Small-Line-Height: 60px;
|
|
50
|
+
--Display-Small-Letter-Spacing: 0em;
|
|
51
|
+
--Display-Small-Text-Transform: none;
|
|
52
|
+
--Alt-Display-Large-Font-Family: var(--Font-Family-Display);
|
|
53
|
+
--Alt-Display-Large-Font-Size: 72px;
|
|
54
|
+
--Alt-Display-Large-Font-Weight: 900;
|
|
55
|
+
--Alt-Display-Large-Line-Height: 88px;
|
|
56
|
+
--Alt-Display-Large-Letter-Spacing: 0em;
|
|
57
|
+
--Alt-Display-Large-Text-Transform: none;
|
|
58
|
+
--Alt-Display-Medium-Font-Family: var(--Font-Family-Display);
|
|
59
|
+
--Alt-Display-Medium-Font-Size: 60px;
|
|
60
|
+
--Alt-Display-Medium-Font-Weight: 900;
|
|
61
|
+
--Alt-Display-Medium-Line-Height: 76px;
|
|
62
|
+
--Alt-Display-Medium-Letter-Spacing: 0em;
|
|
63
|
+
--Alt-Display-Medium-Text-Transform: none;
|
|
64
|
+
--Alt-Display-Small-Font-Family: var(--Font-Family-Display);
|
|
65
|
+
--Alt-Display-Small-Font-Size: 48px;
|
|
66
|
+
--Alt-Display-Small-Font-Weight: 900;
|
|
67
|
+
--Alt-Display-Small-Line-Height: 60px;
|
|
68
|
+
--Alt-Display-Small-Letter-Spacing: 0em;
|
|
69
|
+
--Alt-Display-Small-Text-Transform: none;
|
|
70
|
+
|
|
71
|
+
/* Header */
|
|
72
|
+
--H1-Font-Family: var(--Font-Family-Header);
|
|
73
|
+
--H1-Font-Size: 48px;
|
|
74
|
+
--H1-Font-Weight: var(--Font-Weight-Header);
|
|
75
|
+
--H1-Line-Height: 56px;
|
|
76
|
+
--H1-Letter-Spacing: -0.0217em;
|
|
77
|
+
--H1-Text-Transform: none;
|
|
78
|
+
--H2-Font-Family: var(--Font-Family-Header);
|
|
79
|
+
--H2-Font-Size: 40px;
|
|
80
|
+
--H2-Font-Weight: var(--Font-Weight-Header);
|
|
81
|
+
--H2-Line-Height: 48px;
|
|
82
|
+
--H2-Letter-Spacing: -0.0163em;
|
|
83
|
+
--H2-Text-Transform: none;
|
|
84
|
+
--H3-Font-Family: var(--Font-Family-Header);
|
|
85
|
+
--H3-Font-Size: 32px;
|
|
86
|
+
--H3-Font-Weight: var(--Font-Weight-Header);
|
|
87
|
+
--H3-Line-Height: 40px;
|
|
88
|
+
--H3-Letter-Spacing: -0.011em;
|
|
89
|
+
--H3-Text-Transform: none;
|
|
90
|
+
--H4-Font-Family: var(--Font-Family-Header);
|
|
91
|
+
--H4-Font-Size: 24px;
|
|
92
|
+
--H4-Font-Weight: var(--Header-Clamped-Weight);
|
|
93
|
+
--H4-Line-Height: 32px;
|
|
94
|
+
--H4-Letter-Spacing: -0.0057em;
|
|
95
|
+
--H4-Text-Transform: none;
|
|
96
|
+
--H5-Font-Family: var(--Font-Family-Header);
|
|
97
|
+
--H5-Font-Size: 20px;
|
|
98
|
+
--H5-Font-Weight: var(--Header-Clamped-Weight);
|
|
99
|
+
--H5-Line-Height: 28px;
|
|
100
|
+
--H5-Letter-Spacing: -0.003em;
|
|
101
|
+
--H5-Text-Transform: none;
|
|
102
|
+
--H6-Font-Family: var(--Font-Family-Header);
|
|
103
|
+
--H6-Font-Size: 18px;
|
|
104
|
+
--H6-Font-Weight: var(--Header-Clamped-Weight);
|
|
105
|
+
--H6-Line-Height: 24px;
|
|
106
|
+
--H6-Letter-Spacing: -0.0017em;
|
|
107
|
+
--H6-Text-Transform: none;
|
|
108
|
+
|
|
109
|
+
/* Subtitle */
|
|
110
|
+
--Subtitle-Small-Font-Family: var(--Font-Family-Body);
|
|
111
|
+
--Subtitle-Small-Font-Size: 14px;
|
|
112
|
+
--Subtitle-Small-Font-Weight: 700;
|
|
113
|
+
--Subtitle-Small-Line-Height: 21px;
|
|
114
|
+
--Subtitle-Small-Letter-Spacing: 0em;
|
|
115
|
+
--Subtitle-Small-Text-Transform: none;
|
|
116
|
+
--Subtitle-Medium-Font-Family: var(--Font-Family-Body);
|
|
117
|
+
--Subtitle-Medium-Font-Size: 16px;
|
|
118
|
+
--Subtitle-Medium-Font-Weight: 700;
|
|
119
|
+
--Subtitle-Medium-Line-Height: 24px;
|
|
120
|
+
--Subtitle-Medium-Letter-Spacing: 0em;
|
|
121
|
+
--Subtitle-Medium-Text-Transform: none;
|
|
122
|
+
--Subtitle-Large-Font-Family: var(--Font-Family-Body);
|
|
123
|
+
--Subtitle-Large-Font-Size: 18px;
|
|
124
|
+
--Subtitle-Large-Font-Weight: 700;
|
|
125
|
+
--Subtitle-Large-Line-Height: 27px;
|
|
126
|
+
--Subtitle-Large-Letter-Spacing: 0em;
|
|
127
|
+
--Subtitle-Large-Text-Transform: none;
|
|
128
|
+
|
|
129
|
+
/* Body */
|
|
130
|
+
--Body-Small-Font-Family: var(--Font-Family-Body);
|
|
131
|
+
--Body-Small-Font-Size: 14px;
|
|
132
|
+
--Body-Small-Font-Weight: var(--Font-Weight-Body);
|
|
133
|
+
--Body-Small-Line-Height: 21px;
|
|
134
|
+
--Body-Small-Letter-Spacing: 0em;
|
|
135
|
+
--Body-Small-Text-Transform: none;
|
|
136
|
+
--Body-Small-Semibold-Font-Weight: 600;
|
|
137
|
+
--Body-Medium-Font-Family: var(--Font-Family-Body);
|
|
138
|
+
--Body-Medium-Font-Size: 16px;
|
|
139
|
+
--Body-Medium-Font-Weight: var(--Font-Weight-Body);
|
|
140
|
+
--Body-Medium-Line-Height: 24px;
|
|
141
|
+
--Body-Medium-Letter-Spacing: 0em;
|
|
142
|
+
--Body-Medium-Text-Transform: none;
|
|
143
|
+
--Body-Medium-Semibold-Font-Weight: 600;
|
|
144
|
+
--Body-Large-Font-Family: var(--Font-Family-Body);
|
|
145
|
+
--Body-Large-Font-Size: 18px;
|
|
146
|
+
--Body-Large-Font-Weight: var(--Font-Weight-Body);
|
|
147
|
+
--Body-Large-Line-Height: 27px;
|
|
148
|
+
--Body-Large-Letter-Spacing: 0em;
|
|
149
|
+
--Body-Large-Text-Transform: none;
|
|
150
|
+
--Body-Large-Semibold-Font-Weight: 600;
|
|
151
|
+
|
|
152
|
+
/* Caption */
|
|
153
|
+
--Caption-Small-Font-Family: var(--Font-Family-Body);
|
|
154
|
+
--Caption-Small-Font-Size: 12px;
|
|
155
|
+
--Caption-Small-Font-Weight: 500;
|
|
156
|
+
--Caption-Small-Line-Height: 18px;
|
|
157
|
+
--Caption-Small-Letter-Spacing: 0.0083em;
|
|
158
|
+
--Caption-Small-Text-Transform: none;
|
|
159
|
+
--Caption-Small-Bold-Font-Weight: 700;
|
|
160
|
+
--Caption-Small-Paragraph-Spacing: 24px;
|
|
161
|
+
--Caption-Font-Family: var(--Font-Family-Body);
|
|
162
|
+
--Caption-Font-Size: 14px;
|
|
163
|
+
--Caption-Font-Weight: 500;
|
|
164
|
+
--Caption-Line-Height: 21px;
|
|
165
|
+
--Caption-Letter-Spacing: 0.0071em;
|
|
166
|
+
--Caption-Text-Transform: none;
|
|
167
|
+
--Caption-Bold-Font-Weight: 700;
|
|
168
|
+
--Caption-Paragraph-Spacing: 28px;
|
|
169
|
+
--Caption-Large-Font-Family: var(--Font-Family-Body);
|
|
170
|
+
--Caption-Large-Font-Size: 16px;
|
|
171
|
+
--Caption-Large-Font-Weight: 500;
|
|
172
|
+
--Caption-Large-Line-Height: 24px;
|
|
173
|
+
--Caption-Large-Letter-Spacing: 0.0063em;
|
|
174
|
+
--Caption-Large-Text-Transform: none;
|
|
175
|
+
--Caption-Large-Bold-Font-Weight: 700;
|
|
176
|
+
--Caption-Large-Paragraph-Spacing: 32px;
|
|
177
|
+
|
|
178
|
+
/* Label */
|
|
179
|
+
--Label-ExtraSmall-Font-Family: var(--Font-Family-Body);
|
|
180
|
+
--Label-ExtraSmall-Font-Size: 11px;
|
|
181
|
+
--Label-ExtraSmall-Font-Weight: 600;
|
|
182
|
+
--Label-ExtraSmall-Line-Height: 16.5px;
|
|
183
|
+
--Label-ExtraSmall-Letter-Spacing: 0.0455em;
|
|
184
|
+
--Label-ExtraSmall-Text-Transform: none;
|
|
185
|
+
--Label-Small-Font-Family: var(--Font-Family-Body);
|
|
186
|
+
--Label-Small-Font-Size: 12.5px;
|
|
187
|
+
--Label-Small-Font-Weight: 600;
|
|
188
|
+
--Label-Small-Line-Height: 18.75px;
|
|
189
|
+
--Label-Small-Letter-Spacing: 0.02em;
|
|
190
|
+
--Label-Small-Text-Transform: none;
|
|
191
|
+
--Label-Small-All-Caps-Font-Family: var(--Font-Family-Body);
|
|
192
|
+
--Label-Small-All-Caps-Font-Size: 12.5px;
|
|
193
|
+
--Label-Small-All-Caps-Font-Weight: 600;
|
|
194
|
+
--Label-Small-All-Caps-Line-Height: 18.75px;
|
|
195
|
+
--Label-Small-All-Caps-Letter-Spacing: 0.02em;
|
|
196
|
+
--Label-Small-All-Caps-Text-Transform: uppercase;
|
|
197
|
+
--Label-Medium-Font-Family: var(--Font-Family-Body);
|
|
198
|
+
--Label-Medium-Font-Size: 16px;
|
|
199
|
+
--Label-Medium-Font-Weight: 600;
|
|
200
|
+
--Label-Medium-Line-Height: 24px;
|
|
201
|
+
--Label-Medium-Letter-Spacing: 0em;
|
|
202
|
+
--Label-Medium-Text-Transform: none;
|
|
203
|
+
--Label-Medium-All-Caps-Font-Family: var(--Font-Family-Body);
|
|
204
|
+
--Label-Medium-All-Caps-Font-Size: 16px;
|
|
205
|
+
--Label-Medium-All-Caps-Font-Weight: 600;
|
|
206
|
+
--Label-Medium-All-Caps-Line-Height: 24px;
|
|
207
|
+
--Label-Medium-All-Caps-Letter-Spacing: 0em;
|
|
208
|
+
--Label-Medium-All-Caps-Text-Transform: uppercase;
|
|
209
|
+
--Label-Large-Font-Family: var(--Font-Family-Body);
|
|
210
|
+
--Label-Large-Font-Size: 18px;
|
|
211
|
+
--Label-Large-Font-Weight: 600;
|
|
212
|
+
--Label-Large-Line-Height: 27px;
|
|
213
|
+
--Label-Large-Letter-Spacing: 0em;
|
|
214
|
+
--Label-Large-Text-Transform: none;
|
|
215
|
+
--Label-Large-All-Caps-Font-Family: var(--Font-Family-Body);
|
|
216
|
+
--Label-Large-All-Caps-Font-Size: 18px;
|
|
217
|
+
--Label-Large-All-Caps-Font-Weight: 600;
|
|
218
|
+
--Label-Large-All-Caps-Line-Height: 27px;
|
|
219
|
+
--Label-Large-All-Caps-Letter-Spacing: 0em;
|
|
220
|
+
--Label-Large-All-Caps-Text-Transform: uppercase;
|
|
221
|
+
|
|
222
|
+
/* Mobile-Nav-Label */
|
|
223
|
+
--Mobile-Nav-Label-Font-Family: var(--Font-Family-Body);
|
|
224
|
+
--Mobile-Nav-Label-Font-Size: 11px;
|
|
225
|
+
--Mobile-Nav-Label-Font-Weight: 600;
|
|
226
|
+
--Mobile-Nav-Label-Line-Height: 16.5px;
|
|
227
|
+
--Mobile-Nav-Label-Letter-Spacing: 0.0455em;
|
|
228
|
+
--Mobile-Nav-Label-Text-Transform: none;
|
|
229
|
+
|
|
230
|
+
/* Legal */
|
|
231
|
+
--Legal-Font-Family: var(--Font-Family-Body);
|
|
232
|
+
--Legal-Font-Size: 10px;
|
|
233
|
+
--Legal-Font-Weight: 400;
|
|
234
|
+
--Legal-Line-Height: 15px;
|
|
235
|
+
--Legal-Letter-Spacing: 0em;
|
|
236
|
+
--Legal-Text-Transform: none;
|
|
237
|
+
--Legal-Semibold-Font-Weight: 600;
|
|
238
|
+
--Legal-Paragraph-Spacing: 20px;
|
|
239
|
+
|
|
240
|
+
/* Eyebrow — Eyebrow label — uppercase and tracked. Sits above a heading. */
|
|
241
|
+
--Eyebrow-Small-Font-Size: 12px;
|
|
242
|
+
--Eyebrow-Small-Font-Weight: 600;
|
|
243
|
+
--Eyebrow-Small-Line-Height: 18px;
|
|
244
|
+
--Eyebrow-Small-Letter-Spacing: 0.06em;
|
|
245
|
+
--Eyebrow-Small-Text-Transform: uppercase;
|
|
246
|
+
--Overline-Small-Font-Size: var(--Eyebrow-Small-Font-Size);
|
|
247
|
+
--Overline-Small-Font-Weight: var(--Eyebrow-Small-Font-Weight);
|
|
248
|
+
--Overline-Small-Line-Height: var(--Eyebrow-Small-Line-Height);
|
|
249
|
+
--Overline-Small-Letter-Spacing: var(--Eyebrow-Small-Letter-Spacing);
|
|
250
|
+
--Overline-Small-Text-Transform: var(--Eyebrow-Small-Text-Transform);
|
|
251
|
+
--Eyebrow-Medium-Font-Size: 16px;
|
|
252
|
+
--Eyebrow-Medium-Font-Weight: 600;
|
|
253
|
+
--Eyebrow-Medium-Line-Height: 24px;
|
|
254
|
+
--Eyebrow-Medium-Letter-Spacing: 0.05em;
|
|
255
|
+
--Eyebrow-Medium-Text-Transform: uppercase;
|
|
256
|
+
--Overline-Medium-Font-Size: var(--Eyebrow-Medium-Font-Size);
|
|
257
|
+
--Overline-Medium-Font-Weight: var(--Eyebrow-Medium-Font-Weight);
|
|
258
|
+
--Overline-Medium-Line-Height: var(--Eyebrow-Medium-Line-Height);
|
|
259
|
+
--Overline-Medium-Letter-Spacing: var(--Eyebrow-Medium-Letter-Spacing);
|
|
260
|
+
--Overline-Medium-Text-Transform: var(--Eyebrow-Medium-Text-Transform);
|
|
261
|
+
--Eyebrow-Large-Font-Size: 18px;
|
|
262
|
+
--Eyebrow-Large-Font-Weight: 600;
|
|
263
|
+
--Eyebrow-Large-Line-Height: 27px;
|
|
264
|
+
--Eyebrow-Large-Letter-Spacing: 0.04em;
|
|
265
|
+
--Eyebrow-Large-Text-Transform: uppercase;
|
|
266
|
+
--Overline-Large-Font-Size: var(--Eyebrow-Large-Font-Size);
|
|
267
|
+
--Overline-Large-Font-Weight: var(--Eyebrow-Large-Font-Weight);
|
|
268
|
+
--Overline-Large-Line-Height: var(--Eyebrow-Large-Line-Height);
|
|
269
|
+
--Overline-Large-Letter-Spacing: var(--Eyebrow-Large-Letter-Spacing);
|
|
270
|
+
--Overline-Large-Text-Transform: var(--Eyebrow-Large-Text-Transform);
|
|
271
|
+
|
|
272
|
+
/* Number */
|
|
273
|
+
--Number-Small-Font-Family: var(--Font-Family-Body);
|
|
274
|
+
--Number-Small-Font-Size: 16px;
|
|
275
|
+
--Number-Small-Font-Weight: 700;
|
|
276
|
+
--Number-Small-Line-Height: 16px;
|
|
277
|
+
--Number-Small-Letter-Spacing: 0em;
|
|
278
|
+
--Number-Small-Text-Transform: none;
|
|
279
|
+
--Number-Medium-Font-Family: var(--Font-Family-Body);
|
|
280
|
+
--Number-Medium-Font-Size: 28px;
|
|
281
|
+
--Number-Medium-Font-Weight: 700;
|
|
282
|
+
--Number-Medium-Line-Height: 28px;
|
|
283
|
+
--Number-Medium-Letter-Spacing: 0em;
|
|
284
|
+
--Number-Medium-Text-Transform: none;
|
|
285
|
+
--Number-Large-Font-Family: var(--Font-Family-Body);
|
|
286
|
+
--Number-Large-Font-Size: 36px;
|
|
287
|
+
--Number-Large-Font-Weight: 700;
|
|
288
|
+
--Number-Large-Line-Height: 36px;
|
|
289
|
+
--Number-Large-Letter-Spacing: 0em;
|
|
290
|
+
--Number-Large-Text-Transform: none;
|
|
291
|
+
|
|
292
|
+
/* Button */
|
|
293
|
+
--Button-ExtraSmall-Font-Family: var(--Font-Family-Body);
|
|
294
|
+
--Button-ExtraSmall-Font-Size: 11px;
|
|
295
|
+
--Button-ExtraSmall-Font-Weight: 600;
|
|
296
|
+
--Button-ExtraSmall-Line-Height: 11px;
|
|
297
|
+
--Button-ExtraSmall-Letter-Spacing: 0em;
|
|
298
|
+
--Button-ExtraSmall-Text-Transform: none;
|
|
299
|
+
--Button-Small-Font-Family: var(--Font-Family-Body);
|
|
300
|
+
--Button-Small-Font-Size: 14px;
|
|
301
|
+
--Button-Small-Font-Weight: 600;
|
|
302
|
+
--Button-Small-Line-Height: 14px;
|
|
303
|
+
--Button-Small-Letter-Spacing: 0em;
|
|
304
|
+
--Button-Small-Text-Transform: none;
|
|
305
|
+
--Button-Medium-Font-Family: var(--Font-Family-Body);
|
|
306
|
+
--Button-Medium-Font-Size: 16px;
|
|
307
|
+
--Button-Medium-Font-Weight: 600;
|
|
308
|
+
--Button-Medium-Line-Height: 16px;
|
|
309
|
+
--Button-Medium-Letter-Spacing: 0em;
|
|
310
|
+
--Button-Medium-Text-Transform: none;
|
|
311
|
+
--Button-Standard-Font-Size: var(--Button-Medium-Font-Size);
|
|
312
|
+
--Button-Standard-Font-Weight: var(--Button-Medium-Font-Weight);
|
|
313
|
+
--Button-Standard-Line-Height: var(--Button-Medium-Line-Height);
|
|
314
|
+
--Button-Standard-Letter-Spacing: var(--Button-Medium-Letter-Spacing);
|
|
315
|
+
--Button-Large-Font-Family: var(--Font-Family-Body);
|
|
316
|
+
--Button-Large-Font-Size: 24px;
|
|
317
|
+
--Button-Large-Font-Weight: 600;
|
|
318
|
+
--Button-Large-Line-Height: 24px;
|
|
319
|
+
--Button-Large-Letter-Spacing: 0em;
|
|
320
|
+
--Button-Large-Text-Transform: none;
|
|
321
|
+
|
|
322
|
+
/* Badge */
|
|
323
|
+
--Badge-Font-Family: var(--Font-Family-Body);
|
|
324
|
+
--Badge-Font-Size: 11px;
|
|
325
|
+
--Badge-Font-Weight: 600;
|
|
326
|
+
--Badge-Line-Height: 12px;
|
|
327
|
+
--Badge-Letter-Spacing: 0em;
|
|
328
|
+
--Badge-Text-Transform: none;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
[data-device="IOS-Mobile"] {
|
|
332
|
+
|
|
333
|
+
|
|
15
334
|
|
|
16
335
|
/* Display */
|
|
17
|
-
--Font-Family-Display: var(--Platform-Font-Families-
|
|
18
|
-
--Display-Small-Font-Size:
|
|
336
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
337
|
+
--Display-Small-Font-Size: 34px;
|
|
19
338
|
--Display-Small-Font-Weight: 600;
|
|
20
|
-
--Display-Small-Line-Height:
|
|
339
|
+
--Display-Small-Line-Height: 41px;
|
|
21
340
|
--Display-Small-Letter-Spacing: 0px;
|
|
22
|
-
--Font-Family-Display: var(--Platform-Font-Families-
|
|
23
|
-
--Display-Medium-Font-Size:
|
|
341
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
342
|
+
--Display-Medium-Font-Size: 40px;
|
|
24
343
|
--Display-Medium-Font-Weight: 600;
|
|
25
|
-
--Display-Medium-Line-Height:
|
|
344
|
+
--Display-Medium-Line-Height: 48px;
|
|
26
345
|
--Display-Medium-Letter-Spacing: 0px;
|
|
27
|
-
--Font-Family-Display: var(--Platform-Font-Families-
|
|
346
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
28
347
|
--Display-Large-Font-Size: 48px;
|
|
29
348
|
--Display-Large-Font-Weight: 600;
|
|
30
|
-
--Display-Large-Line-Height:
|
|
349
|
+
--Display-Large-Line-Height: 58px;
|
|
31
350
|
--Display-Large-Letter-Spacing: 0px;
|
|
32
351
|
|
|
33
352
|
/* Headers */
|
|
34
|
-
--Font-Family-
|
|
35
|
-
--H1-Font-Size:
|
|
353
|
+
--Font-Family-Body: var(--Platform-Font-Families-Decorative);
|
|
354
|
+
--H1-Font-Size: 28px;
|
|
36
355
|
--H1-Font-Weight: 600;
|
|
37
|
-
--H1-Line-Height:
|
|
38
|
-
--H1-Letter-Spacing:
|
|
39
|
-
--Font-Family-
|
|
40
|
-
--H2-Font-Size:
|
|
356
|
+
--H1-Line-Height: 28px;
|
|
357
|
+
--H1-Letter-Spacing: 0px;
|
|
358
|
+
--Font-Family-Body: var(--Platform-Font-Families-Decorative);
|
|
359
|
+
--H2-Font-Size: 26px;
|
|
41
360
|
--H2-Font-Weight: 600;
|
|
42
|
-
--H2-Line-Height:
|
|
43
|
-
--H2-Letter-Spacing:
|
|
44
|
-
--Font-Family-
|
|
361
|
+
--H2-Line-Height: 26px;
|
|
362
|
+
--H2-Letter-Spacing: 0px;
|
|
363
|
+
--Font-Family-Body: var(--Platform-Font-Families-Decorative);
|
|
45
364
|
--H3-Font-Size: 24px;
|
|
46
365
|
--H3-Font-Weight: 600;
|
|
47
366
|
--H3-Line-Height: 24px;
|
|
48
367
|
--H3-Letter-Spacing: 0px;
|
|
49
|
-
--Font-Family-
|
|
368
|
+
--Font-Family-Body: var(--Platform-Font-Families-Decorative);
|
|
50
369
|
--H4-Font-Size: 20px;
|
|
51
370
|
--H4-Font-Weight: 600;
|
|
52
371
|
--H4-Line-Height: 20px;
|
|
53
372
|
--H4-Letter-Spacing: 0px;
|
|
54
|
-
--Font-Family-
|
|
373
|
+
--Font-Family-Body: var(--Platform-Font-Families-Decorative);
|
|
55
374
|
--H5-Font-Size: 18px;
|
|
56
375
|
--H5-Font-Weight: 600;
|
|
57
376
|
--H5-Line-Height: 18px;
|
|
58
377
|
--H5-Letter-Spacing: 0px;
|
|
59
|
-
--Font-Family-
|
|
378
|
+
--Font-Family-Body: var(--Platform-Font-Families-Decorative);
|
|
60
379
|
--H6-Font-Size: 16px;
|
|
61
380
|
--H6-Font-Weight: 600;
|
|
62
381
|
--H6-Line-Height: 16px;
|
|
@@ -69,9 +388,9 @@
|
|
|
69
388
|
--Subtitle-Small-Line-Height: 24px;
|
|
70
389
|
--Subtitle-Small-Letter-Spacing: 0px;
|
|
71
390
|
--Font-Family-Subtitle: var(--Platform-Font-Families-Body);
|
|
72
|
-
--Subtitle-Large-Font-Size:
|
|
391
|
+
--Subtitle-Large-Font-Size: 16px;
|
|
73
392
|
--Subtitle-Large-Font-Weight: 700;
|
|
74
|
-
--Subtitle-Large-Line-Height:
|
|
393
|
+
--Subtitle-Large-Line-Height: 24px;
|
|
75
394
|
--Subtitle-Large-Letter-Spacing: 0px;
|
|
76
395
|
|
|
77
396
|
/* Body */
|
|
@@ -84,14 +403,14 @@
|
|
|
84
403
|
--Body-Small-Bold-Font-Weight: 700;
|
|
85
404
|
--Font-Family-Body: var(--Platform-Font-Families-Body);
|
|
86
405
|
--Body-Medium-Font-Size: 16px;
|
|
87
|
-
--Body-Medium-Font-Weight:
|
|
406
|
+
--Body-Medium-Font-Weight: 600;
|
|
88
407
|
--Body-Medium-Line-Height: 24px;
|
|
89
408
|
--Body-Medium-Letter-Spacing: 0px;
|
|
90
409
|
--Body-Medium-Semibold-Font-Weight: 600;
|
|
91
410
|
--Body-Medium-Bold-Font-Weight: 700;
|
|
92
411
|
--Font-Family-Body: var(--Platform-Font-Families-Body);
|
|
93
412
|
--Body-Large-Font-Size: 18px;
|
|
94
|
-
--Body-Large-Font-Weight:
|
|
413
|
+
--Body-Large-Font-Weight: 600;
|
|
95
414
|
--Body-Large-Line-Height: 27px;
|
|
96
415
|
--Body-Large-Letter-Spacing: 0px;
|
|
97
416
|
--Body-Large-Semibold-Font-Weight: 600;
|
|
@@ -99,11 +418,42 @@
|
|
|
99
418
|
|
|
100
419
|
/* Caption */
|
|
101
420
|
--Font-Family-Body: var(--Platform-Font-Families-Body);
|
|
421
|
+
/* Leading here is the PLATFORM's, not the brand's 1.5 — Apple's Dynamic Type's own
|
|
422
|
+
table at 12 / 14 / 16. The Figma payload computes these same numbers for
|
|
423
|
+
every non-Desktop device (typographyPlatform.ts, "LINE HEIGHT is COMPUTED,
|
|
424
|
+
not read"), while this block declared a flat 21 at every size, so one
|
|
425
|
+
caption read 19 in the file and 21 in the stylesheet and nothing could
|
|
426
|
+
see it. Declared rather than left to compute so the two sides state the
|
|
427
|
+
same value instead of arriving at it separately.
|
|
428
|
+
|
|
429
|
+
EVERY property is restated, tracking included, because the payload's
|
|
430
|
+
device-floor merge replaces a style WHOLE — `{...desktopStyles, ...own}`
|
|
431
|
+
keys on the STYLE, not on the property — so a step this block declares
|
|
432
|
+
partially loses whatever it leaves out instead of inheriting it from
|
|
433
|
+
Desktop. That variable then exists on Desktop and nowhere else, and one
|
|
434
|
+
missing on six of seven devices resolves to nothing there, silently. The
|
|
435
|
+
CSS cascade would have carried it; the payload does not, and the payload
|
|
436
|
+
is the half that fails without a sound.
|
|
437
|
+
|
|
438
|
+
The 0px is this block's existing answer for Caption, extended to the two
|
|
439
|
+
new steps rather than importing Desktop's 0.1px nudge — which would leave
|
|
440
|
+
the ramp reading 0.0996 / 0 / 0.1008, three steps of one style disagreeing
|
|
441
|
+
about whether the brand tracks captions at all. Whether mobile SHOULD zero
|
|
442
|
+
it is a brand decision and still open; this only stops the ramp from
|
|
443
|
+
contradicting itself. */
|
|
444
|
+
--Caption-Small-Font-Size: 12px;
|
|
445
|
+
--Caption-Small-Font-Weight: 500;
|
|
446
|
+
--Caption-Small-Letter-Spacing: 0px;
|
|
447
|
+
--Caption-Small-Line-Height: 16px;
|
|
102
448
|
--Caption-Font-Size: 14px;
|
|
103
449
|
--Caption-Font-Weight: 500;
|
|
104
|
-
--Caption-Line-Height:
|
|
450
|
+
--Caption-Line-Height: 19px;
|
|
105
451
|
--Caption-Letter-Spacing: 0px;
|
|
106
452
|
--Caption-Bold-Font-Weight: 700;
|
|
453
|
+
--Caption-Large-Font-Size: 16px;
|
|
454
|
+
--Caption-Large-Font-Weight: 500;
|
|
455
|
+
--Caption-Large-Letter-Spacing: 0px;
|
|
456
|
+
--Caption-Large-Line-Height: 21px;
|
|
107
457
|
|
|
108
458
|
/* Label */
|
|
109
459
|
--Font-Family-Label: var(--Platform-Font-Families-Body);
|
|
@@ -127,6 +477,14 @@
|
|
|
127
477
|
--Label-Large-Line-Height: 27px;
|
|
128
478
|
--Label-Large-Letter-Spacing: 0px;
|
|
129
479
|
|
|
480
|
+
|
|
481
|
+
/* Mobile Nav Label — Apple's tab-bar label: 10pt, untracked. */
|
|
482
|
+
--Font-Family-Mobile-Nav-Label: var(--Platform-Font-Families-Body);
|
|
483
|
+
--Mobile-Nav-Label-Font-Size: 10px;
|
|
484
|
+
--Mobile-Nav-Label-Font-Weight: 600;
|
|
485
|
+
--Mobile-Nav-Label-Line-Height: 10px;
|
|
486
|
+
--Mobile-Nav-Label-Letter-Spacing: 0px;
|
|
487
|
+
|
|
130
488
|
/* Legal */
|
|
131
489
|
--Font-Family-Body: var(--Platform-Font-Families-Body);
|
|
132
490
|
--Legal-Font-Size: 10px;
|
|
@@ -136,17 +494,17 @@
|
|
|
136
494
|
--Legal-Semibold-Font-Weight: 600;
|
|
137
495
|
|
|
138
496
|
/* Overline */
|
|
139
|
-
--Font-Family-Overline: var(--Platform-Font-Families-
|
|
497
|
+
--Font-Family-Overline: var(--Platform-Font-Families-Body);
|
|
140
498
|
--Overline-Small-Font-Size: 14px;
|
|
141
499
|
--Overline-Small-Font-Weight: 500;
|
|
142
500
|
--Overline-Small-Line-Height: 21px;
|
|
143
501
|
--Overline-Small-Letter-Spacing: 0px;
|
|
144
|
-
--Font-Family-Overline: var(--Platform-Font-Families-
|
|
502
|
+
--Font-Family-Overline: var(--Platform-Font-Families-Body);
|
|
145
503
|
--Overline-Medium-Font-Size: 16px;
|
|
146
504
|
--Overline-Medium-Font-Weight: 600;
|
|
147
505
|
--Overline-Medium-Line-Height: 24px;
|
|
148
506
|
--Overline-Medium-Letter-Spacing: 0px;
|
|
149
|
-
--Font-Family-Overline: var(--Platform-Font-Families-
|
|
507
|
+
--Font-Family-Overline: var(--Platform-Font-Families-Body);
|
|
150
508
|
--Overline-Large-Font-Size: 18px;
|
|
151
509
|
--Overline-Large-Font-Weight: 600;
|
|
152
510
|
--Overline-Large-Line-Height: 27px;
|
|
@@ -164,9 +522,9 @@
|
|
|
164
522
|
--Number-Medium-Line-Height: 28px;
|
|
165
523
|
--Number-Medium-Letter-Spacing: 0px;
|
|
166
524
|
--Font-Family-Number: var(--Platform-Font-Families-Body);
|
|
167
|
-
--Number-Large-Font-Size:
|
|
525
|
+
--Number-Large-Font-Size: 18px;
|
|
168
526
|
--Number-Large-Font-Weight: 700;
|
|
169
|
-
--Number-Large-Line-Height:
|
|
527
|
+
--Number-Large-Line-Height: 27px;
|
|
170
528
|
--Number-Large-Letter-Spacing: 0px;
|
|
171
529
|
|
|
172
530
|
/* Button */
|
|
@@ -181,30 +539,53 @@
|
|
|
181
539
|
--Button-Small-Line-Height: 14px;
|
|
182
540
|
--Button-Small-Letter-Spacing: 0px;
|
|
183
541
|
--Font-Family-Button: var(--Platform-Font-Families-Body);
|
|
184
|
-
--Button-
|
|
185
|
-
--Button-
|
|
186
|
-
--Button-
|
|
187
|
-
--Button-
|
|
542
|
+
--Button-Medium-Font-Size: 16px;
|
|
543
|
+
--Button-Medium-Font-Weight: 600;
|
|
544
|
+
--Button-Medium-Line-Height: 16px;
|
|
545
|
+
--Button-Medium-Letter-Spacing: 0px;
|
|
546
|
+
/* was Button-Standard — kept so frozen stylesheets keep resolving. */
|
|
547
|
+
--Button-Standard-Font-Size: var(--Button-Medium-Font-Size);
|
|
548
|
+
--Button-Standard-Font-Weight: var(--Button-Medium-Font-Weight);
|
|
549
|
+
--Button-Standard-Line-Height: var(--Button-Medium-Line-Height);
|
|
550
|
+
--Button-Standard-Letter-Spacing: var(--Button-Medium-Letter-Spacing);
|
|
551
|
+
|
|
552
|
+
/* Alt Display — mirrors Display step for step. The pairing sets one word
|
|
553
|
+
on one baseline ("Omni" + "Design"), so the two must not diverge in
|
|
554
|
+
size or leading; colour is what separates them. */
|
|
555
|
+
--Alt-Display-Small-Font-Size: 34px;
|
|
556
|
+
--Alt-Display-Small-Font-Weight: 900;
|
|
557
|
+
--Alt-Display-Small-Line-Height: 41px;
|
|
558
|
+
--Alt-Display-Small-Letter-Spacing: 0px;
|
|
559
|
+
--Alt-Display-Medium-Font-Size: 40px;
|
|
560
|
+
--Alt-Display-Medium-Font-Weight: 900;
|
|
561
|
+
--Alt-Display-Medium-Line-Height: 48px;
|
|
562
|
+
--Alt-Display-Medium-Letter-Spacing: 0px;
|
|
563
|
+
--Alt-Display-Large-Font-Size: 48px;
|
|
564
|
+
--Alt-Display-Large-Font-Weight: 900;
|
|
565
|
+
--Alt-Display-Large-Line-Height: 58px;
|
|
566
|
+
--Alt-Display-Large-Letter-Spacing: 0px;
|
|
188
567
|
|
|
189
568
|
}
|
|
190
569
|
|
|
191
|
-
[data-
|
|
570
|
+
[data-device="IOS-Tablet"] {
|
|
571
|
+
|
|
572
|
+
|
|
192
573
|
|
|
193
574
|
/* Display */
|
|
194
|
-
--Font-Family-Display: var(--Platform-Font-Families-Decorative);
|
|
195
|
-
--Display-Small-Font-Size:
|
|
575
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
576
|
+
--Display-Small-Font-Size: 34px;
|
|
196
577
|
--Display-Small-Font-Weight: 600;
|
|
197
|
-
--Display-Small-Line-Height:
|
|
578
|
+
--Display-Small-Line-Height: 41px;
|
|
198
579
|
--Display-Small-Letter-Spacing: 0px;
|
|
199
|
-
--Font-Family-Display: var(--Platform-Font-Families-
|
|
200
|
-
--Display-Medium-Font-Size:
|
|
580
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
581
|
+
--Display-Medium-Font-Size: 40px;
|
|
201
582
|
--Display-Medium-Font-Weight: 600;
|
|
202
|
-
--Display-Medium-Line-Height:
|
|
583
|
+
--Display-Medium-Line-Height: 48px;
|
|
203
584
|
--Display-Medium-Letter-Spacing: 0px;
|
|
204
|
-
--Font-Family-Display: var(--Platform-Font-Families-Decorative);
|
|
205
|
-
--Display-Large-Font-Size:
|
|
585
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
586
|
+
--Display-Large-Font-Size: 48px;
|
|
206
587
|
--Display-Large-Font-Weight: 600;
|
|
207
|
-
--Display-Large-Line-Height:
|
|
588
|
+
--Display-Large-Line-Height: 58px;
|
|
208
589
|
--Display-Large-Letter-Spacing: 0px;
|
|
209
590
|
|
|
210
591
|
/* Headers */
|
|
@@ -246,9 +627,9 @@
|
|
|
246
627
|
--Subtitle-Small-Line-Height: 24px;
|
|
247
628
|
--Subtitle-Small-Letter-Spacing: 0px;
|
|
248
629
|
--Font-Family-Subtitle: var(--Platform-Font-Families-Body);
|
|
249
|
-
--Subtitle-Large-Font-Size:
|
|
630
|
+
--Subtitle-Large-Font-Size: 18px;
|
|
250
631
|
--Subtitle-Large-Font-Weight: 700;
|
|
251
|
-
--Subtitle-Large-Line-Height:
|
|
632
|
+
--Subtitle-Large-Line-Height: 32px;
|
|
252
633
|
--Subtitle-Large-Letter-Spacing: 0px;
|
|
253
634
|
|
|
254
635
|
/* Body */
|
|
@@ -261,7 +642,7 @@
|
|
|
261
642
|
--Body-Small-Bold-Font-Weight: 700;
|
|
262
643
|
--Font-Family-Body: var(--Platform-Font-Families-Body);
|
|
263
644
|
--Body-Medium-Font-Size: 16px;
|
|
264
|
-
--Body-Medium-Font-Weight:
|
|
645
|
+
--Body-Medium-Font-Weight: 500;
|
|
265
646
|
--Body-Medium-Line-Height: 24px;
|
|
266
647
|
--Body-Medium-Letter-Spacing: 0px;
|
|
267
648
|
--Body-Medium-Semibold-Font-Weight: 600;
|
|
@@ -276,11 +657,42 @@
|
|
|
276
657
|
|
|
277
658
|
/* Caption */
|
|
278
659
|
--Font-Family-Body: var(--Platform-Font-Families-Body);
|
|
660
|
+
/* Leading here is the PLATFORM's, not the brand's 1.5 — Apple's Dynamic Type's own
|
|
661
|
+
table at 12 / 14 / 16. The Figma payload computes these same numbers for
|
|
662
|
+
every non-Desktop device (typographyPlatform.ts, "LINE HEIGHT is COMPUTED,
|
|
663
|
+
not read"), while this block declared a flat 21 at every size, so one
|
|
664
|
+
caption read 19 in the file and 21 in the stylesheet and nothing could
|
|
665
|
+
see it. Declared rather than left to compute so the two sides state the
|
|
666
|
+
same value instead of arriving at it separately.
|
|
667
|
+
|
|
668
|
+
EVERY property is restated, tracking included, because the payload's
|
|
669
|
+
device-floor merge replaces a style WHOLE — `{...desktopStyles, ...own}`
|
|
670
|
+
keys on the STYLE, not on the property — so a step this block declares
|
|
671
|
+
partially loses whatever it leaves out instead of inheriting it from
|
|
672
|
+
Desktop. That variable then exists on Desktop and nowhere else, and one
|
|
673
|
+
missing on six of seven devices resolves to nothing there, silently. The
|
|
674
|
+
CSS cascade would have carried it; the payload does not, and the payload
|
|
675
|
+
is the half that fails without a sound.
|
|
676
|
+
|
|
677
|
+
The 0px is this block's existing answer for Caption, extended to the two
|
|
678
|
+
new steps rather than importing Desktop's 0.1px nudge — which would leave
|
|
679
|
+
the ramp reading 0.0996 / 0 / 0.1008, three steps of one style disagreeing
|
|
680
|
+
about whether the brand tracks captions at all. Whether mobile SHOULD zero
|
|
681
|
+
it is a brand decision and still open; this only stops the ramp from
|
|
682
|
+
contradicting itself. */
|
|
683
|
+
--Caption-Small-Font-Size: 12px;
|
|
684
|
+
--Caption-Small-Font-Weight: 500;
|
|
685
|
+
--Caption-Small-Letter-Spacing: 0px;
|
|
686
|
+
--Caption-Small-Line-Height: 16px;
|
|
279
687
|
--Caption-Font-Size: 14px;
|
|
280
688
|
--Caption-Font-Weight: 500;
|
|
281
|
-
--Caption-Line-Height:
|
|
689
|
+
--Caption-Line-Height: 19px;
|
|
282
690
|
--Caption-Letter-Spacing: 0px;
|
|
283
691
|
--Caption-Bold-Font-Weight: 700;
|
|
692
|
+
--Caption-Large-Font-Size: 16px;
|
|
693
|
+
--Caption-Large-Font-Weight: 500;
|
|
694
|
+
--Caption-Large-Letter-Spacing: 0px;
|
|
695
|
+
--Caption-Large-Line-Height: 21px;
|
|
284
696
|
|
|
285
697
|
/* Label */
|
|
286
698
|
--Font-Family-Label: var(--Platform-Font-Families-Body);
|
|
@@ -304,6 +716,14 @@
|
|
|
304
716
|
--Label-Large-Line-Height: 27px;
|
|
305
717
|
--Label-Large-Letter-Spacing: 0px;
|
|
306
718
|
|
|
719
|
+
|
|
720
|
+
/* Mobile Nav Label — same as iPhone; the tab bar does not resize. */
|
|
721
|
+
--Font-Family-Mobile-Nav-Label: var(--Platform-Font-Families-Body);
|
|
722
|
+
--Mobile-Nav-Label-Font-Size: 10px;
|
|
723
|
+
--Mobile-Nav-Label-Font-Weight: 600;
|
|
724
|
+
--Mobile-Nav-Label-Line-Height: 10px;
|
|
725
|
+
--Mobile-Nav-Label-Letter-Spacing: 0px;
|
|
726
|
+
|
|
307
727
|
/* Legal */
|
|
308
728
|
--Font-Family-Body: var(--Platform-Font-Families-Body);
|
|
309
729
|
--Legal-Font-Size: 10px;
|
|
@@ -338,50 +758,73 @@
|
|
|
338
758
|
--Font-Family-Number: var(--Platform-Font-Families-Body);
|
|
339
759
|
--Number-Medium-Font-Size: 28px;
|
|
340
760
|
--Number-Medium-Font-Weight: 700;
|
|
341
|
-
--Number-Medium-Line-Height:
|
|
761
|
+
--Number-Medium-Line-Height: 16px;
|
|
342
762
|
--Number-Medium-Letter-Spacing: 0px;
|
|
343
763
|
--Font-Family-Number: var(--Platform-Font-Families-Body);
|
|
344
|
-
--Number-Large-Font-Size:
|
|
764
|
+
--Number-Large-Font-Size: 36px;
|
|
345
765
|
--Number-Large-Font-Weight: 700;
|
|
346
|
-
--Number-Large-Line-Height:
|
|
766
|
+
--Number-Large-Line-Height: 36px;
|
|
347
767
|
--Number-Large-Letter-Spacing: 0px;
|
|
348
768
|
|
|
349
769
|
/* Button */
|
|
350
770
|
--Font-Family-Button: var(--Platform-Font-Families-Body);
|
|
351
771
|
--Button-ExtraSmall-Font-Size: 11px;
|
|
352
772
|
--Button-ExtraSmall-Font-Weight: 600;
|
|
353
|
-
--Button-ExtraSmall-Line-Height:
|
|
773
|
+
--Button-ExtraSmall-Line-Height: 28px;
|
|
354
774
|
--Button-ExtraSmall-Letter-Spacing: 0px;
|
|
355
775
|
--Font-Family-Button: var(--Platform-Font-Families-Body);
|
|
356
776
|
--Button-Small-Font-Size: 14px;
|
|
357
777
|
--Button-Small-Font-Weight: 600;
|
|
358
|
-
--Button-Small-Line-Height:
|
|
778
|
+
--Button-Small-Line-Height: 16px;
|
|
359
779
|
--Button-Small-Letter-Spacing: 0px;
|
|
360
780
|
--Font-Family-Button: var(--Platform-Font-Families-Body);
|
|
361
|
-
--Button-
|
|
362
|
-
--Button-
|
|
363
|
-
--Button-
|
|
364
|
-
--Button-
|
|
781
|
+
--Button-Medium-Font-Size: 16px;
|
|
782
|
+
--Button-Medium-Font-Weight: 600;
|
|
783
|
+
--Button-Medium-Line-Height: 16px;
|
|
784
|
+
--Button-Medium-Letter-Spacing: 0px;
|
|
785
|
+
/* was Button-Standard — kept so frozen stylesheets keep resolving. */
|
|
786
|
+
--Button-Standard-Font-Size: var(--Button-Medium-Font-Size);
|
|
787
|
+
--Button-Standard-Font-Weight: var(--Button-Medium-Font-Weight);
|
|
788
|
+
--Button-Standard-Line-Height: var(--Button-Medium-Line-Height);
|
|
789
|
+
--Button-Standard-Letter-Spacing: var(--Button-Medium-Letter-Spacing);
|
|
790
|
+
|
|
791
|
+
/* Alt Display — mirrors Display step for step. The pairing sets one word
|
|
792
|
+
on one baseline ("Omni" + "Design"), so the two must not diverge in
|
|
793
|
+
size or leading; colour is what separates them. */
|
|
794
|
+
--Alt-Display-Small-Font-Size: 34px;
|
|
795
|
+
--Alt-Display-Small-Font-Weight: 900;
|
|
796
|
+
--Alt-Display-Small-Line-Height: 41px;
|
|
797
|
+
--Alt-Display-Small-Letter-Spacing: 0px;
|
|
798
|
+
--Alt-Display-Medium-Font-Size: 40px;
|
|
799
|
+
--Alt-Display-Medium-Font-Weight: 900;
|
|
800
|
+
--Alt-Display-Medium-Line-Height: 48px;
|
|
801
|
+
--Alt-Display-Medium-Letter-Spacing: 0px;
|
|
802
|
+
--Alt-Display-Large-Font-Size: 48px;
|
|
803
|
+
--Alt-Display-Large-Font-Weight: 900;
|
|
804
|
+
--Alt-Display-Large-Line-Height: 58px;
|
|
805
|
+
--Alt-Display-Large-Letter-Spacing: 0px;
|
|
365
806
|
|
|
366
807
|
}
|
|
367
808
|
|
|
368
|
-
[data-
|
|
809
|
+
[data-device="Android-Tablet"] {
|
|
810
|
+
|
|
811
|
+
|
|
369
812
|
|
|
370
813
|
/* Display */
|
|
371
|
-
--Font-Family-Display: var(--Platform-Font-Families-Decorative);
|
|
372
|
-
--Display-Small-Font-Size:
|
|
814
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
815
|
+
--Display-Small-Font-Size: 36px;
|
|
373
816
|
--Display-Small-Font-Weight: 600;
|
|
374
|
-
--Display-Small-Line-Height:
|
|
817
|
+
--Display-Small-Line-Height: 44px;
|
|
375
818
|
--Display-Small-Letter-Spacing: 0px;
|
|
376
|
-
--Font-Family-Display: var(--Platform-Font-Families-
|
|
377
|
-
--Display-Medium-Font-Size:
|
|
819
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
820
|
+
--Display-Medium-Font-Size: 45px;
|
|
378
821
|
--Display-Medium-Font-Weight: 600;
|
|
379
|
-
--Display-Medium-Line-Height:
|
|
822
|
+
--Display-Medium-Line-Height: 52px;
|
|
380
823
|
--Display-Medium-Letter-Spacing: 0px;
|
|
381
|
-
--Font-Family-Display: var(--Platform-Font-Families-Decorative);
|
|
382
|
-
--Display-Large-Font-Size:
|
|
824
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
825
|
+
--Display-Large-Font-Size: 57px;
|
|
383
826
|
--Display-Large-Font-Weight: 600;
|
|
384
|
-
--Display-Large-Line-Height:
|
|
827
|
+
--Display-Large-Line-Height: 64px;
|
|
385
828
|
--Display-Large-Letter-Spacing: 0px;
|
|
386
829
|
|
|
387
830
|
/* Headers */
|
|
@@ -453,11 +896,42 @@
|
|
|
453
896
|
|
|
454
897
|
/* Caption */
|
|
455
898
|
--Font-Family-Body: var(--Platform-Font-Families-Body);
|
|
899
|
+
/* Leading here is the PLATFORM's, not the brand's 1.5 — Material 3's own
|
|
900
|
+
table at 12 / 14 / 16. The Figma payload computes these same numbers for
|
|
901
|
+
every non-Desktop device (typographyPlatform.ts, "LINE HEIGHT is COMPUTED,
|
|
902
|
+
not read"), while this block declared a flat 21 at every size, so one
|
|
903
|
+
caption read 20 in the file and 21 in the stylesheet and nothing could
|
|
904
|
+
see it. Declared rather than left to compute so the two sides state the
|
|
905
|
+
same value instead of arriving at it separately.
|
|
906
|
+
|
|
907
|
+
EVERY property is restated, tracking included, because the payload's
|
|
908
|
+
device-floor merge replaces a style WHOLE — `{...desktopStyles, ...own}`
|
|
909
|
+
keys on the STYLE, not on the property — so a step this block declares
|
|
910
|
+
partially loses whatever it leaves out instead of inheriting it from
|
|
911
|
+
Desktop. That variable then exists on Desktop and nowhere else, and one
|
|
912
|
+
missing on six of seven devices resolves to nothing there, silently. The
|
|
913
|
+
CSS cascade would have carried it; the payload does not, and the payload
|
|
914
|
+
is the half that fails without a sound.
|
|
915
|
+
|
|
916
|
+
The 0px is this block's existing answer for Caption, extended to the two
|
|
917
|
+
new steps rather than importing Desktop's 0.1px nudge — which would leave
|
|
918
|
+
the ramp reading 0.0996 / 0 / 0.1008, three steps of one style disagreeing
|
|
919
|
+
about whether the brand tracks captions at all. Whether mobile SHOULD zero
|
|
920
|
+
it is a brand decision and still open; this only stops the ramp from
|
|
921
|
+
contradicting itself. */
|
|
922
|
+
--Caption-Small-Font-Size: 12px;
|
|
923
|
+
--Caption-Small-Font-Weight: 500;
|
|
924
|
+
--Caption-Small-Letter-Spacing: 0px;
|
|
925
|
+
--Caption-Small-Line-Height: 16px;
|
|
456
926
|
--Caption-Font-Size: 14px;
|
|
457
927
|
--Caption-Font-Weight: 500;
|
|
458
|
-
--Caption-Line-Height:
|
|
928
|
+
--Caption-Line-Height: 20px;
|
|
459
929
|
--Caption-Letter-Spacing: 0px;
|
|
460
930
|
--Caption-Bold-Font-Weight: 700;
|
|
931
|
+
--Caption-Large-Font-Size: 16px;
|
|
932
|
+
--Caption-Large-Font-Weight: 500;
|
|
933
|
+
--Caption-Large-Letter-Spacing: 0px;
|
|
934
|
+
--Caption-Large-Line-Height: 24px;
|
|
461
935
|
|
|
462
936
|
/* Label */
|
|
463
937
|
--Font-Family-Label: var(--Platform-Font-Families-Body);
|
|
@@ -481,6 +955,14 @@
|
|
|
481
955
|
--Label-Large-Line-Height: 27px;
|
|
482
956
|
--Label-Large-Letter-Spacing: 0px;
|
|
483
957
|
|
|
958
|
+
|
|
959
|
+
/* Mobile Nav Label — Material's navigation label: 12sp on 16, 0.5 tracking. */
|
|
960
|
+
--Font-Family-Mobile-Nav-Label: var(--Platform-Font-Families-Body);
|
|
961
|
+
--Mobile-Nav-Label-Font-Size: 12px;
|
|
962
|
+
--Mobile-Nav-Label-Font-Weight: 600;
|
|
963
|
+
--Mobile-Nav-Label-Line-Height: 16px;
|
|
964
|
+
--Mobile-Nav-Label-Letter-Spacing: 0.5px;
|
|
965
|
+
|
|
484
966
|
/* Legal */
|
|
485
967
|
--Font-Family-Body: var(--Platform-Font-Families-Body);
|
|
486
968
|
--Legal-Font-Size: 10px;
|
|
@@ -535,30 +1017,54 @@
|
|
|
535
1017
|
--Button-Small-Line-Height: 16px;
|
|
536
1018
|
--Button-Small-Letter-Spacing: 0px;
|
|
537
1019
|
--Font-Family-Button: var(--Platform-Font-Families-Body);
|
|
538
|
-
--Button-
|
|
539
|
-
--Button-
|
|
540
|
-
--Button-
|
|
541
|
-
--Button-
|
|
1020
|
+
--Button-Medium-Font-Size: 16px;
|
|
1021
|
+
--Button-Medium-Font-Weight: 600;
|
|
1022
|
+
--Button-Medium-Line-Height: 16px;
|
|
1023
|
+
--Button-Medium-Letter-Spacing: 0px;
|
|
1024
|
+
/* was Button-Standard — kept so frozen stylesheets keep resolving. */
|
|
1025
|
+
--Button-Standard-Font-Size: var(--Button-Medium-Font-Size);
|
|
1026
|
+
--Button-Standard-Font-Weight: var(--Button-Medium-Font-Weight);
|
|
1027
|
+
--Button-Standard-Line-Height: var(--Button-Medium-Line-Height);
|
|
1028
|
+
--Button-Standard-Letter-Spacing: var(--Button-Medium-Letter-Spacing);
|
|
1029
|
+
|
|
1030
|
+
/* Alt Display — mirrors Display step for step. The pairing sets one word
|
|
1031
|
+
on one baseline ("Omni" + "Design"), so the two must not diverge in
|
|
1032
|
+
size or leading; colour is what separates them. */
|
|
1033
|
+
--Alt-Display-Small-Font-Size: 36px;
|
|
1034
|
+
--Alt-Display-Small-Font-Weight: 900;
|
|
1035
|
+
--Alt-Display-Small-Line-Height: 44px;
|
|
1036
|
+
--Alt-Display-Small-Letter-Spacing: 0px;
|
|
1037
|
+
--Alt-Display-Medium-Font-Size: 45px;
|
|
1038
|
+
--Alt-Display-Medium-Font-Weight: 900;
|
|
1039
|
+
--Alt-Display-Medium-Line-Height: 52px;
|
|
1040
|
+
--Alt-Display-Medium-Letter-Spacing: 0px;
|
|
1041
|
+
--Alt-Display-Large-Font-Size: 57px;
|
|
1042
|
+
--Alt-Display-Large-Font-Weight: 900;
|
|
1043
|
+
--Alt-Display-Large-Line-Height: 64px;
|
|
1044
|
+
--Alt-Display-Large-Letter-Spacing: 0px;
|
|
542
1045
|
|
|
543
1046
|
}
|
|
544
1047
|
|
|
545
|
-
|
|
1048
|
+
|
|
1049
|
+
[data-device="Android-Mobile"] {
|
|
1050
|
+
|
|
1051
|
+
|
|
546
1052
|
|
|
547
1053
|
/* Display */
|
|
548
|
-
--Font-Family-Display: var(--Platform-Font-Families-Decorative);
|
|
549
|
-
--Display-Small-Font-Size:
|
|
1054
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
1055
|
+
--Display-Small-Font-Size: 36px;
|
|
550
1056
|
--Display-Small-Font-Weight: 600;
|
|
551
|
-
--Display-Small-Line-Height:
|
|
1057
|
+
--Display-Small-Line-Height: 44px;
|
|
552
1058
|
--Display-Small-Letter-Spacing: 0px;
|
|
553
|
-
--Font-Family-Display: var(--Platform-Font-Families-
|
|
554
|
-
--Display-Medium-Font-Size:
|
|
1059
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
1060
|
+
--Display-Medium-Font-Size: 45px;
|
|
555
1061
|
--Display-Medium-Font-Weight: 600;
|
|
556
|
-
--Display-Medium-Line-Height:
|
|
1062
|
+
--Display-Medium-Line-Height: 52px;
|
|
557
1063
|
--Display-Medium-Letter-Spacing: 0px;
|
|
558
|
-
--Font-Family-Display: var(--Platform-Font-Families-Decorative);
|
|
559
|
-
--Display-Large-Font-Size:
|
|
1064
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
1065
|
+
--Display-Large-Font-Size: 57px;
|
|
560
1066
|
--Display-Large-Font-Weight: 600;
|
|
561
|
-
--Display-Large-Line-Height:
|
|
1067
|
+
--Display-Large-Line-Height: 64px;
|
|
562
1068
|
--Display-Large-Letter-Spacing: 0px;
|
|
563
1069
|
|
|
564
1070
|
/* Headers */
|
|
@@ -630,11 +1136,42 @@
|
|
|
630
1136
|
|
|
631
1137
|
/* Caption */
|
|
632
1138
|
--Font-Family-Body: var(--Platform-Font-Families-Body);
|
|
1139
|
+
/* Leading here is the PLATFORM's, not the brand's 1.5 — Material 3's own
|
|
1140
|
+
table at 12 / 14 / 16. The Figma payload computes these same numbers for
|
|
1141
|
+
every non-Desktop device (typographyPlatform.ts, "LINE HEIGHT is COMPUTED,
|
|
1142
|
+
not read"), while this block declared a flat 21 at every size, so one
|
|
1143
|
+
caption read 20 in the file and 21 in the stylesheet and nothing could
|
|
1144
|
+
see it. Declared rather than left to compute so the two sides state the
|
|
1145
|
+
same value instead of arriving at it separately.
|
|
1146
|
+
|
|
1147
|
+
EVERY property is restated, tracking included, because the payload's
|
|
1148
|
+
device-floor merge replaces a style WHOLE — `{...desktopStyles, ...own}`
|
|
1149
|
+
keys on the STYLE, not on the property — so a step this block declares
|
|
1150
|
+
partially loses whatever it leaves out instead of inheriting it from
|
|
1151
|
+
Desktop. That variable then exists on Desktop and nowhere else, and one
|
|
1152
|
+
missing on six of seven devices resolves to nothing there, silently. The
|
|
1153
|
+
CSS cascade would have carried it; the payload does not, and the payload
|
|
1154
|
+
is the half that fails without a sound.
|
|
1155
|
+
|
|
1156
|
+
The 0px is this block's existing answer for Caption, extended to the two
|
|
1157
|
+
new steps rather than importing Desktop's 0.1px nudge — which would leave
|
|
1158
|
+
the ramp reading 0.0996 / 0 / 0.1008, three steps of one style disagreeing
|
|
1159
|
+
about whether the brand tracks captions at all. Whether mobile SHOULD zero
|
|
1160
|
+
it is a brand decision and still open; this only stops the ramp from
|
|
1161
|
+
contradicting itself. */
|
|
1162
|
+
--Caption-Small-Font-Size: 12px;
|
|
1163
|
+
--Caption-Small-Font-Weight: 500;
|
|
1164
|
+
--Caption-Small-Letter-Spacing: 0px;
|
|
1165
|
+
--Caption-Small-Line-Height: 16px;
|
|
633
1166
|
--Caption-Font-Size: 14px;
|
|
634
1167
|
--Caption-Font-Weight: 500;
|
|
635
|
-
--Caption-Line-Height:
|
|
1168
|
+
--Caption-Line-Height: 20px;
|
|
636
1169
|
--Caption-Letter-Spacing: 0px;
|
|
637
1170
|
--Caption-Bold-Font-Weight: 700;
|
|
1171
|
+
--Caption-Large-Font-Size: 16px;
|
|
1172
|
+
--Caption-Large-Font-Weight: 500;
|
|
1173
|
+
--Caption-Large-Letter-Spacing: 0px;
|
|
1174
|
+
--Caption-Large-Line-Height: 24px;
|
|
638
1175
|
|
|
639
1176
|
/* Label */
|
|
640
1177
|
--Font-Family-Label: var(--Platform-Font-Families-Body);
|
|
@@ -658,6 +1195,14 @@
|
|
|
658
1195
|
--Label-Large-Line-Height: 27px;
|
|
659
1196
|
--Label-Large-Letter-Spacing: 0px;
|
|
660
1197
|
|
|
1198
|
+
|
|
1199
|
+
/* Mobile Nav Label — Material's navigation label: 12sp on 16, 0.5 tracking. */
|
|
1200
|
+
--Font-Family-Mobile-Nav-Label: var(--Platform-Font-Families-Body);
|
|
1201
|
+
--Mobile-Nav-Label-Font-Size: 12px;
|
|
1202
|
+
--Mobile-Nav-Label-Font-Weight: 600;
|
|
1203
|
+
--Mobile-Nav-Label-Line-Height: 16px;
|
|
1204
|
+
--Mobile-Nav-Label-Letter-Spacing: 0.5px;
|
|
1205
|
+
|
|
661
1206
|
/* Legal */
|
|
662
1207
|
--Font-Family-Body: var(--Platform-Font-Families-Body);
|
|
663
1208
|
--Legal-Font-Size: 10px;
|
|
@@ -712,9 +1257,241 @@
|
|
|
712
1257
|
--Button-Small-Line-Height: 16px;
|
|
713
1258
|
--Button-Small-Letter-Spacing: 0px;
|
|
714
1259
|
--Font-Family-Button: var(--Platform-Font-Families-Body);
|
|
715
|
-
--Button-
|
|
716
|
-
--Button-
|
|
717
|
-
--Button-
|
|
718
|
-
--Button-
|
|
1260
|
+
--Button-Medium-Font-Size: 16px;
|
|
1261
|
+
--Button-Medium-Font-Weight: 600;
|
|
1262
|
+
--Button-Medium-Line-Height: 16px;
|
|
1263
|
+
--Button-Medium-Letter-Spacing: 0px;
|
|
1264
|
+
/* was Button-Standard — kept so frozen stylesheets keep resolving. */
|
|
1265
|
+
--Button-Standard-Font-Size: var(--Button-Medium-Font-Size);
|
|
1266
|
+
--Button-Standard-Font-Weight: var(--Button-Medium-Font-Weight);
|
|
1267
|
+
--Button-Standard-Line-Height: var(--Button-Medium-Line-Height);
|
|
1268
|
+
--Button-Standard-Letter-Spacing: var(--Button-Medium-Letter-Spacing);
|
|
1269
|
+
|
|
1270
|
+
/* Alt Display — mirrors Display step for step. The pairing sets one word
|
|
1271
|
+
on one baseline ("Omni" + "Design"), so the two must not diverge in
|
|
1272
|
+
size or leading; colour is what separates them. */
|
|
1273
|
+
--Alt-Display-Small-Font-Size: 36px;
|
|
1274
|
+
--Alt-Display-Small-Font-Weight: 900;
|
|
1275
|
+
--Alt-Display-Small-Line-Height: 44px;
|
|
1276
|
+
--Alt-Display-Small-Letter-Spacing: 0px;
|
|
1277
|
+
--Alt-Display-Medium-Font-Size: 45px;
|
|
1278
|
+
--Alt-Display-Medium-Font-Weight: 900;
|
|
1279
|
+
--Alt-Display-Medium-Line-Height: 52px;
|
|
1280
|
+
--Alt-Display-Medium-Letter-Spacing: 0px;
|
|
1281
|
+
--Alt-Display-Large-Font-Size: 57px;
|
|
1282
|
+
--Alt-Display-Large-Font-Weight: 900;
|
|
1283
|
+
--Alt-Display-Large-Line-Height: 64px;
|
|
1284
|
+
--Alt-Display-Large-Letter-Spacing: 0px;
|
|
1285
|
+
|
|
1286
|
+
}
|
|
1287
|
+
|
|
1288
|
+
/* ── Platform button metrics ──────────────────────────────────────────────
|
|
1289
|
+
*
|
|
1290
|
+
* Apple's and Google's button sizes, overriding the brand's own on the touch
|
|
1291
|
+
* platforms. Desktop is absent on purpose: there the brand's heights ARE the
|
|
1292
|
+
* answer, and base.css already states them.
|
|
1293
|
+
*
|
|
1294
|
+
* :root[data-device="…"], not the bare [data-device="…"] the type ramps
|
|
1295
|
+
* above use, and the difference is load-bearing. --Button-Height is declared
|
|
1296
|
+
* at :root in base.css, which the provider injects at slot 5 — AFTER this file
|
|
1297
|
+
* at slot 3. A bare attribute selector ties with :root at (0,1,0), so the later
|
|
1298
|
+
* file would win and these overrides would do nothing, with no error anywhere.
|
|
1299
|
+
* :root[data-device] scores (0,2,0) and wins on specificity instead, which
|
|
1300
|
+
* does not depend on anyone preserving the load order.
|
|
1301
|
+
*
|
|
1302
|
+
* The type ramps above can stay as they are: their :root counterpart is in
|
|
1303
|
+
* core.css at slot 2, so they already load later and win.
|
|
1304
|
+
*
|
|
1305
|
+
* --Small-/--Large-Button-Height are NOT restated. base.css declares them as
|
|
1306
|
+
* var(--Sm-Button-Height) / var(--Lg-Button-Height), and a var() in a custom
|
|
1307
|
+
* property resolves against the element it lands on — so the back-compat
|
|
1308
|
+
* spellings follow these overrides on their own.
|
|
1309
|
+
*/
|
|
1310
|
+
|
|
1311
|
+
:root[data-device="IOS-Mobile"] {
|
|
1312
|
+
--Button-Height: 44px;
|
|
1313
|
+
--Sm-Button-Height: 32px;
|
|
1314
|
+
--Lg-Button-Height: 50px;
|
|
1315
|
+
--Button-Icon: 20px;
|
|
1316
|
+
--Sm-Button-Icon: 16px;
|
|
1317
|
+
--Lg-Button-Icon: 24px;
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1320
|
+
:root[data-device="IOS-Tablet"] {
|
|
1321
|
+
--Button-Height: 44px;
|
|
1322
|
+
--Sm-Button-Height: 32px;
|
|
1323
|
+
--Lg-Button-Height: 50px;
|
|
1324
|
+
--Button-Icon: 20px;
|
|
1325
|
+
--Sm-Button-Icon: 16px;
|
|
1326
|
+
--Lg-Button-Icon: 24px;
|
|
1327
|
+
}
|
|
1328
|
+
|
|
1329
|
+
:root[data-device="Android-Tablet"] {
|
|
1330
|
+
--Button-Height: 48px;
|
|
1331
|
+
--Sm-Button-Height: 32px;
|
|
1332
|
+
--Lg-Button-Height: 56px;
|
|
1333
|
+
--Button-Icon: 18px;
|
|
1334
|
+
--Sm-Button-Icon: 18px;
|
|
1335
|
+
--Lg-Button-Icon: 24px;
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
:root[data-device="Android-Mobile"] {
|
|
1339
|
+
--Button-Height: 48px;
|
|
1340
|
+
--Sm-Button-Height: 32px;
|
|
1341
|
+
--Lg-Button-Height: 56px;
|
|
1342
|
+
--Button-Icon: 18px;
|
|
1343
|
+
--Sm-Button-Icon: 18px;
|
|
1344
|
+
--Lg-Button-Icon: 24px;
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
|
|
1348
|
+
/* ---------------------------------------------------------------------------
|
|
1349
|
+
Face re-mapping
|
|
1350
|
+
Display renders in the Display face (it used to follow Header, which left the
|
|
1351
|
+
expressive face with nowhere to appear at size). Overline is the eyebrow spec
|
|
1352
|
+
now, on the Eyebrow face. The lib hard-codes both families, so they are
|
|
1353
|
+
corrected here rather than through a token.
|
|
1354
|
+
|
|
1355
|
+
Both read the face token, which is what keeps decorative mode working:
|
|
1356
|
+
core.css re-points --Font-Family-Eyebrow at the Display face inside
|
|
1357
|
+
[data-decorative], on a higher-specificity selector.
|
|
1358
|
+
--------------------------------------------------------------------------- */
|
|
1359
|
+
.typography.typography-display-large,
|
|
1360
|
+
.typography.typography-display-medium,
|
|
1361
|
+
.typography.typography-display-small {
|
|
1362
|
+
font-family: var(--Font-Family-Display);
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
.typography.typography-overline,
|
|
1366
|
+
.typography.typography-overline-small,
|
|
1367
|
+
.typography.typography-overline-medium,
|
|
1368
|
+
.typography.typography-overline-large {
|
|
1369
|
+
font-family: var(--Font-Family-Eyebrow);
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1372
|
+
/* ---------------------------------------------------------------------------
|
|
1373
|
+
Prose lists — opt in with .typography-list on the <ul> or <ol>.
|
|
1374
|
+
|
|
1375
|
+
The marker takes --Eyebrow: the accent that is already ROTATED off the
|
|
1376
|
+
surface's palette (Primary->Secondary, Secondary->Tertiary, and so on), so a
|
|
1377
|
+
list picks up the same accent as the eyebrow above it instead of the page
|
|
1378
|
+
inventing one. The list TEXT is untouched and stays on --Text; only the
|
|
1379
|
+
bullet or number is accented.
|
|
1380
|
+
|
|
1381
|
+
Opt-in, not a bare li::marker rule, for the same reason nothing else here
|
|
1382
|
+
styles bare elements: importing the CSS must not repaint lists in a
|
|
1383
|
+
consumer's app that never asked for it.
|
|
1384
|
+
|
|
1385
|
+
::marker only honours a short list of properties. color is one of them;
|
|
1386
|
+
background, padding and size are not, so a bullet that needs a custom size
|
|
1387
|
+
still needs the ::before technique.
|
|
1388
|
+
--------------------------------------------------------------------------- */
|
|
1389
|
+
.typography-list > li::marker {
|
|
1390
|
+
color: var(--Eyebrow);
|
|
1391
|
+
}
|
|
1392
|
+
|
|
1393
|
+
/* ---------------------------------------------------------------------------
|
|
1394
|
+
Alt Display colour — three variants, one pair of stops
|
|
1395
|
+
|
|
1396
|
+
Set data-alt-display on the element or any ancestor:
|
|
1397
|
+
default (or unset) the Alt reads as a heading
|
|
1398
|
+
colored a flat Alt colour
|
|
1399
|
+
gradient the two stops the theme publishes
|
|
1400
|
+
|
|
1401
|
+
The stops are re-published per theme and surface, so every variant follows
|
|
1402
|
+
data-surface without being restated.
|
|
1403
|
+
--------------------------------------------------------------------------- */
|
|
1404
|
+
:root,
|
|
1405
|
+
[data-alt-display="default"] {
|
|
1406
|
+
--Alt-Display-Color-Stop-1: var(--Header);
|
|
1407
|
+
--Alt-Display-Color-Stop-2: var(--Header);
|
|
1408
|
+
}
|
|
1409
|
+
|
|
1410
|
+
[data-alt-display="colored"] {
|
|
1411
|
+
--Alt-Display-Color-Stop-1: var(--Alt-Display-Color, var(--Header));
|
|
1412
|
+
--Alt-Display-Color-Stop-2: var(--Alt-Display-Color, var(--Header));
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
[data-alt-display="gradient"] {
|
|
1416
|
+
--Alt-Display-Color-Stop-1: var(--Alt-Color-Gradient-Stop-1, var(--Alt-Display-Color, var(--Header)));
|
|
1417
|
+
--Alt-Display-Color-Stop-2: var(--Alt-Color-Gradient-Stop-2, var(--Alt-Display-Color, var(--Header)));
|
|
1418
|
+
}
|
|
1419
|
+
|
|
1420
|
+
.typography-alt-display-large,
|
|
1421
|
+
.typography-alt-display-medium,
|
|
1422
|
+
.typography-alt-display-small {
|
|
1423
|
+
/* Stop 1 alone: in the flat variants the two agree, and a plain colour keeps
|
|
1424
|
+
the selection highlight, print, and forced-colors working. */
|
|
1425
|
+
color: var(--Alt-Display-Color-Stop-1);
|
|
1426
|
+
}
|
|
1427
|
+
|
|
1428
|
+
.typography-alt-display-large[data-alt-display="gradient"],
|
|
1429
|
+
[data-alt-display="gradient"] .typography-alt-display-large,
|
|
1430
|
+
.typography-alt-display-medium[data-alt-display="gradient"],
|
|
1431
|
+
[data-alt-display="gradient"] .typography-alt-display-medium,
|
|
1432
|
+
.typography-alt-display-small[data-alt-display="gradient"],
|
|
1433
|
+
[data-alt-display="gradient"] .typography-alt-display-small {
|
|
1434
|
+
background-image: linear-gradient(
|
|
1435
|
+
90deg,
|
|
1436
|
+
var(--Alt-Display-Color-Stop-1),
|
|
1437
|
+
var(--Alt-Display-Color-Stop-2)
|
|
1438
|
+
);
|
|
1439
|
+
-webkit-background-clip: text;
|
|
1440
|
+
background-clip: text;
|
|
1441
|
+
color: transparent;
|
|
1442
|
+
/* The box carries the paint, not the glyphs, so keep it to the text's own
|
|
1443
|
+
box or a wrapped headline stretches the ramp across empty trailing space. */
|
|
1444
|
+
-webkit-box-decoration-break: clone;
|
|
1445
|
+
box-decoration-break: clone;
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
@media (forced-colors: active) {
|
|
1449
|
+
.typography-alt-display-large[data-alt-display="gradient"],
|
|
1450
|
+
[data-alt-display="gradient"] .typography-alt-display-large,
|
|
1451
|
+
.typography-alt-display-medium[data-alt-display="gradient"],
|
|
1452
|
+
[data-alt-display="gradient"] .typography-alt-display-medium,
|
|
1453
|
+
.typography-alt-display-small[data-alt-display="gradient"],
|
|
1454
|
+
[data-alt-display="gradient"] .typography-alt-display-small {
|
|
1455
|
+
/* The UA drops background-image here, and transparent text would leave
|
|
1456
|
+
nothing on screen. Hand the glyphs back to the system colour. */
|
|
1457
|
+
background-image: none;
|
|
1458
|
+
-webkit-background-clip: border-box;
|
|
1459
|
+
background-clip: border-box;
|
|
1460
|
+
color: CanvasText;
|
|
1461
|
+
forced-color-adjust: auto;
|
|
1462
|
+
}
|
|
1463
|
+
}
|
|
1464
|
+
|
|
1465
|
+
/* ---------------------------------------------------------------------------
|
|
1466
|
+
Paragraph spacing — space only where one paragraph follows another, which is
|
|
1467
|
+
what the Figma token means.
|
|
1468
|
+
--------------------------------------------------------------------------- */
|
|
1469
|
+
.typography-caption-small + .typography-caption-small {
|
|
1470
|
+
margin-block-start: var(--Caption-Small-Paragraph-Spacing);
|
|
1471
|
+
}
|
|
1472
|
+
|
|
1473
|
+
.typography-caption + .typography-caption {
|
|
1474
|
+
margin-block-start: var(--Caption-Paragraph-Spacing);
|
|
1475
|
+
}
|
|
1476
|
+
|
|
1477
|
+
.typography-caption-large + .typography-caption-large {
|
|
1478
|
+
margin-block-start: var(--Caption-Large-Paragraph-Spacing);
|
|
1479
|
+
}
|
|
1480
|
+
|
|
1481
|
+
.typography-legal + .typography-legal {
|
|
1482
|
+
margin-block-start: var(--Legal-Paragraph-Spacing);
|
|
1483
|
+
}
|
|
719
1484
|
|
|
1485
|
+
/* ---------------------------------------------------------------------------
|
|
1486
|
+
Variable-font axes
|
|
1487
|
+
wght is deliberately absent — font-weight already carries it, and declaring
|
|
1488
|
+
it in both places lets the two disagree.
|
|
1489
|
+
--------------------------------------------------------------------------- */
|
|
1490
|
+
.typography-h1,
|
|
1491
|
+
.typography-h2,
|
|
1492
|
+
.typography-h3,
|
|
1493
|
+
.typography-h4,
|
|
1494
|
+
.typography-h5,
|
|
1495
|
+
.typography-h6 {
|
|
1496
|
+
font-variation-settings: var(--Font-Variation-Header);
|
|
720
1497
|
}
|