Skip to content

Commit bcf877c

Browse files
committed
feat(combobox): clarifying specificity of selectors
1 parent 03cc59e commit bcf877c

File tree

3 files changed

+25
-22
lines changed

3 files changed

+25
-22
lines changed

components/combobox/index.css

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,11 @@
9393

9494
/*** Read-only Colors ***/
9595
--spectrum-combobox-readonly-input-background-color: var(--spectrum-gray-50);
96-
--spectrum-combobox-readonly-input-border-color: var(--system-spectrum-textfield-border-color);
96+
--spectrum-combobox-readonly-input-border-color: var(--spectrum-gray-500);
9797
--spectrum-combobox-readonly-border-color-invalid-default: var(--spectrum-negative-border-color-default);
9898
--spectrum-combobox-readonly-background-color-disabled: var(--spectrum-disabled-background-color);
9999
--spectrum-combobox-readonly-text-color-disabled: var(--spectrum-disabled-content-color);
100+
--spectrum-combobox-border-color-disabled: var(--spectrum-disabled-border-color);
100101
}
101102

102103
.spectrum-Combobox--sizeS {
@@ -221,8 +222,8 @@
221222
transform: translateY(var(--mod-combobox-spacing-edge-to-menu, var(--spectrum-combobox-spacing-edge-to-menu)));
222223
}
223224

224-
&.is-readOnly .spectrum-Combobox-textfield {
225-
input:read-only {
225+
&.is-readOnly:not(.spectrum-Combobox--quiet) {
226+
.spectrum-Combobox-input:read-only {
226227
background-color: var(--spectrum-combobox-readonly-input-background-color);
227228
border-color: var(--spectrum-combobox-readonly-input-border-color);
228229

@@ -231,11 +232,11 @@
231232
}
232233
}
233234

234-
&.is-invalid input:read-only {
235+
&.is-invalid .spectrum-Combobox-input:read-only {
235236
border-color: var(--highcontrast-textfield-border-color-invalid-default, var(--mod-textfield-border-color-invalid-default, var(--spectrum-combobox-readonly-border-color-invalid-default)));
236237
}
237238

238-
&.is-disabled input:read-only {
239+
&.is-disabled .spectrum-Combobox-input:read-only {
239240
background-color: var(--mod-textfield-background-color-disabled, var(--spectrum-combobox-readonly-background-color-disabled));
240241
border-color: transparent;
241242
color: var(--highcontrast-textfield-text-color-disabled, var(--mod-textfield-text-color-disabled, var(--spectrum-combobox-readonly-text-color-disabled)));
@@ -406,18 +407,17 @@
406407
inset-inline-end: var(--mod-combobox-button-width, var(--spectrum-combobox-button-width));
407408
}
408409

409-
&.spectrum-Textfield--quiet {
410-
input:read-only {
411-
background-color: unset;
412-
border-color: unset;
410+
&.is-readOnly {
411+
.spectrum-Combobox-input:read-only {
412+
border-block-end: var(--mod-combobox-border-width, var(--spectrum-combobox-border-width)) solid var(--mod-combobox-readonly-input-border-color, var(--spectrum-combobox-readonly-input-border-color));
413413
}
414414

415-
input:read-only:hover {
416-
background-color: unset;
417-
border-color: unset;
415+
&.is-disabled .spectrum-Combobox-input:read-only {
416+
color: var(--highcontrast-textfield-text-color-disabled, var(--mod-textfield-text-color-disabled, var(--spectrum-combobox-readonly-text-color-disabled)));
417+
border-color: var(--mod-textfield-border-color-disabled, var(--spectrum-combobox-border-color-disabled));
418418
}
419419

420-
&.is-invalid input:read-only {
420+
&.is-invalid > .spectrum-Combobox-input:read-only {
421421
border-color: var(--highcontrast-textfield-border-color-invalid-default, var(--mod-textfield-border-color-invalid-default, var(--spectrum-combobox-readonly-border-color-invalid-default)));
422422
}
423423
}

components/combobox/metadata/metadata.json

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
".spectrum-Combobox--quiet .spectrum-Combobox-textfield.is-invalid .spectrum-Combobox-input",
1111
".spectrum-Combobox--quiet .spectrum-Combobox-textfield.is-invalid .spectrum-Textfield-validationIcon",
1212
".spectrum-Combobox--quiet .spectrum-Combobox-textfield.is-loading .spectrum-Combobox-input",
13-
".spectrum-Combobox--quiet .spectrum-Combobox-textfield.spectrum-Textfield--quiet input:read-only",
14-
".spectrum-Combobox--quiet .spectrum-Combobox-textfield.spectrum-Textfield--quiet input:read-only:hover",
15-
".spectrum-Combobox--quiet .spectrum-Combobox-textfield.spectrum-Textfield--quiet.is-invalid input:read-only",
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",
1616
".spectrum-Combobox--quiet.spectrum-Combobox--sizeL",
1717
".spectrum-Combobox--quiet.spectrum-Combobox--sizeM",
1818
".spectrum-Combobox--quiet.spectrum-Combobox--sizeS",
@@ -62,10 +62,10 @@
6262
".spectrum-Combobox.is-focused:hover .spectrum-Combobox-button:not(:disabled, .is-invalid, .spectrum-PickerButton--quiet)",
6363
".spectrum-Combobox.is-keyboardFocused .spectrum-Combobox-button.is-invalid:not(:disabled, .spectrum-PickerButton--quiet)",
6464
".spectrum-Combobox.is-keyboardFocused .spectrum-Combobox-button:not(:disabled, .is-invalid, .spectrum-PickerButton--quiet)",
65-
".spectrum-Combobox.is-readOnly .spectrum-Combobox-textfield input:read-only",
66-
".spectrum-Combobox.is-readOnly .spectrum-Combobox-textfield input:read-only:hover",
67-
".spectrum-Combobox.is-readOnly .spectrum-Combobox-textfield.is-disabled input:read-only",
68-
".spectrum-Combobox.is-readOnly .spectrum-Combobox-textfield.is-invalid input:read-only",
65+
".spectrum-Combobox.is-readOnly.is-disabled:not(.spectrum-Combobox--quiet) .spectrum-Combobox-input:read-only",
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",
6969
".spectrum-Combobox:has(:active) .spectrum-Combobox-button.is-invalid:not(:disabled, .spectrum-PickerButton--quiet)",
7070
".spectrum-Combobox:has(:active) .spectrum-Combobox-button:not(:disabled, .is-invalid, .spectrum-PickerButton--quiet)",
7171
".spectrum-Combobox:has(:focus) .spectrum-Combobox-button.is-invalid:not(:disabled, .spectrum-PickerButton--quiet)",
@@ -123,6 +123,7 @@
123123
"--mod-combobox-inline-size",
124124
"--mod-combobox-line-height",
125125
"--mod-combobox-min-inline-size",
126+
"--mod-combobox-readonly-input-border-color",
126127
"--mod-combobox-spacing-block-end-edge-to-text",
127128
"--mod-combobox-spacing-block-start-edge-to-text",
128129
"--mod-combobox-spacing-edge-to-menu",
@@ -143,6 +144,7 @@
143144
"--spectrum-combobox-block-spacing-edge-to-alert",
144145
"--spectrum-combobox-block-spacing-edge-to-progress-circle",
145146
"--spectrum-combobox-border-color-default",
147+
"--spectrum-combobox-border-color-disabled",
146148
"--spectrum-combobox-border-color-focus",
147149
"--spectrum-combobox-border-color-focus-hover",
148150
"--spectrum-combobox-border-color-hover",
@@ -203,6 +205,7 @@
203205
"--spectrum-corner-radius-100",
204206
"--spectrum-default-font-style",
205207
"--spectrum-disabled-background-color",
208+
"--spectrum-disabled-border-color",
206209
"--spectrum-disabled-content-color",
207210
"--spectrum-field-edge-to-text-quiet",
208211
"--spectrum-field-label-to-component",
@@ -248,8 +251,7 @@
248251
"--system-spectrum-combobox-border-color-focus",
249252
"--system-spectrum-combobox-border-color-focus-hover",
250253
"--system-spectrum-combobox-border-color-hover",
251-
"--system-spectrum-combobox-border-color-key-focus",
252-
"--system-spectrum-textfield-border-color"
254+
"--system-spectrum-combobox-border-color-key-focus"
253255
],
254256
"passthroughs": [
255257
"--mod-picker-button-background-color",

components/combobox/metadata/mods.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
| `--mod-combobox-inline-size` |
4444
| `--mod-combobox-line-height` |
4545
| `--mod-combobox-min-inline-size` |
46+
| `--mod-combobox-readonly-input-border-color` |
4647
| `--mod-combobox-spacing-block-end-edge-to-text` |
4748
| `--mod-combobox-spacing-block-start-edge-to-text` |
4849
| `--mod-combobox-spacing-edge-to-menu` |

0 commit comments

Comments
 (0)