@adobe/design-data-spec 0.3.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 (81) hide show
  1. package/components/accordion.json +87 -0
  2. package/components/action-bar.json +21 -0
  3. package/components/action-button.json +75 -0
  4. package/components/action-group.json +68 -0
  5. package/components/alert-banner.json +33 -0
  6. package/components/alert-dialog.json +46 -0
  7. package/components/avatar-group.json +26 -0
  8. package/components/avatar.json +54 -0
  9. package/components/badge.json +73 -0
  10. package/components/body.json +29 -0
  11. package/components/bottom-navigation-android.json +41 -0
  12. package/components/breadcrumbs.json +89 -0
  13. package/components/button-group.json +37 -0
  14. package/components/calendar.json +104 -0
  15. package/components/cards.json +30 -0
  16. package/components/checkbox-group.json +53 -0
  17. package/components/checkbox.json +61 -0
  18. package/components/close-button.json +48 -0
  19. package/components/coach-indicator.json +38 -0
  20. package/components/coach-mark.json +55 -0
  21. package/components/code.json +25 -0
  22. package/components/color-area.json +77 -0
  23. package/components/color-handle.json +35 -0
  24. package/components/color-loupe.json +20 -0
  25. package/components/color-slider.json +79 -0
  26. package/components/color-wheel.json +60 -0
  27. package/components/combo-box.json +94 -0
  28. package/components/contextual-help.json +80 -0
  29. package/components/date-picker.json +161 -0
  30. package/components/detail.json +30 -0
  31. package/components/divider.json +27 -0
  32. package/components/drop-zone.json +45 -0
  33. package/components/field-label.json +43 -0
  34. package/components/heading.json +33 -0
  35. package/components/help-text.json +40 -0
  36. package/components/illustrated-message.json +49 -0
  37. package/components/in-field-progress-button.json +44 -0
  38. package/components/in-field-progress-circle.json +26 -0
  39. package/components/in-line-alert.json +47 -0
  40. package/components/link.json +45 -0
  41. package/components/list-view.json +93 -0
  42. package/components/menu.json +76 -0
  43. package/components/meter.json +48 -0
  44. package/components/number-field.json +70 -0
  45. package/components/opacity-checkerboard.json +25 -0
  46. package/components/picker.json +92 -0
  47. package/components/popover.json +69 -0
  48. package/components/progress-bar.json +68 -0
  49. package/components/progress-circle.json +45 -0
  50. package/components/radio-button.json +43 -0
  51. package/components/radio-group.json +62 -0
  52. package/components/rating.json +47 -0
  53. package/components/scroll-zoom-bar.json +53 -0
  54. package/components/search-field.json +72 -0
  55. package/components/segmented-control.json +76 -0
  56. package/components/select-box.json +62 -0
  57. package/components/side-navigation.json +71 -0
  58. package/components/slider.json +92 -0
  59. package/components/standard-dialog.json +53 -0
  60. package/components/standard-panel.json +53 -0
  61. package/components/status-light.json +54 -0
  62. package/components/steplist.json +56 -0
  63. package/components/swatch-group.json +48 -0
  64. package/components/swatch.json +59 -0
  65. package/components/switch.json +55 -0
  66. package/components/tab-bar-ios.json +41 -0
  67. package/components/table.json +122 -0
  68. package/components/tabs.json +79 -0
  69. package/components/tag-field.json +53 -0
  70. package/components/tag-group.json +35 -0
  71. package/components/tag.json +54 -0
  72. package/components/takeover-dialog.json +58 -0
  73. package/components/text-area.json +103 -0
  74. package/components/text-field.json +91 -0
  75. package/components/thumbnail.json +27 -0
  76. package/components/toast.json +33 -0
  77. package/components/tooltip.json +54 -0
  78. package/components/tray.json +21 -0
  79. package/components/tree-view.json +63 -0
  80. package/package.json +2 -1
  81. package/schemas/component.schema.json +2 -2
@@ -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/slider.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "slider",
6
+ "displayName": "Slider",
7
+ "description": "Sliders allow users to quickly select a value within a range. They should be used when the upper and lower bounds to the range are invariable.",
8
+ "meta": {
9
+ "category": "inputs",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/slider/"
11
+ },
12
+ "options": {
13
+ "label": {
14
+ "type": "string"
15
+ },
16
+ "labelPosition": {
17
+ "type": "string",
18
+ "default": "top",
19
+ "enum": ["top", "side"]
20
+ },
21
+ "value": {
22
+ "type": "number",
23
+ "description": "from minValue to maxValue"
24
+ },
25
+ "minValue": {
26
+ "type": "number",
27
+ "default": 0
28
+ },
29
+ "maxValue": {
30
+ "type": "number",
31
+ "default": 100
32
+ },
33
+ "isRange": {
34
+ "type": "boolean",
35
+ "default": false,
36
+ "description": "If true, the slider will allow selection of a range of values by displaying two handles."
37
+ },
38
+ "step": {
39
+ "type": "number",
40
+ "default": 1
41
+ },
42
+ "valueFormat": {
43
+ "type": "string",
44
+ "description": "This will vary depending on implementation."
45
+ },
46
+ "progressionScale": {
47
+ "type": "string",
48
+ "enum": ["linear", "log"],
49
+ "default": "linear"
50
+ },
51
+ "width": {
52
+ "type": "number"
53
+ },
54
+ "hasFill": {
55
+ "type": "boolean",
56
+ "default": false
57
+ },
58
+ "fillStart": {
59
+ "type": "number",
60
+ "default": 0
61
+ },
62
+ "hasGradient": {
63
+ "type": "boolean",
64
+ "default": false
65
+ },
66
+ "isEditable": {
67
+ "type": "boolean",
68
+ "default": false
69
+ },
70
+ "isDisabled": {
71
+ "type": "boolean",
72
+ "default": false
73
+ }
74
+ },
75
+ "states": [
76
+ {
77
+ "name": "hover",
78
+ "trigger": "interaction"
79
+ },
80
+ {
81
+ "name": "down",
82
+ "trigger": "interaction"
83
+ },
84
+ {
85
+ "name": "keyboard-focus",
86
+ "trigger": "interaction"
87
+ }
88
+ ],
89
+ "lifecycle": {
90
+ "introduced": "1.0.0-draft"
91
+ }
92
+ }
@@ -0,0 +1,53 @@
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/standard-dialog.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "standard-dialog",
6
+ "displayName": "Standard dialog",
7
+ "description": "Standard dialogs display important information that users need to acknowledge. They appear over the interface and block further interactions until an action is selected.",
8
+ "meta": {
9
+ "category": "feedback",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/standard-dialog/"
11
+ },
12
+ "options": {
13
+ "title": {
14
+ "type": "string"
15
+ },
16
+ "description": {
17
+ "type": "string"
18
+ },
19
+ "hideImage": {
20
+ "type": "boolean",
21
+ "default": false,
22
+ "description": "Optional image to display in dialog."
23
+ },
24
+ "size": {
25
+ "type": "string",
26
+ "enum": ["s", "m", "l"],
27
+ "default": "m"
28
+ },
29
+ "hideCloseButton": {
30
+ "type": "boolean",
31
+ "default": false
32
+ },
33
+ "footerContent": {
34
+ "type": "string",
35
+ "description": "Optional footer content to display in the dialog footer like a checkbox."
36
+ },
37
+ "primaryActionLabel": {
38
+ "type": "string"
39
+ },
40
+ "secondaryActionLabel": {
41
+ "type": "string",
42
+ "description": "If undefined, this button does not appear."
43
+ },
44
+ "cancelActionLabel": {
45
+ "type": "string",
46
+ "default": "cancel",
47
+ "description": "If undefined, this button does not appear."
48
+ }
49
+ },
50
+ "lifecycle": {
51
+ "introduced": "1.0.0-draft"
52
+ }
53
+ }
@@ -0,0 +1,53 @@
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/standard-panel.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "standard-panel",
6
+ "displayName": "Standard Panel",
7
+ "description": "Standard Panels provide a flexible container for grouping related content and actions.",
8
+ "meta": {
9
+ "category": "containers",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/standard-panel/"
11
+ },
12
+ "options": {
13
+ "container": {
14
+ "type": "string",
15
+ "enum": ["anchored", "floating", "dragged"],
16
+ "default": "anchored"
17
+ },
18
+ "label": {
19
+ "type": "string"
20
+ },
21
+ "description": {
22
+ "type": "string"
23
+ },
24
+ "value": {
25
+ "type": "string"
26
+ },
27
+ "density": {
28
+ "type": "string",
29
+ "enum": ["compact", "regular", "spacious"],
30
+ "default": "regular"
31
+ },
32
+ "style": {
33
+ "type": "string",
34
+ "enum": ["primary", "secondary"],
35
+ "default": "primary"
36
+ },
37
+ "hideGripper": {
38
+ "type": "boolean",
39
+ "default": false
40
+ },
41
+ "hideCloseButton": {
42
+ "type": "boolean",
43
+ "default": false
44
+ },
45
+ "hideDivider": {
46
+ "type": "boolean",
47
+ "default": false
48
+ }
49
+ },
50
+ "lifecycle": {
51
+ "introduced": "1.0.0-draft"
52
+ }
53
+ }
@@ -0,0 +1,54 @@
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/status-light.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "status-light",
6
+ "displayName": "Status light",
7
+ "description": "Status lights describe the condition of an entity. They can be used to convey semantic meaning, such as statuses and categories.",
8
+ "meta": {
9
+ "category": "status",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/status-light/"
11
+ },
12
+ "options": {
13
+ "label": {
14
+ "type": "string"
15
+ },
16
+ "variant": {
17
+ "type": "string",
18
+ "enum": [
19
+ "informative",
20
+ "neutral",
21
+ "positive",
22
+ "notice",
23
+ "negative",
24
+ "indigo",
25
+ "celery",
26
+ "chartreuse",
27
+ "yellow",
28
+ "magenta",
29
+ "fuchsia",
30
+ "purple",
31
+ "seafoam",
32
+ "pink",
33
+ "turquoise",
34
+ "cinnamon",
35
+ "brown",
36
+ "silver",
37
+ "gray",
38
+ "red",
39
+ "orange",
40
+ "green",
41
+ "cyan"
42
+ ],
43
+ "default": "informative"
44
+ },
45
+ "size": {
46
+ "type": "string",
47
+ "enum": ["s", "m", "l", "xl"],
48
+ "default": "m"
49
+ }
50
+ },
51
+ "lifecycle": {
52
+ "introduced": "1.0.0-draft"
53
+ }
54
+ }
@@ -0,0 +1,56 @@
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/steplist.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "steplist",
6
+ "displayName": "Steplist",
7
+ "description": "Step lists display progress through a sequence of steps, with each step marked as completed, current, or incomplete.",
8
+ "meta": {
9
+ "category": "navigation",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/steplist/"
11
+ },
12
+ "options": {
13
+ "orientation": {
14
+ "type": "string",
15
+ "enum": ["horizontal", "vertical"],
16
+ "default": "horizontal"
17
+ },
18
+ "items": {
19
+ "type": "array",
20
+ "description": "An array of step items in the step list.",
21
+ "items": {
22
+ "type": "object",
23
+ "properties": {
24
+ "label": {
25
+ "type": "string",
26
+ "description": "The text displayed for the step item."
27
+ },
28
+ "isDisabled": {
29
+ "type": "boolean",
30
+ "default": false,
31
+ "description": "Whether the step item is disabled."
32
+ },
33
+ "stepState": {
34
+ "type": "string",
35
+ "enum": [
36
+ "completed default",
37
+ "completed hover",
38
+ "current default",
39
+ "incomplete default"
40
+ ],
41
+ "default": "current default",
42
+ "description": "The current state of the step item."
43
+ }
44
+ },
45
+ "required": ["label", "stepState"]
46
+ }
47
+ },
48
+ "currentStep": {
49
+ "type": "string",
50
+ "description": "The identifier or label of the currently active step."
51
+ }
52
+ },
53
+ "lifecycle": {
54
+ "introduced": "1.0.0-draft"
55
+ }
56
+ }
@@ -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/swatch-group.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "swatch-group",
6
+ "displayName": "Swatch group",
7
+ "description": "A swatch group is a grouping of swatches that are related to each other.",
8
+ "meta": {
9
+ "category": "inputs",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/swatch-group/"
11
+ },
12
+ "options": {
13
+ "size": {
14
+ "type": "string",
15
+ "enum": ["xs", "s", "m", "l"],
16
+ "default": "m"
17
+ },
18
+ "density": {
19
+ "type": "string",
20
+ "enum": ["compact", "regular", "spacious"],
21
+ "default": "regular"
22
+ },
23
+ "enableSelection": {
24
+ "type": "boolean",
25
+ "default": false
26
+ },
27
+ "selectionMode": {
28
+ "type": "string",
29
+ "description": "Only applicable if selection is enabled.",
30
+ "enum": ["single", "multiple"],
31
+ "default": "single"
32
+ },
33
+ "allowsEmptySelection": {
34
+ "type": "boolean",
35
+ "default": false,
36
+ "description": "Only applicable if selection is enabled."
37
+ },
38
+ "cornerRadius": {
39
+ "type": "string",
40
+ "enum": ["none", "full", "partial"],
41
+ "default": "none",
42
+ "description": "Determines the corner radius of each swatch in the group. Partial refers to corner-radius-75."
43
+ }
44
+ },
45
+ "lifecycle": {
46
+ "introduced": "1.0.0-draft"
47
+ }
48
+ }
@@ -0,0 +1,59 @@
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/swatch.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "swatch",
6
+ "displayName": "Swatch",
7
+ "description": "A swatch shows a small sample of a fill — such as a color, gradient, texture, or material — that is intended to be applied to an object.",
8
+ "meta": {
9
+ "category": "inputs",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/swatch/"
11
+ },
12
+ "options": {
13
+ "preview": {
14
+ "type": "string",
15
+ "description": "This will vary depending on implementation."
16
+ },
17
+ "size": {
18
+ "type": "string",
19
+ "enum": ["xs", "s", "m", "l"],
20
+ "default": "m"
21
+ },
22
+ "shape": {
23
+ "type": "string",
24
+ "enum": ["square", "rectangle"],
25
+ "default": "square"
26
+ },
27
+ "cornerRounding": {
28
+ "type": "string",
29
+ "enum": ["none", "partial", "full"],
30
+ "default": "none",
31
+ "description": "Determines the corner radius of the swatch. Partial refers to corner-radius-75."
32
+ },
33
+ "isSelected": {
34
+ "type": "boolean",
35
+ "default": false
36
+ },
37
+ "isDisabled": {
38
+ "type": "boolean",
39
+ "default": false
40
+ }
41
+ },
42
+ "states": [
43
+ {
44
+ "name": "hover",
45
+ "trigger": "interaction"
46
+ },
47
+ {
48
+ "name": "down",
49
+ "trigger": "interaction"
50
+ },
51
+ {
52
+ "name": "keyboard-focus",
53
+ "trigger": "interaction"
54
+ }
55
+ ],
56
+ "lifecycle": {
57
+ "introduced": "1.0.0-draft"
58
+ }
59
+ }
@@ -0,0 +1,55 @@
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/switch.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "switch",
6
+ "displayName": "Switch",
7
+ "description": "Switches allow users to turn an individual option on or off. They are usually used to activate or deactivate a specific setting.",
8
+ "meta": {
9
+ "category": "inputs",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/switch/"
11
+ },
12
+ "options": {
13
+ "label": {
14
+ "type": "string"
15
+ },
16
+ "isSelected": {
17
+ "type": "boolean",
18
+ "default": false
19
+ },
20
+ "size": {
21
+ "type": "string",
22
+ "enum": ["s", "m", "l", "xl"],
23
+ "default": "m"
24
+ },
25
+ "isEmphasized": {
26
+ "type": "boolean",
27
+ "default": false
28
+ },
29
+ "isDisabled": {
30
+ "type": "boolean",
31
+ "default": false
32
+ },
33
+ "isReadOnly": {
34
+ "type": "boolean",
35
+ "default": false
36
+ }
37
+ },
38
+ "states": [
39
+ {
40
+ "name": "hover",
41
+ "trigger": "interaction"
42
+ },
43
+ {
44
+ "name": "down",
45
+ "trigger": "interaction"
46
+ },
47
+ {
48
+ "name": "keyboard-focus",
49
+ "trigger": "interaction"
50
+ }
51
+ ],
52
+ "lifecycle": {
53
+ "introduced": "1.0.0-draft"
54
+ }
55
+ }
@@ -0,0 +1,41 @@
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/tab-bar-ios.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "tab-bar-ios",
6
+ "displayName": "Tab bar (iOS)",
7
+ "description": "Tab bar is a top-level navigation control for iOS apps.",
8
+ "meta": {
9
+ "category": "navigation",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/tab-bar-ios/"
11
+ },
12
+ "options": {
13
+ "label": {
14
+ "type": "string"
15
+ },
16
+ "labelPosition": {
17
+ "type": "string",
18
+ "enum": ["bottom", "side"],
19
+ "default": "bottom"
20
+ },
21
+ "icon": {
22
+ "$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/workflow-icon.json"
23
+ },
24
+ "background": {
25
+ "type": "string",
26
+ "enum": ["primary", "secondary"],
27
+ "default": "primary"
28
+ },
29
+ "hasBadge": {
30
+ "type": "boolean",
31
+ "default": false
32
+ },
33
+ "isDisabled": {
34
+ "type": "boolean",
35
+ "default": false
36
+ }
37
+ },
38
+ "lifecycle": {
39
+ "introduced": "1.0.0-draft"
40
+ }
41
+ }
@@ -0,0 +1,122 @@
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/table.json",
4
+ "specVersion": "1.0.0-draft",
5
+ "name": "table",
6
+ "displayName": "Table",
7
+ "description": "Tables display information in rows and columns, allowing users to compare and scan structured data.",
8
+ "meta": {
9
+ "category": "data visualization",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/table/"
11
+ },
12
+ "options": {
13
+ "size": {
14
+ "type": "string",
15
+ "enum": ["s", "m", "l"],
16
+ "default": "m",
17
+ "description": "Controls the density of table rows."
18
+ },
19
+ "hideHeader": {
20
+ "type": "boolean",
21
+ "default": false,
22
+ "description": "If true, the table header is hidden."
23
+ },
24
+ "header": {
25
+ "type": "object",
26
+ "description": "Configuration for the table header row.",
27
+ "properties": {
28
+ "alignment": {
29
+ "type": "string",
30
+ "enum": ["left", "right"],
31
+ "default": "left",
32
+ "description": "Alignment of the table header text."
33
+ },
34
+ "state": {
35
+ "type": "string",
36
+ "enum": ["default", "hover", "down", "keyboard focus"],
37
+ "default": "default",
38
+ "description": "Interaction state of the header row."
39
+ }
40
+ }
41
+ },
42
+ "density": {
43
+ "type": "string",
44
+ "enum": ["compact", "regular", "spacious"],
45
+ "default": "regular"
46
+ },
47
+ "isQuiet": {
48
+ "type": "boolean",
49
+ "default": false,
50
+ "description": "If true, the table uses a quiet visual style."
51
+ },
52
+ "isSortable": {
53
+ "type": "boolean",
54
+ "default": false,
55
+ "description": "If true, table columns can be sorted."
56
+ },
57
+ "columns": {
58
+ "type": "array",
59
+ "description": "An array of column definitions for the table.",
60
+ "items": {
61
+ "type": "object",
62
+ "properties": {
63
+ "key": {
64
+ "type": "string",
65
+ "description": "Unique identifier for the column."
66
+ },
67
+ "label": {
68
+ "type": "string",
69
+ "description": "The header text displayed for the column."
70
+ },
71
+ "type": {
72
+ "type": "string",
73
+ "enum": [
74
+ "text",
75
+ "number",
76
+ "avatar",
77
+ "date",
78
+ "sparkline",
79
+ "select",
80
+ "layout"
81
+ ],
82
+ "default": "text",
83
+ "description": "Defines the data type for the column."
84
+ },
85
+ "resizing": {
86
+ "type": "string",
87
+ "enum": ["fluid", "fixed"],
88
+ "default": "fluid",
89
+ "description": "Defines whether the column width is fluid or fixed."
90
+ },
91
+ "summary placement": {
92
+ "type": "string",
93
+ "enum": ["top", "bottom"],
94
+ "default": "bottom",
95
+ "description": "Placement of the summary row for this column, if applicable."
96
+ },
97
+ "summary text": {
98
+ "type": "string",
99
+ "description": "Text to display in the summary row for this column, if applicable."
100
+ },
101
+ "isSortable": {
102
+ "type": "boolean",
103
+ "default": false,
104
+ "description": "Whether this column is sortable."
105
+ }
106
+ },
107
+ "required": ["key", "label", "type"]
108
+ }
109
+ },
110
+ "rows": {
111
+ "type": "array",
112
+ "description": "An array of row data for the table.",
113
+ "items": {
114
+ "type": "object",
115
+ "description": "Each object represents a single row, keyed by column IDs."
116
+ }
117
+ }
118
+ },
119
+ "lifecycle": {
120
+ "introduced": "1.0.0-draft"
121
+ }
122
+ }