bug(Dialog, Form Field): The form field outline appearance label is cut of when it's the first element in a dialog
- 主要言語
- 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:

I'm using the mat-dialog-title and mat-dialog-content directives which will set the top padding of the content part to 0px

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