Skip to content

Commit 6dc8f7e

Browse files
committed
fix(material/dialog): mark dialog content as scrollable (#28963)
Adds `CdkScrollable` to `MatDialogContent` so that overlays inside of it can reposition on scroll. Fixes #28936. (cherry picked from commit d0a2d3a)
1 parent a4fc0a0 commit 6dc8f7e

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

src/material/dialog/dialog-content-directives.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
Optional,
1717
SimpleChanges,
1818
} from '@angular/core';
19+
import {CdkScrollable} from '@angular/cdk/scrolling';
1920

2021
import {MatDialog} from './dialog';
2122
import {_closeDialogVia, MatDialogRef} from './dialog-ref';
@@ -159,6 +160,7 @@ export class MatDialogTitle extends MatDialogLayoutSection {
159160
selector: `[mat-dialog-content], mat-dialog-content, [matDialogContent]`,
160161
host: {'class': 'mat-mdc-dialog-content mdc-dialog__content'},
161162
standalone: true,
163+
hostDirectives: [CdkScrollable],
162164
})
163165
export class MatDialogContent {}
164166

src/material/dialog/dialog.spec.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,11 @@ describe('MDC-based MatDialog', () => {
8686
{provide: Location, useClass: SpyLocation},
8787
{
8888
provide: ScrollDispatcher,
89-
useFactory: () => ({scrolled: () => scrolledSubject}),
89+
useFactory: () => ({
90+
scrolled: () => scrolledSubject,
91+
register: () => {},
92+
deregister: () => {},
93+
}),
9094
},
9195
],
9296
});

tools/public_api_guard/material/dialog.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ import { FocusMonitor } from '@angular/cdk/a11y';
1919
import { FocusOrigin } from '@angular/cdk/a11y';
2020
import { FocusTrapFactory } from '@angular/cdk/a11y';
2121
import * as i0 from '@angular/core';
22-
import * as i1 from '@angular/cdk/dialog';
22+
import * as i1 from '@angular/cdk/scrolling';
23+
import * as i1_2 from '@angular/cdk/dialog';
2324
import * as i2 from '@angular/cdk/overlay';
2425
import * as i3 from '@angular/cdk/portal';
2526
import * as i4 from '@angular/material/core';
@@ -211,7 +212,7 @@ export class MatDialogContainer extends CdkDialogContainer<MatDialogConfig> impl
211212
// @public
212213
export class MatDialogContent {
213214
// (undocumented)
214-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatDialogContent, "[mat-dialog-content], mat-dialog-content, [matDialogContent]", never, {}, {}, never, never, true, never>;
215+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatDialogContent, "[mat-dialog-content], mat-dialog-content, [matDialogContent]", never, {}, {}, never, never, true, [{ directive: typeof i1.CdkScrollable; inputs: {}; outputs: {}; }]>;
215216
// (undocumented)
216217
static ɵfac: i0.ɵɵFactoryDeclaration<MatDialogContent, never>;
217218
}
@@ -223,7 +224,7 @@ export class MatDialogModule {
223224
// (undocumented)
224225
static ɵinj: i0.ɵɵInjectorDeclaration<MatDialogModule>;
225226
// (undocumented)
226-
static ɵmod: i0.ɵɵNgModuleDeclaration<MatDialogModule, never, [typeof i1.DialogModule, typeof i2.OverlayModule, typeof i3.PortalModule, typeof i4.MatCommonModule, typeof i5.MatDialogContainer, typeof i6.MatDialogClose, typeof i6.MatDialogTitle, typeof i6.MatDialogActions, typeof i6.MatDialogContent], [typeof i4.MatCommonModule, typeof i5.MatDialogContainer, typeof i6.MatDialogClose, typeof i6.MatDialogTitle, typeof i6.MatDialogActions, typeof i6.MatDialogContent]>;
227+
static ɵmod: i0.ɵɵNgModuleDeclaration<MatDialogModule, never, [typeof i1_2.DialogModule, typeof i2.OverlayModule, typeof i3.PortalModule, typeof i4.MatCommonModule, typeof i5.MatDialogContainer, typeof i6.MatDialogClose, typeof i6.MatDialogTitle, typeof i6.MatDialogActions, typeof i6.MatDialogContent], [typeof i4.MatCommonModule, typeof i5.MatDialogContainer, typeof i6.MatDialogClose, typeof i6.MatDialogTitle, typeof i6.MatDialogActions, typeof i6.MatDialogContent]>;
227228
}
228229

229230
// @public

0 commit comments

Comments
 (0)