@adobe/spectrum-design-data 3.7.1 → 3.8.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/changelog/accordion.json +359 -0
- package/changelog/action-bar.json +110 -0
- package/changelog/action-button.json +362 -0
- package/changelog/action-group.json +72 -0
- package/changelog/alert-banner.json +65 -0
- package/changelog/alert-dialog.json +88 -0
- package/changelog/avatar-group.json +93 -0
- package/changelog/avatar.json +99 -0
- package/changelog/badge.json +595 -0
- package/changelog/bar-panel.json +7 -0
- package/changelog/body.json +7 -0
- package/changelog/bottom-navigation-android.json +7 -0
- package/changelog/breadcrumbs.json +145 -0
- package/changelog/button-group.json +66 -0
- package/changelog/button.json +504 -0
- package/changelog/calendar.json +62 -0
- package/changelog/card-horizontal.json +7 -0
- package/changelog/card.json +24 -0
- package/changelog/cards.json +137 -0
- package/changelog/checkbox-group.json +48 -0
- package/changelog/checkbox.json +210 -0
- package/changelog/close-button.json +125 -0
- package/changelog/coach-indicator.json +77 -0
- package/changelog/coach-mark.json +44 -0
- package/changelog/code.json +7 -0
- package/changelog/collection-card.json +7 -0
- package/changelog/color-area.json +67 -0
- package/changelog/color-control.json +7 -0
- package/changelog/color-handle.json +80 -0
- package/changelog/color-loupe.json +77 -0
- package/changelog/color-slider.json +89 -0
- package/changelog/color-wheel.json +68 -0
- package/changelog/combo-box.json +277 -0
- package/changelog/contextual-help.json +74 -0
- package/changelog/date-field.json +24 -0
- package/changelog/date-picker.json +175 -0
- package/changelog/detail.json +7 -0
- package/changelog/divider.json +82 -0
- package/changelog/double-calendar.json +7 -0
- package/changelog/drop-zone.json +155 -0
- package/changelog/field-label.json +118 -0
- package/changelog/field.json +7 -0
- package/changelog/floating-action-button.json +7 -0
- package/changelog/form-item.json +7 -0
- package/changelog/heading.json +24 -0
- package/changelog/help-text.json +100 -0
- package/changelog/illustrated-message.json +79 -0
- package/changelog/in-field-button.json +7 -0
- package/changelog/in-field-progress-button.json +7 -0
- package/changelog/in-field-progress-circle.json +48 -0
- package/changelog/in-line-alert.json +66 -0
- package/changelog/link.json +123 -0
- package/changelog/list-view.json +184 -0
- package/changelog/menu.json +254 -0
- package/changelog/meter.json +89 -0
- package/changelog/number-field.json +232 -0
- package/changelog/opacity-checkerboard.json +7 -0
- package/changelog/picker.json +241 -0
- package/changelog/popover.json +86 -0
- package/changelog/progress-bar.json +94 -0
- package/changelog/progress-circle.json +62 -0
- package/changelog/radio-button.json +180 -0
- package/changelog/radio-group.json +61 -0
- package/changelog/rating.json +64 -0
- package/changelog/scroll-zoom-bar.json +7 -0
- package/changelog/search-field.json +188 -0
- package/changelog/segmented-control.json +139 -0
- package/changelog/segmented-text-field.json +7 -0
- package/changelog/select-box.json +106 -0
- package/changelog/side-navigation.json +171 -0
- package/changelog/single-calendar.json +7 -0
- package/changelog/slider.json +144 -0
- package/changelog/stack-item.json +25 -0
- package/changelog/standard-dialog.json +58 -0
- package/changelog/standard-panel.json +7 -0
- package/changelog/status-light.json +108 -0
- package/changelog/steplist.json +66 -0
- package/changelog/swatch-group.json +62 -0
- package/changelog/swatch.json +99 -0
- package/changelog/switch.json +164 -0
- package/changelog/tab-bar-ios.json +25 -0
- package/changelog/table.json +140 -0
- package/changelog/tabs.json +118 -0
- package/changelog/tag-field.json +91 -0
- package/changelog/tag-group.json +66 -0
- package/changelog/tag.json +217 -0
- package/changelog/takeover-dialog.json +67 -0
- package/changelog/text-area.json +240 -0
- package/changelog/text-field.json +222 -0
- package/changelog/thumbnail.json +49 -0
- package/changelog/time-field.json +24 -0
- package/changelog/title.json +24 -0
- package/changelog/toast.json +110 -0
- package/changelog/tooltip.json +115 -0
- package/changelog/tray.json +7 -0
- package/changelog/tree-view.json +202 -0
- package/changelog/triple-calendar.json +7 -0
- package/changelog/user-card.json +24 -0
- package/components/accordion.json +37 -0
- package/components/action-button.json +44 -0
- package/components/badge.json +18 -2
- package/components/button.json +47 -1
- package/components/checkbox.json +42 -0
- package/components/radio-button.json +43 -3
- package/components/switch.json +36 -1
- package/package.json +4 -2
- package/registry/anatomy-terms.json +13 -8
- package/registry/token-terminology.json +1 -1
- package/tokens/layout.tokens.json +3 -2
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component-changelog.schema.json",
|
|
3
|
+
"specVersion": "1.0.0-draft",
|
|
4
|
+
"component": "toast",
|
|
5
|
+
"baseline": {"release":"2.1.0","version":"1.0.0","commit":"4033f09de6696d4f61d1da89d42129a941dbd806"},
|
|
6
|
+
"releases": [
|
|
7
|
+
{
|
|
8
|
+
"release": "2.7.0",
|
|
9
|
+
"version": "1.0.1",
|
|
10
|
+
"bump": "patch",
|
|
11
|
+
"date": "2026-09-03",
|
|
12
|
+
"commit": "6d1892a74dfa5fe9819fdd3d7d6893b08318b244",
|
|
13
|
+
"commits": [
|
|
14
|
+
{
|
|
15
|
+
"commit": "5e22a7a18cd1a4f2a5957cba9cafa66bef73ed63",
|
|
16
|
+
"date": "2026-09-03",
|
|
17
|
+
"source": {"type":"pr","repo":"adobe/spectrum-design-data","number":1394,"title":"fix(design-data): re-point CTR refs off deprecated tokens, add guard rail","url":"https://github.com/adobe/spectrum-design-data/pull/1394"},
|
|
18
|
+
"entries": [
|
|
19
|
+
{"id":"5e22a7a1-0","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["Spacing (icon to text)"],"scope":{"property":"space-between","options":null},"record":"space-between#Spacing (icon to text)","name":"space-between","fields":[{"path":"$ref","before":"4366909e-3bfb-481c-abdc-4ae71f965bc3","after":"42da5f00-7ba7-4a9a-8ab4-6f3552e22fdd"}]},
|
|
20
|
+
{"id":"5e22a7a1-1","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["Spacing (icon to text)"],"scope":{"property":"space-between","options":null},"record":"space-between#Spacing (icon to text)","name":"space-between","fields":[{"path":"$ref","before":"205f0c77-6588-4cc7-927f-3ba767200bac","after":"42da5f00-7ba7-4a9a-8ab4-6f3552e22fdd"}]},
|
|
21
|
+
{"id":"5e22a7a1-2","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["18px (desktop), 20px (mobile)"],"scope":{"property":"space-between","options":null},"record":"space-between#18px (desktop), 20px (mobile)","name":"space-between","fields":[{"path":"$ref","before":"d10d2a55-2b4d-46b1-81e9-521d6c3578e1","after":"64fa4ab7-be93-4420-8cdc-a6ef91499852"}]},
|
|
22
|
+
{"id":"5e22a7a1-3","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["18px (desktop), 20px (mobile)"],"scope":{"property":"space-between","options":null},"record":"space-between#18px (desktop), 20px (mobile)","name":"space-between","fields":[{"path":"$ref","before":"1f83245b-3d79-4326-b843-df7b6549cade","after":"64fa4ab7-be93-4420-8cdc-a6ef91499852"}]},
|
|
23
|
+
{"id":"5e22a7a1-4","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["18px (desktop), 20px (mobile)"],"scope":{"property":"space-between","options":null},"record":"space-between#18px (desktop), 20px (mobile)","name":"space-between","fields":[{"path":"$ref","before":"be4f24cf-9334-4fc4-aa72-e0347beecda7","after":"64fa4ab7-be93-4420-8cdc-a6ef91499852"}]},
|
|
24
|
+
{"id":"5e22a7a1-5","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["18px (desktop), 20px (mobile)"],"scope":{"property":"space-between","options":null},"record":"space-between#18px (desktop), 20px (mobile)","name":"space-between","fields":[{"path":"$ref","before":"9f0688f5-128f-47c3-8585-94d704214881","after":"64fa4ab7-be93-4420-8cdc-a6ef91499852"}]},
|
|
25
|
+
{"id":"5e22a7a1-6","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["20px (desktop), 22px (mobile)"],"scope":{"property":"space-between","options":null},"record":"space-between#20px (desktop), 22px (mobile)","name":"space-between","fields":[{"path":"$ref","before":"821e8f74-d1de-4507-9ff7-ece44e535e8c","after":"64fa4ab7-be93-4420-8cdc-a6ef91499852"}]},
|
|
26
|
+
{"id":"5e22a7a1-7","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["20px (desktop), 22px (mobile)"],"scope":{"property":"space-between","options":null},"record":"space-between#20px (desktop), 22px (mobile)","name":"space-between","fields":[{"path":"$ref","before":"a790fd9e-4e5f-4f4c-a3ca-832540832580","after":"64fa4ab7-be93-4420-8cdc-a6ef91499852"}]}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"release": "3.0.0",
|
|
33
|
+
"version": "1.0.2",
|
|
34
|
+
"bump": "patch",
|
|
35
|
+
"date": "2026-09-08",
|
|
36
|
+
"commit": "284fe0dba6da9932c454eaee20bbbb04272d4433",
|
|
37
|
+
"commits": [
|
|
38
|
+
{
|
|
39
|
+
"commit": "6005339a0678226eee3e827fd5bbfa793f5bccc7",
|
|
40
|
+
"date": "2026-09-08",
|
|
41
|
+
"source": {"type":"pr","repo":"adobe/spectrum-design-data","number":1428,"title":"feat(tokens)!: add conceptId as canonical concept-level UUID, retire set_uuid","url":"https://github.com/adobe/spectrum-design-data/pull/1428"},
|
|
42
|
+
"entries": [],
|
|
43
|
+
"metadata": {"count":30,"fields":["conceptId","set_uuid"]}
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"release": "3.4.0",
|
|
49
|
+
"version": "1.1.0",
|
|
50
|
+
"bump": "minor",
|
|
51
|
+
"date": "2026-10-01",
|
|
52
|
+
"commit": "61c5e6769e60980caf58c544b508ab2e610958b4",
|
|
53
|
+
"commits": [
|
|
54
|
+
{
|
|
55
|
+
"commit": "ec3376fa833f2c31dd0b2340590134b2747b00c4",
|
|
56
|
+
"date": "2026-10-01",
|
|
57
|
+
"source": {"type":"pr","repo":"adobe/spectrum-design-data","number":1524,"title":"feat(design-data): promote public Spectrum Hub guidance to main","url":"https://github.com/adobe/spectrum-design-data/pull/1524"},
|
|
58
|
+
"entries": [
|
|
59
|
+
{"id":"ec3376fa-0","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/0","name":"guideline: Text overflow.\n\nWhen the text is too long for th","fields":[{"path":"content","before":"Toasts display brief, temporary notifications. They appear briefly without blocking interaction and typically do not require user action.","after":"Text overflow.\n\nWhen the text is too long for the available horizontal space, it wraps to form another line. In actionable toasts, the button moves below the text prior to text wrapping."}]},
|
|
60
|
+
{"id":"ec3376fa-1","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/1","name":"guideline: Multiple toasts.\n\nThe default state can display ","fields":[{"path":"content","before":"Toasts must include text to communicate a message. Write the text as concisely as possible while still being clear about what has happened or is happening.","after":"Multiple toasts.\n\nThe default state can display up to three toasts at a time. To view additional toasts beyond this limit, users can click the \"Show all\" action button. Alternatively, they can reveal remaining toasts by interacting with a button or dismissing the component. Additionally, hovering over the upper part of the toasts triggers a subtle animation, signaling to the user that the group can be fully expanded. The expanded state displays a minimum of two toasts with a visible scroll indicator, while the maximum number adapts based on screen size. Users can either dismiss the toasts or collapse them back to the previous state. To enhance contrast, an overlay is applied beneath the group, similar to components like takeover dialogs. In the React Spectrum implementation, the action button group has a fixed light theme, as switching modes significantly reduces contrast. Please refer to more multiple toasts usage guideline below."}]},
|
|
61
|
+
{"id":"ec3376fa-2","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/2","name":"guideline: Toast or dialog?\n\nToasts should only be used for","fields":[{"path":"content","before":"The neutral toast is the default variant. It is gray and does not have an icon. This is used when the message is neutral in tone or when its semantics do not fit in any of the other variants.","after":"Toast or dialog?\n\nToasts should only be used for confirmations, simple notifications, and low-priority alerts that do not need to completely interrupt the user experience. Dialogs are ideal for when a situation requires a user's attention, either for displaying important information or prompting for a response."}]},
|
|
62
|
+
{"id":"ec3376fa-3","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/3","name":"guideline: Placement.\n\nBy default, a toast is placed at the","fields":[{"path":"content","before":"The informative toast uses the informative semantic color (blue) and has an info icon to help those with color vision deficiency discern the message tone. This should be used when the message should call extra attention compared to the neutral variant.","after":"Placement.\n\nBy default, a toast is placed at the bottom center for both desktop and mobile platform scales to avoid disrupting the user experience. For desktop applications, a toast should be placed 16 px away from the bottom of the viewport. If a toast isn't noticeable or disrupts the user experience, its placement can be changed to bottom end, top end, or top center."}]},
|
|
63
|
+
{"id":"ec3376fa-4","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/4","name":"guideline: Multiple toasts.\n\nToasts are designed for brief,","fields":[{"path":"content","before":"The positive toast uses the positive semantic color (green) and has a checkmark icon to help those with color vision deficiency discern the message tone. This is used to inform about a successful action or completion of a task.","after":"Multiple toasts.\n\nToasts are designed for brief, non-intrusive, and temporary notifications. While displaying multiple toasts is available via the React Spectrum implementation, we still discourage triggering multiple toasts simultaneously when possible, as this can be very distracting to the user. Frequent interruptions interfere with usability, especially for people with visual and cognitive disabilities (see WCAG Success Criterion 2.2.4 Interruptions). Products should allow for users to be able turn off all types of alerts. Doing this helps people who want to focus and minimize information that they may find non-essential."}]},
|
|
64
|
+
{"id":"ec3376fa-5","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/5","name":"guideline: Writing for toasts depends on the nature of the ","fields":[{"path":"content","before":"The negative toast uses the negative semantic color (red) and has an alert icon to help those with color vision deficiency to discern the message tone. This is used to show an error or failure.","after":"Writing for toasts depends on the nature of the message, whether it's communicating confirmation, information, or an error. For all kinds of toasts, keep the text to fewer than 2 lines in English, since it will become longer when localized."}]},
|
|
65
|
+
{"id":"ec3376fa-6","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/6","name":"guideline: Confirmation.\n\nFor a confirmation message (neutr","fields":[{"path":"content","before":"By default, a toast will dismiss when the user clicks the close button. A toast also has the option to auto-dismiss. Be sure to set a minimum of 5 seconds so that users can have time to read the toast message. If an actionable toast is set to auto-dismiss, make sure that the action is still available elsewhere in the app.","after":"Confirmation.\n\nFor a confirmation message (neutral and positive variants), use a short past participle verb phrase: (optional) noun + verb ending in -ed + (optional) prepositional phrase with more information. If you refer to an interface element directly, put its name in bold text."}]},
|
|
66
|
+
{"id":"ec3376fa-7","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/7","name":"guideline: Informational.\n\nFor an informational message (in","fields":[{"path":"content","before":"When the text is too long for the available horizontal space, it wraps to form another line. In actionable toasts, the button moves below the text prior to text wrapping.","after":"Informational.\n\nFor an informational message (informative variant), write in a complete sentence following the formula of subject + verb phrase + optional additional information."}]},
|
|
67
|
+
{"id":"ec3376fa-8","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/8","name":"guideline: Error.\n\nFor an error message (negative variant),","fields":[{"path":"content","before":"The default state can display up to three toasts at a time. To view additional toasts beyond this limit, users can click the “Show all” action button. Alternatively, they can reveal remaining toasts by interacting with a button or dismissing the component. Additionally, hovering over the upper part of the toasts triggers a subtle animation, signaling to the user that the group can be fully expanded.","after":"Error.\n\nFor an error message (negative variant), use a short phrase — it can be a complete sentence or not — to describe what's happening as succinctly as possible. Whenever possible, include an in-line action for a user to take so that they can readily address the issue explained in the message."}]},
|
|
68
|
+
{"id":"ec3376fa-9","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/9","name":"guideline: Write in sentence case with no period.\n\nLike all","fields":[{"path":"content","before":"Please refer to more multiple toasts usage guideline below.","after":"Write in sentence case with no period.\n\nLike all in-product content at Adobe, toasts and their actions are written in sentence case. If the toast's message is a single sentence, do not add a period to the end; this helps keep the text quicker to read and easier to parse. Toasts should ideally only be a single sentence, but if you need to use two or more sentences to most accurately communicate the information, add a period to the end of each sentence."}]},
|
|
69
|
+
{"id":"ec3376fa-10","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/10","name":"guideline: Use an instructive tone.\n\nToasts offer quick ref","fields":[{"path":"content","before":"Toasts should only be used for confirmations, simple notifications, and low-priority alerts that do not need to completely interrupt the user experience.","after":"Use an instructive tone.\n\nToasts offer quick reference or context, so a user should be able to quickly read a message that's brief and optimized for delivery. Use an instructive tone that presents the message in a concise and neutral way. Because users are likely to see several toasts in quick succession, it's not appropriate to use overly playful, encouraging, or celebratory language. Just convey the message, then get out of the way so that they can get back to the task at hand. Toasts are not appropriate for promotional messaging or upsells that show the benefit of doing or trying something."}]},
|
|
70
|
+
{"id":"ec3376fa-11","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/11","name":"guideline: Use generic language.\n\nWhenever possible, use ge","fields":[{"path":"content","before":"Dialogs are ideal for when a situation requires a user’s attention, either for displaying important information or prompting for a response.","after":"Use generic language.\n\nWhenever possible, use generic language in confirmation and error messages. This approach allows for better localization and it also reduces the need to write many different versions of toasts for similar use cases. It's usually unnecessary to include specific filenames, usernames, or folders because a user can get that context from elsewhere in the UI."}]},
|
|
71
|
+
{"id":"ec3376fa-12","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/12","name":"guideline: RTL.\n\nFor RTL (right-to-left) languages, the lay","fields":[{"path":"content","before":"By default, a toast is placed at the bottom center for both desktop and mobile platform scales to avoid disrupting the user experience.","after":"RTL.\n\nFor RTL (right-to-left) languages, the layout of the toast is mirrored. The icon is right-aligned and the close button is left-aligned. If the toast is actionable, the button placement is also inverted and appears on the left side."}]},
|
|
72
|
+
{"id":"ec3376fa-13","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/13","name":"guideline: Keyboard interactions.\n\nKey Interaction Tab Plac","fields":[{"path":"content","before":"For desktop applications, a toast should be placed 16 px away from the bottom of the viewport.","after":"Keyboard interactions.\n\nKey Interaction Tab Places the focus on the next interactive element, which is either a button or a close button. Shift + Tab Places the focus on the previous interactive element, which is either a button or a close button. Space or Enter If focus is on the close button, dismisses the toast. If focus is on the button, executes the button action. Esc Dismisses the toast. This is equivalent to selecting the close button."}]},
|
|
73
|
+
{"id":"ec3376fa-14","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/14","name":"guideline: Cursor guidelines.\n\nCursor Usage Default (Arrow)","fields":[{"path":"content","before":"If a toast isn’t noticeable or disrupts the user experience, its placement can be changed to bottom end, top end, or top center.","after":"Cursor guidelines.\n\nCursor Usage Default (Arrow) Use the default cursor for non-interactive areas on the toast. Pointer Use the pointer cursor for interactive areas on the toast such as the close button."}]},
|
|
74
|
+
{"id":"ec3376fa-15","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/15","name":"guideline: WCAG 2.2 compliance.\n\nAny criterion not mention ","fields":[{"path":"content","before":"Actionable toasts should only have one button.","after":"WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 A Non‑text elements—such as icons used in toasts—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Toasts should be understandable by assistive technologies like screen readers. This means the proper semantic HTML or ARIA role should be utilized. Use of color 1.4.1 A Color is never used as the sole way to convey meaning in toasts. Toasts use color to reinforce their meaning, but every toast also includes a clear text description that communicates purpose. Text contrast minimums 1.4.3 AA Large text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement. Visual presentation 1.4.8 AAA The width of text blocks is no more than 80 characters (40 for CJK languages), and text is never justified. Non-text contrast 1.4.11 AA The visual presentation of icons have a contrast ratio of at least 3:1. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size in wrapped tooltips. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAA All functionality of the component is operable through a keyboard without specific timing for keystrokes. Keyboard traps 2.1.2 A Focus can be moved away from the component using only a keyboard. Timing adjustable 2.2.1 A Toasts should not auto-dismiss. If they do, users need a way to extend, pause, or dismiss time-limited content. Hovering, clicking, or keyboard focusing on the toast should keep it from disappearing. Seizures and physical feactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAA There is no flashing content or unnecessary motion or animation in this component. Focus order 2.4.3 A Navigation sequences receive focus in an order that preserves meaning and operability. Focus visible 2.4.7 AA Keyboard states use an indicator that is visible with at least 3:1 contrast."}]},
|
|
75
|
+
{"id":"ec3376fa-16","kind":"document-block","change":"removed","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/16","name":"guideline: Actionable toasts should not have a button with ","fields":[],"before":{"type":"guideline","content":"Actionable toasts should not have a button with a redundant action. For example, including a “Dismiss” button would be redundant because all toasts already have a close button."}},
|
|
76
|
+
{"id":"ec3376fa-17","kind":"document-block","change":"removed","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"toast/documentBlocks/17","name":"guideline: Products should allow for users to be able turn ","fields":[],"before":{"type":"guideline","content":"Products should allow for users to be able turn off all types of alerts. Doing this helps people who want to focus and minimize information that they may find non-essential."}},
|
|
77
|
+
{"id":"ec3376fa-18","kind":"document-block","change":"added","class":"documentation","bump":"minor","indirect":false,"contexts":[],"record":"toast/documentBlocks/18","name":"do-dont: Don't display more than one action","fields":[],"after":{"type":"do-dont","content":"Don't display more than one action","dont":"Actionable toasts should only have one button."}},
|
|
78
|
+
{"id":"ec3376fa-19","kind":"document-block","change":"added","class":"documentation","bump":"minor","indirect":false,"contexts":[],"record":"toast/documentBlocks/19","name":"do-dont: Don't include a redundant action","fields":[],"after":{"type":"do-dont","content":"Don't include a redundant action","dont":"Actionable toasts should not have a button with a redundant action. For example, including a \"Dismiss\" button would be redundant because all toasts already have a close button."}}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"release": "3.6.0",
|
|
85
|
+
"version": "1.1.1",
|
|
86
|
+
"bump": "patch",
|
|
87
|
+
"date": "2026-10-16",
|
|
88
|
+
"commit": "0886a1692f3d73d38a8f0fbc431e91658b8e5813",
|
|
89
|
+
"commits": [
|
|
90
|
+
{
|
|
91
|
+
"commit": "54ee322dc2fa9c6556549597a74610c290638664",
|
|
92
|
+
"date": "2026-10-15",
|
|
93
|
+
"source": {"type":"pr","repo":"adobe/spectrum-design-data","number":1544,"title":"fix(design-data): pin structure-prefixed legacy keys and add regression test","url":"https://github.com/adobe/spectrum-design-data/pull/1544"},
|
|
94
|
+
"entries": [
|
|
95
|
+
{"id":"54ee322d-0","kind":"token","change":"renamed","class":"api","bump":"patch","indirect":false,"contexts":["18px (desktop), 20px (mobile)","20px (desktop), 22px (mobile)"],"record":"64fa4ab7-be93-4420-8cdc-a6ef91499852","name":"padding-vertical[legacyKey=banner-padding-vertical,structure=banner]","fields":[{"path":"name.legacyKey","after":"banner-padding-vertical"}]}
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"commit": "15f371e50e2ce95a624a93152e408e1bbe8844dc",
|
|
100
|
+
"date": "2026-10-16",
|
|
101
|
+
"source": {"type":"pr","repo":"adobe/spectrum-design-data","number":1382,"title":"feat(tokens): add static + theme-aware transparency tokens, deprecate legacy","url":"https://github.com/adobe/spectrum-design-data/pull/1382"},
|
|
102
|
+
"entries": [
|
|
103
|
+
{"id":"15f371e5-0","kind":"token","change":"updated","class":"api","bump":"patch","indirect":false,"contexts":["Text and icon"],"record":"9b799da8-2130-417e-b7ee-5e1154a89837","name":"color[colorFamily=white]","fields":[{"path":"lifecycle.deprecatedIn","after":"15.6.0"},{"path":"lifecycle.replacedBy","after":"2b2717e1-3479-4dab-9609-0d694993a1af"}]},
|
|
104
|
+
{"id":"15f371e5-1","kind":"token","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":["Text and icon"],"record":"9b799da8-2130-417e-b7ee-5e1154a89837","name":"color[colorFamily=white]","fields":[{"path":"lifecycle.deprecatedComment","after":"Replaced with transparent-static-white-1000"}]}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component-changelog.schema.json",
|
|
3
|
+
"specVersion": "1.0.0-draft",
|
|
4
|
+
"component": "tooltip",
|
|
5
|
+
"baseline": {"release":"2.1.0","version":"1.0.0","commit":"4033f09de6696d4f61d1da89d42129a941dbd806"},
|
|
6
|
+
"releases": [
|
|
7
|
+
{
|
|
8
|
+
"release": "2.7.0",
|
|
9
|
+
"version": "1.0.1",
|
|
10
|
+
"bump": "patch",
|
|
11
|
+
"date": "2026-09-03",
|
|
12
|
+
"commit": "6d1892a74dfa5fe9819fdd3d7d6893b08318b244",
|
|
13
|
+
"commits": [
|
|
14
|
+
{
|
|
15
|
+
"commit": "5e22a7a18cd1a4f2a5957cba9cafa66bef73ed63",
|
|
16
|
+
"date": "2026-09-03",
|
|
17
|
+
"source": {"type":"pr","repo":"adobe/spectrum-design-data","number":1394,"title":"fix(design-data): re-point CTR refs off deprecated tokens, add guard rail","url":"https://github.com/adobe/spectrum-design-data/pull/1394"},
|
|
18
|
+
"entries": [
|
|
19
|
+
{"id":"5e22a7a1-0","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["Spacing (start/end edges)"],"scope":{"property":"component-edge-to-text-75","options":null},"record":"component-edge-to-text-75#Spacing (start/end edges)","name":"component-edge-to-text-75","fields":[{"path":"$ref","before":"40778817-6e47-4b58-a495-c4f34cee78df","after":"ba072414-2cdd-4773-86a5-11ca47c08e23"}]},
|
|
20
|
+
{"id":"5e22a7a1-1","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["Spacing (start/end edges)"],"scope":{"property":"component-edge-to-text-75","options":null},"record":"component-edge-to-text-75#Spacing (start/end edges)","name":"component-edge-to-text-75","fields":[{"path":"$ref","before":"942f0f34-611a-4318-9b0e-3632e7f520b3","after":"ba072414-2cdd-4773-86a5-11ca47c08e23"}]},
|
|
21
|
+
{"id":"5e22a7a1-2","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["Spacing (top/bottom edge to text)"],"scope":{"property":"component-top-to-text-75","options":null},"record":"component-top-to-text-75#Spacing (top/bottom edge to text)","name":"component-top-to-text-75","fields":[{"path":"$ref","before":"477d659b-6489-4e90-84db-75a93174559a","after":"80b4ea6a-2f97-4d23-9256-61e30ed07f4d"}]},
|
|
22
|
+
{"id":"5e22a7a1-3","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["Spacing (top/bottom edge to text)"],"scope":{"property":"component-top-to-text-75","options":null},"record":"component-top-to-text-75#Spacing (top/bottom edge to text)","name":"component-top-to-text-75","fields":[{"path":"$ref","before":"54a0e5cf-3e4a-454b-9dba-a6a2c277fa5e","after":"80b4ea6a-2f97-4d23-9256-61e30ed07f4d"}]},
|
|
23
|
+
{"id":"5e22a7a1-4","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["Spacing (top/bottom edge to text)"],"scope":{"property":"component-bottom-to-text-75","options":null},"record":"component-bottom-to-text-75#Spacing (top/bottom edge to text)","name":"component-bottom-to-text-75","fields":[{"path":"$ref","before":"923c46e1-b6f7-4d8a-844d-b4c0661b5e60","after":"80b4ea6a-2f97-4d23-9256-61e30ed07f4d"}]},
|
|
24
|
+
{"id":"5e22a7a1-5","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["Spacing (top/bottom edge to text)"],"scope":{"property":"component-bottom-to-text-75","options":null},"record":"component-bottom-to-text-75#Spacing (top/bottom edge to text)","name":"component-bottom-to-text-75","fields":[{"path":"$ref","before":"0f1a6c63-bc4f-444c-9a18-67b6c35464b1","after":"80b4ea6a-2f97-4d23-9256-61e30ed07f4d"}]}
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"release": "3.0.0",
|
|
31
|
+
"version": "1.0.2",
|
|
32
|
+
"bump": "patch",
|
|
33
|
+
"date": "2026-09-08",
|
|
34
|
+
"commit": "284fe0dba6da9932c454eaee20bbbb04272d4433",
|
|
35
|
+
"commits": [
|
|
36
|
+
{
|
|
37
|
+
"commit": "6005339a0678226eee3e827fd5bbfa793f5bccc7",
|
|
38
|
+
"date": "2026-09-08",
|
|
39
|
+
"source": {"type":"pr","repo":"adobe/spectrum-design-data","number":1428,"title":"feat(tokens)!: add conceptId as canonical concept-level UUID, retire set_uuid","url":"https://github.com/adobe/spectrum-design-data/pull/1428"},
|
|
40
|
+
"entries": [],
|
|
41
|
+
"metadata": {"count":24,"fields":["conceptId","set_uuid"]}
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"release": "3.3.0",
|
|
47
|
+
"version": "1.0.3",
|
|
48
|
+
"bump": "patch",
|
|
49
|
+
"date": "2026-09-30",
|
|
50
|
+
"commit": "fdb29c3027de60713f6f0f98520fc0879fa408c5",
|
|
51
|
+
"commits": [
|
|
52
|
+
{
|
|
53
|
+
"commit": "b9888b8ce9a0e4ec5b607e088942999629d5d43d",
|
|
54
|
+
"date": "2026-09-28",
|
|
55
|
+
"source": {"type":"pr","repo":"adobe/spectrum-design-data","number":1513,"title":"feat(data): add S2 implementation metadata","url":"https://github.com/adobe/spectrum-design-data/pull/1513"},
|
|
56
|
+
"entries": [],
|
|
57
|
+
"metadata": {"count":2,"fields":["implementation added"]}
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"release": "3.4.0",
|
|
63
|
+
"version": "1.1.0",
|
|
64
|
+
"bump": "minor",
|
|
65
|
+
"date": "2026-10-01",
|
|
66
|
+
"commit": "61c5e6769e60980caf58c544b508ab2e610958b4",
|
|
67
|
+
"commits": [
|
|
68
|
+
{
|
|
69
|
+
"commit": "ec3376fa833f2c31dd0b2340590134b2747b00c4",
|
|
70
|
+
"date": "2026-10-01",
|
|
71
|
+
"source": {"type":"pr","repo":"adobe/spectrum-design-data","number":1524,"title":"feat(design-data): promote public Spectrum Hub guidance to main","url":"https://github.com/adobe/spectrum-design-data/pull/1524"},
|
|
72
|
+
"entries": [
|
|
73
|
+
{"id":"ec3376fa-0","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/0","name":"guideline: Text overflow.\n\nWhen the label is too long for t","fields":[{"path":"content","before":"Tooltips display contextual information related to a specific component. They appear on hover or focus to clarify purpose or behavior.","after":"Text overflow.\n\nWhen the label is too long for the available horizontal space, it wraps to form another line."}]},
|
|
74
|
+
{"id":"ec3376fa-1","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/1","name":"guideline: Animation.\n\nA tooltip fades in and out when show","fields":[{"path":"content","before":"All tooltips have a label. The label communicates the contextual help or information about specific components when a user hovers over or focuses on them.","after":"Animation.\n\nA tooltip fades in and out when showing and hiding, and slides a short distance from the source to indicate its origin. The direction of the slide (left, right, top, bottom) depends on the placement of the tooltip. The animation attributes (duration, easing, offset) are the same whether it's showing or hiding."}]},
|
|
75
|
+
{"id":"ec3376fa-2","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/2","name":"guideline: Immediate or delayed appearance.\n\nTooltips attac","fields":[{"path":"content","before":"By default, tooltips are the neutral variant. These are the most common variant because most tooltips are used to only disclose additional information, without conveying a semantic meaning. The neutral variant never includes an icon.","after":"Immediate or delayed appearance.\n\nTooltips attached to help icons appear immediately. For conventional UI elements where a tooltip appearing immediately would be intrusive, delay appearance with a warmup period."}]},
|
|
76
|
+
{"id":"ec3376fa-3","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/3","name":"guideline: Warmup and cooldown.\n\nThe warmup period is a glo","fields":[{"path":"content","before":"Tooltips also come in semantic variants: informative (blue), and negative (red). An icon is required for these variants to ensure information isn’t conveyed by color alone.","after":"Warmup and cooldown.\n\nThe warmup period is a global timer that requires the cursor to remain on a UI element for the allotted time before a tooltip appears. Once this period is complete, a tooltip appears instantly on any hovered-upon UI element until the cursor is in an area that does not trigger a tooltip for the duration of the cooldown period."}]},
|
|
77
|
+
{"id":"ec3376fa-4","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/4","name":"guideline: Use tooltips to describe icons.\n\nIcons are not a","fields":[{"path":"content","before":"2 of the 3 tooltip variants (informative and negative) can include an icon to supplement the messaging. These icons are predefined and can not be customized. Unless it's being used to provide context about the exact same icon, a semantic tooltip should always show an icon. Doing this is essential for helping users with color vision deficiency to discern the message tone.","after":"Use tooltips to describe icons.\n\nIcons are not always easy to identify on their own. When you use components that don't have labels — for example, icon-only action buttons and tabs — make sure to use tooltips to provide context for the icons."}]},
|
|
78
|
+
{"id":"ec3376fa-5","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/5","name":"guideline: Be concise.\n\nTooltips should be as concise and c","fields":[{"path":"content","before":"A tooltip is positioned in relation to its target.","after":"Be concise.\n\nTooltips should be as concise and clear as possible. Keep the text to 1 or 2 short sentences. If the information you need to communicate is longer than that, look into using a different design. If a tooltip is written in a full sentence (or is 2 or more sentences), include a period at the end. If it's a short phrase or is only the name of a tool, action, or icon, don't add a period to the end."}]},
|
|
79
|
+
{"id":"ec3376fa-6","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/6","name":"guideline: RTL.\n\nFor RTL (right-to-left) languages, the lay","fields":[{"path":"content","before":"This option determines whether or not a tooltip should be able to switch sides when constrained by space. A tooltip placed at the top would flip to be placed at the bottom (and vice versa), and a tooltip placed at the left would flip to be placed at the right (and vice versa).","after":"RTL.\n\nFor RTL (right-to-left) languages, the layout of the tooltip is mirrored. The icon is placed on the right side of the text."}]},
|
|
80
|
+
{"id":"ec3376fa-7","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/7","name":"guideline: Keyboard interactions.\n\nKey Interaction Tab Tabb","fields":[{"path":"content","before":"The offset is the distance between the end of the tip and the target.","after":"Keyboard interactions.\n\nKey Interaction Tab Tabbing into an item that has a tooltip associated with it (e.g., an icon) shows the tooltip. Esc Hides the tooltip."}]},
|
|
81
|
+
{"id":"ec3376fa-8","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/8","name":"guideline: Cursor guidelines.\n\nCursor Usage Pointer If the ","fields":[{"path":"content","before":"To make sure that the tooltip will stay within certain boundaries (e.g., a browser window) it’s possible to define a container and a container padding value to respect.","after":"Cursor guidelines.\n\nCursor Usage Pointer If the trigger is a button or link, or a focus-only element (like an info icon that shows a tooltip on hover), use the pointer cursor. Default (Arrow) If the trigger is an icon that is not clickable, use the default cursor. Pointer If the tooltip has a link, use the pointer cursor when interacting with the link."}]},
|
|
82
|
+
{"id":"ec3376fa-9","kind":"document-block","change":"updated","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/9","name":"guideline: WCAG 2.2 compliance.\n\nAny criterion not mention ","fields":[{"path":"content","before":"When the label is too long for the available horizontal space, it wraps to form another line.","after":"WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 A Non‑text elements—such as icons used in tooltips and icons that trigger tooltips—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function. Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAA Tooltips should be understandable by assistive technologies like screen readers. This means using the proper semantic HTML or ARIA role should be utilized. Use of color 1.4.1 A Color is never used as the sole way to convey meaning in tooltips. Tooltips use color to reinforce their meaning, but every tooltip also includes a clear text label that communicates purpose. Text contrast minimums 1.4.3 AA Large text has a contrast ratio of at least 3:1, and small text has a contrast ratio of at least 4.5:1. Incidental text such as disabled, hidden, or decorative text has no contrast requirement. Resize text 1.4.4 AA Tooltips should be built in such a way that they can be resized without assistive technology up to 200%. Visual presentation 1.4.8 AAA The width of text blocks is no more than 80 characters (40 for CJK languages), and text is never justified. Non-text contrast 1.4.11 AA The visual presentation of icons and various states have a contrast ratio of at least 3:1. Text spacing 1.4.12 AA Line height of text is at least 1.5x the font size in wrapped tooltips. 2. Operable Requirement Criterion Level Compliance Keyboard 2.1.1, 2.1.3 A, AAA All functionality of the component is operable through a keyboard without specific timing for keystrokes. Keyboard traps 2.1.2 A Focus can be moved away from the component using only a keyboard. Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAA There is no flashing content or unnecessary motion or animation in this component. Focus order 2.4.3 A Navigation sequences receive focus in an order that preserves meaning and operability. Focus visible 2.4.7 AA Keyboard states use an indicator that is visible with at least 3:1 contrast."}]},
|
|
83
|
+
{"id":"ec3376fa-10","kind":"document-block","change":"removed","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/10","name":"guideline: A tooltip fades in and out when showing and hidi","fields":[],"before":{"type":"guideline","content":"A tooltip fades in and out when showing and hiding, and slides a short distance from the source to indicate its origin. The direction of the slide (left, right, top, bottom) depends on the placement of the tooltip. The animation attributes (duration, easing, offset) are the same whether it’s showing or hiding."}},
|
|
84
|
+
{"id":"ec3376fa-11","kind":"document-block","change":"removed","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/11","name":"guideline: Tooltips attached to help icons appear immediate","fields":[],"before":{"type":"guideline","content":"Tooltips attached to help icons appear immediately. For conventional UI elements where a tooltip appearing immediately would be intrusive, delay appearance with a warmup period."}},
|
|
85
|
+
{"id":"ec3376fa-12","kind":"document-block","change":"removed","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/12","name":"guideline: The warmup period is a global timer that require","fields":[],"before":{"type":"guideline","content":"The warmup period is a global timer that requires the cursor to remain on a UI element for the allotted time before a tooltip appears. Once this period is complete, a tooltip appears instantly on any hovered-upon UI element until the cursor is in an area that does not trigger a tooltip for the duration of the cooldown period."}},
|
|
86
|
+
{"id":"ec3376fa-13","kind":"document-block","change":"removed","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/13","name":"guideline: Icons are not always easy to identify on their o","fields":[],"before":{"type":"guideline","content":"Icons are not always easy to identify on their own. When you use components that don’t have labels — for example, icon-only action buttons and tabs — make sure to use tooltips to provide context for the icons."}},
|
|
87
|
+
{"id":"ec3376fa-14","kind":"document-block","change":"removed","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/14","name":"guideline: For example, in a scenario where a user is enter","fields":[],"before":{"type":"guideline","content":"For example, in a scenario where a user is entering their password into a field, the crucial information would be to state the password requirements. Supplementary context would be a message about how to get help if they have forgotten their password."}},
|
|
88
|
+
{"id":"ec3376fa-15","kind":"document-block","change":"removed","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/15","name":"guideline: Tooltips should be as concise and clear as possi","fields":[],"before":{"type":"guideline","content":"Tooltips should be as concise and clear as possible. Keep the text to 1 or 2 short sentences. If the information you need to communicate is longer than that, look into using a different design."}},
|
|
89
|
+
{"id":"ec3376fa-16","kind":"document-block","change":"removed","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/16","name":"guideline: If a tooltip is written in a full sentence (or i","fields":[],"before":{"type":"guideline","content":"If a tooltip is written in a full sentence (or is 2 or more sentences), include a period at the end. If it's a short phrase or is only the name of a tool, action, or icon, don't add a period to the end."}},
|
|
90
|
+
{"id":"ec3376fa-17","kind":"document-block","change":"removed","class":"documentation","bump":"patch","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/17","name":"guideline: Tooltips appear only on hover or when in keyboar","fields":[],"before":{"type":"guideline","content":"Tooltips appear only on hover or when in keyboard focus. They should not contain actions or links."}},
|
|
91
|
+
{"id":"ec3376fa-18","kind":"document-block","change":"added","class":"documentation","bump":"minor","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/18","name":"do-dont: Don't use tooltips to communicate crucial inform","fields":[],"after":{"type":"do-dont","content":"Don't use tooltips to communicate crucial information","dont":"Show crucial information at all times, not just when a tooltip is displayed. A tooltip should only be used to provide supplementary context or hints to the message shown in help text. For example, in a scenario where a user is entering their password into a field, the crucial information would be to state the password requirements. Supplementary context would be a message about how to get help if they have forgotten their password."}},
|
|
92
|
+
{"id":"ec3376fa-19","kind":"document-block","change":"added","class":"documentation","bump":"minor","indirect":false,"contexts":[],"record":"tooltip/documentBlocks/19","name":"do-dont: Don't place actions inside a tooltip","fields":[],"after":{"type":"do-dont","content":"Don't place actions inside a tooltip","dont":"Tooltips appear only on hover or when in keyboard focus. They should not contain actions or links."}}
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"release": "3.7.1",
|
|
99
|
+
"version": "1.1.1",
|
|
100
|
+
"bump": "patch",
|
|
101
|
+
"date": "2026-10-31",
|
|
102
|
+
"commit": "e088447eaea4368a4b3e9444d20d0b8e711a79a4",
|
|
103
|
+
"commits": [
|
|
104
|
+
{
|
|
105
|
+
"commit": "a60aeea243b2ac4e812d46bbd9f7140c9f62f398",
|
|
106
|
+
"date": "2026-10-31",
|
|
107
|
+
"source": {"type":"pr","repo":"adobe/spectrum-design-data","number":1572,"title":"fix(design-data): point the second duplicate relationship at the mobile token","url":"https://github.com/adobe/spectrum-design-data/pull/1572"},
|
|
108
|
+
"entries": [
|
|
109
|
+
{"id":"a60aeea2-0","kind":"relationship","change":"updated","class":"visual","bump":"patch","indirect":false,"contexts":["Spacing (start/end edges)"],"scope":{"property":"component-edge-to-text-75","options":null},"record":"component-edge-to-text-75#Spacing (start/end edges)","name":"component-edge-to-text-75","fields":[{"path":"$ref","before":"ba072414-2cdd-4773-86a5-11ca47c08e23","after":"6b43633d-8f29-4c24-b26e-687d6f161bce"}]}
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/component-changelog.schema.json",
|
|
3
|
+
"specVersion": "1.0.0-draft",
|
|
4
|
+
"component": "tray",
|
|
5
|
+
"baseline": {"release":"2.1.0","version":"1.0.0","commit":"4033f09de6696d4f61d1da89d42129a941dbd806"},
|
|
6
|
+
"releases": []
|
|
7
|
+
}
|