@adobe/spectrum-design-data 0.7.0 → 0.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.
Files changed (38) hide show
  1. package/components/action-bar.json +10 -0
  2. package/components/alert-banner.json +6 -0
  3. package/components/breadcrumbs.json +6 -0
  4. package/components/coach-mark.json +6 -0
  5. package/components/field-label.json +6 -0
  6. package/components/menu.json +10 -0
  7. package/components/number-field.json +6 -0
  8. package/components/side-navigation.json +6 -0
  9. package/components/slider.json +6 -0
  10. package/components/status-light.json +18 -0
  11. package/components/steplist.json +6 -0
  12. package/components/table.json +18 -0
  13. package/components/tag.json +10 -0
  14. package/components/tree-view.json +6 -0
  15. package/fields/color-scheme.json +2 -1
  16. package/fields/colorFamily.json +3 -2
  17. package/fields/colorRole.json +16 -0
  18. package/fields/contrast.json +2 -1
  19. package/fields/family.json +2 -1
  20. package/fields/from.json +16 -0
  21. package/fields/scale.json +2 -1
  22. package/fields/scaleIndex.json +2 -1
  23. package/fields/structure.json +2 -1
  24. package/fields/style.json +2 -1
  25. package/fields/to.json +16 -0
  26. package/fields/weight.json +2 -1
  27. package/package.json +2 -2
  28. package/registry/anatomy-terms.json +66 -0
  29. package/registry/color-roles.json +17 -0
  30. package/registry/components.json +10 -0
  31. package/registry/positions.json +20 -0
  32. package/registry/property-terms.json +25 -0
  33. package/tokens/color-aliases.tokens.json +147 -98
  34. package/tokens/color-component.tokens.json +13 -8
  35. package/tokens/icons.tokens.json +741 -370
  36. package/tokens/layout-component.tokens.json +842 -437
  37. package/tokens/layout.tokens.json +13 -10
  38. package/tokens/typography.tokens.json +6 -3
@@ -54,6 +54,16 @@
54
54
  }
55
55
  ],
56
56
  "options": { "isEmphasized": { "type": "boolean", "default": false } },
57
+ "anatomy": [
58
+ {
59
+ "name": "action-group-area",
60
+ "description": "Group of secondary action controls."
61
+ },
62
+ {
63
+ "name": "item-counter",
64
+ "description": "Badge showing a count of items or actions."
65
+ }
66
+ ],
57
67
  "lifecycle": { "introduced": "1.0.0-draft" },
58
68
  "tokenBindings": [
59
69
  { "token": "action-bar-height", "context": "Height" },
@@ -113,6 +113,12 @@
113
113
  },
114
114
  "isDismissible": { "type": "boolean", "default": false }
115
115
  },
116
+ "anatomy": [
117
+ {
118
+ "name": "alert-icon",
119
+ "description": "Icon indicating the alert's severity."
120
+ }
121
+ ],
116
122
  "lifecycle": { "introduced": "1.0.0-draft" },
117
123
  "tokenBindings": [
118
124
  { "token": "workflow-icon-size-100", "context": "Icon asset" },
@@ -141,6 +141,12 @@
141
141
  ]
142
142
  }
143
143
  },
144
+ "anatomy": [
145
+ {
146
+ "name": "separator-icon",
147
+ "description": "Icon separating breadcrumb items."
148
+ }
149
+ ],
144
150
  "states": [
145
151
  { "name": "hover", "trigger": "interaction" },
146
152
  { "name": "down", "trigger": "interaction" },
@@ -111,6 +111,12 @@
111
111
  }
112
112
  }
113
113
  },
114
+ "anatomy": [
115
+ {
116
+ "name": "pagination-text",
117
+ "description": "Text indicating step position (e.g. '2 of 5')."
118
+ }
119
+ ],
114
120
  "lifecycle": { "introduced": "1.0.0-draft" },
115
121
  "tokenBindings": [
116
122
  { "token": "coach-mark-width", "context": "Width" },
@@ -80,6 +80,12 @@
80
80
  "isRequired": { "type": "boolean", "default": false },
81
81
  "isDisabled": { "type": "boolean", "default": false }
82
82
  },
83
+ "anatomy": [
84
+ {
85
+ "name": "asterisk",
86
+ "description": "Required-field indicator."
87
+ }
88
+ ],
83
89
  "lifecycle": { "introduced": "1.0.0-draft" },
84
90
  "tokenBindings": [
85
91
  { "token": "component-height-75", "context": "Minimum height" },
@@ -162,6 +162,16 @@
162
162
  "isUnavailable": { "type": "boolean", "default": false },
163
163
  "isDisabled": { "type": "boolean", "default": false }
164
164
  },
165
+ "anatomy": [
166
+ {
167
+ "name": "item-label",
168
+ "description": "Label text of a menu item."
169
+ },
170
+ {
171
+ "name": "menu-item",
172
+ "description": "A single row within the menu."
173
+ }
174
+ ],
165
175
  "states": [
166
176
  { "name": "hover", "trigger": "interaction" },
167
177
  { "name": "down", "trigger": "interaction" },
@@ -179,6 +179,12 @@
179
179
  "description": "If true, hides in-field increment and decrement buttons (stepper)."
180
180
  }
181
181
  },
182
+ "anatomy": [
183
+ {
184
+ "name": "in-field-stepper",
185
+ "description": "Increment/decrement stepper embedded in the field."
186
+ }
187
+ ],
182
188
  "states": [
183
189
  { "name": "hover", "trigger": "interaction" },
184
190
  { "name": "focus-+-hover", "trigger": "prop" },
@@ -133,6 +133,12 @@
133
133
  ]
134
134
  }
135
135
  },
136
+ "anatomy": [
137
+ {
138
+ "name": "trailing-accessory-area",
139
+ "description": "Trailing area for accessory content such as counts or actions."
140
+ }
141
+ ],
136
142
  "states": [
137
143
  { "name": "hover", "trigger": "interaction" },
138
144
  { "name": "down", "trigger": "interaction" },
@@ -135,6 +135,12 @@
135
135
  "isEditable": { "type": "boolean", "default": false },
136
136
  "isDisabled": { "type": "boolean", "default": false }
137
137
  },
138
+ "anatomy": [
139
+ {
140
+ "name": "text-field",
141
+ "description": "Editable numeric value field."
142
+ }
143
+ ],
138
144
  "states": [
139
145
  { "name": "hover", "trigger": "interaction" },
140
146
  { "name": "down", "trigger": "interaction" },
@@ -89,6 +89,24 @@
89
89
  ]
90
90
  }
91
91
  },
92
+ "anatomy": [
93
+ {
94
+ "name": "visual-75",
95
+ "description": "Severity dot, 75 size variant."
96
+ },
97
+ {
98
+ "name": "visual-100",
99
+ "description": "Severity dot, 100 size variant."
100
+ },
101
+ {
102
+ "name": "visual-200",
103
+ "description": "Severity dot, 200 size variant."
104
+ },
105
+ {
106
+ "name": "visual-300",
107
+ "description": "Severity dot, 300 size variant."
108
+ }
109
+ ],
92
110
  "lifecycle": { "introduced": "1.0.0-draft" },
93
111
  "tokenBindings": [
94
112
  { "token": "component-height-75", "context": "Height" },
@@ -88,6 +88,12 @@
88
88
  "description": "The identifier or label of the currently active step."
89
89
  }
90
90
  },
91
+ "anatomy": [
92
+ {
93
+ "name": "track-size",
94
+ "description": "The connecting track between steps."
95
+ }
96
+ ],
91
97
  "lifecycle": { "introduced": "1.0.0-draft" },
92
98
  "tokenBindings": [
93
99
  {
@@ -193,6 +193,24 @@
193
193
  }
194
194
  }
195
195
  },
196
+ "anatomy": [
197
+ {
198
+ "name": "column-header-row",
199
+ "description": "The header row containing column titles."
200
+ },
201
+ {
202
+ "name": "row",
203
+ "description": "A single data row."
204
+ },
205
+ {
206
+ "name": "row-checkbox",
207
+ "description": "Selection checkbox within a row."
208
+ },
209
+ {
210
+ "name": "header-row-checkbox",
211
+ "description": "Select-all checkbox within the column header row."
212
+ }
213
+ ],
196
214
  "lifecycle": { "introduced": "1.0.0-draft" },
197
215
  "tokenBindings": [
198
216
  { "token": "chevron-100", "context": "Header icons" },
@@ -59,6 +59,16 @@
59
59
  "isDisabled": { "type": "boolean", "default": false },
60
60
  "isReadOnly": { "type": "boolean", "default": false }
61
61
  },
62
+ "anatomy": [
63
+ {
64
+ "name": "clear-icon",
65
+ "description": "Icon affordance that removes the tag."
66
+ },
67
+ {
68
+ "name": "cross-icon",
69
+ "description": "Cross/X icon shown on the tag."
70
+ }
71
+ ],
62
72
  "states": [
63
73
  { "name": "hover", "trigger": "interaction" },
64
74
  { "name": "down", "trigger": "interaction" },
@@ -165,6 +165,12 @@
165
165
  "values": [{ "value": "toggle" }, { "value": "replace" }]
166
166
  }
167
167
  },
168
+ "anatomy": [
169
+ {
170
+ "name": "action-area",
171
+ "description": "Trailing area containing item actions."
172
+ }
173
+ ],
168
174
  "states": [
169
175
  { "name": "hover", "trigger": "interaction" },
170
176
  { "name": "down", "trigger": "interaction" },
@@ -11,5 +11,6 @@
11
11
  },
12
12
  "scope": null,
13
13
  "required": false,
14
- "valueType": "string"
14
+ "valueType": "string",
15
+ "excludeFromLegacyKey": true
15
16
  }
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/field.schema.json",
3
3
  "specVersion": "1.0.0-draft",
4
4
  "name": "colorFamily",
5
- "description": "Hue family of a color token (e.g. blue, gray, celery, accent). Used on color palette and semantic color tokens. Paired with scaleIndex for ramp tokens (e.g. colorFamily=blue + scaleIndex=100 → blue-100).",
5
+ "description": "Hue family of a color token (e.g. blue, gray, celery, accent). Used on color palette and semantic color tokens. Paired with scaleIndex for ramp tokens (e.g. colorFamily=blue + scaleIndex=100 \u2192 blue-100).",
6
6
  "kind": "semantic",
7
7
  "registry": "packages/design-data/registry/color-families.json",
8
8
  "validation": "advisory",
@@ -11,5 +11,6 @@
11
11
  },
12
12
  "scope": "color",
13
13
  "required": false,
14
- "valueType": "string"
14
+ "valueType": "string",
15
+ "excludeFromLegacyKey": true
15
16
  }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/field.schema.json",
3
+ "specVersion": "1.0.0-draft",
4
+ "name": "colorRole",
5
+ "description": "Semantic role of a color token within a component (e.g. primary, background). Used alongside colorFamily for component-scoped color tokens. Excluded from the legacy key; the serializer emits it via the explicit component-color branch.",
6
+ "kind": "semantic",
7
+ "registry": "packages/design-data/registry/color-roles.json",
8
+ "validation": "advisory",
9
+ "serialization": {
10
+ "position": 16
11
+ },
12
+ "scope": "color",
13
+ "required": false,
14
+ "valueType": "string",
15
+ "excludeFromLegacyKey": true
16
+ }
@@ -11,5 +11,6 @@
11
11
  },
12
12
  "scope": null,
13
13
  "required": false,
14
- "valueType": "string"
14
+ "valueType": "string",
15
+ "excludeFromLegacyKey": true
15
16
  }
@@ -11,5 +11,6 @@
11
11
  },
12
12
  "scope": "typography",
13
13
  "required": false,
14
- "valueType": "string"
14
+ "valueType": "string",
15
+ "excludeFromLegacyKey": true
15
16
  }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/field.schema.json",
3
+ "specVersion": "1.0.0-draft",
4
+ "name": "from",
5
+ "description": "Semantic: the starting endpoint of a space-between measurement (e.g. top, edge, text). Paired with `to`. Value MUST be an edge position, a generic anatomy term, or (when `component` is present) an anatomy part declared on that component — see SPEC-047.",
6
+ "kind": "semantic",
7
+ "registry": null,
8
+ "validation": "advisory",
9
+ "serialization": {
10
+ "position": 23
11
+ },
12
+ "scope": null,
13
+ "required": false,
14
+ "valueType": "string",
15
+ "excludeFromLegacyKey": true
16
+ }
package/fields/scale.json CHANGED
@@ -11,5 +11,6 @@
11
11
  },
12
12
  "scope": null,
13
13
  "required": false,
14
- "valueType": "string"
14
+ "valueType": "string",
15
+ "excludeFromLegacyKey": true
15
16
  }
@@ -11,5 +11,6 @@
11
11
  },
12
12
  "scope": null,
13
13
  "required": false,
14
- "valueType": "integer"
14
+ "valueType": "integer",
15
+ "excludeFromLegacyKey": true
15
16
  }
@@ -11,5 +11,6 @@
11
11
  },
12
12
  "scope": null,
13
13
  "required": false,
14
- "valueType": "string"
14
+ "valueType": "string",
15
+ "excludeFromLegacyKey": true
15
16
  }
package/fields/style.json CHANGED
@@ -11,5 +11,6 @@
11
11
  },
12
12
  "scope": "typography",
13
13
  "required": false,
14
- "valueType": "string"
14
+ "valueType": "string",
15
+ "excludeFromLegacyKey": true
15
16
  }
package/fields/to.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/field.schema.json",
3
+ "specVersion": "1.0.0-draft",
4
+ "name": "to",
5
+ "description": "Semantic: the ending endpoint of a space-between measurement (e.g. text, visual, control). Paired with `from`. Value MUST be an edge position, a generic anatomy term, or (when `component` is present) an anatomy part declared on that component — see SPEC-047.",
6
+ "kind": "semantic",
7
+ "registry": null,
8
+ "validation": "advisory",
9
+ "serialization": {
10
+ "position": 24
11
+ },
12
+ "scope": null,
13
+ "required": false,
14
+ "valueType": "string",
15
+ "excludeFromLegacyKey": true
16
+ }
@@ -11,5 +11,6 @@
11
11
  },
12
12
  "scope": "typography",
13
13
  "required": false,
14
- "valueType": "string"
14
+ "valueType": "string",
15
+ "excludeFromLegacyKey": true
15
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/spectrum-design-data",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Spectrum design tokens in cascade format — the canonical source of truth for @adobe/spectrum-tokens",
5
5
  "type": "module",
6
6
  "repository": {
@@ -62,7 +62,7 @@
62
62
  "devDependencies": {
63
63
  "ajv": "^8.12.0",
64
64
  "ajv-formats": "^3.0.1",
65
- "@adobe/design-data-spec": "2.5.0"
65
+ "@adobe/design-data-spec": "2.7.0"
66
66
  },
67
67
  "scripts": {}
68
68
  }
@@ -483,6 +483,12 @@
483
483
  "description": "Individual selectable item within a segmented-control component",
484
484
  "usedIn": ["s2-docs"]
485
485
  },
486
+ {
487
+ "id": "color-area",
488
+ "label": "Color Area",
489
+ "description": "The color-area component when used as an embedded anatomy part within another component (e.g. the color gradient area inside a color-wheel)",
490
+ "usedIn": ["tokens"]
491
+ },
486
492
  {
487
493
  "id": "color-handle",
488
494
  "label": "Color Handle",
@@ -734,6 +740,66 @@
734
740
  "label": "Progress Bar",
735
741
  "description": "Visual progress fill track indicating completion level",
736
742
  "usedIn": ["tokens", "component-schemas"]
743
+ },
744
+ {
745
+ "id": "content",
746
+ "label": "Content",
747
+ "description": "The main content area of a component",
748
+ "usedIn": ["tokens"]
749
+ },
750
+ {
751
+ "id": "visual",
752
+ "label": "Visual",
753
+ "description": "A leading visual element such as an icon or thumbnail",
754
+ "usedIn": ["tokens"]
755
+ },
756
+ {
757
+ "id": "action",
758
+ "label": "Action",
759
+ "description": "An interactive action affordance",
760
+ "usedIn": ["tokens"]
761
+ },
762
+ {
763
+ "id": "navigation",
764
+ "label": "Navigation",
765
+ "description": "A navigation control or affordance",
766
+ "usedIn": ["tokens"]
767
+ },
768
+ {
769
+ "id": "disclosure",
770
+ "label": "Disclosure",
771
+ "description": "An expand/collapse affordance",
772
+ "usedIn": ["tokens"]
773
+ },
774
+ {
775
+ "id": "content-area",
776
+ "label": "Content area",
777
+ "description": "The container region that wraps a component's main content",
778
+ "usedIn": ["tokens"]
779
+ },
780
+ {
781
+ "id": "disclosure-indicator",
782
+ "label": "Disclosure indicator",
783
+ "description": "A visual affordance showing expand/collapse state",
784
+ "usedIn": ["tokens"]
785
+ },
786
+ {
787
+ "id": "disclosure-icon",
788
+ "label": "Disclosure icon",
789
+ "description": "An icon affordance showing expand/collapse state",
790
+ "usedIn": ["tokens"]
791
+ },
792
+ {
793
+ "id": "drag-handle",
794
+ "label": "Drag handle",
795
+ "description": "A grip affordance for reordering an item via drag",
796
+ "usedIn": ["tokens"]
797
+ },
798
+ {
799
+ "id": "field-button",
800
+ "label": "Field button",
801
+ "description": "A trigger button embedded within a text field or picker",
802
+ "usedIn": ["tokens"]
737
803
  }
738
804
  ]
739
805
  }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/registry-value.json",
3
+ "type": "color-role",
4
+ "description": "Semantic roles for component-scoped color tokens. Assigned via the `colorRole` name-object field alongside `colorFamily` (e.g. colorFamily=blue + colorRole=primary → the primary blue color for a component).",
5
+ "values": [
6
+ {
7
+ "id": "primary",
8
+ "label": "Primary",
9
+ "description": "Primary color role — the main foreground color for an element"
10
+ },
11
+ {
12
+ "id": "background",
13
+ "label": "Background",
14
+ "description": "Background color role — fill or surface color behind an element"
15
+ }
16
+ ]
17
+ }
@@ -88,6 +88,16 @@
88
88
  "label": "Color Area",
89
89
  "documentationUrl": "https://spectrum.adobe.com/page/color-area/"
90
90
  },
91
+ {
92
+ "id": "color-handle",
93
+ "label": "Color Handle",
94
+ "documentationUrl": "https://spectrum.adobe.com/page/color-handle/"
95
+ },
96
+ {
97
+ "id": "color-loupe",
98
+ "label": "Color Loupe",
99
+ "documentationUrl": "https://spectrum.adobe.com/page/color-loupe/"
100
+ },
91
101
  {
92
102
  "id": "color-slider",
93
103
  "label": "Color Slider",
@@ -27,6 +27,26 @@
27
27
  "id": "end",
28
28
  "label": "End",
29
29
  "description": "End position (right in LTR, left in RTL)"
30
+ },
31
+ {
32
+ "id": "edge",
33
+ "label": "Edge",
34
+ "description": "Outer boundary of an element"
35
+ },
36
+ {
37
+ "id": "start-edge",
38
+ "label": "Start edge",
39
+ "description": "Outer boundary at the start (left in LTR, right in RTL)"
40
+ },
41
+ {
42
+ "id": "end-edge",
43
+ "label": "End edge",
44
+ "description": "Outer boundary at the end (right in LTR, left in RTL)"
45
+ },
46
+ {
47
+ "id": "bottom-edge",
48
+ "label": "Bottom edge",
49
+ "description": "Outer boundary at the bottom"
30
50
  }
31
51
  ]
32
52
  }
@@ -207,6 +207,31 @@
207
207
  "id": "line-height-multiplier",
208
208
  "label": "Line Height Multiplier",
209
209
  "description": "Unitless line-height ratio (multiplier), distinct from the absolute px line-height paired with a specific font-size tier"
210
+ },
211
+ {
212
+ "id": "minimum-width",
213
+ "label": "Minimum Width",
214
+ "description": "CSS min-width constraint (design-system abstraction)"
215
+ },
216
+ {
217
+ "id": "minimum-height",
218
+ "label": "Minimum Height",
219
+ "description": "CSS min-height constraint (design-system abstraction)"
220
+ },
221
+ {
222
+ "id": "maximum-width",
223
+ "label": "Maximum Width",
224
+ "description": "CSS max-width constraint (design-system abstraction)"
225
+ },
226
+ {
227
+ "id": "thickness",
228
+ "label": "Thickness",
229
+ "description": "Stroke or line thickness (design-system abstraction; not a standard CSS property)"
230
+ },
231
+ {
232
+ "id": "space-between",
233
+ "label": "Space Between",
234
+ "description": "Spacing between two named endpoints (e.g. an edge and an anatomy part, or two anatomy parts). The endpoints are carried by the paired `from`/`to` name-object fields, not by this term; the legacy key is reconstructed as {from}-to-{to} and omits this property term."
210
235
  }
211
236
  ]
212
237
  }