@adobe/design-data-spec 0.2.0 → 0.4.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 (116) hide show
  1. package/README.md +3 -3
  2. package/components/accordion.json +87 -0
  3. package/components/action-bar.json +21 -0
  4. package/components/action-button.json +75 -0
  5. package/components/action-group.json +68 -0
  6. package/components/alert-banner.json +33 -0
  7. package/components/alert-dialog.json +46 -0
  8. package/components/avatar-group.json +26 -0
  9. package/components/avatar.json +54 -0
  10. package/components/badge.json +73 -0
  11. package/components/body.json +29 -0
  12. package/components/bottom-navigation-android.json +41 -0
  13. package/components/breadcrumbs.json +89 -0
  14. package/components/button-group.json +37 -0
  15. package/components/button.json +70 -0
  16. package/components/calendar.json +104 -0
  17. package/components/cards.json +30 -0
  18. package/components/checkbox-group.json +53 -0
  19. package/components/checkbox.json +61 -0
  20. package/components/close-button.json +48 -0
  21. package/components/coach-indicator.json +38 -0
  22. package/components/coach-mark.json +55 -0
  23. package/components/code.json +25 -0
  24. package/components/color-area.json +77 -0
  25. package/components/color-handle.json +35 -0
  26. package/components/color-loupe.json +20 -0
  27. package/components/color-slider.json +79 -0
  28. package/components/color-wheel.json +60 -0
  29. package/components/combo-box.json +94 -0
  30. package/components/contextual-help.json +80 -0
  31. package/components/date-picker.json +161 -0
  32. package/components/detail.json +30 -0
  33. package/components/divider.json +27 -0
  34. package/components/drop-zone.json +45 -0
  35. package/components/field-label.json +43 -0
  36. package/components/heading.json +33 -0
  37. package/components/help-text.json +40 -0
  38. package/components/illustrated-message.json +49 -0
  39. package/components/in-field-progress-button.json +44 -0
  40. package/components/in-field-progress-circle.json +26 -0
  41. package/components/in-line-alert.json +47 -0
  42. package/components/link.json +45 -0
  43. package/components/list-view.json +93 -0
  44. package/components/menu.json +76 -0
  45. package/components/meter.json +48 -0
  46. package/components/number-field.json +70 -0
  47. package/components/opacity-checkerboard.json +25 -0
  48. package/components/picker.json +92 -0
  49. package/components/popover.json +69 -0
  50. package/components/progress-bar.json +68 -0
  51. package/components/progress-circle.json +45 -0
  52. package/components/radio-button.json +43 -0
  53. package/components/radio-group.json +62 -0
  54. package/components/rating.json +47 -0
  55. package/components/scroll-zoom-bar.json +53 -0
  56. package/components/search-field.json +72 -0
  57. package/components/segmented-control.json +76 -0
  58. package/components/select-box.json +62 -0
  59. package/components/side-navigation.json +71 -0
  60. package/components/slider.json +92 -0
  61. package/components/standard-dialog.json +53 -0
  62. package/components/standard-panel.json +53 -0
  63. package/components/status-light.json +54 -0
  64. package/components/steplist.json +56 -0
  65. package/components/swatch-group.json +48 -0
  66. package/components/swatch.json +59 -0
  67. package/components/switch.json +55 -0
  68. package/components/tab-bar-ios.json +41 -0
  69. package/components/table.json +122 -0
  70. package/components/tabs.json +79 -0
  71. package/components/tag-field.json +53 -0
  72. package/components/tag-group.json +35 -0
  73. package/components/tag.json +54 -0
  74. package/components/takeover-dialog.json +58 -0
  75. package/components/text-area.json +103 -0
  76. package/components/text-field.json +91 -0
  77. package/components/thumbnail.json +27 -0
  78. package/components/toast.json +33 -0
  79. package/components/tooltip.json +54 -0
  80. package/components/tray.json +21 -0
  81. package/components/tree-view.json +63 -0
  82. package/conformance/README.md +26 -26
  83. package/conformance/invalid/SPEC-014/expected-errors.json +10 -0
  84. package/conformance/invalid/SPEC-014/tokens.tokens.json +9 -0
  85. package/conformance/invalid/SPEC-018/dataset.json +9 -0
  86. package/conformance/invalid/SPEC-018/expected-errors.json +10 -0
  87. package/conformance/invalid/SPEC-019/dataset.json +29 -0
  88. package/conformance/invalid/SPEC-019/expected-errors.json +10 -0
  89. package/conformance/invalid/SPEC-020/dataset.json +27 -0
  90. package/conformance/invalid/SPEC-020/expected-errors.json +10 -0
  91. package/conformance/invalid/SPEC-021/dataset.json +18 -0
  92. package/conformance/invalid/SPEC-021/expected-errors.json +10 -0
  93. package/conformance/invalid/SPEC-022/dataset.json +33 -0
  94. package/conformance/invalid/SPEC-022/expected-errors.json +10 -0
  95. package/conformance/invalid/SPEC-023/dataset.json +18 -0
  96. package/conformance/invalid/SPEC-023/expected-errors.json +10 -0
  97. package/conformance/invalid/SPEC-024/dataset.json +18 -0
  98. package/conformance/invalid/SPEC-024/expected-errors.json +10 -0
  99. package/conformance/valid/component-refs/dataset.json +63 -0
  100. package/conformance/valid/lifecycle-with-last-modified.json +12 -0
  101. package/package.json +19 -6
  102. package/rules/rules.yaml +81 -0
  103. package/schemas/anatomy-part.schema.json +35 -0
  104. package/schemas/component.schema.json +267 -0
  105. package/schemas/state-declaration.schema.json +36 -0
  106. package/spec/agent-surface.md +116 -0
  107. package/spec/anatomy-format.md +167 -0
  108. package/spec/component-format.md +326 -0
  109. package/spec/evolution.md +32 -32
  110. package/spec/index.md +27 -21
  111. package/spec/manifest.md +3 -1
  112. package/spec/state-model.md +245 -0
  113. package/spec/taxonomy.md +17 -1
  114. package/spec/token-format.md +1 -1
  115. package/src/canonical.js +61 -0
  116. package/src/validate.js +166 -0
@@ -0,0 +1,40 @@
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/help-text.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "help-text",
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’s commonly used in forms.",
8
+ "meta": {
9
+ "category": "inputs",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/help-text/"
11
+ },
12
+ "options": {
13
+ "text": {
14
+ "type": "string"
15
+ },
16
+ "variant": {
17
+ "type": "string",
18
+ "enum": ["neutral", "negative"],
19
+ "default": "neutral"
20
+ },
21
+ "hideIcon": {
22
+ "type": "boolean",
23
+ "default": false,
24
+ "description": "Only applicable if variant is negative."
25
+ },
26
+ "size": {
27
+ "type": "string",
28
+ "enum": ["s", "m", "l", "xl"],
29
+ "default": "m"
30
+ },
31
+ "isDisabled": {
32
+ "type": "boolean",
33
+ "default": false,
34
+ "description": "Help text cannot be both disabled and negative variant."
35
+ }
36
+ },
37
+ "lifecycle": {
38
+ "introduced": "1.0.0-draft"
39
+ }
40
+ }
@@ -0,0 +1,49 @@
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/illustrated-message.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "illustrated-message",
6
+ "displayName": "Illustrated message",
7
+ "description": "An illustrated message displays an illustration with a short title and description, often used for empty states or error states.",
8
+ "meta": {
9
+ "category": "feedback",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/illustrated-message/"
11
+ },
12
+ "options": {
13
+ "illustration": {
14
+ "type": "string",
15
+ "description": "Optional illustration or icon displayed above the message."
16
+ },
17
+ "size": {
18
+ "type": "string",
19
+ "enum": ["s", "m", "l"],
20
+ "default": "m",
21
+ "description": "Size of the illustration."
22
+ },
23
+ "orientation": {
24
+ "type": "string",
25
+ "enum": ["vertical", "horizontal"],
26
+ "default": "vertical",
27
+ "description": "Orientation of the illustrated message."
28
+ },
29
+ "title": {
30
+ "type": "string",
31
+ "description": "Primary heading text of the message."
32
+ },
33
+ "description": {
34
+ "type": "string",
35
+ "description": "Secondary descriptive text providing context or instructions."
36
+ },
37
+ "primaryActionLabel": {
38
+ "type": "string",
39
+ "description": "Label for the primary action button. If undefined, no primary action is shown."
40
+ },
41
+ "secondaryActionLabel": {
42
+ "type": "string",
43
+ "description": "Label for the secondary action button. If undefined, no secondary action is shown."
44
+ }
45
+ },
46
+ "lifecycle": {
47
+ "introduced": "1.0.0-draft"
48
+ }
49
+ }
@@ -0,0 +1,44 @@
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/in-field-progress-button.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "in-field-progress-button",
6
+ "displayName": "In field progress button",
7
+ "description": "In field progress buttons provide interactive controls within form fields for actions like clearing, adding, or disclosing additional content.",
8
+ "meta": {
9
+ "category": "actions",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/in-field-progress-button/"
11
+ },
12
+ "options": {
13
+ "size": {
14
+ "type": "string",
15
+ "enum": ["s", "m", "l", "xl"],
16
+ "default": "m"
17
+ },
18
+ "style": {
19
+ "type": "string",
20
+ "enum": ["disclosure", "clear", "dash", "add"]
21
+ },
22
+ "isQuiet": {
23
+ "type": "boolean",
24
+ "default": false
25
+ }
26
+ },
27
+ "states": [
28
+ {
29
+ "name": "hover",
30
+ "trigger": "interaction"
31
+ },
32
+ {
33
+ "name": "down",
34
+ "trigger": "interaction"
35
+ },
36
+ {
37
+ "name": "keyboard-focus",
38
+ "trigger": "interaction"
39
+ }
40
+ ],
41
+ "lifecycle": {
42
+ "introduced": "1.0.0-draft"
43
+ }
44
+ }
@@ -0,0 +1,26 @@
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/in-field-progress-circle.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "in-field-progress-circle",
6
+ "displayName": "In field progress circle",
7
+ "description": "In field progress circles indicate progress for loading states within form fields and input areas.",
8
+ "meta": {
9
+ "category": "feedback",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/in-field-progress-circle/"
11
+ },
12
+ "options": {
13
+ "size": {
14
+ "type": "string",
15
+ "enum": ["s", "m", "l", "xl"],
16
+ "default": "m"
17
+ },
18
+ "staticColor": {
19
+ "type": "string",
20
+ "enum": ["white", "black"]
21
+ }
22
+ },
23
+ "lifecycle": {
24
+ "introduced": "1.0.0-draft"
25
+ }
26
+ }
@@ -0,0 +1,47 @@
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/in-line-alert.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "in-line-alert",
6
+ "displayName": "In-line alert",
7
+ "description": "In-line alerts display a non-modal message associated with objects in a view. These are often used in form validation, providing a place to aggregate feedback related to multiple fields.",
8
+ "meta": {
9
+ "category": "feedback",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/in-line-alert/"
11
+ },
12
+ "options": {
13
+ "variant": {
14
+ "type": "string",
15
+ "enum": [
16
+ "neutral",
17
+ "informative",
18
+ "positive",
19
+ "notice",
20
+ "negative",
21
+ "accent"
22
+ ],
23
+ "default": "neutral"
24
+ },
25
+ "style": {
26
+ "type": "string",
27
+ "enum": ["bold", "subtle", "outline"],
28
+ "default": "outline",
29
+ "description": "The visual style of the alert."
30
+ },
31
+ "href": {
32
+ "type": "string",
33
+ "description": "Optional URL within in-line alert content like a 'Learn more' link."
34
+ },
35
+ "heading": {
36
+ "type": "string",
37
+ "description": "Optional heading text displayed at the top of the alert."
38
+ },
39
+ "actionLabel": {
40
+ "type": "string",
41
+ "description": "If undefined, this button does not appear."
42
+ }
43
+ },
44
+ "lifecycle": {
45
+ "introduced": "1.0.0-draft"
46
+ }
47
+ }
@@ -0,0 +1,45 @@
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/link.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "link",
6
+ "displayName": "Link",
7
+ "description": "Links allow users to navigate to a different location. They can be presented inside a paragraph or as standalone text.",
8
+ "meta": {
9
+ "category": "actions",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/link/"
11
+ },
12
+ "options": {
13
+ "variant": {
14
+ "type": "string",
15
+ "enum": ["primary", "secondary"],
16
+ "default": "primary"
17
+ },
18
+ "isQuiet": {
19
+ "type": "boolean",
20
+ "default": false
21
+ },
22
+ "staticColor": {
23
+ "type": "string",
24
+ "enum": ["white", "black"],
25
+ "description": "Static color must not be set for the default version of this component."
26
+ }
27
+ },
28
+ "states": [
29
+ {
30
+ "name": "hover",
31
+ "trigger": "interaction"
32
+ },
33
+ {
34
+ "name": "down",
35
+ "trigger": "interaction"
36
+ },
37
+ {
38
+ "name": "keyboard-focus",
39
+ "trigger": "interaction"
40
+ }
41
+ ],
42
+ "lifecycle": {
43
+ "introduced": "1.0.0-draft"
44
+ }
45
+ }
@@ -0,0 +1,93 @@
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/list-view.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "list-view",
6
+ "displayName": "List view",
7
+ "description": "List views display rows of data or options that users can browse, select, and interact with.",
8
+ "meta": {
9
+ "category": "navigation",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/list-view/"
11
+ },
12
+ "options": {
13
+ "selectionMode": {
14
+ "type": "string",
15
+ "enum": ["none", "single", "multiple"],
16
+ "default": "single",
17
+ "description": "Defines how many items can be selected at once."
18
+ },
19
+ "isQuiet": {
20
+ "type": "boolean",
21
+ "default": false,
22
+ "description": "If true, the list view uses a quiet visual style."
23
+ },
24
+ "items": {
25
+ "type": "array",
26
+ "description": "An array of list view items.",
27
+ "items": {
28
+ "type": "object",
29
+ "properties": {
30
+ "label": {
31
+ "type": "string",
32
+ "description": "Primary text displayed for the item."
33
+ },
34
+ "description": {
35
+ "type": "string",
36
+ "description": "Secondary text displayed under the label (optional)."
37
+ },
38
+ "hideCheckbox": {
39
+ "type": "boolean",
40
+ "default": false,
41
+ "description": "If true, the checkbox is hidden."
42
+ },
43
+ "hideDragHandle": {
44
+ "type": "boolean",
45
+ "default": false,
46
+ "description": "If true, the drag handle is hidden."
47
+ },
48
+ "hideNavigationIndicator": {
49
+ "type": "boolean",
50
+ "default": false,
51
+ "description": "If true, the navigation indicator is hidden."
52
+ },
53
+ "isDisabled": {
54
+ "type": "boolean",
55
+ "default": false,
56
+ "description": "If true, the item is disabled."
57
+ },
58
+ "isSelected": {
59
+ "type": "boolean",
60
+ "default": false,
61
+ "description": "If true, the item is selected."
62
+ },
63
+ "overflowMode": {
64
+ "type": "string",
65
+ "enum": ["wrap", "truncate"],
66
+ "default": "truncate",
67
+ "description": "Defines how text should behave when it overflows the available space."
68
+ },
69
+ "itemRounding": {
70
+ "type": "string",
71
+ "enum": ["none", "top", "bottom"],
72
+ "default": "none",
73
+ "description": "Defines the border radius of the list view item."
74
+ },
75
+ "isEmphasized": {
76
+ "type": "boolean",
77
+ "default": false
78
+ },
79
+ "state": {
80
+ "type": "string",
81
+ "enum": ["default", "hover", "dragged"],
82
+ "default": "default",
83
+ "description": "The interaction state of the list view item."
84
+ }
85
+ },
86
+ "required": ["label"]
87
+ }
88
+ }
89
+ },
90
+ "lifecycle": {
91
+ "introduced": "1.0.0-draft"
92
+ }
93
+ }
@@ -0,0 +1,76 @@
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/menu.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "menu",
6
+ "displayName": "Menu",
7
+ "description": "Menus help users take actions, choose from a list of options, configure settings, and more. They can be placed in a transient container, like a popover or tray.",
8
+ "meta": {
9
+ "category": "actions",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/menu/"
11
+ },
12
+ "options": {
13
+ "container": {
14
+ "type": "string",
15
+ "enum": ["popover", "tray"]
16
+ },
17
+ "label": {
18
+ "type": "string"
19
+ },
20
+ "icon": {
21
+ "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/workflow-icon.json",
22
+ "description": "Icon must be present if the label is not defined."
23
+ },
24
+ "description": {
25
+ "type": "string"
26
+ },
27
+ "value": {
28
+ "type": "string"
29
+ },
30
+ "size": {
31
+ "type": "string",
32
+ "enum": ["s", "m", "l", "xl"],
33
+ "default": "m"
34
+ },
35
+ "selectionMode": {
36
+ "type": "string",
37
+ "enum": ["single", "multiple", "no selection"]
38
+ },
39
+ "selectionStyle": {
40
+ "type": "string",
41
+ "enum": ["checkbox", "switch"]
42
+ },
43
+ "sectionHeader": {
44
+ "type": "string"
45
+ },
46
+ "isCollapsible": {
47
+ "type": "boolean",
48
+ "default": false
49
+ },
50
+ "isUnavailable": {
51
+ "type": "boolean",
52
+ "default": false
53
+ },
54
+ "isDisabled": {
55
+ "type": "boolean",
56
+ "default": false
57
+ }
58
+ },
59
+ "states": [
60
+ {
61
+ "name": "hover",
62
+ "trigger": "interaction"
63
+ },
64
+ {
65
+ "name": "down",
66
+ "trigger": "interaction"
67
+ },
68
+ {
69
+ "name": "keyboard-focus",
70
+ "trigger": "interaction"
71
+ }
72
+ ],
73
+ "lifecycle": {
74
+ "introduced": "1.0.0-draft"
75
+ }
76
+ }
@@ -0,0 +1,48 @@
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/meter.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "meter",
6
+ "displayName": "Meter",
7
+ "description": "Meters are visual representations of a quantity or an achievement. Their progress is determined by user actions, rather than system actions.",
8
+ "meta": {
9
+ "category": "status",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/meter/"
11
+ },
12
+ "options": {
13
+ "variant": {
14
+ "type": "string",
15
+ "enum": ["informative", "positive", "notice", "negative"],
16
+ "default": "informative"
17
+ },
18
+ "label": {
19
+ "type": "string"
20
+ },
21
+ "hideLabel": {
22
+ "type": "boolean",
23
+ "default": false
24
+ },
25
+ "valueLabel": {
26
+ "type": "string"
27
+ },
28
+ "width": {
29
+ "type": "number"
30
+ },
31
+ "size": {
32
+ "type": "string",
33
+ "enum": ["s", "m", "l", "xl"],
34
+ "default": "m"
35
+ },
36
+ "value": {
37
+ "type": "number",
38
+ "minimum": 0,
39
+ "maximum": 1
40
+ },
41
+ "helpText": {
42
+ "type": "string"
43
+ }
44
+ },
45
+ "lifecycle": {
46
+ "introduced": "1.0.0-draft"
47
+ }
48
+ }
@@ -0,0 +1,70 @@
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/number-field.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "number-field",
6
+ "displayName": "Number field",
7
+ "description": "Number fields allow users to enter a numeric value, with optional increment and decrement buttons.",
8
+ "meta": {
9
+ "category": "inputs",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/number-field/"
11
+ },
12
+ "options": {
13
+ "label": {
14
+ "type": "string"
15
+ },
16
+ "size": {
17
+ "type": "string",
18
+ "enum": ["s", "m", "l", "xl"],
19
+ "default": "m"
20
+ },
21
+ "labelPosition": {
22
+ "type": "string",
23
+ "default": "top",
24
+ "enum": ["top", "side"]
25
+ },
26
+ "hideLabel": {
27
+ "type": "boolean",
28
+ "default": false
29
+ },
30
+ "isDisabled": {
31
+ "type": "boolean",
32
+ "default": false
33
+ },
34
+ "isError": {
35
+ "type": "boolean",
36
+ "default": false
37
+ },
38
+ "isRequired": {
39
+ "type": "boolean",
40
+ "default": false
41
+ },
42
+ "necessityIndicator": {
43
+ "type": "string",
44
+ "enum": ["text", "icon"],
45
+ "default": "icon"
46
+ },
47
+ "hideStepper": {
48
+ "type": "boolean",
49
+ "default": false,
50
+ "description": "If true, hides in-field increment and decrement buttons (stepper)."
51
+ }
52
+ },
53
+ "states": [
54
+ {
55
+ "name": "hover",
56
+ "trigger": "interaction"
57
+ },
58
+ {
59
+ "name": "focus-+-hover",
60
+ "trigger": "prop"
61
+ },
62
+ {
63
+ "name": "focus-+-not-hover",
64
+ "trigger": "prop"
65
+ }
66
+ ],
67
+ "lifecycle": {
68
+ "introduced": "1.0.0-draft"
69
+ }
70
+ }
@@ -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/opacity-checkerboard.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "opacity-checkerboard",
6
+ "displayName": "Opacity Checkerboard",
7
+ "description": "Opacity checkerboards provide a visual pattern background used in color swatches and UI elements to indicate transparency or when no color is selected.",
8
+ "meta": {
9
+ "category": "status",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/opacity-checkerboard/"
11
+ },
12
+ "options": {
13
+ "verticalSize": {
14
+ "type": "number",
15
+ "enum": [16, 32, 64, 128, 256]
16
+ },
17
+ "horizontalSize": {
18
+ "type": "number",
19
+ "enum": [24, 40]
20
+ }
21
+ },
22
+ "lifecycle": {
23
+ "introduced": "1.0.0-draft"
24
+ }
25
+ }
@@ -0,0 +1,92 @@
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/picker.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "picker",
6
+ "displayName": "Picker",
7
+ "description": "Pickers (sometimes known as \"dropdowns\" or \"selects\") allow users to choose from a list of options in a limited space. The list of options can change based on the context.",
8
+ "meta": {
9
+ "category": "inputs",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/picker/"
11
+ },
12
+ "options": {
13
+ "label": {
14
+ "type": "string"
15
+ },
16
+ "labelPosition": {
17
+ "type": "string",
18
+ "default": "top",
19
+ "enum": ["top", "side"]
20
+ },
21
+ "placeholder": {
22
+ "type": "string"
23
+ },
24
+ "value": {
25
+ "type": "string"
26
+ },
27
+ "width": {
28
+ "type": "number",
29
+ "description": "Not applicable to quiet picker."
30
+ },
31
+ "size": {
32
+ "type": "string",
33
+ "enum": ["s", "m", "l", "xl"],
34
+ "default": "m"
35
+ },
36
+ "isQuiet": {
37
+ "type": "boolean",
38
+ "default": false
39
+ },
40
+ "necessityIndicator": {
41
+ "type": "string",
42
+ "enum": ["text", "icon"],
43
+ "default": "icon"
44
+ },
45
+ "isRequired": {
46
+ "type": "boolean",
47
+ "default": false
48
+ },
49
+ "menuContainer": {
50
+ "type": "string",
51
+ "enum": ["popover", "tray"],
52
+ "default": "popover"
53
+ },
54
+ "isDisabled": {
55
+ "type": "boolean",
56
+ "default": false
57
+ },
58
+ "isError": {
59
+ "type": "boolean",
60
+ "default": false
61
+ },
62
+ "description": {
63
+ "type": "string",
64
+ "default": null
65
+ },
66
+ "errorMessage": {
67
+ "type": "string",
68
+ "default": null
69
+ }
70
+ },
71
+ "states": [
72
+ {
73
+ "name": "hover",
74
+ "trigger": "interaction"
75
+ },
76
+ {
77
+ "name": "focus-+-hover",
78
+ "trigger": "prop"
79
+ },
80
+ {
81
+ "name": "focus-+-not-hover",
82
+ "trigger": "prop"
83
+ },
84
+ {
85
+ "name": "keyboard-focus",
86
+ "trigger": "interaction"
87
+ }
88
+ ],
89
+ "lifecycle": {
90
+ "introduced": "1.0.0-draft"
91
+ }
92
+ }