Skip to content

Commit 9d73c98

Browse files
authored
fix(material/menu): missing panelClass getter (#33191)
1 parent a3479f7 commit 9d73c98

3 files changed

Lines changed: 14 additions & 1 deletion

File tree

goldens/material/menu/index.api.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ export class MatMenu implements AfterContentInit, MatMenuPanel<MatMenuItem>, OnI
120120
overlapTrigger: boolean;
121121
overlayPanelClass: string | string[];
122122
_panelAnimationState: 'void' | 'enter';
123+
get panelClass(): string;
123124
set panelClass(classes: string);
124125
// (undocumented)
125126
readonly panelId: string;

src/material/menu/menu.spec.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,15 @@ describe('MatMenu', () => {
568568
expect(panel.classList).toContain('custom-two');
569569
});
570570

571+
it('should expose the configured classes via the getter', () => {
572+
const fixture = TestBed.createComponent(SimpleMenu);
573+
fixture.componentInstance.panelClass = 'custom-one custom-two';
574+
fixture.detectChanges();
575+
576+
expect(fixture.componentInstance.menu.panelClass).toBe('custom-one custom-two');
577+
expect(fixture.componentInstance.menu.classList).toBe('custom-one custom-two');
578+
});
579+
571580
it('should set the "menu" role on the overlay panel', () => {
572581
const fixture = TestBed.createComponent(SimpleMenu);
573582
fixture.detectChanges();

src/material/menu/menu.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,9 @@ export class MatMenu implements AfterContentInit, MatMenuPanel<MatMenuItem>, OnI
221221
* @param classes list of class names
222222
*/
223223
@Input('class')
224+
get panelClass(): string {
225+
return this._previousPanelClass;
226+
}
224227
set panelClass(classes: string) {
225228
const previousPanelClass = this._previousPanelClass;
226229
const newClassList = {...this._classList};
@@ -243,7 +246,7 @@ export class MatMenu implements AfterContentInit, MatMenuPanel<MatMenuItem>, OnI
243246

244247
this._classList = newClassList;
245248
}
246-
private _previousPanelClass!: string;
249+
private _previousPanelClass: string = '';
247250

248251
/**
249252
* This method takes classes set on the host mat-menu element and applies them on the

0 commit comments

Comments
 (0)