@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,8 +12,21 @@
12
12
  "options": {
13
13
  "variant": {
14
14
  "type": "string",
15
- "enum": ["informative", "positive", "notice", "negative"],
16
- "default": "informative"
15
+ "default": "informative",
16
+ "values": [
17
+ {
18
+ "value": "informative"
19
+ },
20
+ {
21
+ "value": "positive"
22
+ },
23
+ {
24
+ "value": "notice"
25
+ },
26
+ {
27
+ "value": "negative"
28
+ }
29
+ ]
17
30
  },
18
31
  "label": {
19
32
  "type": "string"
@@ -30,8 +43,21 @@
30
43
  },
31
44
  "size": {
32
45
  "type": "string",
33
- "enum": ["s", "m", "l", "xl"],
34
- "default": "m"
46
+ "default": "m",
47
+ "values": [
48
+ {
49
+ "value": "s"
50
+ },
51
+ {
52
+ "value": "m"
53
+ },
54
+ {
55
+ "value": "l"
56
+ },
57
+ {
58
+ "value": "xl"
59
+ }
60
+ ]
35
61
  },
36
62
  "value": {
37
63
  "type": "number",
@@ -15,13 +15,33 @@
15
15
  },
16
16
  "size": {
17
17
  "type": "string",
18
- "enum": ["s", "m", "l", "xl"],
19
- "default": "m"
18
+ "default": "m",
19
+ "values": [
20
+ {
21
+ "value": "s"
22
+ },
23
+ {
24
+ "value": "m"
25
+ },
26
+ {
27
+ "value": "l"
28
+ },
29
+ {
30
+ "value": "xl"
31
+ }
32
+ ]
20
33
  },
21
34
  "labelPosition": {
22
35
  "type": "string",
23
36
  "default": "top",
24
- "enum": ["top", "side"]
37
+ "values": [
38
+ {
39
+ "value": "top"
40
+ },
41
+ {
42
+ "value": "side"
43
+ }
44
+ ]
25
45
  },
26
46
  "hideLabel": {
27
47
  "type": "boolean",
@@ -41,8 +61,15 @@
41
61
  },
42
62
  "necessityIndicator": {
43
63
  "type": "string",
44
- "enum": ["text", "icon"],
45
- "default": "icon"
64
+ "default": "icon",
65
+ "values": [
66
+ {
67
+ "value": "text"
68
+ },
69
+ {
70
+ "value": "icon"
71
+ }
72
+ ]
46
73
  },
47
74
  "hideStepper": {
48
75
  "type": "boolean",
@@ -12,11 +12,34 @@
12
12
  "options": {
13
13
  "verticalSize": {
14
14
  "type": "number",
15
- "enum": [16, 32, 64, 128, 256]
15
+ "values": [
16
+ {
17
+ "value": 16
18
+ },
19
+ {
20
+ "value": 32
21
+ },
22
+ {
23
+ "value": 64
24
+ },
25
+ {
26
+ "value": 128
27
+ },
28
+ {
29
+ "value": 256
30
+ }
31
+ ]
16
32
  },
17
33
  "horizontalSize": {
18
34
  "type": "number",
19
- "enum": [24, 40]
35
+ "values": [
36
+ {
37
+ "value": 24
38
+ },
39
+ {
40
+ "value": 40
41
+ }
42
+ ]
20
43
  }
21
44
  },
22
45
  "lifecycle": {
@@ -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
  "placeholder": {
22
29
  "type": "string"
@@ -30,8 +37,21 @@
30
37
  },
31
38
  "size": {
32
39
  "type": "string",
33
- "enum": ["s", "m", "l", "xl"],
34
- "default": "m"
40
+ "default": "m",
41
+ "values": [
42
+ {
43
+ "value": "s"
44
+ },
45
+ {
46
+ "value": "m"
47
+ },
48
+ {
49
+ "value": "l"
50
+ },
51
+ {
52
+ "value": "xl"
53
+ }
54
+ ]
35
55
  },
36
56
  "isQuiet": {
37
57
  "type": "boolean",
@@ -39,8 +59,15 @@
39
59
  },
40
60
  "necessityIndicator": {
41
61
  "type": "string",
42
- "enum": ["text", "icon"],
43
- "default": "icon"
62
+ "default": "icon",
63
+ "values": [
64
+ {
65
+ "value": "text"
66
+ },
67
+ {
68
+ "value": "icon"
69
+ }
70
+ ]
44
71
  },
45
72
  "isRequired": {
46
73
  "type": "boolean",
@@ -48,8 +75,15 @@
48
75
  },
49
76
  "menuContainer": {
50
77
  "type": "string",
51
- "enum": ["popover", "tray"],
52
- "default": "popover"
78
+ "default": "popover",
79
+ "values": [
80
+ {
81
+ "value": "popover"
82
+ },
83
+ {
84
+ "value": "tray"
85
+ }
86
+ ]
53
87
  },
54
88
  "isDisabled": {
55
89
  "type": "boolean",
@@ -22,31 +22,75 @@
22
22
  },
23
23
  "placement": {
24
24
  "type": "string",
25
- "enum": [
26
- "top",
27
- "top left",
28
- "top right",
29
- "top start",
30
- "top end",
31
- "bottom",
32
- "bottom left",
33
- "bottom right",
34
- "bottom start",
35
- "bottom end",
36
- "left",
37
- "left top",
38
- "left bottom",
39
- "start",
40
- "start top",
41
- "start bottom",
42
- "right",
43
- "right top",
44
- "right bottom",
45
- "end",
46
- "end top",
47
- "end bottom"
48
- ],
49
- "default": "top"
25
+ "default": "top",
26
+ "values": [
27
+ {
28
+ "value": "top"
29
+ },
30
+ {
31
+ "value": "top left"
32
+ },
33
+ {
34
+ "value": "top right"
35
+ },
36
+ {
37
+ "value": "top start"
38
+ },
39
+ {
40
+ "value": "top end"
41
+ },
42
+ {
43
+ "value": "bottom"
44
+ },
45
+ {
46
+ "value": "bottom left"
47
+ },
48
+ {
49
+ "value": "bottom right"
50
+ },
51
+ {
52
+ "value": "bottom start"
53
+ },
54
+ {
55
+ "value": "bottom end"
56
+ },
57
+ {
58
+ "value": "left"
59
+ },
60
+ {
61
+ "value": "left top"
62
+ },
63
+ {
64
+ "value": "left bottom"
65
+ },
66
+ {
67
+ "value": "start"
68
+ },
69
+ {
70
+ "value": "start top"
71
+ },
72
+ {
73
+ "value": "start bottom"
74
+ },
75
+ {
76
+ "value": "right"
77
+ },
78
+ {
79
+ "value": "right top"
80
+ },
81
+ {
82
+ "value": "right bottom"
83
+ },
84
+ {
85
+ "value": "end"
86
+ },
87
+ {
88
+ "value": "end top"
89
+ },
90
+ {
91
+ "value": "end bottom"
92
+ }
93
+ ]
50
94
  },
51
95
  "offset": {
52
96
  "type": "number",
@@ -12,21 +12,39 @@
12
12
  "options": {
13
13
  "variant": {
14
14
  "type": "string",
15
- "enum": ["default", "over background"],
16
- "default": "default"
15
+ "default": "default",
16
+ "values": [
17
+ {
18
+ "value": "default"
19
+ },
20
+ {
21
+ "value": "over background"
22
+ }
23
+ ]
17
24
  },
18
25
  "staticColor": {
19
26
  "type": "string",
20
- "enum": ["white"],
21
- "description": "Static color can only be white, otherwise it is default."
27
+ "description": "Static color can only be white, otherwise it is default.",
28
+ "values": [
29
+ {
30
+ "value": "white"
31
+ }
32
+ ]
22
33
  },
23
34
  "label": {
24
35
  "type": "string"
25
36
  },
26
37
  "labelPosition": {
27
38
  "type": "string",
28
- "enum": ["top", "side"],
29
- "default": "top"
39
+ "default": "top",
40
+ "values": [
41
+ {
42
+ "value": "top"
43
+ },
44
+ {
45
+ "value": "side"
46
+ }
47
+ ]
30
48
  },
31
49
  "hideLabel": {
32
50
  "type": "boolean",
@@ -54,8 +72,21 @@
54
72
  },
55
73
  "size": {
56
74
  "type": "string",
57
- "enum": ["s", "m", "l", "xl"],
58
- "default": "m"
75
+ "default": "m",
76
+ "values": [
77
+ {
78
+ "value": "s"
79
+ },
80
+ {
81
+ "value": "m"
82
+ },
83
+ {
84
+ "value": "l"
85
+ },
86
+ {
87
+ "value": "xl"
88
+ }
89
+ ]
59
90
  },
60
91
  "isIndeterminate": {
61
92
  "type": "boolean",
@@ -12,8 +12,15 @@
12
12
  "options": {
13
13
  "variant": {
14
14
  "type": "string",
15
- "enum": ["default", "over background"],
16
- "default": "default"
15
+ "default": "default",
16
+ "values": [
17
+ {
18
+ "value": "default"
19
+ },
20
+ {
21
+ "value": "over background"
22
+ }
23
+ ]
17
24
  },
18
25
  "value": {
19
26
  "type": "number",
@@ -31,8 +38,18 @@
31
38
  },
32
39
  "size": {
33
40
  "type": "string",
34
- "enum": ["s", "m", "l"],
35
- "default": "m"
41
+ "default": "m",
42
+ "values": [
43
+ {
44
+ "value": "s"
45
+ },
46
+ {
47
+ "value": "m"
48
+ },
49
+ {
50
+ "value": "l"
51
+ }
52
+ ]
36
53
  },
37
54
  "isIndeterminate": {
38
55
  "type": "boolean",
@@ -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
  "orientation": {
22
29
  "type": "string",
23
- "enum": ["horizontal", "vertical"],
24
- "default": "vertical"
30
+ "default": "vertical",
31
+ "values": [
32
+ {
33
+ "value": "horizontal"
34
+ },
35
+ {
36
+ "value": "vertical"
37
+ }
38
+ ]
25
39
  },
26
40
  "size": {
27
41
  "type": "string",
28
- "enum": ["s", "m", "l", "xl"],
29
- "default": "m"
42
+ "default": "m",
43
+ "values": [
44
+ {
45
+ "value": "s"
46
+ },
47
+ {
48
+ "value": "m"
49
+ },
50
+ {
51
+ "value": "l"
52
+ },
53
+ {
54
+ "value": "xl"
55
+ }
56
+ ]
30
57
  },
31
58
  "isEmphasized": {
32
59
  "type": "boolean",
@@ -34,8 +61,15 @@
34
61
  },
35
62
  "necessityIndicator": {
36
63
  "type": "string",
37
- "enum": ["text", "icon"],
38
- "default": "icon"
64
+ "default": "icon",
65
+ "values": [
66
+ {
67
+ "value": "text"
68
+ },
69
+ {
70
+ "value": "icon"
71
+ }
72
+ ]
39
73
  },
40
74
  "isRequired": {
41
75
  "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
  "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
  "hideTrack": {
24
41
  "type": "boolean",
@@ -29,9 +29,22 @@
29
29
  },
30
30
  "size": {
31
31
  "type": "string",
32
- "enum": ["s", "m", "l", "xl"],
33
32
  "default": "m",
34
- "pattern": "^(x?s|m|x{0,3}l)$"
33
+ "pattern": "^(x?s|m|x{0,3}l)$",
34
+ "values": [
35
+ {
36
+ "value": "s"
37
+ },
38
+ {
39
+ "value": "m"
40
+ },
41
+ {
42
+ "value": "l"
43
+ },
44
+ {
45
+ "value": "xl"
46
+ }
47
+ ]
35
48
  },
36
49
  "helpText": {
37
50
  "type": "string"
@@ -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
  "isFluid": {
19
26
  "type": "boolean",
@@ -22,8 +29,15 @@
22
29
  },
23
30
  "alignment": {
24
31
  "type": "string",
25
- "enum": ["start", "center"],
26
- "default": "start"
32
+ "default": "start",
33
+ "values": [
34
+ {
35
+ "value": "start"
36
+ },
37
+ {
38
+ "value": "center"
39
+ }
40
+ ]
27
41
  },
28
42
  "hideTracker": {
29
43
  "type": "boolean",
@@ -36,8 +50,15 @@
36
50
  },
37
51
  "keyboardActivation": {
38
52
  "type": "string",
39
- "enum": ["manual", "automatic"],
40
- "default": "manual"
53
+ "default": "manual",
54
+ "values": [
55
+ {
56
+ "value": "manual"
57
+ },
58
+ {
59
+ "value": "automatic"
60
+ }
61
+ ]
41
62
  },
42
63
  "items": {
43
64
  "type": "array",
@@ -14,8 +14,15 @@
14
14
  },
15
15
  "orientation": {
16
16
  "type": "string",
17
- "enum": ["horizontal", "vertical"],
18
- "default": "vertical"
17
+ "default": "vertical",
18
+ "values": [
19
+ {
20
+ "value": "horizontal"
21
+ },
22
+ {
23
+ "value": "vertical"
24
+ }
25
+ ]
19
26
  },
20
27
  "body": {
21
28
  "type": "string"
@@ -46,9 +46,19 @@
46
46
  },
47
47
  "selectionMode": {
48
48
  "type": "string",
49
- "enum": ["none", "single", "multiple"],
50
49
  "default": "single",
51
- "description": "How selection is handled for items."
50
+ "description": "How selection is handled for items.",
51
+ "values": [
52
+ {
53
+ "value": "none"
54
+ },
55
+ {
56
+ "value": "single"
57
+ },
58
+ {
59
+ "value": "multiple"
60
+ }
61
+ ]
52
62
  }
53
63
  },
54
64
  "states": [
@@ -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
  "value": {
22
29
  "type": "number",
@@ -45,8 +52,15 @@
45
52
  },
46
53
  "progressionScale": {
47
54
  "type": "string",
48
- "enum": ["linear", "log"],
49
- "default": "linear"
55
+ "default": "linear",
56
+ "values": [
57
+ {
58
+ "value": "linear"
59
+ },
60
+ {
61
+ "value": "log"
62
+ }
63
+ ]
50
64
  },
51
65
  "width": {
52
66
  "type": "number"