@adobe/design-data-spec 0.4.0 → 0.6.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 (81) hide show
  1. package/components/accordion.json +431 -1
  2. package/components/action-bar.json +183 -1
  3. package/components/action-button.json +407 -1
  4. package/components/action-group.json +15 -1
  5. package/components/alert-banner.json +79 -1
  6. package/components/alert-dialog.json +107 -1
  7. package/components/avatar-group.json +115 -1
  8. package/components/avatar.json +131 -1
  9. package/components/badge.json +430 -1
  10. package/components/breadcrumbs.json +175 -1
  11. package/components/button-group.json +11 -1
  12. package/components/button.json +466 -8
  13. package/components/cards.json +483 -1
  14. package/components/checkbox-group.json +2 -1
  15. package/components/checkbox.json +243 -1
  16. package/components/close-button.json +123 -1
  17. package/components/coach-indicator.json +39 -1
  18. package/components/coach-mark.json +103 -1
  19. package/components/color-area.json +39 -1
  20. package/components/color-handle.json +51 -1
  21. package/components/color-loupe.json +55 -1
  22. package/components/color-slider.json +43 -1
  23. package/components/color-wheel.json +35 -1
  24. package/components/combo-box.json +387 -1
  25. package/components/contextual-help.json +83 -1
  26. package/components/date-picker.json +279 -1
  27. package/components/divider.json +47 -1
  28. package/components/drop-zone.json +167 -1
  29. package/components/field-label.json +147 -1
  30. package/components/help-text.json +147 -1
  31. package/components/illustrated-message.json +107 -1
  32. package/components/in-field-progress-circle.json +55 -1
  33. package/components/in-line-alert.json +155 -1
  34. package/components/link.json +91 -1
  35. package/components/list-view.json +263 -1
  36. package/components/menu.json +467 -1
  37. package/components/meter.json +115 -1
  38. package/components/number-field.json +399 -1
  39. package/components/opacity-checkerboard.json +19 -1
  40. package/components/picker.json +431 -1
  41. package/components/popover.json +51 -1
  42. package/components/progress-bar.json +115 -1
  43. package/components/progress-circle.json +55 -1
  44. package/components/radio-button.json +243 -1
  45. package/components/radio-group.json +2 -1
  46. package/components/rating.json +99 -1
  47. package/components/search-field.json +235 -1
  48. package/components/segmented-control.json +135 -1
  49. package/components/select-box.json +187 -1
  50. package/components/side-navigation.json +223 -1
  51. package/components/slider.json +279 -1
  52. package/components/standard-dialog.json +99 -1
  53. package/components/status-light.json +219 -1
  54. package/components/steplist.json +215 -1
  55. package/components/swatch-group.json +15 -1
  56. package/components/swatch.json +136 -2
  57. package/components/switch.json +251 -1
  58. package/components/table.json +271 -1
  59. package/components/tabs.json +151 -1
  60. package/components/tag-field.json +151 -1
  61. package/components/tag-group.json +19 -1
  62. package/components/tag.json +323 -1
  63. package/components/takeover-dialog.json +35 -1
  64. package/components/text-area.json +383 -1
  65. package/components/text-field.json +411 -1
  66. package/components/thumbnail.json +83 -1
  67. package/components/title.json +39 -0
  68. package/components/toast.json +99 -1
  69. package/components/tooltip.json +87 -1
  70. package/components/tree-view.json +279 -1
  71. package/conformance/invalid/SPEC-027/dataset.json +25 -0
  72. package/conformance/invalid/SPEC-027/expected-errors.json +10 -0
  73. package/conformance/valid/token-bindings.json +27 -0
  74. package/package.json +1 -1
  75. package/rules/rules.yaml +9 -0
  76. package/schemas/component.schema.json +22 -0
  77. package/schemas/token.schema.json +27 -0
  78. package/spec/agent-surface.md +39 -9
  79. package/spec/component-format.md +41 -16
  80. package/spec/token-format.md +18 -0
  81. package/src/validate.js +27 -3
@@ -87,5 +87,415 @@
87
87
  ],
88
88
  "lifecycle": {
89
89
  "introduced": "1.0.0-draft"
90
- }
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
+ ]
91
501
  }
@@ -23,5 +23,87 @@
23
23
  ],
24
24
  "lifecycle": {
25
25
  "introduced": "1.0.0-draft"
26
- }
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
+ ]
27
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
+ }
@@ -29,5 +29,103 @@
29
29
  },
30
30
  "lifecycle": {
31
31
  "introduced": "1.0.0-draft"
32
- }
32
+ },
33
+ "tokenBindings": [
34
+ {
35
+ "token": "toast-height",
36
+ "context": "Height"
37
+ },
38
+ {
39
+ "token": "toast-maximum-width",
40
+ "context": "Width (maximum)"
41
+ },
42
+ {
43
+ "token": "corner-radius-800",
44
+ "context": "Rounding"
45
+ },
46
+ {
47
+ "token": "workflow-icon-size-100",
48
+ "context": "Icon"
49
+ },
50
+ {
51
+ "token": "text-to-visual-300",
52
+ "context": "Spacing (icon to text)"
53
+ },
54
+ {
55
+ "token": "spacing-400",
56
+ "context": "Spacing (text to button, horizontal)"
57
+ },
58
+ {
59
+ "token": "spacing-300",
60
+ "context": "Spacing (start edge to text and icon)"
61
+ },
62
+ {
63
+ "token": "spacing-200",
64
+ "context": "Spacing (button to close button, horizontal)"
65
+ },
66
+ {
67
+ "token": "spacing-100",
68
+ "context": "Spacing (close button to end edge)"
69
+ },
70
+ {
71
+ "token": "toast-top-to-workflow-icon",
72
+ "context": "18px (desktop), 20px (mobile)"
73
+ },
74
+ {
75
+ "token": "toast-top-to-text",
76
+ "context": "18px (desktop), 20px (mobile)"
77
+ },
78
+ {
79
+ "token": "toast-bottom-to-text",
80
+ "context": "20px (desktop), 22px (mobile)"
81
+ },
82
+ {
83
+ "token": "neutral-subdued-background-color-default",
84
+ "context": "Background"
85
+ },
86
+ {
87
+ "token": "informative-background-color-default",
88
+ "context": "Background"
89
+ },
90
+ {
91
+ "token": "positive-background-color-default",
92
+ "context": "Background"
93
+ },
94
+ {
95
+ "token": "negative-background-color-default",
96
+ "context": "Background"
97
+ },
98
+ {
99
+ "token": "white",
100
+ "context": "Text and icon"
101
+ },
102
+ {
103
+ "token": "default-font-family",
104
+ "context": "Value"
105
+ },
106
+ {
107
+ "token": "regular-font-weight",
108
+ "context": "Value"
109
+ },
110
+ {
111
+ "token": "default-font-style",
112
+ "context": "Value"
113
+ },
114
+ {
115
+ "token": "font-size-100",
116
+ "context": "Value"
117
+ },
118
+ {
119
+ "token": "line-height-100",
120
+ "context": "Value"
121
+ },
122
+ {
123
+ "token": "cjk-line-height-100",
124
+ "context": "Value"
125
+ },
126
+ {
127
+ "token": "neutral-background-color-default",
128
+ "context": "Toast token changes (Jan 2025)"
129
+ }
130
+ ]
33
131
  }