@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
@@ -12,36 +12,87 @@
12
12
  "options": {
13
13
  "icon": {
14
14
  "type": "string",
15
- "enum": ["info", "help"],
16
- "default": "info"
15
+ "default": "info",
16
+ "values": [
17
+ {
18
+ "value": "info"
19
+ },
20
+ {
21
+ "value": "help"
22
+ }
23
+ ]
17
24
  },
18
25
  "popoverPlacement": {
19
26
  "type": "string",
20
- "enum": [
21
- "top",
22
- "top left",
23
- "top right",
24
- "top start",
25
- "top end",
26
- "bottom",
27
- "bottom left",
28
- "bottom right",
29
- "bottom start",
30
- "bottom end",
31
- "left",
32
- "left top",
33
- "left bottom",
34
- "start",
35
- "start top",
36
- "start bottom",
37
- "right",
38
- "right top",
39
- "right bottom",
40
- "end",
41
- "end top",
42
- "end bottom"
43
- ],
44
- "default": "bottom start"
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
+ ]
45
96
  },
46
97
  "popoverOffset": {
47
98
  "type": "number",
@@ -12,9 +12,19 @@
12
12
  "options": {
13
13
  "variant": {
14
14
  "type": "string",
15
- "enum": ["single", "double", "triple"],
16
15
  "default": "single",
17
- "description": "Controls the number of months displayed in the calendar popover."
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
+ ]
18
28
  },
19
29
  "selectedDate": {
20
30
  "type": "string",
@@ -15,13 +15,33 @@
15
15
  },
16
16
  "weight": {
17
17
  "type": "string",
18
- "enum": ["light", "default"],
19
- "default": "default"
18
+ "default": "default",
19
+ "values": [
20
+ {
21
+ "value": "light"
22
+ },
23
+ {
24
+ "value": "default"
25
+ }
26
+ ]
20
27
  },
21
28
  "size": {
22
29
  "type": "string",
23
- "enum": ["s", "m", "l", "xl"],
24
- "default": "m"
30
+ "default": "m",
31
+ "values": [
32
+ {
33
+ "value": "s"
34
+ },
35
+ {
36
+ "value": "m"
37
+ },
38
+ {
39
+ "value": "l"
40
+ },
41
+ {
42
+ "value": "xl"
43
+ }
44
+ ]
25
45
  }
26
46
  },
27
47
  "lifecycle": {
@@ -12,13 +12,30 @@
12
12
  "options": {
13
13
  "size": {
14
14
  "type": "string",
15
- "enum": ["s", "m", "l"],
16
- "default": "s"
15
+ "default": "s",
16
+ "values": [
17
+ {
18
+ "value": "s"
19
+ },
20
+ {
21
+ "value": "m"
22
+ },
23
+ {
24
+ "value": "l"
25
+ }
26
+ ]
17
27
  },
18
28
  "orientation": {
19
29
  "type": "string",
20
- "enum": ["horizontal", "vertical"],
21
- "default": "horizontal"
30
+ "default": "horizontal",
31
+ "values": [
32
+ {
33
+ "value": "horizontal"
34
+ },
35
+ {
36
+ "value": "vertical"
37
+ }
38
+ ]
22
39
  }
23
40
  },
24
41
  "lifecycle": {
@@ -19,8 +19,18 @@
19
19
  },
20
20
  "size": {
21
21
  "type": "string",
22
- "enum": ["s", "m", "l"],
23
- "default": "m"
22
+ "default": "m",
23
+ "values": [
24
+ {
25
+ "value": "s"
26
+ },
27
+ {
28
+ "value": "m"
29
+ },
30
+ {
31
+ "value": "l"
32
+ }
33
+ ]
24
34
  },
25
35
  "actionLabel": {
26
36
  "type": "string",
@@ -15,18 +15,45 @@
15
15
  },
16
16
  "labelPosition": {
17
17
  "type": "string",
18
- "enum": ["top", "side"],
19
- "default": "top"
18
+ "default": "top",
19
+ "values": [
20
+ {
21
+ "value": "top"
22
+ },
23
+ {
24
+ "value": "side"
25
+ }
26
+ ]
20
27
  },
21
28
  "size": {
22
29
  "type": "string",
23
- "enum": ["s", "m", "l", "xl"],
24
- "default": "m"
30
+ "default": "m",
31
+ "values": [
32
+ {
33
+ "value": "s"
34
+ },
35
+ {
36
+ "value": "m"
37
+ },
38
+ {
39
+ "value": "l"
40
+ },
41
+ {
42
+ "value": "xl"
43
+ }
44
+ ]
25
45
  },
26
46
  "necessityIndicator": {
27
47
  "type": "string",
28
- "enum": ["text", "icon"],
29
- "default": "icon"
48
+ "default": "icon",
49
+ "values": [
50
+ {
51
+ "value": "text"
52
+ },
53
+ {
54
+ "value": "icon"
55
+ }
56
+ ]
30
57
  },
31
58
  "isRequired": {
32
59
  "type": "boolean",
@@ -18,13 +18,45 @@
18
18
  },
19
19
  "weight": {
20
20
  "type": "string",
21
- "enum": ["light", "default", "heavy"],
22
- "default": "default"
21
+ "default": "default",
22
+ "values": [
23
+ {
24
+ "value": "light"
25
+ },
26
+ {
27
+ "value": "default"
28
+ },
29
+ {
30
+ "value": "heavy"
31
+ }
32
+ ]
23
33
  },
24
34
  "size": {
25
35
  "type": "string",
26
- "enum": ["xs", "s", "m", "l", "xl", "xxl", "xxxl"],
27
- "default": "m"
36
+ "default": "m",
37
+ "values": [
38
+ {
39
+ "value": "xs"
40
+ },
41
+ {
42
+ "value": "s"
43
+ },
44
+ {
45
+ "value": "m"
46
+ },
47
+ {
48
+ "value": "l"
49
+ },
50
+ {
51
+ "value": "xl"
52
+ },
53
+ {
54
+ "value": "xxl"
55
+ },
56
+ {
57
+ "value": "xxxl"
58
+ }
59
+ ]
28
60
  }
29
61
  },
30
62
  "lifecycle": {
@@ -4,7 +4,7 @@
4
4
  "specVersion": "1.0.0-draft",
5
5
  "name": "help-text",
6
6
  "displayName": "Help text",
7
- "description": "Help text provides either an informative description or an error message that gives more context about what a user needs to input. It\u2019s commonly used in forms.",
7
+ "description": "Help text provides either an informative description or an error message that gives more context about what a user needs to input. It’s commonly used in forms.",
8
8
  "meta": {
9
9
  "category": "inputs",
10
10
  "documentationUrl": "https://spectrum.adobe.com/page/help-text/"
@@ -15,8 +15,15 @@
15
15
  },
16
16
  "variant": {
17
17
  "type": "string",
18
- "enum": ["neutral", "negative"],
19
- "default": "neutral"
18
+ "default": "neutral",
19
+ "values": [
20
+ {
21
+ "value": "neutral"
22
+ },
23
+ {
24
+ "value": "negative"
25
+ }
26
+ ]
20
27
  },
21
28
  "hideIcon": {
22
29
  "type": "boolean",
@@ -25,8 +32,21 @@
25
32
  },
26
33
  "size": {
27
34
  "type": "string",
28
- "enum": ["s", "m", "l", "xl"],
29
- "default": "m"
35
+ "default": "m",
36
+ "values": [
37
+ {
38
+ "value": "s"
39
+ },
40
+ {
41
+ "value": "m"
42
+ },
43
+ {
44
+ "value": "l"
45
+ },
46
+ {
47
+ "value": "xl"
48
+ }
49
+ ]
30
50
  },
31
51
  "isDisabled": {
32
52
  "type": "boolean",
@@ -16,15 +16,32 @@
16
16
  },
17
17
  "size": {
18
18
  "type": "string",
19
- "enum": ["s", "m", "l"],
20
19
  "default": "m",
21
- "description": "Size of the illustration."
20
+ "description": "Size of the illustration.",
21
+ "values": [
22
+ {
23
+ "value": "s"
24
+ },
25
+ {
26
+ "value": "m"
27
+ },
28
+ {
29
+ "value": "l"
30
+ }
31
+ ]
22
32
  },
23
33
  "orientation": {
24
34
  "type": "string",
25
- "enum": ["vertical", "horizontal"],
26
35
  "default": "vertical",
27
- "description": "Orientation of the illustrated message."
36
+ "description": "Orientation of the illustrated message.",
37
+ "values": [
38
+ {
39
+ "value": "vertical"
40
+ },
41
+ {
42
+ "value": "horizontal"
43
+ }
44
+ ]
28
45
  },
29
46
  "title": {
30
47
  "type": "string",
@@ -12,12 +12,38 @@
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
  "style": {
19
32
  "type": "string",
20
- "enum": ["disclosure", "clear", "dash", "add"]
33
+ "values": [
34
+ {
35
+ "value": "disclosure"
36
+ },
37
+ {
38
+ "value": "clear"
39
+ },
40
+ {
41
+ "value": "dash"
42
+ },
43
+ {
44
+ "value": "add"
45
+ }
46
+ ]
21
47
  },
22
48
  "isQuiet": {
23
49
  "type": "boolean",
@@ -12,12 +12,32 @@
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
  "staticColor": {
19
32
  "type": "string",
20
- "enum": ["white", "black"]
33
+ "values": [
34
+ {
35
+ "value": "white"
36
+ },
37
+ {
38
+ "value": "black"
39
+ }
40
+ ]
21
41
  }
22
42
  },
23
43
  "lifecycle": {
@@ -12,21 +12,43 @@
12
12
  "options": {
13
13
  "variant": {
14
14
  "type": "string",
15
- "enum": [
16
- "neutral",
17
- "informative",
18
- "positive",
19
- "notice",
20
- "negative",
21
- "accent"
22
- ],
23
- "default": "neutral"
15
+ "default": "neutral",
16
+ "values": [
17
+ {
18
+ "value": "neutral"
19
+ },
20
+ {
21
+ "value": "informative"
22
+ },
23
+ {
24
+ "value": "positive"
25
+ },
26
+ {
27
+ "value": "notice"
28
+ },
29
+ {
30
+ "value": "negative"
31
+ },
32
+ {
33
+ "value": "accent"
34
+ }
35
+ ]
24
36
  },
25
37
  "style": {
26
38
  "type": "string",
27
- "enum": ["bold", "subtle", "outline"],
28
39
  "default": "outline",
29
- "description": "The visual style of the alert."
40
+ "description": "The visual style of the alert.",
41
+ "values": [
42
+ {
43
+ "value": "bold"
44
+ },
45
+ {
46
+ "value": "subtle"
47
+ },
48
+ {
49
+ "value": "outline"
50
+ }
51
+ ]
30
52
  },
31
53
  "href": {
32
54
  "type": "string",
@@ -12,8 +12,15 @@
12
12
  "options": {
13
13
  "variant": {
14
14
  "type": "string",
15
- "enum": ["primary", "secondary"],
16
- "default": "primary"
15
+ "default": "primary",
16
+ "values": [
17
+ {
18
+ "value": "primary"
19
+ },
20
+ {
21
+ "value": "secondary"
22
+ }
23
+ ]
17
24
  },
18
25
  "isQuiet": {
19
26
  "type": "boolean",
@@ -21,8 +28,15 @@
21
28
  },
22
29
  "staticColor": {
23
30
  "type": "string",
24
- "enum": ["white", "black"],
25
- "description": "Static color must not be set for the default version of this component."
31
+ "description": "Static color must not be set for the default version of this component.",
32
+ "values": [
33
+ {
34
+ "value": "white"
35
+ },
36
+ {
37
+ "value": "black"
38
+ }
39
+ ]
26
40
  }
27
41
  },
28
42
  "states": [
@@ -12,9 +12,19 @@
12
12
  "options": {
13
13
  "selectionMode": {
14
14
  "type": "string",
15
- "enum": ["none", "single", "multiple"],
16
15
  "default": "single",
17
- "description": "Defines how many items can be selected at once."
16
+ "description": "Defines how many items can be selected at once.",
17
+ "values": [
18
+ {
19
+ "value": "none"
20
+ },
21
+ {
22
+ "value": "single"
23
+ },
24
+ {
25
+ "value": "multiple"
26
+ }
27
+ ]
18
28
  },
19
29
  "isQuiet": {
20
30
  "type": "boolean",
@@ -12,7 +12,14 @@
12
12
  "options": {
13
13
  "container": {
14
14
  "type": "string",
15
- "enum": ["popover", "tray"]
15
+ "values": [
16
+ {
17
+ "value": "popover"
18
+ },
19
+ {
20
+ "value": "tray"
21
+ }
22
+ ]
16
23
  },
17
24
  "label": {
18
25
  "type": "string"
@@ -29,16 +36,46 @@
29
36
  },
30
37
  "size": {
31
38
  "type": "string",
32
- "enum": ["s", "m", "l", "xl"],
33
- "default": "m"
39
+ "default": "m",
40
+ "values": [
41
+ {
42
+ "value": "s"
43
+ },
44
+ {
45
+ "value": "m"
46
+ },
47
+ {
48
+ "value": "l"
49
+ },
50
+ {
51
+ "value": "xl"
52
+ }
53
+ ]
34
54
  },
35
55
  "selectionMode": {
36
56
  "type": "string",
37
- "enum": ["single", "multiple", "no selection"]
57
+ "values": [
58
+ {
59
+ "value": "single"
60
+ },
61
+ {
62
+ "value": "multiple"
63
+ },
64
+ {
65
+ "value": "no selection"
66
+ }
67
+ ]
38
68
  },
39
69
  "selectionStyle": {
40
70
  "type": "string",
41
- "enum": ["checkbox", "switch"]
71
+ "values": [
72
+ {
73
+ "value": "checkbox"
74
+ },
75
+ {
76
+ "value": "switch"
77
+ }
78
+ ]
42
79
  },
43
80
  "sectionHeader": {
44
81
  "type": "string"