@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,25 @@
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/code.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "code",
6
+ "displayName": "Code",
7
+ "description": "Detail is a typography component used for disclosing extra information or smaller items in hierarchical relationships of text.",
8
+ "meta": {
9
+ "category": "typography",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/code/"
11
+ },
12
+ "options": {
13
+ "script": {
14
+ "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/typography-script.json"
15
+ },
16
+ "size": {
17
+ "type": "string",
18
+ "enum": ["xs", "s", "m", "l", "xl"],
19
+ "default": "m"
20
+ }
21
+ },
22
+ "lifecycle": {
23
+ "introduced": "1.0.0-draft"
24
+ }
25
+ }
@@ -0,0 +1,115 @@
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/color-area.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "color-area",
6
+ "displayName": "Color area",
7
+ "description": "A color area allows users to visually select two properties of a color simultaneously. It's commonly used together with a color slider or color wheel.",
8
+ "meta": {
9
+ "category": "inputs",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/color-area/"
11
+ },
12
+ "options": {
13
+ "background": {
14
+ "type": "string",
15
+ "description": "This will vary depending on implementation."
16
+ },
17
+ "x-value": {
18
+ "type": "number",
19
+ "description": "Number (from x-minValue to x-maxValue)"
20
+ },
21
+ "x-minValue": {
22
+ "type": "number",
23
+ "default": 0
24
+ },
25
+ "x-maxValue": {
26
+ "type": "number",
27
+ "default": 100
28
+ },
29
+ "y-value": {
30
+ "type": "number",
31
+ "description": "Number (from y-minValue to y-maxValue)"
32
+ },
33
+ "y-minValue": {
34
+ "type": "number",
35
+ "default": 0
36
+ },
37
+ "y-maxValue": {
38
+ "type": "number",
39
+ "default": 100
40
+ },
41
+ "step": {
42
+ "type": "number",
43
+ "default": 1
44
+ },
45
+ "width": {
46
+ "type": "number",
47
+ "default": 192,
48
+ "description": "units: px"
49
+ },
50
+ "height": {
51
+ "type": "number",
52
+ "default": 192,
53
+ "description": "units: px"
54
+ },
55
+ "isDisabled": {
56
+ "type": "boolean",
57
+ "default": false
58
+ }
59
+ },
60
+ "states": [
61
+ {
62
+ "name": "hover",
63
+ "trigger": "interaction"
64
+ },
65
+ {
66
+ "name": "down",
67
+ "trigger": "interaction"
68
+ },
69
+ {
70
+ "name": "keyboard-focus",
71
+ "trigger": "interaction"
72
+ }
73
+ ],
74
+ "lifecycle": {
75
+ "introduced": "1.0.0-draft"
76
+ },
77
+ "tokenBindings": [
78
+ {
79
+ "token": "color-area-width",
80
+ "context": "Size"
81
+ },
82
+ {
83
+ "token": "color-area-minimum-width",
84
+ "context": "Size"
85
+ },
86
+ {
87
+ "token": "color-area-height",
88
+ "context": "Size"
89
+ },
90
+ {
91
+ "token": "color-area-minimum-height",
92
+ "context": "Size"
93
+ },
94
+ {
95
+ "token": "color-area-border-width",
96
+ "context": "Color area border"
97
+ },
98
+ {
99
+ "token": "color-area-border-rounding",
100
+ "context": "Color area border"
101
+ },
102
+ {
103
+ "token": "color-area-border-color",
104
+ "context": "Color area border"
105
+ },
106
+ {
107
+ "token": "color-area-border-opacity",
108
+ "context": "Color area border"
109
+ },
110
+ {
111
+ "token": "disabled-background-color",
112
+ "context": "Disabled"
113
+ }
114
+ ]
115
+ }
@@ -0,0 +1,85 @@
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/color-handle.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "color-handle",
6
+ "displayName": "Color handle",
7
+ "description": "Color handles allow users to select and adjust colors in a color picker.",
8
+ "meta": {
9
+ "category": "inputs",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/color-handle/"
11
+ },
12
+ "options": {
13
+ "channel": {
14
+ "type": "string",
15
+ "enum": [
16
+ "hue",
17
+ "saturation",
18
+ "lightness",
19
+ "red",
20
+ "green",
21
+ "blue",
22
+ "alpha"
23
+ ],
24
+ "default": "hue",
25
+ "description": "Which channel of the color this handle controls. Use 'alpha' for opacity."
26
+ },
27
+ "isDisabled": {
28
+ "type": "boolean",
29
+ "default": false
30
+ }
31
+ },
32
+ "lifecycle": {
33
+ "introduced": "1.0.0-draft"
34
+ },
35
+ "tokenBindings": [
36
+ {
37
+ "token": "color-handle-size",
38
+ "context": "Size (keyboard focus)"
39
+ },
40
+ {
41
+ "token": "color-handle-size-key-focus",
42
+ "context": "Size (keyboard focus)"
43
+ },
44
+ {
45
+ "token": "color-handle-border-width",
46
+ "context": "Border"
47
+ },
48
+ {
49
+ "token": "color-handle-inner-border-width",
50
+ "context": "Border"
51
+ },
52
+ {
53
+ "token": "color-handle-outer-border-width",
54
+ "context": "Border"
55
+ },
56
+ {
57
+ "token": "white",
58
+ "context": "Border"
59
+ },
60
+ {
61
+ "token": "color-handle-inner-border-color",
62
+ "context": "Border"
63
+ },
64
+ {
65
+ "token": "color-handle-inner-border-opacity",
66
+ "context": "Border"
67
+ },
68
+ {
69
+ "token": "color-handle-outer-border-color",
70
+ "context": "Border"
71
+ },
72
+ {
73
+ "token": "color-handle-outer-border-opacity",
74
+ "context": "Border"
75
+ },
76
+ {
77
+ "token": "disabled-content-color",
78
+ "context": "Border (disabled)"
79
+ },
80
+ {
81
+ "token": "disabled-background-color",
82
+ "context": "Border (disabled)"
83
+ }
84
+ ]
85
+ }
@@ -0,0 +1,74 @@
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/color-loupe.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "color-loupe",
6
+ "displayName": "Color loupe",
7
+ "description": "A color loupe shows the output color that would otherwise be covered by a cursor, stylus, or finger during color selection.",
8
+ "meta": {
9
+ "category": "feedback",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/color-loupe/"
11
+ },
12
+ "options": {
13
+ "value": {
14
+ "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/hex-color.json"
15
+ }
16
+ },
17
+ "lifecycle": {
18
+ "introduced": "1.0.0-draft"
19
+ },
20
+ "tokenBindings": [
21
+ {
22
+ "token": "color-loupe-height",
23
+ "context": "Size"
24
+ },
25
+ {
26
+ "token": "color-loupe-width",
27
+ "context": "Size"
28
+ },
29
+ {
30
+ "token": "color-loupe-outer-border-width",
31
+ "context": "Border"
32
+ },
33
+ {
34
+ "token": "color-loupe-inner-border-width",
35
+ "context": "Border"
36
+ },
37
+ {
38
+ "token": "color-loupe-bottom-to-color-handle",
39
+ "context": "Spacing"
40
+ },
41
+ {
42
+ "token": "drop-shadow-elevated-x",
43
+ "context": "Shadows"
44
+ },
45
+ {
46
+ "token": "drop-shadow-elevated-y",
47
+ "context": "Shadows"
48
+ },
49
+ {
50
+ "token": "drop-shadow-elevated-blur",
51
+ "context": "Shadows"
52
+ },
53
+ {
54
+ "token": "color-loupe-outer-border",
55
+ "context": "Border"
56
+ },
57
+ {
58
+ "token": "drop-shadow-x",
59
+ "context": "S1 Shadows"
60
+ },
61
+ {
62
+ "token": "color-loupe-drop-shadow-y",
63
+ "context": "S1 Shadows"
64
+ },
65
+ {
66
+ "token": "color-loupe-drop-shadow-blur",
67
+ "context": "S1 Shadows"
68
+ },
69
+ {
70
+ "token": "color-loupe-drop-shadow-color",
71
+ "context": "S1 Shadows"
72
+ }
73
+ ]
74
+ }
@@ -0,0 +1,121 @@
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/color-slider.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "color-slider",
6
+ "displayName": "Color slider",
7
+ "description": "A color slider lets users visually change an individual channel of a color.",
8
+ "meta": {
9
+ "category": "inputs",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/color-slider/"
11
+ },
12
+ "options": {
13
+ "background": {
14
+ "type": "string",
15
+ "description": "This will vary depending on implementation."
16
+ },
17
+ "channel": {
18
+ "type": "string",
19
+ "enum": [
20
+ "hue",
21
+ "saturation",
22
+ "lightness",
23
+ "red",
24
+ "green",
25
+ "blue",
26
+ "alpha"
27
+ ],
28
+ "default": "hue",
29
+ "description": "Which channel of the color this slider controls. Use 'alpha' for opacity."
30
+ },
31
+ "value": {
32
+ "type": "number",
33
+ "description": "Number (from minValue to maxValue)."
34
+ },
35
+ "minValue": {
36
+ "type": "number",
37
+ "default": 0
38
+ },
39
+ "maxValue": {
40
+ "type": "number",
41
+ "default": 100
42
+ },
43
+ "step": {
44
+ "type": "number",
45
+ "default": 1
46
+ },
47
+ "orientation": {
48
+ "type": "string",
49
+ "enum": ["horizontal", "vertical"],
50
+ "default": "horizontal"
51
+ },
52
+ "length": {
53
+ "type": "number",
54
+ "default": 192,
55
+ "description": "units: px"
56
+ },
57
+ "isDisabled": {
58
+ "type": "boolean",
59
+ "default": false
60
+ }
61
+ },
62
+ "states": [
63
+ {
64
+ "name": "hover",
65
+ "trigger": "interaction"
66
+ },
67
+ {
68
+ "name": "down",
69
+ "trigger": "interaction"
70
+ },
71
+ {
72
+ "name": "keyboard-focus",
73
+ "trigger": "interaction"
74
+ }
75
+ ],
76
+ "lifecycle": {
77
+ "introduced": "1.0.0-draft"
78
+ },
79
+ "tokenBindings": [
80
+ {
81
+ "token": "color-slider-length",
82
+ "context": "Length"
83
+ },
84
+ {
85
+ "token": "color-slider-minimum-length",
86
+ "context": "Length"
87
+ },
88
+ {
89
+ "token": "color-control-track-width",
90
+ "context": "Width"
91
+ },
92
+ {
93
+ "token": "color-slider-border-width",
94
+ "context": "Border"
95
+ },
96
+ {
97
+ "token": "color-slider-border-rounding",
98
+ "context": "Border"
99
+ },
100
+ {
101
+ "token": "component-top-to-text-75",
102
+ "context": "Spacing (field label value to track)"
103
+ },
104
+ {
105
+ "token": "color-slider-border-color",
106
+ "context": "Border"
107
+ },
108
+ {
109
+ "token": "color-slider-border-opacity",
110
+ "context": "Border"
111
+ },
112
+ {
113
+ "token": "disabled-content-color",
114
+ "context": "Disabled"
115
+ },
116
+ {
117
+ "token": "disabled-background-color",
118
+ "context": "Disabled"
119
+ }
120
+ ]
121
+ }
@@ -0,0 +1,94 @@
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/color-wheel.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "color-wheel",
6
+ "displayName": "Color wheel",
7
+ "description": "A color wheel lets users visually change an individual channel of a color on a circular track.",
8
+ "meta": {
9
+ "category": "inputs",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/color-wheel/"
11
+ },
12
+ "options": {
13
+ "background": {
14
+ "type": "string",
15
+ "description": "This will vary depending on implementation."
16
+ },
17
+ "value": {
18
+ "type": "number",
19
+ "description": "Number (from minValue to maxValue)"
20
+ },
21
+ "minValue": {
22
+ "type": "number",
23
+ "default": 0
24
+ },
25
+ "maxValue": {
26
+ "type": "number",
27
+ "default": 360
28
+ },
29
+ "step": {
30
+ "type": "number",
31
+ "default": 1
32
+ },
33
+ "size": {
34
+ "type": "number",
35
+ "default": 192,
36
+ "description": "units: px"
37
+ },
38
+ "isDisabled": {
39
+ "type": "boolean",
40
+ "default": false
41
+ }
42
+ },
43
+ "states": [
44
+ {
45
+ "name": "hover",
46
+ "trigger": "interaction"
47
+ },
48
+ {
49
+ "name": "down",
50
+ "trigger": "interaction"
51
+ },
52
+ {
53
+ "name": "keyboard-focus",
54
+ "trigger": "interaction"
55
+ }
56
+ ],
57
+ "lifecycle": {
58
+ "introduced": "1.0.0-draft"
59
+ },
60
+ "tokenBindings": [
61
+ {
62
+ "token": "border-width-100",
63
+ "context": "Border"
64
+ },
65
+ {
66
+ "token": "color-wheel-width",
67
+ "context": "Width"
68
+ },
69
+ {
70
+ "token": "color-wheel-minimum-width",
71
+ "context": "Width (minimum)"
72
+ },
73
+ {
74
+ "token": "color-control-track-width",
75
+ "context": "Track width"
76
+ },
77
+ {
78
+ "token": "color-wheel-color-area-margin",
79
+ "context": "Margin to color area"
80
+ },
81
+ {
82
+ "token": "color-wheel-border-color",
83
+ "context": "Border"
84
+ },
85
+ {
86
+ "token": "color-wheel-border-opacity",
87
+ "context": "Border"
88
+ },
89
+ {
90
+ "token": "disabled-background-color",
91
+ "context": "Disabled"
92
+ }
93
+ ]
94
+ }