Skip to content

Commit fdefae0

Browse files
authored
fix(material-experimental/button): ripple color should match state color (#17066)
1 parent 0d7e038 commit fdefae0

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/material-experimental/mdc-button/_mdc-button.scss

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
@import '@material/fab/mixins';
44
@import '@material/ripple/mixins';
55
@import '@material/icon-button/mixins';
6+
@import '../../material/core/ripple/ripple';
67
@import '../mdc-helpers/mdc-helpers';
78

89
// Applies the disabled theme color to the text color.
@@ -23,6 +24,17 @@
2324
}
2425
}
2526

27+
// The MDC button's ripple ink color is based on the theme color, not on the foreground base
28+
// which is what the ripple mixin uses. This creates a new theme that sets the color to the
29+
// foreground base to appropriately color the ink.
30+
@mixin _mat-button-ripple-ink-color($mdcColor) {
31+
@include mat-ripple-theme((
32+
foreground: (
33+
base: mdc-theme-prop-value($mdcColor)
34+
),
35+
));
36+
}
37+
2638
// Applies the disabled theme background color for raised buttons. Value is taken from
2739
// mixin `mdc-button--filled`.
2840
// TODO(andrewseguin): Discuss with the MDC team about providing a variable for the 0.12 value
@@ -48,16 +60,19 @@
4860
&.mat-primary {
4961
@include mdc-button-ink-color(primary, $query: $mat-theme-styles-query);
5062
@include mdc-states-base-color(primary, $query: $mat-theme-styles-query);
63+
@include _mat-button-ripple-ink-color(primary);
5164
}
5265

5366
&.mat-accent {
5467
@include mdc-button-ink-color(secondary, $query: $mat-theme-styles-query);
5568
@include mdc-states-base-color(secondary, $query: $mat-theme-styles-query);
69+
@include _mat-button-ripple-ink-color(secondary);
5670
}
5771

5872
&.mat-warn {
5973
@include mdc-button-ink-color(error, $query: $mat-theme-styles-query);
6074
@include mdc-states-base-color(error, $query: $mat-theme-styles-query);
75+
@include _mat-button-ripple-ink-color(error);
6176
}
6277
}
6378

@@ -74,18 +89,21 @@
7489
@include mdc-button-container-fill-color(primary, $query: $mat-theme-styles-query);
7590
@include mdc-button-ink-color(on-primary, $query: $mat-theme-styles-query);
7691
@include mdc-states-base-color(on-primary, $query: $mat-theme-styles-query);
92+
@include _mat-button-ripple-ink-color(on-primary);
7793
}
7894

7995
&.mat-accent {
8096
@include mdc-button-container-fill-color(secondary, $query: $mat-theme-styles-query);
8197
@include mdc-button-ink-color(on-secondary, $query: $mat-theme-styles-query);
8298
@include mdc-states-base-color(on-secondary, $query: $mat-theme-styles-query);
99+
@include _mat-button-ripple-ink-color(on-secondary);
83100
}
84101

85102
&.mat-warn {
86103
@include mdc-button-container-fill-color(error, $query: $mat-theme-styles-query);
87104
@include mdc-button-ink-color(on-error, $query: $mat-theme-styles-query);
88105
@include mdc-states-base-color(on-error, $query: $mat-theme-styles-query);
106+
@include _mat-button-ripple-ink-color(on-error);
89107
}
90108

91109
@include _mat-button-apply-disabled-style() {
@@ -153,18 +171,21 @@
153171
@include mdc-states-base-color(on-primary, $query: $mat-theme-styles-query);
154172
@include mdc-fab-container-color(primary, $query: $mat-theme-styles-query);
155173
@include mdc-fab-ink-color(on-primary, $query: $mat-theme-styles-query);
174+
@include _mat-button-ripple-ink-color(on-primary);
156175
}
157176

158177
&.mat-accent {
159178
@include mdc-states-base-color(on-secondary, $query: $mat-theme-styles-query);
160179
@include mdc-fab-container-color(secondary, $query: $mat-theme-styles-query);
161180
@include mdc-fab-ink-color(on-secondary, $query: $mat-theme-styles-query);
181+
@include _mat-button-ripple-ink-color(on-secondary);
162182
}
163183

164184
&.mat-warn {
165185
@include mdc-states-base-color(on-error, $query: $mat-theme-styles-query);
166186
@include mdc-fab-container-color(error, $query: $mat-theme-styles-query);
167187
@include mdc-fab-ink-color(on-error, $query: $mat-theme-styles-query);
188+
@include _mat-button-ripple-ink-color(on-error);
168189
}
169190

170191
@include _mat-button-apply-disabled-style() {
@@ -197,16 +218,19 @@
197218
&.mat-primary {
198219
@include mdc-states-base-color(primary, $query: $mat-theme-styles-query);
199220
@include mdc-icon-button-ink-color(primary, $query: $mat-theme-styles-query);
221+
@include _mat-button-ripple-ink-color(primary);
200222
}
201223

202224
&.mat-accent {
203225
@include mdc-states-base-color(secondary, $query: $mat-theme-styles-query);
204226
@include mdc-icon-button-ink-color(secondary, $query: $mat-theme-styles-query);
227+
@include _mat-button-ripple-ink-color(secondary);
205228
}
206229

207230
&.mat-warn {
208231
@include mdc-states-base-color(error, $query: $mat-theme-styles-query);
209232
@include mdc-icon-button-ink-color(error, $query: $mat-theme-styles-query);
233+
@include _mat-button-ripple-ink-color(error);
210234
}
211235

212236
@include _mat-button-apply-disabled-style() {

0 commit comments

Comments
 (0)