components
components copied to clipboard
Wrong checkbox checkmark color when palettes are set with CSS variables
Is this a regression?
- [X] Yes, this behavior used to work in the previous version
The previous version in which this bug was not present was
No response
Description
When defining palettes (accent or primary) with CSS variables, the chekmark color of mdc checkboxes is not the right one.
Indeed, on this line, type-of($value) == 'color' is always false when palettes are defined with CSS variables.
When palettes are defined directly with web or hex colors, the mdc checkbox chekmark color is correct.
Reproduction
Steps to reproduce:
- Create an Angular project with angular 16
- Run the command
ng add @angular/material @angular/cdk. - Ad custom theme by defininng palette with CSS variables
- Add material mdc checkbox to a template
You can reproduce the problem with this demo on Stackblitz.
Expected Behavior
When color 500 of the accent palette is dark, the checkmark of the checkboxes must be white.
Actual Behavior
When color 500 of the accent palette is define by a CSS variable, the checkmark of the checkboxes is always black in a light-theme.
Environment
- Angular: v16.0.0
- CDK/Material: v16.0.1
- Browser(s): all
- Operating System : Ubuntu
Hi all,
Any chance this get merged starting v16 of Angular ?
For anyone else having the problem on Angular Material 17+, I managed to solve it by adding this line in my custom theme.scss file:
// custom theme here....
// Include theme styles for core and each component used in your app.
// Alternatively, you can import and @include the theme mixins for each component
// that you are using.
@include mat.all-component-themes($your-theme);
+@include mat.all-component-colors($your-theme);