@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,263 @@
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/breadcrumbs.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "breadcrumbs",
6
+ "displayName": "Breadcrumbs",
7
+ "description": "Breadcrumbs show hierarchy and navigational context for a user’s location within an app.",
8
+ "meta": {
9
+ "category": "navigation",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/breadcrumbs/"
11
+ },
12
+ "options": {
13
+ "isMultiline": {
14
+ "type": "boolean",
15
+ "default": false,
16
+ "description": "If true, the breadcrumb items will wrap to multiple lines."
17
+ },
18
+ "size": {
19
+ "type": "string",
20
+ "enum": ["m", "l"],
21
+ "default": "m",
22
+ "description": "Controls the overall size of the breadcrumb component."
23
+ },
24
+ "items": {
25
+ "type": "array",
26
+ "description": "An array of breadcrumb items.",
27
+ "items": {
28
+ "type": "object",
29
+ "properties": {
30
+ "label": {
31
+ "type": "string",
32
+ "description": "The text displayed for the breadcrumb item."
33
+ },
34
+ "href": {
35
+ "type": "string",
36
+ "description": "Optional URL the breadcrumb item links to."
37
+ },
38
+ "isCurrent": {
39
+ "type": "boolean",
40
+ "description": "Indicates if the breadcrumb item represents the current page.",
41
+ "default": false
42
+ },
43
+ "isDisabled": {
44
+ "type": "boolean",
45
+ "default": false
46
+ }
47
+ },
48
+ "required": ["label"]
49
+ }
50
+ },
51
+ "separator": {
52
+ "type": "string",
53
+ "enum": ["chevron", "none"],
54
+ "default": "chevron",
55
+ "description": "The separator icon used between breadcrumb items."
56
+ },
57
+ "isTruncated": {
58
+ "type": "boolean",
59
+ "default": false,
60
+ "description": "If true, the breadcrumb item is truncated and displayed as icon only."
61
+ },
62
+ "sizeOverride": {
63
+ "type": "string",
64
+ "enum": ["s", "m", "l", "xl"],
65
+ "description": "Overrides the size of the breadcrumb items when isMultiline is true."
66
+ }
67
+ },
68
+ "states": [
69
+ {
70
+ "name": "hover",
71
+ "trigger": "interaction"
72
+ },
73
+ {
74
+ "name": "down",
75
+ "trigger": "interaction"
76
+ },
77
+ {
78
+ "name": "keyboard-focus",
79
+ "trigger": "interaction"
80
+ },
81
+ {
82
+ "name": "drag-and-drop",
83
+ "trigger": "prop"
84
+ }
85
+ ],
86
+ "lifecycle": {
87
+ "introduced": "1.0.0-draft"
88
+ },
89
+ "tokenBindings": [
90
+ {
91
+ "token": "component-height-200",
92
+ "context": "Height"
93
+ },
94
+ {
95
+ "token": "breadcrumbs-text-to-separator-large",
96
+ "context": "Spacing (breadcrumb item/title to separator icon)"
97
+ },
98
+ {
99
+ "token": "breadcrumbs-start-edge-to-text-large",
100
+ "context": "Spacing (start and end edge to text)"
101
+ },
102
+ {
103
+ "token": "breadcrumbs-end-edge-to-text",
104
+ "context": "Spacing (start and end edge to text)"
105
+ },
106
+ {
107
+ "token": "component-top-to-text-200",
108
+ "context": "Spacing (top and bottom edge to text)"
109
+ },
110
+ {
111
+ "token": "component-bottom-to-text-200",
112
+ "context": "Spacing (top and bottom edge to text)"
113
+ },
114
+ {
115
+ "token": "breadcrumbs-top-to-truncated-menu",
116
+ "context": "Spacing (top and bottom edge to truncated menu button)"
117
+ },
118
+ {
119
+ "token": "breadcrumbs-top-to-separator-large",
120
+ "context": "Spacing (top and bottom edge to separator icon)"
121
+ },
122
+ {
123
+ "token": "breadcrumbs-truncated-menu-to-separator",
124
+ "context": "Spacing (truncated menu button to separator icon)"
125
+ },
126
+ {
127
+ "token": "breadcrumbs-start-edge-to-truncated-menu",
128
+ "context": "Spacing (start edge to truncated menu button)"
129
+ },
130
+ {
131
+ "token": "text-underline-thickness",
132
+ "context": "Breadcrumb item (hover, down, focus states)"
133
+ },
134
+ {
135
+ "token": "text-underline-gap",
136
+ "context": "Breadcrumb item (hover, down, focus states)"
137
+ },
138
+ {
139
+ "token": "focus-indicator-thickness",
140
+ "context": "Focus indicator"
141
+ },
142
+ {
143
+ "token": "focus-indicator-gap",
144
+ "context": "Focus indicator"
145
+ },
146
+ {
147
+ "token": "default-font-family",
148
+ "context": "Text (breadcrumb item and title)"
149
+ },
150
+ {
151
+ "token": "regular-font-weight",
152
+ "context": "Text (breadcrumb item and title)"
153
+ },
154
+ {
155
+ "token": "default-font-style",
156
+ "context": "Text (breadcrumb item and title)"
157
+ },
158
+ {
159
+ "token": "font-size-200",
160
+ "context": "Text (breadcrumb item and title)"
161
+ },
162
+ {
163
+ "token": "line-height-100",
164
+ "context": "Text (breadcrumb item and title)"
165
+ },
166
+ {
167
+ "token": "bold-font-weight",
168
+ "context": "Text (breadcrumb item and title)"
169
+ },
170
+ {
171
+ "token": "neutral-subdued-content-color-default",
172
+ "context": "Breadcrumb item and title"
173
+ },
174
+ {
175
+ "token": "neutral-content-color-default",
176
+ "context": "Breadcrumb item and title"
177
+ },
178
+ {
179
+ "token": "disabled-content-color",
180
+ "context": "Breadcrumb item (disabled)"
181
+ },
182
+ {
183
+ "token": "focus-indicator-color",
184
+ "context": "Focus indicator"
185
+ },
186
+ {
187
+ "token": "component-height-100",
188
+ "context": "Height (medium)"
189
+ },
190
+ {
191
+ "token": "breadcrumbs-text-to-separator-medium",
192
+ "context": "Spacing (breadcrumb item/title to separator icon, medium)"
193
+ },
194
+ {
195
+ "token": "breadcrumbs-start-edge-to-text-medium",
196
+ "context": "Spacing (start and end edge to text, medium)"
197
+ },
198
+ {
199
+ "token": "component-top-to-text-100",
200
+ "context": "Spacing (top and bottom edge to text, medium)"
201
+ },
202
+ {
203
+ "token": "component-bottom-to-text-100",
204
+ "context": "Spacing (top and bottom edge to text, medium)"
205
+ },
206
+ {
207
+ "token": "breadcrumbs-top-to-separator-medium",
208
+ "context": "Spacing (top and bottom edge to separator icon, medium)"
209
+ },
210
+ {
211
+ "token": "font-size-100",
212
+ "context": "Text (breadcrumb item and title, medium)"
213
+ },
214
+ {
215
+ "token": "breadcrumbs-height-multiline",
216
+ "context": "Height"
217
+ },
218
+ {
219
+ "token": "breadcrumbs-text-to-separator-multiline",
220
+ "context": "Spacing (breadcrumb item/title to separator icon, multiline)"
221
+ },
222
+ {
223
+ "token": "breadcrumbs-start-edge-to-text-multiline",
224
+ "context": "Spacing (start and end edge to text, multiline)"
225
+ },
226
+ {
227
+ "token": "breadcrumbs-top-to-text-multiline",
228
+ "context": "Spacing (top and bottom edge to text, multiline)"
229
+ },
230
+ {
231
+ "token": "breadcrumbs-bottom-to-text-multiline",
232
+ "context": "Spacing (top and bottom edge to text, multiline)"
233
+ },
234
+ {
235
+ "token": "breadcrumbs-top-to-separator-multiline",
236
+ "context": "Spacing (top edge to separator icon, multiline)"
237
+ },
238
+ {
239
+ "token": "breadcrumbs-separator-to-bottom-text-multiline",
240
+ "context": "Spacing (separator icon to bottom text, multiline)"
241
+ },
242
+ {
243
+ "token": "breadcrumbs-truncated-menu-to-bottom-text",
244
+ "context": "Spacing (truncated menu button to bottom text, multiline)"
245
+ },
246
+ {
247
+ "token": "breadcrumbs-top-text-to-bottom-text",
248
+ "context": "Spacing (top text to bottom text)"
249
+ },
250
+ {
251
+ "token": "font-size-75",
252
+ "context": "Text (breadcrumb item and title, multiline)"
253
+ },
254
+ {
255
+ "token": "extra-bold-font-weight",
256
+ "context": "Text (breadcrumb item and title, multiline)"
257
+ },
258
+ {
259
+ "token": "heading-size-l",
260
+ "context": "Text (breadcrumb item and title, multiline)"
261
+ }
262
+ ]
263
+ }
@@ -0,0 +1,47 @@
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/button-group.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "button-group",
6
+ "displayName": "Button group",
7
+ "description": "A button group is a grouping of buttons whose actions are related to each other.",
8
+ "meta": {
9
+ "category": "actions",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/button-group/"
11
+ },
12
+ "options": {
13
+ "orientation": {
14
+ "type": "string",
15
+ "default": "horizontal",
16
+ "enum": ["horizontal", "vertical"]
17
+ },
18
+ "size": {
19
+ "type": "string",
20
+ "pattern": "^(x?s|m|x{0,3}l)$",
21
+ "enum": ["s", "m", "l", "xl"],
22
+ "default": "m"
23
+ },
24
+ "overflowMode": {
25
+ "type": "string",
26
+ "enum": ["wrap", "collapse"],
27
+ "default": "wrap"
28
+ },
29
+ "isDisabled": {
30
+ "type": "boolean",
31
+ "default": false
32
+ }
33
+ },
34
+ "lifecycle": {
35
+ "introduced": "1.0.0-draft"
36
+ },
37
+ "tokenBindings": [
38
+ {
39
+ "token": "spacing-100",
40
+ "context": "Spacing (horizontal)"
41
+ },
42
+ {
43
+ "token": "spacing-200",
44
+ "context": "Spacing (horizontal)"
45
+ }
46
+ ]
47
+ }