@adobe/spectrum-design-data 3.2.3 → 3.3.0-beta.1
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.
- package/components/accordion.json +15 -54
- package/components/action-bar.json +9 -23
- package/components/action-button.json +39 -79
- package/components/action-group.json +18 -129
- package/components/alert-banner.json +8 -27
- package/components/alert-dialog.json +34 -48
- package/components/avatar-group.json +9 -28
- package/components/avatar.json +29 -92
- package/components/badge.json +56 -150
- package/components/breadcrumbs.json +26 -100
- package/components/button-group.json +19 -50
- package/components/button.json +61 -92
- package/components/calendar.json +8 -67
- package/components/cards.json +31 -46
- package/components/checkbox-group.json +16 -78
- package/components/checkbox.json +27 -90
- package/components/close-button.json +20 -62
- package/components/coach-indicator.json +14 -44
- package/components/coach-mark.json +8 -26
- package/components/color-area.json +20 -93
- package/components/color-handle.json +25 -38
- package/components/color-loupe.json +2 -6
- package/components/color-slider.json +26 -122
- package/components/color-wheel.json +17 -84
- package/components/combo-box.json +50 -182
- package/components/contextual-help.json +80 -119
- package/components/date-picker.json +24 -120
- package/components/divider.json +12 -25
- package/components/drop-zone.json +18 -30
- package/components/field-label.json +21 -62
- package/components/help-text.json +16 -53
- package/components/illustrated-message.json +21 -72
- package/components/in-line-alert.json +13 -53
- package/components/link.json +24 -56
- package/components/list-view.json +15 -73
- package/components/menu.json +45 -174
- package/components/meter.json +24 -65
- package/components/number-field.json +34 -168
- package/components/picker.json +42 -181
- package/components/popover.json +37 -113
- package/components/progress-bar.json +23 -95
- package/components/progress-circle.json +12 -42
- package/components/radio-button.json +14 -67
- package/components/radio-group.json +28 -125
- package/components/rating.json +9 -38
- package/components/search-field.json +34 -119
- package/components/segmented-control.json +21 -63
- package/components/select-box.json +29 -96
- package/components/side-navigation.json +28 -69
- package/components/slider.json +39 -148
- package/components/standard-dialog.json +16 -88
- package/components/status-light.json +41 -123
- package/components/steplist.json +5 -24
- package/components/swatch-group.json +19 -55
- package/components/swatch.json +24 -79
- package/components/switch.json +31 -72
- package/components/table.json +26 -73
- package/components/tabs.json +22 -39
- package/components/tag-field.json +14 -60
- package/components/tag-group.json +16 -49
- package/components/tag.json +21 -71
- package/components/takeover-dialog.json +10 -61
- package/components/text-area.json +49 -198
- package/components/text-field.json +42 -163
- package/components/thumbnail.json +22 -63
- package/components/toast.json +29 -50
- package/components/tooltip.json +27 -74
- package/components/tree-view.json +45 -140
- package/guidelines/ai-resource-guide.json +50 -0
- package/guidelines/app-frame-overview.json +44 -50
- package/guidelines/applying-the-type-system.json +63 -0
- package/guidelines/attention-hierarchy.json +12 -21
- package/guidelines/background-layers.json +44 -10
- package/guidelines/bi-directionality.json +57 -0
- package/guidelines/border-width.json +42 -0
- package/guidelines/brand.json +30 -10
- package/guidelines/cognitive.json +197 -0
- package/guidelines/colors.json +35 -17
- package/guidelines/component-spacing.json +49 -0
- package/guidelines/contact-us.json +67 -0
- package/guidelines/content-area-browsing-context.json +65 -0
- package/guidelines/creating-bluelines-browsing-context.json +91 -0
- package/guidelines/design-tokens.json +122 -0
- package/guidelines/developer-overview.json +25 -9
- package/guidelines/drop-shadow.json +56 -0
- package/guidelines/faqs.json +96 -9
- package/guidelines/fonts.json +29 -14
- package/guidelines/grammar-and-mechanics.json +252 -0
- package/guidelines/grays.json +17 -44
- package/guidelines/header-browsing-context.json +37 -0
- package/guidelines/icon-fundamentals.json +7 -18
- package/guidelines/illustration.json +109 -0
- package/guidelines/in-product-word-list.json +29 -0
- package/guidelines/inclusive-design.json +93 -0
- package/guidelines/inclusive-ux-writing.json +30 -0
- package/guidelines/internationalization.json +87 -0
- package/guidelines/introduction.json +2 -2
- package/guidelines/layout-and-structure-containers.json +47 -0
- package/guidelines/layout-spacing.json +39 -0
- package/guidelines/manifest.json +252 -60
- package/guidelines/motion.json +17 -16
- package/guidelines/object-styles-overview.json +17 -0
- package/guidelines/principles.json +2 -2
- package/guidelines/resources.json +21 -15
- package/guidelines/rounding.json +61 -0
- package/guidelines/side-navigation-browsing-context.json +71 -0
- package/guidelines/spacing-overview.json +45 -0
- package/guidelines/states.json +15 -10
- package/guidelines/typography-overview.json +39 -0
- package/guidelines/typography-system.json +168 -0
- package/guidelines/using-icons.json +33 -44
- package/guidelines/visual-language-containers.json +36 -0
- package/guidelines/voice-and-tone.json +47 -0
- package/guidelines/writing-about-people.json +103 -0
- package/guidelines/writing-for-errors.json +120 -0
- package/guidelines/writing-for-onboarding.json +119 -0
- package/guidelines/writing-for-readability.json +54 -0
- package/guidelines/writing-with-visuals.json +70 -0
- package/package.json +1 -1
- package/guidelines/app-frame-content-area.json +0 -81
- package/guidelines/app-frame-creating-bluelines.json +0 -58
- package/guidelines/app-frame-header.json +0 -72
- package/guidelines/app-frame-side-navigation.json +0 -138
- package/guidelines/containers.json +0 -62
- package/guidelines/illustrations.json +0 -111
- package/guidelines/object-styles.json +0 -102
- package/guidelines/spacing.json +0 -25
- package/guidelines/typography-fundamentals.json +0 -142
|
@@ -16,27 +16,24 @@
|
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"type": "guideline",
|
|
19
|
-
"content": "
|
|
19
|
+
"content": "Keyboard focus.\n\nA close button can be navigated using a keyboard. The keyboard focus state takes the close button's visual hover state and adds a ring to the button in focus."
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
|
-
"type": "
|
|
23
|
-
"content": "
|
|
24
|
-
|
|
25
|
-
{
|
|
26
|
-
"type": "guideline",
|
|
27
|
-
"content": "Use static black on light color or image backgrounds, and static white on dark color or image backgrounds, regardless of color theme. Make sure that the background and the close button color meet the minimum color contrast ratio."
|
|
22
|
+
"type": "do-dont",
|
|
23
|
+
"content": "Don't use close buttons for delete actions",
|
|
24
|
+
"dont": "A close button is only for dismissing or closing its parent component, not for taking a destructive action (like deleting a file). Use an action button instead."
|
|
28
25
|
},
|
|
29
26
|
{
|
|
30
27
|
"type": "guideline",
|
|
31
|
-
"content": "
|
|
28
|
+
"content": "Keyboard interactions.\n\nKey Interaction TabMoves focus onto or off of the close button.Space or EnterExecutes the button (closes or dismisses the parent component). Focus moves to the target or back to the caller."
|
|
32
29
|
},
|
|
33
30
|
{
|
|
34
31
|
"type": "guideline",
|
|
35
|
-
"content": "
|
|
32
|
+
"content": "Cursor guidelines.\n\nCursor Description PointerUse the pointer cursor for all interactive components in every state."
|
|
36
33
|
},
|
|
37
34
|
{
|
|
38
35
|
"type": "guideline",
|
|
39
|
-
"content": "
|
|
36
|
+
"content": "WCAG 2.2 compliance.\n\nAny criterion not mention in the below table are not applicable to this component or are resolved with underlying requirements, engineering, and styles of the entire system. 1. Perceivable Requirement Criterion Level Compliance Non-text content 1.1.1 ANon‑text elements—including the close icon—must provide a text alternative that communicates the control’s purpose. All controls, especially icon‑only controls, need an accessible name (for example, via a title, aria‑label, or associated text) so screen readers can announce their function.Info and relationships, Identify purpose 1.3.1, 1.3.6 A, AAAClose buttons should be understandable by assistive technologies like screen readers. This means the proper semantic HTML or ARIA role of buttons should be utilized.Non-text contrast 1.4.11 AAThe visual presentation of icons and various states have a contrast ratio of at least 3:1. 2. Operable RequirementCriterionLevel Compliance Keyboard 2.1.1, 2.1.3 A, AAAAll functionality of the component is operable through a keyboard without specific timing for keystrokes.Keyboard traps 2.1.2 AFocus can be moved away from the component using only a keyboard.Seizures and physical reactions 2.3.1, 2.3.2, 2.3.3 A, AAA, AAAThere is no flashing content or unnecessary motion or animation in this component.Focus order 2.4.3 ANavigation sequences receive focus in an order that preserves meaning and operability.Focus visible 2.4.7 AAKeyboard states use an indicator that is visible with at least 3:1 contrast."
|
|
40
37
|
}
|
|
41
38
|
],
|
|
42
39
|
"options": {
|
|
@@ -44,73 +41,34 @@
|
|
|
44
41
|
"type": "string",
|
|
45
42
|
"default": "m",
|
|
46
43
|
"values": [
|
|
47
|
-
{
|
|
48
|
-
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"value": "m"
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"value": "l"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"value": "xl"
|
|
58
|
-
}
|
|
44
|
+
{ "value": "s" },
|
|
45
|
+
{ "value": "m" },
|
|
46
|
+
{ "value": "l" },
|
|
47
|
+
{ "value": "xl" }
|
|
59
48
|
]
|
|
60
49
|
},
|
|
61
|
-
"iconSize": {
|
|
62
|
-
"type": "string"
|
|
63
|
-
},
|
|
50
|
+
"iconSize": { "type": "string" },
|
|
64
51
|
"staticColor": {
|
|
65
52
|
"type": "string",
|
|
66
53
|
"description": "Static color must not be set for the default version of this component.",
|
|
67
|
-
"values": [
|
|
68
|
-
{
|
|
69
|
-
"value": "white"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"value": "black"
|
|
73
|
-
}
|
|
74
|
-
]
|
|
54
|
+
"values": [{ "value": "white" }, { "value": "black" }]
|
|
75
55
|
},
|
|
76
|
-
"isDisabled": {
|
|
77
|
-
"type": "boolean",
|
|
78
|
-
"default": false
|
|
79
|
-
}
|
|
56
|
+
"isDisabled": { "type": "boolean", "default": false }
|
|
80
57
|
},
|
|
81
58
|
"states": [
|
|
82
|
-
{
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"name": "down",
|
|
88
|
-
"trigger": "interaction"
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"name": "keyboard-focus",
|
|
92
|
-
"trigger": "interaction"
|
|
93
|
-
}
|
|
59
|
+
{ "name": "hover", "trigger": "interaction" },
|
|
60
|
+
{ "name": "down", "trigger": "interaction" },
|
|
61
|
+
{ "name": "keyboard-focus", "trigger": "interaction" }
|
|
94
62
|
],
|
|
95
|
-
"lifecycle": {
|
|
96
|
-
"introduced": "1.0.0-draft"
|
|
97
|
-
},
|
|
63
|
+
"lifecycle": { "introduced": "1.0.0-draft" },
|
|
98
64
|
"accessibility": {
|
|
99
65
|
"role": "button",
|
|
100
66
|
"intents": ["dismiss"],
|
|
101
67
|
"focusable": true,
|
|
102
68
|
"keyboardIntents": ["activate"],
|
|
103
69
|
"wcag": [
|
|
104
|
-
{
|
|
105
|
-
|
|
106
|
-
"level": "A",
|
|
107
|
-
"title": "Keyboard"
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
"criterion": "4.1.2",
|
|
111
|
-
"level": "A",
|
|
112
|
-
"title": "Name, Role, Value"
|
|
113
|
-
}
|
|
70
|
+
{ "criterion": "2.1.1", "level": "A", "title": "Keyboard" },
|
|
71
|
+
{ "criterion": "4.1.2", "level": "A", "title": "Name, Role, Value" }
|
|
114
72
|
]
|
|
115
73
|
}
|
|
116
74
|
}
|
|
@@ -55,55 +55,25 @@
|
|
|
55
55
|
"cornerRounding": {
|
|
56
56
|
"type": "string",
|
|
57
57
|
"values": [
|
|
58
|
-
{
|
|
59
|
-
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"value": "corner-radius-300"
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
"value": "corner-radius-400"
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
"value": "corner-radius-500"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"value": "corner-radius-600"
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"value": "corner-radius-700"
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
"value": "corner-radius-800"
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
"value": "full"
|
|
90
|
-
}
|
|
58
|
+
{ "value": "none" },
|
|
59
|
+
{ "value": "corner-radius-75" },
|
|
60
|
+
{ "value": "corner-radius-100" },
|
|
61
|
+
{ "value": "corner-radius-200" },
|
|
62
|
+
{ "value": "corner-radius-300" },
|
|
63
|
+
{ "value": "corner-radius-400" },
|
|
64
|
+
{ "value": "corner-radius-500" },
|
|
65
|
+
{ "value": "corner-radius-600" },
|
|
66
|
+
{ "value": "corner-radius-700" },
|
|
67
|
+
{ "value": "corner-radius-800" },
|
|
68
|
+
{ "value": "full" }
|
|
91
69
|
]
|
|
92
70
|
},
|
|
93
71
|
"staticColor": {
|
|
94
72
|
"type": "string",
|
|
95
73
|
"description": "If not set to white, the coach indicator uses the default color.",
|
|
96
|
-
"values": [
|
|
97
|
-
{
|
|
98
|
-
"value": "white"
|
|
99
|
-
}
|
|
100
|
-
]
|
|
74
|
+
"values": [{ "value": "white" }]
|
|
101
75
|
}
|
|
102
76
|
},
|
|
103
|
-
"lifecycle": {
|
|
104
|
-
|
|
105
|
-
},
|
|
106
|
-
"accessibility": {
|
|
107
|
-
"focusable": false
|
|
108
|
-
}
|
|
77
|
+
"lifecycle": { "introduced": "1.0.0-draft" },
|
|
78
|
+
"accessibility": { "focusable": false }
|
|
109
79
|
}
|
|
@@ -76,12 +76,8 @@
|
|
|
76
76
|
}
|
|
77
77
|
],
|
|
78
78
|
"options": {
|
|
79
|
-
"title": {
|
|
80
|
-
|
|
81
|
-
},
|
|
82
|
-
"description": {
|
|
83
|
-
"type": "string"
|
|
84
|
-
},
|
|
79
|
+
"title": { "type": "string" },
|
|
80
|
+
"description": { "type": "string" },
|
|
85
81
|
"hideImage": {
|
|
86
82
|
"type": "boolean",
|
|
87
83
|
"default": false,
|
|
@@ -120,32 +116,18 @@
|
|
|
120
116
|
"name": "pagination-text",
|
|
121
117
|
"description": "Text indicating step position (e.g. '2 of 5')."
|
|
122
118
|
},
|
|
123
|
-
{
|
|
124
|
-
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
"name": "media"
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
"name": "pagination"
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
"name": "title"
|
|
134
|
-
}
|
|
119
|
+
{ "name": "body" },
|
|
120
|
+
{ "name": "media" },
|
|
121
|
+
{ "name": "pagination" },
|
|
122
|
+
{ "name": "title" }
|
|
135
123
|
],
|
|
136
|
-
"lifecycle": {
|
|
137
|
-
"introduced": "1.0.0-draft"
|
|
138
|
-
},
|
|
124
|
+
"lifecycle": { "introduced": "1.0.0-draft" },
|
|
139
125
|
"accessibility": {
|
|
140
126
|
"intents": ["dismiss"],
|
|
141
127
|
"focusable": true,
|
|
142
128
|
"keyboardIntents": ["dismiss"],
|
|
143
129
|
"wcag": [
|
|
144
|
-
{
|
|
145
|
-
"criterion": "4.1.2",
|
|
146
|
-
"level": "A",
|
|
147
|
-
"title": "Name, Role, Value"
|
|
148
|
-
}
|
|
130
|
+
{ "criterion": "4.1.2", "level": "A", "title": "Name, Role, Value" }
|
|
149
131
|
]
|
|
150
132
|
}
|
|
151
133
|
}
|
|
@@ -16,47 +16,23 @@
|
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"type": "guideline",
|
|
19
|
-
"content": "
|
|
19
|
+
"content": "Keyboard focus.\n\nA color area can be navigated using a keyboard. The keyboard focus state enlarges the handle to become twice as large."
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"type": "guideline",
|
|
23
|
-
"content": "
|
|
23
|
+
"content": "Handle behavior.\n\nThe color area's handle can slide all the way over the edge of the area. It always displays the selected color inside the handle and never gets cut off by the border or any container."
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"type": "guideline",
|
|
27
|
-
"content": "
|
|
27
|
+
"content": "Minimum width and height.\n\nMinimum sizing ensures that the component remains clear, usable, and visually consistent, even in flexible or responsive layouts."
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"type": "guideline",
|
|
31
|
-
"content": "
|
|
31
|
+
"content": "Display color selection.\n\nWhen using color areas, it's important to clearly display the color selection in real time. This can be in a color swatch, directly on the canvas, or both."
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
"type": "guideline",
|
|
35
|
-
"content": "
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"type": "guideline",
|
|
39
|
-
"content": "The x/y min and max values also can be customized appropriately for what the color area is being used for. By default, the min value starts at 0 and max value is set to 100."
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"type": "guideline",
|
|
43
|
-
"content": "A color area can be navigated using a keyboard. The keyboard focus state enlarges the handle to become twice as large."
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
"type": "guideline",
|
|
47
|
-
"content": "The color area’s handle can slide all the way over the edge of the area. It always displays the selected color inside the handle and never gets cut off by the border or any container."
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"type": "guideline",
|
|
51
|
-
"content": "Minimum sizing ensures that the component remains clear, usable, and visually consistent, even in flexible or responsive layouts."
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"type": "guideline",
|
|
55
|
-
"content": "When using color areas, it’s important to clearly display the color selection in real time. This can be in a color swatch, directly on the canvas, or both."
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"type": "guideline",
|
|
59
|
-
"content": "The color loupe component can be used above the handle to show the selected color that would otherwise be covered by a mouse, 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."
|
|
35
|
+
"content": "Color loupe on down/touch states.\n\nThe color loupe component can be used above the handle to show the selected color that would otherwise be covered by a mouse, 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."
|
|
60
36
|
}
|
|
61
37
|
],
|
|
62
38
|
"options": {
|
|
@@ -68,83 +44,34 @@
|
|
|
68
44
|
"type": "number",
|
|
69
45
|
"description": "Number (from x-minValue to x-maxValue)"
|
|
70
46
|
},
|
|
71
|
-
"x-minValue": {
|
|
72
|
-
|
|
73
|
-
"default": 0
|
|
74
|
-
},
|
|
75
|
-
"x-maxValue": {
|
|
76
|
-
"type": "number",
|
|
77
|
-
"default": 100
|
|
78
|
-
},
|
|
47
|
+
"x-minValue": { "type": "number", "default": 0 },
|
|
48
|
+
"x-maxValue": { "type": "number", "default": 100 },
|
|
79
49
|
"y-value": {
|
|
80
50
|
"type": "number",
|
|
81
51
|
"description": "Number (from y-minValue to y-maxValue)"
|
|
82
52
|
},
|
|
83
|
-
"y-minValue": {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
},
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
"default": 100
|
|
90
|
-
},
|
|
91
|
-
"step": {
|
|
92
|
-
"type": "number",
|
|
93
|
-
"default": 1
|
|
94
|
-
},
|
|
95
|
-
"width": {
|
|
96
|
-
"type": "number",
|
|
97
|
-
"default": 192,
|
|
98
|
-
"description": "units: px"
|
|
99
|
-
},
|
|
100
|
-
"height": {
|
|
101
|
-
"type": "number",
|
|
102
|
-
"default": 192,
|
|
103
|
-
"description": "units: px"
|
|
104
|
-
},
|
|
105
|
-
"isDisabled": {
|
|
106
|
-
"type": "boolean",
|
|
107
|
-
"default": false
|
|
108
|
-
}
|
|
53
|
+
"y-minValue": { "type": "number", "default": 0 },
|
|
54
|
+
"y-maxValue": { "type": "number", "default": 100 },
|
|
55
|
+
"step": { "type": "number", "default": 1 },
|
|
56
|
+
"width": { "type": "number", "default": 192, "description": "units: px" },
|
|
57
|
+
"height": { "type": "number", "default": 192, "description": "units: px" },
|
|
58
|
+
"isDisabled": { "type": "boolean", "default": false }
|
|
109
59
|
},
|
|
110
60
|
"states": [
|
|
111
|
-
{
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"name": "down",
|
|
117
|
-
"trigger": "interaction"
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
"name": "keyboard-focus",
|
|
121
|
-
"trigger": "interaction"
|
|
122
|
-
}
|
|
61
|
+
{ "name": "hover", "trigger": "interaction" },
|
|
62
|
+
{ "name": "down", "trigger": "interaction" },
|
|
63
|
+
{ "name": "keyboard-focus", "trigger": "interaction" }
|
|
123
64
|
],
|
|
124
|
-
"lifecycle": {
|
|
125
|
-
"introduced": "1.0.0-draft"
|
|
126
|
-
},
|
|
65
|
+
"lifecycle": { "introduced": "1.0.0-draft" },
|
|
127
66
|
"accessibility": {
|
|
128
67
|
"role": "slider",
|
|
129
68
|
"intents": ["choose"],
|
|
130
69
|
"focusable": true,
|
|
131
70
|
"keyboardIntents": ["increment", "decrement"],
|
|
132
71
|
"wcag": [
|
|
133
|
-
{
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
"title": "Info and Relationships"
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
"criterion": "2.1.1",
|
|
140
|
-
"level": "A",
|
|
141
|
-
"title": "Keyboard"
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
"criterion": "4.1.2",
|
|
145
|
-
"level": "A",
|
|
146
|
-
"title": "Name, Role, Value"
|
|
147
|
-
}
|
|
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" }
|
|
148
75
|
]
|
|
149
76
|
}
|
|
150
77
|
}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"documentBlocks": [
|
|
13
13
|
{
|
|
14
14
|
"type": "purpose",
|
|
15
|
-
"content": "Color handles
|
|
15
|
+
"content": "Color handles allow users to select and adjust colors in a color picker."
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"type": "guideline",
|
|
@@ -20,11 +20,23 @@
|
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"type": "guideline",
|
|
23
|
-
"content": "Transparent colors.\n\nWhen using transparent colors, the handle
|
|
23
|
+
"content": "Transparent colors.\n\nWhen using transparent colors, the handle and loupe display an opacity checkerboard background to clearly show the level of transparency."
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"type": "guideline",
|
|
27
|
-
"content": "
|
|
27
|
+
"content": "Color loupe.\n\nThe loupe is a floating element positioned above the handle. It provides a preview that reflects the color currently sampled by its parent color component and disappears when the interaction ends."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "guideline",
|
|
31
|
+
"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."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "guideline",
|
|
35
|
+
"content": "Display combined values.\n\nColor selection usually happens using a variety of input methods (color area, color slider, color wheel). The color loupe should display the final output color: the combined values from multiple color inputs. The number of input methods is determined by the color space (or \"mode\"), for example: 2 controls: HSL using color wheel (hue) and color area (saturation and lightness) 3 controls: RGB using unique color sliders for Red, Green, and Blue 4 controls: RGBa using unique color sliders for Red, Green, Blue, and Alpha"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"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."
|
|
28
40
|
}
|
|
29
41
|
],
|
|
30
42
|
"options": {
|
|
@@ -33,47 +45,22 @@
|
|
|
33
45
|
"default": "hue",
|
|
34
46
|
"description": "Which channel of the color this handle controls. Use 'alpha' for opacity.",
|
|
35
47
|
"values": [
|
|
36
|
-
{
|
|
37
|
-
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"value": "lightness"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
"value": "red"
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"value": "green"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"value": "blue"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"value": "alpha"
|
|
56
|
-
}
|
|
48
|
+
{ "value": "hue" },
|
|
49
|
+
{ "value": "saturation" },
|
|
50
|
+
{ "value": "lightness" },
|
|
51
|
+
{ "value": "red" },
|
|
52
|
+
{ "value": "green" },
|
|
53
|
+
{ "value": "blue" },
|
|
54
|
+
{ "value": "alpha" }
|
|
57
55
|
]
|
|
58
56
|
},
|
|
59
|
-
"isDisabled": {
|
|
60
|
-
"type": "boolean",
|
|
61
|
-
"default": false
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
"lifecycle": {
|
|
65
|
-
"introduced": "1.0.0-draft"
|
|
57
|
+
"isDisabled": { "type": "boolean", "default": false }
|
|
66
58
|
},
|
|
59
|
+
"lifecycle": { "introduced": "1.0.0-draft" },
|
|
67
60
|
"accessibility": {
|
|
68
61
|
"intents": ["choose"],
|
|
69
62
|
"focusable": true,
|
|
70
63
|
"keyboardIntents": ["increment", "decrement"],
|
|
71
|
-
"wcag": [
|
|
72
|
-
{
|
|
73
|
-
"criterion": "2.1.1",
|
|
74
|
-
"level": "A",
|
|
75
|
-
"title": "Keyboard"
|
|
76
|
-
}
|
|
77
|
-
]
|
|
64
|
+
"wcag": [{ "criterion": "2.1.1", "level": "A", "title": "Keyboard" }]
|
|
78
65
|
}
|
|
79
66
|
}
|
|
@@ -40,10 +40,6 @@
|
|
|
40
40
|
"$ref": "https://opensource.adobe.com/spectrum-design-data/schemas/types/hex-color.json"
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
|
-
"lifecycle": {
|
|
44
|
-
|
|
45
|
-
},
|
|
46
|
-
"accessibility": {
|
|
47
|
-
"focusable": false
|
|
48
|
-
}
|
|
43
|
+
"lifecycle": { "introduced": "1.0.0-draft" },
|
|
44
|
+
"accessibility": { "focusable": false }
|
|
49
45
|
}
|