@adobe/design-data-spec 0.15.0 → 1.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 (94) 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 +14 -6
  75. package/conformance/invalid/SPEC-038/dataset.json +20 -0
  76. package/conformance/invalid/SPEC-038/expected-errors.json +10 -0
  77. package/conformance/invalid/SPEC-039-syntax-error/dataset.json +4 -0
  78. package/conformance/invalid/SPEC-039-syntax-error/expected-errors.json +10 -0
  79. package/conformance/invalid/SPEC-039-syntax-error/manifest.json +5 -0
  80. package/conformance/invalid/SPEC-039-unknown-key/dataset.json +4 -0
  81. package/conformance/invalid/SPEC-039-unknown-key/expected-errors.json +10 -0
  82. package/conformance/invalid/SPEC-039-unknown-key/manifest.json +5 -0
  83. package/conformance/valid/SPEC-037/dataset.json +20 -8
  84. package/conformance/valid/SPEC-038/dataset.json +29 -0
  85. package/conformance/valid/SPEC-039/dataset.json +4 -0
  86. package/conformance/valid/SPEC-039/expected-errors.json +4 -0
  87. package/conformance/valid/SPEC-039/manifest.json +10 -0
  88. package/conformance/valid/component-refs/dataset.json +41 -7
  89. package/package.json +1 -1
  90. package/rules/rules.yaml +32 -4
  91. package/schemas/component.schema.json +25 -11
  92. package/spec/agent-surface.md +1 -1
  93. package/spec/component-format.md +67 -33
  94. package/spec/manifest.md +4 -2
@@ -12,8 +12,21 @@
12
12
  "options": {
13
13
  "size": {
14
14
  "type": "string",
15
- "enum": ["s", "m", "l", "xl"],
16
- "default": "m"
15
+ "default": "m",
16
+ "values": [
17
+ {
18
+ "value": "s"
19
+ },
20
+ {
21
+ "value": "m"
22
+ },
23
+ {
24
+ "value": "l"
25
+ },
26
+ {
27
+ "value": "xl"
28
+ }
29
+ ]
17
30
  },
18
31
  "isQuiet": {
19
32
  "type": "boolean",
@@ -25,8 +38,18 @@
25
38
  },
26
39
  "density": {
27
40
  "type": "string",
28
- "enum": ["compact", "regular", "spacious"],
29
- "default": "regular"
41
+ "default": "regular",
42
+ "values": [
43
+ {
44
+ "value": "compact"
45
+ },
46
+ {
47
+ "value": "regular"
48
+ },
49
+ {
50
+ "value": "spacious"
51
+ }
52
+ ]
30
53
  },
31
54
  "items": {
32
55
  "type": "array",
@@ -23,8 +23,24 @@
23
23
  },
24
24
  "size": {
25
25
  "type": "string",
26
- "enum": ["xs", "s", "m", "l", "xl"],
27
- "default": "m"
26
+ "default": "m",
27
+ "values": [
28
+ {
29
+ "value": "xs"
30
+ },
31
+ {
32
+ "value": "s"
33
+ },
34
+ {
35
+ "value": "m"
36
+ },
37
+ {
38
+ "value": "l"
39
+ },
40
+ {
41
+ "value": "xl"
42
+ }
43
+ ]
28
44
  },
29
45
  "isQuiet": {
30
46
  "type": "boolean",
@@ -40,8 +56,15 @@
40
56
  },
41
57
  "staticColor": {
42
58
  "type": "string",
43
- "enum": ["white", "black"],
44
- "description": "Static color must not be set for the default version of this component."
59
+ "description": "Static color must not be set for the default version of this component.",
60
+ "values": [
61
+ {
62
+ "value": "white"
63
+ },
64
+ {
65
+ "value": "black"
66
+ }
67
+ ]
45
68
  },
46
69
  "selectedTextColor": {
47
70
  "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/hex-color.json"
@@ -12,18 +12,45 @@
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
  "size": {
19
26
  "type": "string",
20
- "enum": ["s", "m", "l", "xl"],
21
- "default": "m"
27
+ "default": "m",
28
+ "values": [
29
+ {
30
+ "value": "s"
31
+ },
32
+ {
33
+ "value": "m"
34
+ },
35
+ {
36
+ "value": "l"
37
+ },
38
+ {
39
+ "value": "xl"
40
+ }
41
+ ]
22
42
  },
23
43
  "density": {
24
44
  "type": "string",
25
- "enum": ["regular", "compact"],
26
- "default": "regular"
45
+ "default": "regular",
46
+ "values": [
47
+ {
48
+ "value": "regular"
49
+ },
50
+ {
51
+ "value": "compact"
52
+ }
53
+ ]
27
54
  },
28
55
  "isJustified": {
29
56
  "type": "boolean",
@@ -43,9 +70,16 @@
43
70
  },
44
71
  "selectionMode": {
45
72
  "type": "string",
46
- "enum": ["single", "multiple"],
47
73
  "default": "single",
48
- "description": "Only applicable if selection is enabled"
74
+ "description": "Only applicable if selection is enabled",
75
+ "values": [
76
+ {
77
+ "value": "single"
78
+ },
79
+ {
80
+ "value": "multiple"
81
+ }
82
+ ]
49
83
  },
50
84
  "allowsEmptySelection": {
51
85
  "type": "boolean",
@@ -54,8 +88,15 @@
54
88
  },
55
89
  "overflowMode": {
56
90
  "type": "string",
57
- "enum": ["wrap", "collapse"],
58
- "default": "wrap"
91
+ "default": "wrap",
92
+ "values": [
93
+ {
94
+ "value": "wrap"
95
+ },
96
+ {
97
+ "value": "collapse"
98
+ }
99
+ ]
59
100
  },
60
101
  "isDisabled": {
61
102
  "type": "boolean",
@@ -15,8 +15,21 @@
15
15
  },
16
16
  "variant": {
17
17
  "type": "string",
18
- "enum": ["neutral", "informative", "negative", "accent"],
19
- "default": "neutral"
18
+ "default": "neutral",
19
+ "values": [
20
+ {
21
+ "value": "neutral"
22
+ },
23
+ {
24
+ "value": "informative"
25
+ },
26
+ {
27
+ "value": "negative"
28
+ },
29
+ {
30
+ "value": "accent"
31
+ }
32
+ ]
20
33
  },
21
34
  "actionLabel": {
22
35
  "type": "string",
@@ -18,14 +18,24 @@
18
18
  },
19
19
  "variant": {
20
20
  "type": "string",
21
- "enum": [
22
- "confirmation",
23
- "information",
24
- "warning",
25
- "destructive",
26
- "error"
27
- ],
28
- "default": "confirmation"
21
+ "default": "confirmation",
22
+ "values": [
23
+ {
24
+ "value": "confirmation"
25
+ },
26
+ {
27
+ "value": "information"
28
+ },
29
+ {
30
+ "value": "warning"
31
+ },
32
+ {
33
+ "value": "destructive"
34
+ },
35
+ {
36
+ "value": "error"
37
+ }
38
+ ]
29
39
  },
30
40
  "primaryActionLabel": {
31
41
  "type": "string"
@@ -16,8 +16,30 @@
16
16
  },
17
17
  "size": {
18
18
  "type": "number",
19
- "enum": [50, 75, 100, 200, 300, 400, 500],
20
- "default": 100
19
+ "default": 100,
20
+ "values": [
21
+ {
22
+ "value": 50
23
+ },
24
+ {
25
+ "value": 75
26
+ },
27
+ {
28
+ "value": 100
29
+ },
30
+ {
31
+ "value": 200
32
+ },
33
+ {
34
+ "value": 300
35
+ },
36
+ {
37
+ "value": 400
38
+ },
39
+ {
40
+ "value": 500
41
+ }
42
+ ]
21
43
  }
22
44
  },
23
45
  "lifecycle": {
@@ -12,22 +12,81 @@
12
12
  "options": {
13
13
  "size": {
14
14
  "type": "number",
15
- "enum": [
16
- 50, 75, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200,
17
- 1300, 1400, 1500
18
- ],
19
- "default": 500
15
+ "default": 500,
16
+ "values": [
17
+ {
18
+ "value": 50
19
+ },
20
+ {
21
+ "value": 75
22
+ },
23
+ {
24
+ "value": 100
25
+ },
26
+ {
27
+ "value": 200
28
+ },
29
+ {
30
+ "value": 300
31
+ },
32
+ {
33
+ "value": 400
34
+ },
35
+ {
36
+ "value": 500
37
+ },
38
+ {
39
+ "value": 600
40
+ },
41
+ {
42
+ "value": 700
43
+ },
44
+ {
45
+ "value": 800
46
+ },
47
+ {
48
+ "value": 900
49
+ },
50
+ {
51
+ "value": 1000
52
+ },
53
+ {
54
+ "value": 1100
55
+ },
56
+ {
57
+ "value": 1200
58
+ },
59
+ {
60
+ "value": 1300
61
+ },
62
+ {
63
+ "value": 1400
64
+ },
65
+ {
66
+ "value": 1500
67
+ }
68
+ ]
20
69
  },
21
70
  "image": {
22
71
  "type": "string",
23
- "enum": [
24
- "user image",
25
- "gradient image",
26
- "gradient",
27
- "guest image",
28
- "initials"
29
- ],
30
- "default": "user image"
72
+ "default": "user image",
73
+ "values": [
74
+ {
75
+ "value": "user image"
76
+ },
77
+ {
78
+ "value": "gradient image"
79
+ },
80
+ {
81
+ "value": "gradient"
82
+ },
83
+ {
84
+ "value": "guest image"
85
+ },
86
+ {
87
+ "value": "initials"
88
+ }
89
+ ]
31
90
  },
32
91
  "isDisabled": {
33
92
  "type": "boolean",
@@ -19,42 +19,118 @@
19
19
  },
20
20
  "variant": {
21
21
  "type": "string",
22
- "enum": [
23
- "neutral",
24
- "info",
25
- "positive",
26
- "negative",
27
- "indigo",
28
- "yellow",
29
- "magenta",
30
- "fuchsia",
31
- "purple",
32
- "seafoam",
33
- "accent",
34
- "notice",
35
- "gray",
36
- "red",
37
- "orange",
38
- "chartreuse",
39
- "celery",
40
- "green",
41
- "cyan",
42
- "blue",
43
- "pink",
44
- "turquoise",
45
- "brown",
46
- "cinnamon",
47
- "silver"
22
+ "values": [
23
+ {
24
+ "value": "neutral"
25
+ },
26
+ {
27
+ "value": "info"
28
+ },
29
+ {
30
+ "value": "positive"
31
+ },
32
+ {
33
+ "value": "negative"
34
+ },
35
+ {
36
+ "value": "indigo"
37
+ },
38
+ {
39
+ "value": "yellow"
40
+ },
41
+ {
42
+ "value": "magenta"
43
+ },
44
+ {
45
+ "value": "fuchsia"
46
+ },
47
+ {
48
+ "value": "purple"
49
+ },
50
+ {
51
+ "value": "seafoam"
52
+ },
53
+ {
54
+ "value": "accent"
55
+ },
56
+ {
57
+ "value": "notice"
58
+ },
59
+ {
60
+ "value": "gray"
61
+ },
62
+ {
63
+ "value": "red"
64
+ },
65
+ {
66
+ "value": "orange"
67
+ },
68
+ {
69
+ "value": "chartreuse"
70
+ },
71
+ {
72
+ "value": "celery"
73
+ },
74
+ {
75
+ "value": "green"
76
+ },
77
+ {
78
+ "value": "cyan"
79
+ },
80
+ {
81
+ "value": "blue"
82
+ },
83
+ {
84
+ "value": "pink"
85
+ },
86
+ {
87
+ "value": "turquoise"
88
+ },
89
+ {
90
+ "value": "brown"
91
+ },
92
+ {
93
+ "value": "cinnamon"
94
+ },
95
+ {
96
+ "value": "silver"
97
+ }
48
98
  ]
49
99
  },
50
100
  "style": {
51
101
  "type": "string",
52
- "enum": ["bold", "subtle", "outline"]
102
+ "values": [
103
+ {
104
+ "value": "bold"
105
+ },
106
+ {
107
+ "value": "subtle"
108
+ },
109
+ {
110
+ "value": "outline"
111
+ }
112
+ ]
53
113
  },
54
114
  "fixed": {
55
115
  "type": "string",
56
- "enum": ["none", "top", "right", "bottom", "left"],
57
- "default": "none"
116
+ "default": "none",
117
+ "values": [
118
+ {
119
+ "value": "none"
120
+ },
121
+ {
122
+ "value": "top"
123
+ },
124
+ {
125
+ "value": "right"
126
+ },
127
+ {
128
+ "value": "bottom"
129
+ },
130
+ {
131
+ "value": "left"
132
+ }
133
+ ]
58
134
  },
59
135
  "isDisabled": {
60
136
  "type": "boolean",
@@ -63,8 +139,21 @@
63
139
  "size": {
64
140
  "type": "string",
65
141
  "pattern": "^(x?s|m|x{0,3}l)$",
66
- "enum": ["s", "m", "l", "xl"],
67
- "default": "s"
142
+ "default": "s",
143
+ "values": [
144
+ {
145
+ "value": "s"
146
+ },
147
+ {
148
+ "value": "m"
149
+ },
150
+ {
151
+ "value": "l"
152
+ },
153
+ {
154
+ "value": "xl"
155
+ }
156
+ ]
68
157
  }
69
158
  },
70
159
  "lifecycle": {
@@ -19,8 +19,30 @@
19
19
  "size": {
20
20
  "type": "string",
21
21
  "pattern": "^(x?s|m|x{0,3}l)$",
22
- "enum": ["xs", "s", "m", "l", "xl", "xxl", "xxxl"],
23
- "default": "m"
22
+ "default": "m",
23
+ "values": [
24
+ {
25
+ "value": "xs"
26
+ },
27
+ {
28
+ "value": "s"
29
+ },
30
+ {
31
+ "value": "m"
32
+ },
33
+ {
34
+ "value": "l"
35
+ },
36
+ {
37
+ "value": "xl"
38
+ },
39
+ {
40
+ "value": "xxl"
41
+ },
42
+ {
43
+ "value": "xxxl"
44
+ }
45
+ ]
24
46
  }
25
47
  },
26
48
  "lifecycle": {
@@ -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",
@@ -4,7 +4,7 @@
4
4
  "specVersion": "1.0.0-draft",
5
5
  "name": "breadcrumbs",
6
6
  "displayName": "Breadcrumbs",
7
- "description": "Breadcrumbs show hierarchy and navigational context for a user\u2019s location within an app.",
7
+ "description": "Breadcrumbs show hierarchy and navigational context for a user’s location within an app.",
8
8
  "meta": {
9
9
  "category": "navigation",
10
10
  "documentationUrl": "https://spectrum.adobe.com/page/breadcrumbs/"
@@ -17,9 +17,16 @@
17
17
  },
18
18
  "size": {
19
19
  "type": "string",
20
- "enum": ["m", "l"],
21
20
  "default": "m",
22
- "description": "Controls the overall size of the breadcrumb component."
21
+ "description": "Controls the overall size of the breadcrumb component.",
22
+ "values": [
23
+ {
24
+ "value": "m"
25
+ },
26
+ {
27
+ "value": "l"
28
+ }
29
+ ]
23
30
  },
24
31
  "items": {
25
32
  "type": "array",
@@ -50,9 +57,16 @@
50
57
  },
51
58
  "separator": {
52
59
  "type": "string",
53
- "enum": ["chevron", "none"],
54
60
  "default": "chevron",
55
- "description": "The separator icon used between breadcrumb items."
61
+ "description": "The separator icon used between breadcrumb items.",
62
+ "values": [
63
+ {
64
+ "value": "chevron"
65
+ },
66
+ {
67
+ "value": "none"
68
+ }
69
+ ]
56
70
  },
57
71
  "isTruncated": {
58
72
  "type": "boolean",
@@ -61,8 +75,21 @@
61
75
  },
62
76
  "sizeOverride": {
63
77
  "type": "string",
64
- "enum": ["s", "m", "l", "xl"],
65
- "description": "Overrides the size of the breadcrumb items when isMultiline is true."
78
+ "description": "Overrides the size of the breadcrumb items when isMultiline is true.",
79
+ "values": [
80
+ {
81
+ "value": "s"
82
+ },
83
+ {
84
+ "value": "m"
85
+ },
86
+ {
87
+ "value": "l"
88
+ },
89
+ {
90
+ "value": "xl"
91
+ }
92
+ ]
66
93
  }
67
94
  },
68
95
  "states": [