angular / angular/components

bug(MatList): matListItemMeta forces color onto any element under it

Open
#27,144 1 comment 0 reactions 0 assignees View on GitHub
area: material/list P3
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

Description

### 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

14.3.0

### Description

After the material migration to Angular 15, we have lost the ability to freely change the color elements within the matListItemMeta directive.

This means that if you put two buttons in an element of the list, one enabled and one disabled, they will both appear to be of the same color. This makes buttons appear disabled even when they're not.

Of course this directive didn't exist in Angular 14, but it is the only place to put these elements in this version.

I understand this might have been on purpose as it appears that this section might only be intended for text, but it makes a great drawer for buttons that perform actions on elements of the list, and it used to work perfectly for this.

### Reproduction

This happens both in Angular 15 and 16

Angular 15:
https://stackblitz.com/edit/components-issue-gvbxke?file=src%2Fapp%2Fexample-component.html

Angular 16:
https://stackblitz.com/edit/angular-16-material-starter-upzbq5?file=src%2Fapp%2Fapp.module.ts,src%2Fapp%2Fapp.component.html

### Expected Behavior

When putting buttons or icons inside the matListItemMeta they should keep their color.

### Actual Behavior

When putting buttons or icons inside the matListItemMeta they change their color to grey (same exact color as a disabled button), affecting the usability of buttons.

### Environment

- Angular: 15&16
- CDK/Material: 15.2.9 (latest)
Package Manager: npm 8.19.2
- Operating System : Ubuntu 20.04.6 LTS

Contributor guide

Open the contributing guide

Research direction

Start with the linked Angular 15 and Angular 16 StackBlitz reproductions, especially example-component.html, app.module.ts, and app.component.html, to confirm how matListItemMeta affects nested buttons and icons. Trace the matListItemMeta styling and verify that enabled and disabled controls retain their intended colors while the existing list behavior remains intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.