@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,131 @@
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/toast.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "toast",
6
+ "displayName": "Toast",
7
+ "description": "Toasts display brief, temporary notifications. They're meant to be noticed without disrupting a user's experience or requiring an action to be taken.",
8
+ "meta": {
9
+ "category": "feedback",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/toast/"
11
+ },
12
+ "options": {
13
+ "text": {
14
+ "type": "string"
15
+ },
16
+ "variant": {
17
+ "type": "string",
18
+ "enum": ["neutral", "informative", "positive", "negative"],
19
+ "default": "neutral"
20
+ },
21
+ "actionLabel": {
22
+ "type": "string",
23
+ "description": "If undefined, this button does not appear."
24
+ },
25
+ "isAutoDismissible": {
26
+ "type": "boolean",
27
+ "default": false
28
+ }
29
+ },
30
+ "lifecycle": {
31
+ "introduced": "1.0.0-draft"
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
+ ]
131
+ }
@@ -0,0 +1,140 @@
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/tooltip.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "tooltip",
6
+ "displayName": "Tooltip",
7
+ "description": "Tooltips show contextual help or information about specific components when a user hovers or focuses on them.",
8
+ "meta": {
9
+ "category": "feedback",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/tooltip/"
11
+ },
12
+ "options": {
13
+ "label": {
14
+ "type": "string"
15
+ },
16
+ "variant": {
17
+ "type": "string",
18
+ "enum": ["neutral", "informative", "negative"],
19
+ "default": "neutral"
20
+ },
21
+ "hasIcon": {
22
+ "type": "boolean",
23
+ "description": "If the neutral variant, there is never an icon.",
24
+ "default": false
25
+ },
26
+ "maxWidth": {
27
+ "type": "number",
28
+ "default": 160,
29
+ "description": "units: pixels"
30
+ },
31
+ "placement": {
32
+ "type": "string",
33
+ "enum": ["top", "bottom", "left", "right"],
34
+ "default": "top"
35
+ },
36
+ "shouldFlip": {
37
+ "type": "boolean",
38
+ "default": false
39
+ },
40
+ "offset": {
41
+ "type": "number",
42
+ "default": 4,
43
+ "description": "units: pixels"
44
+ },
45
+ "containerPadding": {
46
+ "type": "number",
47
+ "default": 8,
48
+ "description": "units: pixels"
49
+ }
50
+ },
51
+ "lifecycle": {
52
+ "introduced": "1.0.0-draft"
53
+ },
54
+ "tokenBindings": [
55
+ {
56
+ "token": "component-height-75",
57
+ "context": "Minimum height"
58
+ },
59
+ {
60
+ "token": "tooltip-maximum-width",
61
+ "context": "Maximum width"
62
+ },
63
+ {
64
+ "token": "corner-radius-500",
65
+ "context": "Rounding"
66
+ },
67
+ {
68
+ "token": "tooltip-tip-width",
69
+ "context": "Tip"
70
+ },
71
+ {
72
+ "token": "tooltip-tip-height",
73
+ "context": "Tip"
74
+ },
75
+ {
76
+ "token": "tooltip-tip-corner-radius",
77
+ "context": "Rounding (tip)"
78
+ },
79
+ {
80
+ "token": "component-edge-to-text-75",
81
+ "context": "Spacing (start/end edges)"
82
+ },
83
+ {
84
+ "token": "component-top-to-text-75",
85
+ "context": "Spacing (top/bottom edge to text)"
86
+ },
87
+ {
88
+ "token": "component-bottom-to-text-75",
89
+ "context": "Spacing (top/bottom edge to text)"
90
+ },
91
+ {
92
+ "token": "spacing-75",
93
+ "context": "Spacing (tip to source)"
94
+ },
95
+ {
96
+ "token": "spacing-100",
97
+ "context": "Container padding"
98
+ },
99
+ {
100
+ "token": "default-font-family",
101
+ "context": "Label"
102
+ },
103
+ {
104
+ "token": "regular-font-weight",
105
+ "context": "Label"
106
+ },
107
+ {
108
+ "token": "default-font-style",
109
+ "context": "Label"
110
+ },
111
+ {
112
+ "token": "font-size-75",
113
+ "context": "Label"
114
+ },
115
+ {
116
+ "token": "line-height-100",
117
+ "context": "Label"
118
+ },
119
+ {
120
+ "token": "cjk-line-height-100",
121
+ "context": "Label"
122
+ },
123
+ {
124
+ "token": "gray-25",
125
+ "context": "Text"
126
+ },
127
+ {
128
+ "token": "neutral-background-color-default",
129
+ "context": "Background (Neutral)"
130
+ },
131
+ {
132
+ "token": "informative-background-color-default",
133
+ "context": "Background (Informative)"
134
+ },
135
+ {
136
+ "token": "negative-background-color-default",
137
+ "context": "Background (Negative)"
138
+ }
139
+ ]
140
+ }
@@ -0,0 +1,21 @@
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/tray.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "tray",
6
+ "displayName": "Tray",
7
+ "description": "Trays are containers that display transient content such as menus, options, additional actions, and more. They only exist on mobile experiences and are used for exposing types of content that may be too overwhelming for popovers.",
8
+ "meta": {
9
+ "category": "containers",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/tray/"
11
+ },
12
+ "options": {
13
+ "height": {
14
+ "type": "string",
15
+ "default": "auto"
16
+ }
17
+ },
18
+ "lifecycle": {
19
+ "introduced": "1.0.0-draft"
20
+ }
21
+ }
@@ -0,0 +1,341 @@
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/tree-view.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "tree-view",
6
+ "displayName": "Tree view",
7
+ "description": "A tree view provides users with a way to navigate nested hierarchical information.",
8
+ "meta": {
9
+ "category": "navigation",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/tree-view/"
11
+ },
12
+ "options": {
13
+ "size": {
14
+ "type": "string",
15
+ "enum": ["s", "m", "l", "xl"],
16
+ "default": "m"
17
+ },
18
+ "isDetached": {
19
+ "type": "boolean",
20
+ "default": false
21
+ },
22
+ "isEmphasized": {
23
+ "type": "boolean",
24
+ "default": false
25
+ },
26
+ "showDragIcon": {
27
+ "type": "boolean",
28
+ "default": false
29
+ },
30
+ "selectionMode": {
31
+ "type": "string",
32
+ "enum": ["single", "multiple"],
33
+ "default": "multiple"
34
+ },
35
+ "selectionStyle": {
36
+ "type": "string",
37
+ "enum": ["checkbox", "highlight"],
38
+ "default": "checkbox"
39
+ },
40
+ "selectionBehavior": {
41
+ "type": "string",
42
+ "enum": ["toggle", "replace"],
43
+ "default": "toggle"
44
+ }
45
+ },
46
+ "states": [
47
+ {
48
+ "name": "hover",
49
+ "trigger": "interaction"
50
+ },
51
+ {
52
+ "name": "down",
53
+ "trigger": "interaction"
54
+ },
55
+ {
56
+ "name": "keyboard-focus",
57
+ "trigger": "interaction"
58
+ }
59
+ ],
60
+ "lifecycle": {
61
+ "introduced": "1.0.0-draft"
62
+ },
63
+ "tokenBindings": [
64
+ {
65
+ "token": "workflow-icon-size-100",
66
+ "context": "Icon"
67
+ },
68
+ {
69
+ "token": "tree-view-minimum-height",
70
+ "context": "Height (minimum)"
71
+ },
72
+ {
73
+ "token": "tree-view-minimum-width",
74
+ "context": "Width (minimum)"
75
+ },
76
+ {
77
+ "token": "corner-radius-medium-default",
78
+ "context": "Rounding"
79
+ },
80
+ {
81
+ "token": "tree-view-disclosure-indicator-height",
82
+ "context": "Spacing (disclosure indicator)"
83
+ },
84
+ {
85
+ "token": "tree-view-disclosure-indicator-width",
86
+ "context": "Spacing (disclosure indicator)"
87
+ },
88
+ {
89
+ "token": "tree-view-edge-to-checkbox",
90
+ "context": "Spacing (edge to checkbox, checkbox)"
91
+ },
92
+ {
93
+ "token": "tree-view-edge-to-drag-handle",
94
+ "context": "Spacing (edge to drag handle, drag handle)"
95
+ },
96
+ {
97
+ "token": "tree-view-drag-handle-to-checkbox",
98
+ "context": "Spacing (drag handle to checkbox, drag handle + checkbox)"
99
+ },
100
+ {
101
+ "token": "text-to-visual-100",
102
+ "context": "Spacing (context area to label)"
103
+ },
104
+ {
105
+ "token": "component-edge-to-text-100",
106
+ "context": "Spacing (label to edge)"
107
+ },
108
+ {
109
+ "token": "tree-view-label-to-action-area",
110
+ "context": "Spacing (label to action area)"
111
+ },
112
+ {
113
+ "token": "tree-view-end-edge-to-action-area",
114
+ "context": "Spacing (edge to action area, action button 1 + action button 2)"
115
+ },
116
+ {
117
+ "token": "tree-view-level-increment",
118
+ "context": "Spacing (indentation)"
119
+ },
120
+ {
121
+ "token": "vertical-align-items",
122
+ "context": "Spacing (vertical)"
123
+ },
124
+ {
125
+ "token": "stack-item-minimum-padding-vertical",
126
+ "context": "Spacing (vertical)"
127
+ },
128
+ {
129
+ "token": "border-width-100",
130
+ "context": "Border width (selected, highlight)"
131
+ },
132
+ {
133
+ "token": "focus-indicator-thickness",
134
+ "context": "Focus "
135
+ },
136
+ {
137
+ "token": "focus-indicator-gap",
138
+ "context": "Focus (drag handle)"
139
+ },
140
+ {
141
+ "token": "component-height-200",
142
+ "context": "Height"
143
+ },
144
+ {
145
+ "token": "stack-item-minimum-vertical-padding",
146
+ "context": "Spacing (vertical)"
147
+ },
148
+ {
149
+ "token": "stack-item-item-to-item",
150
+ "context": "Spacing (vertically, between tree view items)"
151
+ },
152
+ {
153
+ "token": "tree-view-item-to-header",
154
+ "context": "Spacing (vertically, between tree view item and tree view header)"
155
+ },
156
+ {
157
+ "token": "tree-view-header-to-item",
158
+ "context": "Spacing (vertically, between tree view item and tree view header)"
159
+ },
160
+ {
161
+ "token": "stack-item-header-to-item",
162
+ "context": "Spacing (vertically, between tree view item and tree view header)"
163
+ },
164
+ {
165
+ "token": "stack-item-background-color-hover",
166
+ "context": "Background (not selected)"
167
+ },
168
+ {
169
+ "token": "stack-item-background-color-down",
170
+ "context": "Background (not selected)"
171
+ },
172
+ {
173
+ "token": "stack-item-background-color-key-focus",
174
+ "context": "Background (not selected)"
175
+ },
176
+ {
177
+ "token": "tree-view-selected-row-background-default",
178
+ "context": "Background (selected, checkbox)"
179
+ },
180
+ {
181
+ "token": "tree-view-selected-row-background-hover",
182
+ "context": "Background (selected, checkbox)"
183
+ },
184
+ {
185
+ "token": "stack-item-selected-background-color-default",
186
+ "context": "Background (selected, checkbox)"
187
+ },
188
+ {
189
+ "token": "stack-item-selected-background-color-hover",
190
+ "context": "Background (selected, checkbox)"
191
+ },
192
+ {
193
+ "token": "stack-item-selected-background-color-down",
194
+ "context": "Background (selected, checkbox)"
195
+ },
196
+ {
197
+ "token": "stack-item-selected-background-color-key-focus",
198
+ "context": "Background (selected, checkbox)"
199
+ },
200
+ {
201
+ "token": "tree-view-selected-row-background-color-emphasized",
202
+ "context": "Background (selected, emphasized)"
203
+ },
204
+ {
205
+ "token": "tree-view-selected-row-background-opacity-emphasized-hover",
206
+ "context": "Background (selected, emphasized)"
207
+ },
208
+ {
209
+ "token": "stack-item-selected-background-color-highlight",
210
+ "context": "Background (selected + highlight)"
211
+ },
212
+ {
213
+ "token": "stack-item-selected-background-opacity-highlight-hover",
214
+ "context": "Background (selected + highlight)"
215
+ },
216
+ {
217
+ "token": "accent-content-color-selected",
218
+ "context": "Border (selected + highlight)"
219
+ },
220
+ {
221
+ "token": "neutral-subdued-content-color-default",
222
+ "context": "Label and icon (non-selected)"
223
+ },
224
+ {
225
+ "token": "neutral-subdued-content-color-hover",
226
+ "context": "Label and icon (non-selected)"
227
+ },
228
+ {
229
+ "token": "neutral-subdued-content-color-down",
230
+ "context": "Label and icon (non-selected)"
231
+ },
232
+ {
233
+ "token": "neutral-subdued-content-color-key-focus",
234
+ "context": "Label and icon (non-selected)"
235
+ },
236
+ {
237
+ "token": "neutral-content-color-default",
238
+ "context": "Label and icon (selected, checkbox and highlight)"
239
+ },
240
+ {
241
+ "token": "neutral-content-color-hover",
242
+ "context": "Label and icon (selected, checkbox and highlight)"
243
+ },
244
+ {
245
+ "token": "neutral-content-color-down",
246
+ "context": "Label and icon (selected, checkbox and highlight)"
247
+ },
248
+ {
249
+ "token": "neutral-content-color-key-focus",
250
+ "context": "Label and icon (selected, checkbox and highlight)"
251
+ },
252
+ {
253
+ "token": "disabled-content-color",
254
+ "context": "Label and icon (disabled)"
255
+ },
256
+ {
257
+ "token": "focus-indicator-color",
258
+ "context": "Focus indicator"
259
+ },
260
+ {
261
+ "token": "title-content-color",
262
+ "context": "Label and icon"
263
+ },
264
+ {
265
+ "token": "default-font-family",
266
+ "context": "Text (tree view item)"
267
+ },
268
+ {
269
+ "token": "regular-font-weight",
270
+ "context": "Text (tree view item)"
271
+ },
272
+ {
273
+ "token": "default-font-style",
274
+ "context": "Text (tree view item)"
275
+ },
276
+ {
277
+ "token": "font-size-100",
278
+ "context": "Text (tree view item)"
279
+ },
280
+ {
281
+ "token": "line-height-100",
282
+ "context": "Text (tree view item)"
283
+ },
284
+ {
285
+ "token": "cjk-line-height-100",
286
+ "context": "Text (tree view item)"
287
+ },
288
+ {
289
+ "token": "bold-font-weight",
290
+ "context": "Text (tree view title)"
291
+ },
292
+ {
293
+ "token": "thumbnail-size-75",
294
+ "context": "Size"
295
+ },
296
+ {
297
+ "token": "thumbnail-size-300",
298
+ "context": "Size"
299
+ },
300
+ {
301
+ "token": "thumbnail-size-1000",
302
+ "context": "Size"
303
+ },
304
+ {
305
+ "token": "thumbnail-corner-radius",
306
+ "context": "Rounding (default)"
307
+ },
308
+ {
309
+ "token": "spacing-75",
310
+ "context": "Opacity checkerboard (layer)"
311
+ },
312
+ {
313
+ "token": "corner-radius-0",
314
+ "context": "Rounding (layer)"
315
+ },
316
+ {
317
+ "token": "thumbnail-border-color",
318
+ "context": "Border (default)"
319
+ },
320
+ {
321
+ "token": "thumbnail-border-opacity",
322
+ "context": "Border (default)"
323
+ },
324
+ {
325
+ "token": "gray-500",
326
+ "context": "Border (layer)"
327
+ },
328
+ {
329
+ "token": "opacity-checkerboard-square-light",
330
+ "context": "Checkerboard colors "
331
+ },
332
+ {
333
+ "token": "opacity-checkerboard-square-dark",
334
+ "context": "Checkerboard colors "
335
+ },
336
+ {
337
+ "token": "thumbnail-opacity-disabled",
338
+ "context": "Disabled"
339
+ }
340
+ ]
341
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": { "property": "background-color" },
5
+ "value": "#0265dc"
6
+ }
7
+ ],
8
+ "components": [
9
+ {
10
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
11
+ "name": "button",
12
+ "displayName": "Button",
13
+ "meta": {
14
+ "category": "actions",
15
+ "documentationUrl": "https://spectrum.adobe.com/page/button/"
16
+ },
17
+ "tokenBindings": [
18
+ {
19
+ "token": "nonexistent-token-that-does-not-exist",
20
+ "context": "Background"
21
+ }
22
+ ]
23
+ }
24
+ ]
25
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-027",
6
+ "severity": "error",
7
+ "message_pattern": ".*unknown token.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": "button-background-color-accent",
5
+ "value": "#0265dc"
6
+ },
7
+ {
8
+ "name": "component-height-100",
9
+ "value": "32px"
10
+ }
11
+ ],
12
+ "components": [
13
+ {
14
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
15
+ "name": "button",
16
+ "displayName": "Button",
17
+ "meta": {
18
+ "category": "actions",
19
+ "documentationUrl": "https://spectrum.adobe.com/page/button/"
20
+ },
21
+ "tokenBindings": [
22
+ { "token": "button-background-color-accent", "context": "Background" },
23
+ { "token": "component-height-100", "context": "Sizing (height)" }
24
+ ]
25
+ }
26
+ ]
27
+ }