@adobe/design-data-spec 1.4.0 → 2.0.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 (123) 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/package.json +5 -6
  6. package/rules/rules.yaml +14 -10
  7. package/schemas/component.schema.json +1 -1
  8. package/schemas/manifest.schema.json +1 -22
  9. package/schemas/platform-extension.json +79 -0
  10. package/schemas/registry-value.json +230 -0
  11. package/schemas/token.schema.json +1 -1
  12. package/spec/agent-surface.md +16 -14
  13. package/spec/anatomy-format.md +1 -1
  14. package/spec/cascade.md +1 -1
  15. package/spec/index.md +5 -5
  16. package/spec/mode-sets.md +1 -1
  17. package/spec/registry.md +6 -8
  18. package/spec/taxonomy.md +96 -30
  19. package/spec/token-format.md +11 -3
  20. package/components/accordion.json +0 -557
  21. package/components/action-bar.json +0 -214
  22. package/components/action-button.json +0 -522
  23. package/components/action-group.json +0 -134
  24. package/components/alert-banner.json +0 -134
  25. package/components/alert-dialog.json +0 -180
  26. package/components/avatar-group.json +0 -166
  27. package/components/avatar.json +0 -246
  28. package/components/badge.json +0 -594
  29. package/components/body.json +0 -54
  30. package/components/bottom-navigation-android.json +0 -72
  31. package/components/breadcrumbs.json +0 -307
  32. package/components/button-group.json +0 -86
  33. package/components/button.json +0 -586
  34. package/components/calendar.json +0 -133
  35. package/components/cards.json +0 -541
  36. package/components/checkbox-group.json +0 -91
  37. package/components/checkbox.json +0 -339
  38. package/components/close-button.json +0 -208
  39. package/components/coach-indicator.json +0 -105
  40. package/components/coach-mark.json +0 -169
  41. package/components/code.json +0 -44
  42. package/components/color-area.json +0 -138
  43. package/components/color-handle.json +0 -111
  44. package/components/color-loupe.json +0 -77
  45. package/components/color-slider.json +0 -165
  46. package/components/color-wheel.json +0 -117
  47. package/components/combo-box.json +0 -543
  48. package/components/contextual-help.json +0 -230
  49. package/components/date-picker.json +0 -471
  50. package/components/detail.json +0 -53
  51. package/components/divider.json +0 -93
  52. package/components/drop-zone.json +0 -238
  53. package/components/field-label.json +0 -219
  54. package/components/heading.json +0 -68
  55. package/components/help-text.json +0 -209
  56. package/components/illustrated-message.json +0 -175
  57. package/components/in-field-progress-button.json +0 -88
  58. package/components/in-field-progress-circle.json +0 -116
  59. package/components/in-line-alert.json +0 -233
  60. package/components/link.json +0 -167
  61. package/components/list-view.json +0 -382
  62. package/components/menu.json +0 -597
  63. package/components/meter.json +0 -199
  64. package/components/number-field.json +0 -518
  65. package/components/opacity-checkerboard.json +0 -69
  66. package/components/picker.json +0 -579
  67. package/components/popover.json +0 -174
  68. package/components/progress-bar.json +0 -229
  69. package/components/progress-circle.json +0 -132
  70. package/components/radio-button.json +0 -308
  71. package/components/radio-group.json +0 -113
  72. package/components/rating.json +0 -168
  73. package/components/scroll-zoom-bar.json +0 -82
  74. package/components/search-field.json +0 -346
  75. package/components/segmented-control.json +0 -248
  76. package/components/select-box.json +0 -272
  77. package/components/side-navigation.json +0 -320
  78. package/components/slider.json +0 -407
  79. package/components/standard-dialog.json +0 -179
  80. package/components/standard-panel.json +0 -83
  81. package/components/status-light.json +0 -334
  82. package/components/steplist.json +0 -294
  83. package/components/swatch-group.json +0 -114
  84. package/components/swatch.json +0 -240
  85. package/components/switch.json +0 -336
  86. package/components/tab-bar-ios.json +0 -72
  87. package/components/table.json +0 -435
  88. package/components/tabs.json +0 -253
  89. package/components/tag-field.json +0 -243
  90. package/components/tag-group.json +0 -87
  91. package/components/tag.json +0 -393
  92. package/components/takeover-dialog.json +0 -117
  93. package/components/text-area.json +0 -555
  94. package/components/text-field.json +0 -555
  95. package/components/thumbnail.json +0 -149
  96. package/components/title.json +0 -91
  97. package/components/toast.json +0 -156
  98. package/components/tooltip.json +0 -179
  99. package/components/tray.json +0 -32
  100. package/components/tree-view.json +0 -393
  101. package/fields/anatomy.json +0 -15
  102. package/fields/color-scheme.json +0 -15
  103. package/fields/colorFamily.json +0 -15
  104. package/fields/component.json +0 -15
  105. package/fields/contrast.json +0 -15
  106. package/fields/density.json +0 -15
  107. package/fields/easing.json +0 -15
  108. package/fields/family.json +0 -15
  109. package/fields/motionRole.json +0 -15
  110. package/fields/object.json +0 -15
  111. package/fields/orientation.json +0 -15
  112. package/fields/position.json +0 -15
  113. package/fields/property.json +0 -15
  114. package/fields/scale.json +0 -15
  115. package/fields/scaleIndex.json +0 -15
  116. package/fields/shape.json +0 -15
  117. package/fields/size.json +0 -15
  118. package/fields/state.json +0 -15
  119. package/fields/structure.json +0 -15
  120. package/fields/style.json +0 -15
  121. package/fields/substructure.json +0 -15
  122. package/fields/variant.json +0 -15
  123. package/fields/weight.json +0 -15
@@ -1,230 +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/contextual-help.json",
4
- "specVersion": "1.0.0-draft",
5
- "name": "contextual-help",
6
- "displayName": "Contextual help",
7
- "description": "Contextual help shows a user extra information about the state of either an adjacent component or an entire view. It explains a high-level topic about an experience and can point users to more information elsewhere.",
8
- "meta": {
9
- "category": "feedback",
10
- "documentationUrl": "https://spectrum.adobe.com/page/contextual-help/"
11
- },
12
- "options": {
13
- "icon": {
14
- "type": "string",
15
- "default": "info",
16
- "values": [
17
- {
18
- "value": "info"
19
- },
20
- {
21
- "value": "help"
22
- }
23
- ]
24
- },
25
- "popoverPlacement": {
26
- "type": "string",
27
- "default": "bottom start",
28
- "values": [
29
- {
30
- "value": "top"
31
- },
32
- {
33
- "value": "top left"
34
- },
35
- {
36
- "value": "top right"
37
- },
38
- {
39
- "value": "top start"
40
- },
41
- {
42
- "value": "top end"
43
- },
44
- {
45
- "value": "bottom"
46
- },
47
- {
48
- "value": "bottom left"
49
- },
50
- {
51
- "value": "bottom right"
52
- },
53
- {
54
- "value": "bottom start"
55
- },
56
- {
57
- "value": "bottom end"
58
- },
59
- {
60
- "value": "left"
61
- },
62
- {
63
- "value": "left top"
64
- },
65
- {
66
- "value": "left bottom"
67
- },
68
- {
69
- "value": "start"
70
- },
71
- {
72
- "value": "start top"
73
- },
74
- {
75
- "value": "start bottom"
76
- },
77
- {
78
- "value": "right"
79
- },
80
- {
81
- "value": "right top"
82
- },
83
- {
84
- "value": "right bottom"
85
- },
86
- {
87
- "value": "end"
88
- },
89
- {
90
- "value": "end top"
91
- },
92
- {
93
- "value": "end bottom"
94
- }
95
- ]
96
- },
97
- "popoverOffset": {
98
- "type": "number",
99
- "default": 8
100
- },
101
- "href": {
102
- "type": "string",
103
- "description": "Optional URL within contextual help content like a 'Learn more' link."
104
- },
105
- "popoverCrossOffset": {
106
- "type": "number",
107
- "default": 0
108
- },
109
- "containerPadding": {
110
- "type": "number",
111
- "default": 8
112
- }
113
- },
114
- "states": [
115
- {
116
- "name": "down",
117
- "trigger": "interaction"
118
- },
119
- {
120
- "name": "open",
121
- "trigger": "prop"
122
- },
123
- {
124
- "name": "keyboard-focus",
125
- "trigger": "interaction"
126
- }
127
- ],
128
- "lifecycle": {
129
- "introduced": "1.0.0-draft"
130
- },
131
- "tokenBindings": [
132
- {
133
- "token": "xs-s",
134
- "context": "Components"
135
- },
136
- {
137
- "token": "s-m",
138
- "context": "Components"
139
- },
140
- {
141
- "token": "contextual-help-minimum-width",
142
- "context": "Minimum width"
143
- },
144
- {
145
- "token": "corner-radius-large-default",
146
- "context": "Rounding"
147
- },
148
- {
149
- "token": "spacing-400",
150
- "context": "Spacing (top/bottom/start/end edge to text)"
151
- },
152
- {
153
- "token": "spacing-100",
154
- "context": "Spacing (header to body, body to link)"
155
- },
156
- {
157
- "token": "spacing-200",
158
- "context": "Spacing (header to body, body to link)"
159
- },
160
- {
161
- "token": "spacing-300",
162
- "context": "Spacing (header to body, body to link)"
163
- },
164
- {
165
- "token": "contextual-help-title-size",
166
- "context": "Title"
167
- },
168
- {
169
- "token": "title-sans-serif-font-family",
170
- "context": "Title"
171
- },
172
- {
173
- "token": "title-sans-serif-font-weight",
174
- "context": "Title"
175
- },
176
- {
177
- "token": "title-sans-serif-font-style",
178
- "context": "Title"
179
- },
180
- {
181
- "token": "title-line-height",
182
- "context": "Title"
183
- },
184
- {
185
- "token": "contextual-help-body-size",
186
- "context": "Body"
187
- },
188
- {
189
- "token": "body-sans-serif-font-family",
190
- "context": "Body"
191
- },
192
- {
193
- "token": "body-sans-serif-font-weight",
194
- "context": "Body"
195
- },
196
- {
197
- "token": "body-sans-serif-font-style",
198
- "context": "Body"
199
- },
200
- {
201
- "token": "line-height-200",
202
- "context": "Body"
203
- },
204
- {
205
- "token": "title-color",
206
- "context": "Color"
207
- },
208
- {
209
- "token": "body-color",
210
- "context": "Color"
211
- }
212
- ],
213
- "accessibility": {
214
- "intents": ["trigger"],
215
- "focusable": true,
216
- "keyboardIntents": ["activate"],
217
- "wcag": [
218
- {
219
- "criterion": "2.1.1",
220
- "level": "A",
221
- "title": "Keyboard"
222
- },
223
- {
224
- "criterion": "4.1.2",
225
- "level": "A",
226
- "title": "Name, Role, Value"
227
- }
228
- ]
229
- }
230
- }
@@ -1,471 +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/date-picker.json",
4
- "specVersion": "1.0.0-draft",
5
- "name": "date-picker",
6
- "displayName": "Date picker",
7
- "description": "A date picker lets users enter a single date or a date range. It includes a calendar popover and a field.",
8
- "meta": {
9
- "category": "inputs",
10
- "documentationUrl": "https://spectrum.adobe.com/page/date-picker/"
11
- },
12
- "options": {
13
- "variant": {
14
- "type": "string",
15
- "default": "single",
16
- "description": "Controls the number of months displayed in the calendar popover.",
17
- "values": [
18
- {
19
- "value": "single"
20
- },
21
- {
22
- "value": "double"
23
- },
24
- {
25
- "value": "triple"
26
- }
27
- ]
28
- },
29
- "selectedDate": {
30
- "type": "string",
31
- "description": "The currently selected date. Used when selectionMode is single."
32
- },
33
- "selectedRange": {
34
- "type": "object",
35
- "description": "The currently selected date range, used when selectionMode is range.",
36
- "properties": {
37
- "start": {
38
- "type": "string",
39
- "description": "Range start date."
40
- },
41
- "end": {
42
- "type": "string",
43
- "description": "Range end date."
44
- }
45
- }
46
- },
47
- "dateField": {
48
- "type": "object",
49
- "description": "Configuration for the date input field.",
50
- "properties": {
51
- "label": {
52
- "type": "string",
53
- "description": "Optional text label displayed with the date field."
54
- },
55
- "labelPosition": {
56
- "type": "string",
57
- "enum": ["top", "side"],
58
- "default": "top"
59
- },
60
- "hideLabel": {
61
- "type": "boolean",
62
- "default": false
63
- },
64
- "isDisabled": {
65
- "type": "boolean",
66
- "default": false
67
- },
68
- "isReadOnly": {
69
- "type": "boolean",
70
- "default": false
71
- },
72
- "isRequired": {
73
- "type": "boolean",
74
- "default": false
75
- },
76
- "isError": {
77
- "type": "boolean",
78
- "default": false,
79
- "description": "If there is an error, this property overrides show valid icon."
80
- },
81
- "state": {
82
- "type": "string",
83
- "enum": [
84
- "default",
85
- "hover",
86
- "hover (in-field button)",
87
- "focus + hover",
88
- "focus + open",
89
- "focus + not hover",
90
- "keyboard focus"
91
- ],
92
- "default": "default"
93
- }
94
- }
95
- },
96
- "calendarPopover": {
97
- "type": "object",
98
- "description": "Configuration for the calendar popover.",
99
- "properties": {
100
- "isDisabled": {
101
- "type": "boolean",
102
- "default": false
103
- },
104
- "minValue": {
105
- "type": "string",
106
- "description": "The minimum allowed date that a user may select."
107
- },
108
- "maxValue": {
109
- "type": "string",
110
- "description": "The maximum allowed date that a user may select (ISO format string)."
111
- },
112
- "currentMonth": {
113
- "type": "number",
114
- "minimum": 1,
115
- "maximum": 12,
116
- "description": "The month currently displayed in the calendar (1 = January, 12 = December)."
117
- },
118
- "currentYear": {
119
- "type": "number",
120
- "description": "The year currently displayed in the calendar (Gregorian year number)."
121
- },
122
- "selectionMode": {
123
- "type": "string",
124
- "enum": ["single", "range"],
125
- "default": "single",
126
- "description": "Controls whether the calendar allows selecting a single date or a date range."
127
- },
128
- "showTimeZone": {
129
- "type": "boolean",
130
- "default": false,
131
- "description": "Whether to show a time zone indicator in the popover."
132
- },
133
- "isError": {
134
- "type": "boolean",
135
- "default": false,
136
- "description": "If the calendar popover is in an error state."
137
- },
138
- "timeFields": {
139
- "type": "object",
140
- "description": "Optional start and end time fields displayed within the calendar popover.",
141
- "properties": {
142
- "showStartTime": {
143
- "type": "boolean",
144
- "default": false,
145
- "description": "If true, displays a start time field."
146
- },
147
- "showEndTime": {
148
- "type": "boolean",
149
- "default": false,
150
- "description": "If true, displays an end time field."
151
- },
152
- "granularity": {
153
- "type": "string",
154
- "enum": ["hour", "minute", "second"],
155
- "default": "minute",
156
- "description": "The level of time granularity for the time fields."
157
- },
158
- "is24Hour": {
159
- "type": "boolean",
160
- "default": false,
161
- "description": "If true, displays time in 24-hour format instead of AM/PM."
162
- }
163
- }
164
- }
165
- }
166
- }
167
- },
168
- "lifecycle": {
169
- "introduced": "1.0.0-draft"
170
- },
171
- "tokenBindings": [
172
- {
173
- "token": "component-to-calendar-popover",
174
- "context": "Spacing (open)"
175
- },
176
- {
177
- "token": "single-calendar-popover-minimum-width",
178
- "context": "Width (minimum)"
179
- },
180
- {
181
- "token": "double-calendar-popover-minimum-width",
182
- "context": "Width (minimum)"
183
- },
184
- {
185
- "token": "single-calendar-popover-minimum-height",
186
- "context": "Height (minimum)"
187
- },
188
- {
189
- "token": "double-calendar-popover-minimum-height",
190
- "context": "Height (minimum)"
191
- },
192
- {
193
- "token": "corner-radius-700",
194
- "context": "Corner rounding"
195
- },
196
- {
197
- "token": "spacing-300",
198
- "context": "Spacing (start/end edge to days) "
199
- },
200
- {
201
- "token": "spacing-400",
202
- "context": "Spacing (top/bottom edge to days) "
203
- },
204
- {
205
- "token": "spacing-700",
206
- "context": "Spacing (month + year to chevron) "
207
- },
208
- {
209
- "token": "spacing-100",
210
- "context": "Spacing (between week labels) "
211
- },
212
- {
213
- "token": "current-day-indicator-size-100",
214
- "context": "Current day indicator"
215
- },
216
- {
217
- "token": "spacing-200",
218
- "context": "Spacing (between week labels and days) "
219
- },
220
- {
221
- "token": "range-border-dash-length",
222
- "context": "Range fill stroke padding"
223
- },
224
- {
225
- "token": "range-border-dash-gap",
226
- "context": "Range fill stroke padding"
227
- },
228
- {
229
- "token": "range-border-dash-thickness",
230
- "context": "Range fill stroke padding"
231
- },
232
- {
233
- "token": "blue-900",
234
- "context": "Day values "
235
- },
236
- {
237
- "token": "white",
238
- "context": "Day values "
239
- },
240
- {
241
- "token": "blue-1000",
242
- "context": "Day values "
243
- },
244
- {
245
- "token": "focus-indicator-color",
246
- "context": "Day values "
247
- },
248
- {
249
- "token": "neutral-content-color-default",
250
- "context": "Day values "
251
- },
252
- {
253
- "token": "gray-100",
254
- "context": "Day values "
255
- },
256
- {
257
- "token": "disabled-content-color",
258
- "context": "Day values "
259
- },
260
- {
261
- "token": "negative-background-color-default",
262
- "context": "Day values "
263
- },
264
- {
265
- "token": "negative-background-color-hover",
266
- "context": "Day values "
267
- },
268
- {
269
- "token": "neutral-content-color-hover",
270
- "context": "Current day"
271
- },
272
- {
273
- "token": "strikethrough-day-thickness",
274
- "context": "Strikethrough day "
275
- },
276
- {
277
- "token": "strikethrough-day-orientation",
278
- "context": "Strikethrough day "
279
- },
280
- {
281
- "token": "blue-subtle-background-color-default",
282
- "context": "Range fill color "
283
- },
284
- {
285
- "token": "gray-25",
286
- "context": "Background and border "
287
- },
288
- {
289
- "token": "neutral-content-color-focus-hover",
290
- "context": "In field button colors "
291
- },
292
- {
293
- "token": "neutral-content-color-focus",
294
- "context": "In field button colors "
295
- },
296
- {
297
- "token": "neutral-content-color-key-focus",
298
- "context": "In field button colors "
299
- },
300
- {
301
- "token": "disabled-color-content",
302
- "context": "In field button colors "
303
- },
304
- {
305
- "token": "gray-200",
306
- "context": "In field button colors "
307
- },
308
- {
309
- "token": "background-disabled-color",
310
- "context": "In field button colors "
311
- },
312
- {
313
- "token": "disabled-background-color",
314
- "context": "Disabled"
315
- },
316
- {
317
- "token": "default-font-family",
318
- "context": "Label, value, help text, and error message"
319
- },
320
- {
321
- "token": "regular-font-weight",
322
- "context": "Label, value, help text, and error message"
323
- },
324
- {
325
- "token": "default-font-style",
326
- "context": "Label, value, help text, and error message"
327
- },
328
- {
329
- "token": "font-size-100",
330
- "context": "Label, value, help text, and error message"
331
- },
332
- {
333
- "token": "line-height-100",
334
- "context": "Label, value, help text, and error message"
335
- },
336
- {
337
- "token": "cjk-line-height-100",
338
- "context": "Label, value, help text, and error message"
339
- },
340
- {
341
- "token": "date-picker-minimum-width",
342
- "context": "Width (minimum)"
343
- },
344
- {
345
- "token": "component-height-100",
346
- "context": "Height"
347
- },
348
- {
349
- "token": "corner-radius-medium-size-medium",
350
- "context": "Corner rounding "
351
- },
352
- {
353
- "token": "component-edge-to-text-100",
354
- "context": "Spacing (start edge to value) "
355
- },
356
- {
357
- "token": "date-picker-text-to-in-field-button",
358
- "context": "Spacing (value to in-field button)"
359
- },
360
- {
361
- "token": "component-top-to-text-100",
362
- "context": "Spacing (top/bottom edge to label)"
363
- },
364
- {
365
- "token": "component-bottom-to-text-100",
366
- "context": "Spacing (top/bottom edge to label)"
367
- },
368
- {
369
- "token": "border-width-200",
370
- "context": "Border "
371
- },
372
- {
373
- "token": "focus-indicator-thickness",
374
- "context": "Keyboard focus indicator "
375
- },
376
- {
377
- "token": "focus-indicator-gap",
378
- "context": "Keyboard focus indicator "
379
- },
380
- {
381
- "token": "spacing-50",
382
- "context": "Individual value spacing "
383
- },
384
- {
385
- "token": "segmented-text-field-gap",
386
- "context": "Spacing between values"
387
- },
388
- {
389
- "token": "segmented-text-field-rounding",
390
- "context": "Focused value rounding "
391
- },
392
- {
393
- "token": "date-picker-visual-to-field-button",
394
- "context": "Icon spacing (error)"
395
- },
396
- {
397
- "token": "workflow-icon-size-100",
398
- "context": "Alert icon size "
399
- },
400
- {
401
- "token": "date-field-minimum-width",
402
- "context": "Width (minimum)"
403
- },
404
- {
405
- "token": "date-field-text-to-visual",
406
- "context": "Spacing (value to alert icon)"
407
- },
408
- {
409
- "token": "time-field-minimum-width",
410
- "context": "Width (minimum)"
411
- },
412
- {
413
- "token": "time-field-text-to-visual",
414
- "context": "Spacing (value to alert icon)"
415
- },
416
- {
417
- "token": "component-top-to-workflow-icon-100",
418
- "context": "Spacing (top/bottom edge to alert icon)"
419
- },
420
- {
421
- "token": "date-picker-text-to-visual",
422
- "context": "Spacing (value to alert icon)"
423
- },
424
- {
425
- "token": "negative-visual-color",
426
- "context": "Alert icon (error) color"
427
- },
428
- {
429
- "token": "negative-content-color-default",
430
- "context": "Error message (error) color"
431
- },
432
- {
433
- "token": "neutral-subdued-content-color-default",
434
- "context": "Help text color "
435
- },
436
- {
437
- "token": "triple-calendar-popover-minimum-width",
438
- "context": "Popover minimum width"
439
- },
440
- {
441
- "token": "triple-calendar-popover-minimum-height",
442
- "context": "Popover minimum width"
443
- },
444
- {
445
- "token": "spacing-500",
446
- "context": "Popover minimum width"
447
- }
448
- ],
449
- "accessibility": {
450
- "intents": ["input", "choose"],
451
- "focusable": true,
452
- "keyboardIntents": ["navigate-items", "activate"],
453
- "wcag": [
454
- {
455
- "criterion": "1.3.1",
456
- "level": "A",
457
- "title": "Info and Relationships"
458
- },
459
- {
460
- "criterion": "2.1.1",
461
- "level": "A",
462
- "title": "Keyboard"
463
- },
464
- {
465
- "criterion": "4.1.2",
466
- "level": "A",
467
- "title": "Name, Role, Value"
468
- }
469
- ]
470
- }
471
- }