@adobe/spectrum-design-data 3.3.0 → 3.5.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 (122) hide show
  1. package/components/accordion.json +32 -102
  2. package/components/action-bar.json +9 -23
  3. package/components/action-button.json +52 -92
  4. package/components/action-group.json +18 -129
  5. package/components/alert-banner.json +8 -27
  6. package/components/alert-dialog.json +45 -55
  7. package/components/avatar-group.json +20 -50
  8. package/components/avatar.json +44 -123
  9. package/components/badge.json +66 -160
  10. package/components/breadcrumbs.json +26 -100
  11. package/components/button-group.json +32 -63
  12. package/components/button.json +74 -105
  13. package/components/calendar.json +8 -67
  14. package/components/cards.json +31 -46
  15. package/components/checkbox-group.json +22 -84
  16. package/components/checkbox.json +33 -96
  17. package/components/close-button.json +31 -73
  18. package/components/coach-indicator.json +14 -44
  19. package/components/coach-mark.json +8 -26
  20. package/components/color-area.json +20 -93
  21. package/components/color-handle.json +25 -38
  22. package/components/color-loupe.json +18 -18
  23. package/components/color-slider.json +26 -122
  24. package/components/color-wheel.json +17 -84
  25. package/components/combo-box.json +56 -188
  26. package/components/contextual-help.json +87 -126
  27. package/components/date-picker.json +24 -120
  28. package/components/divider.json +25 -38
  29. package/components/drop-zone.json +25 -37
  30. package/components/field-label.json +22 -59
  31. package/components/help-text.json +16 -53
  32. package/components/illustrated-message.json +21 -72
  33. package/components/in-line-alert.json +13 -53
  34. package/components/link.json +31 -63
  35. package/components/list-view.json +15 -73
  36. package/components/menu.json +51 -180
  37. package/components/meter.json +35 -76
  38. package/components/number-field.json +34 -168
  39. package/components/picker.json +48 -187
  40. package/components/popover.json +47 -123
  41. package/components/progress-bar.json +33 -105
  42. package/components/progress-circle.json +25 -55
  43. package/components/radio-button.json +14 -67
  44. package/components/radio-group.json +34 -131
  45. package/components/rating.json +9 -38
  46. package/components/search-field.json +40 -125
  47. package/components/segmented-control.json +27 -69
  48. package/components/select-box.json +29 -96
  49. package/components/side-navigation.json +28 -69
  50. package/components/slider.json +45 -154
  51. package/components/standard-dialog.json +16 -88
  52. package/components/status-light.json +51 -133
  53. package/components/steplist.json +5 -24
  54. package/components/swatch-group.json +19 -55
  55. package/components/swatch.json +24 -79
  56. package/components/switch.json +42 -79
  57. package/components/table.json +26 -73
  58. package/components/tabs.json +35 -52
  59. package/components/tag-field.json +14 -60
  60. package/components/tag-group.json +22 -55
  61. package/components/tag.json +27 -77
  62. package/components/takeover-dialog.json +10 -61
  63. package/components/text-area.json +55 -204
  64. package/components/text-field.json +48 -169
  65. package/components/thumbnail.json +22 -63
  66. package/components/toast.json +30 -47
  67. package/components/tooltip.json +37 -84
  68. package/components/tree-view.json +51 -146
  69. package/fields/structure.json +1 -2
  70. package/guidelines/ai-resource-guide.json +42 -0
  71. package/guidelines/app-frame-overview.json +45 -44
  72. package/guidelines/applying-the-type-system.json +71 -0
  73. package/guidelines/attention-hierarchy.json +13 -22
  74. package/guidelines/background-layers.json +84 -10
  75. package/guidelines/bi-directionality.json +57 -0
  76. package/guidelines/border-width.json +70 -0
  77. package/guidelines/brand.json +24 -12
  78. package/guidelines/cognitive.json +229 -0
  79. package/guidelines/colors.json +55 -17
  80. package/guidelines/component-spacing.json +65 -0
  81. package/guidelines/contact-us.json +27 -0
  82. package/guidelines/containers.json +21 -28
  83. package/guidelines/content-area-browsing-context.json +73 -0
  84. package/guidelines/creating-bluelines-browsing-context.json +71 -0
  85. package/guidelines/design-tokens.json +186 -0
  86. package/guidelines/developer-overview.json +33 -9
  87. package/guidelines/drop-shadow.json +76 -0
  88. package/guidelines/faqs.json +100 -9
  89. package/guidelines/fonts.json +33 -14
  90. package/guidelines/grammar-and-mechanics.json +276 -0
  91. package/guidelines/grays.json +17 -44
  92. package/guidelines/header-browsing-context.json +40 -0
  93. package/guidelines/icon-fundamentals.json +7 -18
  94. package/guidelines/illustration.json +120 -0
  95. package/guidelines/in-product-word-list.json +25 -0
  96. package/guidelines/inclusive-design.json +101 -0
  97. package/guidelines/inclusive-ux-writing.json +34 -0
  98. package/guidelines/internationalization.json +103 -0
  99. package/guidelines/layout-spacing.json +39 -0
  100. package/guidelines/manifest.json +280 -16
  101. package/guidelines/motion.json +18 -13
  102. package/guidelines/object-styles-overview.json +17 -0
  103. package/guidelines/principles.json +7 -8
  104. package/guidelines/resources.json +29 -15
  105. package/guidelines/rounding.json +85 -0
  106. package/guidelines/side-navigation-browsing-context.json +74 -0
  107. package/guidelines/spacing-overview.json +78 -0
  108. package/guidelines/states.json +16 -11
  109. package/guidelines/support.json +125 -0
  110. package/guidelines/typography-overview.json +39 -0
  111. package/guidelines/typography-system.json +212 -0
  112. package/guidelines/using-icons.json +32 -47
  113. package/guidelines/voice-and-tone.json +51 -0
  114. package/guidelines/whats-new.json +21 -0
  115. package/guidelines/writing-about-people.json +99 -0
  116. package/guidelines/writing-for-errors.json +140 -0
  117. package/guidelines/writing-for-onboarding.json +123 -0
  118. package/guidelines/writing-for-readability.json +66 -0
  119. package/guidelines/writing-with-visuals.json +78 -0
  120. package/llms.txt +27 -0
  121. package/package.json +3 -2
  122. package/tokens/layout.tokens.json +88 -0
@@ -23,63 +23,27 @@
23
23
  },
24
24
  {
25
25
  "type": "guideline",
26
- "content": "Color sliders adjust a single channel of a color. They’re often used in combination with other color controls to provide fine-tuned visual selection."
26
+ "content": "Keyboard focus.\n\nThe keyboard focus state enlarges the handle to become twice as large. The loupe is a visual-only element and should not receive focus since it does not provide interactive functionality."
27
27
  },
28
28
  {
29
29
  "type": "guideline",
30
- "content": "A color slider in a disabled state shows that an input exists, but is not available in that circumstance. This can be used to maintain layout continuity and communicate that a slider may become available later."
30
+ "content": "Handle behavior.\n\nUnlike the slider itself, the color slider's handle can slide all the way to the edge of the track. It always displays the selected color inside the handle and never gets cut off by the track or any container."
31
31
  },
32
32
  {
33
33
  "type": "guideline",
34
- "content": "The slider’s length can be customized based on its context, while its thickness stays fixed for consistency and usability."
34
+ "content": "Minimum length.\n\nA color slider's minimum length is 80 px on desktop, 100 px on mobile."
35
35
  },
36
36
  {
37
37
  "type": "guideline",
38
- "content": "Color sliders can be either in horizontal or vertical orientation. By default, a color slider is horizontal and should be used when vertical space is more limited. The vertical orientation is used when horizontal space is more limited."
38
+ "content": "Include labels.\n\nColor sliders should be labeled and, when applicable, paired with text fields. If labeling each individual slider is redundant, label the group of sliders instead (for example, \"RGB\" or \"HSB\")."
39
39
  },
40
40
  {
41
41
  "type": "guideline",
42
- "content": "The step refers to the increment by which these values increase or decrease. A step value of 1 (default) allows a user to only select whole numbers within the min and max range."
42
+ "content": "Display color selection.\n\nWhen using color sliders, it's important to clearly display the color selection in real time. It can be in a color swatch, directly on the canvas, or both."
43
43
  },
44
44
  {
45
45
  "type": "guideline",
46
- "content": "The min and max values also can be customized appropriately for what the color slider is being used for (such as 0 to 360 for hue). By default, the min value starts at 0 and max value is set to 100."
47
- },
48
- {
49
- "type": "guideline",
50
- "content": "The value is the number selected within the color slider’s range, from the min value to max value."
51
- },
52
- {
53
- "type": "guideline",
54
- "content": "Controls a single color channel — such as hue, lightness, or alpha—at a time. The track’s gradient visualizes the full range of values for that channel."
55
- },
56
- {
57
- "type": "guideline",
58
- "content": "The background of the color slider is a visual representation of the range of values a user can select from. This can represent color properties such as hues, color channel values (such as RGB or CMYK levels), or opacity. The exact format this background property takes will depend on what implementation you are working with. Some examples of the format include image, canvas, and gradient."
59
- },
60
- {
61
- "type": "guideline",
62
- "content": "The keyboard focus state enlarges the handle to become twice as large. The loupe is a visual-only element and should not receive focus since it does not provide interactive functionality."
63
- },
64
- {
65
- "type": "guideline",
66
- "content": "Unlike the slider itself, the color slider’s handle can slide all the way to the edge of the track. It always displays the selected color inside the handle and never gets cut off by the track or any container."
67
- },
68
- {
69
- "type": "guideline",
70
- "content": "A color slider’s minimum length is 80 px on desktop, 100 px on mobile."
71
- },
72
- {
73
- "type": "guideline",
74
- "content": "Color sliders should be labeled and, when applicable, paired with text fields. If labeling each individual slider is redundant, label the group of sliders instead (for example, “RGB” or “HSB”)."
75
- },
76
- {
77
- "type": "guideline",
78
- "content": "When using color sliders, it’s important to clearly display the color selection in real time. It can be in a color swatch, directly on the canvas, or both."
79
- },
80
- {
81
- "type": "guideline",
82
- "content": "The color loupe component can be used above the handle to show the selected color that would otherwise be covered by a cursor, stylus, or finger on the down/touch state. This can be customized to appear only on finger-input, or always appear regardless of input type."
46
+ "content": "Color loupe on down/touch state.\n\nThe color loupe component can be used above the handle to show the selected color that would otherwise be covered by a cursor, stylus, or finger on the down/touch state. This can be customized to appear only on finger-input, or always appear regardless of input type."
83
47
  }
84
48
  ],
85
49
  "options": {
@@ -92,105 +56,45 @@
92
56
  "default": "hue",
93
57
  "description": "Which channel of the color this slider controls. Use 'alpha' for opacity.",
94
58
  "values": [
95
- {
96
- "value": "hue"
97
- },
98
- {
99
- "value": "saturation"
100
- },
101
- {
102
- "value": "lightness"
103
- },
104
- {
105
- "value": "red"
106
- },
107
- {
108
- "value": "green"
109
- },
110
- {
111
- "value": "blue"
112
- },
113
- {
114
- "value": "alpha"
115
- }
59
+ { "value": "hue" },
60
+ { "value": "saturation" },
61
+ { "value": "lightness" },
62
+ { "value": "red" },
63
+ { "value": "green" },
64
+ { "value": "blue" },
65
+ { "value": "alpha" }
116
66
  ]
117
67
  },
118
68
  "value": {
119
69
  "type": "number",
120
70
  "description": "Number (from minValue to maxValue)."
121
71
  },
122
- "minValue": {
123
- "type": "number",
124
- "default": 0
125
- },
126
- "maxValue": {
127
- "type": "number",
128
- "default": 100
129
- },
130
- "step": {
131
- "type": "number",
132
- "default": 1
133
- },
72
+ "minValue": { "type": "number", "default": 0 },
73
+ "maxValue": { "type": "number", "default": 100 },
74
+ "step": { "type": "number", "default": 1 },
134
75
  "orientation": {
135
76
  "type": "string",
136
77
  "default": "horizontal",
137
- "values": [
138
- {
139
- "value": "horizontal"
140
- },
141
- {
142
- "value": "vertical"
143
- }
144
- ]
145
- },
146
- "length": {
147
- "type": "number",
148
- "default": 192,
149
- "description": "units: px"
78
+ "values": [{ "value": "horizontal" }, { "value": "vertical" }]
150
79
  },
151
- "isDisabled": {
152
- "type": "boolean",
153
- "default": false
154
- }
80
+ "length": { "type": "number", "default": 192, "description": "units: px" },
81
+ "isDisabled": { "type": "boolean", "default": false }
155
82
  },
156
83
  "states": [
157
- {
158
- "name": "hover",
159
- "trigger": "interaction"
160
- },
161
- {
162
- "name": "down",
163
- "trigger": "interaction"
164
- },
165
- {
166
- "name": "keyboard-focus",
167
- "trigger": "interaction"
168
- }
84
+ { "name": "hover", "trigger": "interaction" },
85
+ { "name": "down", "trigger": "interaction" },
86
+ { "name": "keyboard-focus", "trigger": "interaction" }
169
87
  ],
170
- "lifecycle": {
171
- "introduced": "1.0.0-draft"
172
- },
88
+ "lifecycle": { "introduced": "1.0.0-draft" },
173
89
  "accessibility": {
174
90
  "role": "slider",
175
91
  "intents": ["choose"],
176
92
  "focusable": true,
177
93
  "keyboardIntents": ["increment", "decrement"],
178
94
  "wcag": [
179
- {
180
- "criterion": "1.3.1",
181
- "level": "A",
182
- "title": "Info and Relationships"
183
- },
184
- {
185
- "criterion": "2.1.1",
186
- "level": "A",
187
- "title": "Keyboard"
188
- },
189
- {
190
- "criterion": "4.1.2",
191
- "level": "A",
192
- "title": "Name, Role, Value"
193
- }
95
+ { "criterion": "1.3.1", "level": "A", "title": "Info and Relationships" },
96
+ { "criterion": "2.1.1", "level": "A", "title": "Keyboard" },
97
+ { "criterion": "4.1.2", "level": "A", "title": "Name, Role, Value" }
194
98
  ]
195
99
  }
196
100
  }
@@ -23,51 +23,23 @@
23
23
  },
24
24
  {
25
25
  "type": "guideline",
26
- "content": "Color wheels adjust a single color channel using a circular track. They offer a visual, radial interface often paired with other color selection tools for more precise control."
26
+ "content": "Keyboard focus.\n\nA color wheel can be navigated using a keyboard. The keyboard focus state enlarges the handle to become twice as large."
27
27
  },
28
28
  {
29
29
  "type": "guideline",
30
- "content": "A color wheel in a disabled state shows that an input exists, but is not available in that circumstance. This can be used to maintain layout continuity and communicate that the wheel may become available later."
30
+ "content": "Minimum size.\n\nMinimum sizing ensures that the component remains clear, usable, and visually consistent, even in flexible or responsive layouts."
31
31
  },
32
32
  {
33
33
  "type": "guideline",
34
- "content": "A color wheel’s size can be customized appropriately for its context."
34
+ "content": "Placing a color area inside a color wheel.\n\nThe color wheel is often used together with the color area component for color selection. When placing the color area inside the color wheel, make sure to leave enough of a margin between the two components to ensure there's enough space for the both the handles."
35
35
  },
36
36
  {
37
37
  "type": "guideline",
38
- "content": "The step refers to the increment by which these values increase or decrease. A step value of 1 (default) allows a user to only select whole numbers within the min and max range."
38
+ "content": "Display color selection.\n\nWhen using color areas, it's important to clearly display the color selection in real time. It can be in a color swatch, directly on the canvas, or both."
39
39
  },
40
40
  {
41
41
  "type": "guideline",
42
- "content": "The min and max values can also be customized appropriately for what the color wheel is being used for. By default, the min value starts at 0 and max value is set to 360."
43
- },
44
- {
45
- "type": "guideline",
46
- "content": "The value is the number selected within the color wheel’s range, from the minimum value to the maximum value."
47
- },
48
- {
49
- "type": "guideline",
50
- "content": "The background of the color wheel is a visual representation of the range of values that a user can select from. It can represent color properties such as hues or color channel values (such as RGB or CMYK levels). The exact format this background property takes will depend on what implementation you are working with. Some examples of the format include image, canvas, and gradient."
51
- },
52
- {
53
- "type": "guideline",
54
- "content": "A color wheel can be navigated using a keyboard. The keyboard focus state enlarges the handle to become twice as large."
55
- },
56
- {
57
- "type": "guideline",
58
- "content": "Minimum sizing ensures that the component remains clear, usable, and visually consistent, even in flexible or responsive layouts."
59
- },
60
- {
61
- "type": "guideline",
62
- "content": "The color wheel is often used together with the color area component for color selection. When placing the color area inside the color wheel, make sure to leave enough of a margin between the two components to ensure there’s enough space for the both the handles."
63
- },
64
- {
65
- "type": "guideline",
66
- "content": "When using color areas, it’s important to clearly display the color selection in real time. It can be in a color swatch, directly on the canvas, or both."
67
- },
68
- {
69
- "type": "guideline",
70
- "content": "The color loupe component can be used above the handle to show the selected color that would otherwise be covered by a cursor, stylus, or finger on the down/touch state. This can be customized to appear only on finger-input, or always appear regardless of input type."
42
+ "content": "Color loupe on down/touch state.\n\nThe color loupe component can be used above the handle to show the selected color that would otherwise be covered by a cursor, stylus, or finger on the down/touch state. This can be customized to appear only on finger-input, or always appear regardless of input type."
71
43
  }
72
44
  ],
73
45
  "options": {
@@ -79,66 +51,27 @@
79
51
  "type": "number",
80
52
  "description": "Number (from minValue to maxValue)"
81
53
  },
82
- "minValue": {
83
- "type": "number",
84
- "default": 0
85
- },
86
- "maxValue": {
87
- "type": "number",
88
- "default": 360
89
- },
90
- "step": {
91
- "type": "number",
92
- "default": 1
93
- },
94
- "size": {
95
- "type": "number",
96
- "default": 192,
97
- "description": "units: px"
98
- },
99
- "isDisabled": {
100
- "type": "boolean",
101
- "default": false
102
- }
54
+ "minValue": { "type": "number", "default": 0 },
55
+ "maxValue": { "type": "number", "default": 360 },
56
+ "step": { "type": "number", "default": 1 },
57
+ "size": { "type": "number", "default": 192, "description": "units: px" },
58
+ "isDisabled": { "type": "boolean", "default": false }
103
59
  },
104
60
  "states": [
105
- {
106
- "name": "hover",
107
- "trigger": "interaction"
108
- },
109
- {
110
- "name": "down",
111
- "trigger": "interaction"
112
- },
113
- {
114
- "name": "keyboard-focus",
115
- "trigger": "interaction"
116
- }
61
+ { "name": "hover", "trigger": "interaction" },
62
+ { "name": "down", "trigger": "interaction" },
63
+ { "name": "keyboard-focus", "trigger": "interaction" }
117
64
  ],
118
- "lifecycle": {
119
- "introduced": "1.0.0-draft"
120
- },
65
+ "lifecycle": { "introduced": "1.0.0-draft" },
121
66
  "accessibility": {
122
67
  "role": "slider",
123
68
  "intents": ["choose"],
124
69
  "focusable": true,
125
70
  "keyboardIntents": ["increment", "decrement"],
126
71
  "wcag": [
127
- {
128
- "criterion": "1.3.1",
129
- "level": "A",
130
- "title": "Info and Relationships"
131
- },
132
- {
133
- "criterion": "2.1.1",
134
- "level": "A",
135
- "title": "Keyboard"
136
- },
137
- {
138
- "criterion": "4.1.2",
139
- "level": "A",
140
- "title": "Name, Role, Value"
141
- }
72
+ { "criterion": "1.3.1", "level": "A", "title": "Info and Relationships" },
73
+ { "criterion": "2.1.1", "level": "A", "title": "Keyboard" },
74
+ { "criterion": "4.1.2", "level": "A", "title": "Name, Role, Value" }
142
75
  ]
143
76
  }
144
77
  }