Skip to content

Commit e309613

Browse files
authored
feat(combobox): adding new s2 migration (#3683)
* feat(combobox): adding new s2 migration * feat(combobox): refactoring field label and helptext * feat(combobox): add metadata files * feat(combobox): add changeset, more test cases and metadata * chore(combobox): adding helptext metadata * feat(combobox): add aria label, adjust story copy, and changeset * chore(combobox): updating metadata files * feat(combobox): add help text docs * chore(combobox): restore some metadata files * feat(combobox): adding new tests, fixing css and template * feat(combobox): updating css classes, adding role to ifb, autocomplete * chore(combobox): adding combobox metadata files * feat(combobox): removing empty args for default combobox * feat(combobox): refactor template, passing mods, adding more tests * chore(combobox): restore helptext metadata * feat(combobox): update template * chore(combobox): adding metadata files * feat(combobox): fix spacing issues * feat(combobox): adjusting diacritics line height * fix(combobox): restore border width subtraction * feat(combobox): fixing autocomplete * feat(combobox): adjusting WHCM autocomplete mode
1 parent 3682b76 commit e309613

File tree

9 files changed

+510
-343
lines changed

9 files changed

+510
-343
lines changed

.changeset/four-lemons-warn.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
"@spectrum-css/combobox": major
3+
"@spectrum-css/helptext": minor
4+
---
5+
6+
### Combobox S2 Migration
7+
8+
#### New Changes
9+
10+
- Removed quiet styling variant
11+
- Updated corner radius to match S2 specifications
12+
- Changed outline thickness for better visibility
13+
- Replaced picker button with in-field button component
14+
- Added help text along with invalid state
15+
- Modified the WHCM invalid/error state in help text
16+
17+
### New tokens
18+
19+
`--spectrum-combobox-font-weight`
20+
`--spectrum-combobox-line-height-cjk`
21+
`--spectrum-combobox-spacing-alert-icon-to-text`
22+
`--spectrum-combobox-spacing-to-help-text`
23+
24+
### New mods
25+
26+
`--mod-combobox-line-height-cjk`
27+
`--mod-combobox-popover-animation-distance`
28+
`--mod-combobox-spacing-alert-icon-to-text`
29+
`--mod-combobox-spacing-to-help-text`
30+
`--mod-combobox-textfield-background-color`

components/combobox/dist/metadata.json

Lines changed: 86 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,13 @@
44
".spectrum-Combobox",
55
".spectrum-Combobox .spectrum-Combobox-button.spectrum-PickerButton--quiet .spectrum-PickerButton-fill",
66
".spectrum-Combobox .spectrum-Combobox-button.spectrum-PickerButton--quiet .spectrum-PickerButton-icon",
7-
".spectrum-Combobox .spectrum-Popover.is-open",
8-
".spectrum-Combobox--quiet",
9-
".spectrum-Combobox--quiet .spectrum-Combobox-input",
10-
".spectrum-Combobox--quiet .spectrum-Combobox-textfield.is-invalid .spectrum-Combobox-input",
11-
".spectrum-Combobox--quiet .spectrum-Combobox-textfield.is-invalid .spectrum-Textfield-validationIcon",
12-
".spectrum-Combobox--quiet .spectrum-Combobox-textfield.is-loading .spectrum-Combobox-input",
13-
".spectrum-Combobox--quiet .spectrum-Combobox-textfield.is-readOnly .spectrum-Combobox-input:read-only",
14-
".spectrum-Combobox--quiet .spectrum-Combobox-textfield.is-readOnly.is-disabled .spectrum-Combobox-input:read-only",
15-
".spectrum-Combobox--quiet .spectrum-Combobox-textfield.is-readOnly.is-invalid > .spectrum-Combobox-input:read-only",
16-
".spectrum-Combobox--quiet.spectrum-Combobox--sizeL",
17-
".spectrum-Combobox--quiet.spectrum-Combobox--sizeM",
18-
".spectrum-Combobox--quiet.spectrum-Combobox--sizeS",
19-
".spectrum-Combobox--quiet.spectrum-Combobox--sizeXL",
7+
".spectrum-Combobox .spectrum-Combobox-content",
8+
".spectrum-Combobox .spectrum-Combobox-label",
9+
".spectrum-Combobox .spectrum-Combobox-popover",
10+
".spectrum-Combobox--sideLabel .spectrum-Combobox-content",
11+
".spectrum-Combobox--sideLabel .spectrum-Combobox-helptext",
12+
".spectrum-Combobox--sideLabel .spectrum-Combobox-label",
13+
".spectrum-Combobox--sideLabel .spectrum-Combobox-textfield",
2014
".spectrum-Combobox--sizeL",
2115
".spectrum-Combobox--sizeS",
2216
".spectrum-Combobox--sizeXL",
@@ -39,15 +33,33 @@
3933
".spectrum-Combobox-button:not(:disabled, .is-invalid, .spectrum-PickerButton--quiet):focus-visible",
4034
".spectrum-Combobox-button:not(:disabled, .is-invalid, .spectrum-PickerButton--quiet):focus:hover",
4135
".spectrum-Combobox-button:not(:disabled, .is-invalid, .spectrum-PickerButton--quiet):hover",
36+
".spectrum-Combobox-content",
37+
".spectrum-Combobox-helptext",
38+
".spectrum-Combobox-helptext .spectrum-HelpText-text",
4239
".spectrum-Combobox-input",
40+
".spectrum-Combobox-input.spectrum-Combobox-autocomplete",
41+
".spectrum-Combobox-input.spectrum-Combobox-autocomplete::selection",
42+
".spectrum-Combobox-input:-internal-autofill-selected",
43+
".spectrum-Combobox-input:-internal-autofill-selected::selection",
44+
".spectrum-Combobox-input:-webkit-autofill",
45+
".spectrum-Combobox-input:-webkit-autofill::selection",
46+
".spectrum-Combobox-input:-webkit-autofill:active",
47+
".spectrum-Combobox-input:-webkit-autofill:active::selection",
48+
".spectrum-Combobox-input:-webkit-autofill:focus",
49+
".spectrum-Combobox-input:-webkit-autofill:focus::selection",
50+
".spectrum-Combobox-input:-webkit-autofill:hover",
51+
".spectrum-Combobox-input:-webkit-autofill:hover::selection",
4352
".spectrum-Combobox-input::placeholder",
4453
".spectrum-Combobox-input:active",
4554
".spectrum-Combobox-input:focus",
4655
".spectrum-Combobox-input:focus:hover",
4756
".spectrum-Combobox-input:hover",
57+
".spectrum-Combobox-input:lang(ja)",
58+
".spectrum-Combobox-input:lang(ko)",
59+
".spectrum-Combobox-input:lang(zh)",
60+
".spectrum-Combobox-label",
4861
".spectrum-Combobox-progress-circle",
4962
".spectrum-Combobox-progress-circle:dir(rtl)",
50-
".spectrum-Combobox-textfield",
5163
".spectrum-Combobox-textfield.is-focused .spectrum-Combobox-input",
5264
".spectrum-Combobox-textfield.is-focused .spectrum-Combobox-input:hover",
5365
".spectrum-Combobox-textfield.is-invalid .spectrum-Combobox-input",
@@ -61,12 +73,12 @@
6173
".spectrum-Combobox.is-focused:hover .spectrum-Combobox-button:not(:disabled, .is-invalid, .spectrum-PickerButton--quiet)",
6274
".spectrum-Combobox.is-keyboardFocused .spectrum-Combobox-button.is-invalid:not(:disabled, .spectrum-PickerButton--quiet)",
6375
".spectrum-Combobox.is-keyboardFocused .spectrum-Combobox-button:not(:disabled, .is-invalid, .spectrum-PickerButton--quiet)",
64-
".spectrum-Combobox.is-readOnly.is-disabled:not(.spectrum-Combobox--quiet) .spectrum-Combobox-input:read-only",
65-
".spectrum-Combobox.is-readOnly.is-disabled:not(.spectrum-Combobox--quiet) .spectrum-Combobox-input:read-only:hover",
66-
".spectrum-Combobox.is-readOnly.is-invalid:not(.spectrum-Combobox--quiet) .spectrum-Combobox-input:read-only",
67-
".spectrum-Combobox.is-readOnly:not(.spectrum-Combobox--quiet) .spectrum-Combobox-input:read-only",
68-
".spectrum-Combobox.is-readOnly:not(.spectrum-Combobox--quiet) .spectrum-Combobox-input:read-only:hover",
69-
".spectrum-Combobox.is-readOnly:not(.spectrum-Combobox--quiet) .spectrum-Combobox-textfield.is-keyboardFocused .spectrum-Combobox-input",
76+
".spectrum-Combobox.is-readOnly .spectrum-Combobox-input:read-only",
77+
".spectrum-Combobox.is-readOnly .spectrum-Combobox-input:read-only:hover",
78+
".spectrum-Combobox.is-readOnly .spectrum-Combobox-textfield.is-keyboardFocused .spectrum-Combobox-input",
79+
".spectrum-Combobox.is-readOnly.is-disabled .spectrum-Combobox-input:read-only",
80+
".spectrum-Combobox.is-readOnly.is-disabled .spectrum-Combobox-input:read-only:hover",
81+
".spectrum-Combobox.is-readOnly.is-invalid .spectrum-Combobox-input:read-only",
7082
".spectrum-Combobox:has(:active) .spectrum-Combobox-button.is-invalid:not(:disabled, .spectrum-PickerButton--quiet)",
7183
".spectrum-Combobox:has(:active) .spectrum-Combobox-button:not(:disabled, .is-invalid, .spectrum-PickerButton--quiet)",
7284
".spectrum-Combobox:has(:focus) .spectrum-Combobox-button.is-invalid:not(:disabled, .spectrum-PickerButton--quiet)",
@@ -89,7 +101,7 @@
89101
"--mod-combobox-background-color-hover",
90102
"--mod-combobox-background-color-key-focus",
91103
"--mod-combobox-block-size",
92-
"--mod-combobox-block-spacing-edge-to-alert",
104+
"--mod-combobox-block-spacing-edge-to-icon",
93105
"--mod-combobox-block-spacing-edge-to-progress-circle",
94106
"--mod-combobox-border-color-default",
95107
"--mod-combobox-border-color-disabled",
@@ -104,7 +116,6 @@
104116
"--mod-combobox-border-color-key-focus",
105117
"--mod-combobox-border-radius",
106118
"--mod-combobox-border-width",
107-
"--mod-combobox-button-inline-offset",
108119
"--mod-combobox-button-width",
109120
"--mod-combobox-focus-indicator-color",
110121
"--mod-combobox-focus-indicator-gap",
@@ -117,34 +128,32 @@
117128
"--mod-combobox-font-color-key-focus",
118129
"--mod-combobox-font-color-placeholder",
119130
"--mod-combobox-font-family",
120-
"--mod-combobox-font-size",
121-
"--mod-combobox-font-style",
122-
"--mod-combobox-font-weight",
123131
"--mod-combobox-icon-size",
124132
"--mod-combobox-inline-size",
125133
"--mod-combobox-line-height",
134+
"--mod-combobox-line-height-cjk",
126135
"--mod-combobox-min-inline-size",
136+
"--mod-combobox-popover-animation-distance",
127137
"--mod-combobox-readonly-border-color-disabled",
128-
"--mod-combobox-readonly-input-border-color",
138+
"--mod-combobox-spacing-alert-icon-to-text",
129139
"--mod-combobox-spacing-block-end-edge-to-text",
130140
"--mod-combobox-spacing-block-start-edge-to-text",
131-
"--mod-combobox-spacing-edge-to-menu",
132-
"--mod-combobox-spacing-inline-end-edge-to-text",
133141
"--mod-combobox-spacing-inline-icon-to-button",
142+
"--mod-combobox-spacing-inline-icon-to-text",
134143
"--mod-combobox-spacing-inline-start-edge-to-text",
135-
"--mod-combobox-spacing-label-to-combobox"
144+
"--mod-combobox-spacing-label-to-combobox",
145+
"--mod-combobox-spacing-side-label-to-field",
146+
"--mod-combobox-spacing-to-help-text",
147+
"--mod-combobox-textfield-background-color"
136148
],
137149
"component": [
138150
"--spectrum-combo-box-minimum-width-multiplier",
139-
"--spectrum-combo-box-quiet-minimum-width-multiplier",
140-
"--spectrum-combo-box-visual-to-field-button-extra-large",
141-
"--spectrum-combo-box-visual-to-field-button-large",
142-
"--spectrum-combo-box-visual-to-field-button-medium",
143-
"--spectrum-combo-box-visual-to-field-button-quiet",
144-
"--spectrum-combo-box-visual-to-field-button-small",
151+
"--spectrum-combo-box-visual-to-field-button",
152+
"--spectrum-combobox-background-color-autofill",
153+
"--spectrum-combobox-background-color-default",
145154
"--spectrum-combobox-background-color-disabled",
146155
"--spectrum-combobox-block-size",
147-
"--spectrum-combobox-block-spacing-edge-to-alert",
156+
"--spectrum-combobox-block-spacing-edge-to-icon",
148157
"--spectrum-combobox-block-spacing-edge-to-progress-circle",
149158
"--spectrum-combobox-border-color-default",
150159
"--spectrum-combobox-border-color-disabled",
@@ -159,16 +168,17 @@
159168
"--spectrum-combobox-border-color-key-focus",
160169
"--spectrum-combobox-border-radius",
161170
"--spectrum-combobox-border-width",
162-
"--spectrum-combobox-button-inline-offset",
163171
"--spectrum-combobox-button-width",
164172
"--spectrum-combobox-focus-indicator-color",
165173
"--spectrum-combobox-focus-indicator-gap",
166174
"--spectrum-combobox-focus-indicator-thickness",
167175
"--spectrum-combobox-font-size",
168176
"--spectrum-combobox-font-style",
177+
"--spectrum-combobox-font-weight",
169178
"--spectrum-combobox-icon-size",
170179
"--spectrum-combobox-inline-size",
171180
"--spectrum-combobox-line-height",
181+
"--spectrum-combobox-line-height-cjk",
172182
"--spectrum-combobox-min-inline-size",
173183
"--spectrum-combobox-readonly-background-color-disabled",
174184
"--spectrum-combobox-readonly-border-color-disabled",
@@ -178,14 +188,17 @@
178188
"--spectrum-combobox-readonly-text-color-disabled",
179189
"--spectrum-combobox-spacing-block-end-edge-to-text",
180190
"--spectrum-combobox-spacing-block-start-edge-to-text",
181-
"--spectrum-combobox-spacing-edge-to-menu",
182-
"--spectrum-combobox-spacing-inline-end-edge-to-text",
183191
"--spectrum-combobox-spacing-inline-icon-to-button",
192+
"--spectrum-combobox-spacing-inline-icon-to-text",
184193
"--spectrum-combobox-spacing-inline-start-edge-to-text",
185-
"--spectrum-combobox-spacing-label-to-combobox"
194+
"--spectrum-combobox-spacing-label-to-combobox",
195+
"--spectrum-combobox-spacing-side-label-to-field",
196+
"--spectrum-combobox-spacing-to-help-text"
186197
],
187198
"global": [
188-
"--spectrum-border-width-100",
199+
"--spectrum-blue-900-rgb",
200+
"--spectrum-border-width-200",
201+
"--spectrum-cjk-line-height-100",
189202
"--spectrum-component-bottom-to-text-100",
190203
"--spectrum-component-bottom-to-text-200",
191204
"--spectrum-component-bottom-to-text-300",
@@ -206,26 +219,27 @@
206219
"--spectrum-component-top-to-text-200",
207220
"--spectrum-component-top-to-text-300",
208221
"--spectrum-component-top-to-text-75",
209-
"--spectrum-corner-radius-100",
222+
"--spectrum-component-top-to-workflow-icon-100",
223+
"--spectrum-component-top-to-workflow-icon-200",
224+
"--spectrum-component-top-to-workflow-icon-300",
225+
"--spectrum-component-top-to-workflow-icon-75",
226+
"--spectrum-corner-radius-medium-size-extra-large",
227+
"--spectrum-corner-radius-medium-size-large",
228+
"--spectrum-corner-radius-medium-size-medium",
229+
"--spectrum-corner-radius-medium-size-small",
210230
"--spectrum-default-font-style",
211231
"--spectrum-disabled-background-color",
212232
"--spectrum-disabled-border-color",
213233
"--spectrum-disabled-content-color",
214-
"--spectrum-field-edge-to-text-quiet",
215234
"--spectrum-field-label-to-component",
216-
"--spectrum-field-label-to-component-quiet-extra-large",
217-
"--spectrum-field-label-to-component-quiet-large",
218-
"--spectrum-field-label-to-component-quiet-medium",
219-
"--spectrum-field-label-to-component-quiet-small",
220-
"--spectrum-field-top-to-alert-icon-extra-large",
221-
"--spectrum-field-top-to-alert-icon-large",
222-
"--spectrum-field-top-to-alert-icon-medium",
223-
"--spectrum-field-top-to-alert-icon-small",
224235
"--spectrum-field-top-to-progress-circle-extra-large",
225236
"--spectrum-field-top-to-progress-circle-large",
226237
"--spectrum-field-top-to-progress-circle-medium",
227238
"--spectrum-field-top-to-progress-circle-small",
228-
"--spectrum-field-width",
239+
"--spectrum-field-width-extra-large",
240+
"--spectrum-field-width-large",
241+
"--spectrum-field-width-medium",
242+
"--spectrum-field-width-small",
229243
"--spectrum-focus-indicator-color",
230244
"--spectrum-focus-indicator-gap",
231245
"--spectrum-focus-indicator-thickness",
@@ -234,31 +248,38 @@
234248
"--spectrum-font-size-300",
235249
"--spectrum-font-size-75",
236250
"--spectrum-gray-25",
237-
"--spectrum-gray-50",
238-
"--spectrum-gray-500",
239-
"--spectrum-gray-600",
251+
"--spectrum-gray-300",
252+
"--spectrum-gray-400",
240253
"--spectrum-gray-800",
241254
"--spectrum-gray-900",
255+
"--spectrum-help-text-to-component",
242256
"--spectrum-line-height-100",
243257
"--spectrum-negative-border-color-default",
244258
"--spectrum-negative-border-color-focus",
245259
"--spectrum-negative-border-color-focus-hover",
246260
"--spectrum-negative-border-color-hover",
247261
"--spectrum-negative-border-color-key-focus",
262+
"--spectrum-neutral-content-color-default",
263+
"--spectrum-regular-font-weight",
264+
"--spectrum-spacing-200",
265+
"--spectrum-text-to-visual-100",
266+
"--spectrum-text-to-visual-200",
267+
"--spectrum-text-to-visual-300",
268+
"--spectrum-text-to-visual-75",
248269
"--spectrum-workflow-icon-size-100",
249270
"--spectrum-workflow-icon-size-200",
250271
"--spectrum-workflow-icon-size-300",
251272
"--spectrum-workflow-icon-size-75"
252273
],
253274
"passthroughs": [
275+
"--mod-divider-inline-minimum-size",
254276
"--mod-picker-button-background-color",
255277
"--mod-picker-button-background-color-disabled",
256-
"--mod-picker-button-background-color-quiet",
257278
"--mod-picker-button-border-color",
258279
"--mod-picker-button-border-color-disabled",
259-
"--mod-picker-button-border-color-quiet",
260280
"--mod-picker-button-border-width",
261281
"--mod-picker-button-font-color-disabled",
282+
"--mod-popover-animation-distance",
262283
"--mod-textfield-background-color",
263284
"--mod-textfield-background-color-disabled",
264285
"--mod-textfield-border-color",
@@ -273,12 +294,17 @@
273294
"--mod-textfield-border-color-invalid-keyboard-focus",
274295
"--mod-textfield-border-color-keyboard-focus",
275296
"--mod-textfield-border-width",
297+
"--mod-textfield-corner-radius",
276298
"--mod-textfield-focus-indicator-color",
277299
"--mod-textfield-focus-indicator-gap",
278300
"--mod-textfield-focus-indicator-width",
279301
"--mod-textfield-font-family",
302+
"--mod-textfield-font-size",
303+
"--mod-textfield-font-style",
280304
"--mod-textfield-font-weight",
281305
"--mod-textfield-icon-color-invalid",
306+
"--mod-textfield-spacing-block-end",
307+
"--mod-textfield-spacing-block-start",
282308
"--mod-textfield-text-color-default",
283309
"--mod-textfield-text-color-disabled",
284310
"--mod-textfield-text-color-focus",
@@ -287,9 +313,12 @@
287313
"--mod-textfield-text-color-keyboard-focus"
288314
],
289315
"high-contrast": [
316+
"--highcontrast-combobox-background-color-default",
290317
"--highcontrast-combobox-border-color-highlight",
291318
"--highcontrast-combobox-border-color-invalid",
319+
"--highcontrast-combobox-readonly-border-color",
292320
"--highcontrast-textfield-border-color-invalid-default",
321+
"--highcontrast-textfield-text-color-default",
293322
"--highcontrast-textfield-text-color-disabled"
294323
]
295324
}

0 commit comments

Comments
 (0)