@adobe/design-data-spec 1.5.0 → 2.1.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 (134) hide show
  1. package/conformance/invalid/SPEC-009/expected-errors.json +1 -1
  2. package/conformance/invalid/SPEC-018/dataset.json +8 -1
  3. package/conformance/invalid/SPEC-034/expected-errors.json +1 -1
  4. package/conformance/invalid/SPEC-035/expected-errors.json +1 -1
  5. package/conformance/invalid/SPEC-044/empty-optional-dir/components/.gitkeep +0 -0
  6. package/conformance/invalid/SPEC-044/empty-optional-dir/expected-errors.json +10 -0
  7. package/conformance/invalid/SPEC-044/empty-optional-dir/tokens/base.tokens.json +1 -0
  8. package/conformance/invalid/SPEC-044/missing-tokens/expected-errors.json +10 -0
  9. package/conformance/valid/SPEC-044/components/button.json +9 -0
  10. package/conformance/valid/SPEC-044/expected-errors.json +4 -0
  11. package/conformance/valid/SPEC-044/tokens/base.tokens.json +1 -0
  12. package/package.json +6 -6
  13. package/rules/rules.yaml +27 -7
  14. package/schemas/component.schema.json +1 -1
  15. package/schemas/dataset.schema.json +39 -0
  16. package/schemas/manifest.schema.json +1 -23
  17. package/schemas/mode-set.schema.json +4 -0
  18. package/schemas/platform-extension.json +79 -0
  19. package/schemas/registry-value.json +230 -0
  20. package/schemas/token.schema.json +1 -1
  21. package/spec/agent-surface.md +16 -14
  22. package/spec/anatomy-format.md +1 -1
  23. package/spec/cascade.md +1 -1
  24. package/spec/dataset-layout.md +72 -0
  25. package/spec/index.md +7 -5
  26. package/spec/mode-sets.md +1 -1
  27. package/spec/registry.md +6 -8
  28. package/spec/taxonomy.md +32 -32
  29. package/spec/token-format.md +11 -3
  30. package/components/accordion.json +0 -557
  31. package/components/action-bar.json +0 -214
  32. package/components/action-button.json +0 -522
  33. package/components/action-group.json +0 -134
  34. package/components/alert-banner.json +0 -134
  35. package/components/alert-dialog.json +0 -180
  36. package/components/avatar-group.json +0 -166
  37. package/components/avatar.json +0 -246
  38. package/components/badge.json +0 -594
  39. package/components/body.json +0 -54
  40. package/components/bottom-navigation-android.json +0 -72
  41. package/components/breadcrumbs.json +0 -307
  42. package/components/button-group.json +0 -86
  43. package/components/button.json +0 -586
  44. package/components/calendar.json +0 -133
  45. package/components/cards.json +0 -541
  46. package/components/checkbox-group.json +0 -91
  47. package/components/checkbox.json +0 -339
  48. package/components/close-button.json +0 -208
  49. package/components/coach-indicator.json +0 -105
  50. package/components/coach-mark.json +0 -169
  51. package/components/code.json +0 -44
  52. package/components/color-area.json +0 -138
  53. package/components/color-handle.json +0 -111
  54. package/components/color-loupe.json +0 -77
  55. package/components/color-slider.json +0 -165
  56. package/components/color-wheel.json +0 -117
  57. package/components/combo-box.json +0 -543
  58. package/components/contextual-help.json +0 -230
  59. package/components/date-picker.json +0 -471
  60. package/components/detail.json +0 -53
  61. package/components/divider.json +0 -93
  62. package/components/drop-zone.json +0 -238
  63. package/components/field-label.json +0 -219
  64. package/components/heading.json +0 -68
  65. package/components/help-text.json +0 -209
  66. package/components/illustrated-message.json +0 -175
  67. package/components/in-field-progress-button.json +0 -88
  68. package/components/in-field-progress-circle.json +0 -116
  69. package/components/in-line-alert.json +0 -233
  70. package/components/link.json +0 -167
  71. package/components/list-view.json +0 -382
  72. package/components/menu.json +0 -597
  73. package/components/meter.json +0 -199
  74. package/components/number-field.json +0 -518
  75. package/components/opacity-checkerboard.json +0 -69
  76. package/components/picker.json +0 -579
  77. package/components/popover.json +0 -174
  78. package/components/progress-bar.json +0 -229
  79. package/components/progress-circle.json +0 -132
  80. package/components/radio-button.json +0 -308
  81. package/components/radio-group.json +0 -113
  82. package/components/rating.json +0 -168
  83. package/components/scroll-zoom-bar.json +0 -82
  84. package/components/search-field.json +0 -346
  85. package/components/segmented-control.json +0 -248
  86. package/components/select-box.json +0 -272
  87. package/components/side-navigation.json +0 -320
  88. package/components/slider.json +0 -407
  89. package/components/standard-dialog.json +0 -179
  90. package/components/standard-panel.json +0 -83
  91. package/components/status-light.json +0 -334
  92. package/components/steplist.json +0 -294
  93. package/components/swatch-group.json +0 -114
  94. package/components/swatch.json +0 -240
  95. package/components/switch.json +0 -336
  96. package/components/tab-bar-ios.json +0 -72
  97. package/components/table.json +0 -435
  98. package/components/tabs.json +0 -253
  99. package/components/tag-field.json +0 -243
  100. package/components/tag-group.json +0 -87
  101. package/components/tag.json +0 -393
  102. package/components/takeover-dialog.json +0 -117
  103. package/components/text-area.json +0 -555
  104. package/components/text-field.json +0 -555
  105. package/components/thumbnail.json +0 -149
  106. package/components/title.json +0 -91
  107. package/components/toast.json +0 -156
  108. package/components/tooltip.json +0 -179
  109. package/components/tray.json +0 -32
  110. package/components/tree-view.json +0 -393
  111. package/fields/alignment.json +0 -15
  112. package/fields/anatomy.json +0 -15
  113. package/fields/color-scheme.json +0 -15
  114. package/fields/colorFamily.json +0 -15
  115. package/fields/component.json +0 -15
  116. package/fields/contrast.json +0 -15
  117. package/fields/density.json +0 -15
  118. package/fields/easing.json +0 -15
  119. package/fields/family.json +0 -15
  120. package/fields/motionRole.json +0 -15
  121. package/fields/object.json +0 -15
  122. package/fields/orientation.json +0 -15
  123. package/fields/position.json +0 -15
  124. package/fields/property.json +0 -15
  125. package/fields/scale.json +0 -15
  126. package/fields/scaleIndex.json +0 -15
  127. package/fields/shape.json +0 -15
  128. package/fields/size.json +0 -15
  129. package/fields/state.json +0 -15
  130. package/fields/structure.json +0 -15
  131. package/fields/style.json +0 -15
  132. package/fields/substructure.json +0 -15
  133. package/fields/variant.json +0 -15
  134. package/fields/weight.json +0 -15
@@ -1,522 +0,0 @@
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/action-button.json",
4
- "specVersion": "1.0.0-draft",
5
- "name": "action-button",
6
- "displayName": "Action button",
7
- "description": "Action buttons allow users to perform an action or mark a selection. They're used for similar, task-based options within a workflow, and are ideal for interfaces where buttons aren't meant to draw a lot of attention.",
8
- "meta": {
9
- "category": "actions",
10
- "documentationUrl": "https://spectrum.adobe.com/page/action-button/"
11
- },
12
- "options": {
13
- "label": {
14
- "type": "string"
15
- },
16
- "hideLabel": {
17
- "type": "boolean",
18
- "default": false
19
- },
20
- "icon": {
21
- "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/workflow-icon.json",
22
- "description": "Icon must be present if the label is not defined."
23
- },
24
- "size": {
25
- "type": "string",
26
- "default": "m",
27
- "values": [
28
- {
29
- "value": "xs"
30
- },
31
- {
32
- "value": "s"
33
- },
34
- {
35
- "value": "m"
36
- },
37
- {
38
- "value": "l"
39
- },
40
- {
41
- "value": "xl"
42
- }
43
- ]
44
- },
45
- "isQuiet": {
46
- "type": "boolean",
47
- "default": false
48
- },
49
- "isSelected": {
50
- "type": "boolean",
51
- "default": false
52
- },
53
- "isEmphasized": {
54
- "type": "boolean",
55
- "default": false
56
- },
57
- "staticColor": {
58
- "type": "string",
59
- "description": "Static color must not be set for the default version of this component.",
60
- "values": [
61
- {
62
- "value": "white"
63
- },
64
- {
65
- "value": "black"
66
- }
67
- ]
68
- },
69
- "selectedTextColor": {
70
- "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/hex-color.json"
71
- },
72
- "hasHoldIcon": {
73
- "type": "boolean",
74
- "default": false
75
- },
76
- "isDisabled": {
77
- "type": "boolean",
78
- "default": false
79
- }
80
- },
81
- "states": [
82
- {
83
- "name": "hover",
84
- "trigger": "interaction"
85
- },
86
- {
87
- "name": "down",
88
- "trigger": "interaction"
89
- },
90
- {
91
- "name": "keyboard-focus",
92
- "trigger": "interaction"
93
- }
94
- ],
95
- "lifecycle": {
96
- "introduced": "1.0.0-draft"
97
- },
98
- "tokenBindings": [
99
- {
100
- "token": "component-height-50",
101
- "context": "Height"
102
- },
103
- {
104
- "token": "component-height-75",
105
- "context": "Height"
106
- },
107
- {
108
- "token": "component-height-100",
109
- "context": "Height"
110
- },
111
- {
112
- "token": "component-height-200",
113
- "context": "Height"
114
- },
115
- {
116
- "token": "component-height-300",
117
- "context": "Height"
118
- },
119
- {
120
- "token": "component-size-difference-down",
121
- "context": "Component size (down)"
122
- },
123
- {
124
- "token": "component-size-width-ratio-down",
125
- "context": "Component size (down)"
126
- },
127
- {
128
- "token": "component-size-minimum-perspective-down",
129
- "context": "Component size (down)"
130
- },
131
- {
132
- "token": "corner-radius-medium-size-extra-small",
133
- "context": "Rounding"
134
- },
135
- {
136
- "token": "corner-radius-medium-size-small",
137
- "context": "Rounding"
138
- },
139
- {
140
- "token": "corner-radius-medium-size-medium",
141
- "context": "Rounding"
142
- },
143
- {
144
- "token": "corner-radius-medium-size-large",
145
- "context": "Rounding"
146
- },
147
- {
148
- "token": "corner-radius-medium-size-extra-large",
149
- "context": "Rounding"
150
- },
151
- {
152
- "token": "workflow-icon-size-50",
153
- "context": "Icon"
154
- },
155
- {
156
- "token": "workflow-icon-size-75",
157
- "context": "Icon"
158
- },
159
- {
160
- "token": "workflow-icon-size-100",
161
- "context": "Icon"
162
- },
163
- {
164
- "token": "workflow-icon-size-200",
165
- "context": "Icon"
166
- },
167
- {
168
- "token": "workflow-icon-size-300",
169
- "context": "Icon"
170
- },
171
- {
172
- "token": "text-to-visual-50",
173
- "context": "Spacing (icon to label)"
174
- },
175
- {
176
- "token": "text-to-visual-75",
177
- "context": "Spacing (icon to label)"
178
- },
179
- {
180
- "token": "text-to-visual-100",
181
- "context": "Spacing (icon to label)"
182
- },
183
- {
184
- "token": "text-to-visual-200",
185
- "context": "Spacing (icon to label)"
186
- },
187
- {
188
- "token": "text-to-visual-300",
189
- "context": "Spacing (icon to label)"
190
- },
191
- {
192
- "token": "component-edge-to-visual-50",
193
- "context": "Spacing (start/end edges)"
194
- },
195
- {
196
- "token": "component-edge-to-visual-75",
197
- "context": "Spacing (start/end edges)"
198
- },
199
- {
200
- "token": "component-edge-to-visual-100",
201
- "context": "Spacing (start/end edges)"
202
- },
203
- {
204
- "token": "component-edge-to-visual-200",
205
- "context": "Spacing (start/end edges)"
206
- },
207
- {
208
- "token": "component-edge-to-visual-300",
209
- "context": "Spacing (start/end edges)"
210
- },
211
- {
212
- "token": "component-edge-to-text-50",
213
- "context": "Spacing (start/end edges)"
214
- },
215
- {
216
- "token": "component-edge-to-text-75",
217
- "context": "Spacing (start/end edges)"
218
- },
219
- {
220
- "token": "component-edge-to-text-100",
221
- "context": "Spacing (start/end edges)"
222
- },
223
- {
224
- "token": "component-edge-to-text-200",
225
- "context": "Spacing (start/end edges)"
226
- },
227
- {
228
- "token": "component-edge-to-text-300",
229
- "context": "Spacing (start/end edges)"
230
- },
231
- {
232
- "token": "component-edge-to-visual-only-50",
233
- "context": "Spacing (start/end edges, icon only)"
234
- },
235
- {
236
- "token": "component-edge-to-visual-only-75",
237
- "context": "Spacing (start/end edges, icon only)"
238
- },
239
- {
240
- "token": "component-edge-to-visual-only-100",
241
- "context": "Spacing (start/end edges, icon only)"
242
- },
243
- {
244
- "token": "component-edge-to-visual-only-200",
245
- "context": "Spacing (start/end edges, icon only)"
246
- },
247
- {
248
- "token": "component-edge-to-visual-only-300",
249
- "context": "Spacing (start/end edges, icon only)"
250
- },
251
- {
252
- "token": "component-top-to-workflow-icon-50",
253
- "context": "Spacing (top edge to icon)"
254
- },
255
- {
256
- "token": "component-top-to-workflow-icon-75",
257
- "context": "Spacing (top edge to icon)"
258
- },
259
- {
260
- "token": "component-top-to-workflow-icon-100",
261
- "context": "Spacing (top edge to icon)"
262
- },
263
- {
264
- "token": "component-top-to-workflow-icon-200",
265
- "context": "Spacing (top edge to icon)"
266
- },
267
- {
268
- "token": "component-top-to-workflow-icon-300",
269
- "context": "Spacing (top edge to icon)"
270
- },
271
- {
272
- "token": "component-top-to-text-50",
273
- "context": "Spacing (top edge to label)"
274
- },
275
- {
276
- "token": "component-top-to-text-75",
277
- "context": "Spacing (top edge to label)"
278
- },
279
- {
280
- "token": "component-top-to-text-100",
281
- "context": "Spacing (top edge to label)"
282
- },
283
- {
284
- "token": "component-top-to-text-200",
285
- "context": "Spacing (top edge to label)"
286
- },
287
- {
288
- "token": "component-top-to-text-300",
289
- "context": "Spacing (top edge to label)"
290
- },
291
- {
292
- "token": "focus-indicator-thickness",
293
- "context": "Focus ring"
294
- },
295
- {
296
- "token": "focus-indicator-gap",
297
- "context": "Focus ring"
298
- },
299
- {
300
- "token": "action-button-edge-to-hold-icon-extra-small",
301
- "context": "Spacing (edge to hold icon)"
302
- },
303
- {
304
- "token": "action-button-edge-to-hold-icon-small",
305
- "context": "Spacing (edge to hold icon)"
306
- },
307
- {
308
- "token": "action-button-edge-to-hold-icon-medium",
309
- "context": "Spacing (edge to hold icon)"
310
- },
311
- {
312
- "token": "action-button-edge-to-hold-icon-large",
313
- "context": "Spacing (edge to hold icon)"
314
- },
315
- {
316
- "token": "action-button-edge-to-hold-icon-extra-large",
317
- "context": "Spacing (edge to hold icon)"
318
- },
319
- {
320
- "token": "default-font-family",
321
- "context": "Label"
322
- },
323
- {
324
- "token": "medium-font-weight",
325
- "context": "Label"
326
- },
327
- {
328
- "token": "default-font-style",
329
- "context": "Label"
330
- },
331
- {
332
- "token": "font-size-50",
333
- "context": "Label"
334
- },
335
- {
336
- "token": "font-size-75",
337
- "context": "Label"
338
- },
339
- {
340
- "token": "font-size-100",
341
- "context": "Label"
342
- },
343
- {
344
- "token": "font-size-200",
345
- "context": "Label"
346
- },
347
- {
348
- "token": "font-size-300",
349
- "context": "Label"
350
- },
351
- {
352
- "token": "line-height-100",
353
- "context": "Label"
354
- },
355
- {
356
- "token": "cjk-line-height-100",
357
- "context": "Label"
358
- },
359
- {
360
- "token": "gray-100",
361
- "context": "Background "
362
- },
363
- {
364
- "token": "gray-200",
365
- "context": "Background "
366
- },
367
- {
368
- "token": "neutral-content-color-default",
369
- "context": "Label, icon, and hold icon"
370
- },
371
- {
372
- "token": "neutral-content-color-hover",
373
- "context": "Label, icon, and hold icon"
374
- },
375
- {
376
- "token": "neutral-content-color-down",
377
- "context": "Label, icon, and hold icon"
378
- },
379
- {
380
- "token": "neutral-content-color-key-focus",
381
- "context": "Label, icon, and hold icon"
382
- },
383
- {
384
- "token": "neutral-background-color-selected-default",
385
- "context": "Background (selected, non emphasized)"
386
- },
387
- {
388
- "token": "neutral-background-color-selected-hover",
389
- "context": "Background (selected, non emphasized)"
390
- },
391
- {
392
- "token": "neutral-background-color-selected-down",
393
- "context": "Background (selected, non emphasized)"
394
- },
395
- {
396
- "token": "neutral-background-color-selected-key-focus",
397
- "context": "Background (selected, non emphasized)"
398
- },
399
- {
400
- "token": "gray-25",
401
- "context": "Label, icon, and hold icon (selected, non emphasized)"
402
- },
403
- {
404
- "token": "accent-background-color-default",
405
- "context": "Background (selected, emphasized)"
406
- },
407
- {
408
- "token": "accent-background-color-hover",
409
- "context": "Background (selected, emphasized)"
410
- },
411
- {
412
- "token": "accent-background-color-down",
413
- "context": "Background (selected, emphasized)"
414
- },
415
- {
416
- "token": "accent-background-color-key-focus",
417
- "context": "Background (selected, emphasized)"
418
- },
419
- {
420
- "token": "white",
421
- "context": "Label, icon, and hold icon (selected, emphasized)"
422
- },
423
- {
424
- "token": "disabled-background-color",
425
- "context": "Background (disabled)"
426
- },
427
- {
428
- "token": "disabled-content-color",
429
- "context": "Label, icon, and hold icon (disabled)"
430
- },
431
- {
432
- "token": "focus-indicator-color",
433
- "context": "Focus ring"
434
- },
435
- {
436
- "token": "transparent-white-100",
437
- "context": "Background "
438
- },
439
- {
440
- "token": "transparent-white-200",
441
- "context": "Background "
442
- },
443
- {
444
- "token": "transparent-white-800",
445
- "context": "Label, icon, and hold icon"
446
- },
447
- {
448
- "token": "transparent-white-900",
449
- "context": "Label, icon, and hold icon"
450
- },
451
- {
452
- "token": "black",
453
- "context": "Label, icon, and hold icon (selected, white)"
454
- },
455
- {
456
- "token": "disabled-static-white-background-color",
457
- "context": "Background (disabled, white)"
458
- },
459
- {
460
- "token": "transparent-white-25",
461
- "context": "Background (disabled, white)"
462
- },
463
- {
464
- "token": "disabled-static-white-content-color",
465
- "context": "Label, icon, and hold icon (disabled, white)"
466
- },
467
- {
468
- "token": "static-white-focus-indicator-color",
469
- "context": "Focus ring (white)"
470
- },
471
- {
472
- "token": "transparent-black-100",
473
- "context": "Background "
474
- },
475
- {
476
- "token": "transparent-black-200",
477
- "context": "Background "
478
- },
479
- {
480
- "token": "transparent-black-800",
481
- "context": "Label, icon, and hold icon"
482
- },
483
- {
484
- "token": "transparent-black-900",
485
- "context": "Label, icon, and hold icon"
486
- },
487
- {
488
- "token": "disabled-static-black-background-color",
489
- "context": "Background (disabled, black)"
490
- },
491
- {
492
- "token": "transparent-black-25",
493
- "context": "Background (disabled, black)"
494
- },
495
- {
496
- "token": "disabled-static-black-content-color",
497
- "context": "Label, icon, and hold icon (disabled, black)"
498
- },
499
- {
500
- "token": "static-black-focus-indicator-color",
501
- "context": "Focus ring (black)"
502
- }
503
- ],
504
- "accessibility": {
505
- "role": "button",
506
- "intents": ["trigger"],
507
- "focusable": true,
508
- "keyboardIntents": ["activate"],
509
- "wcag": [
510
- {
511
- "criterion": "2.1.1",
512
- "level": "A",
513
- "title": "Keyboard"
514
- },
515
- {
516
- "criterion": "4.1.2",
517
- "level": "A",
518
- "title": "Name, Role, Value"
519
- }
520
- ]
521
- }
522
- }
@@ -1,134 +0,0 @@
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/action-group.json",
4
- "specVersion": "1.0.0-draft",
5
- "name": "action-group",
6
- "displayName": "Action group",
7
- "description": "An action group is a grouping of action buttons that are related to each other.",
8
- "meta": {
9
- "category": "actions",
10
- "documentationUrl": "https://spectrum.adobe.com/page/action-group/"
11
- },
12
- "options": {
13
- "orientation": {
14
- "type": "string",
15
- "default": "horizontal",
16
- "values": [
17
- {
18
- "value": "horizontal"
19
- },
20
- {
21
- "value": "vertical"
22
- }
23
- ]
24
- },
25
- "size": {
26
- "type": "string",
27
- "default": "m",
28
- "values": [
29
- {
30
- "value": "s"
31
- },
32
- {
33
- "value": "m"
34
- },
35
- {
36
- "value": "l"
37
- },
38
- {
39
- "value": "xl"
40
- }
41
- ]
42
- },
43
- "density": {
44
- "type": "string",
45
- "default": "regular",
46
- "values": [
47
- {
48
- "value": "regular"
49
- },
50
- {
51
- "value": "compact"
52
- }
53
- ]
54
- },
55
- "isJustified": {
56
- "type": "boolean",
57
- "default": false
58
- },
59
- "isQuiet": {
60
- "type": "boolean",
61
- "default": false
62
- },
63
- "isEmphasized": {
64
- "type": "boolean",
65
- "default": false
66
- },
67
- "enableSelection": {
68
- "type": "boolean",
69
- "default": false
70
- },
71
- "selectionMode": {
72
- "type": "string",
73
- "default": "single",
74
- "description": "Only applicable if selection is enabled",
75
- "values": [
76
- {
77
- "value": "single"
78
- },
79
- {
80
- "value": "multiple"
81
- }
82
- ]
83
- },
84
- "allowsEmptySelection": {
85
- "type": "boolean",
86
- "default": false,
87
- "description": "Only applicable if selection is enabled"
88
- },
89
- "overflowMode": {
90
- "type": "string",
91
- "default": "wrap",
92
- "values": [
93
- {
94
- "value": "wrap"
95
- },
96
- {
97
- "value": "collapse"
98
- }
99
- ]
100
- },
101
- "isDisabled": {
102
- "type": "boolean",
103
- "default": false
104
- }
105
- },
106
- "lifecycle": {
107
- "introduced": "1.0.0-draft"
108
- },
109
- "tokenBindings": [
110
- {
111
- "token": "spacing-75",
112
- "context": "Spacing (horizontal, regular)"
113
- },
114
- {
115
- "token": "spacing-100",
116
- "context": "Spacing (horizontal, regular)"
117
- },
118
- {
119
- "token": "spacing-50",
120
- "context": "Spacing (horizontal, compact)"
121
- }
122
- ],
123
- "accessibility": {
124
- "intents": ["trigger"],
125
- "focusable": false,
126
- "wcag": [
127
- {
128
- "criterion": "2.1.1",
129
- "level": "A",
130
- "title": "Keyboard"
131
- }
132
- ]
133
- }
134
- }