open-ds 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +66 -2
- package/assets/schemes/accessible-first.json +3093 -0
- package/assets/schemes/brand-expressive.json +3124 -0
- package/assets/schemes/content-first.json +3110 -0
- package/assets/schemes/dense-data.json +3489 -0
- package/assets/schemes/grammar.json +3903 -0
- package/assets/schemes/multi-brand.json +4359 -0
- package/assets/skills/open-ds/SKILL.md +50 -0
- package/assets/skills/open-ds-build/SKILL.md +19 -0
- package/assets/skills/open-ds-change/SKILL.md +19 -0
- package/assets/skills/open-ds-choose/SKILL.md +18 -0
- package/assets/skills/open-ds-review/SKILL.md +22 -0
- package/assets/skills/open-ds-write/SKILL.md +13 -0
- package/assets/stories/accordion.stories.tsx +46 -0
- package/assets/stories/alert-dialog.stories.tsx +65 -0
- package/assets/stories/alert.stories.tsx +44 -0
- package/assets/stories/aspect-ratio.stories.tsx +37 -0
- package/assets/stories/avatar.stories.tsx +42 -0
- package/assets/stories/badge.stories.tsx +39 -0
- package/assets/stories/breadcrumb.stories.tsx +54 -0
- package/assets/stories/button.stories.tsx +46 -0
- package/assets/stories/calendar.stories.tsx +30 -0
- package/assets/stories/card.stories.tsx +50 -0
- package/assets/stories/carousel.stories.tsx +64 -0
- package/assets/stories/chart.stories.tsx +61 -0
- package/assets/stories/checkbox.stories.tsx +29 -0
- package/assets/stories/collapsible.stories.tsx +39 -0
- package/assets/stories/combobox.stories.tsx +57 -0
- package/assets/stories/command.stories.tsx +60 -0
- package/assets/stories/context-menu.stories.tsx +55 -0
- package/assets/stories/data-table.stories.tsx +93 -0
- package/assets/stories/date-picker.stories.tsx +27 -0
- package/assets/stories/dialog.stories.tsx +70 -0
- package/assets/stories/drawer.stories.tsx +62 -0
- package/assets/stories/dropdown-menu.stories.tsx +65 -0
- package/assets/stories/empty.stories.tsx +39 -0
- package/assets/stories/field.stories.tsx +42 -0
- package/assets/stories/form.stories.tsx +56 -0
- package/assets/stories/input-group.stories.tsx +41 -0
- package/assets/stories/input-otp.stories.tsx +48 -0
- package/assets/stories/input.stories.tsx +32 -0
- package/assets/stories/kbd.stories.tsx +30 -0
- package/assets/stories/label.stories.tsx +26 -0
- package/assets/stories/native-select.stories.tsx +39 -0
- package/assets/stories/navigation-menu.stories.tsx +41 -0
- package/assets/stories/pagination.stories.tsx +61 -0
- package/assets/stories/popover.stories.tsx +37 -0
- package/assets/stories/progress.stories.tsx +30 -0
- package/assets/stories/radio-group.stories.tsx +45 -0
- package/assets/stories/resizable.stories.tsx +54 -0
- package/assets/stories/scroll-area.stories.tsx +47 -0
- package/assets/stories/select.stories.tsx +57 -0
- package/assets/stories/separator.stories.tsx +28 -0
- package/assets/stories/sheet.stories.tsx +46 -0
- package/assets/stories/sidebar.stories.tsx +62 -0
- package/assets/stories/skeleton.stories.tsx +27 -0
- package/assets/stories/slider.stories.tsx +44 -0
- package/assets/stories/spinner.stories.tsx +25 -0
- package/assets/stories/switch.stories.tsx +29 -0
- package/assets/stories/table.stories.tsx +97 -0
- package/assets/stories/tabs.stories.tsx +55 -0
- package/assets/stories/textarea.stories.tsx +28 -0
- package/assets/stories/toast.stories.tsx +30 -0
- package/assets/stories/toggle-group.stories.tsx +41 -0
- package/assets/stories/toggle.stories.tsx +20 -0
- package/assets/stories/tooltip.stories.tsx +49 -0
- package/assets/tokens/accessible-first/content.json +32 -0
- package/assets/tokens/accessible-first/dark.tokens.json +581 -0
- package/assets/tokens/accessible-first/light.tokens.json +581 -0
- package/assets/tokens/accessible-first/shadcn.css +21 -0
- package/assets/tokens/accessible-first/theme.css +101 -0
- package/assets/tokens/accessible-first/tokens.css +331 -0
- package/assets/tokens/accessible-first/tokens.json +1616 -0
- package/assets/tokens/accessible-first/tokens.scoped.css +333 -0
- package/assets/tokens/brand-expressive/content.json +32 -0
- package/assets/tokens/brand-expressive/dark.tokens.json +585 -0
- package/assets/tokens/brand-expressive/light.tokens.json +585 -0
- package/assets/tokens/brand-expressive/shadcn.css +21 -0
- package/assets/tokens/brand-expressive/theme.css +101 -0
- package/assets/tokens/brand-expressive/tokens.css +331 -0
- package/assets/tokens/brand-expressive/tokens.json +1651 -0
- package/assets/tokens/brand-expressive/tokens.scoped.css +333 -0
- package/assets/tokens/content-first/content.json +32 -0
- package/assets/tokens/content-first/dark.tokens.json +582 -0
- package/assets/tokens/content-first/light.tokens.json +582 -0
- package/assets/tokens/content-first/shadcn.css +21 -0
- package/assets/tokens/content-first/theme.css +101 -0
- package/assets/tokens/content-first/tokens.css +331 -0
- package/assets/tokens/content-first/tokens.json +1631 -0
- package/assets/tokens/content-first/tokens.scoped.css +333 -0
- package/assets/tokens/dense-data/content.json +32 -0
- package/assets/tokens/dense-data/dark.tokens.json +580 -0
- package/assets/tokens/dense-data/light.tokens.json +580 -0
- package/assets/tokens/dense-data/shadcn.css +21 -0
- package/assets/tokens/dense-data/theme.css +101 -0
- package/assets/tokens/dense-data/tokens.css +331 -0
- package/assets/tokens/dense-data/tokens.json +1623 -0
- package/assets/tokens/dense-data/tokens.scoped.css +333 -0
- package/assets/tokens/index.json +143 -0
- package/assets/tokens/multi-brand/aster-dark.tokens.json +625 -0
- package/assets/tokens/multi-brand/aster-light.tokens.json +625 -0
- package/assets/tokens/multi-brand/birch-dark.tokens.json +625 -0
- package/assets/tokens/multi-brand/birch-light.tokens.json +625 -0
- package/assets/tokens/multi-brand/content.json +32 -0
- package/assets/tokens/multi-brand/coral-dark.tokens.json +625 -0
- package/assets/tokens/multi-brand/coral-light.tokens.json +625 -0
- package/assets/tokens/multi-brand/shadcn.css +21 -0
- package/assets/tokens/multi-brand/theme.css +101 -0
- package/assets/tokens/multi-brand/tokens.css +1002 -0
- package/assets/tokens/multi-brand/tokens.json +1754 -0
- package/assets/tokens/multi-brand/tokens.scoped.css +1022 -0
- package/assets/tokens/shadcn-map.json +34 -0
- package/assets/ui/components/accordion.tsx +60 -0
- package/assets/ui/components/alert-dialog.tsx +171 -0
- package/assets/ui/components/alert.tsx +56 -0
- package/assets/ui/components/aspect-ratio.tsx +17 -0
- package/assets/ui/components/avatar.tsx +96 -0
- package/assets/ui/components/badge.tsx +36 -0
- package/assets/ui/components/breadcrumb.tsx +99 -0
- package/assets/ui/components/button.tsx +53 -0
- package/assets/ui/components/calendar.tsx +169 -0
- package/assets/ui/components/card.tsx +72 -0
- package/assets/ui/components/carousel.tsx +224 -0
- package/assets/ui/components/chart.tsx +315 -0
- package/assets/ui/components/checkbox.tsx +29 -0
- package/assets/ui/components/collapsible.tsx +25 -0
- package/assets/ui/components/combobox.tsx +275 -0
- package/assets/ui/components/command.tsx +145 -0
- package/assets/ui/components/context-menu.tsx +218 -0
- package/assets/ui/components/data-table.tsx +307 -0
- package/assets/ui/components/date-picker.tsx +79 -0
- package/assets/ui/components/dialog.tsx +68 -0
- package/assets/ui/components/drawer.tsx +115 -0
- package/assets/ui/components/dropdown-menu.tsx +58 -0
- package/assets/ui/components/empty.tsx +92 -0
- package/assets/ui/components/field.tsx +234 -0
- package/assets/ui/components/form.tsx +146 -0
- package/assets/ui/components/input-group.tsx +154 -0
- package/assets/ui/components/input-otp.tsx +75 -0
- package/assets/ui/components/input.tsx +25 -0
- package/assets/ui/components/kbd.tsx +30 -0
- package/assets/ui/components/label.tsx +22 -0
- package/assets/ui/components/native-select.tsx +59 -0
- package/assets/ui/components/navigation-menu.tsx +149 -0
- package/assets/ui/components/pagination.tsx +108 -0
- package/assets/ui/components/popover.tsx +61 -0
- package/assets/ui/components/progress.tsx +31 -0
- package/assets/ui/components/radio-group.tsx +40 -0
- package/assets/ui/components/resizable.tsx +54 -0
- package/assets/ui/components/scroll-area.tsx +55 -0
- package/assets/ui/components/select.tsx +81 -0
- package/assets/ui/components/separator.tsx +35 -0
- package/assets/ui/components/sheet.tsx +114 -0
- package/assets/ui/components/sidebar.tsx +685 -0
- package/assets/ui/components/skeleton.tsx +15 -0
- package/assets/ui/components/slider.tsx +70 -0
- package/assets/ui/components/spinner.tsx +16 -0
- package/assets/ui/components/switch.tsx +32 -0
- package/assets/ui/components/table.tsx +78 -0
- package/assets/ui/components/tabs.tsx +49 -0
- package/assets/ui/components/textarea.tsx +25 -0
- package/assets/ui/components/toast.tsx +54 -0
- package/assets/ui/components/toggle-group.tsx +88 -0
- package/assets/ui/components/toggle.tsx +48 -0
- package/assets/ui/components/tooltip.tsx +34 -0
- package/assets/ui/lib/use-mobile.ts +20 -0
- package/assets/ui/lib/utils.ts +7 -0
- package/assets/ui/styles.css +27 -0
- package/bin/open-ds.js +6 -0
- package/package.json +56 -4
- package/src/agents.mjs +150 -0
- package/src/cli.mjs +445 -0
- package/src/components.mjs +69 -0
- package/src/context.mjs +143 -0
- package/src/create.mjs +377 -0
- package/src/docs.mjs +570 -0
- package/src/guidance.mjs +63 -0
- package/src/index.mjs +20 -0
- package/src/mcp.mjs +660 -0
- package/src/readmes.mjs +106 -0
- package/src/schemes.mjs +188 -0
- package/src/tokens.mjs +127 -0
- package/templates/project/.github/workflows/ci.yml +15 -0
- package/templates/project/.storybook/component-docs.mdx +26 -0
- package/templates/project/.storybook/main.ts +17 -0
- package/templates/project/.storybook/manager-head.html +3 -0
- package/templates/project/.storybook/manager.ts +37 -0
- package/templates/project/.storybook/preview-head.html +3 -0
- package/templates/project/.storybook/preview.tsx +82 -0
- package/templates/project/docs/docusaurus.config.ts +64 -0
- package/templates/project/docs/sidebars.ts +8 -0
- package/templates/project/docs/src/css/custom.css +275 -0
- package/templates/project/gitignore +6 -0
- package/templates/project/src/styles/index.css +16 -0
- package/templates/project/src/vite-env.d.ts +7 -0
- package/templates/project/stories/docs-blocks.tsx +190 -0
- package/templates/project/stories/samples.tsx +102 -0
- package/templates/project/stories/usage.tsx +31 -0
- package/templates/project/tokens/build.mjs +468 -0
- package/templates/project/tsconfig.json +15 -0
|
@@ -0,0 +1,3110 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../schema/scheme.schema.json",
|
|
3
|
+
"id": "content-first",
|
|
4
|
+
"name": "Content first",
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"status": "draft",
|
|
7
|
+
"summary": "Large, calm type and generous space, for people who come to read.",
|
|
8
|
+
"description": "Content first is an Open DS scheme: a full set of answers to the Open DS grammar, with the reasons behind each, usage rules, voice and tone, and the tokens that follow. Large, calm type and generous space, for people who come to read.",
|
|
9
|
+
"ai": {
|
|
10
|
+
"use_when": "Publications, documentation, blogs, guides and help centers.",
|
|
11
|
+
"avoid_when": "Data-heavy tools or screens with many actions.",
|
|
12
|
+
"example_products": [
|
|
13
|
+
"Magazine",
|
|
14
|
+
"Documentation site",
|
|
15
|
+
"Help center",
|
|
16
|
+
"Long-form guide"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"scenarios": [
|
|
20
|
+
{
|
|
21
|
+
"text": "A reader arrives from search on a phone and reads a long guide in one sitting.",
|
|
22
|
+
"follows": [
|
|
23
|
+
"scenarios.q1",
|
|
24
|
+
"scenarios.q2",
|
|
25
|
+
"people.q1"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"text": "A returning reader saves an article to finish on the train.",
|
|
30
|
+
"follows": [
|
|
31
|
+
"scenarios.q1",
|
|
32
|
+
"content.q1"
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"voice": {
|
|
37
|
+
"summary": {
|
|
38
|
+
"text": "Conversational and warm. Talk to one reader, like a good editor would.",
|
|
39
|
+
"follows": [
|
|
40
|
+
"voice.values",
|
|
41
|
+
"voice.roles"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"principles": [
|
|
45
|
+
{
|
|
46
|
+
"text": "Write to one person: \"you\", not \"users\".",
|
|
47
|
+
"follows": [
|
|
48
|
+
"voice.values"
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"text": "Short sentences with room to breathe.",
|
|
53
|
+
"follows": [
|
|
54
|
+
"outcomes.q1"
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"text": "Explain why before asking for anything.",
|
|
59
|
+
"follows": [
|
|
60
|
+
"people.q1",
|
|
61
|
+
"voice.definition"
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"words": {
|
|
66
|
+
"use": [
|
|
67
|
+
"Read",
|
|
68
|
+
"Save for later",
|
|
69
|
+
"You",
|
|
70
|
+
"Next issue"
|
|
71
|
+
],
|
|
72
|
+
"avoid": [
|
|
73
|
+
"Click here",
|
|
74
|
+
"Submit",
|
|
75
|
+
"Users",
|
|
76
|
+
"Content"
|
|
77
|
+
],
|
|
78
|
+
"follows": [
|
|
79
|
+
"voice.values"
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"inventory": {
|
|
84
|
+
"description": "The components this system carries, picked from the grammar catalogue by the components answers. Anything not listed is out.",
|
|
85
|
+
"follows": [
|
|
86
|
+
"components.roles",
|
|
87
|
+
"components.count",
|
|
88
|
+
"components.definition"
|
|
89
|
+
],
|
|
90
|
+
"in": [
|
|
91
|
+
{
|
|
92
|
+
"id": "button",
|
|
93
|
+
"why": "Subscribe, share and save."
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": "input",
|
|
97
|
+
"why": "Search and the newsletter field."
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"id": "label",
|
|
101
|
+
"why": "Names every field."
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "field",
|
|
105
|
+
"why": "Lays out the newsletter and search forms."
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "alert",
|
|
109
|
+
"why": "A note or warning inside an article."
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"id": "toast",
|
|
113
|
+
"why": "Confirms a saved article."
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": "dialog",
|
|
117
|
+
"why": "Sign-up without leaving the page."
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"id": "card",
|
|
121
|
+
"why": "Article previews."
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"id": "separator",
|
|
125
|
+
"why": "Breaks between parts of a page."
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"id": "accordion",
|
|
129
|
+
"why": "Questions and answers in guides."
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"id": "collapsible",
|
|
133
|
+
"why": "A long aside the reader can open."
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"id": "breadcrumb",
|
|
137
|
+
"why": "Shows where a guide sits."
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"id": "navigation-menu",
|
|
141
|
+
"why": "The site sections."
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"id": "pagination",
|
|
145
|
+
"why": "Moves through article lists."
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"id": "aspect-ratio",
|
|
149
|
+
"why": "Keeps images in shape."
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"id": "avatar",
|
|
153
|
+
"why": "The author of an article."
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"id": "badge",
|
|
157
|
+
"why": "The topic of an article."
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"id": "sheet",
|
|
161
|
+
"why": "The menu on a phone."
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"id": "skeleton",
|
|
165
|
+
"why": "Article text while it loads."
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"out": [
|
|
169
|
+
{
|
|
170
|
+
"id": "table",
|
|
171
|
+
"why": "Long-form reading rarely needs records; a plain HTML table covers the odd one."
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"id": "command",
|
|
175
|
+
"why": "Readers browse; they do not drive the site from the keyboard."
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"id": "chart",
|
|
179
|
+
"why": "Figures appear as images inside articles."
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"id": "tooltip",
|
|
183
|
+
"why": "Readers arrive on any device, and on touch screens hover hints never show; icons carry visible labels instead."
|
|
184
|
+
}
|
|
185
|
+
]
|
|
186
|
+
},
|
|
187
|
+
"samples": {
|
|
188
|
+
"description": "Sample content for showing this system: written from its use scenarios, in its voice, with every status mapped to a meaning. Storybook, the site and the docs read it; it is never shared between schemes.",
|
|
189
|
+
"follows": [
|
|
190
|
+
"scenarios.q1",
|
|
191
|
+
"scenarios.q2",
|
|
192
|
+
"content.q1",
|
|
193
|
+
"voice.values"
|
|
194
|
+
],
|
|
195
|
+
"screen": "Your reading list",
|
|
196
|
+
"actions": {
|
|
197
|
+
"primary": "Keep reading",
|
|
198
|
+
"secondary": "Save for later"
|
|
199
|
+
},
|
|
200
|
+
"statuses": [
|
|
201
|
+
{
|
|
202
|
+
"label": "Saved",
|
|
203
|
+
"meaning": "neutral",
|
|
204
|
+
"why": "Waiting for you; nothing is wrong."
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"label": "Finished",
|
|
208
|
+
"meaning": "success",
|
|
209
|
+
"why": "You read it to the end."
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"label": "Out of date",
|
|
213
|
+
"meaning": "warning",
|
|
214
|
+
"why": "The facts may have changed since it was written."
|
|
215
|
+
}
|
|
216
|
+
],
|
|
217
|
+
"metrics": [
|
|
218
|
+
{
|
|
219
|
+
"label": "Guides saved",
|
|
220
|
+
"value": "4"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"label": "Finished this month",
|
|
224
|
+
"value": "11"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"label": "Minutes read",
|
|
228
|
+
"value": "186"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"label": "Next issue",
|
|
232
|
+
"value": "Friday"
|
|
233
|
+
}
|
|
234
|
+
],
|
|
235
|
+
"field": {
|
|
236
|
+
"label": "Email address",
|
|
237
|
+
"placeholder": "you@example.com",
|
|
238
|
+
"hint": "One letter a week. Leave any time.",
|
|
239
|
+
"error": "We could not save your email. Check it and try again.",
|
|
240
|
+
"invalid": "reader-at-home"
|
|
241
|
+
},
|
|
242
|
+
"messages": {
|
|
243
|
+
"success": "You're in. The next issue arrives on Friday.",
|
|
244
|
+
"error": {
|
|
245
|
+
"title": "We could not save that guide.",
|
|
246
|
+
"description": "Check your connection and try again."
|
|
247
|
+
},
|
|
248
|
+
"neutral": "You're all caught up."
|
|
249
|
+
},
|
|
250
|
+
"confirm": {
|
|
251
|
+
"trigger": "Unsubscribe",
|
|
252
|
+
"title": "Unsubscribe from the weekly letter?",
|
|
253
|
+
"body": "You can come back any time.",
|
|
254
|
+
"confirm": "Unsubscribe",
|
|
255
|
+
"cancel": "Stay subscribed"
|
|
256
|
+
},
|
|
257
|
+
"card": {
|
|
258
|
+
"title": "Planting a winter garden",
|
|
259
|
+
"description": "Home and garden · 12 min read",
|
|
260
|
+
"status": "Saved",
|
|
261
|
+
"primary": "Keep reading",
|
|
262
|
+
"secondary": "Share"
|
|
263
|
+
}
|
|
264
|
+
},
|
|
265
|
+
"themes": [
|
|
266
|
+
{
|
|
267
|
+
"id": "light",
|
|
268
|
+
"brand": "default",
|
|
269
|
+
"mode": "light"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"id": "dark",
|
|
273
|
+
"brand": "default",
|
|
274
|
+
"mode": "dark"
|
|
275
|
+
}
|
|
276
|
+
],
|
|
277
|
+
"answers": [
|
|
278
|
+
{
|
|
279
|
+
"question": "business.q1",
|
|
280
|
+
"option": "inform",
|
|
281
|
+
"why": "The product publishes articles and guides.",
|
|
282
|
+
"because": []
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"question": "business.q2",
|
|
286
|
+
"option": "one",
|
|
287
|
+
"why": "One publication, one brand.",
|
|
288
|
+
"because": []
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"question": "people.q1",
|
|
292
|
+
"option": "occasional",
|
|
293
|
+
"why": "Most readers arrive from search and visit now and then.",
|
|
294
|
+
"because": [
|
|
295
|
+
"business.q1"
|
|
296
|
+
]
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"question": "people.q2",
|
|
300
|
+
"option": "aa",
|
|
301
|
+
"why": "AA is the commitment for a public site.",
|
|
302
|
+
"because": [
|
|
303
|
+
"people.q1"
|
|
304
|
+
]
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"question": "content.q1",
|
|
308
|
+
"option": "long-text",
|
|
309
|
+
"why": "The content is long-form text.",
|
|
310
|
+
"because": [
|
|
311
|
+
"business.q1"
|
|
312
|
+
]
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"question": "content.q2",
|
|
316
|
+
"option": "one-idea",
|
|
317
|
+
"why": "One idea per screen keeps reading calm.",
|
|
318
|
+
"because": [
|
|
319
|
+
"content.q1"
|
|
320
|
+
]
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"question": "tasks.q1",
|
|
324
|
+
"option": "read",
|
|
325
|
+
"why": "People read from start to end.",
|
|
326
|
+
"because": [
|
|
327
|
+
"content.q1"
|
|
328
|
+
]
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"question": "tasks.q2",
|
|
332
|
+
"option": "rarely",
|
|
333
|
+
"why": "Actions are rare: subscribe, share, save.",
|
|
334
|
+
"because": [
|
|
335
|
+
"tasks.q1"
|
|
336
|
+
]
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"question": "human.q1",
|
|
340
|
+
"option": "attention",
|
|
341
|
+
"why": "Attention belongs to the text.",
|
|
342
|
+
"because": [
|
|
343
|
+
"tasks.q1"
|
|
344
|
+
]
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"question": "human.q2",
|
|
348
|
+
"option": "fresh",
|
|
349
|
+
"why": "Visitors see the interface fresh each time.",
|
|
350
|
+
"because": [
|
|
351
|
+
"people.q1"
|
|
352
|
+
]
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"question": "outcomes.q1",
|
|
356
|
+
"option": "reading-comfort",
|
|
357
|
+
"why": "Comfortable reading is the measure.",
|
|
358
|
+
"because": [
|
|
359
|
+
"tasks.q1"
|
|
360
|
+
]
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"question": "outcomes.q2",
|
|
364
|
+
"option": "lost-place",
|
|
365
|
+
"why": "Losing your place in an article breaks the read.",
|
|
366
|
+
"because": [
|
|
367
|
+
"tasks.q1"
|
|
368
|
+
]
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"question": "brand.q1",
|
|
372
|
+
"option": "warm",
|
|
373
|
+
"why": "Warm and considered, like a good magazine.",
|
|
374
|
+
"because": [
|
|
375
|
+
"business.q1"
|
|
376
|
+
]
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"question": "brand.q2",
|
|
380
|
+
"option": "present",
|
|
381
|
+
"why": "The brand shows in type, not in color.",
|
|
382
|
+
"because": [
|
|
383
|
+
"brand.q1"
|
|
384
|
+
]
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"question": "scenarios.q1",
|
|
388
|
+
"option": "anywhere",
|
|
389
|
+
"why": "Readers arrive on phones and laptops alike.",
|
|
390
|
+
"because": [
|
|
391
|
+
"people.q1"
|
|
392
|
+
]
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"question": "scenarios.q2",
|
|
396
|
+
"option": "one-sitting",
|
|
397
|
+
"why": "A guide is read in one sitting.",
|
|
398
|
+
"because": [
|
|
399
|
+
"content.q1"
|
|
400
|
+
]
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"question": "team.q1",
|
|
404
|
+
"option": "small",
|
|
405
|
+
"why": "A small editorial team.",
|
|
406
|
+
"because": []
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"question": "team.q2",
|
|
410
|
+
"option": "stable",
|
|
411
|
+
"why": "The design changes rarely.",
|
|
412
|
+
"because": []
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"question": "typography.roles",
|
|
416
|
+
"option": "core-editorial",
|
|
417
|
+
"why": "A lead and a display role open articles.",
|
|
418
|
+
"because": [
|
|
419
|
+
"content.q1"
|
|
420
|
+
]
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"question": "typography.count",
|
|
424
|
+
"option": "many",
|
|
425
|
+
"why": "Long pages need a clear hierarchy of headings, with fine steps between them.",
|
|
426
|
+
"because": [
|
|
427
|
+
"content.q1"
|
|
428
|
+
]
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"question": "typography.definition",
|
|
432
|
+
"option": "ratio-proportional",
|
|
433
|
+
"why": "Line height is a ratio, so it grows with the text.",
|
|
434
|
+
"because": [
|
|
435
|
+
"tasks.q1",
|
|
436
|
+
"people.q2"
|
|
437
|
+
]
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"question": "typography.values",
|
|
441
|
+
"option": "large",
|
|
442
|
+
"why": "Large body text is easy on the eyes.",
|
|
443
|
+
"because": [
|
|
444
|
+
"outcomes.q1"
|
|
445
|
+
]
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"question": "typography.lands",
|
|
449
|
+
"option": "articles",
|
|
450
|
+
"why": "Type does its work in articles.",
|
|
451
|
+
"because": [
|
|
452
|
+
"content.q1"
|
|
453
|
+
]
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"question": "color.roles",
|
|
457
|
+
"option": "core",
|
|
458
|
+
"why": "Reading needs few color roles.",
|
|
459
|
+
"because": [
|
|
460
|
+
"human.q1"
|
|
461
|
+
]
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"question": "color.count",
|
|
465
|
+
"option": "three",
|
|
466
|
+
"why": "Primary, secondary and a text link.",
|
|
467
|
+
"because": [
|
|
468
|
+
"tasks.q2"
|
|
469
|
+
]
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"question": "color.definition",
|
|
473
|
+
"option": "neutral-brand",
|
|
474
|
+
"why": "Warm paper neutrals and one ink ramp.",
|
|
475
|
+
"because": [
|
|
476
|
+
"brand.q1"
|
|
477
|
+
]
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"question": "color.values",
|
|
481
|
+
"option": "balanced",
|
|
482
|
+
"why": "A calm, balanced palette.",
|
|
483
|
+
"because": [
|
|
484
|
+
"brand.q1"
|
|
485
|
+
]
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"question": "color.lands",
|
|
489
|
+
"option": "links-actions",
|
|
490
|
+
"why": "Color marks links inside the text.",
|
|
491
|
+
"because": [
|
|
492
|
+
"tasks.q1"
|
|
493
|
+
]
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"question": "spacing.roles",
|
|
497
|
+
"option": "gap-inset",
|
|
498
|
+
"why": "No dense tables, so no row role.",
|
|
499
|
+
"because": [
|
|
500
|
+
"content.q1"
|
|
501
|
+
]
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"question": "spacing.count",
|
|
505
|
+
"option": "one",
|
|
506
|
+
"why": "One calm density.",
|
|
507
|
+
"because": [
|
|
508
|
+
"content.q2"
|
|
509
|
+
]
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"question": "spacing.definition",
|
|
513
|
+
"option": "coarse",
|
|
514
|
+
"why": "Big, even steps suit long reading.",
|
|
515
|
+
"because": [
|
|
516
|
+
"outcomes.q1"
|
|
517
|
+
]
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"question": "spacing.values",
|
|
521
|
+
"option": "spacious",
|
|
522
|
+
"why": "Room around the text helps reading.",
|
|
523
|
+
"because": [
|
|
524
|
+
"outcomes.q1"
|
|
525
|
+
]
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"question": "spacing.lands",
|
|
529
|
+
"option": "reading",
|
|
530
|
+
"why": "Space is spent between paragraphs and sections.",
|
|
531
|
+
"because": [
|
|
532
|
+
"content.q1"
|
|
533
|
+
]
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"question": "shape.roles",
|
|
537
|
+
"option": "control-badge-container",
|
|
538
|
+
"why": "Pill badges differ from controls.",
|
|
539
|
+
"because": [
|
|
540
|
+
"brand.q1"
|
|
541
|
+
]
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"question": "shape.count",
|
|
545
|
+
"option": "three",
|
|
546
|
+
"why": "Control, badge and container corners differ.",
|
|
547
|
+
"because": [
|
|
548
|
+
"shape.roles"
|
|
549
|
+
]
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
"question": "shape.definition",
|
|
553
|
+
"option": "fixed",
|
|
554
|
+
"why": "One brand, one set of corners.",
|
|
555
|
+
"because": [
|
|
556
|
+
"business.q2"
|
|
557
|
+
]
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"question": "shape.values",
|
|
561
|
+
"option": "rounded",
|
|
562
|
+
"why": "Rounded corners feel friendly.",
|
|
563
|
+
"because": [
|
|
564
|
+
"brand.q1"
|
|
565
|
+
]
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
"question": "shape.lands",
|
|
569
|
+
"option": "controls-cards",
|
|
570
|
+
"why": "Corners show on buttons and article cards.",
|
|
571
|
+
"because": [
|
|
572
|
+
"content.q1"
|
|
573
|
+
]
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"question": "elevation.roles",
|
|
577
|
+
"option": "floating-only",
|
|
578
|
+
"why": "Only menus and dialogs float.",
|
|
579
|
+
"because": [
|
|
580
|
+
"human.q1"
|
|
581
|
+
]
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"question": "elevation.count",
|
|
585
|
+
"option": "one",
|
|
586
|
+
"why": "One shadow for floating things.",
|
|
587
|
+
"because": [
|
|
588
|
+
"elevation.roles"
|
|
589
|
+
]
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
"question": "elevation.definition",
|
|
593
|
+
"option": "space",
|
|
594
|
+
"why": "Space separates groups; lines would interrupt reading.",
|
|
595
|
+
"because": [
|
|
596
|
+
"outcomes.q1"
|
|
597
|
+
]
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
"question": "elevation.values",
|
|
601
|
+
"option": "soft",
|
|
602
|
+
"why": "Soft shadows suit warm paper.",
|
|
603
|
+
"because": [
|
|
604
|
+
"brand.q1"
|
|
605
|
+
]
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
"question": "elevation.lands",
|
|
609
|
+
"option": "menus-dialogs",
|
|
610
|
+
"why": "Menus and dialogs are the only layers.",
|
|
611
|
+
"because": [
|
|
612
|
+
"elevation.roles"
|
|
613
|
+
]
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
"question": "motion.roles",
|
|
617
|
+
"option": "feedback-guidance",
|
|
618
|
+
"why": "Motion confirms actions and guides between pages.",
|
|
619
|
+
"because": [
|
|
620
|
+
"people.q1"
|
|
621
|
+
]
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
"question": "motion.count",
|
|
625
|
+
"option": "two",
|
|
626
|
+
"why": "One speed for feedback, one for panels.",
|
|
627
|
+
"because": [
|
|
628
|
+
"motion.roles"
|
|
629
|
+
]
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
"question": "motion.definition",
|
|
633
|
+
"option": "standard",
|
|
634
|
+
"why": "A standard ease-out is calm.",
|
|
635
|
+
"because": [
|
|
636
|
+
"brand.q1"
|
|
637
|
+
]
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
"question": "motion.values",
|
|
641
|
+
"option": "moderate",
|
|
642
|
+
"why": "Moderate speed feels calm.",
|
|
643
|
+
"because": [
|
|
644
|
+
"brand.q1"
|
|
645
|
+
]
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
"question": "motion.lands",
|
|
649
|
+
"option": "state-panels",
|
|
650
|
+
"why": "State changes and opening panels move.",
|
|
651
|
+
"because": [
|
|
652
|
+
"motion.roles"
|
|
653
|
+
]
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
"question": "iconography.roles",
|
|
657
|
+
"option": "actions-status-nav",
|
|
658
|
+
"why": "Occasional readers need icons for save, share and navigation.",
|
|
659
|
+
"because": [
|
|
660
|
+
"people.q1"
|
|
661
|
+
]
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
"question": "iconography.count",
|
|
665
|
+
"option": "one",
|
|
666
|
+
"why": "One size next to text.",
|
|
667
|
+
"because": [
|
|
668
|
+
"iconography.values"
|
|
669
|
+
]
|
|
670
|
+
},
|
|
671
|
+
{
|
|
672
|
+
"question": "iconography.definition",
|
|
673
|
+
"option": "outline",
|
|
674
|
+
"why": "Outline icons stay quiet beside text.",
|
|
675
|
+
"because": [
|
|
676
|
+
"human.q1"
|
|
677
|
+
]
|
|
678
|
+
},
|
|
679
|
+
{
|
|
680
|
+
"question": "iconography.values",
|
|
681
|
+
"option": "match-text",
|
|
682
|
+
"why": "Icons match the text size.",
|
|
683
|
+
"because": [
|
|
684
|
+
"human.q1"
|
|
685
|
+
]
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
"question": "iconography.lands",
|
|
689
|
+
"option": "navigation",
|
|
690
|
+
"why": "Icons help most in navigation.",
|
|
691
|
+
"because": [
|
|
692
|
+
"people.q1"
|
|
693
|
+
]
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
"question": "theming.roles",
|
|
697
|
+
"option": "mode",
|
|
698
|
+
"why": "One brand, so only the mode changes.",
|
|
699
|
+
"because": [
|
|
700
|
+
"business.q2"
|
|
701
|
+
]
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"question": "theming.count",
|
|
705
|
+
"option": "two",
|
|
706
|
+
"why": "Light and dark.",
|
|
707
|
+
"because": [
|
|
708
|
+
"theming.values"
|
|
709
|
+
]
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
"question": "theming.definition",
|
|
713
|
+
"option": "single",
|
|
714
|
+
"why": "One publication, one brand.",
|
|
715
|
+
"because": [
|
|
716
|
+
"business.q2"
|
|
717
|
+
]
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
"question": "theming.values",
|
|
721
|
+
"option": "light-dark",
|
|
722
|
+
"why": "Light and dark ship as standard; dark helps night reading.",
|
|
723
|
+
"because": [
|
|
724
|
+
"scenarios.q1"
|
|
725
|
+
]
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
"question": "theming.lands",
|
|
729
|
+
"option": "colors",
|
|
730
|
+
"why": "Only colors change.",
|
|
731
|
+
"because": [
|
|
732
|
+
"theming.roles"
|
|
733
|
+
]
|
|
734
|
+
},
|
|
735
|
+
{
|
|
736
|
+
"question": "accessibility.roles",
|
|
737
|
+
"option": "plus-pressed",
|
|
738
|
+
"why": "Pressed gets its own value for touch.",
|
|
739
|
+
"because": [
|
|
740
|
+
"accessibility.values"
|
|
741
|
+
]
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
"question": "accessibility.count",
|
|
745
|
+
"option": "color-word",
|
|
746
|
+
"why": "Status is rare; color and a word are enough.",
|
|
747
|
+
"because": [
|
|
748
|
+
"people.q2"
|
|
749
|
+
]
|
|
750
|
+
},
|
|
751
|
+
{
|
|
752
|
+
"question": "accessibility.definition",
|
|
753
|
+
"option": "aa",
|
|
754
|
+
"why": "AA contrast, with large text helping further.",
|
|
755
|
+
"because": [
|
|
756
|
+
"people.q2"
|
|
757
|
+
]
|
|
758
|
+
},
|
|
759
|
+
{
|
|
760
|
+
"question": "accessibility.values",
|
|
761
|
+
"option": "touch",
|
|
762
|
+
"why": "Readers are often on phones.",
|
|
763
|
+
"because": [
|
|
764
|
+
"scenarios.q1"
|
|
765
|
+
]
|
|
766
|
+
},
|
|
767
|
+
{
|
|
768
|
+
"question": "accessibility.lands",
|
|
769
|
+
"option": "long-text",
|
|
770
|
+
"why": "Long text needs steady contrast and line length.",
|
|
771
|
+
"because": [
|
|
772
|
+
"content.q1"
|
|
773
|
+
]
|
|
774
|
+
},
|
|
775
|
+
{
|
|
776
|
+
"question": "naming.roles",
|
|
777
|
+
"option": "tokens-keys",
|
|
778
|
+
"why": "Components get their own keys.",
|
|
779
|
+
"because": [
|
|
780
|
+
"team.q2"
|
|
781
|
+
]
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"question": "naming.count",
|
|
785
|
+
"option": "three",
|
|
786
|
+
"why": "Primitives, semantics and component keys.",
|
|
787
|
+
"because": [
|
|
788
|
+
"team.q2"
|
|
789
|
+
]
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"question": "naming.definition",
|
|
793
|
+
"option": "by-role",
|
|
794
|
+
"why": "Role names survive a redesign.",
|
|
795
|
+
"because": [
|
|
796
|
+
"team.q1"
|
|
797
|
+
]
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"question": "naming.values",
|
|
801
|
+
"option": "kebab-paths",
|
|
802
|
+
"why": "Lowercase paths read the same everywhere.",
|
|
803
|
+
"because": [
|
|
804
|
+
"team.q1"
|
|
805
|
+
]
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"question": "naming.lands",
|
|
809
|
+
"option": "keys",
|
|
810
|
+
"why": "A component API keeps changes local.",
|
|
811
|
+
"because": [
|
|
812
|
+
"team.q2"
|
|
813
|
+
]
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
"question": "voice.roles",
|
|
817
|
+
"option": "ui-editorial",
|
|
818
|
+
"why": "Articles are the product; the UI copy must match them.",
|
|
819
|
+
"because": [
|
|
820
|
+
"content.q1"
|
|
821
|
+
]
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
"question": "voice.count",
|
|
825
|
+
"option": "per-moment",
|
|
826
|
+
"why": "Warm by default, calmer for errors.",
|
|
827
|
+
"because": [
|
|
828
|
+
"human.q1"
|
|
829
|
+
]
|
|
830
|
+
},
|
|
831
|
+
{
|
|
832
|
+
"question": "voice.definition",
|
|
833
|
+
"option": "principles",
|
|
834
|
+
"why": "Editors work from principles and examples, not word lists.",
|
|
835
|
+
"because": [
|
|
836
|
+
"team.q1",
|
|
837
|
+
"content.q1"
|
|
838
|
+
]
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"question": "voice.values",
|
|
842
|
+
"option": "conversational",
|
|
843
|
+
"why": "Talk to one reader, like a good editor.",
|
|
844
|
+
"because": [
|
|
845
|
+
"people.q1",
|
|
846
|
+
"brand.q1"
|
|
847
|
+
]
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
"question": "voice.lands",
|
|
851
|
+
"option": "articles",
|
|
852
|
+
"why": "Most words are in articles and guides.",
|
|
853
|
+
"because": [
|
|
854
|
+
"content.q1"
|
|
855
|
+
]
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
"question": "components.roles",
|
|
859
|
+
"option": "core-content",
|
|
860
|
+
"why": "Readers need sections, navigation and little else.",
|
|
861
|
+
"because": [
|
|
862
|
+
"content.q1",
|
|
863
|
+
"tasks.q1"
|
|
864
|
+
]
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
"question": "components.count",
|
|
868
|
+
"option": "few",
|
|
869
|
+
"why": "Actions are rare, so the components today's pages use cover them.",
|
|
870
|
+
"because": [
|
|
871
|
+
"tasks.q2",
|
|
872
|
+
"team.q1"
|
|
873
|
+
]
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
"question": "components.definition",
|
|
877
|
+
"option": "scenario",
|
|
878
|
+
"why": "A component joins only when reading needs it.",
|
|
879
|
+
"because": [
|
|
880
|
+
"scenarios.q2",
|
|
881
|
+
"tasks.q1"
|
|
882
|
+
]
|
|
883
|
+
},
|
|
884
|
+
{
|
|
885
|
+
"question": "components.values",
|
|
886
|
+
"option": "few",
|
|
887
|
+
"why": "Pages stay calm when a component changes only with its meaning.",
|
|
888
|
+
"because": [
|
|
889
|
+
"brand.q2",
|
|
890
|
+
"outcomes.q1"
|
|
891
|
+
]
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
"question": "components.lands",
|
|
895
|
+
"option": "articles",
|
|
896
|
+
"why": "Components sit inside and around articles.",
|
|
897
|
+
"because": [
|
|
898
|
+
"content.q1"
|
|
899
|
+
]
|
|
900
|
+
}
|
|
901
|
+
],
|
|
902
|
+
"usage": [
|
|
903
|
+
{
|
|
904
|
+
"situation": "page-title",
|
|
905
|
+
"use": "type.title",
|
|
906
|
+
"not": "type.display (landing only)",
|
|
907
|
+
"why": "Display is kept for the landing moment; article titles stay calm.",
|
|
908
|
+
"because": [
|
|
909
|
+
"typography.roles"
|
|
910
|
+
]
|
|
911
|
+
},
|
|
912
|
+
{
|
|
913
|
+
"situation": "number-in-table",
|
|
914
|
+
"use": "type.body",
|
|
915
|
+
"not": "A mono font",
|
|
916
|
+
"why": "Tables are rare and read row by row.",
|
|
917
|
+
"because": [
|
|
918
|
+
"tasks.q1"
|
|
919
|
+
]
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
"situation": "paragraph",
|
|
923
|
+
"use": "type.body, at most 65 characters a line",
|
|
924
|
+
"not": "type.caption",
|
|
925
|
+
"why": "A large size and short lines make long text easy on the eyes.",
|
|
926
|
+
"because": [
|
|
927
|
+
"outcomes.q1"
|
|
928
|
+
]
|
|
929
|
+
},
|
|
930
|
+
{
|
|
931
|
+
"situation": "field-label",
|
|
932
|
+
"use": "type.label",
|
|
933
|
+
"not": "type.caption",
|
|
934
|
+
"why": "Caption is too faint for a label people must read.",
|
|
935
|
+
"because": [
|
|
936
|
+
"people.q2"
|
|
937
|
+
]
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
"situation": "selected-row",
|
|
941
|
+
"use": "color.surface.selected",
|
|
942
|
+
"not": "Bold text only",
|
|
943
|
+
"why": "A tint shows the choice clearly on warm paper.",
|
|
944
|
+
"because": [
|
|
945
|
+
"human.q2"
|
|
946
|
+
]
|
|
947
|
+
},
|
|
948
|
+
{
|
|
949
|
+
"situation": "error-message",
|
|
950
|
+
"use": "color.status.danger and a plain sentence",
|
|
951
|
+
"not": "Color alone",
|
|
952
|
+
"why": "The sentence says what to fix; color only draws the eye.",
|
|
953
|
+
"because": [
|
|
954
|
+
"accessibility.count"
|
|
955
|
+
]
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"situation": "link",
|
|
959
|
+
"use": "color.text.link, underlined",
|
|
960
|
+
"not": "Color without underline",
|
|
961
|
+
"why": "Readers expect links to be underlined inside text.",
|
|
962
|
+
"because": [
|
|
963
|
+
"human.q2"
|
|
964
|
+
]
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
"situation": "status-label",
|
|
968
|
+
"use": "Badge pill with a word",
|
|
969
|
+
"not": "An icon alone",
|
|
970
|
+
"why": "Status is rare; a word is clear.",
|
|
971
|
+
"because": [
|
|
972
|
+
"accessibility.count"
|
|
973
|
+
]
|
|
974
|
+
},
|
|
975
|
+
{
|
|
976
|
+
"situation": "related-items",
|
|
977
|
+
"use": "space.gap.default",
|
|
978
|
+
"not": "space.gap.tight",
|
|
979
|
+
"why": "Text needs air even inside a group.",
|
|
980
|
+
"because": [
|
|
981
|
+
"spacing.values"
|
|
982
|
+
]
|
|
983
|
+
},
|
|
984
|
+
{
|
|
985
|
+
"situation": "between-sections",
|
|
986
|
+
"use": "space.gap.section, no line",
|
|
987
|
+
"not": "A divider line",
|
|
988
|
+
"why": "Space alone separates sections; lines add noise.",
|
|
989
|
+
"because": [
|
|
990
|
+
"elevation.definition"
|
|
991
|
+
]
|
|
992
|
+
},
|
|
993
|
+
{
|
|
994
|
+
"situation": "table-row",
|
|
995
|
+
"use": "size.row (comfortable)",
|
|
996
|
+
"not": "A compact row",
|
|
997
|
+
"why": "Rows are read, not scanned.",
|
|
998
|
+
"because": [
|
|
999
|
+
"tasks.q1"
|
|
1000
|
+
]
|
|
1001
|
+
},
|
|
1002
|
+
{
|
|
1003
|
+
"situation": "control-corner",
|
|
1004
|
+
"use": "radius.control (rounded)",
|
|
1005
|
+
"not": "Sharp corners",
|
|
1006
|
+
"why": "Rounded corners feel friendly.",
|
|
1007
|
+
"because": [
|
|
1008
|
+
"shape.values"
|
|
1009
|
+
]
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
"situation": "status-shape",
|
|
1013
|
+
"use": "radius.badge (pill)",
|
|
1014
|
+
"not": "A rectangle",
|
|
1015
|
+
"why": "Pills sit softly next to text.",
|
|
1016
|
+
"because": [
|
|
1017
|
+
"shape.roles"
|
|
1018
|
+
]
|
|
1019
|
+
},
|
|
1020
|
+
{
|
|
1021
|
+
"situation": "card",
|
|
1022
|
+
"use": "A border, no shadow",
|
|
1023
|
+
"not": "A strong shadow",
|
|
1024
|
+
"why": "Cards stay flat on the page; shadows are for floating things.",
|
|
1025
|
+
"because": [
|
|
1026
|
+
"elevation.roles"
|
|
1027
|
+
]
|
|
1028
|
+
},
|
|
1029
|
+
{
|
|
1030
|
+
"situation": "menu-or-dialog",
|
|
1031
|
+
"use": "elevation.overlay and a dimmed page",
|
|
1032
|
+
"not": "No shadow",
|
|
1033
|
+
"why": "The dimmed page focuses the reader on the dialog.",
|
|
1034
|
+
"because": [
|
|
1035
|
+
"elevation.lands"
|
|
1036
|
+
]
|
|
1037
|
+
},
|
|
1038
|
+
{
|
|
1039
|
+
"situation": "hover-feedback",
|
|
1040
|
+
"use": "motion.duration.feedback (moderate)",
|
|
1041
|
+
"not": "A fast flash",
|
|
1042
|
+
"why": "Moderate speed feels calm.",
|
|
1043
|
+
"because": [
|
|
1044
|
+
"motion.values"
|
|
1045
|
+
]
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
"situation": "reduced-motion",
|
|
1049
|
+
"use": "No motion",
|
|
1050
|
+
"not": "Reduced motion",
|
|
1051
|
+
"why": "When people ask for less motion, nothing moves.",
|
|
1052
|
+
"because": [
|
|
1053
|
+
"motion.roles"
|
|
1054
|
+
]
|
|
1055
|
+
},
|
|
1056
|
+
{
|
|
1057
|
+
"situation": "icon-alone",
|
|
1058
|
+
"use": "Not used: always add a word",
|
|
1059
|
+
"not": "An icon button",
|
|
1060
|
+
"why": "Occasional visitors do not know icons.",
|
|
1061
|
+
"because": [
|
|
1062
|
+
"iconography.roles",
|
|
1063
|
+
"human.q2"
|
|
1064
|
+
]
|
|
1065
|
+
},
|
|
1066
|
+
{
|
|
1067
|
+
"situation": "dark-mode",
|
|
1068
|
+
"use": "The dark semantic mode",
|
|
1069
|
+
"not": "Inverting images",
|
|
1070
|
+
"why": "Only semantic colors change; the reading layout stays.",
|
|
1071
|
+
"because": [
|
|
1072
|
+
"theming.values"
|
|
1073
|
+
]
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
"situation": "keyboard-focus",
|
|
1077
|
+
"use": "button/focus-ring at border-width.focus",
|
|
1078
|
+
"not": "Removing the outline",
|
|
1079
|
+
"why": "Keyboard users must always see where they are.",
|
|
1080
|
+
"because": [
|
|
1081
|
+
"people.q2"
|
|
1082
|
+
]
|
|
1083
|
+
},
|
|
1084
|
+
{
|
|
1085
|
+
"situation": "smallest-target",
|
|
1086
|
+
"use": "size.control.default (touch)",
|
|
1087
|
+
"not": "A compact control",
|
|
1088
|
+
"why": "Many readers are on phones.",
|
|
1089
|
+
"because": [
|
|
1090
|
+
"accessibility.values"
|
|
1091
|
+
]
|
|
1092
|
+
},
|
|
1093
|
+
{
|
|
1094
|
+
"situation": "commit-action",
|
|
1095
|
+
"use": "Button primary, one per section",
|
|
1096
|
+
"not": "Two primaries side by side",
|
|
1097
|
+
"why": "One clear action per section.",
|
|
1098
|
+
"because": [
|
|
1099
|
+
"tasks.q2"
|
|
1100
|
+
]
|
|
1101
|
+
},
|
|
1102
|
+
{
|
|
1103
|
+
"situation": "alternative-action",
|
|
1104
|
+
"use": "Button ghost as a text link",
|
|
1105
|
+
"not": "A second boxed button",
|
|
1106
|
+
"why": "A link feels lighter and does not compete.",
|
|
1107
|
+
"because": [
|
|
1108
|
+
"brand.q1"
|
|
1109
|
+
]
|
|
1110
|
+
},
|
|
1111
|
+
{
|
|
1112
|
+
"situation": "destructive-action",
|
|
1113
|
+
"use": "Button secondary with the full verb, then confirm",
|
|
1114
|
+
"not": "Button primary",
|
|
1115
|
+
"why": "Naming the verb and confirming prevents a mistake.",
|
|
1116
|
+
"because": [
|
|
1117
|
+
"outcomes.q2"
|
|
1118
|
+
]
|
|
1119
|
+
},
|
|
1120
|
+
{
|
|
1121
|
+
"situation": "row-action",
|
|
1122
|
+
"use": "Button ghost with a word",
|
|
1123
|
+
"not": "An icon on its own",
|
|
1124
|
+
"why": "Occasional visitors need the word.",
|
|
1125
|
+
"because": [
|
|
1126
|
+
"human.q2"
|
|
1127
|
+
]
|
|
1128
|
+
},
|
|
1129
|
+
{
|
|
1130
|
+
"situation": "missing-token",
|
|
1131
|
+
"use": "The closest semantic token, then ask for a new one",
|
|
1132
|
+
"not": "A raw value in the component",
|
|
1133
|
+
"why": "Raw values break dark mode and the next redesign.",
|
|
1134
|
+
"because": [
|
|
1135
|
+
"naming.lands"
|
|
1136
|
+
]
|
|
1137
|
+
},
|
|
1138
|
+
{
|
|
1139
|
+
"situation": "button-label",
|
|
1140
|
+
"use": "A warm verb a reader would say",
|
|
1141
|
+
"not": "\"Submit\" or \"Click here\"",
|
|
1142
|
+
"why": "Buttons are part of the reading voice.",
|
|
1143
|
+
"because": [
|
|
1144
|
+
"voice.values"
|
|
1145
|
+
],
|
|
1146
|
+
"example": "Subscribe"
|
|
1147
|
+
},
|
|
1148
|
+
{
|
|
1149
|
+
"situation": "error-words",
|
|
1150
|
+
"use": "Calm and helpful. Take the blame, offer the way forward.",
|
|
1151
|
+
"not": "Blaming the reader",
|
|
1152
|
+
"why": "A calm error keeps the reader's trust.",
|
|
1153
|
+
"because": [
|
|
1154
|
+
"voice.count",
|
|
1155
|
+
"voice.values"
|
|
1156
|
+
],
|
|
1157
|
+
"example": "We could not save your email. Check it and try again."
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
"situation": "success-words",
|
|
1161
|
+
"use": "Warm and brief, with what happens next",
|
|
1162
|
+
"not": "A bare \"Done\"",
|
|
1163
|
+
"why": "A warm close invites the reader back.",
|
|
1164
|
+
"because": [
|
|
1165
|
+
"voice.values"
|
|
1166
|
+
],
|
|
1167
|
+
"example": "You're in. The next issue arrives on Friday."
|
|
1168
|
+
},
|
|
1169
|
+
{
|
|
1170
|
+
"situation": "empty-words",
|
|
1171
|
+
"use": "An invitation, not a dead end",
|
|
1172
|
+
"not": "\"No items\"",
|
|
1173
|
+
"why": "An empty list is a chance to show what the product offers.",
|
|
1174
|
+
"because": [
|
|
1175
|
+
"voice.values",
|
|
1176
|
+
"people.q1"
|
|
1177
|
+
],
|
|
1178
|
+
"example": "Nothing saved yet. Tap Save on any article to read it later."
|
|
1179
|
+
},
|
|
1180
|
+
{
|
|
1181
|
+
"situation": "confirm-words",
|
|
1182
|
+
"use": "Gentle and clear about what changes",
|
|
1183
|
+
"not": "Guilt or pressure",
|
|
1184
|
+
"why": "Readers come back when leaving felt respectful.",
|
|
1185
|
+
"because": [
|
|
1186
|
+
"voice.values"
|
|
1187
|
+
],
|
|
1188
|
+
"example": "Unsubscribe from the weekly letter? You can come back any time."
|
|
1189
|
+
},
|
|
1190
|
+
{
|
|
1191
|
+
"situation": "first-visit",
|
|
1192
|
+
"use": "One sentence on what is here and why it is worth reading",
|
|
1193
|
+
"not": "A sign-up wall",
|
|
1194
|
+
"why": "Occasional readers decide in seconds whether to stay.",
|
|
1195
|
+
"because": [
|
|
1196
|
+
"people.q1",
|
|
1197
|
+
"scenarios.q2"
|
|
1198
|
+
],
|
|
1199
|
+
"example": "Practical guides, one a week. Start with the most read."
|
|
1200
|
+
},
|
|
1201
|
+
{
|
|
1202
|
+
"situation": "missing-component",
|
|
1203
|
+
"use": "plain text, a link or a heading",
|
|
1204
|
+
"not": "a new component for one article",
|
|
1205
|
+
"why": "Readers come for the words; extra parts pull the eye away from them.",
|
|
1206
|
+
"because": [
|
|
1207
|
+
"tasks.q1",
|
|
1208
|
+
"outcomes.q1"
|
|
1209
|
+
]
|
|
1210
|
+
}
|
|
1211
|
+
],
|
|
1212
|
+
"tokens": {
|
|
1213
|
+
"primitive": {
|
|
1214
|
+
"color": {
|
|
1215
|
+
"$description": "Colour options: raw hue ramps. Each hue has a light ramp and a dark ramp (the same steps tuned for dark backgrounds). Steps only: each theme decides its own base (@). Themes pick from these; components never read them.",
|
|
1216
|
+
"stone": {
|
|
1217
|
+
"$type": "color",
|
|
1218
|
+
"$description": "The stone hue: a light ramp, a dark ramp and its base value.",
|
|
1219
|
+
"light": {
|
|
1220
|
+
"0": {
|
|
1221
|
+
"$value": "#FFFFFF"
|
|
1222
|
+
},
|
|
1223
|
+
"50": {
|
|
1224
|
+
"$value": "#FFFDF8"
|
|
1225
|
+
},
|
|
1226
|
+
"100": {
|
|
1227
|
+
"$value": "#F6F2EA"
|
|
1228
|
+
},
|
|
1229
|
+
"200": {
|
|
1230
|
+
"$value": "#E4DDD0"
|
|
1231
|
+
},
|
|
1232
|
+
"300": {
|
|
1233
|
+
"$value": "#CFC6B6"
|
|
1234
|
+
},
|
|
1235
|
+
"400": {
|
|
1236
|
+
"$value": "#A39A8B",
|
|
1237
|
+
"$description": "Derived: the OKLab midpoint of 300 and 500. Added so muted text can pass 4.5:1 and stay quieter than secondary."
|
|
1238
|
+
},
|
|
1239
|
+
"500": {
|
|
1240
|
+
"$value": "#7A7062"
|
|
1241
|
+
},
|
|
1242
|
+
"600": {
|
|
1243
|
+
"$value": "#61594D",
|
|
1244
|
+
"$description": "Derived: the OKLab midpoint of 500 and 700. Added so muted text can pass 4.5:1 and stay quieter than secondary."
|
|
1245
|
+
},
|
|
1246
|
+
"700": {
|
|
1247
|
+
"$value": "#4A4339"
|
|
1248
|
+
},
|
|
1249
|
+
"800": {
|
|
1250
|
+
"$value": "#2E2A24"
|
|
1251
|
+
},
|
|
1252
|
+
"900": {
|
|
1253
|
+
"$value": "#1F1B16"
|
|
1254
|
+
},
|
|
1255
|
+
"950": {
|
|
1256
|
+
"$value": "#14110D"
|
|
1257
|
+
}
|
|
1258
|
+
},
|
|
1259
|
+
"dark": {
|
|
1260
|
+
"0": {
|
|
1261
|
+
"$value": "#14110D"
|
|
1262
|
+
},
|
|
1263
|
+
"50": {
|
|
1264
|
+
"$value": "#1F1B16"
|
|
1265
|
+
},
|
|
1266
|
+
"100": {
|
|
1267
|
+
"$value": "#2E2A24"
|
|
1268
|
+
},
|
|
1269
|
+
"200": {
|
|
1270
|
+
"$value": "#4A4339"
|
|
1271
|
+
},
|
|
1272
|
+
"300": {
|
|
1273
|
+
"$value": "#7A7062"
|
|
1274
|
+
},
|
|
1275
|
+
"400": {
|
|
1276
|
+
"$value": "#A39A8B",
|
|
1277
|
+
"$description": "Derived: the OKLab midpoint of 300 and 500. Added so muted text can pass 4.5:1 and stay quieter than secondary."
|
|
1278
|
+
},
|
|
1279
|
+
"500": {
|
|
1280
|
+
"$value": "#CFC6B6"
|
|
1281
|
+
},
|
|
1282
|
+
"600": {
|
|
1283
|
+
"$value": "#D9D1C3",
|
|
1284
|
+
"$description": "Derived: the OKLab midpoint of 500 and 700. Added so muted text can pass 4.5:1 and stay quieter than secondary."
|
|
1285
|
+
},
|
|
1286
|
+
"700": {
|
|
1287
|
+
"$value": "#E4DDD0"
|
|
1288
|
+
},
|
|
1289
|
+
"800": {
|
|
1290
|
+
"$value": "#F6F2EA"
|
|
1291
|
+
},
|
|
1292
|
+
"900": {
|
|
1293
|
+
"$value": "#FFFDF8"
|
|
1294
|
+
},
|
|
1295
|
+
"950": {
|
|
1296
|
+
"$value": "#FFFFFF"
|
|
1297
|
+
}
|
|
1298
|
+
}
|
|
1299
|
+
},
|
|
1300
|
+
"navy": {
|
|
1301
|
+
"$type": "color",
|
|
1302
|
+
"$description": "The navy hue: a light ramp, a dark ramp and its base value.",
|
|
1303
|
+
"light": {
|
|
1304
|
+
"100": {
|
|
1305
|
+
"$value": "#E3EAF3"
|
|
1306
|
+
},
|
|
1307
|
+
"300": {
|
|
1308
|
+
"$value": "#8FA6C4"
|
|
1309
|
+
},
|
|
1310
|
+
"500": {
|
|
1311
|
+
"$value": "#2E5283"
|
|
1312
|
+
},
|
|
1313
|
+
"600": {
|
|
1314
|
+
"$value": "#1E3A5F"
|
|
1315
|
+
},
|
|
1316
|
+
"700": {
|
|
1317
|
+
"$value": "#162C49"
|
|
1318
|
+
},
|
|
1319
|
+
"800": {
|
|
1320
|
+
"$value": "#0F2036"
|
|
1321
|
+
}
|
|
1322
|
+
},
|
|
1323
|
+
"dark": {
|
|
1324
|
+
"100": {
|
|
1325
|
+
"$value": "#0F2036"
|
|
1326
|
+
},
|
|
1327
|
+
"300": {
|
|
1328
|
+
"$value": "#162C49"
|
|
1329
|
+
},
|
|
1330
|
+
"500": {
|
|
1331
|
+
"$value": "#1E3A5F"
|
|
1332
|
+
},
|
|
1333
|
+
"600": {
|
|
1334
|
+
"$value": "#2E5283"
|
|
1335
|
+
},
|
|
1336
|
+
"700": {
|
|
1337
|
+
"$value": "#8FA6C4"
|
|
1338
|
+
},
|
|
1339
|
+
"800": {
|
|
1340
|
+
"$value": "#E3EAF3"
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1343
|
+
},
|
|
1344
|
+
"green": {
|
|
1345
|
+
"$type": "color",
|
|
1346
|
+
"$description": "The green hue: a light ramp, a dark ramp and its base value.",
|
|
1347
|
+
"light": {
|
|
1348
|
+
"100": {
|
|
1349
|
+
"$value": "#E3F4EA"
|
|
1350
|
+
},
|
|
1351
|
+
"300": {
|
|
1352
|
+
"$value": "#5CC283"
|
|
1353
|
+
},
|
|
1354
|
+
"700": {
|
|
1355
|
+
"$value": "#1F7A3A"
|
|
1356
|
+
},
|
|
1357
|
+
"900": {
|
|
1358
|
+
"$value": "#123322"
|
|
1359
|
+
}
|
|
1360
|
+
},
|
|
1361
|
+
"dark": {
|
|
1362
|
+
"100": {
|
|
1363
|
+
"$value": "#123322"
|
|
1364
|
+
},
|
|
1365
|
+
"300": {
|
|
1366
|
+
"$value": "#1F7A3A"
|
|
1367
|
+
},
|
|
1368
|
+
"700": {
|
|
1369
|
+
"$value": "#5CC283"
|
|
1370
|
+
},
|
|
1371
|
+
"900": {
|
|
1372
|
+
"$value": "#E3F4EA"
|
|
1373
|
+
}
|
|
1374
|
+
}
|
|
1375
|
+
},
|
|
1376
|
+
"amber": {
|
|
1377
|
+
"$type": "color",
|
|
1378
|
+
"$description": "The amber hue: a light ramp, a dark ramp and its base value.",
|
|
1379
|
+
"light": {
|
|
1380
|
+
"100": {
|
|
1381
|
+
"$value": "#FFF3D6"
|
|
1382
|
+
},
|
|
1383
|
+
"300": {
|
|
1384
|
+
"$value": "#F2B84B"
|
|
1385
|
+
},
|
|
1386
|
+
"700": {
|
|
1387
|
+
"$value": "#8A5600"
|
|
1388
|
+
},
|
|
1389
|
+
"900": {
|
|
1390
|
+
"$value": "#3A2A05"
|
|
1391
|
+
}
|
|
1392
|
+
},
|
|
1393
|
+
"dark": {
|
|
1394
|
+
"100": {
|
|
1395
|
+
"$value": "#3A2A05"
|
|
1396
|
+
},
|
|
1397
|
+
"300": {
|
|
1398
|
+
"$value": "#8A5600"
|
|
1399
|
+
},
|
|
1400
|
+
"700": {
|
|
1401
|
+
"$value": "#F2B84B"
|
|
1402
|
+
},
|
|
1403
|
+
"900": {
|
|
1404
|
+
"$value": "#FFF3D6"
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1407
|
+
},
|
|
1408
|
+
"red": {
|
|
1409
|
+
"$type": "color",
|
|
1410
|
+
"$description": "The red hue: a light ramp, a dark ramp and its base value.",
|
|
1411
|
+
"light": {
|
|
1412
|
+
"100": {
|
|
1413
|
+
"$value": "#FDE7E7"
|
|
1414
|
+
},
|
|
1415
|
+
"300": {
|
|
1416
|
+
"$value": "#F28B8B"
|
|
1417
|
+
},
|
|
1418
|
+
"700": {
|
|
1419
|
+
"$value": "#C42B2B"
|
|
1420
|
+
},
|
|
1421
|
+
"900": {
|
|
1422
|
+
"$value": "#3D1414"
|
|
1423
|
+
}
|
|
1424
|
+
},
|
|
1425
|
+
"dark": {
|
|
1426
|
+
"100": {
|
|
1427
|
+
"$value": "#3D1414"
|
|
1428
|
+
},
|
|
1429
|
+
"300": {
|
|
1430
|
+
"$value": "#C42B2B"
|
|
1431
|
+
},
|
|
1432
|
+
"700": {
|
|
1433
|
+
"$value": "#F28B8B"
|
|
1434
|
+
},
|
|
1435
|
+
"900": {
|
|
1436
|
+
"$value": "#FDE7E7"
|
|
1437
|
+
}
|
|
1438
|
+
}
|
|
1439
|
+
},
|
|
1440
|
+
"black": {
|
|
1441
|
+
"$type": "color",
|
|
1442
|
+
"$description": "See-through black for scrims behind dialogs, light and dark.",
|
|
1443
|
+
"light": {
|
|
1444
|
+
"scrim": {
|
|
1445
|
+
"$value": "#0000008C"
|
|
1446
|
+
}
|
|
1447
|
+
},
|
|
1448
|
+
"dark": {
|
|
1449
|
+
"scrim": {
|
|
1450
|
+
"$value": "#000000B3"
|
|
1451
|
+
}
|
|
1452
|
+
}
|
|
1453
|
+
},
|
|
1454
|
+
"blue": {
|
|
1455
|
+
"$type": "color",
|
|
1456
|
+
"$description": "Blue ramp for the info status and categories. Same values as the accessible-first blue ramp: borrowed, not invented.",
|
|
1457
|
+
"light": {
|
|
1458
|
+
"100": {
|
|
1459
|
+
"$value": "#E1ECFF"
|
|
1460
|
+
},
|
|
1461
|
+
"300": {
|
|
1462
|
+
"$value": "#8AB4F8"
|
|
1463
|
+
},
|
|
1464
|
+
"500": {
|
|
1465
|
+
"$value": "#1A5DD0"
|
|
1466
|
+
},
|
|
1467
|
+
"600": {
|
|
1468
|
+
"$value": "#0B4FC0"
|
|
1469
|
+
},
|
|
1470
|
+
"700": {
|
|
1471
|
+
"$value": "#083C93"
|
|
1472
|
+
},
|
|
1473
|
+
"800": {
|
|
1474
|
+
"$value": "#062C6E"
|
|
1475
|
+
}
|
|
1476
|
+
},
|
|
1477
|
+
"dark": {
|
|
1478
|
+
"100": {
|
|
1479
|
+
"$value": "#062C6E"
|
|
1480
|
+
},
|
|
1481
|
+
"300": {
|
|
1482
|
+
"$value": "#083C93"
|
|
1483
|
+
},
|
|
1484
|
+
"500": {
|
|
1485
|
+
"$value": "#0B4FC0"
|
|
1486
|
+
},
|
|
1487
|
+
"600": {
|
|
1488
|
+
"$value": "#1A5DD0"
|
|
1489
|
+
},
|
|
1490
|
+
"700": {
|
|
1491
|
+
"$value": "#8AB4F8"
|
|
1492
|
+
},
|
|
1493
|
+
"800": {
|
|
1494
|
+
"$value": "#E1ECFF"
|
|
1495
|
+
}
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1498
|
+
},
|
|
1499
|
+
"space": {
|
|
1500
|
+
"8": {
|
|
1501
|
+
"$type": "dimension",
|
|
1502
|
+
"$value": "0.5rem"
|
|
1503
|
+
},
|
|
1504
|
+
"16": {
|
|
1505
|
+
"$type": "dimension",
|
|
1506
|
+
"$value": "1rem"
|
|
1507
|
+
},
|
|
1508
|
+
"20": {
|
|
1509
|
+
"$type": "dimension",
|
|
1510
|
+
"$value": "1.25rem"
|
|
1511
|
+
},
|
|
1512
|
+
"24": {
|
|
1513
|
+
"$type": "dimension",
|
|
1514
|
+
"$value": "1.5rem"
|
|
1515
|
+
},
|
|
1516
|
+
"32": {
|
|
1517
|
+
"$type": "dimension",
|
|
1518
|
+
"$value": "2rem"
|
|
1519
|
+
},
|
|
1520
|
+
"64": {
|
|
1521
|
+
"$type": "dimension",
|
|
1522
|
+
"$value": "4rem"
|
|
1523
|
+
},
|
|
1524
|
+
"$description": "Space options. Names give the size in pixels at the default text size; values are rem."
|
|
1525
|
+
},
|
|
1526
|
+
"size": {
|
|
1527
|
+
"16": {
|
|
1528
|
+
"$type": "dimension",
|
|
1529
|
+
"$value": "1rem"
|
|
1530
|
+
},
|
|
1531
|
+
"20": {
|
|
1532
|
+
"$type": "dimension",
|
|
1533
|
+
"$value": "1.25rem"
|
|
1534
|
+
},
|
|
1535
|
+
"24": {
|
|
1536
|
+
"$type": "dimension",
|
|
1537
|
+
"$value": "1.5rem"
|
|
1538
|
+
},
|
|
1539
|
+
"40": {
|
|
1540
|
+
"$type": "dimension",
|
|
1541
|
+
"$value": "2.5rem"
|
|
1542
|
+
},
|
|
1543
|
+
"48": {
|
|
1544
|
+
"$type": "dimension",
|
|
1545
|
+
"$value": "3rem"
|
|
1546
|
+
},
|
|
1547
|
+
"$description": "Size options for controls, rows and icons."
|
|
1548
|
+
},
|
|
1549
|
+
"radius": {
|
|
1550
|
+
"0": {
|
|
1551
|
+
"$type": "dimension",
|
|
1552
|
+
"$value": "0rem"
|
|
1553
|
+
},
|
|
1554
|
+
"8": {
|
|
1555
|
+
"$type": "dimension",
|
|
1556
|
+
"$value": "0.5rem"
|
|
1557
|
+
},
|
|
1558
|
+
"12": {
|
|
1559
|
+
"$type": "dimension",
|
|
1560
|
+
"$value": "0.75rem"
|
|
1561
|
+
},
|
|
1562
|
+
"999": {
|
|
1563
|
+
"$type": "dimension",
|
|
1564
|
+
"$value": "9999px"
|
|
1565
|
+
},
|
|
1566
|
+
"$description": "Corner options.",
|
|
1567
|
+
"full": {
|
|
1568
|
+
"$type": "dimension",
|
|
1569
|
+
"$value": "9999px",
|
|
1570
|
+
"$description": "Fully round."
|
|
1571
|
+
}
|
|
1572
|
+
},
|
|
1573
|
+
"border-width": {
|
|
1574
|
+
"1": {
|
|
1575
|
+
"$type": "dimension",
|
|
1576
|
+
"$value": "1px"
|
|
1577
|
+
},
|
|
1578
|
+
"2": {
|
|
1579
|
+
"$type": "dimension",
|
|
1580
|
+
"$value": "2px"
|
|
1581
|
+
},
|
|
1582
|
+
"$description": "Border width options."
|
|
1583
|
+
},
|
|
1584
|
+
"font": {
|
|
1585
|
+
"size": {
|
|
1586
|
+
"14": {
|
|
1587
|
+
"$type": "dimension",
|
|
1588
|
+
"$value": "0.875rem"
|
|
1589
|
+
},
|
|
1590
|
+
"16": {
|
|
1591
|
+
"$type": "dimension",
|
|
1592
|
+
"$value": "1rem"
|
|
1593
|
+
},
|
|
1594
|
+
"18": {
|
|
1595
|
+
"$type": "dimension",
|
|
1596
|
+
"$value": "1.125rem"
|
|
1597
|
+
},
|
|
1598
|
+
"28": {
|
|
1599
|
+
"$type": "dimension",
|
|
1600
|
+
"$value": "1.75rem"
|
|
1601
|
+
},
|
|
1602
|
+
"36": {
|
|
1603
|
+
"$type": "dimension",
|
|
1604
|
+
"$value": "2.25rem"
|
|
1605
|
+
},
|
|
1606
|
+
"44": {
|
|
1607
|
+
"$type": "dimension",
|
|
1608
|
+
"$value": "2.75rem"
|
|
1609
|
+
},
|
|
1610
|
+
"$description": "Type size options. Names are pixels at the default text size; values are rem, so text grows with the user's setting."
|
|
1611
|
+
},
|
|
1612
|
+
"weight": {
|
|
1613
|
+
"400": {
|
|
1614
|
+
"$type": "fontWeight",
|
|
1615
|
+
"$value": 400
|
|
1616
|
+
},
|
|
1617
|
+
"600": {
|
|
1618
|
+
"$type": "fontWeight",
|
|
1619
|
+
"$value": 600
|
|
1620
|
+
}
|
|
1621
|
+
},
|
|
1622
|
+
"line-height": {
|
|
1623
|
+
"1_15": {
|
|
1624
|
+
"$type": "number",
|
|
1625
|
+
"$value": 1.15,
|
|
1626
|
+
"$description": "A ratio of the text size."
|
|
1627
|
+
},
|
|
1628
|
+
"1_3": {
|
|
1629
|
+
"$type": "number",
|
|
1630
|
+
"$value": 1.3,
|
|
1631
|
+
"$description": "A ratio of the text size."
|
|
1632
|
+
},
|
|
1633
|
+
"1_45": {
|
|
1634
|
+
"$type": "number",
|
|
1635
|
+
"$value": 1.45,
|
|
1636
|
+
"$description": "A ratio of the text size."
|
|
1637
|
+
},
|
|
1638
|
+
"1_65": {
|
|
1639
|
+
"$type": "number",
|
|
1640
|
+
"$value": 1.65,
|
|
1641
|
+
"$description": "A ratio of the text size."
|
|
1642
|
+
}
|
|
1643
|
+
},
|
|
1644
|
+
"family": {
|
|
1645
|
+
"$description": "Font family options. Each brand's theme picks its display, body, interface and data fonts from these.",
|
|
1646
|
+
"source-serif-4": {
|
|
1647
|
+
"$type": "fontFamily",
|
|
1648
|
+
"$value": "\"Source Serif 4\", Georgia, serif"
|
|
1649
|
+
},
|
|
1650
|
+
"inter": {
|
|
1651
|
+
"$type": "fontFamily",
|
|
1652
|
+
"$value": "Inter, system-ui, sans-serif"
|
|
1653
|
+
},
|
|
1654
|
+
"ibm-plex-mono": {
|
|
1655
|
+
"$type": "fontFamily",
|
|
1656
|
+
"$value": "\"IBM Plex Mono\", ui-monospace, monospace"
|
|
1657
|
+
}
|
|
1658
|
+
}
|
|
1659
|
+
},
|
|
1660
|
+
"duration": {
|
|
1661
|
+
"fast": {
|
|
1662
|
+
"$type": "duration",
|
|
1663
|
+
"$value": "120ms",
|
|
1664
|
+
"$description": "Fast: the usual convention for feedback, about 120ms."
|
|
1665
|
+
},
|
|
1666
|
+
"moderate": {
|
|
1667
|
+
"$type": "duration",
|
|
1668
|
+
"$value": "200ms",
|
|
1669
|
+
"$description": "Moderate: a calm, easy-to-follow speed, about 200ms."
|
|
1670
|
+
},
|
|
1671
|
+
"relaxed": {
|
|
1672
|
+
"$type": "duration",
|
|
1673
|
+
"$value": "320ms",
|
|
1674
|
+
"$description": "Relaxed: a slower, springy speed for expressive motion, about 320ms."
|
|
1675
|
+
}
|
|
1676
|
+
},
|
|
1677
|
+
"easing": {
|
|
1678
|
+
"standard": {
|
|
1679
|
+
"$type": "cubicBezier",
|
|
1680
|
+
"$value": [
|
|
1681
|
+
0.2,
|
|
1682
|
+
0,
|
|
1683
|
+
0,
|
|
1684
|
+
1
|
|
1685
|
+
],
|
|
1686
|
+
"$description": "The easing for feedback transitions."
|
|
1687
|
+
}
|
|
1688
|
+
},
|
|
1689
|
+
"opacity": {
|
|
1690
|
+
"40": {
|
|
1691
|
+
"$type": "number",
|
|
1692
|
+
"$value": 0.4,
|
|
1693
|
+
"$description": "An opacity option."
|
|
1694
|
+
}
|
|
1695
|
+
},
|
|
1696
|
+
"shadow": {
|
|
1697
|
+
"$description": "Raw shadows. Elevation semantics point at these.",
|
|
1698
|
+
"none": {
|
|
1699
|
+
"$type": "shadow",
|
|
1700
|
+
"$value": {
|
|
1701
|
+
"color": "#00000000",
|
|
1702
|
+
"offsetX": "0px",
|
|
1703
|
+
"offsetY": "0px",
|
|
1704
|
+
"blur": "0px",
|
|
1705
|
+
"spread": "0px"
|
|
1706
|
+
},
|
|
1707
|
+
"$description": "No shadow: flat surfaces."
|
|
1708
|
+
},
|
|
1709
|
+
"overlay": {
|
|
1710
|
+
"$type": "shadow",
|
|
1711
|
+
"$value": {
|
|
1712
|
+
"color": "#1F1B1629",
|
|
1713
|
+
"offsetX": "0px",
|
|
1714
|
+
"offsetY": "12px",
|
|
1715
|
+
"blur": "32px",
|
|
1716
|
+
"spread": "0px"
|
|
1717
|
+
},
|
|
1718
|
+
"$description": "Raw shadow for overlay in light mode."
|
|
1719
|
+
},
|
|
1720
|
+
"overlay-dark": {
|
|
1721
|
+
"$type": "shadow",
|
|
1722
|
+
"$value": {
|
|
1723
|
+
"color": "#00000080",
|
|
1724
|
+
"offsetX": "0px",
|
|
1725
|
+
"offsetY": "12px",
|
|
1726
|
+
"blur": "32px",
|
|
1727
|
+
"spread": "0px"
|
|
1728
|
+
},
|
|
1729
|
+
"$description": "Raw shadow for overlay in dark mode."
|
|
1730
|
+
}
|
|
1731
|
+
}
|
|
1732
|
+
},
|
|
1733
|
+
"brands": {
|
|
1734
|
+
"default": {
|
|
1735
|
+
"label": "Content first",
|
|
1736
|
+
"description": "The single brand: deep navy ink on warm paper, a serif for reading.",
|
|
1737
|
+
"theme": {
|
|
1738
|
+
"$description": "The Content first theme: what each brand-dependent semantic key picks, in light and dark, plus mode-free picks (fonts, corners) in base. Info uses blue, kept apart from the brand colour so it never reads as an action. Categories 1 to 5 are navy, blue, green, amber, stone: distinct hues for tags and chart series, with no meaning. Disabled uses the neutral stone.",
|
|
1739
|
+
"base": {
|
|
1740
|
+
"radius": {
|
|
1741
|
+
"control": {
|
|
1742
|
+
"$type": "dimension",
|
|
1743
|
+
"$value": "{radius.8}"
|
|
1744
|
+
},
|
|
1745
|
+
"badge": {
|
|
1746
|
+
"$type": "dimension",
|
|
1747
|
+
"$value": "{radius.999}"
|
|
1748
|
+
},
|
|
1749
|
+
"container": {
|
|
1750
|
+
"$type": "dimension",
|
|
1751
|
+
"$value": "{radius.12}"
|
|
1752
|
+
}
|
|
1753
|
+
},
|
|
1754
|
+
"type": {
|
|
1755
|
+
"display": {
|
|
1756
|
+
"font-family": {
|
|
1757
|
+
"$type": "fontFamily",
|
|
1758
|
+
"$value": "{font.family.source-serif-4}"
|
|
1759
|
+
}
|
|
1760
|
+
},
|
|
1761
|
+
"title": {
|
|
1762
|
+
"font-family": {
|
|
1763
|
+
"$type": "fontFamily",
|
|
1764
|
+
"$value": "{font.family.source-serif-4}"
|
|
1765
|
+
}
|
|
1766
|
+
},
|
|
1767
|
+
"heading": {
|
|
1768
|
+
"font-family": {
|
|
1769
|
+
"$type": "fontFamily",
|
|
1770
|
+
"$value": "{font.family.source-serif-4}"
|
|
1771
|
+
}
|
|
1772
|
+
},
|
|
1773
|
+
"body": {
|
|
1774
|
+
"font-family": {
|
|
1775
|
+
"$type": "fontFamily",
|
|
1776
|
+
"$value": "{font.family.source-serif-4}"
|
|
1777
|
+
}
|
|
1778
|
+
},
|
|
1779
|
+
"label": {
|
|
1780
|
+
"font-family": {
|
|
1781
|
+
"$type": "fontFamily",
|
|
1782
|
+
"$value": "{font.family.inter}"
|
|
1783
|
+
}
|
|
1784
|
+
},
|
|
1785
|
+
"caption": {
|
|
1786
|
+
"font-family": {
|
|
1787
|
+
"$type": "fontFamily",
|
|
1788
|
+
"$value": "{font.family.inter}"
|
|
1789
|
+
}
|
|
1790
|
+
},
|
|
1791
|
+
"data": {
|
|
1792
|
+
"font-family": {
|
|
1793
|
+
"$type": "fontFamily",
|
|
1794
|
+
"$value": "{font.family.source-serif-4}"
|
|
1795
|
+
}
|
|
1796
|
+
}
|
|
1797
|
+
}
|
|
1798
|
+
},
|
|
1799
|
+
"light": {
|
|
1800
|
+
"color": {
|
|
1801
|
+
"surface": {
|
|
1802
|
+
"canvas": {
|
|
1803
|
+
"$type": "color",
|
|
1804
|
+
"$value": "{color.stone.light.50}"
|
|
1805
|
+
},
|
|
1806
|
+
"default": {
|
|
1807
|
+
"$type": "color",
|
|
1808
|
+
"$value": "{color.stone.light.0}"
|
|
1809
|
+
},
|
|
1810
|
+
"raised": {
|
|
1811
|
+
"$type": "color",
|
|
1812
|
+
"$value": "{color.stone.light.0}"
|
|
1813
|
+
},
|
|
1814
|
+
"sunken": {
|
|
1815
|
+
"$type": "color",
|
|
1816
|
+
"$value": "{color.stone.light.100}"
|
|
1817
|
+
},
|
|
1818
|
+
"selected": {
|
|
1819
|
+
"$type": "color",
|
|
1820
|
+
"$value": "{color.navy.light.100}"
|
|
1821
|
+
},
|
|
1822
|
+
"inverse": {
|
|
1823
|
+
"$type": "color",
|
|
1824
|
+
"$value": "{color.stone.light.900}"
|
|
1825
|
+
},
|
|
1826
|
+
"scrim": {
|
|
1827
|
+
"$type": "color",
|
|
1828
|
+
"$value": "{color.black.light.scrim}"
|
|
1829
|
+
}
|
|
1830
|
+
},
|
|
1831
|
+
"text": {
|
|
1832
|
+
"primary": {
|
|
1833
|
+
"$type": "color",
|
|
1834
|
+
"$value": "{color.stone.light.900}"
|
|
1835
|
+
},
|
|
1836
|
+
"secondary": {
|
|
1837
|
+
"$type": "color",
|
|
1838
|
+
"$value": "{color.stone.light.700}"
|
|
1839
|
+
},
|
|
1840
|
+
"muted": {
|
|
1841
|
+
"$type": "color",
|
|
1842
|
+
"$value": "{color.stone.light.600}"
|
|
1843
|
+
},
|
|
1844
|
+
"inverse": {
|
|
1845
|
+
"$type": "color",
|
|
1846
|
+
"$value": "{color.stone.light.0}"
|
|
1847
|
+
},
|
|
1848
|
+
"on-action": {
|
|
1849
|
+
"$type": "color",
|
|
1850
|
+
"$value": "{color.stone.light.0}"
|
|
1851
|
+
},
|
|
1852
|
+
"link": {
|
|
1853
|
+
"$type": "color",
|
|
1854
|
+
"$value": "{color.navy.light.700}"
|
|
1855
|
+
}
|
|
1856
|
+
},
|
|
1857
|
+
"border": {
|
|
1858
|
+
"default": {
|
|
1859
|
+
"$type": "color",
|
|
1860
|
+
"$value": "{color.stone.light.200}"
|
|
1861
|
+
},
|
|
1862
|
+
"strong": {
|
|
1863
|
+
"$type": "color",
|
|
1864
|
+
"$value": "{color.stone.light.500}"
|
|
1865
|
+
},
|
|
1866
|
+
"focus": {
|
|
1867
|
+
"$type": "color",
|
|
1868
|
+
"$value": "{color.navy.light.600}"
|
|
1869
|
+
}
|
|
1870
|
+
},
|
|
1871
|
+
"action": {
|
|
1872
|
+
"primary": {
|
|
1873
|
+
"@": {
|
|
1874
|
+
"$type": "color",
|
|
1875
|
+
"$value": "{color.navy.light.600}"
|
|
1876
|
+
},
|
|
1877
|
+
"hover": {
|
|
1878
|
+
"$type": "color",
|
|
1879
|
+
"$value": "{color.navy.light.700}"
|
|
1880
|
+
}
|
|
1881
|
+
},
|
|
1882
|
+
"secondary": {
|
|
1883
|
+
"@": {
|
|
1884
|
+
"$type": "color",
|
|
1885
|
+
"$value": "{color.stone.light.0}"
|
|
1886
|
+
},
|
|
1887
|
+
"hover": {
|
|
1888
|
+
"$type": "color",
|
|
1889
|
+
"$value": "{color.stone.light.100}"
|
|
1890
|
+
}
|
|
1891
|
+
}
|
|
1892
|
+
},
|
|
1893
|
+
"status": {
|
|
1894
|
+
"info": {
|
|
1895
|
+
"@": {
|
|
1896
|
+
"$type": "color",
|
|
1897
|
+
"$value": "{color.blue.light.700}"
|
|
1898
|
+
},
|
|
1899
|
+
"subtle": {
|
|
1900
|
+
"$type": "color",
|
|
1901
|
+
"$value": "{color.blue.light.100}"
|
|
1902
|
+
}
|
|
1903
|
+
},
|
|
1904
|
+
"success": {
|
|
1905
|
+
"@": {
|
|
1906
|
+
"$type": "color",
|
|
1907
|
+
"$value": "{color.green.light.700}"
|
|
1908
|
+
},
|
|
1909
|
+
"subtle": {
|
|
1910
|
+
"$type": "color",
|
|
1911
|
+
"$value": "{color.green.light.100}"
|
|
1912
|
+
}
|
|
1913
|
+
},
|
|
1914
|
+
"warning": {
|
|
1915
|
+
"@": {
|
|
1916
|
+
"$type": "color",
|
|
1917
|
+
"$value": "{color.amber.light.700}"
|
|
1918
|
+
},
|
|
1919
|
+
"subtle": {
|
|
1920
|
+
"$type": "color",
|
|
1921
|
+
"$value": "{color.amber.light.100}"
|
|
1922
|
+
}
|
|
1923
|
+
},
|
|
1924
|
+
"danger": {
|
|
1925
|
+
"@": {
|
|
1926
|
+
"$type": "color",
|
|
1927
|
+
"$value": "{color.red.light.700}"
|
|
1928
|
+
},
|
|
1929
|
+
"subtle": {
|
|
1930
|
+
"$type": "color",
|
|
1931
|
+
"$value": "{color.red.light.100}"
|
|
1932
|
+
}
|
|
1933
|
+
}
|
|
1934
|
+
},
|
|
1935
|
+
"category": {
|
|
1936
|
+
"1": {
|
|
1937
|
+
"@": {
|
|
1938
|
+
"$type": "color",
|
|
1939
|
+
"$value": "{color.navy.light.600}"
|
|
1940
|
+
},
|
|
1941
|
+
"subtle": {
|
|
1942
|
+
"$type": "color",
|
|
1943
|
+
"$value": "{color.navy.light.100}"
|
|
1944
|
+
}
|
|
1945
|
+
},
|
|
1946
|
+
"2": {
|
|
1947
|
+
"@": {
|
|
1948
|
+
"$type": "color",
|
|
1949
|
+
"$value": "{color.blue.light.600}"
|
|
1950
|
+
},
|
|
1951
|
+
"subtle": {
|
|
1952
|
+
"$type": "color",
|
|
1953
|
+
"$value": "{color.blue.light.100}"
|
|
1954
|
+
}
|
|
1955
|
+
},
|
|
1956
|
+
"3": {
|
|
1957
|
+
"@": {
|
|
1958
|
+
"$type": "color",
|
|
1959
|
+
"$value": "{color.green.light.700}"
|
|
1960
|
+
},
|
|
1961
|
+
"subtle": {
|
|
1962
|
+
"$type": "color",
|
|
1963
|
+
"$value": "{color.green.light.100}"
|
|
1964
|
+
}
|
|
1965
|
+
},
|
|
1966
|
+
"4": {
|
|
1967
|
+
"@": {
|
|
1968
|
+
"$type": "color",
|
|
1969
|
+
"$value": "{color.amber.light.700}"
|
|
1970
|
+
},
|
|
1971
|
+
"subtle": {
|
|
1972
|
+
"$type": "color",
|
|
1973
|
+
"$value": "{color.amber.light.100}"
|
|
1974
|
+
}
|
|
1975
|
+
},
|
|
1976
|
+
"5": {
|
|
1977
|
+
"@": {
|
|
1978
|
+
"$type": "color",
|
|
1979
|
+
"$value": "{color.stone.light.500}"
|
|
1980
|
+
},
|
|
1981
|
+
"subtle": {
|
|
1982
|
+
"$type": "color",
|
|
1983
|
+
"$value": "{color.stone.light.100}"
|
|
1984
|
+
}
|
|
1985
|
+
}
|
|
1986
|
+
},
|
|
1987
|
+
"disabled": {
|
|
1988
|
+
"text": {
|
|
1989
|
+
"$type": "color",
|
|
1990
|
+
"$value": "{color.stone.light.500}"
|
|
1991
|
+
},
|
|
1992
|
+
"surface": {
|
|
1993
|
+
"$type": "color",
|
|
1994
|
+
"$value": "{color.stone.light.100}"
|
|
1995
|
+
},
|
|
1996
|
+
"border": {
|
|
1997
|
+
"$type": "color",
|
|
1998
|
+
"$value": "{color.stone.light.200}"
|
|
1999
|
+
}
|
|
2000
|
+
}
|
|
2001
|
+
},
|
|
2002
|
+
"elevation": {
|
|
2003
|
+
"card": {
|
|
2004
|
+
"$type": "shadow",
|
|
2005
|
+
"$value": "{shadow.none}"
|
|
2006
|
+
},
|
|
2007
|
+
"overlay": {
|
|
2008
|
+
"$type": "shadow",
|
|
2009
|
+
"$value": "{shadow.overlay}"
|
|
2010
|
+
}
|
|
2011
|
+
}
|
|
2012
|
+
},
|
|
2013
|
+
"dark": {
|
|
2014
|
+
"color": {
|
|
2015
|
+
"surface": {
|
|
2016
|
+
"canvas": {
|
|
2017
|
+
"$type": "color",
|
|
2018
|
+
"$value": "{color.stone.dark.0}"
|
|
2019
|
+
},
|
|
2020
|
+
"default": {
|
|
2021
|
+
"$type": "color",
|
|
2022
|
+
"$value": "{color.stone.dark.50}"
|
|
2023
|
+
},
|
|
2024
|
+
"raised": {
|
|
2025
|
+
"$type": "color",
|
|
2026
|
+
"$value": "{color.stone.dark.100}"
|
|
2027
|
+
},
|
|
2028
|
+
"sunken": {
|
|
2029
|
+
"$type": "color",
|
|
2030
|
+
"$value": "{color.stone.dark.100}"
|
|
2031
|
+
},
|
|
2032
|
+
"selected": {
|
|
2033
|
+
"$type": "color",
|
|
2034
|
+
"$value": "{color.navy.dark.100}"
|
|
2035
|
+
},
|
|
2036
|
+
"inverse": {
|
|
2037
|
+
"$type": "color",
|
|
2038
|
+
"$value": "{color.stone.dark.900}"
|
|
2039
|
+
},
|
|
2040
|
+
"scrim": {
|
|
2041
|
+
"$type": "color",
|
|
2042
|
+
"$value": "{color.black.dark.scrim}"
|
|
2043
|
+
}
|
|
2044
|
+
},
|
|
2045
|
+
"text": {
|
|
2046
|
+
"primary": {
|
|
2047
|
+
"$type": "color",
|
|
2048
|
+
"$value": "{color.stone.dark.900}"
|
|
2049
|
+
},
|
|
2050
|
+
"secondary": {
|
|
2051
|
+
"$type": "color",
|
|
2052
|
+
"$value": "{color.stone.dark.500}"
|
|
2053
|
+
},
|
|
2054
|
+
"muted": {
|
|
2055
|
+
"$type": "color",
|
|
2056
|
+
"$value": "{color.stone.dark.400}"
|
|
2057
|
+
},
|
|
2058
|
+
"inverse": {
|
|
2059
|
+
"$type": "color",
|
|
2060
|
+
"$value": "{color.stone.dark.50}"
|
|
2061
|
+
},
|
|
2062
|
+
"on-action": {
|
|
2063
|
+
"$type": "color",
|
|
2064
|
+
"$value": "{color.stone.dark.0}"
|
|
2065
|
+
},
|
|
2066
|
+
"link": {
|
|
2067
|
+
"$type": "color",
|
|
2068
|
+
"$value": "{color.navy.dark.700}"
|
|
2069
|
+
}
|
|
2070
|
+
},
|
|
2071
|
+
"border": {
|
|
2072
|
+
"default": {
|
|
2073
|
+
"$type": "color",
|
|
2074
|
+
"$value": "{color.stone.dark.100}"
|
|
2075
|
+
},
|
|
2076
|
+
"strong": {
|
|
2077
|
+
"$type": "color",
|
|
2078
|
+
"$value": "{color.stone.dark.300}"
|
|
2079
|
+
},
|
|
2080
|
+
"focus": {
|
|
2081
|
+
"$type": "color",
|
|
2082
|
+
"$value": "{color.navy.dark.700}"
|
|
2083
|
+
}
|
|
2084
|
+
},
|
|
2085
|
+
"action": {
|
|
2086
|
+
"primary": {
|
|
2087
|
+
"@": {
|
|
2088
|
+
"$type": "color",
|
|
2089
|
+
"$value": "{color.navy.dark.700}"
|
|
2090
|
+
},
|
|
2091
|
+
"hover": {
|
|
2092
|
+
"$type": "color",
|
|
2093
|
+
"$value": "{color.navy.dark.800}"
|
|
2094
|
+
}
|
|
2095
|
+
},
|
|
2096
|
+
"secondary": {
|
|
2097
|
+
"@": {
|
|
2098
|
+
"$type": "color",
|
|
2099
|
+
"$value": "{color.stone.dark.50}"
|
|
2100
|
+
},
|
|
2101
|
+
"hover": {
|
|
2102
|
+
"$type": "color",
|
|
2103
|
+
"$value": "{color.stone.dark.100}"
|
|
2104
|
+
}
|
|
2105
|
+
}
|
|
2106
|
+
},
|
|
2107
|
+
"status": {
|
|
2108
|
+
"info": {
|
|
2109
|
+
"@": {
|
|
2110
|
+
"$type": "color",
|
|
2111
|
+
"$value": "{color.blue.dark.700}"
|
|
2112
|
+
},
|
|
2113
|
+
"subtle": {
|
|
2114
|
+
"$type": "color",
|
|
2115
|
+
"$value": "{color.blue.dark.100}"
|
|
2116
|
+
}
|
|
2117
|
+
},
|
|
2118
|
+
"success": {
|
|
2119
|
+
"@": {
|
|
2120
|
+
"$type": "color",
|
|
2121
|
+
"$value": "{color.green.dark.700}"
|
|
2122
|
+
},
|
|
2123
|
+
"subtle": {
|
|
2124
|
+
"$type": "color",
|
|
2125
|
+
"$value": "{color.green.dark.100}"
|
|
2126
|
+
}
|
|
2127
|
+
},
|
|
2128
|
+
"warning": {
|
|
2129
|
+
"@": {
|
|
2130
|
+
"$type": "color",
|
|
2131
|
+
"$value": "{color.amber.dark.700}"
|
|
2132
|
+
},
|
|
2133
|
+
"subtle": {
|
|
2134
|
+
"$type": "color",
|
|
2135
|
+
"$value": "{color.amber.dark.100}"
|
|
2136
|
+
}
|
|
2137
|
+
},
|
|
2138
|
+
"danger": {
|
|
2139
|
+
"@": {
|
|
2140
|
+
"$type": "color",
|
|
2141
|
+
"$value": "{color.red.dark.700}"
|
|
2142
|
+
},
|
|
2143
|
+
"subtle": {
|
|
2144
|
+
"$type": "color",
|
|
2145
|
+
"$value": "{color.red.dark.100}"
|
|
2146
|
+
}
|
|
2147
|
+
}
|
|
2148
|
+
},
|
|
2149
|
+
"category": {
|
|
2150
|
+
"1": {
|
|
2151
|
+
"@": {
|
|
2152
|
+
"$type": "color",
|
|
2153
|
+
"$value": "{color.navy.dark.700}"
|
|
2154
|
+
},
|
|
2155
|
+
"subtle": {
|
|
2156
|
+
"$type": "color",
|
|
2157
|
+
"$value": "{color.navy.dark.100}"
|
|
2158
|
+
}
|
|
2159
|
+
},
|
|
2160
|
+
"2": {
|
|
2161
|
+
"@": {
|
|
2162
|
+
"$type": "color",
|
|
2163
|
+
"$value": "{color.blue.dark.700}"
|
|
2164
|
+
},
|
|
2165
|
+
"subtle": {
|
|
2166
|
+
"$type": "color",
|
|
2167
|
+
"$value": "{color.blue.dark.100}"
|
|
2168
|
+
}
|
|
2169
|
+
},
|
|
2170
|
+
"3": {
|
|
2171
|
+
"@": {
|
|
2172
|
+
"$type": "color",
|
|
2173
|
+
"$value": "{color.green.dark.700}"
|
|
2174
|
+
},
|
|
2175
|
+
"subtle": {
|
|
2176
|
+
"$type": "color",
|
|
2177
|
+
"$value": "{color.green.dark.100}"
|
|
2178
|
+
}
|
|
2179
|
+
},
|
|
2180
|
+
"4": {
|
|
2181
|
+
"@": {
|
|
2182
|
+
"$type": "color",
|
|
2183
|
+
"$value": "{color.amber.dark.700}"
|
|
2184
|
+
},
|
|
2185
|
+
"subtle": {
|
|
2186
|
+
"$type": "color",
|
|
2187
|
+
"$value": "{color.amber.dark.100}"
|
|
2188
|
+
}
|
|
2189
|
+
},
|
|
2190
|
+
"5": {
|
|
2191
|
+
"@": {
|
|
2192
|
+
"$type": "color",
|
|
2193
|
+
"$value": "{color.stone.dark.700}"
|
|
2194
|
+
},
|
|
2195
|
+
"subtle": {
|
|
2196
|
+
"$type": "color",
|
|
2197
|
+
"$value": "{color.stone.dark.100}"
|
|
2198
|
+
}
|
|
2199
|
+
}
|
|
2200
|
+
},
|
|
2201
|
+
"disabled": {
|
|
2202
|
+
"text": {
|
|
2203
|
+
"$type": "color",
|
|
2204
|
+
"$value": "{color.stone.dark.500}"
|
|
2205
|
+
},
|
|
2206
|
+
"surface": {
|
|
2207
|
+
"$type": "color",
|
|
2208
|
+
"$value": "{color.stone.dark.100}"
|
|
2209
|
+
},
|
|
2210
|
+
"border": {
|
|
2211
|
+
"$type": "color",
|
|
2212
|
+
"$value": "{color.stone.dark.200}"
|
|
2213
|
+
}
|
|
2214
|
+
}
|
|
2215
|
+
},
|
|
2216
|
+
"elevation": {
|
|
2217
|
+
"card": {
|
|
2218
|
+
"$type": "shadow",
|
|
2219
|
+
"$value": "{shadow.none}"
|
|
2220
|
+
},
|
|
2221
|
+
"overlay": {
|
|
2222
|
+
"$type": "shadow",
|
|
2223
|
+
"$value": "{shadow.overlay-dark}"
|
|
2224
|
+
}
|
|
2225
|
+
}
|
|
2226
|
+
}
|
|
2227
|
+
}
|
|
2228
|
+
}
|
|
2229
|
+
},
|
|
2230
|
+
"semantic": {
|
|
2231
|
+
"space": {
|
|
2232
|
+
"gap": {
|
|
2233
|
+
"tight": {
|
|
2234
|
+
"$type": "dimension",
|
|
2235
|
+
"$value": "{space.8}",
|
|
2236
|
+
"$description": "Between things that belong together."
|
|
2237
|
+
},
|
|
2238
|
+
"default": {
|
|
2239
|
+
"$type": "dimension",
|
|
2240
|
+
"$value": "{space.16}",
|
|
2241
|
+
"$description": "Between items in one group."
|
|
2242
|
+
},
|
|
2243
|
+
"group": {
|
|
2244
|
+
"$type": "dimension",
|
|
2245
|
+
"$value": "{space.32}",
|
|
2246
|
+
"$description": "Between groups."
|
|
2247
|
+
},
|
|
2248
|
+
"section": {
|
|
2249
|
+
"$type": "dimension",
|
|
2250
|
+
"$value": "{space.64}",
|
|
2251
|
+
"$description": "Between page sections."
|
|
2252
|
+
}
|
|
2253
|
+
},
|
|
2254
|
+
"inset": {
|
|
2255
|
+
"control-x": {
|
|
2256
|
+
"$type": "dimension",
|
|
2257
|
+
"$value": "{space.20}",
|
|
2258
|
+
"$description": "Horizontal padding inside controls."
|
|
2259
|
+
},
|
|
2260
|
+
"container": {
|
|
2261
|
+
"$type": "dimension",
|
|
2262
|
+
"$value": "{space.24}",
|
|
2263
|
+
"$description": "Padding inside cards and dialogs."
|
|
2264
|
+
},
|
|
2265
|
+
"cell-x": {
|
|
2266
|
+
"$type": "dimension",
|
|
2267
|
+
"$value": "{space.16}",
|
|
2268
|
+
"$description": "Horizontal padding inside table cells."
|
|
2269
|
+
}
|
|
2270
|
+
}
|
|
2271
|
+
},
|
|
2272
|
+
"size": {
|
|
2273
|
+
"control": {
|
|
2274
|
+
"default": {
|
|
2275
|
+
"$type": "dimension",
|
|
2276
|
+
"$value": "{size.48}",
|
|
2277
|
+
"$description": "Height of buttons and inputs, and the smallest target."
|
|
2278
|
+
},
|
|
2279
|
+
"compact": {
|
|
2280
|
+
"$type": "dimension",
|
|
2281
|
+
"$value": "{size.40}",
|
|
2282
|
+
"$description": "Height of compact controls."
|
|
2283
|
+
}
|
|
2284
|
+
},
|
|
2285
|
+
"row": {
|
|
2286
|
+
"$type": "dimension",
|
|
2287
|
+
"$value": "{size.48}",
|
|
2288
|
+
"$description": "Height of one table row."
|
|
2289
|
+
},
|
|
2290
|
+
"icon": {
|
|
2291
|
+
"$type": "dimension",
|
|
2292
|
+
"$value": "{size.16}",
|
|
2293
|
+
"$description": "Icon size next to text."
|
|
2294
|
+
}
|
|
2295
|
+
},
|
|
2296
|
+
"radius": {
|
|
2297
|
+
"control": {
|
|
2298
|
+
"$type": "dimension",
|
|
2299
|
+
"$value": "{theme.radius.control}",
|
|
2300
|
+
"$description": "Corner of buttons and inputs."
|
|
2301
|
+
},
|
|
2302
|
+
"badge": {
|
|
2303
|
+
"$type": "dimension",
|
|
2304
|
+
"$value": "{theme.radius.badge}",
|
|
2305
|
+
"$description": "Corner of badges and checkboxes."
|
|
2306
|
+
},
|
|
2307
|
+
"container": {
|
|
2308
|
+
"$type": "dimension",
|
|
2309
|
+
"$value": "{theme.radius.container}",
|
|
2310
|
+
"$description": "Corner of cards, menus and dialogs."
|
|
2311
|
+
},
|
|
2312
|
+
"round": {
|
|
2313
|
+
"$type": "dimension",
|
|
2314
|
+
"$value": "{radius.full}",
|
|
2315
|
+
"$description": "Fully round: avatars and dots."
|
|
2316
|
+
}
|
|
2317
|
+
},
|
|
2318
|
+
"border-width": {
|
|
2319
|
+
"default": {
|
|
2320
|
+
"$type": "dimension",
|
|
2321
|
+
"$value": "{border-width.1}",
|
|
2322
|
+
"$description": "Every border."
|
|
2323
|
+
},
|
|
2324
|
+
"focus": {
|
|
2325
|
+
"$type": "dimension",
|
|
2326
|
+
"$value": "{border-width.2}",
|
|
2327
|
+
"$description": "The focus ring."
|
|
2328
|
+
}
|
|
2329
|
+
},
|
|
2330
|
+
"type": {
|
|
2331
|
+
"display": {
|
|
2332
|
+
"font-family": {
|
|
2333
|
+
"$type": "fontFamily",
|
|
2334
|
+
"$value": "{theme.type.display.font-family}"
|
|
2335
|
+
},
|
|
2336
|
+
"font-size": {
|
|
2337
|
+
"$type": "dimension",
|
|
2338
|
+
"$value": "{font.size.44}"
|
|
2339
|
+
},
|
|
2340
|
+
"line-height": {
|
|
2341
|
+
"$type": "number",
|
|
2342
|
+
"$value": "{font.line-height.1_15}"
|
|
2343
|
+
},
|
|
2344
|
+
"font-weight": {
|
|
2345
|
+
"$type": "fontWeight",
|
|
2346
|
+
"$value": "{font.weight.600}"
|
|
2347
|
+
},
|
|
2348
|
+
"$description": "The display text role."
|
|
2349
|
+
},
|
|
2350
|
+
"title": {
|
|
2351
|
+
"font-family": {
|
|
2352
|
+
"$type": "fontFamily",
|
|
2353
|
+
"$value": "{theme.type.title.font-family}"
|
|
2354
|
+
},
|
|
2355
|
+
"font-size": {
|
|
2356
|
+
"$type": "dimension",
|
|
2357
|
+
"$value": "{font.size.36}"
|
|
2358
|
+
},
|
|
2359
|
+
"line-height": {
|
|
2360
|
+
"$type": "number",
|
|
2361
|
+
"$value": "{font.line-height.1_15}"
|
|
2362
|
+
},
|
|
2363
|
+
"font-weight": {
|
|
2364
|
+
"$type": "fontWeight",
|
|
2365
|
+
"$value": "{font.weight.600}"
|
|
2366
|
+
},
|
|
2367
|
+
"$description": "The title text role."
|
|
2368
|
+
},
|
|
2369
|
+
"heading": {
|
|
2370
|
+
"font-family": {
|
|
2371
|
+
"$type": "fontFamily",
|
|
2372
|
+
"$value": "{theme.type.heading.font-family}"
|
|
2373
|
+
},
|
|
2374
|
+
"font-size": {
|
|
2375
|
+
"$type": "dimension",
|
|
2376
|
+
"$value": "{font.size.28}"
|
|
2377
|
+
},
|
|
2378
|
+
"line-height": {
|
|
2379
|
+
"$type": "number",
|
|
2380
|
+
"$value": "{font.line-height.1_3}"
|
|
2381
|
+
},
|
|
2382
|
+
"font-weight": {
|
|
2383
|
+
"$type": "fontWeight",
|
|
2384
|
+
"$value": "{font.weight.600}"
|
|
2385
|
+
},
|
|
2386
|
+
"$description": "The heading text role."
|
|
2387
|
+
},
|
|
2388
|
+
"body": {
|
|
2389
|
+
"font-family": {
|
|
2390
|
+
"$type": "fontFamily",
|
|
2391
|
+
"$value": "{theme.type.body.font-family}"
|
|
2392
|
+
},
|
|
2393
|
+
"font-size": {
|
|
2394
|
+
"$type": "dimension",
|
|
2395
|
+
"$value": "{font.size.18}"
|
|
2396
|
+
},
|
|
2397
|
+
"line-height": {
|
|
2398
|
+
"$type": "number",
|
|
2399
|
+
"$value": "{font.line-height.1_65}"
|
|
2400
|
+
},
|
|
2401
|
+
"font-weight": {
|
|
2402
|
+
"$type": "fontWeight",
|
|
2403
|
+
"$value": "{font.weight.400}"
|
|
2404
|
+
},
|
|
2405
|
+
"$description": "The body text role."
|
|
2406
|
+
},
|
|
2407
|
+
"label": {
|
|
2408
|
+
"font-family": {
|
|
2409
|
+
"$type": "fontFamily",
|
|
2410
|
+
"$value": "{theme.type.label.font-family}"
|
|
2411
|
+
},
|
|
2412
|
+
"font-size": {
|
|
2413
|
+
"$type": "dimension",
|
|
2414
|
+
"$value": "{font.size.16}"
|
|
2415
|
+
},
|
|
2416
|
+
"line-height": {
|
|
2417
|
+
"$type": "number",
|
|
2418
|
+
"$value": "{font.line-height.1_3}"
|
|
2419
|
+
},
|
|
2420
|
+
"font-weight": {
|
|
2421
|
+
"$type": "fontWeight",
|
|
2422
|
+
"$value": "{font.weight.600}"
|
|
2423
|
+
},
|
|
2424
|
+
"$description": "The label text role."
|
|
2425
|
+
},
|
|
2426
|
+
"caption": {
|
|
2427
|
+
"font-family": {
|
|
2428
|
+
"$type": "fontFamily",
|
|
2429
|
+
"$value": "{theme.type.caption.font-family}"
|
|
2430
|
+
},
|
|
2431
|
+
"font-size": {
|
|
2432
|
+
"$type": "dimension",
|
|
2433
|
+
"$value": "{font.size.14}"
|
|
2434
|
+
},
|
|
2435
|
+
"line-height": {
|
|
2436
|
+
"$type": "number",
|
|
2437
|
+
"$value": "{font.line-height.1_45}"
|
|
2438
|
+
},
|
|
2439
|
+
"font-weight": {
|
|
2440
|
+
"$type": "fontWeight",
|
|
2441
|
+
"$value": "{font.weight.400}"
|
|
2442
|
+
},
|
|
2443
|
+
"$description": "The caption text role."
|
|
2444
|
+
},
|
|
2445
|
+
"data": {
|
|
2446
|
+
"font-family": {
|
|
2447
|
+
"$type": "fontFamily",
|
|
2448
|
+
"$value": "{theme.type.data.font-family}"
|
|
2449
|
+
},
|
|
2450
|
+
"font-size": {
|
|
2451
|
+
"$type": "dimension",
|
|
2452
|
+
"$value": "{font.size.18}"
|
|
2453
|
+
},
|
|
2454
|
+
"line-height": {
|
|
2455
|
+
"$type": "number",
|
|
2456
|
+
"$value": "{font.line-height.1_65}"
|
|
2457
|
+
},
|
|
2458
|
+
"font-weight": {
|
|
2459
|
+
"$type": "fontWeight",
|
|
2460
|
+
"$value": "{font.weight.400}"
|
|
2461
|
+
},
|
|
2462
|
+
"$description": "The data text role."
|
|
2463
|
+
}
|
|
2464
|
+
},
|
|
2465
|
+
"motion": {
|
|
2466
|
+
"duration": {
|
|
2467
|
+
"feedback": {
|
|
2468
|
+
"$type": "duration",
|
|
2469
|
+
"$value": "{duration.moderate}",
|
|
2470
|
+
"$description": "Feedback speed: moderate."
|
|
2471
|
+
}
|
|
2472
|
+
},
|
|
2473
|
+
"easing": {
|
|
2474
|
+
"standard": {
|
|
2475
|
+
"$type": "cubicBezier",
|
|
2476
|
+
"$value": "{easing.standard}",
|
|
2477
|
+
"$description": "Feedback easing."
|
|
2478
|
+
}
|
|
2479
|
+
}
|
|
2480
|
+
},
|
|
2481
|
+
"opacity": {
|
|
2482
|
+
"disabled": {
|
|
2483
|
+
"$type": "number",
|
|
2484
|
+
"$value": "{opacity.40}",
|
|
2485
|
+
"$description": "Disabled controls."
|
|
2486
|
+
}
|
|
2487
|
+
},
|
|
2488
|
+
"color": {
|
|
2489
|
+
"surface": {
|
|
2490
|
+
"canvas": {
|
|
2491
|
+
"$type": "color",
|
|
2492
|
+
"$description": "The page background.",
|
|
2493
|
+
"$value": "{theme.color.surface.canvas}"
|
|
2494
|
+
},
|
|
2495
|
+
"default": {
|
|
2496
|
+
"$type": "color",
|
|
2497
|
+
"$description": "Cards, inputs and tables.",
|
|
2498
|
+
"$value": "{theme.color.surface.default}"
|
|
2499
|
+
},
|
|
2500
|
+
"raised": {
|
|
2501
|
+
"$type": "color",
|
|
2502
|
+
"$description": "Menus, dialogs, toasts.",
|
|
2503
|
+
"$value": "{theme.color.surface.raised}"
|
|
2504
|
+
},
|
|
2505
|
+
"sunken": {
|
|
2506
|
+
"$type": "color",
|
|
2507
|
+
"$description": "Table headers and wells.",
|
|
2508
|
+
"$value": "{theme.color.surface.sunken}"
|
|
2509
|
+
},
|
|
2510
|
+
"selected": {
|
|
2511
|
+
"$type": "color",
|
|
2512
|
+
"$description": "A selected row or item.",
|
|
2513
|
+
"$value": "{theme.color.surface.selected}"
|
|
2514
|
+
},
|
|
2515
|
+
"inverse": {
|
|
2516
|
+
"$type": "color",
|
|
2517
|
+
"$description": "Tooltips.",
|
|
2518
|
+
"$value": "{theme.color.surface.inverse}"
|
|
2519
|
+
},
|
|
2520
|
+
"scrim": {
|
|
2521
|
+
"$type": "color",
|
|
2522
|
+
"$description": "Dims the page behind a dialog.",
|
|
2523
|
+
"$value": "{theme.color.surface.scrim}"
|
|
2524
|
+
}
|
|
2525
|
+
},
|
|
2526
|
+
"text": {
|
|
2527
|
+
"primary": {
|
|
2528
|
+
"$type": "color",
|
|
2529
|
+
"$description": "Main text.",
|
|
2530
|
+
"$value": "{theme.color.text.primary}"
|
|
2531
|
+
},
|
|
2532
|
+
"secondary": {
|
|
2533
|
+
"$type": "color",
|
|
2534
|
+
"$description": "Supporting text; passes AA.",
|
|
2535
|
+
"$value": "{theme.color.text.secondary}"
|
|
2536
|
+
},
|
|
2537
|
+
"muted": {
|
|
2538
|
+
"$type": "color",
|
|
2539
|
+
"$description": "Hints and placeholders.",
|
|
2540
|
+
"$value": "{theme.color.text.muted}"
|
|
2541
|
+
},
|
|
2542
|
+
"inverse": {
|
|
2543
|
+
"$type": "color",
|
|
2544
|
+
"$description": "Text on inverse surfaces.",
|
|
2545
|
+
"$value": "{theme.color.text.inverse}"
|
|
2546
|
+
},
|
|
2547
|
+
"on-action": {
|
|
2548
|
+
"$type": "color",
|
|
2549
|
+
"$description": "Text on the primary action.",
|
|
2550
|
+
"$value": "{theme.color.text.on-action}"
|
|
2551
|
+
},
|
|
2552
|
+
"link": {
|
|
2553
|
+
"$type": "color",
|
|
2554
|
+
"$description": "Links.",
|
|
2555
|
+
"$value": "{theme.color.text.link}"
|
|
2556
|
+
}
|
|
2557
|
+
},
|
|
2558
|
+
"border": {
|
|
2559
|
+
"default": {
|
|
2560
|
+
"$type": "color",
|
|
2561
|
+
"$description": "Row lines and card borders.",
|
|
2562
|
+
"$value": "{theme.color.border.default}"
|
|
2563
|
+
},
|
|
2564
|
+
"strong": {
|
|
2565
|
+
"$type": "color",
|
|
2566
|
+
"$description": "Input and secondary button borders.",
|
|
2567
|
+
"$value": "{theme.color.border.strong}"
|
|
2568
|
+
},
|
|
2569
|
+
"focus": {
|
|
2570
|
+
"$type": "color",
|
|
2571
|
+
"$description": "The keyboard focus ring.",
|
|
2572
|
+
"$value": "{theme.color.border.focus}"
|
|
2573
|
+
}
|
|
2574
|
+
},
|
|
2575
|
+
"action": {
|
|
2576
|
+
"primary": {
|
|
2577
|
+
"@": {
|
|
2578
|
+
"$type": "color",
|
|
2579
|
+
"$description": "The primary action.",
|
|
2580
|
+
"$value": "{theme.color.action.primary.@}"
|
|
2581
|
+
},
|
|
2582
|
+
"hover": {
|
|
2583
|
+
"$type": "color",
|
|
2584
|
+
"$description": "Primary action on hover.",
|
|
2585
|
+
"$value": "{theme.color.action.primary.hover}"
|
|
2586
|
+
}
|
|
2587
|
+
},
|
|
2588
|
+
"secondary": {
|
|
2589
|
+
"@": {
|
|
2590
|
+
"$type": "color",
|
|
2591
|
+
"$description": "Secondary action fill.",
|
|
2592
|
+
"$value": "{theme.color.action.secondary.@}"
|
|
2593
|
+
},
|
|
2594
|
+
"hover": {
|
|
2595
|
+
"$type": "color",
|
|
2596
|
+
"$description": "Secondary action on hover.",
|
|
2597
|
+
"$value": "{theme.color.action.secondary.hover}"
|
|
2598
|
+
}
|
|
2599
|
+
}
|
|
2600
|
+
},
|
|
2601
|
+
"status": {
|
|
2602
|
+
"info": {
|
|
2603
|
+
"@": {
|
|
2604
|
+
"$type": "color",
|
|
2605
|
+
"$description": "Info text and icons: neutral news, no action needed.",
|
|
2606
|
+
"$value": "{theme.color.status.info.@}"
|
|
2607
|
+
},
|
|
2608
|
+
"subtle": {
|
|
2609
|
+
"$type": "color",
|
|
2610
|
+
"$description": "Info badge and banner fill.",
|
|
2611
|
+
"$value": "{theme.color.status.info.subtle}"
|
|
2612
|
+
}
|
|
2613
|
+
},
|
|
2614
|
+
"success": {
|
|
2615
|
+
"@": {
|
|
2616
|
+
"$type": "color",
|
|
2617
|
+
"$description": "Success text and icons.",
|
|
2618
|
+
"$value": "{theme.color.status.success.@}"
|
|
2619
|
+
},
|
|
2620
|
+
"subtle": {
|
|
2621
|
+
"$type": "color",
|
|
2622
|
+
"$description": "Success badge fill.",
|
|
2623
|
+
"$value": "{theme.color.status.success.subtle}"
|
|
2624
|
+
}
|
|
2625
|
+
},
|
|
2626
|
+
"warning": {
|
|
2627
|
+
"@": {
|
|
2628
|
+
"$type": "color",
|
|
2629
|
+
"$description": "Warning text and icons.",
|
|
2630
|
+
"$value": "{theme.color.status.warning.@}"
|
|
2631
|
+
},
|
|
2632
|
+
"subtle": {
|
|
2633
|
+
"$type": "color",
|
|
2634
|
+
"$description": "Warning badge fill.",
|
|
2635
|
+
"$value": "{theme.color.status.warning.subtle}"
|
|
2636
|
+
}
|
|
2637
|
+
},
|
|
2638
|
+
"danger": {
|
|
2639
|
+
"@": {
|
|
2640
|
+
"$type": "color",
|
|
2641
|
+
"$description": "Danger text and icons.",
|
|
2642
|
+
"$value": "{theme.color.status.danger.@}"
|
|
2643
|
+
},
|
|
2644
|
+
"subtle": {
|
|
2645
|
+
"$type": "color",
|
|
2646
|
+
"$description": "Danger badge fill.",
|
|
2647
|
+
"$value": "{theme.color.status.danger.subtle}"
|
|
2648
|
+
}
|
|
2649
|
+
}
|
|
2650
|
+
},
|
|
2651
|
+
"category": {
|
|
2652
|
+
"$description": "Identity colours for tags, labels and chart series. They tell items apart and carry no meaning.",
|
|
2653
|
+
"1": {
|
|
2654
|
+
"@": {
|
|
2655
|
+
"$type": "color",
|
|
2656
|
+
"$description": "Category 1: chart series, tag dots and icons. Tag text uses color.text.primary.",
|
|
2657
|
+
"$value": "{theme.color.category.1.@}"
|
|
2658
|
+
},
|
|
2659
|
+
"subtle": {
|
|
2660
|
+
"$type": "color",
|
|
2661
|
+
"$description": "Category 1: tag fill.",
|
|
2662
|
+
"$value": "{theme.color.category.1.subtle}"
|
|
2663
|
+
}
|
|
2664
|
+
},
|
|
2665
|
+
"2": {
|
|
2666
|
+
"@": {
|
|
2667
|
+
"$type": "color",
|
|
2668
|
+
"$description": "Category 2: chart series, tag dots and icons. Tag text uses color.text.primary.",
|
|
2669
|
+
"$value": "{theme.color.category.2.@}"
|
|
2670
|
+
},
|
|
2671
|
+
"subtle": {
|
|
2672
|
+
"$type": "color",
|
|
2673
|
+
"$description": "Category 2: tag fill.",
|
|
2674
|
+
"$value": "{theme.color.category.2.subtle}"
|
|
2675
|
+
}
|
|
2676
|
+
},
|
|
2677
|
+
"3": {
|
|
2678
|
+
"@": {
|
|
2679
|
+
"$type": "color",
|
|
2680
|
+
"$description": "Category 3: chart series, tag dots and icons. Tag text uses color.text.primary.",
|
|
2681
|
+
"$value": "{theme.color.category.3.@}"
|
|
2682
|
+
},
|
|
2683
|
+
"subtle": {
|
|
2684
|
+
"$type": "color",
|
|
2685
|
+
"$description": "Category 3: tag fill.",
|
|
2686
|
+
"$value": "{theme.color.category.3.subtle}"
|
|
2687
|
+
}
|
|
2688
|
+
},
|
|
2689
|
+
"4": {
|
|
2690
|
+
"@": {
|
|
2691
|
+
"$type": "color",
|
|
2692
|
+
"$description": "Category 4: chart series, tag dots and icons. Tag text uses color.text.primary.",
|
|
2693
|
+
"$value": "{theme.color.category.4.@}"
|
|
2694
|
+
},
|
|
2695
|
+
"subtle": {
|
|
2696
|
+
"$type": "color",
|
|
2697
|
+
"$description": "Category 4: tag fill.",
|
|
2698
|
+
"$value": "{theme.color.category.4.subtle}"
|
|
2699
|
+
}
|
|
2700
|
+
},
|
|
2701
|
+
"5": {
|
|
2702
|
+
"@": {
|
|
2703
|
+
"$type": "color",
|
|
2704
|
+
"$description": "Category 5: chart series, tag dots and icons. Tag text uses color.text.primary.",
|
|
2705
|
+
"$value": "{theme.color.category.5.@}"
|
|
2706
|
+
},
|
|
2707
|
+
"subtle": {
|
|
2708
|
+
"$type": "color",
|
|
2709
|
+
"$description": "Category 5: tag fill.",
|
|
2710
|
+
"$value": "{theme.color.category.5.subtle}"
|
|
2711
|
+
}
|
|
2712
|
+
}
|
|
2713
|
+
},
|
|
2714
|
+
"disabled": {
|
|
2715
|
+
"$description": "The shared look of controls that cannot be used right now.",
|
|
2716
|
+
"text": {
|
|
2717
|
+
"$type": "color",
|
|
2718
|
+
"$description": "Text and icons of a disabled control.",
|
|
2719
|
+
"$value": "{theme.color.disabled.text}"
|
|
2720
|
+
},
|
|
2721
|
+
"surface": {
|
|
2722
|
+
"$type": "color",
|
|
2723
|
+
"$description": "Fill of a disabled control.",
|
|
2724
|
+
"$value": "{theme.color.disabled.surface}"
|
|
2725
|
+
},
|
|
2726
|
+
"border": {
|
|
2727
|
+
"$type": "color",
|
|
2728
|
+
"$description": "Border of a disabled control.",
|
|
2729
|
+
"$value": "{theme.color.disabled.border}"
|
|
2730
|
+
}
|
|
2731
|
+
}
|
|
2732
|
+
},
|
|
2733
|
+
"elevation": {
|
|
2734
|
+
"card": {
|
|
2735
|
+
"$type": "shadow",
|
|
2736
|
+
"$description": "No shadow in this scheme.",
|
|
2737
|
+
"$value": "{theme.elevation.card}"
|
|
2738
|
+
},
|
|
2739
|
+
"overlay": {
|
|
2740
|
+
"$type": "shadow",
|
|
2741
|
+
"$value": "{theme.elevation.overlay}"
|
|
2742
|
+
}
|
|
2743
|
+
}
|
|
2744
|
+
},
|
|
2745
|
+
"component": {
|
|
2746
|
+
"button": {
|
|
2747
|
+
"primary": {
|
|
2748
|
+
"background": {
|
|
2749
|
+
"@": {
|
|
2750
|
+
"$value": "{color.action.primary.@}",
|
|
2751
|
+
"$description": "Primary button fill."
|
|
2752
|
+
},
|
|
2753
|
+
"hover": {
|
|
2754
|
+
"$value": "{color.action.primary.hover}",
|
|
2755
|
+
"$description": "Primary button fill on hover."
|
|
2756
|
+
}
|
|
2757
|
+
},
|
|
2758
|
+
"label": {
|
|
2759
|
+
"$value": "{color.text.on-action}",
|
|
2760
|
+
"$description": "Primary button label color."
|
|
2761
|
+
}
|
|
2762
|
+
},
|
|
2763
|
+
"secondary": {
|
|
2764
|
+
"background": {
|
|
2765
|
+
"@": {
|
|
2766
|
+
"$value": "{color.action.secondary.@}",
|
|
2767
|
+
"$description": "Secondary button fill."
|
|
2768
|
+
},
|
|
2769
|
+
"hover": {
|
|
2770
|
+
"$value": "{color.action.secondary.hover}",
|
|
2771
|
+
"$description": "Secondary button fill on hover."
|
|
2772
|
+
}
|
|
2773
|
+
},
|
|
2774
|
+
"label": {
|
|
2775
|
+
"$value": "{color.text.primary}",
|
|
2776
|
+
"$description": "Secondary button label color."
|
|
2777
|
+
},
|
|
2778
|
+
"border": {
|
|
2779
|
+
"$value": "{color.border.strong}",
|
|
2780
|
+
"$description": "Secondary button border."
|
|
2781
|
+
}
|
|
2782
|
+
},
|
|
2783
|
+
"ghost": {
|
|
2784
|
+
"background-hover": {
|
|
2785
|
+
"$value": "{color.surface.sunken}",
|
|
2786
|
+
"$description": "Ghost button fill on hover."
|
|
2787
|
+
},
|
|
2788
|
+
"label": {
|
|
2789
|
+
"$value": "{color.text.link}",
|
|
2790
|
+
"$description": "Ghost button label color."
|
|
2791
|
+
}
|
|
2792
|
+
},
|
|
2793
|
+
"height": {
|
|
2794
|
+
"$value": "{size.control.default}",
|
|
2795
|
+
"$description": "Button height."
|
|
2796
|
+
},
|
|
2797
|
+
"padding-x": {
|
|
2798
|
+
"$value": "{space.inset.control-x}",
|
|
2799
|
+
"$description": "Horizontal padding inside a button."
|
|
2800
|
+
},
|
|
2801
|
+
"radius": {
|
|
2802
|
+
"$value": "{radius.control}",
|
|
2803
|
+
"$description": "Button corner radius."
|
|
2804
|
+
},
|
|
2805
|
+
"font-size": {
|
|
2806
|
+
"$value": "{type.label.font-size}",
|
|
2807
|
+
"$description": "Button label size."
|
|
2808
|
+
},
|
|
2809
|
+
"font-weight": {
|
|
2810
|
+
"$value": "{type.label.font-weight}",
|
|
2811
|
+
"$description": "Button label weight."
|
|
2812
|
+
},
|
|
2813
|
+
"focus-ring": {
|
|
2814
|
+
"$value": "{color.border.focus}",
|
|
2815
|
+
"$description": "Focus ring color on any button."
|
|
2816
|
+
},
|
|
2817
|
+
"icon-size": {
|
|
2818
|
+
"$value": "{size.icon}",
|
|
2819
|
+
"$description": "Size of an icon inside a button."
|
|
2820
|
+
},
|
|
2821
|
+
"disabled": {
|
|
2822
|
+
"background": {
|
|
2823
|
+
"$value": "{color.disabled.surface}",
|
|
2824
|
+
"$description": "Fill of a disabled button."
|
|
2825
|
+
},
|
|
2826
|
+
"label": {
|
|
2827
|
+
"$value": "{color.disabled.text}",
|
|
2828
|
+
"$description": "Label of a disabled button."
|
|
2829
|
+
},
|
|
2830
|
+
"border": {
|
|
2831
|
+
"$value": "{color.disabled.border}",
|
|
2832
|
+
"$description": "Border of a disabled secondary button."
|
|
2833
|
+
}
|
|
2834
|
+
}
|
|
2835
|
+
},
|
|
2836
|
+
"input": {
|
|
2837
|
+
"background": {
|
|
2838
|
+
"$value": "{color.surface.default}",
|
|
2839
|
+
"$description": "Input fill."
|
|
2840
|
+
},
|
|
2841
|
+
"border": {
|
|
2842
|
+
"@": {
|
|
2843
|
+
"$value": "{color.border.strong}",
|
|
2844
|
+
"$description": "Input border at rest."
|
|
2845
|
+
},
|
|
2846
|
+
"focus": {
|
|
2847
|
+
"$value": "{color.border.focus}",
|
|
2848
|
+
"$description": "Input border when focused."
|
|
2849
|
+
}
|
|
2850
|
+
},
|
|
2851
|
+
"text": {
|
|
2852
|
+
"$value": "{color.text.primary}",
|
|
2853
|
+
"$description": "Typed text color."
|
|
2854
|
+
},
|
|
2855
|
+
"placeholder": {
|
|
2856
|
+
"$value": "{color.text.muted}",
|
|
2857
|
+
"$description": "Placeholder text color."
|
|
2858
|
+
},
|
|
2859
|
+
"height": {
|
|
2860
|
+
"$value": "{size.control.default}",
|
|
2861
|
+
"$description": "Input height."
|
|
2862
|
+
},
|
|
2863
|
+
"padding-x": {
|
|
2864
|
+
"$value": "{space.inset.control-x}",
|
|
2865
|
+
"$description": "Horizontal padding inside an input."
|
|
2866
|
+
},
|
|
2867
|
+
"radius": {
|
|
2868
|
+
"$value": "{radius.control}",
|
|
2869
|
+
"$description": "Input corner radius."
|
|
2870
|
+
},
|
|
2871
|
+
"font-size": {
|
|
2872
|
+
"$value": "{type.body.font-size}",
|
|
2873
|
+
"$description": "Typed text size."
|
|
2874
|
+
},
|
|
2875
|
+
"disabled": {
|
|
2876
|
+
"background": {
|
|
2877
|
+
"$value": "{color.disabled.surface}",
|
|
2878
|
+
"$description": "Fill of a disabled input."
|
|
2879
|
+
},
|
|
2880
|
+
"border": {
|
|
2881
|
+
"$value": "{color.disabled.border}",
|
|
2882
|
+
"$description": "Border of a disabled input."
|
|
2883
|
+
},
|
|
2884
|
+
"text": {
|
|
2885
|
+
"$value": "{color.disabled.text}",
|
|
2886
|
+
"$description": "Text in a disabled input."
|
|
2887
|
+
}
|
|
2888
|
+
}
|
|
2889
|
+
},
|
|
2890
|
+
"control": {
|
|
2891
|
+
"checked": {
|
|
2892
|
+
"$value": "{color.action.primary.@}",
|
|
2893
|
+
"$description": "Fill of a checked checkbox or an on switch."
|
|
2894
|
+
},
|
|
2895
|
+
"track": {
|
|
2896
|
+
"$value": "{color.border.strong}",
|
|
2897
|
+
"$description": "Track of an off switch."
|
|
2898
|
+
},
|
|
2899
|
+
"thumb": {
|
|
2900
|
+
"$value": "{color.surface.default}",
|
|
2901
|
+
"$description": "Switch thumb and checkmark color."
|
|
2902
|
+
},
|
|
2903
|
+
"radius": {
|
|
2904
|
+
"$value": "{radius.badge}",
|
|
2905
|
+
"$description": "Checkbox corner radius."
|
|
2906
|
+
}
|
|
2907
|
+
},
|
|
2908
|
+
"badge": {
|
|
2909
|
+
"radius": {
|
|
2910
|
+
"$value": "{radius.badge}",
|
|
2911
|
+
"$description": "Badge corner radius."
|
|
2912
|
+
},
|
|
2913
|
+
"padding-x": {
|
|
2914
|
+
"$value": "{space.gap.tight}",
|
|
2915
|
+
"$description": "Horizontal padding inside a badge."
|
|
2916
|
+
},
|
|
2917
|
+
"font-size": {
|
|
2918
|
+
"$value": "{type.caption.font-size}",
|
|
2919
|
+
"$description": "Badge label size."
|
|
2920
|
+
},
|
|
2921
|
+
"neutral": {
|
|
2922
|
+
"background": {
|
|
2923
|
+
"$value": "{color.surface.sunken}",
|
|
2924
|
+
"$description": "Neutral badge fill."
|
|
2925
|
+
},
|
|
2926
|
+
"label": {
|
|
2927
|
+
"$value": "{color.text.secondary}",
|
|
2928
|
+
"$description": "Neutral badge label."
|
|
2929
|
+
}
|
|
2930
|
+
},
|
|
2931
|
+
"success": {
|
|
2932
|
+
"background": {
|
|
2933
|
+
"$value": "{color.status.success.subtle}",
|
|
2934
|
+
"$description": "Success badge fill."
|
|
2935
|
+
},
|
|
2936
|
+
"label": {
|
|
2937
|
+
"$value": "{color.status.success.@}",
|
|
2938
|
+
"$description": "Success badge label."
|
|
2939
|
+
}
|
|
2940
|
+
},
|
|
2941
|
+
"warning": {
|
|
2942
|
+
"background": {
|
|
2943
|
+
"$value": "{color.status.warning.subtle}",
|
|
2944
|
+
"$description": "Warning badge fill."
|
|
2945
|
+
},
|
|
2946
|
+
"label": {
|
|
2947
|
+
"$value": "{color.status.warning.@}",
|
|
2948
|
+
"$description": "Warning badge label."
|
|
2949
|
+
}
|
|
2950
|
+
},
|
|
2951
|
+
"danger": {
|
|
2952
|
+
"background": {
|
|
2953
|
+
"$value": "{color.status.danger.subtle}",
|
|
2954
|
+
"$description": "Danger badge fill."
|
|
2955
|
+
},
|
|
2956
|
+
"label": {
|
|
2957
|
+
"$value": "{color.status.danger.@}",
|
|
2958
|
+
"$description": "Danger badge label."
|
|
2959
|
+
}
|
|
2960
|
+
},
|
|
2961
|
+
"info": {
|
|
2962
|
+
"background": {
|
|
2963
|
+
"$value": "{color.status.info.subtle}",
|
|
2964
|
+
"$description": "Info badge fill."
|
|
2965
|
+
},
|
|
2966
|
+
"label": {
|
|
2967
|
+
"$value": "{color.status.info.@}",
|
|
2968
|
+
"$description": "Info badge label."
|
|
2969
|
+
}
|
|
2970
|
+
}
|
|
2971
|
+
},
|
|
2972
|
+
"card": {
|
|
2973
|
+
"background": {
|
|
2974
|
+
"$value": "{color.surface.default}",
|
|
2975
|
+
"$description": "Card fill."
|
|
2976
|
+
},
|
|
2977
|
+
"border": {
|
|
2978
|
+
"$value": "{color.border.default}",
|
|
2979
|
+
"$description": "Card border."
|
|
2980
|
+
},
|
|
2981
|
+
"radius": {
|
|
2982
|
+
"$value": "{radius.container}",
|
|
2983
|
+
"$description": "Card corner radius."
|
|
2984
|
+
},
|
|
2985
|
+
"padding": {
|
|
2986
|
+
"$value": "{space.inset.container}",
|
|
2987
|
+
"$description": "Padding inside a card."
|
|
2988
|
+
},
|
|
2989
|
+
"shadow": {
|
|
2990
|
+
"$value": "{elevation.card}",
|
|
2991
|
+
"$description": "Card shadow."
|
|
2992
|
+
}
|
|
2993
|
+
},
|
|
2994
|
+
"table": {
|
|
2995
|
+
"header-background": {
|
|
2996
|
+
"$value": "{color.surface.sunken}",
|
|
2997
|
+
"$description": "Header row fill."
|
|
2998
|
+
},
|
|
2999
|
+
"row-height": {
|
|
3000
|
+
"$value": "{size.row}",
|
|
3001
|
+
"$description": "Height of one data row."
|
|
3002
|
+
},
|
|
3003
|
+
"cell-padding-x": {
|
|
3004
|
+
"$value": "{space.inset.cell-x}",
|
|
3005
|
+
"$description": "Horizontal padding inside a cell."
|
|
3006
|
+
},
|
|
3007
|
+
"row-border": {
|
|
3008
|
+
"$value": "{color.border.default}",
|
|
3009
|
+
"$description": "Line between rows."
|
|
3010
|
+
},
|
|
3011
|
+
"row-selected": {
|
|
3012
|
+
"$value": "{color.surface.selected}",
|
|
3013
|
+
"$description": "Fill of a selected row."
|
|
3014
|
+
},
|
|
3015
|
+
"font-size": {
|
|
3016
|
+
"$value": "{type.data.font-size}",
|
|
3017
|
+
"$description": "Cell text size."
|
|
3018
|
+
}
|
|
3019
|
+
},
|
|
3020
|
+
"tabs": {
|
|
3021
|
+
"indicator": {
|
|
3022
|
+
"$value": "{color.action.primary.@}",
|
|
3023
|
+
"$description": "Active tab indicator."
|
|
3024
|
+
},
|
|
3025
|
+
"label": {
|
|
3026
|
+
"@": {
|
|
3027
|
+
"$value": "{color.text.secondary}",
|
|
3028
|
+
"$description": "Inactive tab label."
|
|
3029
|
+
},
|
|
3030
|
+
"active": {
|
|
3031
|
+
"$value": "{color.text.primary}",
|
|
3032
|
+
"$description": "Active tab label."
|
|
3033
|
+
}
|
|
3034
|
+
}
|
|
3035
|
+
},
|
|
3036
|
+
"overlay": {
|
|
3037
|
+
"background": {
|
|
3038
|
+
"$value": "{color.surface.raised}",
|
|
3039
|
+
"$description": "Fill of a dialog, menu or toast."
|
|
3040
|
+
},
|
|
3041
|
+
"radius": {
|
|
3042
|
+
"$value": "{radius.container}",
|
|
3043
|
+
"$description": "Corner radius of overlays."
|
|
3044
|
+
},
|
|
3045
|
+
"shadow": {
|
|
3046
|
+
"$value": "{elevation.overlay}",
|
|
3047
|
+
"$description": "Shadow of overlays."
|
|
3048
|
+
},
|
|
3049
|
+
"scrim": {
|
|
3050
|
+
"$value": "{color.surface.scrim}",
|
|
3051
|
+
"$description": "Color that dims the page behind a dialog."
|
|
3052
|
+
},
|
|
3053
|
+
"item-height": {
|
|
3054
|
+
"$value": "{size.control.default}",
|
|
3055
|
+
"$description": "Height of a menu item."
|
|
3056
|
+
}
|
|
3057
|
+
},
|
|
3058
|
+
"tooltip": {
|
|
3059
|
+
"background": {
|
|
3060
|
+
"$value": "{color.surface.inverse}",
|
|
3061
|
+
"$description": "Tooltip fill."
|
|
3062
|
+
},
|
|
3063
|
+
"label": {
|
|
3064
|
+
"$value": "{color.text.inverse}",
|
|
3065
|
+
"$description": "Tooltip text."
|
|
3066
|
+
}
|
|
3067
|
+
},
|
|
3068
|
+
"transition": {
|
|
3069
|
+
"duration": {
|
|
3070
|
+
"$value": "{motion.duration.feedback}",
|
|
3071
|
+
"$description": "Duration of feedback transitions."
|
|
3072
|
+
},
|
|
3073
|
+
"easing": {
|
|
3074
|
+
"$value": "{motion.easing.standard}",
|
|
3075
|
+
"$description": "Easing of feedback transitions."
|
|
3076
|
+
}
|
|
3077
|
+
}
|
|
3078
|
+
},
|
|
3079
|
+
"content": {
|
|
3080
|
+
"$description": "Voice tokens: the words components use for common actions. Text, not CSS.",
|
|
3081
|
+
"action": {
|
|
3082
|
+
"commit": {
|
|
3083
|
+
"$type": "string",
|
|
3084
|
+
"$value": "Save",
|
|
3085
|
+
"$description": "The label of the action that completes a task."
|
|
3086
|
+
},
|
|
3087
|
+
"cancel": {
|
|
3088
|
+
"$type": "string",
|
|
3089
|
+
"$value": "Not now",
|
|
3090
|
+
"$description": "The label of the way out next to the main action."
|
|
3091
|
+
},
|
|
3092
|
+
"destroy": {
|
|
3093
|
+
"$type": "string",
|
|
3094
|
+
"$value": "Remove",
|
|
3095
|
+
"$description": "The label of an action that deletes data."
|
|
3096
|
+
},
|
|
3097
|
+
"retry": {
|
|
3098
|
+
"$type": "string",
|
|
3099
|
+
"$value": "Try again",
|
|
3100
|
+
"$description": "The label that repeats a failed action."
|
|
3101
|
+
},
|
|
3102
|
+
"empty-action": {
|
|
3103
|
+
"$type": "string",
|
|
3104
|
+
"$value": "Browse guides",
|
|
3105
|
+
"$description": "The label of the action in an empty state."
|
|
3106
|
+
}
|
|
3107
|
+
}
|
|
3108
|
+
}
|
|
3109
|
+
}
|
|
3110
|
+
}
|