Skip to content

Commit 13f8de8

Browse files
committed
fix(clear button): align background color and hover state for disabled variant
1 parent 50372e0 commit 13f8de8

File tree

2 files changed

+47
-22
lines changed

2 files changed

+47
-22
lines changed

components/clearbutton/index.css

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,17 +60,29 @@
6060
&:disabled,
6161
&.is-disabled {
6262
--mod-clear-button-icon-color: var(--mod-clear-button-icon-color-disabled, var(--spectrum-disabled-content-color));
63-
--mod-clear-button-icon-color-hover: var(--spectrum-clear-button-icon-color-hover-disabled, var(--spectrum-disabled-content-color));
64-
--mod-clear-button-icon-color-down: var(--spectrum-clear-button-icon-color-down-disabled, var(--spectrum-disabled-content-color));
63+
--mod-clear-button-icon-color-hover: var(--spectrum-disabled-content-color);
64+
--mod-clear-button-icon-color-down: var(--spectrum-disabled-content-color);
6565
--mod-clear-button-background-color: var(--mod-clear-button-background-color-disabled, transparent);
6666
}
67+
68+
&.spectrum-ClearButton--staticWhite {
69+
--spectrum-clear-button-icon-color-disabled: var(--spectrum-disabled-static-white-content-color);
70+
}
71+
72+
&.spectrum-ClearButton--staticBlack {
73+
--spectrum-clear-button-icon-color-disabled: var(--spectrum-disabled-static-black-content-color);
74+
}
6775
}
6876

77+
/* stylelint-disable-next-line no-duplicate-selectors */
6978
.spectrum-ClearButton {
7079
block-size: var(--mod-clear-button-height, var(--spectrum-clear-button-height));
7180
inline-size: var(--mod-clear-button-width, var(--spectrum-clear-button-width));
7281
border-radius: 100%;
73-
cursor: pointer;
82+
83+
&:not(:disabled) {
84+
cursor: pointer;
85+
}
7486

7587
background-color: var(--mod-clear-button-background-color, transparent);
7688
margin: 0;
@@ -85,24 +97,24 @@
8597
margin-inline: auto;
8698
}
8799

88-
&:hover {
100+
&:not(:disabled):hover {
89101
color: var(--highcontrast-clear-button-icon-color-hover, var(--mod-clear-button-icon-color-hover, var(--spectrum-clear-button-icon-color-hover)));
90102

91103
.spectrum-ClearButton-fill {
92104
background-color: var(--mod-clear-button-background-color-hover, var(--spectrum-clear-button-background-color-hover));
93105
}
94106
}
95107

96-
&:active {
108+
&:not(:disabled):active {
97109
color: var(--mod-clear-button-icon-color-down, var(--spectrum-clear-button-icon-color-down));
98110

99111
.spectrum-ClearButton-fill {
100112
background-color: var(--mod-clear-button-background-color-down, var(--spectrum-clear-button-background-color-down));
101113
}
102114
}
103115

104-
&:focus-visible,
105-
&:focus-within {
116+
&:not(:disabled):focus-visible,
117+
&:not(:disabled):focus-within {
106118
color: var(--mod-clear-button-icon-color-key-focus, var(--spectrum-clear-button-icon-color-key-focus));
107119

108120
.spectrum-ClearButton-fill {
@@ -111,6 +123,12 @@
111123
}
112124
}
113125

126+
.spectrum-ClearButton:disabled {
127+
.spectrum-ClearButton-icon {
128+
color: var( --highcontrast-clear-button-icon-color-disabled, var(--mod-clear-button-icon-color-disabled, var(--spectrum-clear-button-icon-color-disabled)));
129+
}
130+
}
131+
114132
.spectrum-ClearButton-fill {
115133
background-color: var(--mod-clear-button-background-color, var(--spectrum-clear-button-background-color));
116134

components/clearbutton/metadata/metadata.json

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"sourceFile": "index.css",
33
"selectors": [
4-
".js-focus-within .spectrum-ClearButton[focus-within]",
5-
".js-focus-within .spectrum-ClearButton[focus-within] .spectrum-ClearButton-fill",
4+
".js-focus-within .spectrum-ClearButton:not(:disabled)[focus-within]",
5+
".js-focus-within .spectrum-ClearButton:not(:disabled)[focus-within] .spectrum-ClearButton-fill",
66
".spectrum-ClearButton",
77
".spectrum-ClearButton > .spectrum-Icon",
88
".spectrum-ClearButton--overBackground:focus-visible",
@@ -13,18 +13,21 @@
1313
".spectrum-ClearButton.spectrum-ClearButton--sizeL",
1414
".spectrum-ClearButton.spectrum-ClearButton--sizeS",
1515
".spectrum-ClearButton.spectrum-ClearButton--sizeXL",
16-
".spectrum-ClearButton:active",
17-
".spectrum-ClearButton:active .spectrum-ClearButton-fill",
16+
".spectrum-ClearButton.spectrum-ClearButton--staticBlack",
17+
".spectrum-ClearButton.spectrum-ClearButton--staticWhite",
1818
".spectrum-ClearButton:disabled",
19-
".spectrum-ClearButton:focus-visible",
20-
".spectrum-ClearButton:focus-visible .spectrum-ClearButton-fill",
21-
".spectrum-ClearButton:focus-within",
22-
".spectrum-ClearButton:focus-within .spectrum-ClearButton-fill",
23-
".spectrum-ClearButton:hover",
24-
".spectrum-ClearButton:hover .spectrum-ClearButton-fill",
19+
".spectrum-ClearButton:disabled .spectrum-ClearButton-icon",
2520
".spectrum-ClearButton:not(:disabled)",
26-
".spectrum-ClearButton[focus-within].js-focus-within",
27-
".spectrum-ClearButton[focus-within].js-focus-within .spectrum-ClearButton-fill"
21+
".spectrum-ClearButton:not(:disabled):active",
22+
".spectrum-ClearButton:not(:disabled):active .spectrum-ClearButton-fill",
23+
".spectrum-ClearButton:not(:disabled):focus-visible",
24+
".spectrum-ClearButton:not(:disabled):focus-visible .spectrum-ClearButton-fill",
25+
".spectrum-ClearButton:not(:disabled):focus-within",
26+
".spectrum-ClearButton:not(:disabled):focus-within .spectrum-ClearButton-fill",
27+
".spectrum-ClearButton:not(:disabled):hover",
28+
".spectrum-ClearButton:not(:disabled):hover .spectrum-ClearButton-fill",
29+
".spectrum-ClearButton:not(:disabled)[focus-within].js-focus-within",
30+
".spectrum-ClearButton:not(:disabled)[focus-within].js-focus-within .spectrum-ClearButton-fill"
2831
],
2932
"modifiers": [
3033
"--mod-clear-button-background-color",
@@ -54,11 +57,10 @@
5457
"--spectrum-clear-button-background-color-quiet",
5558
"--spectrum-clear-button-height",
5659
"--spectrum-clear-button-icon-color",
60+
"--spectrum-clear-button-icon-color-disabled",
5761
"--spectrum-clear-button-icon-color-down",
58-
"--spectrum-clear-button-icon-color-down-disabled",
5962
"--spectrum-clear-button-icon-color-down-over-background",
6063
"--spectrum-clear-button-icon-color-hover",
61-
"--spectrum-clear-button-icon-color-hover-disabled",
6264
"--spectrum-clear-button-icon-color-hover-over-background",
6365
"--spectrum-clear-button-icon-color-key-focus",
6466
"--spectrum-clear-button-icon-color-key-focus-over-background",
@@ -72,6 +74,8 @@
7274
"--spectrum-component-height-300",
7375
"--spectrum-component-height-75",
7476
"--spectrum-disabled-content-color",
77+
"--spectrum-disabled-static-black-content-color",
78+
"--spectrum-disabled-static-white-content-color",
7579
"--spectrum-gray-200",
7680
"--spectrum-gray-300",
7781
"--spectrum-gray-400",
@@ -91,5 +95,8 @@
9195
"--system-spectrum-clearbutton-spectrum-clear-button-background-color-key-focus"
9296
],
9397
"passthroughs": [],
94-
"high-contrast": ["--highcontrast-clear-button-icon-color-hover"]
98+
"high-contrast": [
99+
"--highcontrast-clear-button-icon-color-disabled",
100+
"--highcontrast-clear-button-icon-color-hover"
101+
]
95102
}

0 commit comments

Comments
 (0)