@openwarelabs/ui 0.1.0 → 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/README.md +2 -2
- package/dist/components/Accordion/Accordion.d.cts +1 -1
- package/dist/components/Accordion/Accordion.d.ts +1 -1
- package/dist/components/Avatar/AvatarGroup.d.cts +1 -1
- package/dist/components/Avatar/AvatarGroup.d.ts +1 -1
- package/dist/components/CodeBlock/CodeBlock.d.cts +1 -1
- package/dist/components/CodeBlock/CodeBlock.d.ts +1 -1
- package/dist/components/FileDropZone/FileDropZone.d.cts +1 -1
- package/dist/components/FileDropZone/FileDropZone.d.ts +1 -1
- package/dist/components/FileTree/FileTree.d.cts +1 -1
- package/dist/components/FileTree/FileTree.d.ts +1 -1
- package/dist/components/Progress/Progress.d.cts +1 -1
- package/dist/components/Progress/Progress.d.ts +1 -1
- package/dist/components/Stat/Stat.d.cts +1 -1
- package/dist/components/Stat/Stat.d.ts +1 -1
- package/dist/components/Steps/Steps.d.cts +1 -1
- package/dist/components/Steps/Steps.d.ts +1 -1
- package/dist/components/Tabs/Tabs.d.cts +1 -1
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components.css +9 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/styles.css +9 -9
- package/dist/tokens.json +1102 -191
- package/package.json +2 -2
package/dist/tokens.json
CHANGED
|
@@ -1,130 +1,655 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "Openware UI",
|
|
3
3
|
"version": 1,
|
|
4
|
-
"meta": {
|
|
5
|
-
"source": "github",
|
|
6
|
-
"repo": "commandr-dev/commandr-app",
|
|
7
|
-
"ref": "main@aa29edb",
|
|
8
|
-
"also": "commandr-dev/commandr-landing via the Commandr Brand design system (synced 2026-10-04): brass, the site's display type, pills, the header and the dot grid",
|
|
9
|
-
"paths": {
|
|
10
|
-
"tokens": ["frontend/src/ui/styles.css"],
|
|
11
|
-
"components": ["frontend/src/ui/components/", "frontend/src/ui/hooks/useModalDialog.ts", "frontend/src/ui/hooks/useMenuKeyboard.ts"]
|
|
12
|
-
},
|
|
13
|
-
"synced": "2026-10-13"
|
|
14
|
-
},
|
|
15
4
|
"color": {
|
|
16
5
|
"themes": [
|
|
17
|
-
{
|
|
18
|
-
|
|
6
|
+
{
|
|
7
|
+
"id": "light",
|
|
8
|
+
"name": "Light"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"id": "dark",
|
|
12
|
+
"name": "Dark"
|
|
13
|
+
}
|
|
19
14
|
],
|
|
20
15
|
"tokens": [
|
|
21
|
-
{
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
{
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
{
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
{
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
{
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
{
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
{
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
{
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
{
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
{
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
{
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
{
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
{
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
{
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
{
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
{
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
{
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
{
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
{
|
|
16
|
+
{
|
|
17
|
+
"name": "ow-brand-50",
|
|
18
|
+
"value": "#f2f3fc",
|
|
19
|
+
"usage": "Brand scale (midnight). Selected rows and the recommended choice's tint, through ow-primary-subtle. Swap the eleven brand steps to rebrand."
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "ow-brand-100",
|
|
23
|
+
"value": "#e7e9f9",
|
|
24
|
+
"usage": "Brand scale. Soft primary fills, through ow-primary-soft."
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "ow-brand-200",
|
|
28
|
+
"value": "#d4d7f4",
|
|
29
|
+
"usage": "Brand scale. Borders of primary-tinted things, through ow-primary-border."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "ow-brand-300",
|
|
33
|
+
"value": "#b7bbea",
|
|
34
|
+
"usage": "Brand scale. An open select's border in light; the focus ring and primary text in dark."
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "ow-brand-400",
|
|
38
|
+
"value": "#898cd0",
|
|
39
|
+
"usage": "Brand scale. Focused field borders in dark."
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "ow-brand-500",
|
|
43
|
+
"value": "#5856ad",
|
|
44
|
+
"usage": "Brand scale. The focus ring and focused field border in light (6.3:1 on white); the primary fill in dark."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "ow-brand-600",
|
|
48
|
+
"value": "#312c7e",
|
|
49
|
+
"usage": "Brand scale. The primary fill in light: top of the primary button's gradient, checked boxes, switches."
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "ow-brand-700",
|
|
53
|
+
"value": "#1e1b4b",
|
|
54
|
+
"usage": "Brand scale. Midnight: bottom of the primary button's gradient."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "ow-brand-800",
|
|
58
|
+
"value": "#18163d",
|
|
59
|
+
"usage": "Brand scale. The primary button's border, one step darker than its fill."
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "ow-brand-900",
|
|
63
|
+
"value": "#13112f",
|
|
64
|
+
"usage": "Brand scale. Deepest gradient stop for large brand plates."
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "ow-brand-950",
|
|
68
|
+
"value": "#0b0a20",
|
|
69
|
+
"usage": "Brand scale. Darkest step."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "ow-gray-50",
|
|
73
|
+
"value": "#f8fafc",
|
|
74
|
+
"usage": "Neutral scale (cool slate, from the app). Never mix with warm greys on one screen."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "ow-gray-100",
|
|
78
|
+
"value": "#f1f5f9",
|
|
79
|
+
"usage": "Neutral scale. The light canvas."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "ow-gray-200",
|
|
83
|
+
"value": "#e2e8f0",
|
|
84
|
+
"usage": "Neutral scale. Hairlines in light."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "ow-gray-300",
|
|
88
|
+
"value": "#cbd5e1",
|
|
89
|
+
"usage": "Neutral scale. Control borders in light."
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "ow-gray-400",
|
|
93
|
+
"value": "#94a3b8",
|
|
94
|
+
"usage": "Neutral scale. Hovered control borders and disabled labels in light."
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "ow-gray-500",
|
|
98
|
+
"value": "#64748b",
|
|
99
|
+
"usage": "Neutral scale."
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "ow-gray-600",
|
|
103
|
+
"value": "#475569",
|
|
104
|
+
"usage": "Neutral scale. Unselected navigation labels in light."
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "ow-gray-700",
|
|
108
|
+
"value": "#334155",
|
|
109
|
+
"usage": "Neutral scale. Secondary button labels in light."
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name": "ow-gray-800",
|
|
113
|
+
"value": "#1e293b",
|
|
114
|
+
"usage": "Neutral scale."
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"name": "ow-gray-900",
|
|
118
|
+
"value": "#0f172a",
|
|
119
|
+
"usage": "Neutral scale. Text in light."
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"name": "ow-gray-950",
|
|
123
|
+
"value": "#020617",
|
|
124
|
+
"usage": "Neutral scale."
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"name": "ow-canvas",
|
|
128
|
+
"value": {
|
|
129
|
+
"light": "{ow-gray-100}",
|
|
130
|
+
"dark": "#15171c"
|
|
131
|
+
},
|
|
132
|
+
"usage": "The app's background behind surfaces. Dark is the night ground."
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "ow-paper",
|
|
136
|
+
"value": {
|
|
137
|
+
"light": "#f8f8f7",
|
|
138
|
+
"dark": "#15171c"
|
|
139
|
+
},
|
|
140
|
+
"usage": "Marketing pages' ground, under the dot grid. Warm in light: don't put slate controls on it beside slate surfaces."
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"name": "ow-surface",
|
|
144
|
+
"value": {
|
|
145
|
+
"light": "#ffffff",
|
|
146
|
+
"dark": "#1c1f26"
|
|
147
|
+
},
|
|
148
|
+
"usage": "Cards, panels, fields, dialogs and menus."
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"name": "ow-surface-muted",
|
|
152
|
+
"value": {
|
|
153
|
+
"light": "{ow-gray-50}",
|
|
154
|
+
"dark": "#262a33"
|
|
155
|
+
},
|
|
156
|
+
"usage": "Hover rows, ghost-button hover, keys and quiet fills inside a surface."
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"name": "ow-control",
|
|
160
|
+
"value": {
|
|
161
|
+
"light": "#ffffff",
|
|
162
|
+
"dark": "#2a2f38"
|
|
163
|
+
},
|
|
164
|
+
"usage": "Top of the secondary button's and ChoiceCard's gradient."
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"name": "ow-control-shade",
|
|
168
|
+
"value": {
|
|
169
|
+
"light": "{ow-gray-50}",
|
|
170
|
+
"dark": "#23272f"
|
|
171
|
+
},
|
|
172
|
+
"usage": "Bottom of the secondary button's and ChoiceCard's gradient."
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"name": "ow-control-shade-hover",
|
|
176
|
+
"value": {
|
|
177
|
+
"light": "{ow-gray-100}",
|
|
178
|
+
"dark": "#1f232a"
|
|
179
|
+
},
|
|
180
|
+
"usage": "Bottom of the secondary button's gradient on hover."
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"name": "ow-hover",
|
|
184
|
+
"value": {
|
|
185
|
+
"light": "{ow-gray-100}",
|
|
186
|
+
"dark": "#2a2f38"
|
|
187
|
+
},
|
|
188
|
+
"usage": "The keyboard-active or hovered option in a select's listbox."
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"name": "ow-disabled",
|
|
192
|
+
"value": {
|
|
193
|
+
"light": "{ow-gray-100}",
|
|
194
|
+
"dark": "#23272f"
|
|
195
|
+
},
|
|
196
|
+
"usage": "The flat grey fill of a disabled primary or danger button."
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"name": "ow-icon",
|
|
200
|
+
"value": {
|
|
201
|
+
"light": "{ow-gray-400}",
|
|
202
|
+
"dark": "#7d8593"
|
|
203
|
+
},
|
|
204
|
+
"usage": "Decorative icons beside text: a select's chevron, inactive nav icons. 2.6:1 on white in light, kept from the source; never the only sign of anything."
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"name": "ow-border",
|
|
208
|
+
"value": {
|
|
209
|
+
"light": "{ow-gray-200}",
|
|
210
|
+
"dark": "#2c313a"
|
|
211
|
+
},
|
|
212
|
+
"usage": "Hairlines: card and dialog edges, dividers, menu borders."
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"name": "ow-border-strong",
|
|
216
|
+
"value": {
|
|
217
|
+
"light": "{ow-gray-300}",
|
|
218
|
+
"dark": "#434a56"
|
|
219
|
+
},
|
|
220
|
+
"usage": "Control borders: fields, secondary buttons, checkboxes. 1.5:1 on white in light, kept from the source; fields also carry a label."
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"name": "ow-border-hover",
|
|
224
|
+
"value": {
|
|
225
|
+
"light": "{ow-gray-400}",
|
|
226
|
+
"dark": "#5b6472"
|
|
227
|
+
},
|
|
228
|
+
"usage": "A hovered control's border."
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"name": "ow-text",
|
|
232
|
+
"value": {
|
|
233
|
+
"light": "{ow-gray-900}",
|
|
234
|
+
"dark": "#f3f4f6"
|
|
235
|
+
},
|
|
236
|
+
"usage": "Headings, labels and values on ow-surface, ow-surface-muted and ow-canvas (17.8:1 light, 15.0:1 dark on surface)."
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"name": "ow-text-soft",
|
|
240
|
+
"value": {
|
|
241
|
+
"light": "{ow-gray-700}",
|
|
242
|
+
"dark": "#cfd3da"
|
|
243
|
+
},
|
|
244
|
+
"usage": "Secondary button labels and badge text on ow-control and ow-surface-muted."
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"name": "ow-text-muted",
|
|
248
|
+
"value": {
|
|
249
|
+
"light": "#5f6b7d",
|
|
250
|
+
"dark": "#959ba6"
|
|
251
|
+
},
|
|
252
|
+
"usage": "Descriptions, hints, placeholders and captions on every surface and the canvas (5.4:1 on white, 4.9:1 on canvas; 5.9:1 on dark surface, 5.1:1 on dark muted)."
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"name": "ow-text-disabled",
|
|
256
|
+
"value": {
|
|
257
|
+
"light": "{ow-gray-400}",
|
|
258
|
+
"dark": "#626a77"
|
|
259
|
+
},
|
|
260
|
+
"usage": "Labels of disabled controls only; exempt from contrast minimums, so never use it for anything people must read."
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"name": "ow-primary",
|
|
264
|
+
"value": {
|
|
265
|
+
"light": "{ow-brand-600}",
|
|
266
|
+
"dark": "{ow-brand-500}"
|
|
267
|
+
},
|
|
268
|
+
"usage": "Primary fill: top of the primary button's gradient, checked boxes, switches on, avatar initials ground. ow-on-primary on it: 11.7:1 light, 6.3:1 dark."
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"name": "ow-primary-hover",
|
|
272
|
+
"value": {
|
|
273
|
+
"light": "{ow-brand-700}",
|
|
274
|
+
"dark": "{ow-brand-600}"
|
|
275
|
+
},
|
|
276
|
+
"usage": "Bottom of the primary button's gradient; checked boxes on hover."
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"name": "ow-primary-active",
|
|
280
|
+
"value": {
|
|
281
|
+
"light": "{ow-brand-800}",
|
|
282
|
+
"dark": "{ow-brand-700}"
|
|
283
|
+
},
|
|
284
|
+
"usage": "The primary button's and a checked box's border."
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"name": "ow-on-primary",
|
|
288
|
+
"value": "#ffffff",
|
|
289
|
+
"usage": "Text and icons on ow-primary and ow-primary-hover."
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"name": "ow-primary-text",
|
|
293
|
+
"value": {
|
|
294
|
+
"light": "{ow-brand-600}",
|
|
295
|
+
"dark": "{ow-brand-300}"
|
|
296
|
+
},
|
|
297
|
+
"usage": "Primary-coloured text and icons on surfaces: the selected option's check, a ChoiceCard's icon, active nav icons (11.7:1 light, 8.9:1 dark on surface)."
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"name": "ow-primary-subtle",
|
|
301
|
+
"value": {
|
|
302
|
+
"light": "{ow-brand-50}",
|
|
303
|
+
"dark": "color-mix(in srgb, var(--ow-brand-400) 14%, transparent)"
|
|
304
|
+
},
|
|
305
|
+
"usage": "The active command in the palette, the recommended choice's icon tile, the active badge."
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"name": "ow-primary-soft",
|
|
309
|
+
"value": {
|
|
310
|
+
"light": "{ow-brand-100}",
|
|
311
|
+
"dark": "color-mix(in srgb, var(--ow-brand-400) 22%, transparent)"
|
|
312
|
+
},
|
|
313
|
+
"usage": "Stronger primary tint for selected states."
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"name": "ow-primary-border",
|
|
317
|
+
"value": {
|
|
318
|
+
"light": "{ow-brand-200}",
|
|
319
|
+
"dark": "color-mix(in srgb, var(--ow-brand-400) 40%, transparent)"
|
|
320
|
+
},
|
|
321
|
+
"usage": "Borders of primary-tinted things: the recommended ChoiceCard, the active badge, icon tiles."
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"name": "ow-primary-focus",
|
|
325
|
+
"value": {
|
|
326
|
+
"light": "{ow-brand-300}",
|
|
327
|
+
"dark": "{ow-brand-400}"
|
|
328
|
+
},
|
|
329
|
+
"usage": "An open select's border."
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"name": "ow-focus-border",
|
|
333
|
+
"value": {
|
|
334
|
+
"light": "{ow-brand-500}",
|
|
335
|
+
"dark": "{ow-brand-400}"
|
|
336
|
+
},
|
|
337
|
+
"usage": "A focused field's border (6.3:1 on white; 5.3:1 on dark surface)."
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"name": "ow-focus-ring",
|
|
341
|
+
"value": {
|
|
342
|
+
"light": "{ow-brand-500}",
|
|
343
|
+
"dark": "{ow-brand-300}"
|
|
344
|
+
},
|
|
345
|
+
"usage": "The 2 px keyboard focus outline on every control, offset 2 px. At least 3:1 on every surface and the canvas in both themes."
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"name": "ow-brass",
|
|
349
|
+
"value": "#d4a72c",
|
|
350
|
+
"usage": "The accent, kept small: chip dots, list bullets, the dot grid under the pointer, a star. A graphic colour on light grounds (2.1:1); text only on dark (7.3:1 on dark surface)."
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"name": "ow-brass-deep",
|
|
354
|
+
"value": {
|
|
355
|
+
"light": "#8a6a12",
|
|
356
|
+
"dark": "{ow-brass}"
|
|
357
|
+
},
|
|
358
|
+
"usage": "Brass you can read: link hover and brass text on ow-surface and ow-paper (5.1:1 and 4.8:1 in light; 7.3:1 in dark)."
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"name": "ow-brass-soft",
|
|
362
|
+
"value": {
|
|
363
|
+
"light": "#faf3df",
|
|
364
|
+
"dark": "rgba(212,167,44,0.14)"
|
|
365
|
+
},
|
|
366
|
+
"usage": "Brass tint behind ow-brass-deep: notes, placeholders, half marks."
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"name": "ow-danger-surface",
|
|
370
|
+
"value": {
|
|
371
|
+
"light": "#fff7f7",
|
|
372
|
+
"dark": "rgba(251,44,54,0.12)"
|
|
373
|
+
},
|
|
374
|
+
"usage": "Danger badge and notice background."
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"name": "ow-danger-wash",
|
|
378
|
+
"value": {
|
|
379
|
+
"light": "#ffe2e2",
|
|
380
|
+
"dark": "rgba(251,44,54,0.18)"
|
|
381
|
+
},
|
|
382
|
+
"usage": "The round icon tile of a destructive confirm (red-100)."
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
"name": "ow-danger-border",
|
|
386
|
+
"value": {
|
|
387
|
+
"light": "#ffc9c9",
|
|
388
|
+
"dark": "rgba(255,100,103,0.38)"
|
|
389
|
+
},
|
|
390
|
+
"usage": "Danger badge and notice border (red-200)."
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"name": "ow-danger-line",
|
|
394
|
+
"value": {
|
|
395
|
+
"light": "#ffa2a2",
|
|
396
|
+
"dark": "#ff6467"
|
|
397
|
+
},
|
|
398
|
+
"usage": "An invalid field's border (red-300; red-400 in dark)."
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"name": "ow-danger-solid",
|
|
402
|
+
"value": "#fb2c36",
|
|
403
|
+
"usage": "An invalid field's focused border, danger icons and dots (red-500); top of the danger button's gradient, where white reads 3.8:1, kept from the source (the label sits lower, over ow-danger-fill)."
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"name": "ow-danger-fill",
|
|
407
|
+
"value": "#e7000b",
|
|
408
|
+
"usage": "Bottom of the danger button's gradient, checked danger boxes (red-600). White on it: 4.8:1."
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"name": "ow-danger-fill-border",
|
|
412
|
+
"value": "#c10007",
|
|
413
|
+
"usage": "The danger button's border (red-700)."
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"name": "ow-danger-text",
|
|
417
|
+
"value": {
|
|
418
|
+
"light": "#c10007",
|
|
419
|
+
"dark": "#ffa2a2"
|
|
420
|
+
},
|
|
421
|
+
"usage": "Error messages and danger badge text on ow-surface and ow-danger-surface (6.4:1 light, 8.6:1 dark)."
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"name": "ow-success-surface",
|
|
425
|
+
"value": {
|
|
426
|
+
"light": "#eef8f2",
|
|
427
|
+
"dark": "rgba(0,188,125,0.12)"
|
|
428
|
+
},
|
|
429
|
+
"usage": "Success badge and notice background."
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"name": "ow-success-border",
|
|
433
|
+
"value": {
|
|
434
|
+
"light": "#b9d8c2",
|
|
435
|
+
"dark": "rgba(0,212,146,0.32)"
|
|
436
|
+
},
|
|
437
|
+
"usage": "Success badge and notice border."
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"name": "ow-success-solid",
|
|
441
|
+
"value": "#00bc7d",
|
|
442
|
+
"usage": "Success icons and dots (emerald-500)."
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
"name": "ow-success-text",
|
|
446
|
+
"value": {
|
|
447
|
+
"light": "#006045",
|
|
448
|
+
"dark": "#5ee9b5"
|
|
449
|
+
},
|
|
450
|
+
"usage": "Success text on ow-surface and ow-success-surface (7.6:1 light, 10.8:1 dark)."
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"name": "ow-warning-surface",
|
|
454
|
+
"value": {
|
|
455
|
+
"light": "#fffbeb",
|
|
456
|
+
"dark": "rgba(254,154,0,0.12)"
|
|
457
|
+
},
|
|
458
|
+
"usage": "Warning badge and notice background (amber-50)."
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"name": "ow-warning-border",
|
|
462
|
+
"value": {
|
|
463
|
+
"light": "#d7ca9f",
|
|
464
|
+
"dark": "rgba(255,185,0,0.32)"
|
|
465
|
+
},
|
|
466
|
+
"usage": "Warning badge and notice border."
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"name": "ow-warning-solid",
|
|
470
|
+
"value": "#fe9a00",
|
|
471
|
+
"usage": "Warning icons and dots (amber-500)."
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"name": "ow-warning-text",
|
|
475
|
+
"value": {
|
|
476
|
+
"light": "#973c00",
|
|
477
|
+
"dark": "#ffd230"
|
|
478
|
+
},
|
|
479
|
+
"usage": "Warning text on ow-surface and ow-warning-surface (7.1:1 light, 11.4:1 dark)."
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"name": "ow-tooltip",
|
|
483
|
+
"value": {
|
|
484
|
+
"light": "{ow-gray-900}",
|
|
485
|
+
"dark": "#f3f4f6"
|
|
486
|
+
},
|
|
487
|
+
"usage": "Tooltip ground, inverted from the theme."
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"name": "ow-on-tooltip",
|
|
491
|
+
"value": {
|
|
492
|
+
"light": "#ffffff",
|
|
493
|
+
"dark": "#15171c"
|
|
494
|
+
},
|
|
495
|
+
"usage": "Tooltip text on ow-tooltip (17.8:1 light, 16.3:1 dark)."
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
"name": "ow-switch-off",
|
|
499
|
+
"value": {
|
|
500
|
+
"light": "{ow-gray-400}",
|
|
501
|
+
"dark": "#5b6472"
|
|
502
|
+
},
|
|
503
|
+
"usage": "A switch's track when off; 2.6:1 on white and 2.8:1 on dark surface, so the knob's shadow and the label carry the state too."
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"name": "ow-skeleton",
|
|
507
|
+
"value": {
|
|
508
|
+
"light": "{ow-gray-200}",
|
|
509
|
+
"dark": "#2c313a"
|
|
510
|
+
},
|
|
511
|
+
"usage": "Skeleton bars' first line."
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"name": "ow-skeleton-soft",
|
|
515
|
+
"value": {
|
|
516
|
+
"light": "{ow-gray-100}",
|
|
517
|
+
"dark": "#252932"
|
|
518
|
+
},
|
|
519
|
+
"usage": "Skeleton bars' second line and control placeholders."
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"name": "ow-avatar-empty",
|
|
523
|
+
"value": {
|
|
524
|
+
"light": "{ow-gray-200}",
|
|
525
|
+
"dark": "#2c313a"
|
|
526
|
+
},
|
|
527
|
+
"usage": "An avatar with no name or image."
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"name": "ow-on-avatar-empty",
|
|
531
|
+
"value": {
|
|
532
|
+
"light": "{ow-gray-600}",
|
|
533
|
+
"dark": "#cfd3da"
|
|
534
|
+
},
|
|
535
|
+
"usage": "The person icon on ow-avatar-empty."
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"name": "ow-code-ground",
|
|
539
|
+
"value": {
|
|
540
|
+
"light": "{ow-gray-100}",
|
|
541
|
+
"dark": "#262a33"
|
|
542
|
+
},
|
|
543
|
+
"usage": "Behind inline code; ow-text on it."
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
"name": "ow-key-ground",
|
|
547
|
+
"value": {
|
|
548
|
+
"light": "{ow-gray-50}",
|
|
549
|
+
"dark": "#22262e"
|
|
550
|
+
},
|
|
551
|
+
"usage": "Keyboard keys (Kbd); ow-text-soft on it."
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"name": "ow-track",
|
|
555
|
+
"value": {
|
|
556
|
+
"light": "{ow-gray-100}",
|
|
557
|
+
"dark": "#14161b"
|
|
558
|
+
},
|
|
559
|
+
"usage": "The well behind segmented controls and segmented tabs."
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
"name": "ow-thumb",
|
|
563
|
+
"value": {
|
|
564
|
+
"light": "#ffffff",
|
|
565
|
+
"dark": "#2f3541"
|
|
566
|
+
},
|
|
567
|
+
"usage": "The selected segment in a segmented control or segmented tabs; ow-text on it."
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
"name": "ow-meter-track",
|
|
571
|
+
"value": {
|
|
572
|
+
"light": "{ow-gray-200}",
|
|
573
|
+
"dark": "#2c313a"
|
|
574
|
+
},
|
|
575
|
+
"usage": "The empty part of progress bars, progress circles and sliders."
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
"name": "ow-progress",
|
|
579
|
+
"value": {
|
|
580
|
+
"light": "{ow-brand-600}",
|
|
581
|
+
"dark": "{ow-brand-400}"
|
|
582
|
+
},
|
|
583
|
+
"usage": "The filled part of progress bars, progress circles, sliders and spinners; at least 3:1 against ow-meter-track and every surface."
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
"name": "ow-code-block",
|
|
587
|
+
"value": "#15171c",
|
|
588
|
+
"usage": "Code blocks, dark in both themes, on the night ground."
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"name": "ow-code-block-header",
|
|
592
|
+
"value": "#1c1f26",
|
|
593
|
+
"usage": "The title bar of a code block."
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"name": "ow-code-block-border",
|
|
597
|
+
"value": {
|
|
598
|
+
"light": "#15171c",
|
|
599
|
+
"dark": "#2c313a"
|
|
600
|
+
},
|
|
601
|
+
"usage": "A code block's edge; in dark it separates the block from the page."
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"name": "ow-on-code-block",
|
|
605
|
+
"value": "#e6edf3",
|
|
606
|
+
"usage": "Code text on ow-code-block (15.9:1)."
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"name": "ow-on-code-block-muted",
|
|
610
|
+
"value": "#8b919c",
|
|
611
|
+
"usage": "Line numbers, file names and the language label on ow-code-block and its header (5.7:1)."
|
|
612
|
+
},
|
|
613
|
+
{
|
|
614
|
+
"name": "ow-backdrop",
|
|
615
|
+
"value": {
|
|
616
|
+
"light": "rgba(15,23,42,0.4)",
|
|
617
|
+
"dark": "rgba(0,0,0,0.6)"
|
|
618
|
+
},
|
|
619
|
+
"usage": "The dimmed page behind a modal dialog."
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"name": "ow-dot",
|
|
623
|
+
"value": {
|
|
624
|
+
"light": "rgba(15,23,42,0.11)",
|
|
625
|
+
"dark": "rgba(255,255,255,0.09)"
|
|
626
|
+
},
|
|
627
|
+
"usage": "The dot grid's dots."
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"name": "ow-header-glass",
|
|
631
|
+
"value": {
|
|
632
|
+
"light": "rgba(255,255,255,0.85)",
|
|
633
|
+
"dark": "rgba(28,31,38,0.85)"
|
|
634
|
+
},
|
|
635
|
+
"usage": "The floating header pill, over a blur."
|
|
636
|
+
}
|
|
122
637
|
]
|
|
123
638
|
},
|
|
124
639
|
"type": {
|
|
125
640
|
"fonts": [
|
|
126
|
-
{
|
|
127
|
-
|
|
641
|
+
{
|
|
642
|
+
"family": "Inter",
|
|
643
|
+
"file": "fonts/InterVariable.woff2",
|
|
644
|
+
"weight": "100 900",
|
|
645
|
+
"style": "normal"
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
"family": "Geist Mono",
|
|
649
|
+
"file": "fonts/GeistMonoVariable.woff2",
|
|
650
|
+
"weight": "100 900",
|
|
651
|
+
"style": "normal"
|
|
652
|
+
}
|
|
128
653
|
],
|
|
129
654
|
"families": {
|
|
130
655
|
"sans": "\"Inter Variable\", Inter, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", sans-serif",
|
|
@@ -136,12 +661,58 @@
|
|
|
136
661
|
"family": "sans",
|
|
137
662
|
"note": "Marketing titles: Inter at weight 500 with tight tracking that tightens as the size grows. Never bold a display title.",
|
|
138
663
|
"styles": [
|
|
139
|
-
{
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
664
|
+
{
|
|
665
|
+
"name": "ow-type-hero",
|
|
666
|
+
"fontSize": "76px",
|
|
667
|
+
"lineHeight": 0.98,
|
|
668
|
+
"fontWeight": 500,
|
|
669
|
+
"letterSpacing": "-0.045em",
|
|
670
|
+
"sample": "Ship the idea, not the boilerplate",
|
|
671
|
+
"usage": "One home-page headline. 42px with 1.02 leading on phones."
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"name": "ow-type-page-title",
|
|
675
|
+
"fontSize": "56px",
|
|
676
|
+
"lineHeight": 1.05,
|
|
677
|
+
"fontWeight": 500,
|
|
678
|
+
"letterSpacing": "-0.035em",
|
|
679
|
+
"sample": "Pricing",
|
|
680
|
+
"usage": "A page's h1. 40px with 1.06 leading on phones."
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"name": "ow-type-section-title",
|
|
684
|
+
"fontSize": "44px",
|
|
685
|
+
"lineHeight": 1.1,
|
|
686
|
+
"fontWeight": 500,
|
|
687
|
+
"letterSpacing": "-0.03em",
|
|
688
|
+
"sample": "Everything in one place.",
|
|
689
|
+
"usage": "A section's h2, under a Chip. 32px with 1.12 leading on phones."
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"name": "ow-type-heading",
|
|
693
|
+
"fontSize": "24px",
|
|
694
|
+
"lineHeight": 1.25,
|
|
695
|
+
"fontWeight": 600,
|
|
696
|
+
"letterSpacing": "-0.02em",
|
|
697
|
+
"sample": "What you need",
|
|
698
|
+
"usage": "Headings inside docs and long pages. 21px on phones."
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
"name": "ow-type-lead",
|
|
702
|
+
"fontSize": "17px",
|
|
703
|
+
"lineHeight": 1.6,
|
|
704
|
+
"fontWeight": 400,
|
|
705
|
+
"sample": "Describe what you want. The rest is handled.",
|
|
706
|
+
"usage": "The intro under a title, in ow-text-muted, under 560px wide."
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
"name": "ow-type-prose",
|
|
710
|
+
"fontSize": "16.5px",
|
|
711
|
+
"lineHeight": 1.7,
|
|
712
|
+
"fontWeight": 400,
|
|
713
|
+
"sample": "Every change is saved before it lands, so anything can be undone.",
|
|
714
|
+
"usage": "Docs and long-form text."
|
|
715
|
+
}
|
|
145
716
|
]
|
|
146
717
|
},
|
|
147
718
|
{
|
|
@@ -149,15 +720,79 @@
|
|
|
149
720
|
"family": "sans",
|
|
150
721
|
"note": "The app's type: 14px by default, heavier named weights (control 500, emphasis 600, display 760, action 730, strong 750).",
|
|
151
722
|
"styles": [
|
|
152
|
-
{
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
{
|
|
723
|
+
{
|
|
724
|
+
"name": "ow-type-dialog-title",
|
|
725
|
+
"fontSize": "16px",
|
|
726
|
+
"lineHeight": 1.3,
|
|
727
|
+
"fontWeight": 760,
|
|
728
|
+
"sample": "Delete this project?",
|
|
729
|
+
"usage": "Dialog and panel titles; 18px for a dialog with a form."
|
|
730
|
+
},
|
|
731
|
+
{
|
|
732
|
+
"name": "ow-type-card-title",
|
|
733
|
+
"fontSize": "15px",
|
|
734
|
+
"lineHeight": 1.3,
|
|
735
|
+
"fontWeight": 600,
|
|
736
|
+
"sample": "Start from scratch",
|
|
737
|
+
"usage": "ChoiceCard and card titles."
|
|
738
|
+
},
|
|
739
|
+
{
|
|
740
|
+
"name": "ow-type-body",
|
|
741
|
+
"fontSize": "14px",
|
|
742
|
+
"lineHeight": 1.45,
|
|
743
|
+
"fontWeight": 400,
|
|
744
|
+
"sample": "Three files changed since the last checkpoint.",
|
|
745
|
+
"usage": "Default interface text, field values and menu items."
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
"name": "ow-type-copy",
|
|
749
|
+
"fontSize": "14px",
|
|
750
|
+
"lineHeight": 1.55,
|
|
751
|
+
"fontWeight": 400,
|
|
752
|
+
"sample": "This removes the project from the list. Its folder stays on disk.",
|
|
753
|
+
"usage": "Dialog descriptions and running text inside the app, in ow-text-muted."
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
"name": "ow-type-label",
|
|
757
|
+
"fontSize": "14px",
|
|
758
|
+
"lineHeight": 1.4,
|
|
759
|
+
"fontWeight": 600,
|
|
760
|
+
"sample": "Project name",
|
|
761
|
+
"usage": "Field labels, above the control."
|
|
762
|
+
},
|
|
763
|
+
{
|
|
764
|
+
"name": "ow-type-button",
|
|
765
|
+
"fontSize": "14px",
|
|
766
|
+
"lineHeight": 1.1,
|
|
767
|
+
"fontWeight": 730,
|
|
768
|
+
"sample": "Create project",
|
|
769
|
+
"usage": "Button labels at every size."
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
"name": "ow-type-caption",
|
|
773
|
+
"fontSize": "12px",
|
|
774
|
+
"lineHeight": 1.35,
|
|
775
|
+
"fontWeight": 400,
|
|
776
|
+
"sample": "Updated 2 minutes ago",
|
|
777
|
+
"usage": "Hints, option descriptions and meta lines, in ow-text-muted."
|
|
778
|
+
},
|
|
779
|
+
{
|
|
780
|
+
"name": "ow-type-badge",
|
|
781
|
+
"fontSize": "12px",
|
|
782
|
+
"lineHeight": 1,
|
|
783
|
+
"fontWeight": 750,
|
|
784
|
+
"sample": "Running",
|
|
785
|
+
"usage": "Badge labels."
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
"name": "ow-type-overline",
|
|
789
|
+
"fontSize": "11px",
|
|
790
|
+
"lineHeight": 1.35,
|
|
791
|
+
"fontWeight": 600,
|
|
792
|
+
"letterSpacing": "0.025em",
|
|
793
|
+
"sample": "RECENT",
|
|
794
|
+
"usage": "Group labels in menus, selects and the command palette; set uppercase in ow-text-muted."
|
|
795
|
+
}
|
|
161
796
|
]
|
|
162
797
|
},
|
|
163
798
|
{
|
|
@@ -165,88 +800,364 @@
|
|
|
165
800
|
"family": "mono",
|
|
166
801
|
"note": "Geist Mono for code, paths and keys.",
|
|
167
802
|
"styles": [
|
|
168
|
-
{
|
|
169
|
-
|
|
803
|
+
{
|
|
804
|
+
"name": "ow-type-code",
|
|
805
|
+
"fontSize": "14px",
|
|
806
|
+
"lineHeight": 1.5,
|
|
807
|
+
"fontWeight": 400,
|
|
808
|
+
"sample": "~/Projects/recipe-app",
|
|
809
|
+
"usage": "Inline code and paths at 0.88em of the text around them, on ow-code-ground."
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
"name": "ow-type-kbd",
|
|
813
|
+
"fontSize": "12px",
|
|
814
|
+
"lineHeight": 1,
|
|
815
|
+
"fontWeight": 500,
|
|
816
|
+
"sample": "⌘ K",
|
|
817
|
+
"usage": "Keyboard keys (Kbd)."
|
|
818
|
+
}
|
|
170
819
|
]
|
|
171
820
|
}
|
|
172
821
|
]
|
|
173
822
|
},
|
|
174
823
|
"spacing": {
|
|
175
824
|
"tokens": [
|
|
176
|
-
{
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
{
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
{
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
{
|
|
192
|
-
|
|
825
|
+
{
|
|
826
|
+
"name": "ow-space-3xs",
|
|
827
|
+
"value": "3px",
|
|
828
|
+
"usage": "Gap between a title and its description."
|
|
829
|
+
},
|
|
830
|
+
{
|
|
831
|
+
"name": "ow-space-2xs",
|
|
832
|
+
"value": "4px",
|
|
833
|
+
"usage": "Gap between menu items and options; a menu's offset from its trigger."
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
"name": "ow-space-xs",
|
|
837
|
+
"value": "6px",
|
|
838
|
+
"usage": "Menu padding; gap inside small badges; tooltip offset."
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"name": "ow-space-sm",
|
|
842
|
+
"value": "8px",
|
|
843
|
+
"usage": "The default gap: icon to label, between buttons, label to field."
|
|
844
|
+
},
|
|
845
|
+
{
|
|
846
|
+
"name": "ow-space-md",
|
|
847
|
+
"value": "10px",
|
|
848
|
+
"usage": "Small button padding; gap in dialog headers; textarea vertical padding."
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"name": "ow-space-lg",
|
|
852
|
+
"value": "12px",
|
|
853
|
+
"usage": "Field horizontal padding; ChoiceCard inner gap."
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
"name": "ow-space-xl",
|
|
857
|
+
"value": "14px",
|
|
858
|
+
"usage": "Medium button padding; the gap between a form's rows."
|
|
859
|
+
},
|
|
860
|
+
{
|
|
861
|
+
"name": "ow-space-2xl",
|
|
862
|
+
"value": "16px",
|
|
863
|
+
"usage": "Large button padding; card padding."
|
|
864
|
+
},
|
|
865
|
+
{
|
|
866
|
+
"name": "ow-space-3xl",
|
|
867
|
+
"value": "18px",
|
|
868
|
+
"usage": "Panel header padding."
|
|
869
|
+
},
|
|
870
|
+
{
|
|
871
|
+
"name": "ow-space-4xl",
|
|
872
|
+
"value": "20px",
|
|
873
|
+
"usage": "Confirm dialog padding."
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
"name": "ow-space-5xl",
|
|
877
|
+
"value": "22px",
|
|
878
|
+
"usage": "Form dialog padding; the dot grid's step."
|
|
879
|
+
},
|
|
880
|
+
{
|
|
881
|
+
"name": "ow-space-6xl",
|
|
882
|
+
"value": "26px",
|
|
883
|
+
"usage": "Large badge padding."
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"name": "ow-space-7xl",
|
|
887
|
+
"value": "28px",
|
|
888
|
+
"usage": "Generous section padding inside the app."
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
"name": "ow-page-max",
|
|
892
|
+
"value": "1200px",
|
|
893
|
+
"usage": "Marketing pages' content width cap."
|
|
894
|
+
},
|
|
895
|
+
{
|
|
896
|
+
"name": "ow-page-gutter",
|
|
897
|
+
"value": "20px",
|
|
898
|
+
"usage": "Page side gutter on phones; 32px from 768px up."
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"name": "ow-header-height",
|
|
902
|
+
"value": "56px",
|
|
903
|
+
"usage": "The floating header pill on desktop; 54px on phones."
|
|
904
|
+
},
|
|
905
|
+
{
|
|
906
|
+
"name": "ow-section-y",
|
|
907
|
+
"value": "96px",
|
|
908
|
+
"usage": "Vertical padding of a marketing section on desktop; 72px on phones."
|
|
909
|
+
}
|
|
193
910
|
]
|
|
194
911
|
},
|
|
195
912
|
"radius": {
|
|
196
913
|
"tokens": [
|
|
197
|
-
{
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
{
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
{
|
|
914
|
+
{
|
|
915
|
+
"name": "ow-radius-sm",
|
|
916
|
+
"value": "4px",
|
|
917
|
+
"usage": "Checkboxes and small keys."
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
"name": "ow-radius-code",
|
|
921
|
+
"value": "5px",
|
|
922
|
+
"usage": "Inline code and shortcut hints inside buttons."
|
|
923
|
+
},
|
|
924
|
+
{
|
|
925
|
+
"name": "ow-radius-md",
|
|
926
|
+
"value": "6px",
|
|
927
|
+
"usage": "Tooltips, keys and ChoiceCard icon tiles."
|
|
928
|
+
},
|
|
929
|
+
{
|
|
930
|
+
"name": "ow-radius-lg",
|
|
931
|
+
"value": "8px",
|
|
932
|
+
"usage": "Menu items, options and nav items."
|
|
933
|
+
},
|
|
934
|
+
{
|
|
935
|
+
"name": "ow-radius-form",
|
|
936
|
+
"value": "8px",
|
|
937
|
+
"usage": "Buttons and fields in the app."
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
"name": "ow-radius-tile",
|
|
941
|
+
"value": "10px",
|
|
942
|
+
"usage": "App icon tiles."
|
|
943
|
+
},
|
|
944
|
+
{
|
|
945
|
+
"name": "ow-radius-container",
|
|
946
|
+
"value": "12px",
|
|
947
|
+
"usage": "Cards, dialogs, menus, toasts and the select's listbox."
|
|
948
|
+
},
|
|
949
|
+
{
|
|
950
|
+
"name": "ow-radius-panel",
|
|
951
|
+
"value": "14px",
|
|
952
|
+
"usage": "Large app panels."
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
"name": "ow-radius-card",
|
|
956
|
+
"value": "18px",
|
|
957
|
+
"usage": "Content cards on marketing pages."
|
|
958
|
+
},
|
|
959
|
+
{
|
|
960
|
+
"name": "ow-radius-section",
|
|
961
|
+
"value": "22px",
|
|
962
|
+
"usage": "Large marketing panels and the menu panel."
|
|
963
|
+
},
|
|
964
|
+
{
|
|
965
|
+
"name": "ow-radius-pill",
|
|
966
|
+
"value": "999px",
|
|
967
|
+
"usage": "Badges, chips, the header, avatars, and buttons with shape=\"pill\" on marketing pages."
|
|
968
|
+
}
|
|
208
969
|
]
|
|
209
970
|
},
|
|
210
971
|
"shadow": {
|
|
211
972
|
"tokens": [
|
|
212
|
-
{
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
{
|
|
221
|
-
|
|
222
|
-
|
|
973
|
+
{
|
|
974
|
+
"name": "ow-shadow-button",
|
|
975
|
+
"value": {
|
|
976
|
+
"light": "inset 0 1px 0 rgba(255,255,255,0.18), inset 0 -1px 0 rgba(0,0,0,0.2), 0 1px 2px color-mix(in srgb, var(--ow-brand-700) 30%, transparent), 0 4px 10px -4px color-mix(in srgb, var(--ow-brand-600) 50%, transparent)",
|
|
977
|
+
"dark": "inset 0 1px 0 rgba(255,255,255,0.18), inset 0 -1px 0 rgba(0,0,0,0.2), 0 1px 2px rgba(0,0,0,0.45), 0 4px 10px -4px rgba(0,0,0,0.7)"
|
|
978
|
+
},
|
|
979
|
+
"usage": "The primary button: a highlight along the top, a dark lower edge and a glow underneath."
|
|
980
|
+
},
|
|
981
|
+
{
|
|
982
|
+
"name": "ow-shadow-button-secondary",
|
|
983
|
+
"value": {
|
|
984
|
+
"light": "inset 0 1px 0 rgba(255,255,255,0.7), 0 1px 2px rgba(15,23,42,0.08)",
|
|
985
|
+
"dark": "inset 0 1px 0 rgba(255,255,255,0.06), 0 1px 2px rgba(0,0,0,0.4)"
|
|
986
|
+
},
|
|
987
|
+
"usage": "Secondary buttons and ChoiceCards."
|
|
988
|
+
},
|
|
989
|
+
{
|
|
990
|
+
"name": "ow-shadow-button-danger",
|
|
991
|
+
"value": {
|
|
992
|
+
"light": "inset 0 1px 0 rgba(255,255,255,0.25), inset 0 -1px 0 rgba(0,0,0,0.12), 0 1px 2px rgba(127,29,29,0.25), 0 4px 10px -4px rgba(220,38,38,0.5)",
|
|
993
|
+
"dark": "inset 0 1px 0 rgba(255,255,255,0.25), inset 0 -1px 0 rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.45), 0 4px 10px -4px rgba(0,0,0,0.7)"
|
|
994
|
+
},
|
|
995
|
+
"usage": "The danger button."
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
"name": "ow-shadow-pressed",
|
|
999
|
+
"value": "inset 0 2px 4px rgba(0,0,0,0.18)",
|
|
1000
|
+
"usage": "Primary and danger buttons while pressed, with a 1px drop."
|
|
1001
|
+
},
|
|
1002
|
+
{
|
|
1003
|
+
"name": "ow-shadow-pressed-secondary",
|
|
1004
|
+
"value": {
|
|
1005
|
+
"light": "inset 0 1px 2px rgba(15,23,42,0.1)",
|
|
1006
|
+
"dark": "inset 0 1px 2px rgba(0,0,0,0.4)"
|
|
1007
|
+
},
|
|
1008
|
+
"usage": "Secondary buttons while pressed."
|
|
1009
|
+
},
|
|
1010
|
+
{
|
|
1011
|
+
"name": "ow-shadow-control",
|
|
1012
|
+
"value": {
|
|
1013
|
+
"light": "0 1px 2px rgba(0,0,0,0.06)",
|
|
1014
|
+
"dark": "0 1px 2px rgba(0,0,0,0.4)"
|
|
1015
|
+
},
|
|
1016
|
+
"usage": "Switch knobs, checkboxes and the active nav item."
|
|
1017
|
+
},
|
|
1018
|
+
{
|
|
1019
|
+
"name": "ow-shadow-menu",
|
|
1020
|
+
"value": {
|
|
1021
|
+
"light": "0 12px 24px rgba(0,0,0,0.12), 0 1px 3px rgba(0,0,0,0.08)",
|
|
1022
|
+
"dark": "0 12px 24px rgba(0,0,0,0.5), 0 1px 3px rgba(0,0,0,0.4)"
|
|
1023
|
+
},
|
|
1024
|
+
"usage": "Menus, the select's listbox, dialogs, the command palette and toasts."
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
"name": "ow-shadow-focus",
|
|
1028
|
+
"value": {
|
|
1029
|
+
"light": "0 0 0 3px color-mix(in srgb, var(--ow-brand-600) 14%, transparent)",
|
|
1030
|
+
"dark": "0 0 0 3px color-mix(in srgb, var(--ow-brand-400) 28%, transparent)"
|
|
1031
|
+
},
|
|
1032
|
+
"usage": "The soft halo around a focused field, with ow-focus-border."
|
|
1033
|
+
},
|
|
1034
|
+
{
|
|
1035
|
+
"name": "ow-shadow-focus-danger",
|
|
1036
|
+
"value": {
|
|
1037
|
+
"light": "0 0 0 3px rgba(239,68,68,0.12)",
|
|
1038
|
+
"dark": "0 0 0 3px rgba(239,68,68,0.24)"
|
|
1039
|
+
},
|
|
1040
|
+
"usage": "The halo around a focused invalid field."
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
"name": "ow-shadow-header",
|
|
1044
|
+
"value": {
|
|
1045
|
+
"light": "0 1px 2px rgba(0,0,0,0.04), 0 6px 20px rgba(0,0,0,0.04)",
|
|
1046
|
+
"dark": "0 1px 2px rgba(0,0,0,0.3), 0 6px 20px rgba(0,0,0,0.3)"
|
|
1047
|
+
},
|
|
1048
|
+
"usage": "The floating header pill."
|
|
1049
|
+
},
|
|
1050
|
+
{
|
|
1051
|
+
"name": "ow-shadow-lift",
|
|
1052
|
+
"value": {
|
|
1053
|
+
"light": "0 20px 40px color-mix(in srgb, var(--ow-brand-700) 35%, transparent)",
|
|
1054
|
+
"dark": "0 20px 40px rgba(0,0,0,0.6)"
|
|
1055
|
+
},
|
|
1056
|
+
"usage": "A large app icon or hero visual standing alone. The only shadow decoration takes."
|
|
1057
|
+
}
|
|
223
1058
|
]
|
|
224
1059
|
},
|
|
225
1060
|
"timing": {
|
|
226
1061
|
"tokens": [
|
|
227
|
-
{
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
{
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
1062
|
+
{
|
|
1063
|
+
"name": "ow-duration-fast",
|
|
1064
|
+
"value": "120ms",
|
|
1065
|
+
"usage": "Small colour changes."
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"name": "ow-duration-base",
|
|
1069
|
+
"value": "180ms",
|
|
1070
|
+
"usage": "Hover, press, focus and form transitions."
|
|
1071
|
+
},
|
|
1072
|
+
{
|
|
1073
|
+
"name": "ow-duration-slow",
|
|
1074
|
+
"value": "260ms",
|
|
1075
|
+
"usage": "Menus, panels and messages entering."
|
|
1076
|
+
},
|
|
1077
|
+
{
|
|
1078
|
+
"name": "ow-duration-exit",
|
|
1079
|
+
"value": "140ms",
|
|
1080
|
+
"usage": "Menus, popovers, tooltips and dialogs leaving: exits are quicker than entrances."
|
|
1081
|
+
},
|
|
1082
|
+
{
|
|
1083
|
+
"name": "ow-duration-panel",
|
|
1084
|
+
"value": "340ms",
|
|
1085
|
+
"usage": "Drawers sliding in, accordions opening: large things that travel further."
|
|
1086
|
+
},
|
|
1087
|
+
{
|
|
1088
|
+
"name": "ow-ease-standard",
|
|
1089
|
+
"value": "cubic-bezier(0.2, 0, 0, 1)",
|
|
1090
|
+
"usage": "Every UI transition."
|
|
1091
|
+
},
|
|
1092
|
+
{
|
|
1093
|
+
"name": "ow-ease-emphasized",
|
|
1094
|
+
"value": "cubic-bezier(0.16, 1, 0.3, 1)",
|
|
1095
|
+
"usage": "Things entering: menus, panels, messages."
|
|
1096
|
+
},
|
|
1097
|
+
{
|
|
1098
|
+
"name": "ow-ease-exit",
|
|
1099
|
+
"value": "cubic-bezier(0.4, 0, 1, 1)",
|
|
1100
|
+
"usage": "Things leaving: they speed up as they go."
|
|
1101
|
+
},
|
|
1102
|
+
{
|
|
1103
|
+
"name": "ow-ease-spring",
|
|
1104
|
+
"value": "cubic-bezier(0.34, 1.4, 0.64, 1)",
|
|
1105
|
+
"usage": "Switch knobs, sliding indicators and check marks: a small overshoot that settles."
|
|
1106
|
+
}
|
|
236
1107
|
]
|
|
237
1108
|
},
|
|
238
1109
|
"weight": {
|
|
239
1110
|
"tokens": [
|
|
240
|
-
{
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
{
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
1111
|
+
{
|
|
1112
|
+
"name": "ow-weight-regular",
|
|
1113
|
+
"value": "400",
|
|
1114
|
+
"usage": "Body text and field values."
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
"name": "ow-weight-control",
|
|
1118
|
+
"value": "500",
|
|
1119
|
+
"usage": "Menu items, option descriptions, nav labels."
|
|
1120
|
+
},
|
|
1121
|
+
{
|
|
1122
|
+
"name": "ow-weight-emphasis",
|
|
1123
|
+
"value": "600",
|
|
1124
|
+
"usage": "Labels, selected options, card titles."
|
|
1125
|
+
},
|
|
1126
|
+
{
|
|
1127
|
+
"name": "ow-weight-label",
|
|
1128
|
+
"value": "680",
|
|
1129
|
+
"usage": "Small strong labels."
|
|
1130
|
+
},
|
|
1131
|
+
{
|
|
1132
|
+
"name": "ow-weight-heavy",
|
|
1133
|
+
"value": "700",
|
|
1134
|
+
"usage": "Heavy emphasis."
|
|
1135
|
+
},
|
|
1136
|
+
{
|
|
1137
|
+
"name": "ow-weight-title",
|
|
1138
|
+
"value": "720",
|
|
1139
|
+
"usage": "App section titles."
|
|
1140
|
+
},
|
|
1141
|
+
{
|
|
1142
|
+
"name": "ow-weight-action",
|
|
1143
|
+
"value": "730",
|
|
1144
|
+
"usage": "Button labels."
|
|
1145
|
+
},
|
|
1146
|
+
{
|
|
1147
|
+
"name": "ow-weight-subheading",
|
|
1148
|
+
"value": "740",
|
|
1149
|
+
"usage": "App subheadings."
|
|
1150
|
+
},
|
|
1151
|
+
{
|
|
1152
|
+
"name": "ow-weight-strong",
|
|
1153
|
+
"value": "750",
|
|
1154
|
+
"usage": "Badge labels."
|
|
1155
|
+
},
|
|
1156
|
+
{
|
|
1157
|
+
"name": "ow-weight-display",
|
|
1158
|
+
"value": "760",
|
|
1159
|
+
"usage": "Dialog titles and app headings."
|
|
1160
|
+
}
|
|
250
1161
|
]
|
|
251
1162
|
}
|
|
252
1163
|
}
|