@adobe/design-data-spec 0.14.0 → 1.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 (89) hide show
  1. package/components/accordion.json +27 -4
  2. package/components/action-button.json +27 -4
  3. package/components/action-group.json +51 -10
  4. package/components/alert-banner.json +15 -2
  5. package/components/alert-dialog.json +18 -8
  6. package/components/avatar-group.json +24 -2
  7. package/components/avatar.json +72 -13
  8. package/components/badge.json +120 -31
  9. package/components/body.json +24 -2
  10. package/components/bottom-navigation-android.json +18 -4
  11. package/components/breadcrumbs.json +34 -7
  12. package/components/button-group.json +32 -5
  13. package/components/button.json +50 -10
  14. package/components/calendar.json +9 -2
  15. package/components/cards.json +21 -9
  16. package/components/checkbox-group.json +27 -6
  17. package/components/checkbox.json +15 -2
  18. package/components/close-button.json +24 -4
  19. package/components/coach-indicator.json +40 -14
  20. package/components/code.json +18 -2
  21. package/components/color-handle.json +24 -10
  22. package/components/color-slider.json +33 -12
  23. package/components/combo-box.json +48 -8
  24. package/components/contextual-help.json +78 -27
  25. package/components/date-picker.json +12 -2
  26. package/components/detail.json +24 -4
  27. package/components/divider.json +21 -4
  28. package/components/drop-zone.json +12 -2
  29. package/components/field-label.json +33 -6
  30. package/components/heading.json +36 -4
  31. package/components/help-text.json +25 -5
  32. package/components/illustrated-message.json +21 -4
  33. package/components/in-field-progress-button.json +29 -3
  34. package/components/in-field-progress-circle.json +23 -3
  35. package/components/in-line-alert.json +33 -11
  36. package/components/link.json +18 -4
  37. package/components/list-view.json +12 -2
  38. package/components/menu.json +42 -5
  39. package/components/meter.json +30 -4
  40. package/components/number-field.json +32 -5
  41. package/components/opacity-checkerboard.json +25 -2
  42. package/components/picker.json +41 -7
  43. package/components/popover.json +69 -25
  44. package/components/progress-bar.json +39 -8
  45. package/components/progress-circle.json +21 -4
  46. package/components/radio-group.json +42 -8
  47. package/components/scroll-zoom-bar.json +21 -4
  48. package/components/search-field.json +15 -2
  49. package/components/segmented-control.json +27 -6
  50. package/components/select-box.json +9 -2
  51. package/components/side-navigation.json +12 -2
  52. package/components/slider.json +17 -3
  53. package/components/standard-dialog.json +12 -2
  54. package/components/standard-panel.json +33 -6
  55. package/components/status-light.json +87 -28
  56. package/components/steplist.json +9 -2
  57. package/components/swatch-group.json +48 -8
  58. package/components/swatch.json +39 -9
  59. package/components/switch.json +15 -2
  60. package/components/tab-bar-ios.json +18 -4
  61. package/components/table.json +24 -4
  62. package/components/tabs.json +9 -2
  63. package/components/tag-field.json +27 -4
  64. package/components/tag-group.json +21 -4
  65. package/components/takeover-dialog.json +9 -2
  66. package/components/text-area.json +50 -7
  67. package/components/text-field.json +32 -5
  68. package/components/thumbnail.json +38 -1
  69. package/components/title.json +24 -2
  70. package/components/toast.json +15 -2
  71. package/components/tooltip.json +27 -4
  72. package/components/tree-view.json +42 -8
  73. package/conformance/invalid/SPEC-019/dataset.json +14 -1
  74. package/conformance/invalid/SPEC-037/dataset.json +86 -0
  75. package/conformance/invalid/SPEC-037/expected-errors.json +20 -0
  76. package/conformance/invalid/SPEC-038/dataset.json +20 -0
  77. package/conformance/invalid/SPEC-038/expected-errors.json +10 -0
  78. package/conformance/valid/SPEC-037/dataset.json +119 -0
  79. package/conformance/valid/SPEC-038/dataset.json +29 -0
  80. package/conformance/valid/component-refs/dataset.json +41 -7
  81. package/package.json +1 -1
  82. package/rules/rules.yaml +29 -1
  83. package/schemas/anatomy-part.schema.json +4 -0
  84. package/schemas/component.schema.json +33 -3
  85. package/schemas/state-declaration.schema.json +4 -0
  86. package/spec/agent-surface.md +1 -1
  87. package/spec/anatomy-format.md +14 -0
  88. package/spec/component-format.md +84 -28
  89. package/spec/state-model.md +18 -4
@@ -23,8 +23,18 @@
23
23
  },
24
24
  "size": {
25
25
  "type": "string",
26
- "enum": ["s", "m", "l"],
27
- "default": "m"
26
+ "default": "m",
27
+ "values": [
28
+ {
29
+ "value": "s"
30
+ },
31
+ {
32
+ "value": "m"
33
+ },
34
+ {
35
+ "value": "l"
36
+ }
37
+ ]
28
38
  },
29
39
  "hideCloseButton": {
30
40
  "type": "boolean",
@@ -12,8 +12,18 @@
12
12
  "options": {
13
13
  "container": {
14
14
  "type": "string",
15
- "enum": ["anchored", "floating", "dragged"],
16
- "default": "anchored"
15
+ "default": "anchored",
16
+ "values": [
17
+ {
18
+ "value": "anchored"
19
+ },
20
+ {
21
+ "value": "floating"
22
+ },
23
+ {
24
+ "value": "dragged"
25
+ }
26
+ ]
17
27
  },
18
28
  "label": {
19
29
  "type": "string"
@@ -26,13 +36,30 @@
26
36
  },
27
37
  "density": {
28
38
  "type": "string",
29
- "enum": ["compact", "regular", "spacious"],
30
- "default": "regular"
39
+ "default": "regular",
40
+ "values": [
41
+ {
42
+ "value": "compact"
43
+ },
44
+ {
45
+ "value": "regular"
46
+ },
47
+ {
48
+ "value": "spacious"
49
+ }
50
+ ]
31
51
  },
32
52
  "style": {
33
53
  "type": "string",
34
- "enum": ["primary", "secondary"],
35
- "default": "primary"
54
+ "default": "primary",
55
+ "values": [
56
+ {
57
+ "value": "primary"
58
+ },
59
+ {
60
+ "value": "secondary"
61
+ }
62
+ ]
36
63
  },
37
64
  "hideGripper": {
38
65
  "type": "boolean",
@@ -15,37 +15,96 @@
15
15
  },
16
16
  "variant": {
17
17
  "type": "string",
18
- "enum": [
19
- "informative",
20
- "neutral",
21
- "positive",
22
- "notice",
23
- "negative",
24
- "indigo",
25
- "celery",
26
- "chartreuse",
27
- "yellow",
28
- "magenta",
29
- "fuchsia",
30
- "purple",
31
- "seafoam",
32
- "pink",
33
- "turquoise",
34
- "cinnamon",
35
- "brown",
36
- "silver",
37
- "gray",
38
- "red",
39
- "orange",
40
- "green",
41
- "cyan"
42
- ],
43
- "default": "informative"
18
+ "default": "informative",
19
+ "values": [
20
+ {
21
+ "value": "informative"
22
+ },
23
+ {
24
+ "value": "neutral"
25
+ },
26
+ {
27
+ "value": "positive"
28
+ },
29
+ {
30
+ "value": "notice"
31
+ },
32
+ {
33
+ "value": "negative"
34
+ },
35
+ {
36
+ "value": "indigo"
37
+ },
38
+ {
39
+ "value": "celery"
40
+ },
41
+ {
42
+ "value": "chartreuse"
43
+ },
44
+ {
45
+ "value": "yellow"
46
+ },
47
+ {
48
+ "value": "magenta"
49
+ },
50
+ {
51
+ "value": "fuchsia"
52
+ },
53
+ {
54
+ "value": "purple"
55
+ },
56
+ {
57
+ "value": "seafoam"
58
+ },
59
+ {
60
+ "value": "pink"
61
+ },
62
+ {
63
+ "value": "turquoise"
64
+ },
65
+ {
66
+ "value": "cinnamon"
67
+ },
68
+ {
69
+ "value": "brown"
70
+ },
71
+ {
72
+ "value": "silver"
73
+ },
74
+ {
75
+ "value": "gray"
76
+ },
77
+ {
78
+ "value": "red"
79
+ },
80
+ {
81
+ "value": "orange"
82
+ },
83
+ {
84
+ "value": "green"
85
+ },
86
+ {
87
+ "value": "cyan"
88
+ }
89
+ ]
44
90
  },
45
91
  "size": {
46
92
  "type": "string",
47
- "enum": ["s", "m", "l", "xl"],
48
- "default": "m"
93
+ "default": "m",
94
+ "values": [
95
+ {
96
+ "value": "s"
97
+ },
98
+ {
99
+ "value": "m"
100
+ },
101
+ {
102
+ "value": "l"
103
+ },
104
+ {
105
+ "value": "xl"
106
+ }
107
+ ]
49
108
  }
50
109
  },
51
110
  "lifecycle": {
@@ -12,8 +12,15 @@
12
12
  "options": {
13
13
  "orientation": {
14
14
  "type": "string",
15
- "enum": ["horizontal", "vertical"],
16
- "default": "horizontal"
15
+ "default": "horizontal",
16
+ "values": [
17
+ {
18
+ "value": "horizontal"
19
+ },
20
+ {
21
+ "value": "vertical"
22
+ }
23
+ ]
17
24
  },
18
25
  "items": {
19
26
  "type": "array",
@@ -12,13 +12,36 @@
12
12
  "options": {
13
13
  "size": {
14
14
  "type": "string",
15
- "enum": ["xs", "s", "m", "l"],
16
- "default": "m"
15
+ "default": "m",
16
+ "values": [
17
+ {
18
+ "value": "xs"
19
+ },
20
+ {
21
+ "value": "s"
22
+ },
23
+ {
24
+ "value": "m"
25
+ },
26
+ {
27
+ "value": "l"
28
+ }
29
+ ]
17
30
  },
18
31
  "density": {
19
32
  "type": "string",
20
- "enum": ["compact", "regular", "spacious"],
21
- "default": "regular"
33
+ "default": "regular",
34
+ "values": [
35
+ {
36
+ "value": "compact"
37
+ },
38
+ {
39
+ "value": "regular"
40
+ },
41
+ {
42
+ "value": "spacious"
43
+ }
44
+ ]
22
45
  },
23
46
  "enableSelection": {
24
47
  "type": "boolean",
@@ -27,8 +50,15 @@
27
50
  "selectionMode": {
28
51
  "type": "string",
29
52
  "description": "Only applicable if selection is enabled.",
30
- "enum": ["single", "multiple"],
31
- "default": "single"
53
+ "default": "single",
54
+ "values": [
55
+ {
56
+ "value": "single"
57
+ },
58
+ {
59
+ "value": "multiple"
60
+ }
61
+ ]
32
62
  },
33
63
  "allowsEmptySelection": {
34
64
  "type": "boolean",
@@ -37,9 +67,19 @@
37
67
  },
38
68
  "cornerRadius": {
39
69
  "type": "string",
40
- "enum": ["none", "full", "partial"],
41
70
  "default": "none",
42
- "description": "Determines the corner radius of each swatch in the group. Partial refers to corner-radius-75."
71
+ "description": "Determines the corner radius of each swatch in the group. Partial refers to corner-radius-75.",
72
+ "values": [
73
+ {
74
+ "value": "none"
75
+ },
76
+ {
77
+ "value": "full"
78
+ },
79
+ {
80
+ "value": "partial"
81
+ }
82
+ ]
43
83
  }
44
84
  },
45
85
  "lifecycle": {
@@ -4,7 +4,7 @@
4
4
  "specVersion": "1.0.0-draft",
5
5
  "name": "swatch",
6
6
  "displayName": "Swatch",
7
- "description": "A swatch shows a small sample of a fill \u2014 such as a color, gradient, texture, or material \u2014 that is intended to be applied to an object.",
7
+ "description": "A swatch shows a small sample of a fill such as a color, gradient, texture, or material that is intended to be applied to an object.",
8
8
  "meta": {
9
9
  "category": "inputs",
10
10
  "documentationUrl": "https://spectrum.adobe.com/page/swatch/"
@@ -16,19 +16,49 @@
16
16
  },
17
17
  "size": {
18
18
  "type": "string",
19
- "enum": ["xs", "s", "m", "l"],
20
- "default": "m"
19
+ "default": "m",
20
+ "values": [
21
+ {
22
+ "value": "xs"
23
+ },
24
+ {
25
+ "value": "s"
26
+ },
27
+ {
28
+ "value": "m"
29
+ },
30
+ {
31
+ "value": "l"
32
+ }
33
+ ]
21
34
  },
22
35
  "shape": {
23
36
  "type": "string",
24
- "enum": ["square", "rectangle"],
25
- "default": "square"
37
+ "default": "square",
38
+ "values": [
39
+ {
40
+ "value": "square"
41
+ },
42
+ {
43
+ "value": "rectangle"
44
+ }
45
+ ]
26
46
  },
27
47
  "cornerRounding": {
28
48
  "type": "string",
29
- "enum": ["none", "partial", "full"],
30
49
  "default": "none",
31
- "description": "Determines the corner radius of the swatch. Partial refers to corner-radius-75."
50
+ "description": "Determines the corner radius of the swatch. Partial refers to corner-radius-75.",
51
+ "values": [
52
+ {
53
+ "value": "none"
54
+ },
55
+ {
56
+ "value": "partial"
57
+ },
58
+ {
59
+ "value": "full"
60
+ }
61
+ ]
32
62
  },
33
63
  "isSelected": {
34
64
  "type": "boolean",
@@ -171,11 +201,11 @@
171
201
  },
172
202
  {
173
203
  "token": "gray-100",
174
- "context": "Add \u201cbutton\u201d background"
204
+ "context": "Add “button” background"
175
205
  },
176
206
  {
177
207
  "token": "gray-200",
178
- "context": "Add \u201cbutton\u201d background"
208
+ "context": "Add “button” background"
179
209
  },
180
210
  {
181
211
  "token": "focus-indicator-color",
@@ -19,8 +19,21 @@
19
19
  },
20
20
  "size": {
21
21
  "type": "string",
22
- "enum": ["s", "m", "l", "xl"],
23
- "default": "m"
22
+ "default": "m",
23
+ "values": [
24
+ {
25
+ "value": "s"
26
+ },
27
+ {
28
+ "value": "m"
29
+ },
30
+ {
31
+ "value": "l"
32
+ },
33
+ {
34
+ "value": "xl"
35
+ }
36
+ ]
24
37
  },
25
38
  "isEmphasized": {
26
39
  "type": "boolean",
@@ -15,16 +15,30 @@
15
15
  },
16
16
  "labelPosition": {
17
17
  "type": "string",
18
- "enum": ["bottom", "side"],
19
- "default": "bottom"
18
+ "default": "bottom",
19
+ "values": [
20
+ {
21
+ "value": "bottom"
22
+ },
23
+ {
24
+ "value": "side"
25
+ }
26
+ ]
20
27
  },
21
28
  "icon": {
22
29
  "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/workflow-icon.json"
23
30
  },
24
31
  "background": {
25
32
  "type": "string",
26
- "enum": ["primary", "secondary"],
27
- "default": "primary"
33
+ "default": "primary",
34
+ "values": [
35
+ {
36
+ "value": "primary"
37
+ },
38
+ {
39
+ "value": "secondary"
40
+ }
41
+ ]
28
42
  },
29
43
  "hasBadge": {
30
44
  "type": "boolean",
@@ -12,9 +12,19 @@
12
12
  "options": {
13
13
  "size": {
14
14
  "type": "string",
15
- "enum": ["s", "m", "l"],
16
15
  "default": "m",
17
- "description": "Controls the density of table rows."
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
+ ]
18
28
  },
19
29
  "hideHeader": {
20
30
  "type": "boolean",
@@ -41,8 +51,18 @@
41
51
  },
42
52
  "density": {
43
53
  "type": "string",
44
- "enum": ["compact", "regular", "spacious"],
45
- "default": "regular"
54
+ "default": "regular",
55
+ "values": [
56
+ {
57
+ "value": "compact"
58
+ },
59
+ {
60
+ "value": "regular"
61
+ },
62
+ {
63
+ "value": "spacious"
64
+ }
65
+ ]
46
66
  },
47
67
  "isQuiet": {
48
68
  "type": "boolean",
@@ -12,8 +12,15 @@
12
12
  "options": {
13
13
  "orientation": {
14
14
  "type": "string",
15
- "enum": ["horizontal", "vertical"],
16
- "default": "horizontal"
15
+ "default": "horizontal",
16
+ "values": [
17
+ {
18
+ "value": "horizontal"
19
+ },
20
+ {
21
+ "value": "vertical"
22
+ }
23
+ ]
17
24
  },
18
25
  "items": {
19
26
  "type": "array",
@@ -12,13 +12,36 @@
12
12
  "options": {
13
13
  "size": {
14
14
  "type": "string",
15
- "enum": ["s", "m", "l"],
16
- "default": "m"
15
+ "default": "m",
16
+ "values": [
17
+ {
18
+ "value": "s"
19
+ },
20
+ {
21
+ "value": "m"
22
+ },
23
+ {
24
+ "value": "l"
25
+ }
26
+ ]
17
27
  },
18
28
  "style": {
19
29
  "type": "string",
20
- "enum": ["keyword", "icon", "thumbnail", "avatar"],
21
- "default": "keyword"
30
+ "default": "keyword",
31
+ "values": [
32
+ {
33
+ "value": "keyword"
34
+ },
35
+ {
36
+ "value": "icon"
37
+ },
38
+ {
39
+ "value": "thumbnail"
40
+ },
41
+ {
42
+ "value": "avatar"
43
+ }
44
+ ]
22
45
  },
23
46
  "isDisabled": {
24
47
  "type": "boolean",
@@ -12,13 +12,30 @@
12
12
  "options": {
13
13
  "size": {
14
14
  "type": "string",
15
- "enum": ["s", "m", "l"],
16
- "default": "m"
15
+ "default": "m",
16
+ "values": [
17
+ {
18
+ "value": "s"
19
+ },
20
+ {
21
+ "value": "m"
22
+ },
23
+ {
24
+ "value": "l"
25
+ }
26
+ ]
17
27
  },
18
28
  "labelPosition": {
19
29
  "type": "string",
20
- "enum": ["top", "side"],
21
- "default": "top"
30
+ "default": "top",
31
+ "values": [
32
+ {
33
+ "value": "top"
34
+ },
35
+ {
36
+ "value": "side"
37
+ }
38
+ ]
22
39
  },
23
40
  "hideLabel": {
24
41
  "type": "boolean",
@@ -18,8 +18,15 @@
18
18
  },
19
19
  "variant": {
20
20
  "type": "string",
21
- "enum": ["dialog", "full screen"],
22
- "default": "dialog"
21
+ "default": "dialog",
22
+ "values": [
23
+ {
24
+ "value": "dialog"
25
+ },
26
+ {
27
+ "value": "full screen"
28
+ }
29
+ ]
23
30
  },
24
31
  "primaryActionLabel": {
25
32
  "type": "string"
@@ -16,7 +16,14 @@
16
16
  "labelPosition": {
17
17
  "type": "string",
18
18
  "default": "top",
19
- "enum": ["top", "side"]
19
+ "values": [
20
+ {
21
+ "value": "top"
22
+ },
23
+ {
24
+ "value": "side"
25
+ }
26
+ ]
20
27
  },
21
28
  "hideLabel": {
22
29
  "type": "boolean",
@@ -31,13 +38,33 @@
31
38
  },
32
39
  "size": {
33
40
  "type": "string",
34
- "enum": ["s", "m", "l", "xl"],
35
- "default": "m"
41
+ "default": "m",
42
+ "values": [
43
+ {
44
+ "value": "s"
45
+ },
46
+ {
47
+ "value": "m"
48
+ },
49
+ {
50
+ "value": "l"
51
+ },
52
+ {
53
+ "value": "xl"
54
+ }
55
+ ]
36
56
  },
37
57
  "necessityIndicator": {
38
58
  "type": "string",
39
- "enum": ["text", "icon"],
40
- "default": "icon"
59
+ "default": "icon",
60
+ "values": [
61
+ {
62
+ "value": "text"
63
+ },
64
+ {
65
+ "value": "icon"
66
+ }
67
+ ]
41
68
  },
42
69
  "isRequired": {
43
70
  "type": "boolean",
@@ -75,8 +102,24 @@
75
102
  },
76
103
  "inputType": {
77
104
  "type": "string",
78
- "enum": ["text", "url", "phone", "email", "password"],
79
- "default": "text"
105
+ "default": "text",
106
+ "values": [
107
+ {
108
+ "value": "text"
109
+ },
110
+ {
111
+ "value": "url"
112
+ },
113
+ {
114
+ "value": "phone"
115
+ },
116
+ {
117
+ "value": "email"
118
+ },
119
+ {
120
+ "value": "password"
121
+ }
122
+ ]
80
123
  }
81
124
  },
82
125
  "states": [