@adobe/spectrum-design-data 3.3.0-beta.2 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion.json +67 -15
- package/components/action-bar.json +30 -9
- package/components/action-button.json +92 -39
- package/components/action-group.json +137 -18
- package/components/alert-banner.json +27 -8
- package/components/alert-dialog.json +55 -34
- package/components/avatar-group.json +35 -9
- package/components/avatar.json +105 -29
- package/components/badge.json +163 -56
- package/components/breadcrumbs.json +107 -26
- package/components/button-group.json +63 -19
- package/components/button.json +105 -61
- package/components/calendar.json +74 -8
- package/components/card.json +13 -0
- package/components/cards.json +46 -31
- package/components/checkbox-group.json +85 -16
- package/components/checkbox.json +97 -27
- package/components/close-button.json +75 -20
- package/components/coach-indicator.json +44 -14
- package/components/coach-mark.json +26 -8
- package/components/color-area.json +100 -20
- package/components/color-handle.json +46 -25
- package/components/color-loupe.json +14 -2
- package/components/color-slider.json +129 -26
- package/components/color-wheel.json +91 -17
- package/components/combo-box.json +189 -50
- package/components/contextual-help.json +126 -80
- package/components/date-field.json +7 -0
- package/components/date-picker.json +127 -24
- package/components/divider.json +38 -12
- package/components/drop-zone.json +37 -18
- package/components/field-label.json +62 -21
- package/components/heading.json +7 -0
- package/components/help-text.json +53 -16
- package/components/illustrated-message.json +85 -21
- package/components/in-line-alert.json +53 -13
- package/components/link.json +63 -24
- package/components/list-view.json +80 -15
- package/components/menu.json +181 -45
- package/components/meter.json +78 -24
- package/components/number-field.json +175 -34
- package/components/picker.json +188 -42
- package/components/popover.json +126 -37
- package/components/progress-bar.json +108 -23
- package/components/progress-circle.json +55 -12
- package/components/radio-button.json +67 -14
- package/components/radio-group.json +132 -28
- package/components/rating.json +38 -9
- package/components/search-field.json +126 -34
- package/components/segmented-control.json +70 -21
- package/components/select-box.json +103 -29
- package/components/side-navigation.json +69 -28
- package/components/slider.json +155 -39
- package/components/standard-dialog.json +88 -16
- package/components/status-light.json +136 -41
- package/components/steplist.json +24 -5
- package/components/swatch-group.json +55 -19
- package/components/swatch.json +79 -24
- package/components/switch.json +79 -31
- package/components/table.json +73 -26
- package/components/tabs.json +52 -22
- package/components/tag-field.json +60 -14
- package/components/tag-group.json +56 -16
- package/components/tag.json +78 -21
- package/components/takeover-dialog.json +61 -10
- package/components/text-area.json +205 -49
- package/components/text-field.json +170 -42
- package/components/thumbnail.json +63 -22
- package/components/time-field.json +7 -0
- package/components/toast.json +50 -29
- package/components/tooltip.json +87 -27
- package/components/tree-view.json +147 -45
- package/components/user-card.json +7 -0
- package/guidelines/app-frame-overview.json +44 -46
- package/guidelines/attention-hierarchy.json +22 -13
- package/guidelines/background-layers.json +10 -80
- package/guidelines/brand.json +12 -32
- package/guidelines/colors.json +17 -47
- package/guidelines/developer-overview.json +9 -25
- package/guidelines/faqs.json +9 -96
- package/guidelines/fonts.json +14 -29
- package/guidelines/grays.json +44 -17
- package/guidelines/icon-fundamentals.json +18 -7
- package/guidelines/manifest.json +15 -367
- package/guidelines/motion.json +16 -17
- package/guidelines/principles.json +8 -7
- package/guidelines/resources.json +15 -21
- package/guidelines/states.json +11 -16
- package/guidelines/using-icons.json +44 -33
- package/package.json +2 -2
- package/registry/platform-implementations.json +30 -0
- package/guidelines/ai-resource-guide.json +0 -50
- package/guidelines/applying-the-type-system.json +0 -67
- package/guidelines/bi-directionality.json +0 -57
- package/guidelines/border-width.json +0 -58
- package/guidelines/cognitive.json +0 -197
- package/guidelines/component-spacing.json +0 -61
- package/guidelines/contact-us.json +0 -67
- package/guidelines/content-area-browsing-context.json +0 -65
- package/guidelines/content-design-grammar-and-mechanics.json +0 -241
- package/guidelines/content-design-voice-and-tone.json +0 -37
- package/guidelines/content-grammar-and-mechanics.json +0 -252
- package/guidelines/content-language-and-inclusivity-writing-about-people.json +0 -103
- package/guidelines/content-language-and-inclusivity-writing-with-visuals.json +0 -70
- package/guidelines/content-voice-and-tone.json +0 -47
- package/guidelines/creating-bluelines-browsing-context.json +0 -91
- package/guidelines/design-tokens.json +0 -158
- package/guidelines/drop-shadow.json +0 -68
- package/guidelines/grammar-and-mechanics.json +0 -252
- package/guidelines/header-browsing-context.json +0 -40
- package/guidelines/illustration.json +0 -105
- package/guidelines/in-product-word-list.json +0 -29
- package/guidelines/inclusive-design.json +0 -101
- package/guidelines/inclusive-ux-writing.json +0 -30
- package/guidelines/internationalization.json +0 -87
- package/guidelines/language-and-inclusivity-writing-about-people.json +0 -85
- package/guidelines/language-and-inclusivity-writing-with-visuals.json +0 -61
- package/guidelines/layout-and-structure-containers.json +0 -47
- package/guidelines/layout-and-structure-spacing-overview.json +0 -66
- package/guidelines/layout-spacing.json +0 -39
- package/guidelines/object-styles-overview.json +0 -17
- package/guidelines/rounding.json +0 -73
- package/guidelines/side-navigation-browsing-context.json +0 -74
- package/guidelines/spacing-overview.json +0 -45
- package/guidelines/support.json +0 -113
- package/guidelines/typography-overview.json +0 -43
- package/guidelines/typography-system.json +0 -208
- package/guidelines/visual-language-containers.json +0 -36
- package/guidelines/voice-and-tone.json +0 -47
- package/guidelines/whats-new.json +0 -32
- package/guidelines/writing-about-people.json +0 -103
- package/guidelines/writing-for-errors.json +0 -120
- package/guidelines/writing-for-onboarding.json +0 -119
- package/guidelines/writing-for-readability.json +0 -54
- package/guidelines/writing-with-visuals.json +0 -70
- package/registry/platform-extensions/web-components-states.json +0 -58
package/guidelines/motion.json
CHANGED
|
@@ -7,36 +7,35 @@
|
|
|
7
7
|
"documentBlocks": [
|
|
8
8
|
{
|
|
9
9
|
"type": "purpose",
|
|
10
|
-
"content": "Spectrum 2 builds on top of the
|
|
10
|
+
"content": "Spectrum 2 builds on top of the [existing motion guidelines for the design system](https://spectrum.corp.adobe.com/page/motion/): that motion is always purposeful, intuitive, and seamless. With this update, we also use motion to draw attention to areas where we want to add personality. No matter what, the usage of motion should be adding meaning to an experience. And, motion over large surface areas needs to support browser and system settings for reduced motion.\n\nMotion is also an important part of brand expression. Just like tone in language, tone in motion can range from formal and direct to lighthearted and subtle.\n\nMotion in Spectrum 2 is categorized into the areas of **directional** motion, **interaction** motion, and **wayfinding** motion. Wayfinding motion is still in development."
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
13
|
"type": "guideline",
|
|
14
|
-
"content": "Linear motion indicates forward movement and a sentiment of progress. When emphasizing movement to a different section, page, or item (such as a button or link), the destination is readily clear and minimally disruptive
|
|
14
|
+
"content": "Linear motion indicates forward movement and a sentiment of progress. When emphasizing movement to a different section, page, or item (such as a button or link), the destination is readily clear and minimally disruptive.\n\nIf you're creating a custom animation, consider [RTL (right-to-left) languages](https://spectrum.corp.adobe.com/page/bi-directionality/) and also how the meaning of motion might differ depending on cultural context.\n\nProgress bars communicate forward progression. They work well to show determinate (finite) progress.\n\nIn the example of a button, a static arrow icon facing toward the right already indicates forward movement. When linear motion is added to the arrow upon hover, the movement is emphasized. Use this button option with motion sparingly, only on the most important action(s) on a page."
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"type": "guideline",
|
|
18
|
-
"content": "Diagonal motion indicates larger movement, and can be potentially disruptive. This type of motion can be used to emphasize that there
|
|
18
|
+
"content": "Diagonal motion indicates larger movement, and can be potentially disruptive. This type of motion can be used to emphasize that there's a switch in context happening, like linking out to a different view or destination.\n\nIn the example of a link, a static arrow icon facing the top right already indicates a potentially disruptive action. When diagonal motion is added to the arrow on hover, the meaning of the arrow is emphasized. Use this link option with motion sparingly, and only to communicate that there will be a switch in context."
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"type": "guideline",
|
|
22
|
-
"content": "Clockwise motion indicates a holding pattern that
|
|
22
|
+
"content": "Clockwise motion indicates a holding pattern that's repetitive and doesn't have clear forward momentum or progress. This is most often used for loading indicators.\n\nProgress circles have clockwise motion and work well to show indeterminate (infinite) progress."
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
"type": "guideline",
|
|
26
|
-
"content": "Motion shows users feedback that, when interacting with the UI, their actions are registering with a system. It
|
|
26
|
+
"content": "Motion shows users feedback that, when interacting with the UI, their actions are registering with a system. It's not the only way to show feedback, but it helps objects to feel more dynamic and responsive. It also can help communicate meaning, or add emphasis that something is happening that requires attention."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "guideline",
|
|
30
|
+
"content": "A [microinteraction](https://www.nngroup.com/articles/microinteractions/) is a single action (like a click, tap, or swipe) which triggers a response (like a transition or animation). In Spectrum 2, microinteractions offer moments of personality that are reflective of product branding."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "guideline",
|
|
34
|
+
"content": "In this example, the button scales down on the down state, emphasizing that something — the action of selecting — happened."
|
|
27
35
|
}
|
|
28
36
|
],
|
|
29
|
-
"sourceUrl": "https://
|
|
30
|
-
"lastUpdated": "2026-
|
|
37
|
+
"sourceUrl": "https://s2.spectrum.corp.adobe.com/page/motion/",
|
|
38
|
+
"lastUpdated": "2026-02-02",
|
|
31
39
|
"status": "published",
|
|
32
|
-
"tags": [
|
|
33
|
-
"Motion",
|
|
34
|
-
"Directional motion",
|
|
35
|
-
"Linear motion",
|
|
36
|
-
"Diagonal motion",
|
|
37
|
-
"Clockwise motion",
|
|
38
|
-
"Interaction motion",
|
|
39
|
-
"Wayfinding motion",
|
|
40
|
-
"Microinteractions"
|
|
41
|
-
]
|
|
40
|
+
"tags": ["designing"]
|
|
42
41
|
}
|
|
@@ -8,22 +8,23 @@
|
|
|
8
8
|
{ "type": "purpose", "content": "Principles" },
|
|
9
9
|
{
|
|
10
10
|
"type": "guideline",
|
|
11
|
-
"content": "
|
|
11
|
+
"content": "Rational.\n\nSpectrum is based on real-world situations. Every component, pattern, and principle is informed by thoughtful testing. Every decision is backed by thorough interdisciplinary research.\n\nSpectrum is not a rigid set of rules for how to build products, but rather a set of adaptable resources for making experiences feel contextual, cohesive, and performant."
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"type": "guideline",
|
|
15
|
-
"content": "
|
|
15
|
+
"content": "Human.\n\nSpectrum places people's needs first. It's deeply committed to a high standard of inclusivity, accessibility, honesty, and respect.\n\nSpectrum is adaptable to meet as many user expectations, platform requirements, and product visions as possible. It's always what it needs to be, accommodating a flexible range of expression. It balances the human needs of utility and joy."
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"type": "guideline",
|
|
19
|
-
"content": "
|
|
19
|
+
"content": "Focused.\n\nSpectrum delivers what's needed, when it's needed. Every decoration is purposeful and meaningful. Every communication touchpoint is relevant.\n\nSpectrum experiences are built to a high standard of quality. Everything incorporates attention to details, and that creates experiences that look and feel well-crafted. Things are delightful to use because they balance functionality and expression."
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"type": "guideline",
|
|
23
|
-
"content": "
|
|
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://
|
|
27
|
-
"lastUpdated": "2026-
|
|
28
|
-
"status": "published"
|
|
26
|
+
"sourceUrl": "https://s2.spectrum.corp.adobe.com/page/principles/",
|
|
27
|
+
"lastUpdated": "2026-02-02",
|
|
28
|
+
"status": "published",
|
|
29
|
+
"tags": ["fundamentals"]
|
|
29
30
|
}
|
|
@@ -8,58 +8,52 @@
|
|
|
8
8
|
{ "type": "purpose", "content": "Resources" },
|
|
9
9
|
{
|
|
10
10
|
"type": "guideline",
|
|
11
|
-
"content": "
|
|
11
|
+
"content": "The Spectrum 2 Figma libraries are the primary resource for Spectrum 2 components, styles, and variables. These libraries are stable, so you can use the designs in production."
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"type": "guideline",
|
|
15
|
-
"content": "
|
|
15
|
+
"content": "An example of the Spectrum 2 library: the action button page."
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"type": "guideline",
|
|
19
|
-
"content": "
|
|
19
|
+
"content": "This GitHub repository houses Spectrum’s design tokens, which are primarily name-value pairs used to store design decisions and distributed in a way that platforms, implementations, and products can use across design tools and coding languages."
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"type": "guideline",
|
|
23
|
-
"content": "
|
|
23
|
+
"content": "This tool allows you to search for token names or values, filter values by scale and theme, and explore the relationship between Spectrum’s tokens by selecting tokens to see their connections."
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"type": "guideline",
|
|
27
|
-
"content": "
|
|
27
|
+
"content": "To support this transition, S2/Color has been removed from the inheritance chain in the Figma libraries. Designers should update their files to replace color styles with color variables. Following the steps in the guide will help ensure your files remain stable and aligned with the Spectrum system moving forward."
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"type": "guideline",
|
|
31
|
-
"content": "
|
|
31
|
+
"content": "These changes are for Spectrum 2 libraries. They do not apply to Spectrum 1."
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
"type": "guideline",
|
|
35
|
-
"content": "
|
|
35
|
+
"content": "To support the new font, we’ve updated our default line-height values and introduced symmetrical vertical padding token values to our design system. The Spectrum 2 typography guide includes details about what’s changing, what’s staying the same, and options for updating design files or implementations."
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
38
|
"type": "guideline",
|
|
39
|
-
"content": "
|
|
39
|
+
"content": "These changes are for Spectrum 2 libraries and implementations. They do not apply to Spectrum 1 components."
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"type": "guideline",
|
|
43
|
-
"content": "
|
|
43
|
+
"content": "Spectrum 2 includes two new grays — gray-25 and gray-1000 — plus an update to the rest of the 11 grays. The migration guide goes into more detail about what’s changing and what’s staying the same."
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
"type": "guideline",
|
|
47
|
-
"content": "
|
|
47
|
+
"content": "Creating interfaces that support right-to-left (RTL) and bi-directional (Bidi) languages is essential to ensuring that our products are inclusive of global audiences. These guides, created by the Adobe International team, offer comprehensive frameworks on how to design and build for both web and mobile components."
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
"type": "guideline",
|
|
51
|
-
"content": "
|
|
51
|
+
"content": "The Adobe Design Brand team has created Spectrum 2-inspired desktop and mobile backgrounds for you to download."
|
|
52
52
|
}
|
|
53
53
|
],
|
|
54
|
-
"sourceUrl": "https://
|
|
55
|
-
"lastUpdated": "2026-
|
|
54
|
+
"sourceUrl": "https://s2.spectrum.corp.adobe.com/page/resources/",
|
|
55
|
+
"lastUpdated": "2026-02-02",
|
|
56
56
|
"status": "published",
|
|
57
|
-
"tags": [
|
|
58
|
-
|
|
59
|
-
"Design tokens",
|
|
60
|
-
"Spectrum Web Components",
|
|
61
|
-
"implementation",
|
|
62
|
-
"guides",
|
|
63
|
-
"resources"
|
|
64
|
-
]
|
|
57
|
+
"tags": ["support"],
|
|
58
|
+
"related": [{ "ref": "contact" }]
|
|
65
59
|
}
|
package/guidelines/states.json
CHANGED
|
@@ -8,32 +8,27 @@
|
|
|
8
8
|
{ "type": "purpose", "content": "States" },
|
|
9
9
|
{
|
|
10
10
|
"type": "guideline",
|
|
11
|
-
"content": "In Spectrum 2, some components use a change in size instead of color to communicate a down state. This gives the illusion of objects being pressed-in, and makes interactions more dynamic and responsive.
|
|
11
|
+
"content": "In Spectrum 2, some components use a change in size instead of color to communicate a down state. This gives the illusion of objects being pressed-in, and makes interactions more dynamic and responsive."
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"type": "guideline",
|
|
15
|
-
"content": "Disabled states generally stay the same from Spectrum 1, but there have been some minor updates to specific components. For example, a text field retains the outline style when disabled, to more closely match its default state.
|
|
15
|
+
"content": "[Disabled states](https://spectrum.corp.adobe.com/page/states/#Disabled) generally stay the same from Spectrum 1, but there have been some minor updates to specific components. For example, a text field retains the outline style when disabled, to more closely match its default state."
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"type": "guideline",
|
|
19
|
-
"content": "Selected states use a primary style by default, generally through a gray-800 fill. Some have an accent color option that can be used to draw emphasis. This is primarily helpful in contexts with a specific and narrowly-scoped goal (for example, in a dialog), or when there
|
|
19
|
+
"content": "Selected states use a primary style by default, generally through a gray-800 fill. Some have an accent color option that can be used to draw emphasis. This is primarily helpful in contexts with a specific and narrowly-scoped goal (for example, in a dialog), or when there's a single, clear call to action within a page (for example, a \"Create\" button)."
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"type": "guideline",
|
|
23
|
-
"content": "
|
|
23
|
+
"content": "When there's many groups of controls that require the same amount of attention (such as in a panel) the not emphasized option works best. For more details about this concept, view [Attention hierarchy](https://s2.spectrum.corp.adobe.com/page/attention-hierarchy/)."
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "guideline",
|
|
27
|
+
"content": "A dragged state has a unique drop shadow to draw attention to the dragged object. Learn more about [drop shadows](https://s2.spectrum.corp.adobe.com/page/object-styles/#drop-shadow)."
|
|
24
28
|
}
|
|
25
29
|
],
|
|
26
|
-
"sourceUrl": "https://
|
|
27
|
-
"lastUpdated": "2026-
|
|
30
|
+
"sourceUrl": "https://s2.spectrum.corp.adobe.com/page/states/",
|
|
31
|
+
"lastUpdated": "2026-02-02",
|
|
28
32
|
"status": "published",
|
|
29
|
-
"tags": [
|
|
30
|
-
"states",
|
|
31
|
-
"hover",
|
|
32
|
-
"down",
|
|
33
|
-
"keyboard focus",
|
|
34
|
-
"disabled",
|
|
35
|
-
"selected",
|
|
36
|
-
"dragged",
|
|
37
|
-
"drop shadow"
|
|
38
|
-
]
|
|
33
|
+
"tags": ["designing"]
|
|
39
34
|
}
|
|
@@ -8,89 +8,100 @@
|
|
|
8
8
|
{ "type": "purpose", "content": "Using icons" },
|
|
9
9
|
{
|
|
10
10
|
"type": "guideline",
|
|
11
|
-
"content": "
|
|
11
|
+
"content": "Workflow icons are graphical metaphors or symbols that users interact with to navigate and manipulate objects. They maintain a consistent size and style within each platform to ensure visual harmony and usability. While consistency is key, it is now fairly common to combine different icon scales to support hierarchy and context."
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"type": "guideline",
|
|
15
|
-
"content": "
|
|
15
|
+
"content": "UI icons are atomic pieces — like arrows, crosses, or chevrons — that are part of a component. They aren’t metaphorical per se, but they’re an indication of how users interact with a component (for example, what happens when you click on a disclosure chevron or drag handle in a panel). Unlike workflow icons, UI icons come in assorted sizes."
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"type": "guideline",
|
|
19
|
-
"content": "
|
|
19
|
+
"content": "Status badges are indicators that communicate a variety of statuses or states, such as presence, validity, completeness, and more. Premium badges indicate that a feature is only available to paying customers."
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"type": "guideline",
|
|
23
|
-
"content": "
|
|
23
|
+
"content": "Spectrum 2 workflow icons come in two sizes per platform, but with one stroke weight: 1.5 px."
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"type": "guideline",
|
|
27
|
-
"content": "
|
|
27
|
+
"content": "The primary size for Desktop/Web is a canvas of 20 px with the icon being \\~18 px. There’s a secondary size for UI areas — like a layers panel, lists, or cards — which require smaller versions and come in a 16 px canvas with the icon being \\~14 px."
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"type": "guideline",
|
|
31
|
-
"content": "
|
|
31
|
+
"content": "The equivalent for Mobile is the primary size of the canvas at 24 px with the icon being \\~22 px. The secondary size canvas is 20 px with the icon being \\~18px."
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
"type": "guideline",
|
|
35
|
-
"content": "
|
|
35
|
+
"content": "In Spectrum components, workflow icons scale up or down slightly when they’re used. For example: a 20 px icon in a medium-sized component will be slightly larger in a large-sized component, and smaller in a small-sized component. UI icons come in their respective size range, since Spectrum components treat these differently."
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
38
|
"type": "guideline",
|
|
39
|
-
"content": "S2
|
|
39
|
+
"content": "“S2” is the prefix for Spectrum 2 icons."
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"type": "guideline",
|
|
43
|
-
"content": "
|
|
43
|
+
"content": "Here’s a breakdown of each part of the icon naming convention:"
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
"type": "guideline",
|
|
47
|
-
"content": "
|
|
47
|
+
"content": "An example of the naming convention for Spectrum 2 (S2) icons."
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
"type": "guideline",
|
|
51
|
-
"content": "
|
|
51
|
+
"content": "Keeping one stroke weight consistent within a size range helps to balance out and contrast the visual weight. For Web and Desktop platforms, icons are designed at a 20 px canvas as default with a 1.5 px stroke, resulting in a 1.64 px stroke when sized up to 24 px for mobile. This helps keep a unified look, and it builds icons efficiently since it’s not necessary to redraw them for each platform."
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
54
|
"type": "guideline",
|
|
55
|
-
"content": "
|
|
55
|
+
"content": "All icons with angles get a 1.5 px rounding treatment to achieve a rounder appearance. Inner corners are slightly rounded, and all stroke ends have rounded end caps. By default, the corner radius can be decreased in case a metaphor requires pointy edges."
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
"type": "guideline",
|
|
59
|
-
"content": "
|
|
59
|
+
"content": "Icon designs include a safe area to ensure there’s flexibility for finding the best positioning and balance in a layout. The main shape should be centered, and modifier placement is primarily at the bottom right corner of the canvas. Notification dots appear at the top right corner (these are mostly added programmatically)."
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
|
-
"type": "
|
|
63
|
-
"content": "
|
|
64
|
-
"dont": "All icons are crafted with a specific stroke weight, size, and canvas to match a larger icon set. Resizing or scaling them can change the appearance, creating inconsistency within a product. Ask for more sizes by submitting a request to the Icons team."
|
|
62
|
+
"type": "guideline",
|
|
63
|
+
"content": "The intersections of badge/modifier placement."
|
|
65
64
|
},
|
|
66
65
|
{
|
|
67
|
-
"type": "
|
|
68
|
-
"content": "
|
|
69
|
-
|
|
66
|
+
"type": "guideline",
|
|
67
|
+
"content": "The vertical spacing between icons and text is adjusted to create balance."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "guideline",
|
|
71
|
+
"content": "For example: in a medium-sized component, shifting the text box 1 px up and the icon box 1 px down inside a button better balances out the appearance and refines the relationship with text in Adobe Clean Medium."
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"type": "guideline",
|
|
75
|
+
"content": "An example of icon and text alignment in a button."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"type": "guideline",
|
|
79
|
+
"content": "An example of a quiet action button with a 16 px icon."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"type": "guideline",
|
|
83
|
+
"content": "The new SVG native format for icons allows for automatic tinting to match different states (hover, selected, etc.) and can programmatically switch depending on UI brightness or color theme. It’s not about tinting the whole SVG in one color, but tinting single elements inside the SVG. To do this, the new SVGs use named CSS variables to set color values for every element. There will be Spectrum tokens for this, so automatic tinting will work out-of-the-box in any product using Spectrum CSS."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"type": "guideline",
|
|
87
|
+
"content": "For other apps, it will be easier to add the needed color information to their own CSS. Transparencies will be used to achieve tints of the primary icon color, making it easy to use at least the gray tone when it’s not possible to work with CSS variables."
|
|
70
88
|
},
|
|
71
89
|
{
|
|
72
90
|
"type": "guideline",
|
|
73
|
-
"content": "
|
|
91
|
+
"content": "Example of SVG code. The highlighted sections show that two dynamic colors will be changed programmatically, and that there's a white exclamation mark which should always be displayed in white."
|
|
74
92
|
},
|
|
75
93
|
{
|
|
76
94
|
"type": "guideline",
|
|
77
|
-
"content": "
|
|
95
|
+
"content": "If you diverge from Spectrum colors, you’ll need to make sure that your design has enough contrast between the icon and the background. Use subtle fills in light and dark themes to maintain legibility without overpowering the UI. Make sure that the icons remain legible and distinguishable across varied backgrounds and themes."
|
|
78
96
|
},
|
|
79
97
|
{
|
|
80
98
|
"type": "guideline",
|
|
81
|
-
"content": "
|
|
99
|
+
"content": "The library currently only includes a subset of icons, and are for mock-up purposes only. If you need to create a mock-up with an icon that isn’t available yet, just use a placeholder icon. Don’t use unapproved icons in your work (for example, downloaded from Noun Project, or icons you’ve created yourself)."
|
|
82
100
|
}
|
|
83
101
|
],
|
|
84
|
-
"sourceUrl": "https://
|
|
85
|
-
"lastUpdated": "2026-
|
|
102
|
+
"sourceUrl": "https://s2.spectrum.corp.adobe.com/page/using-icons/",
|
|
103
|
+
"lastUpdated": "2026-02-02",
|
|
86
104
|
"status": "published",
|
|
87
|
-
"tags": [
|
|
88
|
-
|
|
89
|
-
"Workfront",
|
|
90
|
-
"Icon Finder",
|
|
91
|
-
"Noun Project",
|
|
92
|
-
"naming convention",
|
|
93
|
-
"UI icons",
|
|
94
|
-
"workflow icons"
|
|
95
|
-
]
|
|
105
|
+
"tags": ["designing"],
|
|
106
|
+
"related": [{ "ref": "icon-fundamentals" }, { "ref": "illustrations" }]
|
|
96
107
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adobe/spectrum-design-data",
|
|
3
|
-
"version": "3.3.0
|
|
3
|
+
"version": "3.3.0",
|
|
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": {
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"ajv": "^8.12.0",
|
|
64
64
|
"ajv-formats": "^3.0.1",
|
|
65
|
-
"@adobe/design-data-spec": "4.
|
|
65
|
+
"@adobe/design-data-spec": "4.4.0"
|
|
66
66
|
},
|
|
67
67
|
"scripts": {}
|
|
68
68
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/registry-value.json",
|
|
3
|
+
"type": "platform-implementation",
|
|
4
|
+
"description": "Machine-readable ids for platform-manifest implementations (repos or in-monorepo directories that own a Layer 2 platform manifest.json). Distinct from platforms.json, which enumerates device targets (desktop/mobile/web/ios/android) referenced by token names — this registry enumerates concrete implementation projects a manifest's `platform` field may declare (spec/manifest.md#identity-fields). Referencing an id here is a SHOULD, not a MUST: a manifest may declare a `platform` value not yet listed while a new implementation is incubating.",
|
|
5
|
+
"values": [
|
|
6
|
+
{
|
|
7
|
+
"id": "react-spectrum",
|
|
8
|
+
"label": "React Spectrum",
|
|
9
|
+
"description": "Adobe's React implementation of Spectrum, incubating its platform manifest at platforms/react-spectrum/ ahead of an eventual hand-off to the React Spectrum team.",
|
|
10
|
+
"repository": "https://github.com/adobe/react-spectrum"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"id": "web-components",
|
|
14
|
+
"label": "Spectrum Web Components",
|
|
15
|
+
"description": "Adobe's Web Components implementation of Spectrum, incubating its platform manifest at platforms/web-components/ ahead of an eventual hand-off to the Spectrum Web Components team.",
|
|
16
|
+
"repository": "https://github.com/adobe/spectrum-web-components"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"id": "ios",
|
|
20
|
+
"label": "Spectrum iOS",
|
|
21
|
+
"description": "Adobe's iOS implementation of Spectrum, with its platform manifest already externalized (see epic h890.22).",
|
|
22
|
+
"repository": "https://github.com/GarthDB/spectrum-ios-design-data"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "android",
|
|
26
|
+
"label": "Spectrum Android",
|
|
27
|
+
"description": "Adobe's Android implementation of Spectrum. No platform manifest exists yet (see epic h890.22.6, follow-up to the iOS work)."
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -1,50 +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/ai-resource-guide.json",
|
|
4
|
-
"name": "ai-resource-guide",
|
|
5
|
-
"title": "AI resource guide",
|
|
6
|
-
"category": "support",
|
|
7
|
-
"documentBlocks": [
|
|
8
|
-
{ "type": "purpose", "content": "AI resource guide" },
|
|
9
|
-
{
|
|
10
|
-
"type": "guideline",
|
|
11
|
-
"content": "For component specs, anatomy, usage guidelines, design tokens, and Figma resources. View the Spectrum 2 Design Data website View the Figma MCP (connects Claude to Figma libraries)"
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"type": "guideline",
|
|
15
|
-
"content": "Protopack is the Design Technology team's streamlined prototyping foundation. Protopack simplifies setup, includes production-ready Spectrum components, integrates with Adobe services, and supports easy deployment. It removes much of the configuration overhead so you can focus on designing, iterating, and exploring ideas.\" View the AD AI Prototyping Quick Start wiki View the Awesome Deployment Platform wiki Join the Protopack Slack channel"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"type": "guideline",
|
|
19
|
-
"content": "Protopack for React Spectrum.\n\nDownload Protopack and view the RSP template View the React Spectrum Starter template in the Protopack app View the React Spectrum AI integration overview View the React Spectrum website"
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"type": "guideline",
|
|
23
|
-
"content": "Protopack for Spectrum Web Components.\n\nDownload Protopack and view the SWC template View the Spectrum 2 Web Components Starter template in the Protopack app View the Spectrum Web Components AI documentation View the Spectrum Web Components website"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"type": "guideline",
|
|
27
|
-
"content": "React Spectrum.\n\nView the React Spectrum AI integration overview View the React Spectrum website View the React Spectrum GitHub repository"
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"type": "guideline",
|
|
31
|
-
"content": "Spectrum Web Components.\n\nView the Spectrum Web Components AI documentation View the Spectrum Web Components website View the Spectrum Web Components GitHub repository"
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"type": "guideline",
|
|
35
|
-
"content": "Spectrum design data.\n\nView the Spectrum 2 Design Data AI resources View the Spectrum 2 Design Data website View the Spectrum 2 Design Data tools overview View the Spectrum 2 Design Data GitHub repository"
|
|
36
|
-
}
|
|
37
|
-
],
|
|
38
|
-
"sourceUrl": "https://main--spectrum-hub--adobe.aem.live/support/ai-resource-guide",
|
|
39
|
-
"lastUpdated": "2026-08-27",
|
|
40
|
-
"status": "published",
|
|
41
|
-
"tags": [
|
|
42
|
-
"AI tooling",
|
|
43
|
-
"Protopack",
|
|
44
|
-
"Design data",
|
|
45
|
-
"Figma",
|
|
46
|
-
"Claude Enterprise",
|
|
47
|
-
"Prototyping",
|
|
48
|
-
"design-to-code"
|
|
49
|
-
]
|
|
50
|
-
}
|