angular / angular/components

bug(Dialog, Form Field): The form field outline appearance label is cut of when it's the first element in a dialog

Open
#26,352 12 comments 10 reactions 0 assignees View on GitHub
area: material/dialog area: material/form-field 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

_No response_

### Description

I'm not sure if this is a regression as we used the legacy style form fields before we updated to Angular (material) v15

When placing a form field with appearance="outline" as the first element in a dialog I get the following result:
![image](https://user-images.githubusercontent.com/40668465/210241509-5e6783b6-3063-456b-b3fc-be7b1f757a91.png)

I'm using the mat-dialog-title and mat-dialog-content directives which will set the top padding of the content part to 0px
![image](https://user-images.githubusercontent.com/40668465/210242034-68ab4fa8-964c-49eb-86db-73c137dc7d2b.png)

A simple workaround is to set a top padding of 5px, but this should work out of the box.

### Reproduction

Steps to reproduce:
1. Open the following [Stackblitz](https://stackblitz.com/edit/angular-rq3u2y?file=src%2Fapp%2Fdialog-overview-example-dialog.html) .
2. Click the Pick one button to open the dialog.
3. The dialog should focus the input and this shows the image.
4. Optional enter a value in the input field

### Expected Behavior

I would expect to be able to see the full label when a form field is the first element in a dialog.

### Actual Behavior

The top part of the label is cut off.

### Environment

Angular CLI: 15.0.3
Node: 16.13.1
Package Manager: npm 8.1.3
OS: win32 x64

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

Package Version
------------------------------------------------------------
@angular-devkit/architect 0.1500.3
@angular-devkit/build-angular 15.0.3
@angular-devkit/core 15.0.3
@angular-devkit/schematics 15.0.3
@angular/cdk 15.0.2
@angular/flex-layout 14.0.0-beta.41
@angular/material 15.0.2
@angular/material-moment-adapter 15.0.2
@schematics/angular 15.0.3
rxjs 7.6.0
typescript 4.8.4

Contributor guide

Open the contributing guide

Research direction

Start with the linked StackBlitz reproduction and the Angular Material dialog/form-field behavior involving mat-dialog-title, mat-dialog-content, and appearance="outline". Confirm the clipping when the field is focused as the first dialog element, then locate the relevant implementation and regression test. Done means the full label is visible without the 5px padding workaround and the behavior is covered by a test.

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.