@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,72 +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/tab-bar-ios.json",
4
- "specVersion": "1.0.0-draft",
5
- "name": "tab-bar-ios",
6
- "displayName": "Tab bar (iOS)",
7
- "description": "Tab bar is a top-level navigation control for iOS apps.",
8
- "meta": {
9
- "category": "navigation",
10
- "documentationUrl": "https://spectrum.adobe.com/page/tab-bar-ios/"
11
- },
12
- "options": {
13
- "label": {
14
- "type": "string"
15
- },
16
- "labelPosition": {
17
- "type": "string",
18
- "default": "bottom",
19
- "values": [
20
- {
21
- "value": "bottom"
22
- },
23
- {
24
- "value": "side"
25
- }
26
- ]
27
- },
28
- "icon": {
29
- "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/workflow-icon.json"
30
- },
31
- "background": {
32
- "type": "string",
33
- "default": "primary",
34
- "values": [
35
- {
36
- "value": "primary"
37
- },
38
- {
39
- "value": "secondary"
40
- }
41
- ]
42
- },
43
- "hasBadge": {
44
- "type": "boolean",
45
- "default": false
46
- },
47
- "isDisabled": {
48
- "type": "boolean",
49
- "default": false
50
- }
51
- },
52
- "lifecycle": {
53
- "introduced": "1.0.0-draft"
54
- },
55
- "accessibility": {
56
- "intents": ["navigate"],
57
- "focusable": true,
58
- "keyboardIntents": ["navigate-items"],
59
- "wcag": [
60
- {
61
- "criterion": "2.1.1",
62
- "level": "A",
63
- "title": "Keyboard"
64
- },
65
- {
66
- "criterion": "4.1.2",
67
- "level": "A",
68
- "title": "Name, Role, Value"
69
- }
70
- ]
71
- }
72
- }
@@ -1,435 +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/table.json",
4
- "specVersion": "1.0.0-draft",
5
- "name": "table",
6
- "displayName": "Table",
7
- "description": "Tables display information in rows and columns, allowing users to compare and scan structured data.",
8
- "meta": {
9
- "category": "data-visualization",
10
- "documentationUrl": "https://spectrum.adobe.com/page/table/"
11
- },
12
- "options": {
13
- "size": {
14
- "type": "string",
15
- "default": "m",
16
- "description": "Controls the density of table rows.",
17
- "values": [
18
- {
19
- "value": "s"
20
- },
21
- {
22
- "value": "m"
23
- },
24
- {
25
- "value": "l"
26
- }
27
- ]
28
- },
29
- "hideHeader": {
30
- "type": "boolean",
31
- "default": false,
32
- "description": "If true, the table header is hidden."
33
- },
34
- "header": {
35
- "type": "object",
36
- "description": "Configuration for the table header row.",
37
- "properties": {
38
- "alignment": {
39
- "type": "string",
40
- "enum": ["left", "right"],
41
- "default": "left",
42
- "description": "Alignment of the table header text."
43
- },
44
- "state": {
45
- "type": "string",
46
- "enum": ["default", "hover", "down", "keyboard focus"],
47
- "default": "default",
48
- "description": "Interaction state of the header row."
49
- }
50
- }
51
- },
52
- "density": {
53
- "type": "string",
54
- "default": "regular",
55
- "values": [
56
- {
57
- "value": "compact"
58
- },
59
- {
60
- "value": "regular"
61
- },
62
- {
63
- "value": "spacious"
64
- }
65
- ]
66
- },
67
- "isQuiet": {
68
- "type": "boolean",
69
- "default": false,
70
- "description": "If true, the table uses a quiet visual style."
71
- },
72
- "isSortable": {
73
- "type": "boolean",
74
- "default": false,
75
- "description": "If true, table columns can be sorted."
76
- },
77
- "columns": {
78
- "type": "array",
79
- "description": "An array of column definitions for the table.",
80
- "items": {
81
- "type": "object",
82
- "properties": {
83
- "key": {
84
- "type": "string",
85
- "description": "Unique identifier for the column."
86
- },
87
- "label": {
88
- "type": "string",
89
- "description": "The header text displayed for the column."
90
- },
91
- "type": {
92
- "type": "string",
93
- "enum": [
94
- "text",
95
- "number",
96
- "avatar",
97
- "date",
98
- "sparkline",
99
- "select",
100
- "layout"
101
- ],
102
- "default": "text",
103
- "description": "Defines the data type for the column."
104
- },
105
- "resizing": {
106
- "type": "string",
107
- "enum": ["fluid", "fixed"],
108
- "default": "fluid",
109
- "description": "Defines whether the column width is fluid or fixed."
110
- },
111
- "summary placement": {
112
- "type": "string",
113
- "enum": ["top", "bottom"],
114
- "default": "bottom",
115
- "description": "Placement of the summary row for this column, if applicable."
116
- },
117
- "summary text": {
118
- "type": "string",
119
- "description": "Text to display in the summary row for this column, if applicable."
120
- },
121
- "isSortable": {
122
- "type": "boolean",
123
- "default": false,
124
- "description": "Whether this column is sortable."
125
- }
126
- },
127
- "required": ["key", "label", "type"]
128
- }
129
- },
130
- "rows": {
131
- "type": "array",
132
- "description": "An array of row data for the table.",
133
- "items": {
134
- "type": "object",
135
- "description": "Each object represents a single row, keyed by column IDs."
136
- }
137
- }
138
- },
139
- "lifecycle": {
140
- "introduced": "1.0.0-draft"
141
- },
142
- "tokenBindings": [
143
- {
144
- "token": "chevron-100",
145
- "context": "Header icons"
146
- },
147
- {
148
- "token": "corner-radius-medium-size-extra-small",
149
- "context": "Note: desktop 6px, mobile 6px;"
150
- },
151
- {
152
- "token": "component-height-100",
153
- "context": "Column header row height"
154
- },
155
- {
156
- "token": "table-column-header-row-top-to-text-medium",
157
- "context": "Spacing (column header row top/bottom to text)"
158
- },
159
- {
160
- "token": "table-column-header-row-bottom-to-text-medium",
161
- "context": "Spacing (column header row top/bottom to text)"
162
- },
163
- {
164
- "token": "table-row-height-medium-compact",
165
- "context": "Row height (minimum, compact density)"
166
- },
167
- {
168
- "token": "table-row-height-medium",
169
- "context": "Row height (minimum, regular density)"
170
- },
171
- {
172
- "token": "table-row-height-medium-spacious",
173
- "context": "Row height (minimum, spacious density)"
174
- },
175
- {
176
- "token": "table-row-top-to-text-medium-compact",
177
- "context": "Spacing (row top/bottom to text, compact density)"
178
- },
179
- {
180
- "token": "table-row-bottom-to-text-medium-compact",
181
- "context": "Spacing (row top/bottom to text, compact density)"
182
- },
183
- {
184
- "token": "table-row-top-to-text-medium",
185
- "context": "Note: desktop 11px, mobile 14px;"
186
- },
187
- {
188
- "token": "table-row-bottom-to-text-medium",
189
- "context": "Note: desktop 11px, mobile 14px;"
190
- },
191
- {
192
- "token": "table-row-top-to-text-medium-spacious",
193
- "context": "Spacing (row top/bottom to text, spacious density)"
194
- },
195
- {
196
- "token": "table-row-bottom-to-text-medium-spacious",
197
- "context": "Spacing (row top/bottom to text, spacious density)"
198
- },
199
- {
200
- "token": "table-edge-to-content",
201
- "context": "Spacing (text to start/end edge or divider)"
202
- },
203
- {
204
- "token": "text-to-visual-300",
205
- "context": "Note: desktop 8px, mobile 10px;\n\nThis applies to icon, avatar, and thumbnail."
206
- },
207
- {
208
- "token": "table-border-divider-width",
209
- "context": "Border and column divider width"
210
- },
211
- {
212
- "token": "table-checkbox-to-text",
213
- "context": "Spacing (checkbox to text)"
214
- },
215
- {
216
- "token": "table-header-row-checkbox-to-top-medium",
217
- "context": "Note: desktop 8px, mobile 11px;"
218
- },
219
- {
220
- "token": "table-row-checkbox-to-top-medium-compact",
221
- "context": "Note: desktop 8px, mobile 11px;"
222
- },
223
- {
224
- "token": "table-row-checkbox-to-top-medium",
225
- "context": "Note: desktop 12px, mobile 16px;"
226
- },
227
- {
228
- "token": "table-row-checkbox-to-top-medium-spacious",
229
- "context": "Note: desktop 16px, mobile 21px;"
230
- },
231
- {
232
- "token": "table-section-header-row-height-medium",
233
- "context": "Section header row height"
234
- },
235
- {
236
- "token": "component-top-to-text-100",
237
- "context": "Spacing (section header row top/bottom to text) "
238
- },
239
- {
240
- "token": "component-bottom-to-text-100",
241
- "context": "Spacing (section header row top/bottom to text) "
242
- },
243
- {
244
- "token": "accent-content-color-selected",
245
- "context": "Selection indicator"
246
- },
247
- {
248
- "token": "border-width-100",
249
- "context": "Note: 1px;"
250
- },
251
- {
252
- "token": "corner-radius-small-default",
253
- "context": "Focus indicator (cell)"
254
- },
255
- {
256
- "token": "side-focus-indicator",
257
- "context": "Focus indicator (row)"
258
- },
259
- {
260
- "token": "body-color",
261
- "context": "Column header and row (text)"
262
- },
263
- {
264
- "token": "neutral-subdued-content-color-default",
265
- "context": "Row: not selected"
266
- },
267
- {
268
- "token": "neutral-subdued-content-color-hover",
269
- "context": "Row: not selected"
270
- },
271
- {
272
- "token": "neutral-subdued-content-color-key-focus",
273
- "context": "Row: not selected"
274
- },
275
- {
276
- "token": "neutral-content-color-default",
277
- "context": "Row: selected, checkbox & highlight"
278
- },
279
- {
280
- "token": "neutral-content-color-default-hover",
281
- "context": "Row: selected, checkbox & highlight"
282
- },
283
- {
284
- "token": "neutral-content-color-default-down",
285
- "context": "Row: selected, checkbox & highlight"
286
- },
287
- {
288
- "token": "neutral-content-color-default-key-focus",
289
- "context": "Row: selected, checkbox & highlight"
290
- },
291
- {
292
- "token": "neutral-subdued-content-color-down",
293
- "context": "Sort UI icon asset"
294
- },
295
- {
296
- "token": "gray-25",
297
- "context": "Note: change applies to both desktop and mobile."
298
- },
299
- {
300
- "token": "gray-300",
301
- "context": "Column header and row (background, border and divider)"
302
- },
303
- {
304
- "token": "gray-75",
305
- "context": "Column header and row (background, border and divider)"
306
- },
307
- {
308
- "token": "gray-200",
309
- "context": "Summary row (background)"
310
- },
311
- {
312
- "token": "gray-100",
313
- "context": "Row (disabled)"
314
- },
315
- {
316
- "token": "gray-400",
317
- "context": "Row (disabled)"
318
- },
319
- {
320
- "token": "stack-item-background-color-hover",
321
- "context": "Row (not selected, hover)"
322
- },
323
- {
324
- "token": "stack-item-selected-background-color-default",
325
- "context": "Row (checkbox selection)"
326
- },
327
- {
328
- "token": "stack-item-selected-background-color-hover",
329
- "context": "Row (checkbox selection, hover)"
330
- },
331
- {
332
- "token": "stack-item-selected-background-color-down",
333
- "context": "Row (checkbox selection, down)"
334
- },
335
- {
336
- "token": "stack-item-selected-background-color-key-focus",
337
- "context": "Row (checkbox selection, keyboard focus)"
338
- },
339
- {
340
- "token": "table-selected-row-background-color-highlight",
341
- "context": "Selected row background (highlight selection)"
342
- },
343
- {
344
- "token": "table-selected-row-background-opacity-highlight",
345
- "context": "Selected row background (highlight selection)"
346
- },
347
- {
348
- "token": "table-selected-row-background-opacity-highlight-hover",
349
- "context": "Selected row background (highlight selection, hover)"
350
- },
351
- {
352
- "token": "focus-indicator-color",
353
- "context": "Focus indicator (cell)"
354
- },
355
- {
356
- "token": "default-font-family",
357
- "context": "Column header and row"
358
- },
359
- {
360
- "token": "bold-font-weight",
361
- "context": "Column header and row"
362
- },
363
- {
364
- "token": "default-font-style",
365
- "context": "Column header and row"
366
- },
367
- {
368
- "token": "font-size-100",
369
- "context": "Column header and row"
370
- },
371
- {
372
- "token": "line-height-100",
373
- "context": "Column header and row"
374
- },
375
- {
376
- "token": "cjk-line-height-100",
377
- "context": "Column header and row"
378
- },
379
- {
380
- "token": "regular-font-weight",
381
- "context": "Column header and row"
382
- },
383
- {
384
- "token": "table-row-hover-color;",
385
- "context": "S1 Row (not selected, hover)"
386
- },
387
- {
388
- "token": "table-row-hover-opacity",
389
- "context": "S1 Row (not selected, hover)"
390
- },
391
- {
392
- "token": "table-row-down-opacity",
393
- "context": "S1 Row (checkbox selection, down)"
394
- },
395
- {
396
- "token": "table-selected-row-background-opacity-hover-highlight",
397
- "context": "S2 Selected row background (highlight selection, hover)"
398
- },
399
- {
400
- "token": "table-selected-row-background-color",
401
- "context": "S1 Selected row background (highlight selection)"
402
- },
403
- {
404
- "token": "table-selected-row-background-opacity",
405
- "context": "S1 Selected row background (highlight selection)"
406
- },
407
- {
408
- "token": "table-selected-row-background-opacity-hover",
409
- "context": "S1 Selected row background (highlight selection, hover)"
410
- }
411
- ],
412
- "accessibility": {
413
- "role": "grid",
414
- "intents": ["select", "navigate"],
415
- "focusable": true,
416
- "keyboardIntents": ["navigate-items", "activate", "select-all"],
417
- "wcag": [
418
- {
419
- "criterion": "1.3.1",
420
- "level": "A",
421
- "title": "Info and Relationships"
422
- },
423
- {
424
- "criterion": "2.1.1",
425
- "level": "A",
426
- "title": "Keyboard"
427
- },
428
- {
429
- "criterion": "4.1.2",
430
- "level": "A",
431
- "title": "Name, Role, Value"
432
- }
433
- ]
434
- }
435
- }