@adobe/spectrum-design-data 3.3.0-beta.1 → 3.3.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/components/accordion.json +67 -15
- package/components/action-bar.json +30 -9
- package/components/action-button.json +92 -39
- package/components/action-group.json +137 -18
- package/components/alert-banner.json +27 -8
- package/components/alert-dialog.json +55 -34
- package/components/avatar-group.json +35 -9
- package/components/avatar.json +105 -29
- package/components/badge.json +163 -56
- package/components/breadcrumbs.json +107 -26
- package/components/button-group.json +63 -19
- package/components/button.json +105 -61
- package/components/calendar.json +74 -8
- package/components/card.json +13 -0
- package/components/cards.json +46 -31
- package/components/checkbox-group.json +85 -16
- package/components/checkbox.json +97 -27
- package/components/close-button.json +75 -20
- package/components/coach-indicator.json +44 -14
- package/components/coach-mark.json +26 -8
- package/components/color-area.json +100 -20
- package/components/color-handle.json +46 -25
- package/components/color-loupe.json +14 -2
- package/components/color-slider.json +129 -26
- package/components/color-wheel.json +91 -17
- package/components/combo-box.json +189 -50
- package/components/contextual-help.json +126 -80
- package/components/date-field.json +7 -0
- package/components/date-picker.json +127 -24
- package/components/divider.json +38 -12
- package/components/drop-zone.json +37 -18
- package/components/field-label.json +62 -21
- package/components/heading.json +7 -0
- package/components/help-text.json +53 -16
- package/components/illustrated-message.json +85 -21
- package/components/in-line-alert.json +53 -13
- package/components/link.json +63 -24
- package/components/list-view.json +80 -15
- package/components/menu.json +181 -45
- package/components/meter.json +78 -24
- package/components/number-field.json +175 -34
- package/components/picker.json +188 -42
- package/components/popover.json +126 -37
- package/components/progress-bar.json +108 -23
- package/components/progress-circle.json +55 -12
- package/components/radio-button.json +67 -14
- package/components/radio-group.json +132 -28
- package/components/rating.json +38 -9
- package/components/search-field.json +126 -34
- package/components/segmented-control.json +70 -21
- package/components/select-box.json +103 -29
- package/components/side-navigation.json +69 -28
- package/components/slider.json +155 -39
- package/components/standard-dialog.json +88 -16
- package/components/status-light.json +136 -41
- package/components/steplist.json +24 -5
- package/components/swatch-group.json +55 -19
- package/components/swatch.json +79 -24
- package/components/switch.json +79 -31
- package/components/table.json +73 -26
- package/components/tabs.json +52 -22
- package/components/tag-field.json +60 -14
- package/components/tag-group.json +56 -16
- package/components/tag.json +78 -21
- package/components/takeover-dialog.json +61 -10
- package/components/text-area.json +205 -49
- package/components/text-field.json +170 -42
- package/components/thumbnail.json +63 -22
- package/components/time-field.json +7 -0
- package/components/toast.json +50 -29
- package/components/tooltip.json +87 -27
- package/components/tree-view.json +147 -45
- package/components/user-card.json +7 -0
- package/guidelines/app-frame-content-area.json +81 -0
- package/guidelines/app-frame-creating-bluelines.json +58 -0
- package/guidelines/app-frame-header.json +72 -0
- package/guidelines/app-frame-overview.json +50 -44
- package/guidelines/app-frame-side-navigation.json +138 -0
- package/guidelines/attention-hierarchy.json +21 -12
- package/guidelines/background-layers.json +10 -44
- package/guidelines/brand.json +10 -30
- package/guidelines/colors.json +17 -35
- package/guidelines/containers.json +62 -0
- package/guidelines/developer-overview.json +9 -25
- package/guidelines/faqs.json +9 -96
- package/guidelines/fonts.json +14 -29
- package/guidelines/grays.json +44 -17
- package/guidelines/icon-fundamentals.json +18 -7
- package/guidelines/illustrations.json +111 -0
- package/guidelines/introduction.json +2 -2
- package/guidelines/manifest.json +60 -252
- package/guidelines/motion.json +16 -17
- package/guidelines/object-styles.json +102 -0
- package/guidelines/principles.json +2 -2
- package/guidelines/resources.json +15 -21
- package/guidelines/spacing.json +25 -0
- package/guidelines/states.json +10 -15
- package/guidelines/typography-fundamentals.json +142 -0
- package/guidelines/using-icons.json +44 -33
- package/package.json +2 -2
- package/registry/platform-implementations.json +30 -0
- package/guidelines/ai-resource-guide.json +0 -50
- package/guidelines/applying-the-type-system.json +0 -63
- package/guidelines/bi-directionality.json +0 -57
- package/guidelines/border-width.json +0 -42
- package/guidelines/cognitive.json +0 -197
- package/guidelines/component-spacing.json +0 -49
- package/guidelines/contact-us.json +0 -67
- package/guidelines/content-area-browsing-context.json +0 -65
- package/guidelines/creating-bluelines-browsing-context.json +0 -91
- package/guidelines/design-tokens.json +0 -122
- package/guidelines/drop-shadow.json +0 -56
- package/guidelines/grammar-and-mechanics.json +0 -252
- package/guidelines/header-browsing-context.json +0 -37
- package/guidelines/illustration.json +0 -109
- package/guidelines/in-product-word-list.json +0 -29
- package/guidelines/inclusive-design.json +0 -93
- package/guidelines/inclusive-ux-writing.json +0 -30
- package/guidelines/internationalization.json +0 -87
- package/guidelines/layout-and-structure-containers.json +0 -47
- package/guidelines/layout-spacing.json +0 -39
- package/guidelines/object-styles-overview.json +0 -17
- package/guidelines/rounding.json +0 -61
- package/guidelines/side-navigation-browsing-context.json +0 -71
- package/guidelines/spacing-overview.json +0 -45
- package/guidelines/typography-overview.json +0 -39
- package/guidelines/typography-system.json +0 -168
- package/guidelines/visual-language-containers.json +0 -36
- package/guidelines/voice-and-tone.json +0 -47
- package/guidelines/writing-about-people.json +0 -103
- package/guidelines/writing-for-errors.json +0 -120
- package/guidelines/writing-for-onboarding.json +0 -119
- package/guidelines/writing-for-readability.json +0 -54
- package/guidelines/writing-with-visuals.json +0 -70
- package/registry/platform-extensions/web-components-states.json +0 -58
|
@@ -67,35 +67,81 @@
|
|
|
67
67
|
"size": {
|
|
68
68
|
"type": "string",
|
|
69
69
|
"default": "m",
|
|
70
|
-
"values": [
|
|
70
|
+
"values": [
|
|
71
|
+
{
|
|
72
|
+
"value": "s"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"value": "m"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"value": "l"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
71
81
|
},
|
|
72
82
|
"style": {
|
|
73
83
|
"type": "string",
|
|
74
84
|
"default": "keyword",
|
|
75
85
|
"values": [
|
|
76
|
-
{
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
{
|
|
86
|
+
{
|
|
87
|
+
"value": "keyword"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"value": "icon"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"value": "thumbnail"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"value": "avatar"
|
|
97
|
+
}
|
|
80
98
|
]
|
|
81
99
|
},
|
|
82
|
-
"isDisabled": {
|
|
83
|
-
|
|
100
|
+
"isDisabled": {
|
|
101
|
+
"type": "boolean",
|
|
102
|
+
"default": false
|
|
103
|
+
},
|
|
104
|
+
"hideLabel": {
|
|
105
|
+
"type": "boolean",
|
|
106
|
+
"default": false
|
|
107
|
+
}
|
|
84
108
|
},
|
|
85
109
|
"states": [
|
|
86
|
-
{
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
110
|
+
{
|
|
111
|
+
"name": "hover",
|
|
112
|
+
"trigger": "interaction"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "focus-+-hover",
|
|
116
|
+
"trigger": "prop"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "focus-+-not-hover",
|
|
120
|
+
"trigger": "prop"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "keyboard-focus",
|
|
124
|
+
"trigger": "interaction"
|
|
125
|
+
}
|
|
90
126
|
],
|
|
91
|
-
"lifecycle": {
|
|
127
|
+
"lifecycle": {
|
|
128
|
+
"introduced": "1.0.0-draft"
|
|
129
|
+
},
|
|
92
130
|
"accessibility": {
|
|
93
131
|
"intents": ["input", "select"],
|
|
94
132
|
"focusable": true,
|
|
95
133
|
"keyboardIntents": ["navigate-items", "activate"],
|
|
96
134
|
"wcag": [
|
|
97
|
-
{
|
|
98
|
-
|
|
135
|
+
{
|
|
136
|
+
"criterion": "1.3.1",
|
|
137
|
+
"level": "A",
|
|
138
|
+
"title": "Info and Relationships"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"criterion": "4.1.2",
|
|
142
|
+
"level": "A",
|
|
143
|
+
"title": "Name, Role, Value"
|
|
144
|
+
}
|
|
99
145
|
]
|
|
100
146
|
}
|
|
101
147
|
}
|
|
@@ -9,6 +9,13 @@
|
|
|
9
9
|
"category": "inputs",
|
|
10
10
|
"documentationUrl": "https://spectrum.adobe.com/page/tag-group/"
|
|
11
11
|
},
|
|
12
|
+
"implementations": [
|
|
13
|
+
{
|
|
14
|
+
"platform": "web",
|
|
15
|
+
"componentName": "TagGroup",
|
|
16
|
+
"package": "@react-spectrum/s2"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
12
19
|
"documentBlocks": [
|
|
13
20
|
{
|
|
14
21
|
"type": "purpose",
|
|
@@ -16,63 +23,96 @@
|
|
|
16
23
|
},
|
|
17
24
|
{
|
|
18
25
|
"type": "guideline",
|
|
19
|
-
"content": "Tag group
|
|
26
|
+
"content": "Tag groups organize multiple tags into a single visual group. They’re used to categorize content like keywords or names that describe an item or search query. Tags within the group can be added, removed, or styled to reflect different types of content."
|
|
20
27
|
},
|
|
21
28
|
{
|
|
22
29
|
"type": "guideline",
|
|
23
|
-
"content": "
|
|
30
|
+
"content": "Tag groups come in three different sizes: small, medium, and large. The medium size is the default and most frequently used option. Use the other sizes sparingly; they should be used to create a hierarchy of importance within the page."
|
|
24
31
|
},
|
|
25
32
|
{
|
|
26
33
|
"type": "guideline",
|
|
27
|
-
"content": "
|
|
34
|
+
"content": "Labels can be placed either on top or on the side of a group of tags. Top labels are the default and are recommended because they work better with long copy, localization, and responsive layouts. Side labels are most useful when vertical space is limited."
|
|
28
35
|
},
|
|
29
36
|
{
|
|
30
|
-
"type": "
|
|
31
|
-
"content": "
|
|
32
|
-
"dont": "In cases where users cannot interact with a large group of tags, consider hiding the group and its broader construct rather than disabling all the individual tags."
|
|
37
|
+
"type": "guideline",
|
|
38
|
+
"content": "The label of the tag group can be hidden if the context for the tags is sufficient without the title — for example, when the page title or section title applies to the group of tags."
|
|
33
39
|
},
|
|
34
40
|
{
|
|
35
41
|
"type": "guideline",
|
|
36
|
-
"content": "
|
|
42
|
+
"content": "Define an action label to include a link-style button to perform an action on the entire group of tags. This button always appears at the end of the tag group."
|
|
37
43
|
},
|
|
38
44
|
{
|
|
39
45
|
"type": "guideline",
|
|
40
|
-
"content": "
|
|
46
|
+
"content": "When horizontal space is limited in a tag group, the individual tags wrap to form another line."
|
|
41
47
|
},
|
|
42
48
|
{
|
|
43
49
|
"type": "guideline",
|
|
44
|
-
"content": "
|
|
50
|
+
"content": "If the order of tags within the group matters, the user must be able to click or use keyboard focus between tags to add more."
|
|
45
51
|
},
|
|
46
52
|
{
|
|
47
53
|
"type": "guideline",
|
|
48
|
-
"content": "
|
|
54
|
+
"content": "In some instances, it's possible to add an action next to a group of tags to provide a way to easily act on the entire group at once. Reveal the action only when more than one tag is displayed."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"type": "guideline",
|
|
58
|
+
"content": "In cases where users cannot interact with a large group of tags, consider hiding the group and its broader construct rather than disabling all the individual tags."
|
|
49
59
|
}
|
|
50
60
|
],
|
|
51
61
|
"options": {
|
|
52
62
|
"size": {
|
|
53
63
|
"type": "string",
|
|
54
64
|
"default": "m",
|
|
55
|
-
"values": [
|
|
65
|
+
"values": [
|
|
66
|
+
{
|
|
67
|
+
"value": "s"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"value": "m"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"value": "l"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
56
76
|
},
|
|
57
77
|
"labelPosition": {
|
|
58
78
|
"type": "string",
|
|
59
79
|
"default": "top",
|
|
60
|
-
"values": [
|
|
80
|
+
"values": [
|
|
81
|
+
{
|
|
82
|
+
"value": "top"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"value": "side"
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
"hideLabel": {
|
|
90
|
+
"type": "boolean",
|
|
91
|
+
"default": false
|
|
61
92
|
},
|
|
62
|
-
"hideLabel": { "type": "boolean", "default": false },
|
|
63
93
|
"actionLabel": {
|
|
64
94
|
"type": "string",
|
|
65
95
|
"description": "If undefined, this button does not appear."
|
|
66
96
|
}
|
|
67
97
|
},
|
|
68
|
-
"lifecycle": {
|
|
98
|
+
"lifecycle": {
|
|
99
|
+
"introduced": "1.0.0-draft"
|
|
100
|
+
},
|
|
69
101
|
"accessibility": {
|
|
70
102
|
"intents": ["select"],
|
|
71
103
|
"focusable": true,
|
|
72
104
|
"keyboardIntents": ["navigate-items", "activate"],
|
|
73
105
|
"wcag": [
|
|
74
|
-
{
|
|
75
|
-
|
|
106
|
+
{
|
|
107
|
+
"criterion": "1.3.1",
|
|
108
|
+
"level": "A",
|
|
109
|
+
"title": "Info and Relationships"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"criterion": "4.1.2",
|
|
113
|
+
"level": "A",
|
|
114
|
+
"title": "Name, Role, Value"
|
|
115
|
+
}
|
|
76
116
|
]
|
|
77
117
|
}
|
|
78
118
|
}
|
package/components/tag.json
CHANGED
|
@@ -9,6 +9,13 @@
|
|
|
9
9
|
"category": "navigation",
|
|
10
10
|
"documentationUrl": "https://spectrum.adobe.com/page/tag/"
|
|
11
11
|
},
|
|
12
|
+
"implementations": [
|
|
13
|
+
{
|
|
14
|
+
"platform": "web",
|
|
15
|
+
"componentName": "Tag",
|
|
16
|
+
"package": "@react-spectrum/s2"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
12
19
|
"documentBlocks": [
|
|
13
20
|
{
|
|
14
21
|
"type": "purpose",
|
|
@@ -16,58 +23,108 @@
|
|
|
16
23
|
},
|
|
17
24
|
{
|
|
18
25
|
"type": "guideline",
|
|
19
|
-
"content": "
|
|
26
|
+
"content": "Tags categorize content such as keywords or names. They’re often grouped to represent a search query or describe an item."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "guideline",
|
|
30
|
+
"content": "Tags should always include a label. These can represent search terms, filters, or keywords."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "guideline",
|
|
34
|
+
"content": "Tags have the option to include an avatar in addition to the label. These should be used to represent entities."
|
|
20
35
|
},
|
|
21
36
|
{
|
|
22
|
-
"type": "
|
|
23
|
-
"content": "
|
|
24
|
-
"dont": "A tag can either trigger navigation or filtering, or act as a dismissible chip. Combining both interactions disrupts focus order and accessibility states. Choose one behavior — navigation or dismissal — and apply it consistently."
|
|
37
|
+
"type": "guideline",
|
|
38
|
+
"content": "Tags have the option to be removable or not. Removable tags have a small close (“x”) button."
|
|
25
39
|
},
|
|
26
40
|
{
|
|
27
41
|
"type": "guideline",
|
|
28
|
-
"content": "
|
|
42
|
+
"content": "A tag can be marked as having an error to show that it has become invalid."
|
|
29
43
|
},
|
|
30
44
|
{
|
|
31
45
|
"type": "guideline",
|
|
32
|
-
"content": "
|
|
46
|
+
"content": "A tag in a disabled state shows that a tag exists, but is not available in that circumstance. This can be used to maintain layout continuity and communicate that a tag may become available later."
|
|
33
47
|
},
|
|
34
48
|
{
|
|
35
49
|
"type": "guideline",
|
|
36
|
-
"content": "
|
|
50
|
+
"content": "Tags have a read-only option for when content in the disabled state still needs to be shown. This allows for content to be copied, but not interacted with or changed."
|
|
37
51
|
},
|
|
38
52
|
{
|
|
39
53
|
"type": "guideline",
|
|
40
|
-
"content": "
|
|
54
|
+
"content": "When the tag text is too long for the available horizontal space or when a tag reaches its maximum width, it truncates. Hovering over the tag shows a tooltip with the full text."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"type": "guideline",
|
|
58
|
+
"content": "A tag can either trigger navigation or filtering, or act as a dismissible chip. Combining both interactions disrupts focus order and accessibility states. Choose one behavior — navigation or dismissal — and apply it consistently."
|
|
41
59
|
}
|
|
42
60
|
],
|
|
43
61
|
"options": {
|
|
44
|
-
"label": {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
62
|
+
"label": {
|
|
63
|
+
"type": "string"
|
|
64
|
+
},
|
|
65
|
+
"hasAvatar": {
|
|
66
|
+
"type": "boolean",
|
|
67
|
+
"default": false
|
|
68
|
+
},
|
|
69
|
+
"isRemovable": {
|
|
70
|
+
"type": "boolean",
|
|
71
|
+
"default": false
|
|
72
|
+
},
|
|
73
|
+
"isError": {
|
|
74
|
+
"type": "boolean",
|
|
75
|
+
"default": false
|
|
76
|
+
},
|
|
77
|
+
"isDisabled": {
|
|
78
|
+
"type": "boolean",
|
|
79
|
+
"default": false
|
|
80
|
+
},
|
|
81
|
+
"isReadOnly": {
|
|
82
|
+
"type": "boolean",
|
|
83
|
+
"default": false
|
|
84
|
+
}
|
|
50
85
|
},
|
|
51
86
|
"anatomy": [
|
|
52
87
|
{
|
|
53
88
|
"name": "clear-icon",
|
|
54
89
|
"description": "Icon affordance that removes the tag."
|
|
55
90
|
},
|
|
56
|
-
{
|
|
91
|
+
{
|
|
92
|
+
"name": "cross-icon",
|
|
93
|
+
"description": "Cross/X icon shown on the tag."
|
|
94
|
+
}
|
|
57
95
|
],
|
|
58
96
|
"states": [
|
|
59
|
-
{
|
|
60
|
-
|
|
61
|
-
|
|
97
|
+
{
|
|
98
|
+
"name": "hover",
|
|
99
|
+
"trigger": "interaction"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "down",
|
|
103
|
+
"trigger": "interaction"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "keyboard-focus",
|
|
107
|
+
"trigger": "interaction"
|
|
108
|
+
}
|
|
62
109
|
],
|
|
63
|
-
"lifecycle": {
|
|
110
|
+
"lifecycle": {
|
|
111
|
+
"introduced": "1.0.0-draft"
|
|
112
|
+
},
|
|
64
113
|
"accessibility": {
|
|
65
114
|
"intents": ["dismiss"],
|
|
66
115
|
"focusable": true,
|
|
67
116
|
"keyboardIntents": ["activate"],
|
|
68
117
|
"wcag": [
|
|
69
|
-
{
|
|
70
|
-
|
|
118
|
+
{
|
|
119
|
+
"criterion": "2.1.1",
|
|
120
|
+
"level": "A",
|
|
121
|
+
"title": "Keyboard"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"criterion": "4.1.2",
|
|
125
|
+
"level": "A",
|
|
126
|
+
"title": "Name, Role, Value"
|
|
127
|
+
}
|
|
71
128
|
]
|
|
72
129
|
}
|
|
73
130
|
}
|
|
@@ -16,26 +16,67 @@
|
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"type": "guideline",
|
|
19
|
-
"content": "
|
|
19
|
+
"content": "Takeover dialogs are full-screen modals used for complex or immersive workflows. They block access to the rest of the interface and are typically used when multiple steps or tools need focused attention. Use when the task requires the entire screen and shouldn’t be interrupted."
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"type": "guideline",
|
|
23
|
-
"content": "
|
|
23
|
+
"content": "The takeover dialog supports two slots—one in the header and one in the body—where other components can be inserted."
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"type": "guideline",
|
|
27
|
-
"content": "
|
|
27
|
+
"content": "Takeover dialogs support two layout variants: dialog and full-screen."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "guideline",
|
|
31
|
+
"content": "All takeover dialogs must include a title. The title appears at the top of the dialog and should briefly describe the expected outcome if the user proceeds with the primary action."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "guideline",
|
|
35
|
+
"content": "A takeover dialog must include at least one button. The primary action label refers to the rightmost button in the dialog footer for languages that read left to right. It should use a short, actionable phrase that clearly communicates the result of selecting the action—whether that means taking action, progressing through a workflow, or dismissing the dialog."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"type": "guideline",
|
|
39
|
+
"content": "Takeover dialogs can include up to three buttons if a secondary outline button label is defined. If no label is defined, the button won’t appear. The secondary outline button should use a short, actionable phrase that clearly communicates the result of selecting the action—typically describing the previous step or an alternative choice."
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"type": "guideline",
|
|
43
|
+
"content": "By default, a takeover dialog that includes a button to cancel or go back will be labeled “Cancel.”"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "guideline",
|
|
47
|
+
"content": "When the title is too long for the available horizontal space, it wraps to form another line."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"type": "guideline",
|
|
51
|
+
"content": "Takeover dialogs can optionally include additional elements in the header custom content area. When horizontal space is limited, the header custom content will be displayed underneath the title."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"type": "guideline",
|
|
55
|
+
"content": "Most dialog titles should communicate the primary action of the dialog. When possible, the button label should use the same language as the action mentioned in the title. For example, if the title is “Delete conversation,” the primary action button label should be “Delete.”"
|
|
28
56
|
}
|
|
29
57
|
],
|
|
30
58
|
"options": {
|
|
31
|
-
"title": {
|
|
32
|
-
|
|
59
|
+
"title": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"description": {
|
|
63
|
+
"type": "string"
|
|
64
|
+
},
|
|
33
65
|
"variant": {
|
|
34
66
|
"type": "string",
|
|
35
67
|
"default": "dialog",
|
|
36
|
-
"values": [
|
|
68
|
+
"values": [
|
|
69
|
+
{
|
|
70
|
+
"value": "dialog"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"value": "full screen"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"primaryActionLabel": {
|
|
78
|
+
"type": "string"
|
|
37
79
|
},
|
|
38
|
-
"primaryActionLabel": { "type": "string" },
|
|
39
80
|
"secondaryActionLabel": {
|
|
40
81
|
"type": "string",
|
|
41
82
|
"description": "If undefined, this button does not appear."
|
|
@@ -64,15 +105,25 @@
|
|
|
64
105
|
}
|
|
65
106
|
}
|
|
66
107
|
},
|
|
67
|
-
"lifecycle": {
|
|
108
|
+
"lifecycle": {
|
|
109
|
+
"introduced": "1.0.0-draft"
|
|
110
|
+
},
|
|
68
111
|
"accessibility": {
|
|
69
112
|
"role": "dialog",
|
|
70
113
|
"intents": ["dismiss"],
|
|
71
114
|
"focusable": false,
|
|
72
115
|
"keyboardIntents": ["dismiss"],
|
|
73
116
|
"wcag": [
|
|
74
|
-
{
|
|
75
|
-
|
|
117
|
+
{
|
|
118
|
+
"criterion": "2.4.3",
|
|
119
|
+
"level": "A",
|
|
120
|
+
"title": "Focus Order"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"criterion": "4.1.2",
|
|
124
|
+
"level": "A",
|
|
125
|
+
"title": "Name, Role, Value"
|
|
126
|
+
}
|
|
76
127
|
]
|
|
77
128
|
}
|
|
78
129
|
}
|