@adobe/spectrum-design-data 3.3.0 → 3.5.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 +32 -102
- package/components/action-bar.json +9 -23
- package/components/action-button.json +52 -92
- package/components/action-group.json +18 -129
- package/components/alert-banner.json +8 -27
- package/components/alert-dialog.json +45 -55
- package/components/avatar-group.json +20 -50
- package/components/avatar.json +44 -123
- package/components/badge.json +66 -160
- package/components/breadcrumbs.json +26 -100
- package/components/button-group.json +32 -63
- package/components/button.json +74 -105
- package/components/calendar.json +8 -67
- package/components/cards.json +31 -46
- package/components/checkbox-group.json +22 -84
- package/components/checkbox.json +33 -96
- package/components/close-button.json +31 -73
- 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 +18 -18
- package/components/color-slider.json +26 -122
- package/components/color-wheel.json +17 -84
- package/components/combo-box.json +56 -188
- package/components/contextual-help.json +87 -126
- package/components/date-picker.json +24 -120
- package/components/divider.json +25 -38
- package/components/drop-zone.json +25 -37
- package/components/field-label.json +22 -59
- 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 +31 -63
- package/components/list-view.json +15 -73
- package/components/menu.json +51 -180
- package/components/meter.json +35 -76
- package/components/number-field.json +34 -168
- package/components/picker.json +48 -187
- package/components/popover.json +47 -123
- package/components/progress-bar.json +33 -105
- package/components/progress-circle.json +25 -55
- package/components/radio-button.json +14 -67
- package/components/radio-group.json +34 -131
- package/components/rating.json +9 -38
- package/components/search-field.json +40 -125
- package/components/segmented-control.json +27 -69
- package/components/select-box.json +29 -96
- package/components/side-navigation.json +28 -69
- package/components/slider.json +45 -154
- package/components/standard-dialog.json +16 -88
- package/components/status-light.json +51 -133
- package/components/steplist.json +5 -24
- package/components/swatch-group.json +19 -55
- package/components/swatch.json +24 -79
- package/components/switch.json +42 -79
- package/components/table.json +26 -73
- package/components/tabs.json +35 -52
- package/components/tag-field.json +14 -60
- package/components/tag-group.json +22 -55
- package/components/tag.json +27 -77
- package/components/takeover-dialog.json +10 -61
- package/components/text-area.json +55 -204
- package/components/text-field.json +48 -169
- package/components/thumbnail.json +22 -63
- package/components/toast.json +30 -47
- package/components/tooltip.json +37 -84
- package/components/tree-view.json +51 -146
- package/fields/structure.json +1 -2
- package/guidelines/ai-resource-guide.json +42 -0
- package/guidelines/app-frame-overview.json +45 -44
- package/guidelines/applying-the-type-system.json +71 -0
- package/guidelines/attention-hierarchy.json +13 -22
- package/guidelines/background-layers.json +84 -10
- package/guidelines/bi-directionality.json +57 -0
- package/guidelines/border-width.json +70 -0
- package/guidelines/brand.json +24 -12
- package/guidelines/cognitive.json +229 -0
- package/guidelines/colors.json +55 -17
- package/guidelines/component-spacing.json +65 -0
- package/guidelines/contact-us.json +27 -0
- package/guidelines/containers.json +21 -28
- package/guidelines/content-area-browsing-context.json +73 -0
- package/guidelines/creating-bluelines-browsing-context.json +71 -0
- package/guidelines/design-tokens.json +186 -0
- package/guidelines/developer-overview.json +33 -9
- package/guidelines/drop-shadow.json +76 -0
- package/guidelines/faqs.json +100 -9
- package/guidelines/fonts.json +33 -14
- package/guidelines/grammar-and-mechanics.json +276 -0
- package/guidelines/grays.json +17 -44
- package/guidelines/header-browsing-context.json +40 -0
- package/guidelines/icon-fundamentals.json +7 -18
- package/guidelines/illustration.json +120 -0
- package/guidelines/in-product-word-list.json +25 -0
- package/guidelines/inclusive-design.json +101 -0
- package/guidelines/inclusive-ux-writing.json +34 -0
- package/guidelines/internationalization.json +103 -0
- package/guidelines/layout-spacing.json +39 -0
- package/guidelines/manifest.json +280 -16
- package/guidelines/motion.json +18 -13
- package/guidelines/object-styles-overview.json +17 -0
- package/guidelines/principles.json +7 -8
- package/guidelines/resources.json +29 -15
- package/guidelines/rounding.json +85 -0
- package/guidelines/side-navigation-browsing-context.json +74 -0
- package/guidelines/spacing-overview.json +78 -0
- package/guidelines/states.json +16 -11
- package/guidelines/support.json +125 -0
- package/guidelines/typography-overview.json +39 -0
- package/guidelines/typography-system.json +212 -0
- package/guidelines/using-icons.json +32 -47
- package/guidelines/voice-and-tone.json +51 -0
- package/guidelines/whats-new.json +21 -0
- package/guidelines/writing-about-people.json +99 -0
- package/guidelines/writing-for-errors.json +140 -0
- package/guidelines/writing-for-onboarding.json +123 -0
- package/guidelines/writing-for-readability.json +66 -0
- package/guidelines/writing-with-visuals.json +78 -0
- package/llms.txt +27 -0
- package/package.json +3 -2
- package/tokens/layout.tokens.json +88 -0
package/components/badge.json
CHANGED
|
@@ -9,19 +9,6 @@
|
|
|
9
9
|
"category": "status",
|
|
10
10
|
"documentationUrl": "https://spectrum.adobe.com/page/badge/"
|
|
11
11
|
},
|
|
12
|
-
"implementations": [
|
|
13
|
-
{
|
|
14
|
-
"platform": "web",
|
|
15
|
-
"componentName": "Badge",
|
|
16
|
-
"package": "@react-spectrum/s2"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"platform": "web",
|
|
20
|
-
"componentName": "Badge",
|
|
21
|
-
"importPath": "@adobe/spectrum-wc/components/badge",
|
|
22
|
-
"notes": "Spectrum 2 web component custom element: swc-badge."
|
|
23
|
-
}
|
|
24
|
-
],
|
|
25
12
|
"documentBlocks": [
|
|
26
13
|
{
|
|
27
14
|
"type": "purpose",
|
|
@@ -29,59 +16,59 @@
|
|
|
29
16
|
},
|
|
30
17
|
{
|
|
31
18
|
"type": "guideline",
|
|
32
|
-
"content": "
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"type": "guideline",
|
|
36
|
-
"content": "Badges can be placed as floating in a container, or they can be fixed to any edge of a container. They lose their default corner rounding on the fixed edge."
|
|
19
|
+
"content": "Non‑interactive by default.\n\nBadges are display elements, not actions. They should not behave like buttons or links. If an action is required, use a more appropriate component (e.g., Button, Action button)."
|
|
37
20
|
},
|
|
38
21
|
{
|
|
39
22
|
"type": "guideline",
|
|
40
|
-
"content": "
|
|
23
|
+
"content": "Text overflow.\n\nWhen a badge's label is too long for the available horizontal space, it wraps to form another line."
|
|
41
24
|
},
|
|
42
25
|
{
|
|
43
|
-
"type": "
|
|
44
|
-
"content": "
|
|
26
|
+
"type": "do-dont",
|
|
27
|
+
"content": "Avoid using a blue badge",
|
|
28
|
+
"dont": "Blue badges are easily confused with Spectrum's blue accent buttons. Only use blue badges when absolutely necessary."
|
|
45
29
|
},
|
|
46
30
|
{
|
|
47
31
|
"type": "guideline",
|
|
48
|
-
"content": "
|
|
32
|
+
"content": "Only use a yellow badge for discounts.\n\nThe yellow badge is reserved to communicate \"best deal\" or \"discount\" situations only. Do not use the yellow badge for other situations."
|
|
49
33
|
},
|
|
50
34
|
{
|
|
51
|
-
"type": "
|
|
52
|
-
"content": "
|
|
35
|
+
"type": "do-dont",
|
|
36
|
+
"content": "Don't display multiple badges",
|
|
37
|
+
"dont": "Badges are meant to offer quick context about what category, status, or meaning an item is associated with. If your design requires multiple badges, consider using regular text metadata and reserve a single badge for only the most important status, category, or meaning instead."
|
|
53
38
|
},
|
|
54
39
|
{
|
|
55
|
-
"type": "
|
|
56
|
-
"content": "
|
|
40
|
+
"type": "do-dont",
|
|
41
|
+
"content": "Avoid using icon-only badges",
|
|
42
|
+
"dont": "It's best to use a text label on a badge whenever possible because communicating with an icon alone may be unclear or subjective. Reserve icon-only badges for responsive cases, such as for cards in a panel that don't have space for a full badge. In related contexts, pair the icon with a label to help teach a user what the icon means. Icon-only badges should always include a tooltip on hover to show their associated label."
|
|
57
43
|
},
|
|
58
44
|
{
|
|
59
45
|
"type": "guideline",
|
|
60
|
-
"content": "
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"type": "guideline",
|
|
64
|
-
"content": "When a badge's label is too long for the available horizontal space, it wraps to form another line. If there is no room for a second line of text, the badge should truncate and include a tooltip to expose the full text upon hover."
|
|
46
|
+
"content": "Badge placement varies widely depending on the use case. In cards, place the badge on the left side of the footer, if possible. If there is no footer or if that space is filled, affix the badge to the right edge of the preview. If there is no preview, affix the badge to the top right corner of the card."
|
|
65
47
|
},
|
|
66
48
|
{
|
|
67
49
|
"type": "guideline",
|
|
68
|
-
"content": "
|
|
50
|
+
"content": "RTL.\n\nFor RTL (right-to-left) languages, the layout of the badge is mirrored. The icon (if present) is right-aligned with text on the right."
|
|
69
51
|
},
|
|
70
52
|
{
|
|
71
53
|
"type": "guideline",
|
|
72
|
-
"content": "
|
|
54
|
+
"content": "Cursor guidelines.\n\nCursor Usage Default (Arrow) Use the default cursor for non-interactive components like the badge."
|
|
73
55
|
},
|
|
74
56
|
{
|
|
75
57
|
"type": "guideline",
|
|
76
|
-
"content": "
|
|
77
|
-
}
|
|
58
|
+
"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 A Non‑text elements—such as icons used in badges—must provide a text alternative that communicates the badge’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, AAA Badges should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role should be utilized. Use of color 1.4.1 A Color is never used as the sole way to convey meaning in buttons. Badges use color to reinforce their meaning, but every badge also includes a clear text label that communicates purpose. Text contrast minimums 1.4.3 AA Large 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 AA The visual presentation of icons have a contrast ratio of at least 3:1. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size when wrapped. 2. Operable Requirement Criterion Level Compliance Seizures and physical feactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAA There is no flashing content or unnecessary motion or animation in this component."
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"implementations": [
|
|
78
62
|
{
|
|
79
|
-
"
|
|
80
|
-
"
|
|
63
|
+
"platform": "web",
|
|
64
|
+
"componentName": "Badge",
|
|
65
|
+
"package": "@react-spectrum/s2"
|
|
81
66
|
},
|
|
82
67
|
{
|
|
83
|
-
"
|
|
84
|
-
"
|
|
68
|
+
"platform": "web",
|
|
69
|
+
"componentName": "Badge",
|
|
70
|
+
"importPath": "@adobe/spectrum-wc/components/badge",
|
|
71
|
+
"notes": "Spectrum 2 web component custom element: swc-badge."
|
|
85
72
|
}
|
|
86
73
|
],
|
|
87
74
|
"options": {
|
|
@@ -95,146 +82,65 @@
|
|
|
95
82
|
"variant": {
|
|
96
83
|
"type": "string",
|
|
97
84
|
"values": [
|
|
98
|
-
{
|
|
99
|
-
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
"value": "purple"
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
"value": "seafoam"
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
"value": "accent"
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
"value": "notice"
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
"value": "gray"
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
"value": "red"
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
"value": "orange"
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
"value": "chartreuse"
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
"value": "celery"
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
"value": "green"
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
"value": "cyan"
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
"value": "blue"
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
"value": "pink"
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
"value": "turquoise"
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
"value": "brown"
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
"value": "cinnamon"
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
"value": "silver"
|
|
172
|
-
}
|
|
85
|
+
{ "value": "neutral" },
|
|
86
|
+
{ "value": "info" },
|
|
87
|
+
{ "value": "positive" },
|
|
88
|
+
{ "value": "negative" },
|
|
89
|
+
{ "value": "indigo" },
|
|
90
|
+
{ "value": "yellow" },
|
|
91
|
+
{ "value": "magenta" },
|
|
92
|
+
{ "value": "fuchsia" },
|
|
93
|
+
{ "value": "purple" },
|
|
94
|
+
{ "value": "seafoam" },
|
|
95
|
+
{ "value": "accent" },
|
|
96
|
+
{ "value": "notice" },
|
|
97
|
+
{ "value": "gray" },
|
|
98
|
+
{ "value": "red" },
|
|
99
|
+
{ "value": "orange" },
|
|
100
|
+
{ "value": "chartreuse" },
|
|
101
|
+
{ "value": "celery" },
|
|
102
|
+
{ "value": "green" },
|
|
103
|
+
{ "value": "cyan" },
|
|
104
|
+
{ "value": "blue" },
|
|
105
|
+
{ "value": "pink" },
|
|
106
|
+
{ "value": "turquoise" },
|
|
107
|
+
{ "value": "brown" },
|
|
108
|
+
{ "value": "cinnamon" },
|
|
109
|
+
{ "value": "silver" }
|
|
173
110
|
]
|
|
174
111
|
},
|
|
175
112
|
"style": {
|
|
176
113
|
"type": "string",
|
|
177
114
|
"values": [
|
|
178
|
-
{
|
|
179
|
-
|
|
180
|
-
}
|
|
181
|
-
{
|
|
182
|
-
"value": "subtle"
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
"value": "outline"
|
|
186
|
-
}
|
|
115
|
+
{ "value": "bold" },
|
|
116
|
+
{ "value": "subtle" },
|
|
117
|
+
{ "value": "outline" }
|
|
187
118
|
]
|
|
188
119
|
},
|
|
189
120
|
"fixed": {
|
|
190
121
|
"type": "string",
|
|
191
122
|
"default": "none",
|
|
192
123
|
"values": [
|
|
193
|
-
{
|
|
194
|
-
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
"value": "right"
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
"value": "bottom"
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
"value": "left"
|
|
207
|
-
}
|
|
124
|
+
{ "value": "none" },
|
|
125
|
+
{ "value": "top" },
|
|
126
|
+
{ "value": "right" },
|
|
127
|
+
{ "value": "bottom" },
|
|
128
|
+
{ "value": "left" }
|
|
208
129
|
]
|
|
209
130
|
},
|
|
210
|
-
"isDisabled": {
|
|
211
|
-
"type": "boolean",
|
|
212
|
-
"default": false
|
|
213
|
-
},
|
|
131
|
+
"isDisabled": { "type": "boolean", "default": false },
|
|
214
132
|
"size": {
|
|
215
133
|
"type": "string",
|
|
216
134
|
"pattern": "^(x?s|m|x{0,3}l)$",
|
|
217
135
|
"default": "s",
|
|
218
136
|
"values": [
|
|
219
|
-
{
|
|
220
|
-
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
"value": "m"
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
"value": "l"
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
"value": "xl"
|
|
230
|
-
}
|
|
137
|
+
{ "value": "s" },
|
|
138
|
+
{ "value": "m" },
|
|
139
|
+
{ "value": "l" },
|
|
140
|
+
{ "value": "xl" }
|
|
231
141
|
]
|
|
232
142
|
}
|
|
233
143
|
},
|
|
234
|
-
"lifecycle": {
|
|
235
|
-
|
|
236
|
-
},
|
|
237
|
-
"accessibility": {
|
|
238
|
-
"focusable": false
|
|
239
|
-
}
|
|
144
|
+
"lifecycle": { "introduced": "1.0.0-draft" },
|
|
145
|
+
"accessibility": { "focusable": false }
|
|
240
146
|
}
|
|
@@ -23,71 +23,44 @@
|
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
"type": "guideline",
|
|
26
|
-
"content": "
|
|
26
|
+
"content": "Overflow.\n\nBreadcrumbs truncate when there is not enough room to display all levels of the breadcrumb list, or as a way of managing relevance of the visible breadcrumb items in a deeply nested hierarchy. The truncation of breadcrumb items begins when either there is not enough room to display all items, or if there are 5 or more breadcrumbs to display. The truncation menu displays all options within a breadcrumb. Items are listed with the hierarchy ordered from top (root) to bottom and include the currently selected item."
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
29
|
"type": "guideline",
|
|
30
|
-
"content": "
|
|
30
|
+
"content": "Use breadcrumbs to show hierarchy.\n\nBreadcrumbs need a consistent hierarchical structure because they create a path for discovery and context for a user’s current location."
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
"type": "guideline",
|
|
34
|
-
"content": "
|
|
34
|
+
"content": "Use breadcrumbs for hierarchical navigation.\n\nBreadcrumbs should be a form of navigating a linear hierarchy. They should not be used for any other interactions, such as displaying filters."
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
|
-
"type": "
|
|
38
|
-
"content": "
|
|
39
|
-
|
|
40
|
-
{
|
|
41
|
-
"type": "guideline",
|
|
42
|
-
"content": "The multiline variation places emphasis on the selected breadcrumb item as a page title, helping a user to more clearly identify their current location."
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"type": "guideline",
|
|
46
|
-
"content": "Breadcrumbs truncate when there is not enough room to display all levels of the breadcrumb list, or as a way of managing relevance of the visible breadcrumb items in a deeply nested hierarchy. The truncation of breadcrumb items begins when either there is not enough room to display all items, or if there are 5 or more breadcrumbs to display."
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"type": "guideline",
|
|
50
|
-
"content": "The truncation menu displays all options within a breadcrumb. Items are listed with the hierarchy ordered from top (root) to bottom and include the currently selected item."
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"type": "guideline",
|
|
54
|
-
"content": "Breadcrumbs need a consistent hierarchical structure because they create a path for discovery and context for a user’s current location."
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"type": "guideline",
|
|
58
|
-
"content": "Breadcrumbs should be a form of navigating a linear hierarchy. They should not be used for any other interactions, such as displaying filters."
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
"type": "guideline",
|
|
62
|
-
"content": "The truncation menu should display all available options within the hierarchy where a user is located — not as indented. Doing this provides context for the directionality of how the menu is being displayed. Adding indentation to the menu items does not add value to understanding the hierarchy, and it can actually decrease the readability of the menu options."
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"type": "guideline",
|
|
66
|
-
"content": "When list items are truncated into a menu but the label text is still too large for the horizontal space, truncate the text with an ellipsis. By default, truncation should occur at the end of the title. If your users need to see the end of truncated titles, truncating the middle of the title is acceptable."
|
|
37
|
+
"type": "do-dont",
|
|
38
|
+
"content": "Don't indent menu items",
|
|
39
|
+
"dont": "The truncation menu should display all available options within the hierarchy where a user is located — not as indented. Doing this provides context for the directionality of how the menu is being displayed. Adding indentation to the menu items does not add value to understanding the hierarchy, and it can actually decrease the readability of the menu options."
|
|
67
40
|
},
|
|
68
41
|
{
|
|
69
42
|
"type": "guideline",
|
|
70
|
-
"content": "
|
|
43
|
+
"content": "Don’t wrap breadcrumb list items.\n\nWhen list items are truncated into a menu but the label text is still too large for the horizontal space, truncate the text with an ellipsis. By default, truncation should occur at the end of the title. If your users need to see the end of truncated titles, truncating the middle of the title is acceptable."
|
|
71
44
|
},
|
|
72
45
|
{
|
|
73
46
|
"type": "guideline",
|
|
74
|
-
"content": "
|
|
47
|
+
"content": "Tooltips.\n\nWhen the breadcrumb title is truncated, a tooltip should display the full title when the user hovers, keyboard focuses, or single-taps on mobile."
|
|
75
48
|
},
|
|
76
49
|
{
|
|
77
50
|
"type": "guideline",
|
|
78
|
-
"content": "Truncation should be avoided by way of the breadcrumbs overflow behavior, although in some cases the final breadcrumb title may truncate with an ellipsis."
|
|
51
|
+
"content": "Truncation and overflow.\n\nPrioritize using the truncation menu when breadcrumb labels are long. Never truncate more than one breadcrumb label. If the current location has a long label, all items can be truncated into the menu. Truncation should be avoided by way of the breadcrumbs overflow behavior, although in some cases the final breadcrumb title may truncate with an ellipsis."
|
|
79
52
|
},
|
|
80
53
|
{
|
|
81
54
|
"type": "guideline",
|
|
82
|
-
"content": "
|
|
55
|
+
"content": "Don’t show too many breadcrumbs at once.\n\nBe mindful of your user’s cognitive load and truncate breadcrumbs appropriately. Displaying too many levels can be overwhelming. By displaying only 4 items in the hierarchy (including the root item, if you are displaying it), users will quickly understand context while still having easy access to any truncated options. Truncation of breadcrumb items begins when either there is not enough room to display all items, or if there are 5 or more breadcrumbs to display."
|
|
83
56
|
},
|
|
84
57
|
{
|
|
85
58
|
"type": "guideline",
|
|
86
|
-
"content": "
|
|
59
|
+
"content": "Icons in breadcrumbs.\n\nDon't use icons within the labels for breadcrumbs. Since breadcrumb labels are horizontally distributed, icons disrupt the rhythm and readability of the list."
|
|
87
60
|
},
|
|
88
61
|
{
|
|
89
62
|
"type": "guideline",
|
|
90
|
-
"content": "
|
|
63
|
+
"content": "Don’t modify breadcrumbs for lateral navigation.\n\nBreadcrumbs are a way for traveling up a hierarchical navigation and should not be mixed with controls intended for lateral or non-hierarchical navigation."
|
|
91
64
|
}
|
|
92
65
|
],
|
|
93
66
|
"options": {
|
|
@@ -100,14 +73,7 @@
|
|
|
100
73
|
"type": "string",
|
|
101
74
|
"default": "m",
|
|
102
75
|
"description": "Controls the overall size of the breadcrumb component.",
|
|
103
|
-
"values": [
|
|
104
|
-
{
|
|
105
|
-
"value": "m"
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
"value": "l"
|
|
109
|
-
}
|
|
110
|
-
]
|
|
76
|
+
"values": [{ "value": "m" }, { "value": "l" }]
|
|
111
77
|
},
|
|
112
78
|
"items": {
|
|
113
79
|
"type": "array",
|
|
@@ -128,10 +94,7 @@
|
|
|
128
94
|
"description": "Indicates if the breadcrumb item represents the current page.",
|
|
129
95
|
"default": false
|
|
130
96
|
},
|
|
131
|
-
"isDisabled": {
|
|
132
|
-
"type": "boolean",
|
|
133
|
-
"default": false
|
|
134
|
-
}
|
|
97
|
+
"isDisabled": { "type": "boolean", "default": false }
|
|
135
98
|
},
|
|
136
99
|
"required": ["label"]
|
|
137
100
|
}
|
|
@@ -140,14 +103,7 @@
|
|
|
140
103
|
"type": "string",
|
|
141
104
|
"default": "chevron",
|
|
142
105
|
"description": "The separator icon used between breadcrumb items.",
|
|
143
|
-
"values": [
|
|
144
|
-
{
|
|
145
|
-
"value": "chevron"
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
"value": "none"
|
|
149
|
-
}
|
|
150
|
-
]
|
|
106
|
+
"values": [{ "value": "chevron" }, { "value": "none" }]
|
|
151
107
|
},
|
|
152
108
|
"isTruncated": {
|
|
153
109
|
"type": "boolean",
|
|
@@ -158,18 +114,10 @@
|
|
|
158
114
|
"type": "string",
|
|
159
115
|
"description": "Overrides the size of the breadcrumb items when isMultiline is true.",
|
|
160
116
|
"values": [
|
|
161
|
-
{
|
|
162
|
-
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
"value": "m"
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
"value": "l"
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
"value": "xl"
|
|
172
|
-
}
|
|
117
|
+
{ "value": "s" },
|
|
118
|
+
{ "value": "m" },
|
|
119
|
+
{ "value": "l" },
|
|
120
|
+
{ "value": "xl" }
|
|
173
121
|
]
|
|
174
122
|
}
|
|
175
123
|
},
|
|
@@ -180,41 +128,19 @@
|
|
|
180
128
|
}
|
|
181
129
|
],
|
|
182
130
|
"states": [
|
|
183
|
-
{
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}
|
|
187
|
-
{
|
|
188
|
-
"name": "down",
|
|
189
|
-
"trigger": "interaction"
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
"name": "keyboard-focus",
|
|
193
|
-
"trigger": "interaction"
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
"name": "drag-and-drop",
|
|
197
|
-
"trigger": "prop"
|
|
198
|
-
}
|
|
131
|
+
{ "name": "hover", "trigger": "interaction" },
|
|
132
|
+
{ "name": "down", "trigger": "interaction" },
|
|
133
|
+
{ "name": "keyboard-focus", "trigger": "interaction" },
|
|
134
|
+
{ "name": "drag-and-drop", "trigger": "prop" }
|
|
199
135
|
],
|
|
200
|
-
"lifecycle": {
|
|
201
|
-
"introduced": "1.0.0-draft"
|
|
202
|
-
},
|
|
136
|
+
"lifecycle": { "introduced": "1.0.0-draft" },
|
|
203
137
|
"accessibility": {
|
|
204
138
|
"intents": ["navigate"],
|
|
205
139
|
"focusable": true,
|
|
206
140
|
"keyboardIntents": ["navigate-items", "activate"],
|
|
207
141
|
"wcag": [
|
|
208
|
-
{
|
|
209
|
-
|
|
210
|
-
"level": "A",
|
|
211
|
-
"title": "Keyboard"
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
"criterion": "4.1.2",
|
|
215
|
-
"level": "A",
|
|
216
|
-
"title": "Name, Role, Value"
|
|
217
|
-
}
|
|
142
|
+
{ "criterion": "2.1.1", "level": "A", "title": "Keyboard" },
|
|
143
|
+
{ "criterion": "4.1.2", "level": "A", "title": "Name, Role, Value" }
|
|
218
144
|
]
|
|
219
145
|
}
|
|
220
146
|
}
|