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

オープン
#26,352 コメント 12 件 リアクション 10 件 担当者 0 名 GitHub で見る
area: material/dialog area: material/form-field P4
主要言語
TypeScript
スター
25k
フォーク
6.8k
平均マージ
1日 8時間
マージ済み PR(30日)
91

説明

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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

リンクされた StackBlitz の再現手順と、mat-dialog-title、mat-dialog-content、appearance="outline" に関係する Angular Material のダイアログ/フォームフィールドの挙動から始めます。ダイアログの最初の要素としてフィールドにフォーカスが当たったときにクリッピングが発生することを確認し、その後、該当する実装とリグレッションテストを特定します。5px の padding workaround なしでラベル全体が表示され、テストによってその挙動がカバーされていれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
angular, typescript
領域
frontend
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。