@adobe/design-data-spec 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/components/accordion.json +517 -0
  2. package/components/action-bar.json +203 -0
  3. package/components/action-button.json +481 -0
  4. package/components/action-group.json +82 -0
  5. package/components/alert-banner.json +111 -0
  6. package/components/alert-dialog.json +152 -0
  7. package/components/avatar-group.json +140 -0
  8. package/components/avatar.json +184 -0
  9. package/components/badge.json +502 -0
  10. package/components/body.json +29 -0
  11. package/components/bottom-navigation-android.json +41 -0
  12. package/components/breadcrumbs.json +263 -0
  13. package/components/button-group.json +47 -0
  14. package/components/button.json +466 -8
  15. package/components/calendar.json +104 -0
  16. package/components/cards.json +512 -0
  17. package/components/checkbox-group.json +54 -0
  18. package/components/checkbox.json +303 -0
  19. package/components/close-button.json +170 -0
  20. package/components/coach-indicator.json +76 -0
  21. package/components/coach-mark.json +157 -0
  22. package/components/code.json +25 -0
  23. package/components/color-area.json +115 -0
  24. package/components/color-handle.json +85 -0
  25. package/components/color-loupe.json +74 -0
  26. package/components/color-slider.json +121 -0
  27. package/components/color-wheel.json +94 -0
  28. package/components/combo-box.json +480 -0
  29. package/components/contextual-help.json +162 -0
  30. package/components/date-picker.json +439 -0
  31. package/components/detail.json +30 -0
  32. package/components/divider.json +73 -0
  33. package/components/drop-zone.json +211 -0
  34. package/components/field-label.json +189 -0
  35. package/components/heading.json +33 -0
  36. package/components/help-text.json +186 -0
  37. package/components/illustrated-message.json +155 -0
  38. package/components/in-field-progress-button.json +44 -0
  39. package/components/in-field-progress-circle.json +80 -0
  40. package/components/in-line-alert.json +201 -0
  41. package/components/link.json +135 -0
  42. package/components/list-view.json +355 -0
  43. package/components/menu.json +542 -0
  44. package/components/meter.json +162 -0
  45. package/components/number-field.json +468 -0
  46. package/components/opacity-checkerboard.json +43 -0
  47. package/components/picker.json +522 -0
  48. package/components/popover.json +119 -0
  49. package/components/progress-bar.json +182 -0
  50. package/components/progress-circle.json +99 -0
  51. package/components/radio-button.json +285 -0
  52. package/components/radio-group.json +63 -0
  53. package/components/rating.json +145 -0
  54. package/components/scroll-zoom-bar.json +53 -0
  55. package/components/search-field.json +306 -0
  56. package/components/segmented-control.json +210 -0
  57. package/components/select-box.json +248 -0
  58. package/components/side-navigation.json +293 -0
  59. package/components/slider.json +370 -0
  60. package/components/standard-dialog.json +151 -0
  61. package/components/standard-panel.json +53 -0
  62. package/components/status-light.json +272 -0
  63. package/components/steplist.json +270 -0
  64. package/components/swatch-group.json +62 -0
  65. package/components/swatch.json +193 -0
  66. package/components/switch.json +305 -0
  67. package/components/tab-bar-ios.json +41 -0
  68. package/components/table.json +392 -0
  69. package/components/tabs.json +229 -0
  70. package/components/tag-field.json +203 -0
  71. package/components/tag-group.json +53 -0
  72. package/components/tag.json +376 -0
  73. package/components/takeover-dialog.json +92 -0
  74. package/components/text-area.json +485 -0
  75. package/components/text-field.json +501 -0
  76. package/components/thumbnail.json +109 -0
  77. package/components/title.json +39 -0
  78. package/components/toast.json +131 -0
  79. package/components/tooltip.json +140 -0
  80. package/components/tray.json +21 -0
  81. package/components/tree-view.json +341 -0
  82. package/conformance/invalid/SPEC-027/dataset.json +25 -0
  83. package/conformance/invalid/SPEC-027/expected-errors.json +10 -0
  84. package/conformance/valid/token-bindings.json +27 -0
  85. package/package.json +2 -1
  86. package/rules/rules.yaml +9 -0
  87. package/schemas/component.schema.json +24 -2
  88. package/schemas/token.schema.json +27 -0
  89. package/spec/agent-surface.md +39 -9
  90. package/spec/component-format.md +41 -16
  91. package/spec/token-format.md +18 -0
  92. package/src/validate.js +27 -3
@@ -0,0 +1,501 @@
1
+ {
2
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component.schema.json",
3
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/text-field.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "text-field",
6
+ "displayName": "Text field",
7
+ "description": "Text fields allow users to input custom text entries with a keyboard. Various options can be shown with the field to communicate the input requirements.",
8
+ "meta": {
9
+ "category": "inputs",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/text-field/"
11
+ },
12
+ "options": {
13
+ "label": {
14
+ "type": "string"
15
+ },
16
+ "labelPosition": {
17
+ "type": "string",
18
+ "default": "top",
19
+ "enum": ["top", "side"]
20
+ },
21
+ "hideLabel": {
22
+ "type": "boolean",
23
+ "default": false
24
+ },
25
+ "value": {
26
+ "type": "string",
27
+ "description": "from minValue to maxValue"
28
+ },
29
+ "width": {
30
+ "type": "number"
31
+ },
32
+ "size": {
33
+ "type": "string",
34
+ "enum": ["s", "m", "l", "xl"],
35
+ "default": "m"
36
+ },
37
+ "necessityIndicator": {
38
+ "type": "string",
39
+ "enum": ["text", "icon"],
40
+ "default": "icon"
41
+ },
42
+ "isRequired": {
43
+ "type": "boolean",
44
+ "default": false
45
+ },
46
+ "hasCharacterCount": {
47
+ "type": "boolean",
48
+ "default": false
49
+ },
50
+ "showValidIcon": {
51
+ "type": "boolean",
52
+ "default": false
53
+ },
54
+ "isError": {
55
+ "type": "boolean",
56
+ "default": false,
57
+ "description": "If there is an error, this property overrides show valid icon."
58
+ },
59
+ "isDisabled": {
60
+ "type": "boolean",
61
+ "default": false
62
+ },
63
+ "helpText": {
64
+ "type": "string"
65
+ },
66
+ "errorMessage": {
67
+ "type": "string"
68
+ }
69
+ },
70
+ "states": [
71
+ {
72
+ "name": "hover",
73
+ "trigger": "interaction"
74
+ },
75
+ {
76
+ "name": "focus-+-hover",
77
+ "trigger": "prop"
78
+ },
79
+ {
80
+ "name": "focus-+-not-hover",
81
+ "trigger": "prop"
82
+ },
83
+ {
84
+ "name": "keyboard-focus",
85
+ "trigger": "interaction"
86
+ }
87
+ ],
88
+ "lifecycle": {
89
+ "introduced": "1.0.0-draft"
90
+ },
91
+ "tokenBindings": [
92
+ {
93
+ "token": "field-default-width-small",
94
+ "context": "Width (default)"
95
+ },
96
+ {
97
+ "token": "field-default-width-medium",
98
+ "context": "Width (default)"
99
+ },
100
+ {
101
+ "token": "field-default-width-large",
102
+ "context": "Width (default)"
103
+ },
104
+ {
105
+ "token": "field-default-width-extra-large",
106
+ "context": "Width (default)"
107
+ },
108
+ {
109
+ "token": "text-field-minimum-width-multiplier",
110
+ "context": "Width (minimum)"
111
+ },
112
+ {
113
+ "token": "component-height-75",
114
+ "context": "Height"
115
+ },
116
+ {
117
+ "token": "component-height-100",
118
+ "context": "Height"
119
+ },
120
+ {
121
+ "token": "component-height-200",
122
+ "context": "Height"
123
+ },
124
+ {
125
+ "token": "component-height-300",
126
+ "context": "Height"
127
+ },
128
+ {
129
+ "token": "corner-radius-medium-size-small",
130
+ "context": "Rounding"
131
+ },
132
+ {
133
+ "token": "corner-radius-medium-size-medium",
134
+ "context": "Rounding"
135
+ },
136
+ {
137
+ "token": "corner-radius-medium-size-large",
138
+ "context": "Rounding"
139
+ },
140
+ {
141
+ "token": "corner-radius-medium-size-extra-large",
142
+ "context": "Rounding"
143
+ },
144
+ {
145
+ "token": "component-edge-to-text-75",
146
+ "context": "Spacing (start/end edge to value)"
147
+ },
148
+ {
149
+ "token": "component-edge-to-text-100",
150
+ "context": "Spacing (start/end edge to value)"
151
+ },
152
+ {
153
+ "token": "component-edge-to-text-200",
154
+ "context": "Spacing (start/end edge to value)"
155
+ },
156
+ {
157
+ "token": "component-edge-to-text-300",
158
+ "context": "Spacing (start/end edge to value)"
159
+ },
160
+ {
161
+ "token": "workflow-icon-size-75",
162
+ "context": "Prefix min-width"
163
+ },
164
+ {
165
+ "token": "workflow-icon-size-100",
166
+ "context": "Prefix min-width"
167
+ },
168
+ {
169
+ "token": "workflow-icon-size-200",
170
+ "context": "Prefix min-width"
171
+ },
172
+ {
173
+ "token": "workflow-icon-size-300",
174
+ "context": "Prefix min-width"
175
+ },
176
+ {
177
+ "token": "text-to-visual-75",
178
+ "context": "Spacing (prefix to value/placeholder)"
179
+ },
180
+ {
181
+ "token": "text-to-visual-100",
182
+ "context": "Spacing (prefix to value/placeholder)"
183
+ },
184
+ {
185
+ "token": "text-to-visual-200",
186
+ "context": "Spacing (prefix to value/placeholder)"
187
+ },
188
+ {
189
+ "token": "text-to-visual-300",
190
+ "context": "Spacing (prefix to value/placeholder)"
191
+ },
192
+ {
193
+ "token": "border-width-200",
194
+ "context": "Border"
195
+ },
196
+ {
197
+ "token": "focus-indicator-thickness",
198
+ "context": "Focus indicator"
199
+ },
200
+ {
201
+ "token": "component-top-to-workflow-icon-75",
202
+ "context": "Spacing (top/bottom edge to alert icon)"
203
+ },
204
+ {
205
+ "token": "component-top-to-workflow-icon-100",
206
+ "context": "Spacing (top/bottom edge to alert icon)"
207
+ },
208
+ {
209
+ "token": "component-top-to-workflow-icon-200",
210
+ "context": "Spacing (top/bottom edge to alert icon)"
211
+ },
212
+ {
213
+ "token": "component-top-to-workflow-icon-300",
214
+ "context": "Spacing (top/bottom edge to alert icon)"
215
+ },
216
+ {
217
+ "token": "field-edge-to-alert-icon-small",
218
+ "context": "Spacing (alert icon to end edge)"
219
+ },
220
+ {
221
+ "token": "field-edge-to-alert-icon-medium",
222
+ "context": "Spacing (alert icon to end edge)"
223
+ },
224
+ {
225
+ "token": "field-edge-to-alert-icon-large",
226
+ "context": "Spacing (alert icon to end edge)"
227
+ },
228
+ {
229
+ "token": "field-edge-to-alert-icon-extra-large",
230
+ "context": "Spacing (alert icon to end edge)"
231
+ },
232
+ {
233
+ "token": "checkmark-icon-size-75",
234
+ "context": "Checkmark UI icon asset"
235
+ },
236
+ {
237
+ "token": "checkmark-icon-size-100",
238
+ "context": "Checkmark UI icon asset"
239
+ },
240
+ {
241
+ "token": "checkmark-icon-size-200",
242
+ "context": "Checkmark UI icon asset"
243
+ },
244
+ {
245
+ "token": "checkmark-icon-size-300",
246
+ "context": "Checkmark UI icon asset"
247
+ },
248
+ {
249
+ "token": "field-top-to-validation-icon-small",
250
+ "context": "Spacing (top/bottom edge to validation icon)"
251
+ },
252
+ {
253
+ "token": "field-top-to-validation-icon-medium",
254
+ "context": "Spacing (top/bottom edge to validation icon)"
255
+ },
256
+ {
257
+ "token": "field-top-to-validation-icon-large",
258
+ "context": "Spacing (top/bottom edge to validation icon)"
259
+ },
260
+ {
261
+ "token": "field-top-to-validation-icon-extra-large",
262
+ "context": "Spacing (top/bottom edge to validation icon)"
263
+ },
264
+ {
265
+ "token": "field-edge-to-validation-icon-small",
266
+ "context": "Spacing (validation icon to end edge)"
267
+ },
268
+ {
269
+ "token": "field-edge-to-validation-icon-medium",
270
+ "context": "Spacing (validation icon to end edge)"
271
+ },
272
+ {
273
+ "token": "field-edge-to-validation-icon-large",
274
+ "context": "Spacing (validation icon to end edge)"
275
+ },
276
+ {
277
+ "token": "field-edge-to-validation-icon-extra-large",
278
+ "context": "Spacing (validation icon to end edge)"
279
+ },
280
+ {
281
+ "token": "field-label-to-component",
282
+ "context": "Spacing (field label to text field)"
283
+ },
284
+ {
285
+ "token": "spacing-200",
286
+ "context": "Spacing (character count to field label)"
287
+ },
288
+ {
289
+ "token": "component-bottom-to-text-75",
290
+ "context": "Spacing (character count to field)"
291
+ },
292
+ {
293
+ "token": "component-bottom-to-text-100",
294
+ "context": "Spacing (character count to field)"
295
+ },
296
+ {
297
+ "token": "component-bottom-to-text-200",
298
+ "context": "Spacing (character count to field)"
299
+ },
300
+ {
301
+ "token": "component-bottom-to-text-300",
302
+ "context": "Spacing (character count to field)"
303
+ },
304
+ {
305
+ "token": "side-label-character-count-to-field",
306
+ "context": "Spacing (side label, field to character count)"
307
+ },
308
+ {
309
+ "token": "help-text-to-component",
310
+ "context": "Spacing (text field to help text)"
311
+ },
312
+ {
313
+ "token": "gray-25",
314
+ "context": "Background and border"
315
+ },
316
+ {
317
+ "token": "gray-300",
318
+ "context": "Background and border"
319
+ },
320
+ {
321
+ "token": "gray-400",
322
+ "context": "Background and border"
323
+ },
324
+ {
325
+ "token": "gray-900",
326
+ "context": "Background and border"
327
+ },
328
+ {
329
+ "token": "gray-800",
330
+ "context": "Background and border"
331
+ },
332
+ {
333
+ "token": "neutral-subdued-content-color-default",
334
+ "context": "Background and border"
335
+ },
336
+ {
337
+ "token": "negative-border-color-default",
338
+ "context": "Border (error)"
339
+ },
340
+ {
341
+ "token": "negative-border-color-hover",
342
+ "context": "Border (error)"
343
+ },
344
+ {
345
+ "token": "negative-border-color-focus-hover",
346
+ "context": "Border (error)"
347
+ },
348
+ {
349
+ "token": "negative-border-color-focus",
350
+ "context": "Border (error)"
351
+ },
352
+ {
353
+ "token": "negative-border-color-key-focus",
354
+ "context": "Border (error)"
355
+ },
356
+ {
357
+ "token": "neutral-content-color-default",
358
+ "context": "Value"
359
+ },
360
+ {
361
+ "token": "neutral-content-color-hover",
362
+ "context": "Value"
363
+ },
364
+ {
365
+ "token": "neutral-content-color-focus-hover",
366
+ "context": "Value"
367
+ },
368
+ {
369
+ "token": "neutral-content-color-focus",
370
+ "context": "Value"
371
+ },
372
+ {
373
+ "token": "neutral-content-color-key-focus",
374
+ "context": "Value"
375
+ },
376
+ {
377
+ "token": "negative-visual-color",
378
+ "context": "Alert icon"
379
+ },
380
+ {
381
+ "token": "positive-visual-color",
382
+ "context": "Positive icon"
383
+ },
384
+ {
385
+ "token": "disabled-border-color",
386
+ "context": "Disabled"
387
+ },
388
+ {
389
+ "token": "disabled-content-color",
390
+ "context": "Disabled"
391
+ },
392
+ {
393
+ "token": "focus-indicator-color",
394
+ "context": "Focus ring"
395
+ },
396
+ {
397
+ "token": "gray-600",
398
+ "context": "Leading icon"
399
+ },
400
+ {
401
+ "token": "default-font-family",
402
+ "context": "Value"
403
+ },
404
+ {
405
+ "token": "regular-font-weight",
406
+ "context": "Value"
407
+ },
408
+ {
409
+ "token": "default-font-style",
410
+ "context": "Value"
411
+ },
412
+ {
413
+ "token": "component-s-regular",
414
+ "context": "Value"
415
+ },
416
+ {
417
+ "token": "component-m-regular",
418
+ "context": "Value"
419
+ },
420
+ {
421
+ "token": "component-l-regular",
422
+ "context": "Value"
423
+ },
424
+ {
425
+ "token": "component-xl-regular",
426
+ "context": "Value"
427
+ },
428
+ {
429
+ "token": "line-height-font-size-75",
430
+ "context": "Value"
431
+ },
432
+ {
433
+ "token": "line-height-font-size-100",
434
+ "context": "Value"
435
+ },
436
+ {
437
+ "token": "line-height-font-size-200",
438
+ "context": "Value"
439
+ },
440
+ {
441
+ "token": "line-height-font-size-300",
442
+ "context": "Value"
443
+ },
444
+ {
445
+ "token": "cjk-line-height-100",
446
+ "context": "Value"
447
+ },
448
+ {
449
+ "token": "medium-font-weight",
450
+ "context": "Prefix"
451
+ },
452
+ {
453
+ "token": "component-s-medium",
454
+ "context": "Prefix"
455
+ },
456
+ {
457
+ "token": "component-m-medium",
458
+ "context": "Prefix"
459
+ },
460
+ {
461
+ "token": "component-l-medium",
462
+ "context": "Prefix"
463
+ },
464
+ {
465
+ "token": "component-xl-medium",
466
+ "context": "Prefix"
467
+ },
468
+ {
469
+ "token": "component-padding-vertical-200",
470
+ "context": "Spacing (top/bottom edge to text)"
471
+ },
472
+ {
473
+ "token": "component-padding-vertical-300",
474
+ "context": "Spacing (top/bottom edge to text)"
475
+ },
476
+ {
477
+ "token": "component-top-to-text-50",
478
+ "context": "Spacing (top/bottom edge to text)"
479
+ },
480
+ {
481
+ "token": "component-top-to-text-100",
482
+ "context": "Spacing (top/bottom edge to text)"
483
+ },
484
+ {
485
+ "token": "component-top-to-text-300",
486
+ "context": "Leading icon (top/bottom edge to leading icon)"
487
+ },
488
+ {
489
+ "token": "component-top-to-workflow-icon-400",
490
+ "context": "Leading icon (top/bottom edge to leading icon)"
491
+ },
492
+ {
493
+ "token": "field-label-top-to-asterisk-large",
494
+ "context": "Spacing (top/bottom edge to required)"
495
+ },
496
+ {
497
+ "token": "field-label-top-to-asterisk-extra-large",
498
+ "context": "Spacing (top/bottom edge to required)"
499
+ }
500
+ ]
501
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component.schema.json",
3
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/thumbnail.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "thumbnail",
6
+ "displayName": "Thumbnail",
7
+ "description": "Thumbnails are small representations of images or content used for previews and navigation in galleries, lists, and media collections.",
8
+ "meta": {
9
+ "category": "navigation",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/thumbnail/"
11
+ },
12
+ "options": {
13
+ "size": {
14
+ "type": "number",
15
+ "enum": [50, 75, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]
16
+ }
17
+ },
18
+ "states": [
19
+ {
20
+ "name": "disabled",
21
+ "trigger": "prop"
22
+ }
23
+ ],
24
+ "lifecycle": {
25
+ "introduced": "1.0.0-draft"
26
+ },
27
+ "tokenBindings": [
28
+ {
29
+ "token": "thumbnail-size-50",
30
+ "context": "Size"
31
+ },
32
+ {
33
+ "token": "thumbnail-size-75",
34
+ "context": "Size"
35
+ },
36
+ {
37
+ "token": "thumbnail-size-100",
38
+ "context": "Size"
39
+ },
40
+ {
41
+ "token": "thumbnail-size-200",
42
+ "context": "Size"
43
+ },
44
+ {
45
+ "token": "thumbnail-size-300",
46
+ "context": "Size"
47
+ },
48
+ {
49
+ "token": "thumbnail-size-400",
50
+ "context": "Size"
51
+ },
52
+ {
53
+ "token": "thumbnail-size-500",
54
+ "context": "Size"
55
+ },
56
+ {
57
+ "token": "thumbnail-size-600",
58
+ "context": "Size"
59
+ },
60
+ {
61
+ "token": "thumbnail-size-700",
62
+ "context": "Size"
63
+ },
64
+ {
65
+ "token": "thumbnail-size-800",
66
+ "context": "Size"
67
+ },
68
+ {
69
+ "token": "thumbnail-size-900",
70
+ "context": "Size"
71
+ },
72
+ {
73
+ "token": "thumbnail-size-1000",
74
+ "context": "Size"
75
+ },
76
+ {
77
+ "token": "thumbnail-corner-radius",
78
+ "context": "Rounding"
79
+ },
80
+ {
81
+ "token": "thumbnail-opacity-checkerboard-square-size",
82
+ "context": "Opacity Checkerboard"
83
+ },
84
+ {
85
+ "token": "border-width-100",
86
+ "context": "Border"
87
+ },
88
+ {
89
+ "token": "thumbnail-border-color",
90
+ "context": "Border "
91
+ },
92
+ {
93
+ "token": "thumbnail-border-opacity",
94
+ "context": "Border "
95
+ },
96
+ {
97
+ "token": "opacity-checkerboard-square-light",
98
+ "context": "Checkerboard Colors "
99
+ },
100
+ {
101
+ "token": "opacity-checkerboard-square-dark",
102
+ "context": "Checkerboard Colors "
103
+ },
104
+ {
105
+ "token": "thumbnail-opacity-disabled",
106
+ "context": "Disabled"
107
+ }
108
+ ]
109
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component.schema.json",
3
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/title.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "title",
6
+ "displayName": "Title",
7
+ "description": "Title is a typography component used for large, prominent headings and display text.",
8
+ "meta": {
9
+ "category": "typography",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/title/"
11
+ },
12
+ "options": {
13
+ "script": {
14
+ "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/typography-script.json"
15
+ },
16
+ "classification": {
17
+ "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/typography-classification.json"
18
+ },
19
+ "size": {
20
+ "type": "string",
21
+ "enum": ["xs", "s", "m", "l", "xl", "xxl", "xxxl"],
22
+ "default": "m"
23
+ }
24
+ },
25
+ "lifecycle": {
26
+ "introduced": "1.0.0-draft"
27
+ },
28
+ "tokenBindings": [
29
+ { "token": "font-family", "context": "Title-XXXL" },
30
+ { "token": "font-weight", "context": "Title-XXXL" },
31
+ { "token": "font-size", "context": "Title-XXXL" },
32
+ { "token": "line-height", "context": "Title-XXXL" },
33
+ { "token": "letter-spacing", "context": "Title-XXXL" },
34
+ { "token": "font-style", "context": "Title-XXXL" },
35
+ { "token": "title-margin-top-multiplier", "context": "Margins" },
36
+ { "token": "title-margin-bottom-multiplier", "context": "Margins" },
37
+ { "token": "title-color", "context": "Color" }
38
+ ]
39
+ }