components icon indicating copy to clipboard operation
components copied to clipboard

bug(button-toggle): Mixin does not support color variants

Open martinboue opened this issue 1 year ago • 0 comments
trafficstars

Is this a regression?

  • [ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was

No response

Description

According to documentation, the MatButtonToggle component can be stylized using 4 color variants:

Component Supported $color-variant values Default
Button-toggle primary, secondary, tertiary, error secondary

But when I use the mixin @include mat.button-toggle-color(theme.$light-theme, $color-variant: primary); I get the following error:

"Invalid color variant: primary. Mixin does not support color variants."
    ╷
123 │       token-utils.get-tokens-for($tokens, tokens-mat-standard-button-toggle.$prefix, $options...);
    │       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ╵
  node_modules\@angular\material\button-toggle\_button-toggle-theme.scss 123:7  -theme-from-tokens()
  node_modules\@angular\material\button-toggle\_button-toggle-theme.scss 38:5   color()
  src\styles.scss 36:2                                                          root stylesheet

Reproduction

Setup a regular Material 3 project and copy/paste:

@use '@angular/material' as mat;

:root {
   @include mat.button-toggle-theme($theme);
   @include mat.button-toggle-color($theme, $color-variant: primary);
}

Replace $theme with a M3 theme.

Expected Behavior

All styles for color variant should be included.

Actual Behavior

Error is thrown.

Environment

  • Angular: 18.1.3
  • CDK/Material: 18.1.3

martinboue avatar Aug 06 '24 22:08 martinboue