@adobe/spectrum-component-api-schemas 3.0.0 → 5.0.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 (42) hide show
  1. package/CHANGELOG.md +156 -0
  2. package/package.json +1 -1
  3. package/schemas/components/accordion.json +74 -0
  4. package/schemas/components/alert-banner.json +1 -1
  5. package/schemas/components/avatar-group.json +22 -0
  6. package/schemas/components/breadcrumbs.json +54 -0
  7. package/schemas/components/button-group.json +5 -0
  8. package/schemas/components/calendar.json +109 -0
  9. package/schemas/components/cards.json +238 -0
  10. package/schemas/components/checkbox-group.json +0 -4
  11. package/schemas/components/coach-mark.json +51 -0
  12. package/schemas/components/color-handle.json +31 -0
  13. package/schemas/components/color-slider.json +15 -1
  14. package/schemas/components/combo-box.json +1 -5
  15. package/schemas/components/contextual-help.json +5 -2
  16. package/schemas/components/date-picker.json +157 -0
  17. package/schemas/components/divider.json +1 -1
  18. package/schemas/components/drop-zone.json +41 -0
  19. package/schemas/components/illustrated-message.json +52 -0
  20. package/schemas/components/in-line-alert.json +19 -1
  21. package/schemas/components/list-view.json +106 -0
  22. package/schemas/components/menu.json +2 -4
  23. package/schemas/components/number-field.json +57 -0
  24. package/schemas/components/picker.json +18 -8
  25. package/schemas/components/radio-button.json +2 -2
  26. package/schemas/components/radio-group.json +0 -4
  27. package/schemas/components/scroll-zoom-bar.json +1 -1
  28. package/schemas/components/segmented-control.json +72 -0
  29. package/schemas/components/side-navigation.json +61 -2
  30. package/schemas/components/slider.json +5 -0
  31. package/schemas/components/standard-dialog.json +53 -0
  32. package/schemas/components/standard-panel.json +49 -0
  33. package/schemas/components/step-list.json +52 -0
  34. package/schemas/components/swatch-group.json +6 -0
  35. package/schemas/components/swatch.json +3 -2
  36. package/schemas/components/table.json +144 -0
  37. package/schemas/components/tabs.json +57 -36
  38. package/schemas/components/tag-field.json +42 -0
  39. package/schemas/components/tag-group.json +31 -0
  40. package/schemas/components/takeover-dialog.json +60 -0
  41. package/schemas/components/text-field.json +1 -1
  42. package/schemas/components/tree-view.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,161 @@
1
1
  # @adobe/spectrum-component-api-schemas
2
2
 
3
+ ## 5.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [#614](https://github.com/adobe/spectrum-tokens/pull/614) [`a772572`](https://github.com/adobe/spectrum-tokens/commit/a772572de88c54d279c20d7148f6ac91eb941d2a) Thanks [@AmunMRa](https://github.com/AmunMRa)! - # Component Schemas Changed (9 added, 0 deleted, 3 updated)
8
+
9
+ **Original Branch:** `main`
10
+
11
+ **New Branch:** `feat-batch4-schema-updates`
12
+
13
+ ## 🚨 Breaking Changes Detected
14
+
15
+ This PR introduces **2 breaking change(s)** to component schemas. Please review carefully and ensure proper versioning.
16
+
17
+ ### 📦 Added Components (9)
18
+ - `calendar` - New component schema
19
+ - `cards` - New component schema
20
+ - `coach-mark` - New component schema
21
+ - `illustrated-message` - New component schema
22
+ - `list-view` - New component schema
23
+ - `standard-dialog` - New component schema
24
+ - `standard-panel` - New component schema
25
+ - `table` - New component schema
26
+ - `takeover-dialog` - New component schema
27
+
28
+ ### 💥 Breaking Updates ⚠️ BREAKING
29
+
30
+ **picker**
31
+ - Removed: `isReadOnly` property
32
+
33
+ **side-navigation**
34
+ - Added: `items` (array) - "The list of navigation items."
35
+ - Added: `selectionMode` (string, default: single) - "How selection is handled for items."
36
+ - Added: `required` - ["items"]
37
+
38
+ ### 🔄 Non-Breaking Updates
39
+
40
+ **alert-banner**
41
+ - Added: `variant`
42
+
43
+ ## 4.0.0
44
+
45
+ ### Major Changes
46
+
47
+ - [#613](https://github.com/adobe/spectrum-tokens/pull/613) [`433efdd`](https://github.com/adobe/spectrum-tokens/commit/433efdd18f9b0842ae55acac3cd0fbc1e5e5db58) Thanks [@AmunMRa](https://github.com/AmunMRa)! - feat(component-schemas): add 10 new components with breaking changes to existing schemas
48
+
49
+ ## Component Schemas Changed (10 added, 0 deleted, 17 updated)
50
+
51
+ **Original Branch:** `main`
52
+
53
+ **New Branch:** `draft-schema-updates`
54
+
55
+ ### 🚨 Breaking Changes Detected
56
+
57
+ This PR introduces **7 breaking change(s)** to component schemas. Please review carefully and ensure proper versioning.
58
+
59
+ <details open><summary><strong>📦 Added Components (10)</strong></summary>
60
+ - `accordion` - New component schema
61
+ - `avatar-group` - New component schema
62
+ - `color-handle` - New component schema
63
+ - `date-picker` - New component schema
64
+ - `drop-zone` - New component schema
65
+ - `number-field` - New component schema
66
+ - `segmented-control` - New component schema
67
+ - `step-list` - New component schema
68
+ - `tag-field` - New component schema
69
+ - `tag-group` - New component schema
70
+
71
+ </details>
72
+
73
+ <details open><summary><strong>💥 Breaking Updates ⚠️ BREAKING</strong></summary>
74
+
75
+ **checkbox-group**
76
+ - Removed: `isReadOnly` property
77
+
78
+ **combo-box**
79
+ - Added: `labelPosition`
80
+ - Removed: `isQuiet` property
81
+
82
+ **contextual-help**
83
+ - Added: `href` (string) - "Optional URL within contextual help content like a 'Learn more' link."
84
+ - Removed: `popoverOffset` property
85
+ - Updated: `popoverOffset` - default changed to "8"
86
+
87
+ **radio-button**
88
+ - Added: `label` - "The text displayed next to a radio button."
89
+ - Removed: `label` property
90
+ - Updated: `label`
91
+
92
+ **radio-group**
93
+ - Removed: `isReadOnly` property
94
+
95
+ **tabs**
96
+ - Added: `items` (array) - "An array of tab items."
97
+ - Removed: `size` property
98
+ - Removed: `density` property
99
+ - Removed: `isFluid` property
100
+ - Removed: `isQuiet` property
101
+ - Removed: `isEmphasized` property
102
+ - Removed: `alignment` property
103
+ - Removed: `selectedItem` property
104
+ - Removed: `keyboardActivation` property
105
+ - Updated: `orientation` - default changed to "horizontal"
106
+
107
+ **tree-view**
108
+ - Added: `isEmphasized` (boolean)
109
+ - Removed: `emphasized` property
110
+
111
+ </details>
112
+
113
+ <details><summary><strong>🔄 Non-Breaking Updates</strong></summary>
114
+
115
+ **breadcrumbs**
116
+ - Added: `isMultiline` (boolean) - "If true, the breadcrumb items will wrap to multiple lines."
117
+ - Added: `size` (string, default: m) - "Controls the overall size of the breadcrumb component."
118
+ - Added: `items` (array) - "An array of breadcrumb items."
119
+ - Added: `separator` (string, default: chevron) - "The separator icon used between breadcrumb items."
120
+ - Added: `isTruncated` (boolean) - "If true, the breadcrumb item is truncated and displayed as icon only."
121
+ - Added: `sizeOverride` (string) - "Overrides the size of the breadcrumb items when isMultiline is true."
122
+
123
+ **menu**
124
+ - Updated: `container` - removed `default: null`
125
+ - Updated: `selectionMode` - removed `default: null` and added `"no selection"` to enum
126
+
127
+ **button-group**
128
+ - Added: `overflowMode` (string, default: wrap)
129
+
130
+ **color-slider**
131
+ - Added: `channel` (string, default: hue) - "Which channel of the color this slider controls. Use 'alpha' for opacity."
132
+ - Updated: `value` - "Number (from minValue to maxValue)."
133
+
134
+ **divider**
135
+ - Updated: `size` - default changed to "s"
136
+
137
+ **in-line-alert**
138
+ - Added: `style` (string, default: outline) - "The visual style of the alert."
139
+ - Added: `href` (string) - "Optional URL within in-line alert content like a 'Learn more' link."
140
+ - Added: `heading` (string) - "Optional heading text displayed at the top of the alert."
141
+ - Added: `actionLabel` (string) - "If undefined, this button does not appear."
142
+ - Updated: `variant`
143
+
144
+ **slider**
145
+ - Added: `isRange` (boolean) - "If true, the slider will allow selection of a range of values by displaying two handles."
146
+
147
+ **swatch-group**
148
+ - Added: `cornerRadius` (string, default: none) - "Determines the corner radius of each swatch in the group. Partial refers to corner-radius-75."
149
+
150
+ **swatch**
151
+ - Added: `cornerRounding` - "Determines the corner radius of the swatch. Partial refers to corner-radius-75."
152
+ - Updated: `cornerRounding` - default changed to "none"
153
+
154
+ **text-field**
155
+ - Updated: `isError` - "If there is an error, this property overrides show valid icon."
156
+
157
+ </details>
158
+
3
159
  ## 3.0.0
4
160
 
5
161
  ### Major Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/spectrum-component-api-schemas",
3
- "version": "3.0.0",
3
+ "version": "5.0.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -0,0 +1,74 @@
1
+ {
2
+ "$schema": "https://opensource.adobe.com/spectrum-tokens/schemas/component.json",
3
+ "$id": "https://opensource.adobe.com/spectrum-tokens/schemas/components/accordion.json",
4
+ "title": "Accordion",
5
+ "description": "An accordion is a vertically stacked set of interactive headings that each contain a title and a content area.",
6
+ "meta": {
7
+ "category": "inputs",
8
+ "documentationUrl": "https://spectrum.adobe.com/page/accordion/"
9
+ },
10
+ "type": "object",
11
+ "properties": {
12
+ "state": {
13
+ "type": "string",
14
+ "enum": ["default", "hover", "down", "keyboard focus"],
15
+ "default": "default"
16
+ },
17
+ "size": {
18
+ "type": "string",
19
+ "enum": ["s", "m", "l", "xl"],
20
+ "default": "m"
21
+ },
22
+ "isQuiet": {
23
+ "type": "boolean",
24
+ "default": false
25
+ },
26
+ "isDisabled": {
27
+ "type": "boolean",
28
+ "default": false
29
+ },
30
+ "density": {
31
+ "type": "string",
32
+ "enum": ["compact", "regular", "spacious"],
33
+ "default": "regular"
34
+ },
35
+ "items": {
36
+ "type": "array",
37
+ "description": "An array of accordion items.",
38
+ "items": {
39
+ "type": "object",
40
+ "properties": {
41
+ "label": {
42
+ "type": "string",
43
+ "description": "The text label displayed for the accordion item."
44
+ },
45
+ "content": {
46
+ "type": "string",
47
+ "description": "The content shown when the accordion item is expanded."
48
+ },
49
+ "isExpanded": {
50
+ "type": "boolean",
51
+ "default": false,
52
+ "description": "Whether the accordion item is expanded by default."
53
+ },
54
+ "hasSwitch": {
55
+ "type": "boolean",
56
+ "default": false,
57
+ "description": "If true, the accordion item includes a switch."
58
+ },
59
+ "hasActionButton": {
60
+ "type": "boolean",
61
+ "default": false,
62
+ "description": "If true, the accordion item includes an action button."
63
+ }
64
+ },
65
+ "required": ["label"]
66
+ }
67
+ },
68
+ "isMultiple": {
69
+ "type": "boolean",
70
+ "default": false,
71
+ "description": "If true, multiple accordion items can be expanded at the same time."
72
+ }
73
+ }
74
+ }
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "variant": {
16
16
  "type": "string",
17
- "enum": ["neutral", "informative", "negative"],
17
+ "enum": ["neutral", "informative", "negative", "accent"],
18
18
  "default": "neutral"
19
19
  },
20
20
  "actionLabel": {
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "https://opensource.adobe.com/spectrum-tokens/schemas/component.json",
3
+ "$id": "https://opensource.adobe.com/spectrum-tokens/schemas/components/avatar-group.json",
4
+ "title": "Avatar group",
5
+ "description": "Avatar groups display a collection of avatars representing people or entities.",
6
+ "meta": {
7
+ "category": "actions",
8
+ "documentationUrl": "https://spectrum.adobe.com/page/avatar-group/"
9
+ },
10
+ "type": "object",
11
+ "properties": {
12
+ "label": {
13
+ "type": "string",
14
+ "description": "Optional text label displayed with the avatar group (e.g., group name)."
15
+ },
16
+ "size": {
17
+ "type": "number",
18
+ "enum": [50, 75, 100, 200, 300, 400, 500],
19
+ "default": 100
20
+ }
21
+ }
22
+ }
@@ -13,6 +13,60 @@
13
13
  "type": "string",
14
14
  "enum": ["default", "hover", "down", "keyboard focus", "drag and drop"],
15
15
  "default": "default"
16
+ },
17
+ "isMultiline": {
18
+ "type": "boolean",
19
+ "default": false,
20
+ "description": "If true, the breadcrumb items will wrap to multiple lines."
21
+ },
22
+ "size": {
23
+ "type": "string",
24
+ "enum": ["m", "l"],
25
+ "default": "m",
26
+ "description": "Controls the overall size of the breadcrumb component."
27
+ },
28
+ "items": {
29
+ "type": "array",
30
+ "description": "An array of breadcrumb items.",
31
+ "items": {
32
+ "type": "object",
33
+ "properties": {
34
+ "label": {
35
+ "type": "string",
36
+ "description": "The text displayed for the breadcrumb item."
37
+ },
38
+ "href": {
39
+ "type": "string",
40
+ "description": "Optional URL the breadcrumb item links to."
41
+ },
42
+ "isCurrent": {
43
+ "type": "boolean",
44
+ "description": "Indicates if the breadcrumb item represents the current page.",
45
+ "default": false
46
+ },
47
+ "isDisabled": {
48
+ "type": "boolean",
49
+ "default": false
50
+ }
51
+ },
52
+ "required": ["label"]
53
+ }
54
+ },
55
+ "separator": {
56
+ "type": "string",
57
+ "enum": ["chevron", "none"],
58
+ "default": "chevron",
59
+ "description": "The separator icon used between breadcrumb items."
60
+ },
61
+ "isTruncated": {
62
+ "type": "boolean",
63
+ "default": false,
64
+ "description": "If true, the breadcrumb item is truncated and displayed as icon only."
65
+ },
66
+ "sizeOverride": {
67
+ "type": "string",
68
+ "enum": ["s", "m", "l", "xl"],
69
+ "description": "Overrides the size of the breadcrumb items when isMultiline is true."
16
70
  }
17
71
  }
18
72
  }
@@ -20,6 +20,11 @@
20
20
  "enum": ["s", "m", "l", "xl"],
21
21
  "default": "m"
22
22
  },
23
+ "overflowMode": {
24
+ "type": "string",
25
+ "enum": ["wrap", "collapse"],
26
+ "default": "wrap"
27
+ },
23
28
  "isDisabled": {
24
29
  "type": "boolean",
25
30
  "default": false
@@ -0,0 +1,109 @@
1
+ {
2
+ "$schema": "https://opensource.adobe.com/spectrum-tokens/schemas/component.json",
3
+ "$id": "https://opensource.adobe.com/spectrum-tokens/schemas/components/calendar.json",
4
+ "title": "Calendar",
5
+ "description": "Calendars display days, weeks, and months, allowing users to select dates or ranges.",
6
+ "meta": {
7
+ "category": "inputs",
8
+ "documentationUrl": "https://spectrum.adobe.com/page/calendar/"
9
+ },
10
+ "type": "object",
11
+ "properties": {
12
+ "currentMonth": {
13
+ "type": "number",
14
+ "minimum": 1,
15
+ "maximum": 12,
16
+ "description": "The month currently displayed in the calendar (1 = January, 12 = December)."
17
+ },
18
+ "currentYear": {
19
+ "type": "number",
20
+ "description": "The year currently displayed in the calendar (Gregorian year number)."
21
+ },
22
+ "selectionMode": {
23
+ "type": "string",
24
+ "enum": [
25
+ "single",
26
+ "range"
27
+ ],
28
+ "default": "single",
29
+ "description": "Controls whether the calendar allows selecting a single date or a date range."
30
+ },
31
+ "isDisabled": {
32
+ "type": "boolean",
33
+ "default": false
34
+ },
35
+ "isError": {
36
+ "type": "boolean",
37
+ "default": false
38
+ },
39
+ "minValue": {
40
+ "type": "string",
41
+ "description": "The minimum allowed date that a user may select (ISO format string)."
42
+ },
43
+ "maxValue": {
44
+ "type": "string",
45
+ "description": "The maximum allowed date that a user may select (ISO format string)."
46
+ },
47
+ "showTimeZone": {
48
+ "type": "boolean",
49
+ "default": false,
50
+ "description": "Whether to show a time zone indicator in the calendar."
51
+ },
52
+ "days": {
53
+ "type": "array",
54
+ "description": "An array of days displayed in the current calendar view.",
55
+ "items": {
56
+ "type": "object",
57
+ "properties": {
58
+ "date": {
59
+ "type": "string",
60
+ "description": "The date represented by this day (ISO format string)."
61
+ },
62
+ "isDisabled": {
63
+ "type": "boolean",
64
+ "default": false,
65
+ "description": "Whether this day is disabled."
66
+ },
67
+ "isSelected": {
68
+ "type": "boolean",
69
+ "default": false,
70
+ "description": "Whether this day is currently selected."
71
+ },
72
+ "isRangeStart": {
73
+ "type": "boolean",
74
+ "default": false,
75
+ "description": "Whether this day is the start of a selected range."
76
+ },
77
+ "isRangeEnd": {
78
+ "type": "boolean",
79
+ "default": false,
80
+ "description": "Whether this day is the end of a selected range."
81
+ },
82
+ "isUnavailable": {
83
+ "type": "boolean",
84
+ "default": false,
85
+ "description": "Whether this day is unavailable for selection. If true, the day appears with a strikethrough."
86
+ },
87
+ "isToday": {
88
+ "type": "boolean",
89
+ "default": false,
90
+ "description": "Whether this day represents the current date."
91
+ },
92
+ "state": {
93
+ "type": "string",
94
+ "enum": [
95
+ "default",
96
+ "hover",
97
+ "keyboard focus"
98
+ ],
99
+ "default": "default",
100
+ "description": "The interaction state of the day cell."
101
+ }
102
+ },
103
+ "required": [
104
+ "date"
105
+ ]
106
+ }
107
+ }
108
+ }
109
+ }