@adobe/spectrum-design-data 0.4.0 → 0.6.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 (96) hide show
  1. package/components/accordion.json +108 -194
  2. package/components/action-bar.json +64 -97
  3. package/components/action-button.json +95 -230
  4. package/components/action-group.json +88 -86
  5. package/components/alert-banner.json +104 -76
  6. package/components/alert-dialog.json +78 -126
  7. package/components/avatar-group.json +61 -119
  8. package/components/avatar.json +98 -212
  9. package/components/badge.json +138 -256
  10. package/components/breadcrumbs.json +95 -89
  11. package/components/button-group.json +57 -48
  12. package/components/button.json +151 -368
  13. package/components/calendar.json +97 -34
  14. package/components/cards.json +109 -250
  15. package/components/checkbox-group.json +50 -58
  16. package/components/checkbox.json +121 -186
  17. package/components/close-button.json +61 -124
  18. package/components/coach-indicator.json +63 -72
  19. package/components/coach-mark.json +89 -93
  20. package/components/color-area.json +68 -94
  21. package/components/color-handle.json +39 -79
  22. package/components/color-loupe.json +35 -52
  23. package/components/color-slider.json +95 -116
  24. package/components/color-wheel.json +67 -73
  25. package/components/combo-box.json +243 -331
  26. package/components/contextual-help.json +86 -175
  27. package/components/date-picker.json +139 -179
  28. package/components/divider.json +30 -69
  29. package/components/drop-zone.json +51 -92
  30. package/components/field-label.json +75 -117
  31. package/components/help-text.json +81 -105
  32. package/components/illustrated-message.json +106 -73
  33. package/components/in-line-alert.json +50 -83
  34. package/components/link.json +63 -85
  35. package/components/list-view.json +107 -146
  36. package/components/menu.json +180 -274
  37. package/components/meter.json +72 -118
  38. package/components/number-field.json +213 -305
  39. package/components/picker.json +208 -320
  40. package/components/popover.json +94 -129
  41. package/components/progress-bar.json +94 -131
  42. package/components/progress-circle.json +45 -72
  43. package/components/radio-button.json +87 -156
  44. package/components/radio-group.json +107 -74
  45. package/components/rating.json +66 -99
  46. package/components/search-field.json +132 -202
  47. package/components/segmented-control.json +94 -109
  48. package/components/select-box.json +119 -179
  49. package/components/side-navigation.json +108 -118
  50. package/components/slider.json +143 -228
  51. package/components/standard-dialog.json +96 -114
  52. package/components/standard-panel.json +105 -53
  53. package/components/status-light.json +104 -240
  54. package/components/steplist.json +77 -161
  55. package/components/swatch-group.json +42 -58
  56. package/components/swatch.json +75 -162
  57. package/components/switch.json +101 -189
  58. package/components/table.json +97 -102
  59. package/components/tabs.json +77 -104
  60. package/components/tag-field.json +86 -150
  61. package/components/tag-group.json +50 -44
  62. package/components/tag.json +81 -198
  63. package/components/takeover-dialog.json +59 -57
  64. package/components/text-area.json +200 -323
  65. package/components/text-field.json +183 -304
  66. package/components/thumbnail.json +63 -105
  67. package/components/toast.json +97 -83
  68. package/components/tooltip.json +104 -96
  69. package/components/tree-view.json +169 -181
  70. package/guidelines/app-frame-content-area.json +87 -0
  71. package/guidelines/app-frame-creating-bluelines.json +61 -0
  72. package/guidelines/app-frame-header.json +75 -0
  73. package/guidelines/app-frame-overview.json +167 -0
  74. package/guidelines/app-frame-side-navigation.json +138 -0
  75. package/guidelines/attention-hierarchy.json +42 -0
  76. package/guidelines/background-layers.json +41 -0
  77. package/guidelines/brand.json +50 -0
  78. package/guidelines/colors.json +65 -0
  79. package/guidelines/containers.json +65 -0
  80. package/guidelines/developer-overview.json +38 -0
  81. package/guidelines/faqs.json +35 -0
  82. package/guidelines/fonts.json +58 -0
  83. package/guidelines/grays.json +69 -0
  84. package/guidelines/icon-fundamentals.json +45 -0
  85. package/guidelines/illustrations.json +114 -0
  86. package/guidelines/introduction.json +34 -0
  87. package/guidelines/manifest.json +204 -0
  88. package/guidelines/motion.json +41 -0
  89. package/guidelines/object-styles.json +105 -0
  90. package/guidelines/principles.json +30 -0
  91. package/guidelines/resources.json +59 -0
  92. package/guidelines/spacing.json +25 -0
  93. package/guidelines/states.json +34 -0
  94. package/guidelines/typography-fundamentals.json +145 -0
  95. package/guidelines/using-icons.json +110 -0
  96. package/package.json +5 -2
@@ -9,6 +9,68 @@
9
9
  "category": "status",
10
10
  "documentationUrl": "https://spectrum.adobe.com/page/badge/"
11
11
  },
12
+ "documentBlocks": [
13
+ {
14
+ "type": "purpose",
15
+ "content": "Similar to status lights, badges are for showing a small amount of color-categorized metadata. They're ideal for getting a user''s attention."
16
+ },
17
+ {
18
+ "type": "guideline",
19
+ "content": "Badges come in four different sizes: small, medium, large, and extra-large. The small size is the default and most frequently used option. Use the other sizes sparingly to create a hierarchy of importance on a page."
20
+ },
21
+ {
22
+ "type": "guideline",
23
+ "content": "Badges can be placed as floating in a container, or they can be fixed to any edge of a container. They lose their default corner rounding on the fixed edge."
24
+ },
25
+ {
26
+ "type": "guideline",
27
+ "content": "A Badge’s style determines its visual emphasis. Badges come in three different styles: bold, subtle, and outline."
28
+ },
29
+ {
30
+ "type": "guideline",
31
+ "content": "When badges have a semantic meaning, they use semantic colors. Use these variants for the following statuses:"
32
+ },
33
+ {
34
+ "type": "guideline",
35
+ "content": "When badges are for color-coded categories, they use non-semantic colors. Non-semantic variants are ideally used for when there are 8 categories or less."
36
+ },
37
+ {
38
+ "type": "guideline",
39
+ "content": "A badge can have an optional icon. If no label is used, a badge becomes icon-only and it must include an icon. An icon-only badge is best for very small spaces, and it should always include a tooltip on hover to provide more context for the icon's meaning."
40
+ },
41
+ {
42
+ "type": "guideline",
43
+ "content": "Badges should always have a label for accessibility and clear comprehension. When the label is not defined, a badge becomes icon-only."
44
+ },
45
+ {
46
+ "type": "guideline",
47
+ "content": "Badges are display elements, not actions. They should not behave like buttons or links. If an action is required, use a more appropriate component (e.g., Button, Action button)."
48
+ },
49
+ {
50
+ "type": "guideline",
51
+ "content": "When a badge's label is too long for the available horizontal space, it wraps to form another line. If there is no room for a second line of text, the badge should truncate and include a tooltip to expose the full text upon hover."
52
+ },
53
+ {
54
+ "type": "guideline",
55
+ "content": "Blue badges are easily confused with Spectrum's blue accent buttons. Only use blue badges when absolutely necessary."
56
+ },
57
+ {
58
+ "type": "guideline",
59
+ "content": "The yellow badge is reserved to communicate \"best deal\" or \"discount\" situations only. Do not use the yellow badge for other situations."
60
+ },
61
+ {
62
+ "type": "guideline",
63
+ "content": "Badges are meant to offer quick context about what category, status, or meaning an item is associated with. If your design requires multiple badges, consider using regular text metadata and reserve a single badge for only the most important status, category, or meaning instead."
64
+ },
65
+ {
66
+ "type": "guideline",
67
+ "content": "It's best to use a text label on a badge whenever possible because communicating with an icon alone may be unclear or subjective. Reserve icon-only badges for responsive cases, such as for cards in a panel that don't have space for a full badge. In related contexts, pair the icon with a label to help teach a user what the icon means. Icon-only badges should always include a tooltip on hover to show their associated label."
68
+ },
69
+ {
70
+ "type": "guideline",
71
+ "content": "Badge placement varies widely depending on the use case. In cards, place the badge on the left side of the footer, if possible. If there is no footer or if that space is filled, affix the badge to the right edge of the preview. If there is no preview, affix the badge to the top right corner of the card."
72
+ }
73
+ ],
12
74
  "options": {
13
75
  "label": {
14
76
  "type": "string",
@@ -20,210 +82,83 @@
20
82
  "variant": {
21
83
  "type": "string",
22
84
  "values": [
23
- {
24
- "value": "neutral"
25
- },
26
- {
27
- "value": "info"
28
- },
29
- {
30
- "value": "positive"
31
- },
32
- {
33
- "value": "negative"
34
- },
35
- {
36
- "value": "indigo"
37
- },
38
- {
39
- "value": "yellow"
40
- },
41
- {
42
- "value": "magenta"
43
- },
44
- {
45
- "value": "fuchsia"
46
- },
47
- {
48
- "value": "purple"
49
- },
50
- {
51
- "value": "seafoam"
52
- },
53
- {
54
- "value": "accent"
55
- },
56
- {
57
- "value": "notice"
58
- },
59
- {
60
- "value": "gray"
61
- },
62
- {
63
- "value": "red"
64
- },
65
- {
66
- "value": "orange"
67
- },
68
- {
69
- "value": "chartreuse"
70
- },
71
- {
72
- "value": "celery"
73
- },
74
- {
75
- "value": "green"
76
- },
77
- {
78
- "value": "cyan"
79
- },
80
- {
81
- "value": "blue"
82
- },
83
- {
84
- "value": "pink"
85
- },
86
- {
87
- "value": "turquoise"
88
- },
89
- {
90
- "value": "brown"
91
- },
92
- {
93
- "value": "cinnamon"
94
- },
95
- {
96
- "value": "silver"
97
- }
85
+ { "value": "neutral" },
86
+ { "value": "info" },
87
+ { "value": "positive" },
88
+ { "value": "negative" },
89
+ { "value": "indigo" },
90
+ { "value": "yellow" },
91
+ { "value": "magenta" },
92
+ { "value": "fuchsia" },
93
+ { "value": "purple" },
94
+ { "value": "seafoam" },
95
+ { "value": "accent" },
96
+ { "value": "notice" },
97
+ { "value": "gray" },
98
+ { "value": "red" },
99
+ { "value": "orange" },
100
+ { "value": "chartreuse" },
101
+ { "value": "celery" },
102
+ { "value": "green" },
103
+ { "value": "cyan" },
104
+ { "value": "blue" },
105
+ { "value": "pink" },
106
+ { "value": "turquoise" },
107
+ { "value": "brown" },
108
+ { "value": "cinnamon" },
109
+ { "value": "silver" }
98
110
  ]
99
111
  },
100
112
  "style": {
101
113
  "type": "string",
102
114
  "values": [
103
- {
104
- "value": "bold"
105
- },
106
- {
107
- "value": "subtle"
108
- },
109
- {
110
- "value": "outline"
111
- }
115
+ { "value": "bold" },
116
+ { "value": "subtle" },
117
+ { "value": "outline" }
112
118
  ]
113
119
  },
114
120
  "fixed": {
115
121
  "type": "string",
116
122
  "default": "none",
117
123
  "values": [
118
- {
119
- "value": "none"
120
- },
121
- {
122
- "value": "top"
123
- },
124
- {
125
- "value": "right"
126
- },
127
- {
128
- "value": "bottom"
129
- },
130
- {
131
- "value": "left"
132
- }
124
+ { "value": "none" },
125
+ { "value": "top" },
126
+ { "value": "right" },
127
+ { "value": "bottom" },
128
+ { "value": "left" }
133
129
  ]
134
130
  },
135
- "isDisabled": {
136
- "type": "boolean",
137
- "default": false
138
- },
131
+ "isDisabled": { "type": "boolean", "default": false },
139
132
  "size": {
140
133
  "type": "string",
141
134
  "pattern": "^(x?s|m|x{0,3}l)$",
142
135
  "default": "s",
143
136
  "values": [
144
- {
145
- "value": "s"
146
- },
147
- {
148
- "value": "m"
149
- },
150
- {
151
- "value": "l"
152
- },
153
- {
154
- "value": "xl"
155
- }
137
+ { "value": "s" },
138
+ { "value": "m" },
139
+ { "value": "l" },
140
+ { "value": "xl" }
156
141
  ]
157
142
  }
158
143
  },
159
- "lifecycle": {
160
- "introduced": "1.0.0-draft"
161
- },
144
+ "lifecycle": { "introduced": "1.0.0-draft" },
162
145
  "tokenBindings": [
163
- {
164
- "token": "component-height-75",
165
- "context": "Minimum height"
166
- },
167
- {
168
- "token": "component-height-100",
169
- "context": "Minimum height"
170
- },
171
- {
172
- "token": "component-height-200",
173
- "context": "Minimum height"
174
- },
175
- {
176
- "token": "component-height-300",
177
- "context": "Minimum height"
178
- },
179
- {
180
- "token": "corner-radius-medium-size-small",
181
- "context": "Rounding"
182
- },
183
- {
184
- "token": "corner-radius-medium-size-medium",
185
- "context": "Rounding"
186
- },
187
- {
188
- "token": "corner-radius-medium-size-large",
189
- "context": "Rounding"
190
- },
191
- {
192
- "token": "corner-radius-medium-size-extra-large",
193
- "context": "Rounding"
194
- },
195
- {
196
- "token": "workflow-icon-size-75",
197
- "context": "Icon"
198
- },
199
- {
200
- "token": "workflow-icon-size-100",
201
- "context": "Icon"
202
- },
203
- {
204
- "token": "workflow-icon-size-200",
205
- "context": "Icon"
206
- },
207
- {
208
- "token": "workflow-icon-size-300",
209
- "context": "Icon"
210
- },
211
- {
212
- "token": "text-to-visual-75",
213
- "context": "Spacing (icon to label)"
214
- },
215
- {
216
- "token": "text-to-visual-100",
217
- "context": "Spacing (icon to label)"
218
- },
219
- {
220
- "token": "text-to-visual-200",
221
- "context": "Spacing (icon to label)"
222
- },
223
- {
224
- "token": "text-to-visual-300",
225
- "context": "Spacing (icon to label)"
226
- },
146
+ { "token": "component-height-75", "context": "Minimum height" },
147
+ { "token": "component-height-100", "context": "Minimum height" },
148
+ { "token": "component-height-200", "context": "Minimum height" },
149
+ { "token": "component-height-300", "context": "Minimum height" },
150
+ { "token": "corner-radius-medium-size-small", "context": "Rounding" },
151
+ { "token": "corner-radius-medium-size-medium", "context": "Rounding" },
152
+ { "token": "corner-radius-medium-size-large", "context": "Rounding" },
153
+ { "token": "corner-radius-medium-size-extra-large", "context": "Rounding" },
154
+ { "token": "workflow-icon-size-75", "context": "Icon" },
155
+ { "token": "workflow-icon-size-100", "context": "Icon" },
156
+ { "token": "workflow-icon-size-200", "context": "Icon" },
157
+ { "token": "workflow-icon-size-300", "context": "Icon" },
158
+ { "token": "text-to-visual-75", "context": "Spacing (icon to label)" },
159
+ { "token": "text-to-visual-100", "context": "Spacing (icon to label)" },
160
+ { "token": "text-to-visual-200", "context": "Spacing (icon to label)" },
161
+ { "token": "text-to-visual-300", "context": "Spacing (icon to label)" },
227
162
  {
228
163
  "token": "component-edge-to-visual-75",
229
164
  "context": "Spacing (start/end edges)"
@@ -288,10 +223,7 @@
288
223
  "token": "component-top-to-workflow-icon-300",
289
224
  "context": "Spacing (top edge to icon)"
290
225
  },
291
- {
292
- "token": "border-width-200",
293
- "context": "Border"
294
- },
226
+ { "token": "border-width-200", "context": "Border" },
295
227
  {
296
228
  "token": "component-top-to-text-75",
297
229
  "context": "Spacing (top/bottom edge to label)"
@@ -324,14 +256,8 @@
324
256
  "token": "component-bottom-to-text-300",
325
257
  "context": "Spacing (top/bottom edge to label)"
326
258
  },
327
- {
328
- "token": "white",
329
- "context": "Text and icon (semantic)"
330
- },
331
- {
332
- "token": "black",
333
- "context": "Text and icon (semantic)"
334
- },
259
+ { "token": "white", "context": "Text and icon (semantic)" },
260
+ { "token": "black", "context": "Text and icon (semantic)" },
335
261
  {
336
262
  "token": "neutral-subdued-background-color-default",
337
263
  "context": "Background (semantic)"
@@ -432,10 +358,7 @@
432
358
  "token": "silver-background-color-default",
433
359
  "context": "Background (non-semantic) "
434
360
  },
435
- {
436
- "token": "gray-1000",
437
- "context": "Text and icon (semantic)"
438
- },
361
+ { "token": "gray-1000", "context": "Text and icon (semantic)" },
439
362
  {
440
363
  "token": "neutral-subtle-background-color-default",
441
364
  "context": "Background (semantic)"
@@ -532,63 +455,22 @@
532
455
  "token": "silver-subtle-background-color-default",
533
456
  "context": "Background (non-semantic) "
534
457
  },
535
- {
536
- "token": "background-layer-2-color",
537
- "context": "Background (semantic)"
538
- },
539
- {
540
- "token": "neutral-visual-color",
541
- "context": "Border (semantic)"
542
- },
543
- {
544
- "token": "accent-visual-color",
545
- "context": "Border (semantic)"
546
- },
547
- {
548
- "token": "informative-visual-color",
549
- "context": "Border (semantic)"
550
- },
551
- {
552
- "token": "negative-visual-color",
553
- "context": "Border (semantic)"
554
- },
555
- {
556
- "token": "notice-visual-color",
557
- "context": "Border (semantic)"
558
- },
559
- {
560
- "token": "positive-visual-color",
561
- "context": "Border (semantic)"
562
- },
563
- {
564
- "token": "default-font-family"
565
- },
566
- {
567
- "token": "medium-font-weight"
568
- },
569
- {
570
- "token": "default-font-style"
571
- },
572
- {
573
- "token": "font-size-75"
574
- },
575
- {
576
- "token": "font-size-100"
577
- },
578
- {
579
- "token": "font-size-200"
580
- },
581
- {
582
- "token": "font-size-300"
583
- },
584
- {
585
- "token": "line-height-100"
586
- },
587
- {
588
- "token": "cjk-line-height-100"
589
- }
458
+ { "token": "background-layer-2-color", "context": "Background (semantic)" },
459
+ { "token": "neutral-visual-color", "context": "Border (semantic)" },
460
+ { "token": "accent-visual-color", "context": "Border (semantic)" },
461
+ { "token": "informative-visual-color", "context": "Border (semantic)" },
462
+ { "token": "negative-visual-color", "context": "Border (semantic)" },
463
+ { "token": "notice-visual-color", "context": "Border (semantic)" },
464
+ { "token": "positive-visual-color", "context": "Border (semantic)" },
465
+ { "token": "default-font-family" },
466
+ { "token": "medium-font-weight" },
467
+ { "token": "default-font-style" },
468
+ { "token": "font-size-75" },
469
+ { "token": "font-size-100" },
470
+ { "token": "font-size-200" },
471
+ { "token": "font-size-300" },
472
+ { "token": "line-height-100" },
473
+ { "token": "cjk-line-height-100" }
590
474
  ],
591
- "accessibility": {
592
- "focusable": false
593
- }
475
+ "accessibility": { "focusable": false }
594
476
  }