angular / angular/components

bug(MatSelectionList): Spacing too large between checkbox / radio when set to togglePosition="before"

Open
#27,775 2 comments 0 reactions 0 assignees View on GitHub
area: material/list P4
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

15

### Description

Using a `` component, and setting the options with `` results in too much space between the toggle and the content. According to [the Material spec](https://m3.material.io/components/lists/specs#ff521a61-bab9-4e75-bded-dee94fd31f61) for lists, the spacing between toggle and content should be 16px. Currently its about 35px all in.

Screenshot from stackblitz:
![image](https://github.com/angular/components/assets/8093223/c0e21709-ba3e-46df-bbfa-c42fa3906cec)

Screenshot from the Material spec:
![image](https://github.com/angular/components/assets/8093223/622866bf-c97c-4639-bf56-b089fdee30f5)

### Reproduction

StackBlitz link: https://stackblitz.com/edit/v9ccty?file=src%2Fapp%2Flist-selection-example.html

### Expected Behavior

There should be a total of 16px of space between the toggle and the content.

### Actual Behavior

There is approximately 35px of space between the toggle and the content.

### Environment

Angular CLI: 16.2.0
Node: 18.14.0
Package Manager: yarn 3.2.0
OS: darwin arm64

Angular: 16.2.0
... animations, cdk, cli, common, compiler, compiler-cli, core
... forms, language-service, localize, material
... material-moment-adapter, platform-browser
... platform-browser-dynamic, router

Package Version
----------------------------------------------------------
@angular-devkit/architect 0.1602.0
@angular-devkit/build-angular 16.2.0
@angular-devkit/core 16.2.0
@angular-devkit/schematics 16.2.0
@angular-devkit/schematics-cli 16.2.0
@angular/flex-layout 15.0.0-beta.42
@schematics/angular 16.2.0
ng-packagr 16.2.0
rxjs 7.8.1
typescript 5.1.6
zone.js 0.13.1

Contributor guide

Open the contributing guide

Research direction

Start with the linked StackBlitz reproduction, especially src/app/list-selection-example.html, and inspect the mat-selection-list behavior when togglePosition="before". Compare the rendered spacing with the Material list specification. Done means the toggle-to-content spacing is 16px without regressing the selection-list layout.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.