@adobe/spectrum-design-data 3.3.0-beta.1 → 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.
Files changed (135) hide show
  1. package/components/accordion.json +67 -15
  2. package/components/action-bar.json +30 -9
  3. package/components/action-button.json +92 -39
  4. package/components/action-group.json +137 -18
  5. package/components/alert-banner.json +27 -8
  6. package/components/alert-dialog.json +55 -34
  7. package/components/avatar-group.json +35 -9
  8. package/components/avatar.json +105 -29
  9. package/components/badge.json +163 -56
  10. package/components/breadcrumbs.json +107 -26
  11. package/components/button-group.json +63 -19
  12. package/components/button.json +105 -61
  13. package/components/calendar.json +74 -8
  14. package/components/card.json +13 -0
  15. package/components/cards.json +46 -31
  16. package/components/checkbox-group.json +85 -16
  17. package/components/checkbox.json +97 -27
  18. package/components/close-button.json +75 -20
  19. package/components/coach-indicator.json +44 -14
  20. package/components/coach-mark.json +26 -8
  21. package/components/color-area.json +100 -20
  22. package/components/color-handle.json +46 -25
  23. package/components/color-loupe.json +14 -2
  24. package/components/color-slider.json +129 -26
  25. package/components/color-wheel.json +91 -17
  26. package/components/combo-box.json +189 -50
  27. package/components/contextual-help.json +126 -80
  28. package/components/date-field.json +7 -0
  29. package/components/date-picker.json +127 -24
  30. package/components/divider.json +38 -12
  31. package/components/drop-zone.json +37 -18
  32. package/components/field-label.json +62 -21
  33. package/components/heading.json +7 -0
  34. package/components/help-text.json +53 -16
  35. package/components/illustrated-message.json +85 -21
  36. package/components/in-line-alert.json +53 -13
  37. package/components/link.json +63 -24
  38. package/components/list-view.json +80 -15
  39. package/components/menu.json +181 -45
  40. package/components/meter.json +78 -24
  41. package/components/number-field.json +175 -34
  42. package/components/picker.json +188 -42
  43. package/components/popover.json +126 -37
  44. package/components/progress-bar.json +108 -23
  45. package/components/progress-circle.json +55 -12
  46. package/components/radio-button.json +67 -14
  47. package/components/radio-group.json +132 -28
  48. package/components/rating.json +38 -9
  49. package/components/search-field.json +126 -34
  50. package/components/segmented-control.json +70 -21
  51. package/components/select-box.json +103 -29
  52. package/components/side-navigation.json +69 -28
  53. package/components/slider.json +155 -39
  54. package/components/standard-dialog.json +88 -16
  55. package/components/status-light.json +136 -41
  56. package/components/steplist.json +24 -5
  57. package/components/swatch-group.json +55 -19
  58. package/components/swatch.json +79 -24
  59. package/components/switch.json +79 -31
  60. package/components/table.json +73 -26
  61. package/components/tabs.json +52 -22
  62. package/components/tag-field.json +60 -14
  63. package/components/tag-group.json +56 -16
  64. package/components/tag.json +78 -21
  65. package/components/takeover-dialog.json +61 -10
  66. package/components/text-area.json +205 -49
  67. package/components/text-field.json +170 -42
  68. package/components/thumbnail.json +63 -22
  69. package/components/time-field.json +7 -0
  70. package/components/toast.json +50 -29
  71. package/components/tooltip.json +87 -27
  72. package/components/tree-view.json +147 -45
  73. package/components/user-card.json +7 -0
  74. package/guidelines/app-frame-content-area.json +81 -0
  75. package/guidelines/app-frame-creating-bluelines.json +58 -0
  76. package/guidelines/app-frame-header.json +72 -0
  77. package/guidelines/app-frame-overview.json +50 -44
  78. package/guidelines/app-frame-side-navigation.json +138 -0
  79. package/guidelines/attention-hierarchy.json +21 -12
  80. package/guidelines/background-layers.json +10 -44
  81. package/guidelines/brand.json +10 -30
  82. package/guidelines/colors.json +17 -35
  83. package/guidelines/containers.json +62 -0
  84. package/guidelines/developer-overview.json +9 -25
  85. package/guidelines/faqs.json +9 -96
  86. package/guidelines/fonts.json +14 -29
  87. package/guidelines/grays.json +44 -17
  88. package/guidelines/icon-fundamentals.json +18 -7
  89. package/guidelines/illustrations.json +111 -0
  90. package/guidelines/introduction.json +2 -2
  91. package/guidelines/manifest.json +60 -252
  92. package/guidelines/motion.json +16 -17
  93. package/guidelines/object-styles.json +102 -0
  94. package/guidelines/principles.json +2 -2
  95. package/guidelines/resources.json +15 -21
  96. package/guidelines/spacing.json +25 -0
  97. package/guidelines/states.json +10 -15
  98. package/guidelines/typography-fundamentals.json +142 -0
  99. package/guidelines/using-icons.json +44 -33
  100. package/package.json +2 -2
  101. package/registry/platform-implementations.json +30 -0
  102. package/guidelines/ai-resource-guide.json +0 -50
  103. package/guidelines/applying-the-type-system.json +0 -63
  104. package/guidelines/bi-directionality.json +0 -57
  105. package/guidelines/border-width.json +0 -42
  106. package/guidelines/cognitive.json +0 -197
  107. package/guidelines/component-spacing.json +0 -49
  108. package/guidelines/contact-us.json +0 -67
  109. package/guidelines/content-area-browsing-context.json +0 -65
  110. package/guidelines/creating-bluelines-browsing-context.json +0 -91
  111. package/guidelines/design-tokens.json +0 -122
  112. package/guidelines/drop-shadow.json +0 -56
  113. package/guidelines/grammar-and-mechanics.json +0 -252
  114. package/guidelines/header-browsing-context.json +0 -37
  115. package/guidelines/illustration.json +0 -109
  116. package/guidelines/in-product-word-list.json +0 -29
  117. package/guidelines/inclusive-design.json +0 -93
  118. package/guidelines/inclusive-ux-writing.json +0 -30
  119. package/guidelines/internationalization.json +0 -87
  120. package/guidelines/layout-and-structure-containers.json +0 -47
  121. package/guidelines/layout-spacing.json +0 -39
  122. package/guidelines/object-styles-overview.json +0 -17
  123. package/guidelines/rounding.json +0 -61
  124. package/guidelines/side-navigation-browsing-context.json +0 -71
  125. package/guidelines/spacing-overview.json +0 -45
  126. package/guidelines/typography-overview.json +0 -39
  127. package/guidelines/typography-system.json +0 -168
  128. package/guidelines/visual-language-containers.json +0 -36
  129. package/guidelines/voice-and-tone.json +0 -47
  130. package/guidelines/writing-about-people.json +0 -103
  131. package/guidelines/writing-for-errors.json +0 -120
  132. package/guidelines/writing-for-onboarding.json +0 -119
  133. package/guidelines/writing-for-readability.json +0 -54
  134. package/guidelines/writing-with-visuals.json +0 -70
  135. package/registry/platform-extensions/web-components-states.json +0 -58
@@ -8,58 +8,52 @@
8
8
  { "type": "purpose", "content": "Resources" },
9
9
  {
10
10
  "type": "guideline",
11
- "content": "Figma libraries.\n\nThe 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. We’re continuing to work on exciting improvements as we expand Spectrum 2. Make sure to regularly review design documentation to keep up-to-date with releases. Familiarize yourself with the changes to components, patterns, styles, variables, and usage guidelines. And most importantly, read the release notes (posted in #spectrum-bulletin ). For any questions, view the FAQs or contact us. To provide feedback on the Spectrum 2 Figma libraries, please visit the #spectrum-design Slack channel and fill out the embedded Slack form. Your input is important and helps us prioritize updates accordingly. Assets, such as icons and illustrations, are published in separate libraries. Reach out to the Icons team to request product-specific icons that are not currently included in a library by submitting a request. For questions specific to the Spectrum 2 Figma icon libraries, post in #figma-icons-libraries on Slack. For general questions about icons, post in #icons. An example of the Spectrum 2 library: the action button page."
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": "Access the Spectrum 2 web libraries:.\n\nS2 / Web with Variables: Formerly known as S2 / Variables, this library is now a single stop for all Spectrum 2 web design data and components, including typography styles, tokens, variables, and up-to-date component statuses S2 / Web (Deprecated): Formerly known as S2 / Web (Desktop scale), contained Spectrum 2 components and typography styles. This library will no longer receive updates but will remain available to use until further notice. S2/Icons, Global: Contains a set of commonly used Spectrum 2 icons S2/Illustrations: Contains a set of Spectrum 2 linear and gradient illustrations"
15
+ "content": "An example of the Spectrum 2 library: the action button page."
16
16
  },
17
17
  {
18
18
  "type": "guideline",
19
- "content": "Access the Spectrum 2 iOS library:.\n\nS2/iOS: Contains Spectrum 2 components, typography styles, and variables for iOS If you don’t have access to Figma, you may be able to request view-only access through your product’s design team. Learn more at the Adobe Design Figma Usage: Guidelines and Resources wiki."
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": "Spectrum Tokens repository.\n\nThis 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. View Spectrum Tokens on GitHub"
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": "Spectrum Token Visualizer tool.\n\nThis 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. View the Spectrum 2 Token Visualizer"
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": "Spectrum Web Components 1.0 uses an approach to Spectrum 2 that applies the design system’s new colors, corner radii, and icons to its components without introducing breaking changes. For more detailed information about this approach, read the initial announcement on the Spectrum wiki. When Spectrum Web Components 2.0 releases, it will include the full Spectrum 2 implementation of its components. The team is currently defining the product strategy, and major announcements about its availability and timeline will be released through Slack channels ( #swc-announcements and #spectrum-web-components ), the Spectrum 2 Wiki, and e-mails to members of the DL GRP-SWC-OFFICEHOURS. Access to this DL is self-serve through Adobe’s IMS portal. View the Spectrum Web Components documentation site"
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": "React Spectrum’s implementation of Spectrum 2 is available for use through the npm package @react-spectrum/s2, and automated migration assistance from React Spectrum V3 to Spectrum 2 is available through the migration wizard. Check the Spectrum 2 in React Spectrum page for more information, including which components are available and how to get started. Releases are announced in the #react-spectrum and #rsp-announcements Slack channels, and developers using the Spectrum 2 library can also request access to a dedicated support channel. View the React Spectrum documentation website"
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": "Spectrum iOS recently released an initial set of components and foundations in its 1.0 release. More information, including the projected components for future releases, are documented on the iOS project’s wiki. Announcements about releases are made in the #spios-announcements and #spectrum-ios Slack channels. For instructions on how to integrate Spectrum iOS into your project, please visit the following wiki page. View spectrum-ios on GitHub View documentation for spectrum-ios View documentation for spectrum-tokens-ios Sign up for access to the Catalog App on TestFlight to try Spectrum iOS on device."
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": "Color variables migration guide.\n\nSpectrum 2 Figma libraries are officially moving from color styles to color variables. Now that Figma variables are fully supported, color styles are being phased out in favor of directly linked variables, from the S2/Variables library. This is now a public library, enabling everyone to connect directly to Spectrum’s source of truth. 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. These changes are for Spectrum 2 libraries. They do not apply to Spectrum 1. View the Spectrum 2 color variables migration guide"
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": "Adobe Clean Spectrum VF typography guide.\n\nSpectrum 2 uses a new default font, Adobe Clean Spectrum VF. Aesthetically, this font is the same glyphs as Adobe Clean, but it has an adjusted baseline to sit vertically centered in UI. It also includes modern variable technology for width and weight axes. 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. These changes are for Spectrum 2 libraries and implementations. They do not apply to Spectrum 1 components. View the Spectrum 2 typography guide"
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": "Right-to-left mirroring and bi-directional language formatting guides.\n\nCreating 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. View the RTL and Bidi formatting guide View the Mirroring for RTL languages framework"
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://main--spectrum-hub--adobe.aem.live/support/resources",
55
- "lastUpdated": "2026-09-04",
54
+ "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/resources/",
55
+ "lastUpdated": "2026-02-02",
56
56
  "status": "published",
57
- "tags": [
58
- "Figma libraries",
59
- "Design tokens",
60
- "Spectrum Web Components",
61
- "implementation",
62
- "guides",
63
- "resources"
64
- ]
57
+ "tags": ["support"],
58
+ "related": [{ "ref": "contact" }]
65
59
  }
@@ -0,0 +1,25 @@
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/spacing.json",
4
+ "name": "spacing",
5
+ "title": "Spacing",
6
+ "category": "designing",
7
+ "documentBlocks": [
8
+ {
9
+ "type": "purpose",
10
+ "content": "Spectrum 2 continues with Spectrum's current guidelines for spacing and responsive grids. More detailed guidelines for responsive design are currently in progress.\n\nThe primary update for Spectrum 2 is that **instead of dividers, spacing is used as the primary way to group and divide content**. Different spacing values establish rhythm and create hierarchy within a page. The [spacing values](https://spectrum.corp.adobe.com/page/spacing/#Spacing-values) themselves remain unchanged from Spectrum 1.\n\nSmaller spacing values should generally be used for objects that are closely related. An example of this would be to use a smaller spacing value in between the components that make up a component group, like in a button group or a group of cards.\n\nLarger spacing values should be used for groups of things that are less closely related. An example of this would be to use a larger spacing value to separate two distinct sections of content. Doing this helps to better organize a page.\n\nIn some contexts, a divider can still be appropriate to define larger areas of a page. View more about [border width](https://s2.spectrum.corp.adobe.com/page/object-styles/#border-width).\n\n### Example\n\nIn this example, the side navigation items use a smaller spacing value (spacing-75) in order to show a closer relationship. The side navigation items are grouped with a combination of a section title and a larger spacing value (spacing-400) to divide two distinct sections.\n\nSimilarly, cards that are part of the same group have a smaller spacing value (spacing-300) between them. Each group of cards has a title and a larger spacing value (spacing-500) to show two that the two groups are distinct.\n\nBy using spacing intentionally, the purpose of page content becomes more readily apparent and information can become easier to parse."
11
+ },
12
+ {
13
+ "type": "guideline",
14
+ "content": "Spectrum defines density as the spacing between components or UI elements, regardless of their size and scale. Density can be used alongside component size to create a range of layouts, from spacious to dense."
15
+ },
16
+ {
17
+ "type": "guideline",
18
+ "content": "For example, when creating complex UI layouts, high density is often combined with smaller components and tighter spacing in between elements."
19
+ }
20
+ ],
21
+ "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/spacing/",
22
+ "lastUpdated": "2026-02-02",
23
+ "status": "published",
24
+ "tags": ["designing"]
25
+ }
@@ -12,28 +12,23 @@
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’s a single, clear call to action within a page (for example, a “Create” button). 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."
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": "A dragged state has a unique drop shadow to draw attention to the dragged object. Learn more about drop shadows."
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://main--spectrum-hub--adobe.aem.live/foundations/behavior/states",
27
- "lastUpdated": "2026-08-13",
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
  }
@@ -0,0 +1,142 @@
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/typography-fundamentals.json",
4
+ "name": "typography-fundamentals",
5
+ "title": "Typography fundamentals",
6
+ "category": "designing",
7
+ "documentBlocks": [
8
+ {
9
+ "type": "purpose",
10
+ "content": "The variable font (VF) is the default typeface for Spectrum 2 web, iOS, and future desktop explorations.\n\n\"There are two major updates, compared with Adobe Clean:\"\n\n\"In general:\"\n\nUpdated (\\*) means that these sizes didn't follow the Major Second type scale in Spectrum 1 and have now been updated to reflect the accurate values\n\nSpectrum 2 uses type styles to help maintain a consistent semantic meaning and create accessible, legible, and on-brand experiences across platforms.\n\nComponent is the type style that is applied to text within UI components.\n\nCode is a typography component used for text that represents code. The default font for showing code is Source Code Pro.\n\nIn this file browsing example, Heading, Title, Component, and Detail style text are used to create hierarchy throughout the page.\n\nIn this commenting example, Title, Body, Component, and Detail style text are used to create hierarchy within the comments panel."
11
+ },
12
+ {
13
+ "type": "guideline",
14
+ "content": "The variable font (VF) is the default typeface for Spectrum 2 web, iOS, and future desktop explorations."
15
+ },
16
+ {
17
+ "type": "guideline",
18
+ "content": "There are two major updates, compared with Adobe Clean:"
19
+ },
20
+ {
21
+ "type": "guideline",
22
+ "content": "If you need to deviate from the default typeface (Adobe Clean Spectrum VF), you can use Adobe Clean Spectrum Serif VF, Adobe Clean Han, and Source Code Pro:"
23
+ },
24
+ {
25
+ "type": "guideline",
26
+ "content": "Spectrum ensures that different sizes of text can work together harmoniously, on both desktop and mobile. For Spectrum 2, all font sizes follow the Major Second type scale, which has a ratio of 1.125. This means that each size is multiplied or divided by 1.125 from the previous size, starting with the base size (font-size-100), and rounded to the nearest whole number. Custom text (any non-existing typography styles) or modifications to existing type styles should use a font size from this list."
27
+ },
28
+ {
29
+ "type": "guideline",
30
+ "content": "When selecting font sizes to ensure readability, keep in mind that Adobe Clean does not match 1:1 with system font size definitions. It’s generally a size smaller than system fonts such as SF Pro, Segoe UI, Roboto, and others."
31
+ },
32
+ {
33
+ "type": "guideline",
34
+ "content": "Updated (\\*) means that these sizes didn't follow the Major Second type scale in Spectrum 1 and have now been updated to reflect the accurate values"
35
+ },
36
+ {
37
+ "type": "guideline",
38
+ "content": "New (\\*\\*) shows Spectrum 2's new additions: font-size-25 is new to accommodate scaling to the smallest detail and body sizes. Font-size-1400 and -1500 are now available to provide consistent scaling to larger sizes. These are often needed in website design and for marketing scenarios."
39
+ },
40
+ {
41
+ "type": "guideline",
42
+ "content": "Spectrum 2 offers guidance for a wider range of font weights to help establish visual hierarchy in layouts, including the specific usages of Black, ExtraBold, and Medium weights."
43
+ },
44
+ {
45
+ "type": "guideline",
46
+ "content": "When used in Adobe Express products, the weight is set to Black in order to align to the Adobe Express brand guidelines. Black weight text should only be used in heading type styles, and never below 18 px font-size, to ensure the text remains legible."
47
+ },
48
+ {
49
+ "type": "guideline",
50
+ "content": "Select elements in the UI use a Bold font weight. Bold text is often used to accentuate the primary focus on a page or in a container, and in many uses, it’s paired with regular body text to create hierarchy. Titles, file names, user names, and button labels all use bold weight."
51
+ },
52
+ {
53
+ "type": "guideline",
54
+ "content": "In Spectrum 2, some components, like action buttons, badges, and tags, use Medium weight labels in order to maintain balance with Spectrum 2’s icons, which use a 1.5 px stroke."
55
+ },
56
+ {
57
+ "type": "guideline",
58
+ "content": "Regular is the default font weight for Spectrum components and body text. It should also be used for any content that’s entered by users, is editable, or longer in form (for example, text fields and text areas)."
59
+ },
60
+ {
61
+ "type": "guideline",
62
+ "content": "Line height values are updated in Spectrum 2 to better accommodate the baseline shift of the new default font — Adobe Clean Spectrum VF — and to position the text as vertically centered in UI components."
63
+ },
64
+ {
65
+ "type": "guideline",
66
+ "content": "To ensure that the space between lines of text appears balanced, the default line-height is adjusted from \\~130% at smaller font-sizes to \\~115% at larger font-sizes, and then rounded to whole even numbers to ensure that text within a component will not sit on a half-pixel."
67
+ },
68
+ {
69
+ "type": "guideline",
70
+ "content": "Body and Code type styles use a more spacious line height multiplier of 1.5x the font-size (line-height-200) to ensure that longform text has more space and is legible. CJK languages use a 1.7x multiplier."
71
+ },
72
+ {
73
+ "type": "guideline",
74
+ "content": "Spectrum 2 uses type styles to help maintain a consistent semantic meaning and create accessible, legible, and on-brand experiences across platforms."
75
+ },
76
+ {
77
+ "type": "guideline",
78
+ "content": "Keep in mind that a single product won’t need all of theses sizes, and especially at the same time. As a starting point, use a t-shirt size from each of the type styles (in Figma, these are known as text styles). For example: pair Heading Medium with Title Medium, Body Medium, and Medium t-shirt sized components."
79
+ },
80
+ {
81
+ "type": "guideline",
82
+ "content": "If you’d like to override these styles, there’s some flexibility for you to define your own typography and hierarchy as long as any customization follows Spectrum guidance for font size and color usage. Use what best fits your context and best supports your users."
83
+ },
84
+ {
85
+ "type": "guideline",
86
+ "content": "Heading text represents the biggest and boldest text on a page, and it draws the most attention. Only the broadest idea, such as the main page title, should use this style."
87
+ },
88
+ {
89
+ "type": "guideline",
90
+ "content": "Body is the type style that’s primarily used for longer-form text that may extend to multiple lines. “Body text” is a frequently used term to describe the text that creates the main content on a page, which is where this style gets its name from."
91
+ },
92
+ {
93
+ "type": "guideline",
94
+ "content": "“Detail text” is a broad term for any kind of text that communicates ideas that are even more specific than body text. Text using the Detail style acts as supporting context to any other information presented."
95
+ },
96
+ {
97
+ "type": "guideline",
98
+ "content": "Detail text often uses Medium weight when paired with iconography, to maintain visual balance with the 1.5 px stroke width of Spectrum 2 icons. It’s also often shown in gray-600 or gray-700 to make it more subdued in terms of visual hierarchy."
99
+ },
100
+ {
101
+ "type": "guideline",
102
+ "content": "The differences between Detail text, Component text, and Body text are nuanced and often come down to applied semantic meaning. The characteristic differences in Detail text are the default weight, size, letter spacing, all-caps treatment for marketing contexts, and color usage. Detail text defaults to Medium weight, a smaller font size, and lighter shades of gray. It also uses the updated per-font-size line height, while Body text uses the spacious line height multiplier of 1.5x font-size."
103
+ },
104
+ {
105
+ "type": "guideline",
106
+ "content": "Component is the type style that is applied to text within UI components."
107
+ },
108
+ {
109
+ "type": "guideline",
110
+ "content": "In Spectrum 1, the “component” line height meant “a line-height applied to text within UI elements.” Spectrum 2 expands on this by having text styles in the Spectrum Figma libraries, to let you quickly apply text formatting to any text element in a design. This will help you stay connected to the system without needing to detach or override other text styles like Body or Title."
111
+ },
112
+ {
113
+ "type": "guideline",
114
+ "content": "The Component type style comes in multiple font weights to support its flexibility across components in the design system. For example, the Spectrum 2 button uses the Component type style with bold weight. Action button uses the Component type style with medium weight, and text field uses the Component type style with regular weight."
115
+ },
116
+ {
117
+ "type": "guideline",
118
+ "content": "Code is a typography component used for text that represents code. The default font for showing code is Source Code Pro."
119
+ },
120
+ {
121
+ "type": "guideline",
122
+ "content": "The following are some general examples to show how the Spectrum 2 typography system all comes together, and how type styles can be used together to create visual hierarchy."
123
+ },
124
+ {
125
+ "type": "guideline",
126
+ "content": "In this file browsing example, Heading, Title, Component, and Detail style text are used to create hierarchy throughout the page."
127
+ },
128
+ {
129
+ "type": "guideline",
130
+ "content": "In this commenting example, Title, Body, Component, and Detail style text are used to create hierarchy within the comments panel."
131
+ },
132
+ {
133
+ "type": "guideline",
134
+ "content": "In instances where Spectrum’s typefaces might fail to load properly, there are defined fallback fonts that have been selected based on operating system consistency and similar anatomical relationships."
135
+ }
136
+ ],
137
+ "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/typography-fundamentals/",
138
+ "lastUpdated": "2026-02-02",
139
+ "status": "published",
140
+ "tags": ["designing"],
141
+ "related": [{ "ref": "background-layers" }, { "ref": "fonts" }]
142
+ }
@@ -8,89 +8,100 @@
8
8
  { "type": "purpose", "content": "Using icons" },
9
9
  {
10
10
  "type": "guideline",
11
- "content": "Only use approved icons.\n\nThe 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). If you have a question about icons, or would like to reach out to the Icons team directly, email icons@adobe.com or post in #icons on Slack."
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": "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."
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
+ },
17
+ {
18
+ "type": "guideline",
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."
16
20
  },
17
21
  {
18
22
  "type": "guideline",
19
- "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."
23
+ "content": "Spectrum 2 workflow icons come in two sizes per platform, but with one stroke weight: 1.5 px."
20
24
  },
21
25
  {
22
26
  "type": "guideline",
23
- "content": "Badges (status and premium).\n\nStatus 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."
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."
24
28
  },
25
29
  {
26
30
  "type": "guideline",
27
- "content": "Cursors and HUD.\n\nThe cursor style has also been updated to match the look and feel of the Spectrum 2 icons."
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."
28
32
  },
29
33
  {
30
34
  "type": "guideline",
31
- "content": "Workflow icon sizes.\n\nSpectrum 2 workflow icons come in two sizes per platform, but with one stroke weight: 1.5 px. 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. 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."
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."
32
36
  },
33
37
  {
34
38
  "type": "guideline",
35
- "content": "T-shirt sizes.\n\nIn 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."
39
+ "content": "“S2” is the prefix for Spectrum 2 icons."
36
40
  },
37
41
  {
38
42
  "type": "guideline",
39
- "content": "S2\" is the prefix for Spectrum 2 icons. Here's a breakdown of each part of the icon naming convention: Prefix identifies it as part of a larger group of assets. Type is the type of the asset: Icon, Ani-Icon, Ani-Illu, Illu, Cur, or Mock-Icon. Icon name is in Pascal case: there are no empty spaces or individual characters allowed. When names use multiple words, it utilizes a hierarchy to determine the word sequence. Icon canvas size is stated in pixel at @1x. Icon State indicator: normal state is \"_N\", selected state is \"_S\", and Dark UI theme adds a \"D\". Filetype suffix indicates the asset format, like SVG or PDF. An example of the naming convention for Spectrum 2 (S2) icons."
43
+ "content": "Here’s a breakdown of each part of the icon naming convention:"
40
44
  },
41
45
  {
42
46
  "type": "guideline",
43
- "content": "Stroke border (weight).\n\nKeeping 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."
47
+ "content": "An example of the naming convention for Spectrum 2 (S2) icons."
44
48
  },
45
49
  {
46
50
  "type": "guideline",
47
- "content": "Corner radius and shape rounding.\n\nAll 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."
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."
48
52
  },
49
53
  {
50
54
  "type": "guideline",
51
- "content": "Icon and badges placement.\n\nIcon 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). The intersections of badge/modifier placement."
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."
52
56
  },
53
57
  {
54
58
  "type": "guideline",
55
- "content": "The vertical spacing between icons and text is adjusted to create balance. 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. An example of icon and text alignment in a button.An example of a quiet action button with a 16 px icon."
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)."
56
60
  },
57
61
  {
58
62
  "type": "guideline",
59
- "content": "Advantages to the new SVG structure.\n\nOne SVG asset serves all states in all UI color themes Stable and easy creation and export workflows in Illustrator Streamlined SVG code for smaller file size Minimal effort to update any Spectrum color changes Allows for app-specific custom colors (a variable illustration accent color could be matched to the app color) Will become easier to add special colors for an app (for example, the brand red color used in Acrobat) 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."
63
+ "content": "The intersections of badge/modifier placement."
60
64
  },
61
65
  {
62
- "type": "do-dont",
63
- "content": "Don't resize icons",
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."
66
+ "type": "guideline",
67
+ "content": "The vertical spacing between icons and text is adjusted to create balance."
65
68
  },
66
69
  {
67
- "type": "do-dont",
68
- "content": "Don't create your own icons",
69
- "dont": "The Icons team works carefully to ensure that icon metaphors and style are consistent across Adobe products. When different product teams each decide to choose their own metaphors or build their own icons, this becomes a complex issue in Adobe's large product portfolio — and it shows our customers that we don't speak with a single brand voice. If you need a new icon for Spectrum 2, request it."
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": "Semantic colors have specific meanings in the design system. Choose icons with metaphors that visually align with their corresponding semantic color. Ensure that any semantic color usage in icons is consistent with Spectrum's usage. If you're using icons to convey \"Success,\" \"Alert,\" \"Information,\" or \"Caution\" meanings (such as in an in-line alert ), use the appropriate colors."
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": "Meeting contrast requirements.\n\nUsing the available Spectrum 2 colors with Spectrum 2 icons will ensure that your design is both visually appealing and meets the WCAG minimum contrast ratio of 3:1 for non-text contrast. 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. The Stark plugin for Figma can help you check your contrast ratio. Consider three color combinations: A dark icon on a color background A light icon on a color background Tinted icons on a color background"
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": "Meeting contrast requirements.\n\nUsing the available Spectrum 2 colors with Spectrum 2 icons will ensure that your design is both visually appealing and meets the WCAG minimum contrast ratio of 3:1 for non-text contrast. 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. Consider three color combinations: A dark icon on a color background A light icon on a color background Tinted icons on a color background"
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://main--spectrum-hub--adobe.aem.live/foundations/icons-and-illustrations/using-icons",
85
- "lastUpdated": "2026-08-14",
102
+ "sourceUrl": "https://s2.spectrum.corp.adobe.com/page/using-icons/",
103
+ "lastUpdated": "2026-02-02",
86
104
  "status": "published",
87
- "tags": [
88
- "icons",
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-beta.1",
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.2.0"
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
- }