@adobe/spectrum-design-data 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/components/accordion.json +108 -194
  2. package/components/action-bar.json +64 -97
  3. package/components/action-button.json +95 -230
  4. package/components/action-group.json +88 -86
  5. package/components/alert-banner.json +104 -76
  6. package/components/alert-dialog.json +78 -126
  7. package/components/avatar-group.json +61 -119
  8. package/components/avatar.json +98 -212
  9. package/components/badge.json +138 -256
  10. package/components/breadcrumbs.json +95 -89
  11. package/components/button-group.json +57 -48
  12. package/components/button.json +151 -368
  13. package/components/calendar.json +97 -34
  14. package/components/cards.json +109 -250
  15. package/components/checkbox-group.json +50 -58
  16. package/components/checkbox.json +121 -186
  17. package/components/close-button.json +61 -124
  18. package/components/coach-indicator.json +63 -72
  19. package/components/coach-mark.json +89 -93
  20. package/components/color-area.json +68 -94
  21. package/components/color-handle.json +39 -79
  22. package/components/color-loupe.json +35 -52
  23. package/components/color-slider.json +95 -116
  24. package/components/color-wheel.json +67 -73
  25. package/components/combo-box.json +243 -331
  26. package/components/contextual-help.json +86 -175
  27. package/components/date-picker.json +139 -179
  28. package/components/divider.json +30 -69
  29. package/components/drop-zone.json +51 -92
  30. package/components/field-label.json +75 -117
  31. package/components/help-text.json +81 -105
  32. package/components/illustrated-message.json +106 -73
  33. package/components/in-line-alert.json +50 -83
  34. package/components/link.json +63 -85
  35. package/components/list-view.json +107 -146
  36. package/components/menu.json +180 -274
  37. package/components/meter.json +72 -118
  38. package/components/number-field.json +213 -305
  39. package/components/picker.json +208 -320
  40. package/components/popover.json +94 -129
  41. package/components/progress-bar.json +94 -131
  42. package/components/progress-circle.json +45 -72
  43. package/components/radio-button.json +87 -156
  44. package/components/radio-group.json +107 -74
  45. package/components/rating.json +66 -99
  46. package/components/search-field.json +132 -202
  47. package/components/segmented-control.json +94 -109
  48. package/components/select-box.json +119 -179
  49. package/components/side-navigation.json +108 -118
  50. package/components/slider.json +143 -228
  51. package/components/standard-dialog.json +96 -114
  52. package/components/standard-panel.json +105 -53
  53. package/components/status-light.json +104 -240
  54. package/components/steplist.json +77 -161
  55. package/components/swatch-group.json +42 -58
  56. package/components/swatch.json +75 -162
  57. package/components/switch.json +101 -189
  58. package/components/table.json +97 -102
  59. package/components/tabs.json +77 -104
  60. package/components/tag-field.json +86 -150
  61. package/components/tag-group.json +50 -44
  62. package/components/tag.json +81 -198
  63. package/components/takeover-dialog.json +59 -57
  64. package/components/text-area.json +200 -323
  65. package/components/text-field.json +183 -304
  66. package/components/thumbnail.json +63 -105
  67. package/components/toast.json +97 -83
  68. package/components/tooltip.json +104 -96
  69. package/components/tree-view.json +169 -181
  70. package/guidelines/app-frame-content-area.json +87 -0
  71. package/guidelines/app-frame-creating-bluelines.json +61 -0
  72. package/guidelines/app-frame-header.json +75 -0
  73. package/guidelines/app-frame-overview.json +167 -0
  74. package/guidelines/app-frame-side-navigation.json +138 -0
  75. package/guidelines/attention-hierarchy.json +42 -0
  76. package/guidelines/background-layers.json +41 -0
  77. package/guidelines/brand.json +50 -0
  78. package/guidelines/colors.json +65 -0
  79. package/guidelines/containers.json +65 -0
  80. package/guidelines/developer-overview.json +38 -0
  81. package/guidelines/faqs.json +35 -0
  82. package/guidelines/fonts.json +58 -0
  83. package/guidelines/grays.json +69 -0
  84. package/guidelines/icon-fundamentals.json +45 -0
  85. package/guidelines/illustrations.json +114 -0
  86. package/guidelines/introduction.json +34 -0
  87. package/guidelines/manifest.json +204 -0
  88. package/guidelines/motion.json +41 -0
  89. package/guidelines/object-styles.json +105 -0
  90. package/guidelines/principles.json +30 -0
  91. package/guidelines/resources.json +59 -0
  92. package/guidelines/spacing.json +25 -0
  93. package/guidelines/states.json +34 -0
  94. package/guidelines/typography-fundamentals.json +145 -0
  95. package/guidelines/using-icons.json +110 -0
  96. package/package.json +5 -2
@@ -9,6 +9,84 @@
9
9
  "category": "navigation",
10
10
  "documentationUrl": "https://spectrum.adobe.com/page/side-navigation/"
11
11
  },
12
+ "documentBlocks": [
13
+ {
14
+ "type": "purpose",
15
+ "content": "Side navigation lets users navigate the entire content of a product or a section. These can be used for a single level or a multi-level navigation."
16
+ },
17
+ {
18
+ "type": "guideline",
19
+ "content": "Side navigation provides access to the main content areas of a product or section. It can support single-level or multi-level navigation."
20
+ },
21
+ {
22
+ "type": "guideline",
23
+ "content": "The type of selection allowed in side navigation can be none, single or multiple."
24
+ },
25
+ {
26
+ "type": "guideline",
27
+ "content": "The list of navigation items displayed in a side navigation. Each item includes a label by default and can optionally include an icon. Items that contain nested navigation levels can also include a trailing accessory area, which supports a chevron and an optional counter."
28
+ },
29
+ {
30
+ "type": "guideline",
31
+ "content": "At a glance, the app frame side navigation may look similar to the standard side navigation. However, its interaction model introduces key differences."
32
+ },
33
+ {
34
+ "type": "guideline",
35
+ "content": "The app frame side navigation includes a collapsible menu that lets users hide or reveal labels."
36
+ },
37
+ {
38
+ "type": "guideline",
39
+ "content": "The standard side navigation, on the other hand, is best suited for fixed layouts that support multiple visual styles, such as icon-only, text-only, or mixed. Note that the standard side navigation cannot collapse."
40
+ },
41
+ {
42
+ "type": "guideline",
43
+ "content": "The width of the side navigation is flexible, so choose a width that works with the navigation items in your experience. Make the width generous enough so that it doesn’t feel too condensed. Doing this will ensure that users won't confuse the side navigation with buttons or other controls."
44
+ },
45
+ {
46
+ "type": "guideline",
47
+ "content": "When the navigation item text is too long for the horizontal space available, it wraps to form another line."
48
+ },
49
+ {
50
+ "type": "guideline",
51
+ "content": "Make sure the width is generous enough so that it doesn’t feel too condensed. This ensures it doesn’t get confused with buttons or other controls."
52
+ },
53
+ {
54
+ "type": "guideline",
55
+ "content": "Navigation should be helpful. Choose titles for navigation items that clearly communicate the places where they'll go. Arbitrary or non-useful titles cause usability issues."
56
+ },
57
+ {
58
+ "type": "guideline",
59
+ "content": "Along with being descriptive, the labels of navigation items should be succinct. Keep navigation strings to 1 or 2 and no more than 3 concise words (in U.S. English, which is the source locale). Reduce any unnecessary words in order to ensure simplicity."
60
+ },
61
+ {
62
+ "type": "guideline",
63
+ "content": "Navigation items should never be so long that they require truncation, except in instances where navigation is user-generated, such as folder and filenames."
64
+ },
65
+ {
66
+ "type": "guideline",
67
+ "content": "When possible, the default width should automatically adjust to the longest string in the navigation to accommodate all translations. As a last resort for long strings, specific line breaks can be built into the implementation. These breaks depend on the content and require manual handling by globalization engineers."
68
+ },
69
+ {
70
+ "type": "guideline",
71
+ "content": "In multi-level side navigation, icon and text-only styles can be used together. Users may include supporting icons on the first level and omit them on the second and third levels, or choose to use no icons at all."
72
+ },
73
+ {
74
+ "type": "guideline",
75
+ "content": "Do not mix icon and no-icon options within the same navigation level."
76
+ },
77
+ {
78
+ "type": "guideline",
79
+ "content": "The multi-level side navigation goes to three levels deep. Adding more than three levels will make the indentation indiscernible, which becomes a major usability issue."
80
+ },
81
+ {
82
+ "type": "guideline",
83
+ "content": "If top-level navigation items have a location associated with them, send the user to that location and open the sub-level navigation items. If a top-level navigation item does not have any associated location, only open the sub-level navigation items."
84
+ },
85
+ {
86
+ "type": "guideline",
87
+ "content": "Side navigation can use either of these behaviors, but should never mix behaviors in the same experience."
88
+ }
89
+ ],
12
90
  "options": {
13
91
  "items": {
14
92
  "type": "array",
@@ -49,52 +127,23 @@
49
127
  "default": "single",
50
128
  "description": "How selection is handled for items.",
51
129
  "values": [
52
- {
53
- "value": "none"
54
- },
55
- {
56
- "value": "single"
57
- },
58
- {
59
- "value": "multiple"
60
- }
130
+ { "value": "none" },
131
+ { "value": "single" },
132
+ { "value": "multiple" }
61
133
  ]
62
134
  }
63
135
  },
64
136
  "states": [
65
- {
66
- "name": "hover",
67
- "trigger": "interaction"
68
- },
69
- {
70
- "name": "down",
71
- "trigger": "interaction"
72
- },
73
- {
74
- "name": "keyboard-focus",
75
- "trigger": "interaction"
76
- }
137
+ { "name": "hover", "trigger": "interaction" },
138
+ { "name": "down", "trigger": "interaction" },
139
+ { "name": "keyboard-focus", "trigger": "interaction" }
77
140
  ],
78
- "lifecycle": {
79
- "introduced": "1.0.0-draft"
80
- },
141
+ "lifecycle": { "introduced": "1.0.0-draft" },
81
142
  "tokenBindings": [
82
- {
83
- "token": "component-height-100",
84
- "context": "Minimum height"
85
- },
86
- {
87
- "token": "side-navigation-width",
88
- "context": "Width (default)"
89
- },
90
- {
91
- "token": "side-navigation-minimum-width",
92
- "context": "Width (minimum)"
93
- },
94
- {
95
- "token": "side-navigation-maximum-width",
96
- "context": "Width (maximum)"
97
- },
143
+ { "token": "component-height-100", "context": "Minimum height" },
144
+ { "token": "side-navigation-width", "context": "Width (default)" },
145
+ { "token": "side-navigation-minimum-width", "context": "Width (minimum)" },
146
+ { "token": "side-navigation-maximum-width", "context": "Width (maximum)" },
98
147
  {
99
148
  "token": "component-size-difference-down",
100
149
  "context": "Component size (down)"
@@ -119,14 +168,8 @@
119
168
  "token": "side-navigation-indicator-to-content",
120
169
  "context": "Spacing (indicator to content)"
121
170
  },
122
- {
123
- "token": "workflow-icon-size-100",
124
- "context": "Icon"
125
- },
126
- {
127
- "token": "text-to-visual-100",
128
- "context": "Spacing (icon to label)"
129
- },
171
+ { "token": "workflow-icon-size-100", "context": "Icon" },
172
+ { "token": "text-to-visual-100", "context": "Spacing (icon to label)" },
130
173
  {
131
174
  "token": "component-edge-to-text-100",
132
175
  "context": "Spacing (single-level, start/end to content)"
@@ -191,10 +234,7 @@
191
234
  "token": "side-navigation-header-to-item",
192
235
  "context": "Spacing (vertically between side-nav item and side-nav title)"
193
236
  },
194
- {
195
- "token": "component-top-to-workflow-icon-100",
196
- "context": "Layout"
197
- },
237
+ { "token": "component-top-to-workflow-icon-100", "context": "Layout" },
198
238
  {
199
239
  "token": "component-padding-vertical-100",
200
240
  "context": "Spacing (top edge to label)"
@@ -203,22 +243,10 @@
203
243
  "token": "side-navigation-bottom-to-text",
204
244
  "context": "Spacing (label wrapping)"
205
245
  },
206
- {
207
- "token": "focus-indicator-thickness",
208
- "context": "Focus indicator"
209
- },
210
- {
211
- "token": "focus-indicator-gap",
212
- "context": "Focus indicator"
213
- },
214
- {
215
- "token": "gray-400",
216
- "context": "Side navigation indicator "
217
- },
218
- {
219
- "token": "gray-800",
220
- "context": "Side navigation indicator "
221
- },
246
+ { "token": "focus-indicator-thickness", "context": "Focus indicator" },
247
+ { "token": "focus-indicator-gap", "context": "Focus indicator" },
248
+ { "token": "gray-400", "context": "Side navigation indicator " },
249
+ { "token": "gray-800", "context": "Side navigation indicator " },
222
250
  {
223
251
  "token": "neutral-subdued-content-color-default",
224
252
  "context": "Navigation item label and icon"
@@ -251,70 +279,32 @@
251
279
  "token": "neutral-content-color-key-focus",
252
280
  "context": "Navigation item label and icon (selected)"
253
281
  },
254
- {
255
- "token": "gray-600",
256
- "context": "Side navigation title"
257
- },
282
+ { "token": "gray-600", "context": "Side navigation title" },
258
283
  {
259
284
  "token": "disabled-content-color",
260
285
  "context": "Label and icon (disabled)"
261
286
  },
262
- {
263
- "token": "focus-indicator-color",
264
- "context": "Focus indicator"
265
- },
266
- {
267
- "token": "default-font-family",
268
- "context": "Text "
269
- },
270
- {
271
- "token": "regular-font-weight",
272
- "context": "Text "
273
- },
274
- {
275
- "token": "default-font-style",
276
- "context": "Text "
277
- },
278
- {
279
- "token": "font-size-100",
280
- "context": "Text "
281
- },
282
- {
283
- "token": "line-height-100",
284
- "context": "Text "
285
- },
286
- {
287
- "token": "cjk-line-height-100",
288
- "context": "Text "
289
- },
290
- {
291
- "token": "bold-font-weight",
292
- "context": "Text (selected)"
293
- },
287
+ { "token": "focus-indicator-color", "context": "Focus indicator" },
288
+ { "token": "default-font-family", "context": "Text " },
289
+ { "token": "regular-font-weight", "context": "Text " },
290
+ { "token": "default-font-style", "context": "Text " },
291
+ { "token": "font-size-100", "context": "Text " },
292
+ { "token": "line-height-100", "context": "Text " },
293
+ { "token": "cjk-line-height-100", "context": "Text " },
294
+ { "token": "bold-font-weight", "context": "Text (selected)" },
294
295
  {
295
296
  "token": "medium-font-weight",
296
297
  "context": "Text (Side navigation title)"
297
298
  },
298
- {
299
- "token": "font-size-75",
300
- "context": "Text (Side navigation title)"
301
- }
299
+ { "token": "font-size-75", "context": "Text (Side navigation title)" }
302
300
  ],
303
301
  "accessibility": {
304
302
  "intents": ["navigate"],
305
303
  "focusable": true,
306
304
  "keyboardIntents": ["navigate-items", "activate"],
307
305
  "wcag": [
308
- {
309
- "criterion": "2.1.1",
310
- "level": "A",
311
- "title": "Keyboard"
312
- },
313
- {
314
- "criterion": "4.1.2",
315
- "level": "A",
316
- "title": "Name, Role, Value"
317
- }
306
+ { "criterion": "2.1.1", "level": "A", "title": "Keyboard" },
307
+ { "criterion": "4.1.2", "level": "A", "title": "Name, Role, Value" }
318
308
  ]
319
309
  }
320
310
  }