@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
@@ -9,6 +9,13 @@
9
9
  "category": "inputs",
10
10
  "documentationUrl": "https://spectrum.adobe.com/page/color-slider/"
11
11
  },
12
+ "implementations": [
13
+ {
14
+ "platform": "web",
15
+ "componentName": "ColorSlider",
16
+ "package": "@react-spectrum/s2"
17
+ }
18
+ ],
12
19
  "documentBlocks": [
13
20
  {
14
21
  "type": "purpose",
@@ -16,27 +23,63 @@
16
23
  },
17
24
  {
18
25
  "type": "guideline",
19
- "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."
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."
27
+ },
28
+ {
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."
31
+ },
32
+ {
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."
35
+ },
36
+ {
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."
39
+ },
40
+ {
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."
43
+ },
44
+ {
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."
20
55
  },
21
56
  {
22
57
  "type": "guideline",
23
- "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."
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."
24
59
  },
25
60
  {
26
61
  "type": "guideline",
27
- "content": "Minimum length.\n\nA color slider's minimum length is 80 px on desktop, 100 px on mobile."
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."
28
63
  },
29
64
  {
30
65
  "type": "guideline",
31
- "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\")."
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."
32
67
  },
33
68
  {
34
69
  "type": "guideline",
35
- "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."
70
+ "content": "A color slider’s minimum length is 80 px on desktop, 100 px on mobile."
36
71
  },
37
72
  {
38
73
  "type": "guideline",
39
- "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."
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."
40
83
  }
41
84
  ],
42
85
  "options": {
@@ -49,45 +92,105 @@
49
92
  "default": "hue",
50
93
  "description": "Which channel of the color this slider controls. Use 'alpha' for opacity.",
51
94
  "values": [
52
- { "value": "hue" },
53
- { "value": "saturation" },
54
- { "value": "lightness" },
55
- { "value": "red" },
56
- { "value": "green" },
57
- { "value": "blue" },
58
- { "value": "alpha" }
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
116
  ]
60
117
  },
61
118
  "value": {
62
119
  "type": "number",
63
120
  "description": "Number (from minValue to maxValue)."
64
121
  },
65
- "minValue": { "type": "number", "default": 0 },
66
- "maxValue": { "type": "number", "default": 100 },
67
- "step": { "type": "number", "default": 1 },
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
+ },
68
134
  "orientation": {
69
135
  "type": "string",
70
136
  "default": "horizontal",
71
- "values": [{ "value": "horizontal" }, { "value": "vertical" }]
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"
72
150
  },
73
- "length": { "type": "number", "default": 192, "description": "units: px" },
74
- "isDisabled": { "type": "boolean", "default": false }
151
+ "isDisabled": {
152
+ "type": "boolean",
153
+ "default": false
154
+ }
75
155
  },
76
156
  "states": [
77
- { "name": "hover", "trigger": "interaction" },
78
- { "name": "down", "trigger": "interaction" },
79
- { "name": "keyboard-focus", "trigger": "interaction" }
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
+ }
80
169
  ],
81
- "lifecycle": { "introduced": "1.0.0-draft" },
170
+ "lifecycle": {
171
+ "introduced": "1.0.0-draft"
172
+ },
82
173
  "accessibility": {
83
174
  "role": "slider",
84
175
  "intents": ["choose"],
85
176
  "focusable": true,
86
177
  "keyboardIntents": ["increment", "decrement"],
87
178
  "wcag": [
88
- { "criterion": "1.3.1", "level": "A", "title": "Info and Relationships" },
89
- { "criterion": "2.1.1", "level": "A", "title": "Keyboard" },
90
- { "criterion": "4.1.2", "level": "A", "title": "Name, Role, Value" }
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
+ }
91
194
  ]
92
195
  }
93
196
  }
@@ -9,6 +9,13 @@
9
9
  "category": "inputs",
10
10
  "documentationUrl": "https://spectrum.adobe.com/page/color-wheel/"
11
11
  },
12
+ "implementations": [
13
+ {
14
+ "platform": "web",
15
+ "componentName": "ColorWheel",
16
+ "package": "@react-spectrum/s2"
17
+ }
18
+ ],
12
19
  "documentBlocks": [
13
20
  {
14
21
  "type": "purpose",
@@ -16,23 +23,51 @@
16
23
  },
17
24
  {
18
25
  "type": "guideline",
19
- "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."
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."
27
+ },
28
+ {
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."
31
+ },
32
+ {
33
+ "type": "guideline",
34
+ "content": "A color wheel’s size can be customized appropriately for its context."
35
+ },
36
+ {
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."
39
+ },
40
+ {
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."
20
51
  },
21
52
  {
22
53
  "type": "guideline",
23
- "content": "Minimum size.\n\nMinimum sizing ensures that the component remains clear, usable, and visually consistent, even in flexible or responsive layouts."
54
+ "content": "A color wheel can be navigated using a keyboard. The keyboard focus state enlarges the handle to become twice as large."
24
55
  },
25
56
  {
26
57
  "type": "guideline",
27
- "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."
58
+ "content": "Minimum sizing ensures that the component remains clear, usable, and visually consistent, even in flexible or responsive layouts."
28
59
  },
29
60
  {
30
61
  "type": "guideline",
31
- "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."
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."
32
63
  },
33
64
  {
34
65
  "type": "guideline",
35
- "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."
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."
36
71
  }
37
72
  ],
38
73
  "options": {
@@ -44,27 +79,66 @@
44
79
  "type": "number",
45
80
  "description": "Number (from minValue to maxValue)"
46
81
  },
47
- "minValue": { "type": "number", "default": 0 },
48
- "maxValue": { "type": "number", "default": 360 },
49
- "step": { "type": "number", "default": 1 },
50
- "size": { "type": "number", "default": 192, "description": "units: px" },
51
- "isDisabled": { "type": "boolean", "default": false }
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
+ }
52
103
  },
53
104
  "states": [
54
- { "name": "hover", "trigger": "interaction" },
55
- { "name": "down", "trigger": "interaction" },
56
- { "name": "keyboard-focus", "trigger": "interaction" }
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
+ }
57
117
  ],
58
- "lifecycle": { "introduced": "1.0.0-draft" },
118
+ "lifecycle": {
119
+ "introduced": "1.0.0-draft"
120
+ },
59
121
  "accessibility": {
60
122
  "role": "slider",
61
123
  "intents": ["choose"],
62
124
  "focusable": true,
63
125
  "keyboardIntents": ["increment", "decrement"],
64
126
  "wcag": [
65
- { "criterion": "1.3.1", "level": "A", "title": "Info and Relationships" },
66
- { "criterion": "2.1.1", "level": "A", "title": "Keyboard" },
67
- { "criterion": "4.1.2", "level": "A", "title": "Name, Role, Value" }
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
+ }
68
142
  ]
69
143
  }
70
144
  }