Skip to content

Commit f2c6e4d

Browse files
authored
fix(material/sidenav): handle mixed sidenav and drawer (#33274)
Fixes that if we mix something like `mat-drawer-container` and `mat-sidenav`, the navigation ends up in the wrong slot and gets caught by the `inert` attribute when it's opened.
1 parent e54c033 commit f2c6e4d

3 files changed

Lines changed: 8 additions & 12 deletions

File tree

goldens/material/sidenav/index.api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ export class MatDrawerContainer implements AfterContentInit, DoCheck, OnDestroy
112112
// (undocumented)
113113
_userContent: MatDrawerContent;
114114
// (undocumented)
115-
static ɵcmp: i0.ɵɵComponentDeclaration<MatDrawerContainer, "mat-drawer-container", ["matDrawerContainer"], { "autosize": { "alias": "autosize"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; }, { "backdropClick": "backdropClick"; }, ["_content", "_allDrawers"], ["mat-drawer", "mat-drawer-content", "*"], true, never>;
115+
static ɵcmp: i0.ɵɵComponentDeclaration<MatDrawerContainer, "mat-drawer-container", ["matDrawerContainer"], { "autosize": { "alias": "autosize"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; }, { "backdropClick": "backdropClick"; }, ["_content", "_allDrawers"], ["mat-drawer, mat-sidenav", "mat-drawer-content, mat-sidenav-content", "*"], true, never>;
116116
// (undocumented)
117117
static ɵfac: i0.ɵɵFactoryDeclaration<MatDrawerContainer, never>;
118118
}
@@ -159,7 +159,7 @@ export class MatSidenavContainer extends MatDrawerContainer {
159159
// (undocumented)
160160
_content: MatSidenavContent;
161161
// (undocumented)
162-
static ɵcmp: i0.ɵɵComponentDeclaration<MatSidenavContainer, "mat-sidenav-container", ["matSidenavContainer"], {}, {}, ["_content", "_allDrawers"], ["mat-sidenav", "mat-sidenav-content", "*"], true, never>;
162+
static ɵcmp: i0.ɵɵComponentDeclaration<MatSidenavContainer, "mat-sidenav-container", ["matSidenavContainer"], {}, {}, ["_content", "_allDrawers"], ["mat-drawer, mat-sidenav", "mat-drawer-content, mat-sidenav-content", "*"], true, never>;
163163
// (undocumented)
164164
static ɵfac: i0.ɵɵFactoryDeclaration<MatSidenavContainer, never>;
165165
}

src/material/sidenav/drawer-container.html

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,11 @@
33
[class.mat-drawer-shown]="_isShowingBackdrop()"></div>
44
}
55

6-
<ng-content select="mat-drawer"></ng-content>
7-
8-
<ng-content select="mat-drawer-content">
9-
</ng-content>
6+
<ng-content select="mat-drawer, mat-sidenav"/>
7+
<ng-content select="mat-drawer-content, mat-sidenav-content"/>
108

119
@if (!_content) {
1210
<mat-drawer-content>
13-
<ng-content></ng-content>
11+
<ng-content/>
1412
</mat-drawer-content>
1513
}

src/material/sidenav/sidenav-container.html

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,11 @@
33
[class.mat-drawer-shown]="_isShowingBackdrop()"></div>
44
}
55

6-
<ng-content select="mat-sidenav"></ng-content>
7-
8-
<ng-content select="mat-sidenav-content">
9-
</ng-content>
6+
<ng-content select="mat-drawer, mat-sidenav"/>
7+
<ng-content select="mat-drawer-content, mat-sidenav-content"/>
108

119
@if (!_content) {
1210
<mat-sidenav-content>
13-
<ng-content></ng-content>
11+
<ng-content/>
1412
</mat-sidenav-content>
1513
}

0 commit comments

Comments
 (0)