@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.
- package/README.md +3 -3
- package/components/accordion.json +87 -0
- package/components/action-bar.json +21 -0
- package/components/action-button.json +75 -0
- package/components/action-group.json +68 -0
- package/components/alert-banner.json +33 -0
- package/components/alert-dialog.json +46 -0
- package/components/avatar-group.json +26 -0
- package/components/avatar.json +54 -0
- package/components/badge.json +73 -0
- package/components/body.json +29 -0
- package/components/bottom-navigation-android.json +41 -0
- package/components/breadcrumbs.json +89 -0
- package/components/button-group.json +37 -0
- package/components/button.json +70 -0
- package/components/calendar.json +104 -0
- package/components/cards.json +30 -0
- package/components/checkbox-group.json +53 -0
- package/components/checkbox.json +61 -0
- package/components/close-button.json +48 -0
- package/components/coach-indicator.json +38 -0
- package/components/coach-mark.json +55 -0
- package/components/code.json +25 -0
- package/components/color-area.json +77 -0
- package/components/color-handle.json +35 -0
- package/components/color-loupe.json +20 -0
- package/components/color-slider.json +79 -0
- package/components/color-wheel.json +60 -0
- package/components/combo-box.json +94 -0
- package/components/contextual-help.json +80 -0
- package/components/date-picker.json +161 -0
- package/components/detail.json +30 -0
- package/components/divider.json +27 -0
- package/components/drop-zone.json +45 -0
- package/components/field-label.json +43 -0
- package/components/heading.json +33 -0
- package/components/help-text.json +40 -0
- package/components/illustrated-message.json +49 -0
- package/components/in-field-progress-button.json +44 -0
- package/components/in-field-progress-circle.json +26 -0
- package/components/in-line-alert.json +47 -0
- package/components/link.json +45 -0
- package/components/list-view.json +93 -0
- package/components/menu.json +76 -0
- package/components/meter.json +48 -0
- package/components/number-field.json +70 -0
- package/components/opacity-checkerboard.json +25 -0
- package/components/picker.json +92 -0
- package/components/popover.json +69 -0
- package/components/progress-bar.json +68 -0
- package/components/progress-circle.json +45 -0
- package/components/radio-button.json +43 -0
- package/components/radio-group.json +62 -0
- package/components/rating.json +47 -0
- package/components/scroll-zoom-bar.json +53 -0
- package/components/search-field.json +72 -0
- package/components/segmented-control.json +76 -0
- package/components/select-box.json +62 -0
- package/components/side-navigation.json +71 -0
- package/components/slider.json +92 -0
- package/components/standard-dialog.json +53 -0
- package/components/standard-panel.json +53 -0
- package/components/status-light.json +54 -0
- package/components/steplist.json +56 -0
- package/components/swatch-group.json +48 -0
- package/components/swatch.json +59 -0
- package/components/switch.json +55 -0
- package/components/tab-bar-ios.json +41 -0
- package/components/table.json +122 -0
- package/components/tabs.json +79 -0
- package/components/tag-field.json +53 -0
- package/components/tag-group.json +35 -0
- package/components/tag.json +54 -0
- package/components/takeover-dialog.json +58 -0
- package/components/text-area.json +103 -0
- package/components/text-field.json +91 -0
- package/components/thumbnail.json +27 -0
- package/components/toast.json +33 -0
- package/components/tooltip.json +54 -0
- package/components/tray.json +21 -0
- package/components/tree-view.json +63 -0
- package/conformance/README.md +26 -26
- package/conformance/invalid/SPEC-014/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-014/tokens.tokens.json +9 -0
- package/conformance/invalid/SPEC-018/dataset.json +9 -0
- package/conformance/invalid/SPEC-018/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-019/dataset.json +29 -0
- package/conformance/invalid/SPEC-019/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-020/dataset.json +27 -0
- package/conformance/invalid/SPEC-020/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-021/dataset.json +18 -0
- package/conformance/invalid/SPEC-021/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-022/dataset.json +33 -0
- package/conformance/invalid/SPEC-022/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-023/dataset.json +18 -0
- package/conformance/invalid/SPEC-023/expected-errors.json +10 -0
- package/conformance/invalid/SPEC-024/dataset.json +18 -0
- package/conformance/invalid/SPEC-024/expected-errors.json +10 -0
- package/conformance/valid/component-refs/dataset.json +63 -0
- package/conformance/valid/lifecycle-with-last-modified.json +12 -0
- package/package.json +19 -6
- package/rules/rules.yaml +81 -0
- package/schemas/anatomy-part.schema.json +35 -0
- package/schemas/component.schema.json +267 -0
- package/schemas/state-declaration.schema.json +36 -0
- package/spec/agent-surface.md +116 -0
- package/spec/anatomy-format.md +167 -0
- package/spec/component-format.md +326 -0
- package/spec/evolution.md +32 -32
- package/spec/index.md +27 -21
- package/spec/manifest.md +3 -1
- package/spec/state-model.md +245 -0
- package/spec/taxonomy.md +17 -1
- package/spec/token-format.md +1 -1
- package/src/canonical.js +61 -0
- package/src/validate.js +166 -0
|
@@ -0,0 +1,79 @@
|
|
|
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/tabs.json",
|
|
4
|
+
"specVersion": "1.0.0-draft",
|
|
5
|
+
"name": "tabs",
|
|
6
|
+
"displayName": "Tabs",
|
|
7
|
+
"description": "Tabs organize content into multiple sections and allow users to navigate between them. The content under the set of tabs should be related and form a coherent unit.",
|
|
8
|
+
"meta": {
|
|
9
|
+
"category": "navigation",
|
|
10
|
+
"documentationUrl": "https://spectrum.adobe.com/page/tabs/"
|
|
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 tab items.",
|
|
21
|
+
"items": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"properties": {
|
|
24
|
+
"label": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "The text displayed for the tab item."
|
|
27
|
+
},
|
|
28
|
+
"isDisabled": {
|
|
29
|
+
"type": "boolean",
|
|
30
|
+
"default": false,
|
|
31
|
+
"description": "Whether the tab is disabled."
|
|
32
|
+
},
|
|
33
|
+
"state": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"enum": ["default", "hover", "keyboard focus"],
|
|
36
|
+
"default": "default",
|
|
37
|
+
"description": "The interaction state of the tab item."
|
|
38
|
+
},
|
|
39
|
+
"contentVariant": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"enum": ["label-only", "icon-only", "icon-label"],
|
|
42
|
+
"default": "icon-label",
|
|
43
|
+
"description": "Controls whether the tab displays a label, an icon, or both."
|
|
44
|
+
},
|
|
45
|
+
"density": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"enum": ["compact", "regular"],
|
|
48
|
+
"default": "regular"
|
|
49
|
+
},
|
|
50
|
+
"isFluid": {
|
|
51
|
+
"type": "boolean",
|
|
52
|
+
"default": false,
|
|
53
|
+
"description": "This overrides density and is only applicable to horizontal tabs."
|
|
54
|
+
},
|
|
55
|
+
"isEmphasized": {
|
|
56
|
+
"type": "boolean",
|
|
57
|
+
"default": false
|
|
58
|
+
},
|
|
59
|
+
"alignment": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"enum": ["start", "center"],
|
|
62
|
+
"default": "start"
|
|
63
|
+
},
|
|
64
|
+
"selectedItem": {
|
|
65
|
+
"description": "(list of available items)"
|
|
66
|
+
},
|
|
67
|
+
"keyboardActivation": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"enum": ["manual", "automatic"],
|
|
70
|
+
"default": "manual"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"lifecycle": {
|
|
77
|
+
"introduced": "1.0.0-draft"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -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/tag-field.json",
|
|
4
|
+
"specVersion": "1.0.0-draft",
|
|
5
|
+
"name": "tag-field",
|
|
6
|
+
"displayName": "Tag field",
|
|
7
|
+
"description": "A tag field is an input field that allows users to enter and manage tags.",
|
|
8
|
+
"meta": {
|
|
9
|
+
"category": "inputs",
|
|
10
|
+
"documentationUrl": "https://spectrum.adobe.com/page/tag-field/"
|
|
11
|
+
},
|
|
12
|
+
"options": {
|
|
13
|
+
"size": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"enum": ["s", "m", "l"],
|
|
16
|
+
"default": "m"
|
|
17
|
+
},
|
|
18
|
+
"style": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"enum": ["keyword", "icon", "thumbnail", "avatar"],
|
|
21
|
+
"default": "keyword"
|
|
22
|
+
},
|
|
23
|
+
"isDisabled": {
|
|
24
|
+
"type": "boolean",
|
|
25
|
+
"default": false
|
|
26
|
+
},
|
|
27
|
+
"hideLabel": {
|
|
28
|
+
"type": "boolean",
|
|
29
|
+
"default": false
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"states": [
|
|
33
|
+
{
|
|
34
|
+
"name": "hover",
|
|
35
|
+
"trigger": "interaction"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "focus-+-hover",
|
|
39
|
+
"trigger": "prop"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "focus-+-not-hover",
|
|
43
|
+
"trigger": "prop"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "keyboard-focus",
|
|
47
|
+
"trigger": "interaction"
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"lifecycle": {
|
|
51
|
+
"introduced": "1.0.0-draft"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
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/tag-group.json",
|
|
4
|
+
"specVersion": "1.0.0-draft",
|
|
5
|
+
"name": "tag-group",
|
|
6
|
+
"displayName": "Tag group",
|
|
7
|
+
"description": "A tag group is a collection of tags that represent a set of related items.",
|
|
8
|
+
"meta": {
|
|
9
|
+
"category": "inputs",
|
|
10
|
+
"documentationUrl": "https://spectrum.adobe.com/page/tag-group/"
|
|
11
|
+
},
|
|
12
|
+
"options": {
|
|
13
|
+
"size": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"enum": ["s", "m", "l"],
|
|
16
|
+
"default": "m"
|
|
17
|
+
},
|
|
18
|
+
"labelPosition": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"enum": ["top", "side"],
|
|
21
|
+
"default": "top"
|
|
22
|
+
},
|
|
23
|
+
"hideLabel": {
|
|
24
|
+
"type": "boolean",
|
|
25
|
+
"default": false
|
|
26
|
+
},
|
|
27
|
+
"actionLabel": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "If undefined, this button does not appear."
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"lifecycle": {
|
|
33
|
+
"introduced": "1.0.0-draft"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -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/tag.json",
|
|
4
|
+
"specVersion": "1.0.0-draft",
|
|
5
|
+
"name": "tag",
|
|
6
|
+
"displayName": "Tag",
|
|
7
|
+
"description": "Tags allow users to categorize content. They can represent keywords or people, and are grouped to describe an item or a search request.",
|
|
8
|
+
"meta": {
|
|
9
|
+
"category": "navigation",
|
|
10
|
+
"documentationUrl": "https://spectrum.adobe.com/page/tag/"
|
|
11
|
+
},
|
|
12
|
+
"options": {
|
|
13
|
+
"label": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"hasAvatar": {
|
|
17
|
+
"type": "boolean",
|
|
18
|
+
"default": false
|
|
19
|
+
},
|
|
20
|
+
"isRemovable": {
|
|
21
|
+
"type": "boolean",
|
|
22
|
+
"default": false
|
|
23
|
+
},
|
|
24
|
+
"isError": {
|
|
25
|
+
"type": "boolean",
|
|
26
|
+
"default": false
|
|
27
|
+
},
|
|
28
|
+
"isDisabled": {
|
|
29
|
+
"type": "boolean",
|
|
30
|
+
"default": false
|
|
31
|
+
},
|
|
32
|
+
"isReadOnly": {
|
|
33
|
+
"type": "boolean",
|
|
34
|
+
"default": false
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"states": [
|
|
38
|
+
{
|
|
39
|
+
"name": "hover",
|
|
40
|
+
"trigger": "interaction"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "down",
|
|
44
|
+
"trigger": "interaction"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "keyboard-focus",
|
|
48
|
+
"trigger": "interaction"
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"lifecycle": {
|
|
52
|
+
"introduced": "1.0.0-draft"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
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/takeover-dialog.json",
|
|
4
|
+
"specVersion": "1.0.0-draft",
|
|
5
|
+
"name": "takeover-dialog",
|
|
6
|
+
"displayName": "Takeover dialog",
|
|
7
|
+
"description": "Takeover dialogs are larger, flexible dialogs that contain other components to support complex workflows.",
|
|
8
|
+
"meta": {
|
|
9
|
+
"category": "feedback",
|
|
10
|
+
"documentationUrl": "https://spectrum.adobe.com/page/takeover-dialog/"
|
|
11
|
+
},
|
|
12
|
+
"options": {
|
|
13
|
+
"title": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"description": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"variant": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"enum": ["dialog", "full screen"],
|
|
22
|
+
"default": "dialog"
|
|
23
|
+
},
|
|
24
|
+
"primaryActionLabel": {
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
"secondaryActionLabel": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "If undefined, this button does not appear."
|
|
30
|
+
},
|
|
31
|
+
"cancelActionLabel": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"default": "cancel",
|
|
34
|
+
"description": "If undefined, this button does not appear."
|
|
35
|
+
},
|
|
36
|
+
"slots": {
|
|
37
|
+
"type": "array",
|
|
38
|
+
"description": "Areas where other components can be inserted (e.g. Side navigation, Steplist, Forms).",
|
|
39
|
+
"items": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"properties": {
|
|
42
|
+
"name": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"description": "Identifier for the slot (e.g. 'sidebar', 'content', 'footer')."
|
|
45
|
+
},
|
|
46
|
+
"component": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "The type of component placed in this slot (e.g. side-navigation, steplist, form)."
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"required": ["name", "component"]
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"lifecycle": {
|
|
56
|
+
"introduced": "1.0.0-draft"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
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/text-area.json",
|
|
4
|
+
"specVersion": "1.0.0-draft",
|
|
5
|
+
"name": "text-area",
|
|
6
|
+
"displayName": "Text area",
|
|
7
|
+
"description": "A text area lets a user input a longer amount of text than a standard text field. It can include all of the standard validation options supported by the text field component.",
|
|
8
|
+
"meta": {
|
|
9
|
+
"category": "inputs",
|
|
10
|
+
"documentationUrl": "https://spectrum.adobe.com/page/text-area/"
|
|
11
|
+
},
|
|
12
|
+
"options": {
|
|
13
|
+
"label": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"labelPosition": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"default": "top",
|
|
19
|
+
"enum": ["top", "side"]
|
|
20
|
+
},
|
|
21
|
+
"hideLabel": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"default": false
|
|
24
|
+
},
|
|
25
|
+
"value": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "from minValue to maxValue"
|
|
28
|
+
},
|
|
29
|
+
"width": {
|
|
30
|
+
"type": "number"
|
|
31
|
+
},
|
|
32
|
+
"size": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"enum": ["s", "m", "l", "xl"],
|
|
35
|
+
"default": "m"
|
|
36
|
+
},
|
|
37
|
+
"necessityIndicator": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"enum": ["text", "icon"],
|
|
40
|
+
"default": "icon"
|
|
41
|
+
},
|
|
42
|
+
"isRequired": {
|
|
43
|
+
"type": "boolean",
|
|
44
|
+
"default": false
|
|
45
|
+
},
|
|
46
|
+
"hasCharacterCount": {
|
|
47
|
+
"type": "boolean",
|
|
48
|
+
"default": false
|
|
49
|
+
},
|
|
50
|
+
"showValidIcon": {
|
|
51
|
+
"type": "boolean",
|
|
52
|
+
"default": false
|
|
53
|
+
},
|
|
54
|
+
"isError": {
|
|
55
|
+
"type": "boolean",
|
|
56
|
+
"default": false
|
|
57
|
+
},
|
|
58
|
+
"isDisabled": {
|
|
59
|
+
"type": "boolean",
|
|
60
|
+
"default": false
|
|
61
|
+
},
|
|
62
|
+
"hideDragIcon": {
|
|
63
|
+
"type": "boolean",
|
|
64
|
+
"default": false
|
|
65
|
+
},
|
|
66
|
+
"height": {
|
|
67
|
+
"type": "number",
|
|
68
|
+
"description": "If undefined, height is dynamic and grows with input text."
|
|
69
|
+
},
|
|
70
|
+
"helpText": {
|
|
71
|
+
"type": "string"
|
|
72
|
+
},
|
|
73
|
+
"errorMessage": {
|
|
74
|
+
"type": "string"
|
|
75
|
+
},
|
|
76
|
+
"inputType": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"enum": ["text", "url", "phone", "email", "password"],
|
|
79
|
+
"default": "text"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"states": [
|
|
83
|
+
{
|
|
84
|
+
"name": "hover",
|
|
85
|
+
"trigger": "interaction"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "focus-+-hover",
|
|
89
|
+
"trigger": "prop"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "focus-+-not-hover",
|
|
93
|
+
"trigger": "prop"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "keyboard-focus",
|
|
97
|
+
"trigger": "interaction"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"lifecycle": {
|
|
101
|
+
"introduced": "1.0.0-draft"
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
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/text-field.json",
|
|
4
|
+
"specVersion": "1.0.0-draft",
|
|
5
|
+
"name": "text-field",
|
|
6
|
+
"displayName": "Text field",
|
|
7
|
+
"description": "Text fields allow users to input custom text entries with a keyboard. Various options can be shown with the field to communicate the input requirements.",
|
|
8
|
+
"meta": {
|
|
9
|
+
"category": "inputs",
|
|
10
|
+
"documentationUrl": "https://spectrum.adobe.com/page/text-field/"
|
|
11
|
+
},
|
|
12
|
+
"options": {
|
|
13
|
+
"label": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"labelPosition": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"default": "top",
|
|
19
|
+
"enum": ["top", "side"]
|
|
20
|
+
},
|
|
21
|
+
"hideLabel": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"default": false
|
|
24
|
+
},
|
|
25
|
+
"value": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "from minValue to maxValue"
|
|
28
|
+
},
|
|
29
|
+
"width": {
|
|
30
|
+
"type": "number"
|
|
31
|
+
},
|
|
32
|
+
"size": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"enum": ["s", "m", "l", "xl"],
|
|
35
|
+
"default": "m"
|
|
36
|
+
},
|
|
37
|
+
"necessityIndicator": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"enum": ["text", "icon"],
|
|
40
|
+
"default": "icon"
|
|
41
|
+
},
|
|
42
|
+
"isRequired": {
|
|
43
|
+
"type": "boolean",
|
|
44
|
+
"default": false
|
|
45
|
+
},
|
|
46
|
+
"hasCharacterCount": {
|
|
47
|
+
"type": "boolean",
|
|
48
|
+
"default": false
|
|
49
|
+
},
|
|
50
|
+
"showValidIcon": {
|
|
51
|
+
"type": "boolean",
|
|
52
|
+
"default": false
|
|
53
|
+
},
|
|
54
|
+
"isError": {
|
|
55
|
+
"type": "boolean",
|
|
56
|
+
"default": false,
|
|
57
|
+
"description": "If there is an error, this property overrides show valid icon."
|
|
58
|
+
},
|
|
59
|
+
"isDisabled": {
|
|
60
|
+
"type": "boolean",
|
|
61
|
+
"default": false
|
|
62
|
+
},
|
|
63
|
+
"helpText": {
|
|
64
|
+
"type": "string"
|
|
65
|
+
},
|
|
66
|
+
"errorMessage": {
|
|
67
|
+
"type": "string"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"states": [
|
|
71
|
+
{
|
|
72
|
+
"name": "hover",
|
|
73
|
+
"trigger": "interaction"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "focus-+-hover",
|
|
77
|
+
"trigger": "prop"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "focus-+-not-hover",
|
|
81
|
+
"trigger": "prop"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "keyboard-focus",
|
|
85
|
+
"trigger": "interaction"
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"lifecycle": {
|
|
89
|
+
"introduced": "1.0.0-draft"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
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/thumbnail.json",
|
|
4
|
+
"specVersion": "1.0.0-draft",
|
|
5
|
+
"name": "thumbnail",
|
|
6
|
+
"displayName": "Thumbnail",
|
|
7
|
+
"description": "Thumbnails are small representations of images or content used for previews and navigation in galleries, lists, and media collections.",
|
|
8
|
+
"meta": {
|
|
9
|
+
"category": "navigation",
|
|
10
|
+
"documentationUrl": "https://spectrum.adobe.com/page/thumbnail/"
|
|
11
|
+
},
|
|
12
|
+
"options": {
|
|
13
|
+
"size": {
|
|
14
|
+
"type": "number",
|
|
15
|
+
"enum": [50, 75, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"states": [
|
|
19
|
+
{
|
|
20
|
+
"name": "disabled",
|
|
21
|
+
"trigger": "prop"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"lifecycle": {
|
|
25
|
+
"introduced": "1.0.0-draft"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
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/toast.json",
|
|
4
|
+
"specVersion": "1.0.0-draft",
|
|
5
|
+
"name": "toast",
|
|
6
|
+
"displayName": "Toast",
|
|
7
|
+
"description": "Toasts display brief, temporary notifications. They're meant to be noticed without disrupting a user's experience or requiring an action to be taken.",
|
|
8
|
+
"meta": {
|
|
9
|
+
"category": "feedback",
|
|
10
|
+
"documentationUrl": "https://spectrum.adobe.com/page/toast/"
|
|
11
|
+
},
|
|
12
|
+
"options": {
|
|
13
|
+
"text": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"variant": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"enum": ["neutral", "informative", "positive", "negative"],
|
|
19
|
+
"default": "neutral"
|
|
20
|
+
},
|
|
21
|
+
"actionLabel": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"description": "If undefined, this button does not appear."
|
|
24
|
+
},
|
|
25
|
+
"isAutoDismissible": {
|
|
26
|
+
"type": "boolean",
|
|
27
|
+
"default": false
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"lifecycle": {
|
|
31
|
+
"introduced": "1.0.0-draft"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -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/tooltip.json",
|
|
4
|
+
"specVersion": "1.0.0-draft",
|
|
5
|
+
"name": "tooltip",
|
|
6
|
+
"displayName": "Tooltip",
|
|
7
|
+
"description": "Tooltips show contextual help or information about specific components when a user hovers or focuses on them.",
|
|
8
|
+
"meta": {
|
|
9
|
+
"category": "feedback",
|
|
10
|
+
"documentationUrl": "https://spectrum.adobe.com/page/tooltip/"
|
|
11
|
+
},
|
|
12
|
+
"options": {
|
|
13
|
+
"label": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"variant": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"enum": ["neutral", "informative", "negative"],
|
|
19
|
+
"default": "neutral"
|
|
20
|
+
},
|
|
21
|
+
"hasIcon": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"description": "If the neutral variant, there is never an icon.",
|
|
24
|
+
"default": false
|
|
25
|
+
},
|
|
26
|
+
"maxWidth": {
|
|
27
|
+
"type": "number",
|
|
28
|
+
"default": 160,
|
|
29
|
+
"description": "units: pixels"
|
|
30
|
+
},
|
|
31
|
+
"placement": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"enum": ["top", "bottom", "left", "right"],
|
|
34
|
+
"default": "top"
|
|
35
|
+
},
|
|
36
|
+
"shouldFlip": {
|
|
37
|
+
"type": "boolean",
|
|
38
|
+
"default": false
|
|
39
|
+
},
|
|
40
|
+
"offset": {
|
|
41
|
+
"type": "number",
|
|
42
|
+
"default": 4,
|
|
43
|
+
"description": "units: pixels"
|
|
44
|
+
},
|
|
45
|
+
"containerPadding": {
|
|
46
|
+
"type": "number",
|
|
47
|
+
"default": 8,
|
|
48
|
+
"description": "units: pixels"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"lifecycle": {
|
|
52
|
+
"introduced": "1.0.0-draft"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
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/tray.json",
|
|
4
|
+
"specVersion": "1.0.0-draft",
|
|
5
|
+
"name": "tray",
|
|
6
|
+
"displayName": "Tray",
|
|
7
|
+
"description": "Trays are containers that display transient content such as menus, options, additional actions, and more. They only exist on mobile experiences and are used for exposing types of content that may be too overwhelming for popovers.",
|
|
8
|
+
"meta": {
|
|
9
|
+
"category": "containers",
|
|
10
|
+
"documentationUrl": "https://spectrum.adobe.com/page/tray/"
|
|
11
|
+
},
|
|
12
|
+
"options": {
|
|
13
|
+
"height": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"default": "auto"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"lifecycle": {
|
|
19
|
+
"introduced": "1.0.0-draft"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
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/tree-view.json",
|
|
4
|
+
"specVersion": "1.0.0-draft",
|
|
5
|
+
"name": "tree-view",
|
|
6
|
+
"displayName": "Tree view",
|
|
7
|
+
"description": "A tree view provides users with a way to navigate nested hierarchical information.",
|
|
8
|
+
"meta": {
|
|
9
|
+
"category": "navigation",
|
|
10
|
+
"documentationUrl": "https://spectrum.adobe.com/page/tree-view/"
|
|
11
|
+
},
|
|
12
|
+
"options": {
|
|
13
|
+
"size": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"enum": ["s", "m", "l", "xl"],
|
|
16
|
+
"default": "m"
|
|
17
|
+
},
|
|
18
|
+
"isDetached": {
|
|
19
|
+
"type": "boolean",
|
|
20
|
+
"default": false
|
|
21
|
+
},
|
|
22
|
+
"isEmphasized": {
|
|
23
|
+
"type": "boolean",
|
|
24
|
+
"default": false
|
|
25
|
+
},
|
|
26
|
+
"showDragIcon": {
|
|
27
|
+
"type": "boolean",
|
|
28
|
+
"default": false
|
|
29
|
+
},
|
|
30
|
+
"selectionMode": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"enum": ["single", "multiple"],
|
|
33
|
+
"default": "multiple"
|
|
34
|
+
},
|
|
35
|
+
"selectionStyle": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"enum": ["checkbox", "highlight"],
|
|
38
|
+
"default": "checkbox"
|
|
39
|
+
},
|
|
40
|
+
"selectionBehavior": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"enum": ["toggle", "replace"],
|
|
43
|
+
"default": "toggle"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"states": [
|
|
47
|
+
{
|
|
48
|
+
"name": "hover",
|
|
49
|
+
"trigger": "interaction"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "down",
|
|
53
|
+
"trigger": "interaction"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "keyboard-focus",
|
|
57
|
+
"trigger": "interaction"
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"lifecycle": {
|
|
61
|
+
"introduced": "1.0.0-draft"
|
|
62
|
+
}
|
|
63
|
+
}
|