Skip to content

Commit 6e0775d

Browse files
dfreedmcopybara-github
authored andcommitted
fix(button, fab): Ensure elevation is correct when focused and hovering
PiperOrigin-RevId: 500032153
1 parent bab6ebc commit 6e0775d

File tree

2 files changed

+41
-37
lines changed

2 files changed

+41
-37
lines changed

button/lib/_elevation.scss

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -27,38 +27,40 @@
2727
surface-tint-color: var(--_container-surface-tint-layer-color)
2828
)
2929
);
30-
}
3130

32-
.md3-button:hover {
33-
@include elevation.theme(
34-
(
35-
level: var(--_hover-container-elevation),
36-
)
37-
);
38-
}
31+
// apply elevation in order of focused, hovered, pressed, disabled
32+
// this ensures a button will have hover elevation after being focused
33+
&:focus {
34+
@include elevation.theme(
35+
(
36+
level: var(--_focus-container-elevation),
37+
)
38+
);
39+
}
3940

40-
.md3-button:focus {
41-
@include elevation.theme(
42-
(
43-
level: var(--_focus-container-elevation),
44-
)
45-
);
46-
}
41+
&:hover {
42+
@include elevation.theme(
43+
(
44+
level: var(--_hover-container-elevation),
45+
)
46+
);
47+
}
4748

48-
.md3-button:active {
49-
@include elevation.theme(
50-
(
51-
level: var(--_pressed-container-elevation),
52-
)
53-
);
54-
}
49+
&:active {
50+
@include elevation.theme(
51+
(
52+
level: var(--_pressed-container-elevation),
53+
)
54+
);
55+
}
5556

56-
.md3-button:disabled {
57-
@include elevation.theme(
58-
(
59-
level: var(--_disabled-container-elevation),
60-
)
61-
);
57+
&:disabled {
58+
@include elevation.theme(
59+
(
60+
level: var(--_disabled-container-elevation),
61+
)
62+
);
63+
}
6264
}
6365
}
6466

fab/lib/_shared.scss

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -81,35 +81,37 @@
8181
);
8282
}
8383

84-
&:hover {
85-
cursor: pointer;
86-
84+
// apply elevation in order of focused, hovered, pressed
85+
// this ensures a button will have hover elevation after being focused
86+
&:focus {
8787
@include elevation.theme(
8888
(
89-
level: var(--_hover-container-elevation),
89+
level: var(--_focus-container-elevation),
9090
)
9191
);
9292

9393
&.md3-fab--lowered {
9494
@include elevation.theme(
9595
(
96-
level: var(--_lowered-hover-container-elevation),
96+
level: var(--_lowered-focus-container-elevation),
9797
)
9898
);
9999
}
100100
}
101101

102-
&:focus {
102+
&:hover {
103+
cursor: pointer;
104+
103105
@include elevation.theme(
104106
(
105-
level: var(--_focus-container-elevation),
107+
level: var(--_hover-container-elevation),
106108
)
107109
);
108110

109111
&.md3-fab--lowered {
110112
@include elevation.theme(
111113
(
112-
level: var(--_lowered-focus-container-elevation),
114+
level: var(--_lowered-hover-container-elevation),
113115
)
114116
);
115117
}
@@ -158,7 +160,7 @@
158160
@include touch-target.touch-target();
159161
}
160162

161-
::slotted(*),
163+
.md3-fab__icon ::slotted(*),
162164
.md3-fab__icon {
163165
color: var(--_icon-color);
164166
font-size: var(--_icon-size);

0 commit comments

Comments
 (0)