@adobe/spectrum-design-data 3.3.0-beta.0 → 3.3.0-beta.2
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 +15 -54
- package/components/action-bar.json +9 -23
- package/components/action-button.json +39 -79
- package/components/action-group.json +18 -129
- package/components/alert-banner.json +8 -27
- package/components/alert-dialog.json +34 -48
- package/components/avatar-group.json +9 -28
- package/components/avatar.json +29 -92
- package/components/badge.json +56 -150
- package/components/breadcrumbs.json +26 -100
- package/components/button-group.json +19 -50
- package/components/button.json +61 -92
- package/components/calendar.json +8 -67
- package/components/cards.json +31 -46
- package/components/checkbox-group.json +16 -78
- package/components/checkbox.json +27 -90
- package/components/close-button.json +20 -62
- package/components/coach-indicator.json +14 -44
- package/components/coach-mark.json +8 -26
- package/components/color-area.json +20 -93
- package/components/color-handle.json +25 -38
- package/components/color-loupe.json +2 -6
- package/components/color-slider.json +26 -122
- package/components/color-wheel.json +17 -84
- package/components/combo-box.json +50 -182
- package/components/contextual-help.json +80 -119
- package/components/date-picker.json +24 -120
- package/components/divider.json +12 -25
- package/components/drop-zone.json +18 -30
- package/components/field-label.json +21 -62
- package/components/help-text.json +16 -53
- package/components/illustrated-message.json +21 -72
- package/components/in-line-alert.json +13 -53
- package/components/link.json +24 -56
- package/components/list-view.json +15 -73
- package/components/menu.json +45 -174
- package/components/meter.json +24 -65
- package/components/number-field.json +34 -168
- package/components/picker.json +42 -181
- package/components/popover.json +37 -113
- package/components/progress-bar.json +23 -95
- package/components/progress-circle.json +12 -42
- package/components/radio-button.json +14 -67
- package/components/radio-group.json +28 -125
- package/components/rating.json +9 -38
- package/components/search-field.json +34 -119
- package/components/segmented-control.json +21 -63
- package/components/select-box.json +29 -96
- package/components/side-navigation.json +28 -69
- package/components/slider.json +39 -148
- package/components/standard-dialog.json +16 -88
- package/components/status-light.json +41 -123
- package/components/steplist.json +5 -24
- package/components/swatch-group.json +19 -55
- package/components/swatch.json +24 -79
- package/components/switch.json +31 -72
- package/components/table.json +26 -73
- package/components/tabs.json +22 -39
- package/components/tag-field.json +14 -60
- package/components/tag-group.json +16 -49
- package/components/tag.json +21 -71
- package/components/takeover-dialog.json +10 -61
- package/components/text-area.json +49 -198
- package/components/text-field.json +42 -163
- package/components/thumbnail.json +22 -63
- package/components/toast.json +29 -50
- package/components/tooltip.json +27 -74
- package/components/tree-view.json +45 -140
- package/guidelines/app-frame-overview.json +18 -10
- package/guidelines/applying-the-type-system.json +14 -10
- package/guidelines/attention-hierarchy.json +3 -3
- package/guidelines/background-layers.json +41 -5
- package/guidelines/bi-directionality.json +8 -8
- package/guidelines/border-width.json +17 -1
- package/guidelines/brand.json +6 -6
- package/guidelines/colors.json +24 -12
- package/guidelines/component-spacing.json +14 -2
- package/guidelines/contact-us.json +1 -1
- package/guidelines/content-area-browsing-context.json +11 -11
- package/guidelines/content-design-grammar-and-mechanics.json +241 -0
- package/guidelines/content-design-voice-and-tone.json +37 -0
- package/guidelines/content-grammar-and-mechanics.json +252 -0
- package/guidelines/content-language-and-inclusivity-writing-about-people.json +103 -0
- package/guidelines/content-language-and-inclusivity-writing-with-visuals.json +70 -0
- package/guidelines/content-voice-and-tone.json +47 -0
- package/guidelines/creating-bluelines-browsing-context.json +9 -9
- package/guidelines/design-tokens.json +50 -14
- package/guidelines/drop-shadow.json +13 -1
- package/guidelines/grays.json +5 -5
- package/guidelines/header-browsing-context.json +7 -4
- package/guidelines/icon-fundamentals.json +4 -4
- package/guidelines/illustration.json +21 -25
- package/guidelines/in-product-word-list.json +1 -1
- package/guidelines/inclusive-design.json +14 -6
- package/guidelines/inclusive-ux-writing.json +1 -1
- package/guidelines/internationalization.json +13 -13
- package/guidelines/language-and-inclusivity-writing-about-people.json +85 -0
- package/guidelines/language-and-inclusivity-writing-with-visuals.json +61 -0
- package/guidelines/layout-and-structure-containers.json +7 -7
- package/guidelines/layout-and-structure-spacing-overview.json +66 -0
- package/guidelines/layout-spacing.json +4 -4
- package/guidelines/manifest.json +126 -38
- package/guidelines/motion.json +5 -5
- package/guidelines/object-styles-overview.json +2 -2
- package/guidelines/principles.json +7 -8
- package/guidelines/rounding.json +15 -3
- package/guidelines/side-navigation-browsing-context.json +16 -13
- package/guidelines/spacing-overview.json +7 -7
- package/guidelines/states.json +4 -4
- package/guidelines/support.json +113 -0
- package/guidelines/typography-overview.json +7 -3
- package/guidelines/typography-system.json +56 -16
- package/guidelines/using-icons.json +14 -14
- package/guidelines/visual-language-containers.json +7 -7
- package/guidelines/whats-new.json +32 -0
- package/guidelines/writing-for-errors.json +21 -21
- package/guidelines/writing-for-onboarding.json +17 -17
- package/guidelines/writing-for-readability.json +4 -4
- package/package.json +1 -1
|
@@ -72,41 +72,21 @@
|
|
|
72
72
|
"type": "string",
|
|
73
73
|
"default": "m",
|
|
74
74
|
"values": [
|
|
75
|
-
{
|
|
76
|
-
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"value": "m"
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
"value": "l"
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
"value": "xl"
|
|
86
|
-
}
|
|
75
|
+
{ "value": "s" },
|
|
76
|
+
{ "value": "m" },
|
|
77
|
+
{ "value": "l" },
|
|
78
|
+
{ "value": "xl" }
|
|
87
79
|
]
|
|
88
80
|
},
|
|
89
|
-
"isQuiet": {
|
|
90
|
-
|
|
91
|
-
"default": false
|
|
92
|
-
},
|
|
93
|
-
"isDisabled": {
|
|
94
|
-
"type": "boolean",
|
|
95
|
-
"default": false
|
|
96
|
-
},
|
|
81
|
+
"isQuiet": { "type": "boolean", "default": false },
|
|
82
|
+
"isDisabled": { "type": "boolean", "default": false },
|
|
97
83
|
"density": {
|
|
98
84
|
"type": "string",
|
|
99
85
|
"default": "regular",
|
|
100
86
|
"values": [
|
|
101
|
-
{
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
{
|
|
105
|
-
"value": "regular"
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
"value": "spacious"
|
|
109
|
-
}
|
|
87
|
+
{ "value": "compact" },
|
|
88
|
+
{ "value": "regular" },
|
|
89
|
+
{ "value": "spacious" }
|
|
110
90
|
]
|
|
111
91
|
},
|
|
112
92
|
"items": {
|
|
@@ -149,37 +129,18 @@
|
|
|
149
129
|
}
|
|
150
130
|
},
|
|
151
131
|
"states": [
|
|
152
|
-
{
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
"name": "down",
|
|
158
|
-
"trigger": "interaction"
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
"name": "keyboard-focus",
|
|
162
|
-
"trigger": "interaction"
|
|
163
|
-
}
|
|
132
|
+
{ "name": "hover", "trigger": "interaction" },
|
|
133
|
+
{ "name": "down", "trigger": "interaction" },
|
|
134
|
+
{ "name": "keyboard-focus", "trigger": "interaction" }
|
|
164
135
|
],
|
|
165
|
-
"lifecycle": {
|
|
166
|
-
"introduced": "1.0.0-draft"
|
|
167
|
-
},
|
|
136
|
+
"lifecycle": { "introduced": "1.0.0-draft" },
|
|
168
137
|
"accessibility": {
|
|
169
138
|
"intents": ["expand"],
|
|
170
139
|
"focusable": true,
|
|
171
140
|
"keyboardIntents": ["activate", "expand", "collapse"],
|
|
172
141
|
"wcag": [
|
|
173
|
-
{
|
|
174
|
-
|
|
175
|
-
"level": "A",
|
|
176
|
-
"title": "Keyboard"
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
"criterion": "4.1.2",
|
|
180
|
-
"level": "A",
|
|
181
|
-
"title": "Name, Role, Value"
|
|
182
|
-
}
|
|
142
|
+
{ "criterion": "2.1.1", "level": "A", "title": "Keyboard" },
|
|
143
|
+
{ "criterion": "4.1.2", "level": "A", "title": "Name, Role, Value" }
|
|
183
144
|
]
|
|
184
145
|
}
|
|
185
146
|
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"type": "guideline",
|
|
19
|
-
"content": "Action bar in Dark theme.\n\nAction bar is split into a separate component for each color theme — light and dark. Since each is set to either light or dark mode in Figma, they do not switch automatically like the rest of the UI when placed in frames that are set to
|
|
19
|
+
"content": "Action bar in Dark theme.\n\nAction bar is split into a separate component for each color theme — light and dark. Since each is set to either light or dark mode in Figma, they do not switch automatically like the rest of the UI when placed in frames that are set to “auto” mode. In dark theme, the action bar also includes a 1px inner border to help it stand out against the background colors."
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"type": "guideline",
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"type": "guideline",
|
|
31
|
-
"content": "Placement.\n\nWhen a user selects items with relevant actions, an action bar appears at the bottom of the viewport. The bar should have margins of
|
|
31
|
+
"content": "Placement.\n\nWhen a user selects items with relevant actions, an action bar appears at the bottom of the viewport. The bar should have margins of spacing-200 (12 pixels on desktop scale) on the sides and bottom."
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
"type": "guideline",
|
|
35
|
-
"content": "Safe zone.\n\nInclude a safe zone of at least
|
|
35
|
+
"content": "Safe zone.\n\nInclude a safe zone of at least spacing-400 (24 pixels on desktop scale) between the item counter and the action group."
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
38
|
"type": "guideline",
|
|
@@ -48,17 +48,11 @@
|
|
|
48
48
|
"content": "Allow scrolling to view underlying content.\n\nAction bars appear on top of content. Allow space for a user to still be able to view the content underneath, especially if they're taking actions on a table or a list of items and need to be able to scroll."
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
|
-
"type": "
|
|
52
|
-
"content": "Don
|
|
53
|
-
"dont": "Instead of quick actions, use an action bar for both single and bulk selection patterns. An action bar is useful for when a user needs to perform actions on either a single or multiple items at the same time. It can be used on either a grid view or a table view.\n\nDon't use quick actions — a deprecated component — because it presents conflicting nested actions (for example, a whole asset card could open a detailed view). This makes targeting specific actions very difficult, especially on smaller screens or with the keyboard."
|
|
51
|
+
"type": "guideline",
|
|
52
|
+
"content": "Don’t use quick actions.\n\nInstead of quick actions, use an action bar for both single and bulk selection patterns. An action bar is useful for when a user needs to perform actions on either a single or multiple items at the same time. It can be used on either a grid view or a table view. Don’t use quick actions — a deprecated component — because it presents conflicting nested actions (for example, a whole asset card could open a detailed view). This makes targeting specific actions very difficult, especially on smaller screens or with the keyboard."
|
|
54
53
|
}
|
|
55
54
|
],
|
|
56
|
-
"options": {
|
|
57
|
-
"isEmphasized": {
|
|
58
|
-
"type": "boolean",
|
|
59
|
-
"default": false
|
|
60
|
-
}
|
|
61
|
-
},
|
|
55
|
+
"options": { "isEmphasized": { "type": "boolean", "default": false } },
|
|
62
56
|
"anatomy": [
|
|
63
57
|
{
|
|
64
58
|
"name": "action-group-area",
|
|
@@ -68,22 +62,14 @@
|
|
|
68
62
|
"name": "item-counter",
|
|
69
63
|
"description": "Badge showing a count of items or actions."
|
|
70
64
|
},
|
|
71
|
-
{
|
|
72
|
-
"name": "counter"
|
|
73
|
-
}
|
|
65
|
+
{ "name": "counter" }
|
|
74
66
|
],
|
|
75
|
-
"lifecycle": {
|
|
76
|
-
"introduced": "1.0.0-draft"
|
|
77
|
-
},
|
|
67
|
+
"lifecycle": { "introduced": "1.0.0-draft" },
|
|
78
68
|
"accessibility": {
|
|
79
69
|
"intents": ["trigger"],
|
|
80
70
|
"focusable": false,
|
|
81
71
|
"wcag": [
|
|
82
|
-
{
|
|
83
|
-
"criterion": "4.1.2",
|
|
84
|
-
"level": "A",
|
|
85
|
-
"title": "Name, Role, Value"
|
|
86
|
-
}
|
|
72
|
+
{ "criterion": "4.1.2", "level": "A", "title": "Name, Role, Value" }
|
|
87
73
|
]
|
|
88
74
|
}
|
|
89
75
|
}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"documentBlocks": [
|
|
13
13
|
{
|
|
14
14
|
"type": "purpose",
|
|
15
|
-
"content": "Action buttons perform
|
|
15
|
+
"content": "Action buttons allow users to perform an action or mark a selection. They're used for similar, task-based options within a workflow, and are ideal for interfaces where buttons aren't meant to draw a lot of attention."
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"type": "guideline",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"type": "guideline",
|
|
23
|
-
"content": "Keyboard focus.\n\nAn action button can be navigated using a keyboard. The keyboard focus state takes the button
|
|
23
|
+
"content": "Keyboard focus.\n\nAn action button can be navigated using a keyboard. The keyboard focus state takes the button’s visual hover state and adds a blue ring to the button in focus."
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"type": "guideline",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"type": "guideline",
|
|
31
|
-
"content": "Isolated action buttons.\n\nIf you have an icon-only or text-only isolated action button, use the standard style to make sure it
|
|
31
|
+
"content": "Isolated action buttons.\n\nIf you have an icon-only or text-only isolated action button, use the standard style to make sure it’s more easily identifiable as a button."
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
"type": "guideline",
|
|
@@ -44,17 +44,28 @@
|
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
"type": "guideline",
|
|
47
|
-
"content": "Selected state text color.\n\nThe text color on the selected state of the over-background variant can be customized to match the background it
|
|
47
|
+
"content": "Selected state text color.\n\nThe text color on the selected state of the over-background variant can be customized to match the background it’s on. Use the background color for selected text when the action button is on a solid color, and is dark enough to meet a 4.5:1 contrast ratio with a white background (or black background, for the static black variant). Use black text when the button is on top of an image, or if the background is too low-contrast to meet the 4.5:1 contrast ratio."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"type": "guideline",
|
|
51
|
+
"content": "RTL.\n\nFor RTL (right-to-left) languages, the layout of the action button is mirrored. The icon is placed on the right side of the text and the hold icon is placed on the left side of the icon."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"type": "guideline",
|
|
55
|
+
"content": "Keyboard interactions.\n\nWhen an action button does not feature a hold icon: Key Interaction Space or EnterExecutes the action. The focus remains on the button except if the button opens or closes the current container. In this case, the focus moves to the target or back to the caller.TabMoves focus into the action button component and places focus on the selected action item.Shift + TabReturns focus to the previous action within the action button component. When an action button features a hold icon: Key Interaction EnterExecutes the action. The focus remains on the button except if the button opens or closes the current container. In this case, the focus moves to the target or back to the caller.SpaceOpens the popover menu.Alt + Down ArrowOpens the popover menu.TabMoves focus into the action button component and places focus on the selected action item.Shift + TabReturns focus to the previous action within the action button component."
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"type": "guideline",
|
|
59
|
+
"content": "Cursor guidelines.\n\nCursor Usage PointerUse the pointer cursor for all interactive components in every state."
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"type": "guideline",
|
|
63
|
+
"content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 ANon‑text elements—such as icons used in action buttons—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function.Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAAAction buttons should be understandable by assistive technologies like screen readers. This means the proper semantic HTML or ARIA role should be utilized.Text contrast 1.4.3 AALarge text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement.Non-text contrast 1.4.11 AAThe visual presentation of icons and various states have a contrast ratio of at least 3:1.Text spacing 1.4.12 AALine height of text is at least 1.5x the font size if text is wrapped inside an action button. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAAAll functionality of the component is operable through a keyboard without specific timing for keystrokes.Keyboard traps 2.1.2 AFocus can be moved away from the component using only a keyboard.Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAAThere is no flashing content or unnecessary motion or animation in this component.Focus order 2.4.3 ANavigation sequences receive focus in an order that preserves meaning and operability.Focus visible 2.4.7 AAKeyboard states use an indicator that is visible with at least 3:1 contrast."
|
|
48
64
|
}
|
|
49
65
|
],
|
|
50
66
|
"options": {
|
|
51
|
-
"label": {
|
|
52
|
-
|
|
53
|
-
},
|
|
54
|
-
"hideLabel": {
|
|
55
|
-
"type": "boolean",
|
|
56
|
-
"default": false
|
|
57
|
-
},
|
|
67
|
+
"label": { "type": "string" },
|
|
68
|
+
"hideLabel": { "type": "boolean", "default": false },
|
|
58
69
|
"icon": {
|
|
59
70
|
"$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/workflow-icon.json",
|
|
60
71
|
"description": "Icon must be present if the label is not defined."
|
|
@@ -63,92 +74,41 @@
|
|
|
63
74
|
"type": "string",
|
|
64
75
|
"default": "m",
|
|
65
76
|
"values": [
|
|
66
|
-
{
|
|
67
|
-
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"value": "m"
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"value": "l"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"value": "xl"
|
|
80
|
-
}
|
|
77
|
+
{ "value": "xs" },
|
|
78
|
+
{ "value": "s" },
|
|
79
|
+
{ "value": "m" },
|
|
80
|
+
{ "value": "l" },
|
|
81
|
+
{ "value": "xl" }
|
|
81
82
|
]
|
|
82
83
|
},
|
|
83
|
-
"isQuiet": {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
},
|
|
87
|
-
"isSelected": {
|
|
88
|
-
"type": "boolean",
|
|
89
|
-
"default": false
|
|
90
|
-
},
|
|
91
|
-
"isEmphasized": {
|
|
92
|
-
"type": "boolean",
|
|
93
|
-
"default": false
|
|
94
|
-
},
|
|
84
|
+
"isQuiet": { "type": "boolean", "default": false },
|
|
85
|
+
"isSelected": { "type": "boolean", "default": false },
|
|
86
|
+
"isEmphasized": { "type": "boolean", "default": false },
|
|
95
87
|
"staticColor": {
|
|
96
88
|
"type": "string",
|
|
97
89
|
"description": "Static color must not be set for the default version of this component.",
|
|
98
|
-
"values": [
|
|
99
|
-
{
|
|
100
|
-
"value": "white"
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"value": "black"
|
|
104
|
-
}
|
|
105
|
-
]
|
|
90
|
+
"values": [{ "value": "white" }, { "value": "black" }]
|
|
106
91
|
},
|
|
107
92
|
"selectedTextColor": {
|
|
108
93
|
"$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/hex-color.json"
|
|
109
94
|
},
|
|
110
|
-
"hasHoldIcon": {
|
|
111
|
-
|
|
112
|
-
"default": false
|
|
113
|
-
},
|
|
114
|
-
"isDisabled": {
|
|
115
|
-
"type": "boolean",
|
|
116
|
-
"default": false
|
|
117
|
-
}
|
|
95
|
+
"hasHoldIcon": { "type": "boolean", "default": false },
|
|
96
|
+
"isDisabled": { "type": "boolean", "default": false }
|
|
118
97
|
},
|
|
119
98
|
"states": [
|
|
120
|
-
{
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
"name": "down",
|
|
126
|
-
"trigger": "interaction"
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
"name": "keyboard-focus",
|
|
130
|
-
"trigger": "interaction"
|
|
131
|
-
}
|
|
99
|
+
{ "name": "hover", "trigger": "interaction" },
|
|
100
|
+
{ "name": "down", "trigger": "interaction" },
|
|
101
|
+
{ "name": "keyboard-focus", "trigger": "interaction" }
|
|
132
102
|
],
|
|
133
|
-
"lifecycle": {
|
|
134
|
-
"introduced": "1.0.0-draft"
|
|
135
|
-
},
|
|
103
|
+
"lifecycle": { "introduced": "1.0.0-draft" },
|
|
136
104
|
"accessibility": {
|
|
137
105
|
"role": "button",
|
|
138
106
|
"intents": ["trigger"],
|
|
139
107
|
"focusable": true,
|
|
140
108
|
"keyboardIntents": ["activate"],
|
|
141
109
|
"wcag": [
|
|
142
|
-
{
|
|
143
|
-
|
|
144
|
-
"level": "A",
|
|
145
|
-
"title": "Keyboard"
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
"criterion": "4.1.2",
|
|
149
|
-
"level": "A",
|
|
150
|
-
"title": "Name, Role, Value"
|
|
151
|
-
}
|
|
110
|
+
{ "criterion": "2.1.1", "level": "A", "title": "Keyboard" },
|
|
111
|
+
{ "criterion": "4.1.2", "level": "A", "title": "Name, Role, Value" }
|
|
152
112
|
]
|
|
153
113
|
}
|
|
154
114
|
}
|
|
@@ -16,140 +16,47 @@
|
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"type": "guideline",
|
|
19
|
-
"content": "
|
|
19
|
+
"content": "Use an Action menu to show additional actions.\n\nWhen there are more actions than the action group has horizontal space for, overflowMode collapse will use an Action menu to contain additional actions. This is used in the components like action bar or panels to show an array of actions to select from when horizontal space is limited."
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"type": "guideline",
|
|
23
|
-
"content": "When
|
|
23
|
+
"content": "When to use Action group vs. Segmented control.\n\nWhen multiple items can be selected at a time use an action group when taking actions or making choices from a list of options. Action group is the preferred competent to use when those actions are simple (1-2 words or icon only). If you are switching views or navigating to different content, a segmented control is the preferred component."
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"type": "guideline",
|
|
27
|
-
"content": "
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"type": "guideline",
|
|
31
|
-
"content": "By default, selection is not enabled in an action group. This is used for action groups that offer direct actions, rather than toggling."
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"type": "guideline",
|
|
35
|
-
"content": "Selection can be enabled for an action group to allow for toggling. This can be used to disclose parts of an interface (for example, showing or hiding panels) or to switch between views (for example, grid or list views)."
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"type": "guideline",
|
|
39
|
-
"content": "Like action buttons, action groups are not emphasized by default. This is optimal for when the action group is not the core part of an interface, such as in application panels, where all components are monochrome in order to direct focus to the content."
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"type": "guideline",
|
|
43
|
-
"content": "The emphasized action group has a blue background for its selected state in order to provide a visual prominence that meets the accessible color contrast ratio. This is optimal for when the selection should call attention, such as within a tool bar."
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
"type": "guideline",
|
|
47
|
-
"content": "By default, an action group uses not-quiet action buttons. This style works best in a dense array of controls where the background helps to separate action buttons from the surrounding container, or to give visibility to isolated buttons."
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"type": "guideline",
|
|
51
|
-
"content": "Alternatively, quiet action groups can have no visible background until they’re interacted with. This style works best when a clear layout (vertical stack, table, grid) makes it easy to parse the buttons. Too many quiet components in a small space can be hard to read."
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"type": "guideline",
|
|
55
|
-
"content": "An action group can become justified. By default, it is not justified since the action button size depends on the label and/or icon inside each button. When an action group is justified, it takes up the entire available container width, divided equally for each action button that is inside the group."
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"type": "guideline",
|
|
59
|
-
"content": "Action groups come in two densities: regular and compact. The compact density retains the same font and icon sizes, but has tighter spacing. The action buttons also become connected for non-quiet action groups."
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"type": "guideline",
|
|
63
|
-
"content": "Action groups come in four different sizes: small, medium, large, and extra-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."
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"type": "guideline",
|
|
67
|
-
"content": "An action group can be either horizontal or vertical in its orientation. By default, an action group is horizontal. The vertical option should be reserved for when horizontal space is limited."
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
"type": "guideline",
|
|
71
|
-
"content": "When there are more actions than the action group has horizontal space for, overflowMode collapse will use an Action menu to contain additional actions. This is used in the components like action bar or panels to show an array of actions to select from when horizontal space is limited."
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
"type": "guideline",
|
|
75
|
-
"content": "When multiple items can be selected at a time use an action group when taking actions or making choices from a list of options. Action group is the preferred competent to use when those actions are simple (1-2 words or icon only). If you are switching views or navigating to different content, a segmented control is the preferred component."
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"type": "guideline",
|
|
79
|
-
"content": "Use the fully justified variant when using the vertical compact action group (both the quiet and not quiet options). This will ensure the buttons have the same width."
|
|
27
|
+
"content": "Fully justified action groups.\n\nUse the fully justified variant when using the vertical compact action group (both the quiet and not quiet options). This will ensure the buttons have the same width."
|
|
80
28
|
}
|
|
81
29
|
],
|
|
82
30
|
"options": {
|
|
83
31
|
"orientation": {
|
|
84
32
|
"type": "string",
|
|
85
33
|
"default": "horizontal",
|
|
86
|
-
"values": [
|
|
87
|
-
{
|
|
88
|
-
"value": "horizontal"
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"value": "vertical"
|
|
92
|
-
}
|
|
93
|
-
]
|
|
34
|
+
"values": [{ "value": "horizontal" }, { "value": "vertical" }]
|
|
94
35
|
},
|
|
95
36
|
"size": {
|
|
96
37
|
"type": "string",
|
|
97
38
|
"default": "m",
|
|
98
39
|
"values": [
|
|
99
|
-
{
|
|
100
|
-
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"value": "m"
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
"value": "l"
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
"value": "xl"
|
|
110
|
-
}
|
|
40
|
+
{ "value": "s" },
|
|
41
|
+
{ "value": "m" },
|
|
42
|
+
{ "value": "l" },
|
|
43
|
+
{ "value": "xl" }
|
|
111
44
|
]
|
|
112
45
|
},
|
|
113
46
|
"density": {
|
|
114
47
|
"type": "string",
|
|
115
48
|
"default": "regular",
|
|
116
|
-
"values": [
|
|
117
|
-
{
|
|
118
|
-
"value": "regular"
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
"value": "compact"
|
|
122
|
-
}
|
|
123
|
-
]
|
|
124
|
-
},
|
|
125
|
-
"isJustified": {
|
|
126
|
-
"type": "boolean",
|
|
127
|
-
"default": false
|
|
128
|
-
},
|
|
129
|
-
"isQuiet": {
|
|
130
|
-
"type": "boolean",
|
|
131
|
-
"default": false
|
|
132
|
-
},
|
|
133
|
-
"isEmphasized": {
|
|
134
|
-
"type": "boolean",
|
|
135
|
-
"default": false
|
|
136
|
-
},
|
|
137
|
-
"enableSelection": {
|
|
138
|
-
"type": "boolean",
|
|
139
|
-
"default": false
|
|
49
|
+
"values": [{ "value": "regular" }, { "value": "compact" }]
|
|
140
50
|
},
|
|
51
|
+
"isJustified": { "type": "boolean", "default": false },
|
|
52
|
+
"isQuiet": { "type": "boolean", "default": false },
|
|
53
|
+
"isEmphasized": { "type": "boolean", "default": false },
|
|
54
|
+
"enableSelection": { "type": "boolean", "default": false },
|
|
141
55
|
"selectionMode": {
|
|
142
56
|
"type": "string",
|
|
143
57
|
"default": "single",
|
|
144
58
|
"description": "Only applicable if selection is enabled",
|
|
145
|
-
"values": [
|
|
146
|
-
{
|
|
147
|
-
"value": "single"
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
"value": "multiple"
|
|
151
|
-
}
|
|
152
|
-
]
|
|
59
|
+
"values": [{ "value": "single" }, { "value": "multiple" }]
|
|
153
60
|
},
|
|
154
61
|
"allowsEmptySelection": {
|
|
155
62
|
"type": "boolean",
|
|
@@ -159,32 +66,14 @@
|
|
|
159
66
|
"overflowMode": {
|
|
160
67
|
"type": "string",
|
|
161
68
|
"default": "wrap",
|
|
162
|
-
"values": [
|
|
163
|
-
{
|
|
164
|
-
"value": "wrap"
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
"value": "collapse"
|
|
168
|
-
}
|
|
169
|
-
]
|
|
69
|
+
"values": [{ "value": "wrap" }, { "value": "collapse" }]
|
|
170
70
|
},
|
|
171
|
-
"isDisabled": {
|
|
172
|
-
"type": "boolean",
|
|
173
|
-
"default": false
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
"lifecycle": {
|
|
177
|
-
"introduced": "1.0.0-draft"
|
|
71
|
+
"isDisabled": { "type": "boolean", "default": false }
|
|
178
72
|
},
|
|
73
|
+
"lifecycle": { "introduced": "1.0.0-draft" },
|
|
179
74
|
"accessibility": {
|
|
180
75
|
"intents": ["trigger"],
|
|
181
76
|
"focusable": false,
|
|
182
|
-
"wcag": [
|
|
183
|
-
{
|
|
184
|
-
"criterion": "2.1.1",
|
|
185
|
-
"level": "A",
|
|
186
|
-
"title": "Keyboard"
|
|
187
|
-
}
|
|
188
|
-
]
|
|
77
|
+
"wcag": [{ "criterion": "2.1.1", "level": "A", "title": "Keyboard" }]
|
|
189
78
|
}
|
|
190
79
|
}
|
|
@@ -96,35 +96,22 @@
|
|
|
96
96
|
}
|
|
97
97
|
],
|
|
98
98
|
"options": {
|
|
99
|
-
"text": {
|
|
100
|
-
"type": "string"
|
|
101
|
-
},
|
|
99
|
+
"text": { "type": "string" },
|
|
102
100
|
"variant": {
|
|
103
101
|
"type": "string",
|
|
104
102
|
"default": "neutral",
|
|
105
103
|
"values": [
|
|
106
|
-
{
|
|
107
|
-
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
"value": "informative"
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
"value": "negative"
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"value": "accent"
|
|
117
|
-
}
|
|
104
|
+
{ "value": "neutral" },
|
|
105
|
+
{ "value": "informative" },
|
|
106
|
+
{ "value": "negative" },
|
|
107
|
+
{ "value": "accent" }
|
|
118
108
|
]
|
|
119
109
|
},
|
|
120
110
|
"actionLabel": {
|
|
121
111
|
"type": "string",
|
|
122
112
|
"description": "If undefined, this button does not appear."
|
|
123
113
|
},
|
|
124
|
-
"isDismissible": {
|
|
125
|
-
"type": "boolean",
|
|
126
|
-
"default": false
|
|
127
|
-
}
|
|
114
|
+
"isDismissible": { "type": "boolean", "default": false }
|
|
128
115
|
},
|
|
129
116
|
"anatomy": [
|
|
130
117
|
{
|
|
@@ -132,17 +119,11 @@
|
|
|
132
119
|
"description": "Icon indicating the alert's severity."
|
|
133
120
|
}
|
|
134
121
|
],
|
|
135
|
-
"lifecycle": {
|
|
136
|
-
"introduced": "1.0.0-draft"
|
|
137
|
-
},
|
|
122
|
+
"lifecycle": { "introduced": "1.0.0-draft" },
|
|
138
123
|
"accessibility": {
|
|
139
124
|
"focusable": false,
|
|
140
125
|
"wcag": [
|
|
141
|
-
{
|
|
142
|
-
"criterion": "4.1.3",
|
|
143
|
-
"level": "AA",
|
|
144
|
-
"title": "Status Messages"
|
|
145
|
-
}
|
|
126
|
+
{ "criterion": "4.1.3", "level": "AA", "title": "Status Messages" }
|
|
146
127
|
]
|
|
147
128
|
}
|
|
148
129
|
}
|