Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug(tabs): customizable tokens background-color and foreground-color have no effect #30186

Open
1 task
ivibe opened this issue Dec 14, 2024 · 4 comments
Open
1 task
Labels
area: material/tabs area: theming P3 An issue that is relevant to core functions, but does not impede progress. Important, but not urgent

Comments

@ivibe
Copy link

ivibe commented Dec 14, 2024

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

When trying to override tabs background and foreground colors

  @include mat.tabs-overrides(
    (
      background-color: red,
      foreground-color: white,
    )
  );

nothing happens.

Overridden colors take effect only when apply backgroundColor directive on tabs component.

Moreover after applying backgroundColor directive customizable tokens active-label-text-color and active-indicator-color aren't being applied anymore.

  @include mat.tabs-overrides(
    (
      background-color: red,
      foreground-color: white,
      active-label-text-color: green,
      active-indicator-color: green,
    )
  );

In this case using directive color on tabs component solve the problem.

Reproduction

StackBlitz link: https://stackblitz.com/edit/2xvcvpsg
Steps to reproduce:
It's self-explanatory

Expected Behavior

Customizable tokens should apply regardless directives backgroundColor and color

Actual Behavior

Customizable tokens are applied only when directives backgroundColor and color are used on tab component.

Environment

Angular CLI: 19.0.4
Node: 22.11.0
Package Manager: pnpm 9.13.2
OS: linux x64

Angular: 19.0.3
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... platform-server, router

Package Version

@angular-devkit/architect 0.1900.4 (cli-only)
@angular-devkit/build-angular 19.0.4
@angular-devkit/core 19.0.4
@angular-devkit/schematics 19.0.4
@angular/cdk 19.0.2
@angular/cli 19.0.4
@angular/material 19.0.2
@angular/material-luxon-adapter 19.0.2
@angular/ssr 19.0.4
@schematics/angular 19.0.4
rxjs 7.8.1
typescript 5.6.3
webpack 5.97.1
zone.js 0.15.0

@ivibe ivibe added the needs triage This issue needs to be triaged by the team label Dec 14, 2024
@amysorto
Copy link
Contributor

Verified this is issue is occuring for the tab style override mixin

@amysorto amysorto added P3 An issue that is relevant to core functions, but does not impede progress. Important, but not urgent area: material/tabs area: theming and removed needs triage This issue needs to be triaged by the team labels Dec 16, 2024
@karmasakshi
Copy link

Overrides work if you add backgroundColor="primary" | "accent" | "warn" to the element.

@dark0ni
Copy link

dark0ni commented Dec 19, 2024

I have the same problem, materials overrides my styling for example with:

:root {
    @include mat.tabs-overrides((
        active-indicator-color: orange,
        divider-color: red,
        background-color: red,
        foreground-color: red
    ));
}

it shows in browser debugger but overwritten by material itself.
over the var also dont work:

document.documentElement.style.setProperty(--mat-tab-header-active-label-text-color, this.theme.themeColors.primaryColor);
--mat-tab-header-active-label-text-color material overwrites my change. For button everything works fine.

There also other components affected like this:

Image

i think its a css order problem that override has no effect

@AnkitaSood
Copy link

.mat-mdc-tab .mdc-tab__ripple::before has opacity:0 which is why values of token active-ripple-color is not reflecting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: material/tabs area: theming P3 An issue that is relevant to core functions, but does not impede progress. Important, but not urgent
Projects
None yet
Development

No branches or pull requests

5 participants