bug(mat-menu-item): iconPositionEnd and matButtonIcon is not available for mat-menu-item
- 主要言語
- 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
14.x
### Description
Since there was a change in mat-menu-item, that all icons are moved to the start, it is not possible anymore to place icons after the label. This breaks our current design (we have icons in front and after the label)
v15: https://github.com/angular/components/blob/15.2.x/src/material/menu/menu-item.html
v14: https://github.com/angular/components/blob/14.2.x/src/material/menu/menu-item.html
The solution would be to also support `iconPositionEnd` for mat-menu-items as it was done for mat-button.
https://github.com/angular/components/blob/15.2.x/src/material/button/button.html#L11
`matButtonIcon` should be supported as well.
_Bonus_: It would probably be even better to _not_ pull the icons automatically to a certain position (like it was before) or to have an additional attribute, so that an icon is not effected by the pulling (e.g. `iconPositionInline` --> `...`). I am not sure, if this is possible with the new mdc and the change happened in the first place, because the new css-class effected the icons. Nevertheless, iconPositionEnd should be possible.
Thank you!
~Manuel
### Reproduction
```
settings
Settings
open_in_new
```
### Expected Behavior
It should be possible to have buttons at the start and at the end (or inline).
### Actual Behavior
Both/all icons are in the start.
### Environment
- Angular: 15
- CDK/Material: 15
- Browser(s): all
- Operating System (e.g. Windows, macOS, Ubuntu): all
コントリビューションガイド
調査の方向性
v15.2.x と v14.2.x のリファレンスで src/material/menu/menu-item.html を比較し、その後、関連する src/material/button/button.html の例で iconPositionEnd と matButtonIcon を確認します。ラベルの前後にアイコンがある、提供された mat-menu-item の再現例を使用します。終了アイコンが末尾に残り、開始アイコンが先頭に残ることを確認できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- angular, typescript
- 領域
- frontend
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 45/100