@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
package/public/styles/core.css
CHANGED
|
@@ -1,38 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* ============================================================================ */
|
|
6
|
-
|
|
7
|
-
/* Any region that carries data-surface paints from the surface tokens it
|
|
8
|
-
exposes. This is the "data-surface is the only way to change a region's
|
|
9
|
-
background" contract — a consumer just sets data-surface="…" and the
|
|
10
|
-
region paints itself. No more inline `background: var(--Background)` on
|
|
11
|
-
every section wrapper. */
|
|
12
|
-
[data-surface] {
|
|
13
|
-
background: var(--Background);
|
|
14
|
-
color: var(--Text);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/* NO bare-element appearance rule here, deliberately.
|
|
18
|
-
*
|
|
19
|
-
* This previously read `body, section { background; color }` so the app root
|
|
20
|
-
* would paint without a wrapper. Two problems:
|
|
21
|
-
*
|
|
22
|
-
* 1. `section` matches at ANY depth, so every <section> in a consumer's app
|
|
23
|
-
* got painted whether or not they opted in — including sections they had
|
|
24
|
-
* styled themselves, and sections inside a region whose surface they had
|
|
25
|
-
* already chosen.
|
|
26
|
-
* 2. Painting <body> on import is the exact thing the design system contract
|
|
27
|
-
* forbids: loading the CSS into an existing app silently changed its
|
|
28
|
-
* background and text colour.
|
|
29
|
-
*
|
|
30
|
-
* The opt-in already exists and is one attribute. The [data-surface] rule above
|
|
31
|
-
* covers it, so a consumer writes:
|
|
32
|
-
*
|
|
33
|
-
* <body data-surface="Surface">
|
|
34
|
-
*
|
|
35
|
-
* and gets the same paint, by asking for it. See "Page setup" in CLAUDE.md. */
|
|
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');
|
|
36
5
|
|
|
37
6
|
:root {
|
|
38
7
|
--Body-Font-Family: var(--Set-Font-Family-Body);
|
|
@@ -40,20 +9,21 @@
|
|
|
40
9
|
--Header-Font-Family: var(--Set-Font-Family-Header);
|
|
41
10
|
--Font-Family-Header: var(--Set-Font-Family-Header);
|
|
42
11
|
--Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
|
|
12
|
+
--Header-Text-Transform: var(--Set-Header-Text-Transform, none);
|
|
13
|
+
--Header-Letter-Spacing: var(--Set-Header-Letter-Spacing, 0em);
|
|
43
14
|
--Decorative-Font-Family: var(--Set-Font-Family-Decorative);
|
|
44
15
|
--Decorative-Font-Weight: var(--Set-Font-Family-Decorative-Weight);
|
|
16
|
+
--Decorative-Text-Transform: var(--Set-Decorative-Text-Transform, none);
|
|
17
|
+
--Decorative-Letter-Spacing: var(--Set-Decorative-Letter-Spacing, 0em);
|
|
45
18
|
--Body-Font-Weight: var(--Set-Font-Family-Body-Weight);
|
|
46
19
|
--Body-Semibold-Font-Weight: var(--Set-Font-Family-Body-Semibold-Weight);
|
|
47
20
|
--Body-Bold-Font-Weight: var(--Set-Font-Family-Body-Bold-Weight);
|
|
48
21
|
--Cognitive-Multiplier: 1;
|
|
49
|
-
--Dropshadow-Color: 20, 20, 20; /* fallback */
|
|
50
|
-
/* Effect-Level-0 through Effect-Level-5 now live in base.css alongside
|
|
51
|
-
the other component tokens. --Dropshadow-Color is still overridden
|
|
52
|
-
per-theme in Light/Dark-Mode.css. */
|
|
22
|
+
--Dropshadow-Color: 20, 20, 20; /* fallback; overridden per-theme in Light/Dark-Mode.css */
|
|
53
23
|
}
|
|
54
24
|
|
|
55
25
|
/* Platform Font Overrides */
|
|
56
|
-
[data-
|
|
26
|
+
[data-device="IOS-Mobile"][data-fonts] {
|
|
57
27
|
--Body-Font-Family: var(--Set-Font-Family-Body);
|
|
58
28
|
--Header-Font-Family: var(--Set-Font-Family-Header);
|
|
59
29
|
--Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
|
|
@@ -63,7 +33,7 @@
|
|
|
63
33
|
--Body-Semibold-Font-Weight: var(--Set-Font-Family-Body-Semibold-Weight);
|
|
64
34
|
--Body-Bold-Font-Weight: var(--Set-Font-Family-Body-Bold-Weight);
|
|
65
35
|
}
|
|
66
|
-
[data-
|
|
36
|
+
[data-device="IOS-Tablet"][data-fonts] {
|
|
67
37
|
--Body-Font-Family: var(--Set-Font-Family-Body);
|
|
68
38
|
--Header-Font-Family: var(--Set-Font-Family-Header);
|
|
69
39
|
--Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
|
|
@@ -73,7 +43,7 @@
|
|
|
73
43
|
--Body-Semibold-Font-Weight: var(--Set-Font-Family-Body-Semibold-Weight);
|
|
74
44
|
--Body-Bold-Font-Weight: var(--Set-Font-Family-Body-Bold-Weight);
|
|
75
45
|
}
|
|
76
|
-
[data-
|
|
46
|
+
[data-device="Android"][data-fonts] {
|
|
77
47
|
--Body-Font-Family: var(--Set-Font-Family-Body);
|
|
78
48
|
--Header-Font-Family: var(--Set-Font-Family-Header);
|
|
79
49
|
--Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
|
|
@@ -84,7 +54,7 @@
|
|
|
84
54
|
--Body-Bold-Font-Weight: var(--Set-Font-Family-Body-Bold-Weight);
|
|
85
55
|
}
|
|
86
56
|
|
|
87
|
-
[data-
|
|
57
|
+
[data-device="IOS-Mobile"][data-fonts="Default"] {
|
|
88
58
|
--Body-Font-Family: "SF Pro";
|
|
89
59
|
--Header-Font-Family: "SF Pro";
|
|
90
60
|
--Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
|
|
@@ -94,7 +64,7 @@
|
|
|
94
64
|
--Body-Semibold-Font-Weight: var(--Set-Font-Family-Body-Semibold-Weight);
|
|
95
65
|
--Body-Bold-Font-Weight: var(--Set-Font-Family-Body-Bold-Weight);
|
|
96
66
|
}
|
|
97
|
-
[data-
|
|
67
|
+
[data-device="IOS-Tablet"][data-fonts="Default"] {
|
|
98
68
|
--Body-Font-Family: "SF Pro";
|
|
99
69
|
--Header-Font-Family: "SF Pro";
|
|
100
70
|
--Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
|
|
@@ -104,7 +74,7 @@
|
|
|
104
74
|
--Body-Semibold-Font-Weight: var(--Set-Font-Family-Body-Semibold-Weight);
|
|
105
75
|
--Body-Bold-Font-Weight: var(--Set-Font-Family-Body-Bold-Weight);
|
|
106
76
|
}
|
|
107
|
-
[data-
|
|
77
|
+
[data-device="Android"][data-fonts="Default"] {
|
|
108
78
|
--Body-Font-Family: "Roboto";
|
|
109
79
|
--Header-Font-Family: "Roboto";
|
|
110
80
|
--Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
|
|
@@ -121,107 +91,433 @@
|
|
|
121
91
|
--Platform-Label: "Desktop";
|
|
122
92
|
--Button-Height: 32px;
|
|
123
93
|
--Min-Button-Width: 80px;
|
|
124
|
-
--Set-Font-Family-Header: '
|
|
125
|
-
--Set-Font-Family-Header-Weight:
|
|
126
|
-
--Set-
|
|
127
|
-
--Set-
|
|
94
|
+
--Set-Font-Family-Header: 'Google Sans Flex', sans-serif;
|
|
95
|
+
--Set-Font-Family-Header-Weight: 640;
|
|
96
|
+
--Set-Header-Text-Transform: none;
|
|
97
|
+
--Set-Header-Letter-Spacing: -0.01em;
|
|
98
|
+
/* The four faces. Display is the expressive pick, Eyebrow is the OS UI stack
|
|
99
|
+
unless a design overrides it, Header is always the Flex face. */
|
|
100
|
+
--Set-Font-Family-Display: 'Raleway', sans-serif;
|
|
101
|
+
--Set-Font-Family-Eyebrow: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
102
|
+
/* Kept so designs saved before the four faces still resolve. */
|
|
103
|
+
--Set-Font-Family-Decorative: 'Raleway', sans-serif;
|
|
104
|
+
--Set-Font-Family-Decorative-Weight: 400;
|
|
105
|
+
--Set-Decorative-Text-Transform: none;
|
|
106
|
+
--Set-Decorative-Letter-Spacing: 0em;
|
|
107
|
+
--Set-Font-Family-Body: 'Poppins', sans-serif;
|
|
128
108
|
--Set-Font-Family-Body-Weight: 400;
|
|
129
109
|
--Set-Font-Family-Body-Semibold-Weight: 600;
|
|
130
110
|
--Set-Font-Family-Body-Bold-Weight: 700;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
--Set-Font-Family-Display
|
|
141
|
-
--
|
|
142
|
-
|
|
143
|
-
--Font-Family-
|
|
144
|
-
--Font-Family-Eyebrow: var(--Set-Font-Family-Eyebrow, var(--Decorative-Font-Family));
|
|
111
|
+
--Body-Font-Size: 16px;
|
|
112
|
+
--Body-Letter-Spacing: 0;
|
|
113
|
+
--Body-Line-Height: 24px;
|
|
114
|
+
--Body-Paragraph-Spacing: 16px;
|
|
115
|
+
/* Per-style ramp — generated from the same type scale that produces
|
|
116
|
+
typography-tokens.css, so a consumer that never sets data-device gets
|
|
117
|
+
the identical Desktop values. Editing sizes here is wrong; edit
|
|
118
|
+
src/utils/typeScale.ts. */
|
|
119
|
+
/* Faces */
|
|
120
|
+
--Font-Family-Display: var(--Set-Font-Family-Display, var(--Platform-Font-Families-Decorative, var(--Set-Font-Family-Decorative)));
|
|
121
|
+
--Font-Family-Header: var(--Platform-Font-Families-Header, var(--Set-Font-Family-Header));
|
|
122
|
+
--Font-Family-Eyebrow: var(--Set-Font-Family-Eyebrow, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
|
|
123
|
+
--Font-Family-Body: var(--Platform-Font-Families-Body, var(--Set-Font-Family-Body));
|
|
145
124
|
|
|
146
125
|
/* Face weights */
|
|
147
|
-
--Font-Weight-Display:
|
|
148
|
-
--Font-Weight-Header:
|
|
149
|
-
--Font-Weight-Eyebrow:
|
|
150
|
-
--Font-Weight-Body:
|
|
126
|
+
--Font-Weight-Display: 400;
|
|
127
|
+
--Font-Weight-Header: 640;
|
|
128
|
+
--Font-Weight-Eyebrow: 400;
|
|
129
|
+
--Font-Weight-Body: 400;
|
|
130
|
+
--Header-Clamped-Weight: 640;
|
|
151
131
|
|
|
152
|
-
/*
|
|
153
|
-
Neutral defaults: this design system's header face is static, so the
|
|
154
|
-
composed value is `normal` and nothing is applied. A design system on a
|
|
155
|
-
variable face (Google Sans Flex and friends) overrides BOTH the axis
|
|
156
|
-
tokens and the composed value — the studio always emits the pair.
|
|
157
|
-
wght is deliberately absent: font-weight already carries it, and
|
|
158
|
-
declaring it twice lets the two disagree. */
|
|
159
|
-
--Font-Width-Header: 100;
|
|
160
|
-
--Font-Optical-Size-Header: 16;
|
|
132
|
+
/* Variable-font axes */
|
|
161
133
|
--Font-Slant-Header: 0;
|
|
162
|
-
--Font-Grade-Header:
|
|
134
|
+
--Font-Grade-Header: 50;
|
|
135
|
+
--Font-Width-Header: 72;
|
|
163
136
|
--Font-Roundness-Header: 0;
|
|
164
|
-
--Font-
|
|
137
|
+
--Font-Optical-Size-Header: 96;
|
|
138
|
+
--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);
|
|
165
139
|
|
|
166
|
-
/*
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
--Display-Large-
|
|
171
|
-
--Display-Large-
|
|
172
|
-
--Display-Large-
|
|
173
|
-
--Display-
|
|
174
|
-
--Display-Medium-Font-Size:
|
|
175
|
-
--Display-Medium-Font-Weight:
|
|
176
|
-
--Display-Medium-Line-Height:
|
|
177
|
-
--Display-Medium-Letter-Spacing:
|
|
178
|
-
--Display-
|
|
179
|
-
--Display-Small-Font-
|
|
180
|
-
--Display-Small-
|
|
181
|
-
--Display-Small-
|
|
140
|
+
/* 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. */
|
|
141
|
+
--Display-Large-Font-Family: var(--Font-Family-Display);
|
|
142
|
+
--Display-Large-Font-Size: 72px;
|
|
143
|
+
--Display-Large-Font-Weight: var(--Font-Weight-Display);
|
|
144
|
+
--Display-Large-Line-Height: 88px;
|
|
145
|
+
--Display-Large-Letter-Spacing: 0em;
|
|
146
|
+
--Display-Large-Text-Transform: none;
|
|
147
|
+
--Display-Medium-Font-Family: var(--Font-Family-Display);
|
|
148
|
+
--Display-Medium-Font-Size: 60px;
|
|
149
|
+
--Display-Medium-Font-Weight: var(--Font-Weight-Display);
|
|
150
|
+
--Display-Medium-Line-Height: 76px;
|
|
151
|
+
--Display-Medium-Letter-Spacing: 0em;
|
|
152
|
+
--Display-Medium-Text-Transform: none;
|
|
153
|
+
--Display-Small-Font-Family: var(--Font-Family-Display);
|
|
154
|
+
--Display-Small-Font-Size: 48px;
|
|
155
|
+
--Display-Small-Font-Weight: var(--Font-Weight-Display);
|
|
156
|
+
--Display-Small-Line-Height: 60px;
|
|
157
|
+
--Display-Small-Letter-Spacing: 0em;
|
|
158
|
+
--Display-Small-Text-Transform: none;
|
|
159
|
+
--Alt-Display-Large-Font-Family: var(--Font-Family-Display);
|
|
160
|
+
--Alt-Display-Large-Font-Size: 72px;
|
|
161
|
+
--Alt-Display-Large-Font-Weight: 900;
|
|
162
|
+
--Alt-Display-Large-Line-Height: 88px;
|
|
163
|
+
--Alt-Display-Large-Letter-Spacing: 0em;
|
|
164
|
+
--Alt-Display-Large-Text-Transform: none;
|
|
165
|
+
--Alt-Display-Medium-Font-Family: var(--Font-Family-Display);
|
|
166
|
+
--Alt-Display-Medium-Font-Size: 60px;
|
|
167
|
+
--Alt-Display-Medium-Font-Weight: 900;
|
|
168
|
+
--Alt-Display-Medium-Line-Height: 76px;
|
|
169
|
+
--Alt-Display-Medium-Letter-Spacing: 0em;
|
|
170
|
+
--Alt-Display-Medium-Text-Transform: none;
|
|
171
|
+
--Alt-Display-Small-Font-Family: var(--Font-Family-Display);
|
|
172
|
+
--Alt-Display-Small-Font-Size: 48px;
|
|
173
|
+
--Alt-Display-Small-Font-Weight: 900;
|
|
174
|
+
--Alt-Display-Small-Line-Height: 60px;
|
|
175
|
+
--Alt-Display-Small-Letter-Spacing: 0em;
|
|
176
|
+
--Alt-Display-Small-Text-Transform: none;
|
|
182
177
|
|
|
183
|
-
|
|
184
|
-
--
|
|
185
|
-
--
|
|
186
|
-
--
|
|
187
|
-
--H1-
|
|
188
|
-
--H1-
|
|
189
|
-
--H1-
|
|
190
|
-
--
|
|
191
|
-
--H2-Font-Size:
|
|
192
|
-
--H2-
|
|
193
|
-
--H2-
|
|
194
|
-
--H2-
|
|
195
|
-
--
|
|
196
|
-
--H3-
|
|
197
|
-
--H3-
|
|
198
|
-
--H3-
|
|
199
|
-
--
|
|
200
|
-
--
|
|
201
|
-
--
|
|
202
|
-
--H4-
|
|
203
|
-
--
|
|
204
|
-
--
|
|
205
|
-
--
|
|
206
|
-
--
|
|
207
|
-
--
|
|
208
|
-
--
|
|
209
|
-
--
|
|
210
|
-
--
|
|
178
|
+
/* Header */
|
|
179
|
+
--H1-Font-Family: var(--Font-Family-Header);
|
|
180
|
+
--H1-Font-Size: 48px;
|
|
181
|
+
--H1-Font-Weight: var(--Font-Weight-Header);
|
|
182
|
+
--H1-Line-Height: 56px;
|
|
183
|
+
--H1-Letter-Spacing: -0.0217em;
|
|
184
|
+
--H1-Text-Transform: none;
|
|
185
|
+
--H2-Font-Family: var(--Font-Family-Header);
|
|
186
|
+
--H2-Font-Size: 40px;
|
|
187
|
+
--H2-Font-Weight: var(--Font-Weight-Header);
|
|
188
|
+
--H2-Line-Height: 48px;
|
|
189
|
+
--H2-Letter-Spacing: -0.0163em;
|
|
190
|
+
--H2-Text-Transform: none;
|
|
191
|
+
--H3-Font-Family: var(--Font-Family-Header);
|
|
192
|
+
--H3-Font-Size: 32px;
|
|
193
|
+
--H3-Font-Weight: var(--Font-Weight-Header);
|
|
194
|
+
--H3-Line-Height: 40px;
|
|
195
|
+
--H3-Letter-Spacing: -0.011em;
|
|
196
|
+
--H3-Text-Transform: none;
|
|
197
|
+
--H4-Font-Family: var(--Font-Family-Header);
|
|
198
|
+
--H4-Font-Size: 24px;
|
|
199
|
+
--H4-Font-Weight: var(--Header-Clamped-Weight);
|
|
200
|
+
--H4-Line-Height: 32px;
|
|
201
|
+
--H4-Letter-Spacing: -0.0057em;
|
|
202
|
+
--H4-Text-Transform: none;
|
|
203
|
+
--H5-Font-Family: var(--Font-Family-Header);
|
|
204
|
+
--H5-Font-Size: 20px;
|
|
205
|
+
--H5-Font-Weight: var(--Header-Clamped-Weight);
|
|
206
|
+
--H5-Line-Height: 28px;
|
|
207
|
+
--H5-Letter-Spacing: -0.003em;
|
|
208
|
+
--H5-Text-Transform: none;
|
|
209
|
+
--H6-Font-Family: var(--Font-Family-Header);
|
|
210
|
+
--H6-Font-Size: 18px;
|
|
211
|
+
--H6-Font-Weight: var(--Header-Clamped-Weight);
|
|
212
|
+
--H6-Line-Height: 24px;
|
|
213
|
+
--H6-Letter-Spacing: -0.0017em;
|
|
214
|
+
--H6-Text-Transform: none;
|
|
215
|
+
|
|
216
|
+
/* Subtitle */
|
|
217
|
+
--Subtitle-Small-Font-Family: var(--Font-Family-Body);
|
|
218
|
+
--Subtitle-Small-Font-Size: 14px;
|
|
219
|
+
--Subtitle-Small-Font-Weight: 700;
|
|
220
|
+
--Subtitle-Small-Line-Height: 21px;
|
|
221
|
+
--Subtitle-Small-Letter-Spacing: 0em;
|
|
222
|
+
--Subtitle-Small-Text-Transform: none;
|
|
223
|
+
--Subtitle-Medium-Font-Family: var(--Font-Family-Body);
|
|
224
|
+
--Subtitle-Medium-Font-Size: 16px;
|
|
225
|
+
--Subtitle-Medium-Font-Weight: 700;
|
|
226
|
+
--Subtitle-Medium-Line-Height: 24px;
|
|
227
|
+
--Subtitle-Medium-Letter-Spacing: 0em;
|
|
228
|
+
--Subtitle-Medium-Text-Transform: none;
|
|
229
|
+
--Subtitle-Large-Font-Family: var(--Font-Family-Body);
|
|
230
|
+
--Subtitle-Large-Font-Size: 18px;
|
|
231
|
+
--Subtitle-Large-Font-Weight: 700;
|
|
232
|
+
--Subtitle-Large-Line-Height: 27px;
|
|
233
|
+
--Subtitle-Large-Letter-Spacing: 0em;
|
|
234
|
+
--Subtitle-Large-Text-Transform: none;
|
|
235
|
+
|
|
236
|
+
/* Body */
|
|
237
|
+
--Body-Small-Font-Family: var(--Font-Family-Body);
|
|
238
|
+
--Body-Small-Font-Size: 14px;
|
|
239
|
+
--Body-Small-Font-Weight: var(--Font-Weight-Body);
|
|
240
|
+
--Body-Small-Line-Height: 21px;
|
|
241
|
+
--Body-Small-Letter-Spacing: 0em;
|
|
242
|
+
--Body-Small-Text-Transform: none;
|
|
243
|
+
--Body-Small-Semibold-Font-Weight: 600;
|
|
244
|
+
--Body-Medium-Font-Family: var(--Font-Family-Body);
|
|
245
|
+
--Body-Medium-Font-Size: 16px;
|
|
246
|
+
--Body-Medium-Font-Weight: var(--Font-Weight-Body);
|
|
247
|
+
--Body-Medium-Line-Height: 24px;
|
|
248
|
+
--Body-Medium-Letter-Spacing: 0em;
|
|
249
|
+
--Body-Medium-Text-Transform: none;
|
|
250
|
+
--Body-Medium-Semibold-Font-Weight: 600;
|
|
251
|
+
--Body-Large-Font-Family: var(--Font-Family-Body);
|
|
252
|
+
--Body-Large-Font-Size: 18px;
|
|
253
|
+
--Body-Large-Font-Weight: var(--Font-Weight-Body);
|
|
254
|
+
--Body-Large-Line-Height: 27px;
|
|
255
|
+
--Body-Large-Letter-Spacing: 0em;
|
|
256
|
+
--Body-Large-Text-Transform: none;
|
|
257
|
+
--Body-Large-Semibold-Font-Weight: 600;
|
|
258
|
+
|
|
259
|
+
/* Caption */
|
|
260
|
+
--Caption-Small-Font-Family: var(--Font-Family-Body);
|
|
261
|
+
--Caption-Small-Font-Size: 12px;
|
|
262
|
+
--Caption-Small-Font-Weight: 500;
|
|
263
|
+
--Caption-Small-Line-Height: 18px;
|
|
264
|
+
--Caption-Small-Letter-Spacing: 0.0083em;
|
|
265
|
+
--Caption-Small-Text-Transform: none;
|
|
266
|
+
--Caption-Small-Bold-Font-Weight: 700;
|
|
267
|
+
--Caption-Small-Paragraph-Spacing: 24px;
|
|
268
|
+
--Caption-Font-Family: var(--Font-Family-Body);
|
|
269
|
+
--Caption-Font-Size: 14px;
|
|
270
|
+
--Caption-Font-Weight: 500;
|
|
271
|
+
--Caption-Line-Height: 21px;
|
|
272
|
+
--Caption-Letter-Spacing: 0.0071em;
|
|
273
|
+
--Caption-Text-Transform: none;
|
|
274
|
+
--Caption-Bold-Font-Weight: 700;
|
|
275
|
+
--Caption-Paragraph-Spacing: 28px;
|
|
276
|
+
--Caption-Large-Font-Family: var(--Font-Family-Body);
|
|
277
|
+
--Caption-Large-Font-Size: 16px;
|
|
278
|
+
--Caption-Large-Font-Weight: 500;
|
|
279
|
+
--Caption-Large-Line-Height: 24px;
|
|
280
|
+
--Caption-Large-Letter-Spacing: 0.0063em;
|
|
281
|
+
--Caption-Large-Text-Transform: none;
|
|
282
|
+
--Caption-Large-Bold-Font-Weight: 700;
|
|
283
|
+
--Caption-Large-Paragraph-Spacing: 32px;
|
|
284
|
+
|
|
285
|
+
/* Label */
|
|
286
|
+
--Label-ExtraSmall-Font-Family: var(--Font-Family-Body);
|
|
287
|
+
--Label-ExtraSmall-Font-Size: 11px;
|
|
288
|
+
--Label-ExtraSmall-Font-Weight: 600;
|
|
289
|
+
--Label-ExtraSmall-Line-Height: 16.5px;
|
|
290
|
+
--Label-ExtraSmall-Letter-Spacing: 0.0455em;
|
|
291
|
+
--Label-ExtraSmall-Text-Transform: none;
|
|
292
|
+
--Label-Small-Font-Family: var(--Font-Family-Body);
|
|
293
|
+
--Label-Small-Font-Size: 12.5px;
|
|
294
|
+
--Label-Small-Font-Weight: 600;
|
|
295
|
+
--Label-Small-Line-Height: 18.75px;
|
|
296
|
+
--Label-Small-Letter-Spacing: 0.02em;
|
|
297
|
+
--Label-Small-Text-Transform: none;
|
|
298
|
+
--Label-Small-All-Caps-Font-Family: var(--Font-Family-Body);
|
|
299
|
+
--Label-Small-All-Caps-Font-Size: 12.5px;
|
|
300
|
+
--Label-Small-All-Caps-Font-Weight: 600;
|
|
301
|
+
--Label-Small-All-Caps-Line-Height: 18.75px;
|
|
302
|
+
--Label-Small-All-Caps-Letter-Spacing: 0.02em;
|
|
303
|
+
--Label-Small-All-Caps-Text-Transform: uppercase;
|
|
304
|
+
--Label-Medium-Font-Family: var(--Font-Family-Body);
|
|
305
|
+
--Label-Medium-Font-Size: 16px;
|
|
306
|
+
--Label-Medium-Font-Weight: 600;
|
|
307
|
+
--Label-Medium-Line-Height: 24px;
|
|
308
|
+
--Label-Medium-Letter-Spacing: 0em;
|
|
309
|
+
--Label-Medium-Text-Transform: none;
|
|
310
|
+
--Label-Medium-All-Caps-Font-Family: var(--Font-Family-Body);
|
|
311
|
+
--Label-Medium-All-Caps-Font-Size: 16px;
|
|
312
|
+
--Label-Medium-All-Caps-Font-Weight: 600;
|
|
313
|
+
--Label-Medium-All-Caps-Line-Height: 24px;
|
|
314
|
+
--Label-Medium-All-Caps-Letter-Spacing: 0em;
|
|
315
|
+
--Label-Medium-All-Caps-Text-Transform: uppercase;
|
|
316
|
+
--Label-Large-Font-Family: var(--Font-Family-Body);
|
|
317
|
+
--Label-Large-Font-Size: 18px;
|
|
318
|
+
--Label-Large-Font-Weight: 600;
|
|
319
|
+
--Label-Large-Line-Height: 27px;
|
|
320
|
+
--Label-Large-Letter-Spacing: 0em;
|
|
321
|
+
--Label-Large-Text-Transform: none;
|
|
322
|
+
--Label-Large-All-Caps-Font-Family: var(--Font-Family-Body);
|
|
323
|
+
--Label-Large-All-Caps-Font-Size: 18px;
|
|
324
|
+
--Label-Large-All-Caps-Font-Weight: 600;
|
|
325
|
+
--Label-Large-All-Caps-Line-Height: 27px;
|
|
326
|
+
--Label-Large-All-Caps-Letter-Spacing: 0em;
|
|
327
|
+
--Label-Large-All-Caps-Text-Transform: uppercase;
|
|
328
|
+
|
|
329
|
+
/* Mobile-Nav-Label */
|
|
330
|
+
--Mobile-Nav-Label-Font-Family: var(--Font-Family-Body);
|
|
331
|
+
--Mobile-Nav-Label-Font-Size: 11px;
|
|
332
|
+
--Mobile-Nav-Label-Font-Weight: 600;
|
|
333
|
+
--Mobile-Nav-Label-Line-Height: 16.5px;
|
|
334
|
+
--Mobile-Nav-Label-Letter-Spacing: 0.0455em;
|
|
335
|
+
--Mobile-Nav-Label-Text-Transform: none;
|
|
336
|
+
|
|
337
|
+
/* Legal */
|
|
338
|
+
--Legal-Font-Family: var(--Font-Family-Body);
|
|
339
|
+
--Legal-Font-Size: 10px;
|
|
340
|
+
--Legal-Font-Weight: 400;
|
|
341
|
+
--Legal-Line-Height: 15px;
|
|
342
|
+
--Legal-Letter-Spacing: 0em;
|
|
343
|
+
--Legal-Text-Transform: none;
|
|
344
|
+
--Legal-Semibold-Font-Weight: 600;
|
|
345
|
+
--Legal-Paragraph-Spacing: 20px;
|
|
346
|
+
|
|
347
|
+
/* Eyebrow — Eyebrow label — uppercase and tracked. Sits above a heading. */
|
|
348
|
+
--Eyebrow-Small-Font-Size: 12px;
|
|
349
|
+
--Eyebrow-Small-Font-Weight: 600;
|
|
350
|
+
--Eyebrow-Small-Line-Height: 18px;
|
|
351
|
+
--Eyebrow-Small-Letter-Spacing: 0.06em;
|
|
352
|
+
--Eyebrow-Small-Text-Transform: uppercase;
|
|
353
|
+
--Overline-Small-Font-Size: var(--Eyebrow-Small-Font-Size);
|
|
354
|
+
--Overline-Small-Font-Weight: var(--Eyebrow-Small-Font-Weight);
|
|
355
|
+
--Overline-Small-Line-Height: var(--Eyebrow-Small-Line-Height);
|
|
356
|
+
--Overline-Small-Letter-Spacing: var(--Eyebrow-Small-Letter-Spacing);
|
|
357
|
+
--Overline-Small-Text-Transform: var(--Eyebrow-Small-Text-Transform);
|
|
358
|
+
--Eyebrow-Medium-Font-Size: 16px;
|
|
359
|
+
--Eyebrow-Medium-Font-Weight: 600;
|
|
360
|
+
--Eyebrow-Medium-Line-Height: 24px;
|
|
361
|
+
--Eyebrow-Medium-Letter-Spacing: 0.05em;
|
|
362
|
+
--Eyebrow-Medium-Text-Transform: uppercase;
|
|
363
|
+
--Overline-Medium-Font-Size: var(--Eyebrow-Medium-Font-Size);
|
|
364
|
+
--Overline-Medium-Font-Weight: var(--Eyebrow-Medium-Font-Weight);
|
|
365
|
+
--Overline-Medium-Line-Height: var(--Eyebrow-Medium-Line-Height);
|
|
366
|
+
--Overline-Medium-Letter-Spacing: var(--Eyebrow-Medium-Letter-Spacing);
|
|
367
|
+
--Overline-Medium-Text-Transform: var(--Eyebrow-Medium-Text-Transform);
|
|
368
|
+
--Eyebrow-Large-Font-Size: 18px;
|
|
369
|
+
--Eyebrow-Large-Font-Weight: 600;
|
|
370
|
+
--Eyebrow-Large-Line-Height: 27px;
|
|
371
|
+
--Eyebrow-Large-Letter-Spacing: 0.04em;
|
|
372
|
+
--Eyebrow-Large-Text-Transform: uppercase;
|
|
373
|
+
--Overline-Large-Font-Size: var(--Eyebrow-Large-Font-Size);
|
|
374
|
+
--Overline-Large-Font-Weight: var(--Eyebrow-Large-Font-Weight);
|
|
375
|
+
--Overline-Large-Line-Height: var(--Eyebrow-Large-Line-Height);
|
|
376
|
+
--Overline-Large-Letter-Spacing: var(--Eyebrow-Large-Letter-Spacing);
|
|
377
|
+
--Overline-Large-Text-Transform: var(--Eyebrow-Large-Text-Transform);
|
|
378
|
+
|
|
379
|
+
/* Number */
|
|
380
|
+
--Number-Small-Font-Family: var(--Font-Family-Body);
|
|
381
|
+
--Number-Small-Font-Size: 16px;
|
|
382
|
+
--Number-Small-Font-Weight: 700;
|
|
383
|
+
--Number-Small-Line-Height: 16px;
|
|
384
|
+
--Number-Small-Letter-Spacing: 0em;
|
|
385
|
+
--Number-Small-Text-Transform: none;
|
|
386
|
+
--Number-Medium-Font-Family: var(--Font-Family-Body);
|
|
387
|
+
--Number-Medium-Font-Size: 28px;
|
|
388
|
+
--Number-Medium-Font-Weight: 700;
|
|
389
|
+
--Number-Medium-Line-Height: 28px;
|
|
390
|
+
--Number-Medium-Letter-Spacing: 0em;
|
|
391
|
+
--Number-Medium-Text-Transform: none;
|
|
392
|
+
--Number-Large-Font-Family: var(--Font-Family-Body);
|
|
393
|
+
--Number-Large-Font-Size: 36px;
|
|
394
|
+
--Number-Large-Font-Weight: 700;
|
|
395
|
+
--Number-Large-Line-Height: 36px;
|
|
396
|
+
--Number-Large-Letter-Spacing: 0em;
|
|
397
|
+
--Number-Large-Text-Transform: none;
|
|
398
|
+
|
|
399
|
+
/* Button */
|
|
400
|
+
--Button-ExtraSmall-Font-Family: var(--Font-Family-Body);
|
|
401
|
+
--Button-ExtraSmall-Font-Size: 11px;
|
|
402
|
+
--Button-ExtraSmall-Font-Weight: 600;
|
|
403
|
+
--Button-ExtraSmall-Line-Height: 11px;
|
|
404
|
+
--Button-ExtraSmall-Letter-Spacing: 0em;
|
|
405
|
+
--Button-ExtraSmall-Text-Transform: none;
|
|
406
|
+
--Button-Small-Font-Family: var(--Font-Family-Body);
|
|
407
|
+
--Button-Small-Font-Size: 14px;
|
|
408
|
+
--Button-Small-Font-Weight: 600;
|
|
409
|
+
--Button-Small-Line-Height: 14px;
|
|
410
|
+
--Button-Small-Letter-Spacing: 0em;
|
|
411
|
+
--Button-Small-Text-Transform: none;
|
|
412
|
+
--Button-Medium-Font-Family: var(--Font-Family-Body);
|
|
413
|
+
--Button-Medium-Font-Size: 16px;
|
|
414
|
+
--Button-Medium-Font-Weight: 600;
|
|
415
|
+
--Button-Medium-Line-Height: 16px;
|
|
416
|
+
--Button-Medium-Letter-Spacing: 0em;
|
|
417
|
+
--Button-Medium-Text-Transform: none;
|
|
418
|
+
--Button-Standard-Font-Size: var(--Button-Medium-Font-Size);
|
|
419
|
+
--Button-Standard-Font-Weight: var(--Button-Medium-Font-Weight);
|
|
420
|
+
--Button-Standard-Line-Height: var(--Button-Medium-Line-Height);
|
|
421
|
+
--Button-Standard-Letter-Spacing: var(--Button-Medium-Letter-Spacing);
|
|
422
|
+
--Button-Large-Font-Family: var(--Font-Family-Body);
|
|
423
|
+
--Button-Large-Font-Size: 24px;
|
|
424
|
+
--Button-Large-Font-Weight: 600;
|
|
425
|
+
--Button-Large-Line-Height: 24px;
|
|
426
|
+
--Button-Large-Letter-Spacing: 0em;
|
|
427
|
+
--Button-Large-Text-Transform: none;
|
|
428
|
+
|
|
429
|
+
/* Badge */
|
|
430
|
+
--Badge-Font-Family: var(--Font-Family-Body);
|
|
431
|
+
--Badge-Font-Size: 11px;
|
|
432
|
+
--Badge-Font-Weight: 600;
|
|
433
|
+
--Badge-Line-Height: 12px;
|
|
434
|
+
--Badge-Letter-Spacing: 0em;
|
|
435
|
+
--Badge-Text-Transform: none;
|
|
211
436
|
--Label-Font-Size: 14px;
|
|
212
437
|
--Label-Line-Height: 20px;
|
|
213
438
|
--Label-Letter-Spacing: 0px;
|
|
214
439
|
--Label-Paragraph-Spacing: 4px;
|
|
215
440
|
--Button-Font-Size: 16px;
|
|
216
441
|
--Button-Line-Height: 20px;
|
|
442
|
+
/* Bevel geometry for ALL THREE sizes — derived from THIS platform's button
|
|
443
|
+
heights, which is why it lives beside them rather than in foundation.css.
|
|
444
|
+
Each [data-device] block below re-emits all three for its own heights.
|
|
445
|
+
It used to re-emit the MEDIUM set only, so a small or large button wore
|
|
446
|
+
Desktop's bevel on every platform. */
|
|
447
|
+
--Button-Highlight-Offset-x: 0px;
|
|
448
|
+
--Button-Highlight-Offset-y: 0px;
|
|
449
|
+
--Button-Highlight-Blur-Radius: 0px;
|
|
450
|
+
--Button-Highlight-Spread: 0px;
|
|
451
|
+
--Button-Lowlight-Offset-x: 0px;
|
|
452
|
+
--Button-Lowlight-Offset-y: 0px;
|
|
453
|
+
--Button-Lowlight-Blur-Radius: 0px;
|
|
454
|
+
--Button-Lowlight-Spread: 0px;
|
|
455
|
+
--Sm-Button-Highlight-Offset-x: 0px;
|
|
456
|
+
--Sm-Button-Highlight-Offset-y: 0px;
|
|
457
|
+
--Sm-Button-Highlight-Blur-Radius: 0px;
|
|
458
|
+
--Sm-Button-Highlight-Spread: 0px;
|
|
459
|
+
--Sm-Button-Lowlight-Offset-x: 0px;
|
|
460
|
+
--Sm-Button-Lowlight-Offset-y: 0px;
|
|
461
|
+
--Sm-Button-Lowlight-Blur-Radius: 0px;
|
|
462
|
+
--Sm-Button-Lowlight-Spread: 0px;
|
|
463
|
+
--Lg-Button-Highlight-Offset-x: 0px;
|
|
464
|
+
--Lg-Button-Highlight-Offset-y: 0px;
|
|
465
|
+
--Lg-Button-Highlight-Blur-Radius: 0px;
|
|
466
|
+
--Lg-Button-Highlight-Spread: 0px;
|
|
467
|
+
--Lg-Button-Lowlight-Offset-x: 0px;
|
|
468
|
+
--Lg-Button-Lowlight-Offset-y: 0px;
|
|
469
|
+
--Lg-Button-Lowlight-Blur-Radius: 0px;
|
|
470
|
+
--Lg-Button-Lowlight-Spread: 0px;
|
|
471
|
+
/* Hit target. The SMALL button keeps its visual size on every platform; the
|
|
472
|
+
lib wraps it in a box that grows to --Target using --Platform-Spacer, so
|
|
473
|
+
the button looks identical while the tappable area meets the platform
|
|
474
|
+
minimum. */
|
|
475
|
+
--Target: 24px;
|
|
476
|
+
--Platform-Spacer: 4px;
|
|
477
|
+
/* Floating overlays. Desktop reserves no system chrome, so these are the
|
|
478
|
+
clearance alone — stated rather than left to fall back, because an unset
|
|
479
|
+
custom property paints nothing and reports nothing. */
|
|
480
|
+
--SnackBar-Top: 24px;
|
|
481
|
+
--SnackBar-Bottom: 24px;
|
|
482
|
+
--Overlay-Clearance: 24px;
|
|
217
483
|
}
|
|
218
484
|
|
|
219
485
|
/* iOS Mobile */
|
|
220
|
-
[data-
|
|
486
|
+
[data-device="IOS-Mobile"] {
|
|
221
487
|
--Container-Padding: var(--Sizing-2);
|
|
222
488
|
--Platform-Label: "IOS-Mobile";
|
|
223
489
|
--Button-Height: 44px;
|
|
224
490
|
--Min-Stack-Gap: 10px;
|
|
491
|
+
--Button-Highlight-Offset-x: 0px;
|
|
492
|
+
--Button-Highlight-Offset-y: 0px;
|
|
493
|
+
--Button-Highlight-Blur-Radius: 0px;
|
|
494
|
+
--Button-Highlight-Spread: 0px;
|
|
495
|
+
--Button-Lowlight-Offset-x: 0px;
|
|
496
|
+
--Button-Lowlight-Offset-y: 0px;
|
|
497
|
+
--Button-Lowlight-Blur-Radius: 0px;
|
|
498
|
+
--Button-Lowlight-Spread: 0px;
|
|
499
|
+
--Sm-Button-Highlight-Offset-x: 0px;
|
|
500
|
+
--Sm-Button-Highlight-Offset-y: 0px;
|
|
501
|
+
--Sm-Button-Highlight-Blur-Radius: 0px;
|
|
502
|
+
--Sm-Button-Highlight-Spread: 0px;
|
|
503
|
+
--Sm-Button-Lowlight-Offset-x: 0px;
|
|
504
|
+
--Sm-Button-Lowlight-Offset-y: 0px;
|
|
505
|
+
--Sm-Button-Lowlight-Blur-Radius: 0px;
|
|
506
|
+
--Sm-Button-Lowlight-Spread: 0px;
|
|
507
|
+
--Lg-Button-Highlight-Offset-x: 0px;
|
|
508
|
+
--Lg-Button-Highlight-Offset-y: 0px;
|
|
509
|
+
--Lg-Button-Highlight-Blur-Radius: 0px;
|
|
510
|
+
--Lg-Button-Highlight-Spread: 0px;
|
|
511
|
+
--Lg-Button-Lowlight-Offset-x: 0px;
|
|
512
|
+
--Lg-Button-Lowlight-Offset-y: 0px;
|
|
513
|
+
--Lg-Button-Lowlight-Blur-Radius: 0px;
|
|
514
|
+
--Lg-Button-Lowlight-Spread: 0px;
|
|
515
|
+
--Target: 44px;
|
|
516
|
+
--Platform-Spacer: 10px;
|
|
517
|
+
/* Floating overlays — the platform's chrome plus room for a shadow */
|
|
518
|
+
--SnackBar-Top: 98px;
|
|
519
|
+
--SnackBar-Bottom: 58px;
|
|
520
|
+
--Overlay-Clearance: 24px;
|
|
225
521
|
--Body-Font-Size: 16px;
|
|
226
522
|
--Body-Letter-Spacing: -.5px;
|
|
227
523
|
--Body-Line-Height: 24px;
|
|
@@ -259,11 +555,41 @@
|
|
|
259
555
|
}
|
|
260
556
|
|
|
261
557
|
/* iOS Tablet */
|
|
262
|
-
[data-
|
|
558
|
+
[data-device="IOS-Tablet"] {
|
|
263
559
|
--Container-Padding: var(--Sizing-3);
|
|
264
560
|
--Platform-Label: "IOS-Tablet";
|
|
265
|
-
--Button-Height:
|
|
561
|
+
--Button-Height: 44px;
|
|
266
562
|
--Min-Stack-Gap: 10px;
|
|
563
|
+
--Button-Highlight-Offset-x: 0px;
|
|
564
|
+
--Button-Highlight-Offset-y: 0px;
|
|
565
|
+
--Button-Highlight-Blur-Radius: 0px;
|
|
566
|
+
--Button-Highlight-Spread: 0px;
|
|
567
|
+
--Button-Lowlight-Offset-x: 0px;
|
|
568
|
+
--Button-Lowlight-Offset-y: 0px;
|
|
569
|
+
--Button-Lowlight-Blur-Radius: 0px;
|
|
570
|
+
--Button-Lowlight-Spread: 0px;
|
|
571
|
+
--Sm-Button-Highlight-Offset-x: 0px;
|
|
572
|
+
--Sm-Button-Highlight-Offset-y: 0px;
|
|
573
|
+
--Sm-Button-Highlight-Blur-Radius: 0px;
|
|
574
|
+
--Sm-Button-Highlight-Spread: 0px;
|
|
575
|
+
--Sm-Button-Lowlight-Offset-x: 0px;
|
|
576
|
+
--Sm-Button-Lowlight-Offset-y: 0px;
|
|
577
|
+
--Sm-Button-Lowlight-Blur-Radius: 0px;
|
|
578
|
+
--Sm-Button-Lowlight-Spread: 0px;
|
|
579
|
+
--Lg-Button-Highlight-Offset-x: 0px;
|
|
580
|
+
--Lg-Button-Highlight-Offset-y: 0px;
|
|
581
|
+
--Lg-Button-Highlight-Blur-Radius: 0px;
|
|
582
|
+
--Lg-Button-Highlight-Spread: 0px;
|
|
583
|
+
--Lg-Button-Lowlight-Offset-x: 0px;
|
|
584
|
+
--Lg-Button-Lowlight-Offset-y: 0px;
|
|
585
|
+
--Lg-Button-Lowlight-Blur-Radius: 0px;
|
|
586
|
+
--Lg-Button-Lowlight-Spread: 0px;
|
|
587
|
+
--Target: 44px;
|
|
588
|
+
--Platform-Spacer: 10px;
|
|
589
|
+
/* Floating overlays — the platform's chrome plus room for a shadow */
|
|
590
|
+
--SnackBar-Top: 98px;
|
|
591
|
+
--SnackBar-Bottom: 44px;
|
|
592
|
+
--Overlay-Clearance: 24px;
|
|
267
593
|
--Body-Font-Size: 17px;
|
|
268
594
|
--Body-Letter-Spacing: -.5px;
|
|
269
595
|
--Body-Line-Height: 25.5px;
|
|
@@ -300,12 +626,121 @@
|
|
|
300
626
|
--Button-Line-Height: 21px;
|
|
301
627
|
}
|
|
302
628
|
|
|
303
|
-
/* Android
|
|
304
|
-
|
|
629
|
+
/* Android, a block each.
|
|
630
|
+
Android-Tablet and Android-Mobile carry identical METRICS — Figma gives
|
|
631
|
+
both a 48px button and a 12px spacer — so these two blocks hold the same
|
|
632
|
+
values. They are written separately rather than sharing a selector list
|
|
633
|
+
because every other platform has a block of its own, and a reader checking
|
|
634
|
+
"is this platform covered" should find one answer in one shape. The two
|
|
635
|
+
exist as separate devices because TYPOGRAPHY differs between them. */
|
|
636
|
+
/* Android tablet */
|
|
637
|
+
[data-device="Android-Tablet"] {
|
|
638
|
+
--Container-Padding: var(--Sizing-2);
|
|
639
|
+
--Platform-Label: "Android";
|
|
640
|
+
--Button-Height: 48px;
|
|
641
|
+
--Min-Stack-Gap: 12px;
|
|
642
|
+
--Button-Highlight-Offset-x: 0px;
|
|
643
|
+
--Button-Highlight-Offset-y: 0px;
|
|
644
|
+
--Button-Highlight-Blur-Radius: 0px;
|
|
645
|
+
--Button-Highlight-Spread: 0px;
|
|
646
|
+
--Button-Lowlight-Offset-x: 0px;
|
|
647
|
+
--Button-Lowlight-Offset-y: 0px;
|
|
648
|
+
--Button-Lowlight-Blur-Radius: 0px;
|
|
649
|
+
--Button-Lowlight-Spread: 0px;
|
|
650
|
+
--Sm-Button-Highlight-Offset-x: 0px;
|
|
651
|
+
--Sm-Button-Highlight-Offset-y: 0px;
|
|
652
|
+
--Sm-Button-Highlight-Blur-Radius: 0px;
|
|
653
|
+
--Sm-Button-Highlight-Spread: 0px;
|
|
654
|
+
--Sm-Button-Lowlight-Offset-x: 0px;
|
|
655
|
+
--Sm-Button-Lowlight-Offset-y: 0px;
|
|
656
|
+
--Sm-Button-Lowlight-Blur-Radius: 0px;
|
|
657
|
+
--Sm-Button-Lowlight-Spread: 0px;
|
|
658
|
+
--Lg-Button-Highlight-Offset-x: 0px;
|
|
659
|
+
--Lg-Button-Highlight-Offset-y: 0px;
|
|
660
|
+
--Lg-Button-Highlight-Blur-Radius: 0px;
|
|
661
|
+
--Lg-Button-Highlight-Spread: 0px;
|
|
662
|
+
--Lg-Button-Lowlight-Offset-x: 0px;
|
|
663
|
+
--Lg-Button-Lowlight-Offset-y: 0px;
|
|
664
|
+
--Lg-Button-Lowlight-Blur-Radius: 0px;
|
|
665
|
+
--Lg-Button-Lowlight-Spread: 0px;
|
|
666
|
+
--Target: 48px;
|
|
667
|
+
--Platform-Spacer: 12px;
|
|
668
|
+
/* Floating overlays — the platform's chrome plus room for a shadow */
|
|
669
|
+
--SnackBar-Top: 112px;
|
|
670
|
+
--SnackBar-Bottom: 48px;
|
|
671
|
+
--Overlay-Clearance: 24px;
|
|
672
|
+
--Body-Font-Size: 16px;
|
|
673
|
+
--Body-Line-Height: 24px;
|
|
674
|
+
--Body-Letter-Spacing: .5px;
|
|
675
|
+
--Body-Paragraph-Spacing: 16px;
|
|
676
|
+
--H1-Font-Size: 36px;
|
|
677
|
+
--H1-Line-Height: 40px;
|
|
678
|
+
--H1-Letter-Spacing: -.5px;
|
|
679
|
+
--H1-Paragraph-Spacing: 20px;
|
|
680
|
+
--H2-Font-Size: 28px;
|
|
681
|
+
--H2-Line-Height: 36px;
|
|
682
|
+
--H2-Letter-Spacing: -.5px;
|
|
683
|
+
--H2-Paragraph-Spacing: 20px;
|
|
684
|
+
--H3-Font-Size: 24px;
|
|
685
|
+
--H3-Line-Height: 32px;
|
|
686
|
+
--H3-Letter-Spacing: 0px;
|
|
687
|
+
--H3-Paragraph-Spacing: 16px;
|
|
688
|
+
--H4-Font-Size: 20px;
|
|
689
|
+
--H4-Line-Height: 28px;
|
|
690
|
+
--H4-Letter-Spacing: 0px;
|
|
691
|
+
--H4-Paragraph-Spacing: 12px;
|
|
692
|
+
--H5-Font-Size: 18px;
|
|
693
|
+
--H5-Line-Height: 26px;
|
|
694
|
+
--H5-Letter-Spacing: 0px;
|
|
695
|
+
--H5-Paragraph-Spacing: 12px;
|
|
696
|
+
--H6-Font-Size: 16px;
|
|
697
|
+
--H6-Line-Height: 24px;
|
|
698
|
+
--H6-Letter-Spacing: .5px;
|
|
699
|
+
--H6-Paragraph-Spacing: 8px;
|
|
700
|
+
--Label-Font-Size: 13px;
|
|
701
|
+
--Label-Line-Height: 18px;
|
|
702
|
+
--Label-Letter-Spacing: 0px;
|
|
703
|
+
--Label-Paragraph-Spacing: 4px;
|
|
704
|
+
--Button-Font-Size: 16px;
|
|
705
|
+
--Button-Line-Height: 20px;
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
/* Android phone */
|
|
709
|
+
[data-device="Android-Mobile"] {
|
|
305
710
|
--Container-Padding: var(--Sizing-2);
|
|
306
711
|
--Platform-Label: "Android";
|
|
307
712
|
--Button-Height: 48px;
|
|
308
713
|
--Min-Stack-Gap: 12px;
|
|
714
|
+
--Button-Highlight-Offset-x: 0px;
|
|
715
|
+
--Button-Highlight-Offset-y: 0px;
|
|
716
|
+
--Button-Highlight-Blur-Radius: 0px;
|
|
717
|
+
--Button-Highlight-Spread: 0px;
|
|
718
|
+
--Button-Lowlight-Offset-x: 0px;
|
|
719
|
+
--Button-Lowlight-Offset-y: 0px;
|
|
720
|
+
--Button-Lowlight-Blur-Radius: 0px;
|
|
721
|
+
--Button-Lowlight-Spread: 0px;
|
|
722
|
+
--Sm-Button-Highlight-Offset-x: 0px;
|
|
723
|
+
--Sm-Button-Highlight-Offset-y: 0px;
|
|
724
|
+
--Sm-Button-Highlight-Blur-Radius: 0px;
|
|
725
|
+
--Sm-Button-Highlight-Spread: 0px;
|
|
726
|
+
--Sm-Button-Lowlight-Offset-x: 0px;
|
|
727
|
+
--Sm-Button-Lowlight-Offset-y: 0px;
|
|
728
|
+
--Sm-Button-Lowlight-Blur-Radius: 0px;
|
|
729
|
+
--Sm-Button-Lowlight-Spread: 0px;
|
|
730
|
+
--Lg-Button-Highlight-Offset-x: 0px;
|
|
731
|
+
--Lg-Button-Highlight-Offset-y: 0px;
|
|
732
|
+
--Lg-Button-Highlight-Blur-Radius: 0px;
|
|
733
|
+
--Lg-Button-Highlight-Spread: 0px;
|
|
734
|
+
--Lg-Button-Lowlight-Offset-x: 0px;
|
|
735
|
+
--Lg-Button-Lowlight-Offset-y: 0px;
|
|
736
|
+
--Lg-Button-Lowlight-Blur-Radius: 0px;
|
|
737
|
+
--Lg-Button-Lowlight-Spread: 0px;
|
|
738
|
+
--Target: 48px;
|
|
739
|
+
--Platform-Spacer: 12px;
|
|
740
|
+
/* Floating overlays — the platform's chrome plus room for a shadow */
|
|
741
|
+
--SnackBar-Top: 112px;
|
|
742
|
+
--SnackBar-Bottom: 48px;
|
|
743
|
+
--Overlay-Clearance: 24px;
|
|
309
744
|
--Body-Font-Size: 16px;
|
|
310
745
|
--Body-Line-Height: 24px;
|
|
311
746
|
--Body-Letter-Spacing: .5px;
|
|
@@ -343,25 +778,26 @@
|
|
|
343
778
|
}
|
|
344
779
|
|
|
345
780
|
/* Decorative Font Application */
|
|
346
|
-
/*
|
|
781
|
+
/* In decorative mode, eyebrows swap onto the Display face. Re-pointing the
|
|
782
|
+
face token is all it takes — every style wearing that face follows, because
|
|
783
|
+
each one's --<style>-Font-Family is relative to it. */
|
|
347
784
|
|
|
348
785
|
[data-surface="Surface"] [data-decorative],
|
|
349
786
|
[data-surface="Surface-Dim"] [data-decorative],
|
|
350
787
|
[data-surface="Surface-Dimmest"] [data-decorative],
|
|
351
|
-
[data-surface="Surface-Bright"] [data-decorative]
|
|
352
|
-
[data-surface="Surface-Brightest"] [data-decorative] {
|
|
788
|
+
[data-surface="Surface-Bright"] [data-decorative] {
|
|
353
789
|
--Font-Family-Header: var(--Set-Font-Family-Header);
|
|
354
790
|
--Font-Family-Header-Weight: var(--Set-Font-Family-Header-Weight);
|
|
355
|
-
--Font-Family-
|
|
791
|
+
--Font-Family-Eyebrow: var(--Font-Family-Display);
|
|
356
792
|
}
|
|
357
793
|
|
|
358
794
|
/* Explicit decorative variants — always available regardless of mode */
|
|
359
795
|
[data-typography="decorative-header"] {
|
|
360
|
-
font-family: var(--
|
|
796
|
+
font-family: var(--Font-Family-Header);
|
|
361
797
|
font-weight: var(--Set-Font-Family-Header-Weight);
|
|
362
798
|
}
|
|
363
799
|
[data-typography="decorative-overline"] {
|
|
364
|
-
font-family: var(--
|
|
800
|
+
font-family: var(--Font-Family-Display);
|
|
365
801
|
}
|
|
366
802
|
|
|
367
803
|
/* Cognitive Accessibility Overrides */
|