@adobe/spectrum-design-data 3.3.0-beta.0 → 3.3.0-beta.1

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 (81) hide show
  1. package/components/accordion.json +15 -54
  2. package/components/action-bar.json +9 -23
  3. package/components/action-button.json +39 -79
  4. package/components/action-group.json +18 -129
  5. package/components/alert-banner.json +8 -27
  6. package/components/alert-dialog.json +34 -48
  7. package/components/avatar-group.json +9 -28
  8. package/components/avatar.json +29 -92
  9. package/components/badge.json +56 -150
  10. package/components/breadcrumbs.json +26 -100
  11. package/components/button-group.json +19 -50
  12. package/components/button.json +61 -92
  13. package/components/calendar.json +8 -67
  14. package/components/cards.json +31 -46
  15. package/components/checkbox-group.json +16 -78
  16. package/components/checkbox.json +27 -90
  17. package/components/close-button.json +20 -62
  18. package/components/coach-indicator.json +14 -44
  19. package/components/coach-mark.json +8 -26
  20. package/components/color-area.json +20 -93
  21. package/components/color-handle.json +25 -38
  22. package/components/color-loupe.json +2 -6
  23. package/components/color-slider.json +26 -122
  24. package/components/color-wheel.json +17 -84
  25. package/components/combo-box.json +50 -182
  26. package/components/contextual-help.json +80 -119
  27. package/components/date-picker.json +24 -120
  28. package/components/divider.json +12 -25
  29. package/components/drop-zone.json +18 -30
  30. package/components/field-label.json +21 -62
  31. package/components/help-text.json +16 -53
  32. package/components/illustrated-message.json +21 -72
  33. package/components/in-line-alert.json +13 -53
  34. package/components/link.json +24 -56
  35. package/components/list-view.json +15 -73
  36. package/components/menu.json +45 -174
  37. package/components/meter.json +24 -65
  38. package/components/number-field.json +34 -168
  39. package/components/picker.json +42 -181
  40. package/components/popover.json +37 -113
  41. package/components/progress-bar.json +23 -95
  42. package/components/progress-circle.json +12 -42
  43. package/components/radio-button.json +14 -67
  44. package/components/radio-group.json +28 -125
  45. package/components/rating.json +9 -38
  46. package/components/search-field.json +34 -119
  47. package/components/segmented-control.json +21 -63
  48. package/components/select-box.json +29 -96
  49. package/components/side-navigation.json +28 -69
  50. package/components/slider.json +39 -148
  51. package/components/standard-dialog.json +16 -88
  52. package/components/status-light.json +41 -123
  53. package/components/steplist.json +5 -24
  54. package/components/swatch-group.json +19 -55
  55. package/components/swatch.json +24 -79
  56. package/components/switch.json +31 -72
  57. package/components/table.json +26 -73
  58. package/components/tabs.json +22 -39
  59. package/components/tag-field.json +14 -60
  60. package/components/tag-group.json +16 -49
  61. package/components/tag.json +21 -71
  62. package/components/takeover-dialog.json +10 -61
  63. package/components/text-area.json +49 -198
  64. package/components/text-field.json +42 -163
  65. package/components/thumbnail.json +22 -63
  66. package/components/toast.json +29 -50
  67. package/components/tooltip.json +27 -74
  68. package/components/tree-view.json +45 -140
  69. package/guidelines/introduction.json +2 -2
  70. package/guidelines/manifest.json +2 -74
  71. package/guidelines/principles.json +2 -2
  72. package/package.json +1 -1
  73. package/guidelines/app-frame-content-area.json +0 -81
  74. package/guidelines/app-frame-creating-bluelines.json +0 -58
  75. package/guidelines/app-frame-header.json +0 -72
  76. package/guidelines/app-frame-side-navigation.json +0 -138
  77. package/guidelines/containers.json +0 -62
  78. package/guidelines/illustrations.json +0 -111
  79. package/guidelines/object-styles.json +0 -102
  80. package/guidelines/spacing.json +0 -25
  81. package/guidelines/typography-fundamentals.json +0 -142
@@ -8,30 +8,6 @@
8
8
  "sourceUrl": "https://main--spectrum-hub--adobe.aem.live/support/ai-resource-guide",
9
9
  "file": "guidelines/ai-resource-guide.json"
10
10
  },
11
- {
12
- "slug": "app-frame-content-area",
13
- "title": "App frame content area (browsing context)",
14
- "category": "designing",
15
- "status": "published",
16
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/app-frame-content-area/",
17
- "file": "guidelines/app-frame-content-area.json"
18
- },
19
- {
20
- "slug": "app-frame-creating-bluelines",
21
- "title": "Creating bluelines (browsing context)",
22
- "category": "designing",
23
- "status": "published",
24
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/app-frame-creating-bluelines/",
25
- "file": "guidelines/app-frame-creating-bluelines.json"
26
- },
27
- {
28
- "slug": "app-frame-header",
29
- "title": "App frame header (browsing context)",
30
- "category": "designing",
31
- "status": "published",
32
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/app-frame-header/",
33
- "file": "guidelines/app-frame-header.json"
34
- },
35
11
  {
36
12
  "slug": "app-frame-overview",
37
13
  "title": "App frame",
@@ -40,14 +16,6 @@
40
16
  "sourceUrl": "https://main--spectrum-hub--adobe.aem.live/foundations/app-frame/overview",
41
17
  "file": "guidelines/app-frame-overview.json"
42
18
  },
43
- {
44
- "slug": "app-frame-side-navigation",
45
- "title": "App frame side navigation (browsing context)",
46
- "category": "designing",
47
- "status": "published",
48
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/app-frame-side-navigation/",
49
- "file": "guidelines/app-frame-side-navigation.json"
50
- },
51
19
  {
52
20
  "slug": "applying-the-type-system",
53
21
  "title": "Applying the type system",
@@ -128,14 +96,6 @@
128
96
  "sourceUrl": "https://main--spectrum-hub--adobe.aem.live/support/contact-us",
129
97
  "file": "guidelines/contact-us.json"
130
98
  },
131
- {
132
- "slug": "containers",
133
- "title": "Containers",
134
- "category": "designing",
135
- "status": "published",
136
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/containers/",
137
- "file": "guidelines/containers.json"
138
- },
139
99
  {
140
100
  "slug": "content-area-browsing-context",
141
101
  "title": "Browsing context: Content area",
@@ -232,14 +192,6 @@
232
192
  "sourceUrl": "https://main--spectrum-hub--adobe.aem.live/foundations/visual-language/illustration",
233
193
  "file": "guidelines/illustration.json"
234
194
  },
235
- {
236
- "slug": "illustrations",
237
- "title": "Illustrations",
238
- "category": "designing",
239
- "status": "published",
240
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/illustrations/",
241
- "file": "guidelines/illustrations.json"
242
- },
243
195
  {
244
196
  "slug": "in-product-word-list",
245
197
  "title": "In-product word list",
@@ -277,7 +229,7 @@
277
229
  "title": "Introduction",
278
230
  "category": "fundamentals",
279
231
  "status": "published",
280
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/introduction/",
232
+ "sourceUrl": "https://main--spectrum-hub--adobe.aem.live/getting-started/introduction",
281
233
  "file": "guidelines/introduction.json"
282
234
  },
283
235
  {
@@ -304,14 +256,6 @@
304
256
  "sourceUrl": "https://main--spectrum-hub--adobe.aem.live/foundations/behavior/motion",
305
257
  "file": "guidelines/motion.json"
306
258
  },
307
- {
308
- "slug": "object-styles",
309
- "title": "Object styles",
310
- "category": "designing",
311
- "status": "published",
312
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/object-styles/",
313
- "file": "guidelines/object-styles.json"
314
- },
315
259
  {
316
260
  "slug": "object-styles-overview",
317
261
  "title": "Object styles",
@@ -325,7 +269,7 @@
325
269
  "title": "Principles",
326
270
  "category": "fundamentals",
327
271
  "status": "published",
328
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/principles/",
272
+ "sourceUrl": "https://main--spectrum-hub--adobe.aem.live/getting-started/principles",
329
273
  "file": "guidelines/principles.json"
330
274
  },
331
275
  {
@@ -352,14 +296,6 @@
352
296
  "sourceUrl": "https://main--spectrum-hub--adobe.aem.live/foundations/app-frame/side-navigation-browsing-context",
353
297
  "file": "guidelines/side-navigation-browsing-context.json"
354
298
  },
355
- {
356
- "slug": "spacing",
357
- "title": "Spacing",
358
- "category": "designing",
359
- "status": "published",
360
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/spacing/",
361
- "file": "guidelines/spacing.json"
362
- },
363
299
  {
364
300
  "slug": "spacing-overview",
365
301
  "title": "Spacing overview",
@@ -376,14 +312,6 @@
376
312
  "sourceUrl": "https://main--spectrum-hub--adobe.aem.live/foundations/behavior/states",
377
313
  "file": "guidelines/states.json"
378
314
  },
379
- {
380
- "slug": "typography-fundamentals",
381
- "title": "Typography fundamentals",
382
- "category": "designing",
383
- "status": "published",
384
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/typography-fundamentals/",
385
- "file": "guidelines/typography-fundamentals.json"
386
- },
387
315
  {
388
316
  "slug": "typography-overview",
389
317
  "title": "Typography",
@@ -23,8 +23,8 @@
23
23
  "content": "Collaborative.\n\nSpectrum belongs to everyone. It's a reflection of an ever-growing community that makes decisions thoughtfully, holistically, and collectively.\n\nSpectrum examines from multiple angles, then refines, then repeats. Constantly."
24
24
  }
25
25
  ],
26
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/principles/",
27
- "lastUpdated": "2026-02-02",
26
+ "sourceUrl": "https://main--spectrum-hub--adobe.aem.live/getting-started/principles",
27
+ "lastUpdated": "2026-09-17",
28
28
  "status": "published",
29
29
  "tags": ["fundamentals"]
30
30
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/spectrum-design-data",
3
- "version": "3.3.0-beta.0",
3
+ "version": "3.3.0-beta.1",
4
4
  "description": "Spectrum design tokens in cascade format — the canonical source of truth for @adobe/spectrum-tokens",
5
5
  "type": "module",
6
6
  "repository": {
@@ -1,81 +0,0 @@
1
- {
2
- "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/guideline.schema.json",
3
- "$id": "https://opensource.adobe.com/spectrum-design-data/guidelines/app-frame-content-area.json",
4
- "name": "app-frame-content-area",
5
- "title": "App frame content area (browsing context)",
6
- "category": "designing",
7
- "documentBlocks": [
8
- {
9
- "type": "purpose",
10
- "content": "App frame content area (browsing context)"
11
- },
12
- {
13
- "type": "guideline",
14
- "content": "This layout is suitable when all content is related and unified by the primary purpose of the page. This single section can be subdivided using full-width dividers, or by creating visual groupings of content using proximity and spacing."
15
- },
16
- {
17
- "type": "guideline",
18
- "content": "Dividers are useful to separate content when using spacing alone wouldn’t be clear enough to mark the boundaries of distinct areas. Generally, more complex content with a varying alignment of objects will benefit the most from using a divider."
19
- },
20
- {
21
- "type": "guideline",
22
- "content": "The top section can also be useful to visually indicate that the content is separate and has additional affordances, such as the ability to be minimized. For example, “welcome” type content might be shown in the top section, and recent files might be shown below."
23
- },
24
- {
25
- "type": "guideline",
26
- "content": "When using horizontal sections, the page should scroll as a single unit. Consider other ways to minimize the top section if needed, such as through an additional control to show and hide content."
27
- },
28
- {
29
- "type": "guideline",
30
- "content": "The top section of a horizontal layout should be reserved for high-attention marketing messages or quick actions, and it should not be scrollable. Put infinite scrolling and longer content in the bottom section."
31
- },
32
- {
33
- "type": "guideline",
34
- "content": "This layout is suitable to separate content that’s not semantically related, and if one of the content areas can be minimized. For example, this might apply for onboarding tutorials, or to include an AI assistant."
35
- },
36
- {
37
- "type": "guideline",
38
- "content": "This layout is suitable to separate multiple groups of content that aren’t semantically related. For example, this could show several widgets and distinct marketing messages. This layout can also be useful if a user is able to customize the page."
39
- },
40
- {
41
- "type": "guideline",
42
- "content": "Make sure to consider smaller breakpoints and decide how content areas should reflow, hide, or combine. In general, show the most important information at the top, and if possible, then progressively disclose the not-as-important information."
43
- },
44
- {
45
- "type": "guideline",
46
- "content": "Backgrounds that use gradients are always placed within the app frame intentionally and with a strategic meaning. They should contribute to the visual hierarchy, not distract from it. And, their colors are directly tied to product brand color palettes."
47
- },
48
- {
49
- "type": "guideline",
50
- "content": "For example, on a Home screen, gradient backgrounds might call attention to new AI features in the product. On a Learn screen, gradient backgrounds might call attention to tutorials from new creators. On a Files screen, gradient backgrounds might not be used at all in order to focus attention on asset previews. In any context, consider where you want to draw attention and what you want to highlight for the user, what the user’s intentions might be, and how gradient backgrounds may add or detract from the goals of the page."
51
- },
52
- {
53
- "type": "guideline",
54
- "content": "While there isn’t an objective scale for each style, it can be helpful to think about backgrounds in terms of how much attention they draw, on a scale of low-to-high."
55
- },
56
- {
57
- "type": "guideline",
58
- "content": "While you may have seen past Spectrum 2 explorations showing gradients as the background in header and navigational areas, they should not be used in that context. This is because gradients that appear in the navigation of every page distract from more important information on the page, clash with other imagery, and might not work for some product segments."
59
- },
60
- {
61
- "type": "guideline",
62
- "content": "By using gradients in the content areas as backgrounds instead, there’s more flexibility to direct attention to different content and messages, depending on what’s important in the context of that page or workflow."
63
- },
64
- {
65
- "type": "guideline",
66
- "content": "Gradients are used to draw attention to important content and features. They can be used in the background of content areas. Using gradients in more than one content area results in multiple areas competing for attention. This is distracting from the task-at-hand workflows on the page."
67
- },
68
- {
69
- "type": "guideline",
70
- "content": "Gradients should always be delivered directly from the Spectrum Brand team and used as-is. Do not modify them."
71
- }
72
- ],
73
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/app-frame-content-area/",
74
- "lastUpdated": "2026-02-02",
75
- "status": "published",
76
- "tags": ["designing"],
77
- "related": [
78
- { "ref": "s2-app-frame-side-navigation-browsing-context" },
79
- { "ref": "s2-app-frame-creating-bluelines-browsing-context" }
80
- ]
81
- }
@@ -1,58 +0,0 @@
1
- {
2
- "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/guideline.schema.json",
3
- "$id": "https://opensource.adobe.com/spectrum-design-data/guidelines/app-frame-creating-bluelines.json",
4
- "name": "app-frame-creating-bluelines",
5
- "title": "Creating bluelines (browsing context)",
6
- "category": "designing",
7
- "documentBlocks": [
8
- { "type": "purpose", "content": "Creating bluelines (browsing context)" },
9
- {
10
- "type": "guideline",
11
- "content": "Accessible names vary depending on the content. Accessible names must be defined for controls that don’t have visible text labels."
12
- },
13
- {
14
- "type": "guideline",
15
- "content": "Here are some guidelines to keep in mind as you define accessible names in the app frame:"
16
- },
17
- {
18
- "type": "guideline",
19
- "content": "Any non-text element in a digital interface with a text label must have a text alternative. Here’s an example of how you might name landmark regions in an app frame:"
20
- },
21
- {
22
- "type": "guideline",
23
- "content": "Here’s an example of how you might structure heading annotations for this screen:"
24
- },
25
- {
26
- "type": "guideline",
27
- "content": "Keyboard focus order will depend on what controls are available on the page. Here’s an example of how you might define the order in the app frame:"
28
- },
29
- {
30
- "type": "guideline",
31
- "content": "Example of correct usage, support for keyboard focus for size navigation. The side navigation width is focusable and resizable by using the left and right arrow keys."
32
- },
33
- {
34
- "type": "guideline",
35
- "content": "Example of correct usage, inclusion of a Skip to main content button within the app frame header."
36
- },
37
- {
38
- "type": "guideline",
39
- "content": "When properly supported, the F6 key allows keyboard users to navigate through different regions of an application efficiently. Without this support, keyboard-only users have no means to jump to specific areas of the application, resulting in an excessive number of keystrokes to reach their desired goal."
40
- },
41
- {
42
- "type": "guideline",
43
- "content": "Here are some key quality factors to consider:"
44
- },
45
- {
46
- "type": "guideline",
47
- "content": "For mobile breakpoints, a tray is used to open and close the app frame side navigation. In this example, the keyboard focus order starts at the “Create” button and ends at the close button. Clicking on esc should also close the tray."
48
- }
49
- ],
50
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/app-frame-creating-bluelines/",
51
- "lastUpdated": "2026-02-02",
52
- "status": "published",
53
- "tags": ["designing"],
54
- "related": [
55
- { "ref": "s2-app-frame-content-area-browsing-context" },
56
- { "ref": "brand" }
57
- ]
58
- }
@@ -1,72 +0,0 @@
1
- {
2
- "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/guideline.schema.json",
3
- "$id": "https://opensource.adobe.com/spectrum-design-data/guidelines/app-frame-header.json",
4
- "name": "app-frame-header",
5
- "title": "App frame header (browsing context)",
6
- "category": "designing",
7
- "documentBlocks": [
8
- { "type": "purpose", "content": "App frame header (browsing context)" },
9
- {
10
- "type": "guideline",
11
- "content": "There are several parts of the header that are consistent across all Adobe products:"
12
- },
13
- {
14
- "type": "guideline",
15
- "content": "Shows a hamburger button on the far left of the header. This controls whether the minimized style of the side navigation (partial/full)."
16
- },
17
- { "type": "guideline", "content": "Shows navigation items in the header." },
18
- { "type": "guideline", "content": "Shows a search option in the header." },
19
- {
20
- "type": "guideline",
21
- "content": "Defines the style of the search option that's shown."
22
- },
23
- {
24
- "type": "guideline",
25
- "content": "The “skip to main content” button helps improve keyboard navigation by creating a shortcut to the main content of the page. This button is an accessibility feature to allow skipping to the first navigable HTML item."
26
- },
27
- {
28
- "type": "guideline",
29
- "content": "Shows an icon to represent the header navigation item."
30
- },
31
- {
32
- "type": "guideline",
33
- "content": "The text that is displayed as the label of the header navigation item."
34
- },
35
- {
36
- "type": "guideline",
37
- "content": "Presents the header side navigation as selected or not selected."
38
- },
39
- {
40
- "type": "guideline",
41
- "content": "Changes the header navigation item to the disabled state."
42
- },
43
- {
44
- "type": "guideline",
45
- "content": "Shows a chevron next to the label that indicates an additional menu."
46
- },
47
- {
48
- "type": "guideline",
49
- "content": "The text that is displayed as the label of the tooltip."
50
- },
51
- {
52
- "type": "guideline",
53
- "content": "As a general rule, only use one call-to-action (CTA) button, aside from any buttons used to log in or log out, as defined in the universal nav. When too many CTAs are shown at once, the messages compete for attention and dilute the ability for a focused attention hierarchy."
54
- },
55
- {
56
- "type": "guideline",
57
- "content": "If there are multiple actions, consider combining them into a single menu or use other button types. The button should represent the most important CTA across the product; for example, “Share” and “Get desktop app” are common CTAs."
58
- },
59
- {
60
- "type": "guideline",
61
- "content": "Diagram with notes about the app frame header in the editing context. If there’s a menu represented by a hamburger icon, such as the application menu in Creative Cloud, it should be shown to the left of the product logo for continuity with the browsing context. The product name can be hidden in the editing context in order to provide more room for other actions. The height of the header should be the same as in the browsing context (56 px)."
62
- }
63
- ],
64
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/app-frame-header/",
65
- "lastUpdated": "2026-02-02",
66
- "status": "published",
67
- "tags": ["designing"],
68
- "related": [
69
- { "ref": "s2-app-frame" },
70
- { "ref": "s2-app-frame-side-navigation-browsing-context" }
71
- ]
72
- }
@@ -1,138 +0,0 @@
1
- {
2
- "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/guideline.schema.json",
3
- "$id": "https://opensource.adobe.com/spectrum-design-data/guidelines/app-frame-side-navigation.json",
4
- "name": "app-frame-side-navigation",
5
- "title": "App frame side navigation (browsing context)",
6
- "category": "designing",
7
- "documentBlocks": [
8
- {
9
- "type": "purpose",
10
- "content": "App frame side navigation (browsing context)"
11
- },
12
- {
13
- "type": "guideline",
14
- "content": "The side navigation is always used in partnership with the header, and never instead of it. When used, the side navigation holds the main categories of product functionality, such as workflow-related navigational items (e.g., Home, Files, Learn, Dashboards). Don’t use this for categorizing marketing pages."
15
- },
16
- {
17
- "type": "guideline",
18
- "content": "Side navigation consists of a few parts:"
19
- },
20
- {
21
- "type": "guideline",
22
- "content": "Additionally, this button should not be used outside of the app frame context. It has unique animations between expanding and collapsing that are optimized for the app frame side navigation panel."
23
- },
24
- {
25
- "type": "guideline",
26
- "content": "Allows the side navigation to be minimized by the user."
27
- },
28
- {
29
- "type": "guideline",
30
- "content": "The partial style displays icon-only side navigation items when minimized. The full style hides the side navigation when minimized."
31
- },
32
- {
33
- "type": "guideline",
34
- "content": "Shows a create button at the top of the panel."
35
- },
36
- { "type": "guideline", "content": "Enables drag on the side navigation." },
37
- {
38
- "type": "guideline",
39
- "content": "If the side navigation panel can be minimized (Can be minimized: true), dragging to the min width (expanded) will collapse the side navigation into the minimized state."
40
- },
41
- {
42
- "type": "guideline",
43
- "content": "The minimum width that the side navigation panel can be adjusted to."
44
- },
45
- {
46
- "type": "guideline",
47
- "content": "The default width that the side navigation panel appears in."
48
- },
49
- {
50
- "type": "guideline",
51
- "content": "The text that is displayed as the label of the app frame side navigation item, to supplement the icon."
52
- },
53
- {
54
- "type": "guideline",
55
- "content": "Hides the label, making the app frame side navigation item icon-only."
56
- },
57
- {
58
- "type": "guideline",
59
- "content": "The number of lines that is shown before the label is truncated."
60
- },
61
- {
62
- "type": "guideline",
63
- "content": "After the user clicks on an app frame side navigation item, the left visual bar will turn gray-800, text will bold, and color will change to content-neutral."
64
- },
65
- {
66
- "type": "guideline",
67
- "content": "Changes the side navigation item to the disabled state."
68
- },
69
- {
70
- "type": "guideline",
71
- "content": "The text that is displayed as the label of the tooltip."
72
- },
73
- {
74
- "type": "guideline",
75
- "content": "Use the overlay variant of the app frame: side navigation (browsing) component for smaller breakpoints. The overlay is triggered via the hamburger menu in the header (rather than a touchpoint at the bottom)."
76
- },
77
- {
78
- "type": "guideline",
79
- "content": "Although 768 px is the recommended breakpoint to begin displaying the overlay designs, each product team should determine which breakpoint best suits their needs."
80
- },
81
- {
82
- "type": "guideline",
83
- "content": "The divider at the bottom of the side navigation is an intentional visual element that separates overflow side navigation items and end section items from the state control icon."
84
- },
85
- {
86
- "type": "guideline",
87
- "content": "The end section is optional and used to contain navigation items in a separate category that is secondary to the main navigation items. Categories, when defined, should readily communicate a clear purpose and be meaningful to users. Items placed here sit on a separate area. When resized to a smaller height, the items should append onto the start section and scroll together."
88
- },
89
- {
90
- "type": "guideline",
91
- "content": "The minimum width is customizable, depending on the number of levels:"
92
- },
93
- {
94
- "type": "guideline",
95
- "content": "If the side navigation contains user-generated content (like shortcuts to folders and files), enabling resizing can be a good way to improve usability by respecting user content, without needing to predict the length of labels that users might input."
96
- },
97
- {
98
- "type": "guideline",
99
- "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."
100
- },
101
- {
102
- "type": "guideline",
103
- "content": "Navigation items should never be so long that they require truncation, except in instances where navigation is user-generated (e.g., folder and file names)."
104
- },
105
- {
106
- "type": "guideline",
107
- "content": "If possible, the default width should auto-adjust to the longest string in the navigation in order to accommodate all translations. As a last resort for long strings, specific line breaks can be built into the implementation. These line breaks depend on the content, and requires manual handling by Globalization engineers."
108
- },
109
- {
110
- "type": "guideline",
111
- "content": "When navigation items are shown in both the side navigation and header at the same time, the hierarchy and relationships between them become unclear. If the side navigation is used, don’t put any navigation items in the header."
112
- },
113
- {
114
- "type": "guideline",
115
- "content": "Supporting multiple states (default, and partial or fully minimized style) provides users with the option to choose their preferred layout based on their own preferences. In user studies, individual preference is the biggest factor when it comes to whether or not people want to view labels by default."
116
- },
117
- {
118
- "type": "guideline",
119
- "content": "If supporting multiple states, consider showing the side navigation in the expanded state by default, and preserve user preferences across pages and sessions. If minimizing the side navigation is not supported, show the side navigation in the expanded state. Showing labels by default increases recognition and familiarity."
120
- },
121
- {
122
- "type": "guideline",
123
- "content": "There are some app frame-specific constraints for the side navigation. Icons are required at the parent level. Nested items can have no icon, but the parent level must have an icon."
124
- },
125
- {
126
- "type": "guideline",
127
- "content": "Diagram describing notes about the side navigation for the app frame, in the editing context. While toolbars share the same location as the app frame side navigation in a browsing context, toolbars in an editing context serve a different purpose: to readily select commonly used tools, rather than to navigate between pages. The behavior and interaction of toolbars doesn’t need to mirror the side navigation and should instead best serve user needs in an editing context. For example, the option to show and hide tool labels can be an additional customization option and doesn’t need to be controlled by the hamburger menu, which is used to display the application menu in Creative Cloud."
128
- }
129
- ],
130
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/app-frame-side-navigation/",
131
- "lastUpdated": "2026-02-02",
132
- "status": "published",
133
- "tags": ["designing"],
134
- "related": [
135
- { "ref": "s2-app-frame-header-browsing-context" },
136
- { "ref": "s2-app-frame-content-area-browsing-context" }
137
- ]
138
- }
@@ -1,62 +0,0 @@
1
- {
2
- "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/guideline.schema.json",
3
- "$id": "https://opensource.adobe.com/spectrum-design-data/guidelines/containers.json",
4
- "name": "containers",
5
- "title": "Containers",
6
- "category": "designing",
7
- "documentBlocks": [
8
- {
9
- "type": "purpose",
10
- "content": "Examples of containers: two cards with different sizes and layout options, and a select box.\"\n\nAll containers share a set of defined styles.\n\nInternal padding is dependent on component size, density, and platform scale, all of which vary for specific components and patterns.\n\nThis medium card uses spacing-300 for internal padding.\n\nNote that specific components might have different options and states.\n\nExample of an app frame with a side navigation."
11
- },
12
- {
13
- "type": "guideline",
14
- "content": "Containers separate concepts with distinct purposes."
15
- },
16
- {
17
- "type": "guideline",
18
- "content": "In Spectrum 2, containers have more defined rules to help guide in the creation of custom containers for product-specific contexts. Containers are used across Spectrum 2 interfaces in multiple ways, but the commonality they share is that they group related concepts together into distinct areas. Some usages of containers have more detailed guidelines."
19
- },
20
- {
21
- "type": "guideline",
22
- "content": "For example, a card uses a container and inherits its properties, but it can only represent a distinct object (such as an individual asset or product). A block of marketing material containing multiple concepts (like subscription information plus actions to take) is grouped together in a container, but is not considered a card. Whether broad or specific, a user should be able to readily tell the purpose of a container."
23
- },
24
- {
25
- "type": "guideline",
26
- "content": "Examples of containers: two cards with different sizes and layout options, and a select box."
27
- },
28
- {
29
- "type": "guideline",
30
- "content": "All containers share a set of defined styles."
31
- },
32
- {
33
- "type": "guideline",
34
- "content": "Internal padding is dependent on component size, density, and platform scale, all of which vary for specific components and patterns."
35
- },
36
- {
37
- "type": "guideline",
38
- "content": "This medium card uses spacing-300 for internal padding."
39
- },
40
- {
41
- "type": "guideline",
42
- "content": "In this group of containers — each representing a product — different container styles can be used to draw attention to a specific item. In this case, the emphasized container is paired with a badge, and contrasts against the more subdued containers with filled (gray) backgrounds."
43
- },
44
- {
45
- "type": "guideline",
46
- "content": "Note that specific components might have different options and states."
47
- },
48
- {
49
- "type": "guideline",
50
- "content": "A consistent app frame helps create a sense of brand unity and helps users feel comfortable and familiar with our products. Predictable navigation is also especially helpful for users who work across multiple applications, and it makes it easier to learn how to use new products."
51
- },
52
- {
53
- "type": "guideline",
54
- "content": "Example of an app frame with a side navigation."
55
- }
56
- ],
57
- "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/containers/",
58
- "lastUpdated": "2026-02-02",
59
- "status": "published",
60
- "tags": ["designing"],
61
- "related": [{ "ref": "states" }, { "ref": "s2-app-frame" }]
62
- }