Skip to content

Commit 15e4802

Browse files
mmalerbawagnermaciel
authored andcommitted
fix(material-experimental/mdc-checkbox): fix broken dark theme (#20940)
(cherry picked from commit 3e9a26c)
1 parent 0fa0b45 commit 15e4802

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

src/material-experimental/mdc-checkbox/_checkbox-theme.scss

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
@use '@material/checkbox/checkbox-theme' as checkbox-theme;
2+
@use '@material/ripple/ripple-theme' as ripple-theme;
3+
14
@import '@material/checkbox/mixins.import';
25
@import '@material/checkbox/variables.import';
36
@import '@material/form-field/mixins.import';
@@ -8,15 +11,19 @@
811
// Mixin that includes the checkbox theme styles with a given palette.
912
// By default, the MDC checkbox always uses the `secondary` palette.
1013
@mixin _mdc-checkbox-styles-with-color($color) {
11-
$orig-mdc-checkbox-mark-color: $mdc-checkbox-mark-color;
12-
$mdc-checkbox-mark-color: mdc-theme-prop-value(on-#{$color}) !global;
13-
$orig-mdc-checkbox-baseline-theme-color: $mdc-checkbox-baseline-theme-color;
14-
$mdc-checkbox-baseline-theme-color: $color !global;
15-
16-
@include mdc-checkbox-without-ripple($query: $mat-theme-styles-query);
17-
18-
$mdc-checkbox-mark-color: $orig-mdc-checkbox-mark-color !global;
19-
$mdc-checkbox-baseline-theme-color: $orig-mdc-checkbox-baseline-theme-color !global;
14+
@include checkbox-theme.theme((
15+
density-scale: null,
16+
checkmark-color: mdc-theme-prop-value(on-#{$color}),
17+
container-checked-color: $color,
18+
container-checked-hover-color: null,
19+
container-disabled-color: rgba(mdc-theme-prop-value(on-surface), 0.38),
20+
outline-color: rgba(mdc-theme-prop-value(on-surface), 0.54),
21+
outline-hover-color: null,
22+
ripple-color: mdc-theme-prop-value(on-surface),
23+
ripple-opacity: ripple-theme.$dark-ink-opacities,
24+
ripple-checked-color: $color,
25+
ripple-checked-opacity: ripple-theme.$dark-ink-opacities,
26+
));
2027
}
2128

2229
@mixin mat-mdc-checkbox-color($config-or-theme) {
@@ -34,8 +41,10 @@
3441
$mdc-checkbox-border-color: rgba(mdc-theme-prop-value(on-surface), 0.54) !global;
3542
$mdc-checkbox-disabled-color: rgba(mdc-theme-prop-value(on-surface), 0.26) !global;
3643

37-
@include _mdc-checkbox-styles-with-color(primary);
38-
@include mdc-form-field-core-styles($query: $mat-theme-styles-query);
44+
.mat-mdc-checkbox {
45+
@include _mdc-checkbox-styles-with-color(primary);
46+
@include mdc-form-field-core-styles($query: $mat-theme-styles-query);
47+
}
3948

4049
// MDC's checkbox doesn't support a `color` property. We add support for it by adding a CSS
4150
// class for accent and warn style, and applying the appropriate overrides below. Since we don't

0 commit comments

Comments
 (0)