Skip to content

Commit

Permalink
fix(dialog,bottom-sheet): invert backdrop color on dark themes
Browse files Browse the repository at this point in the history
Similarly to how we handle the sidenav backdrop and ripples, these changes invert the color for the dialog and bottom sheet backdrops in dark themes.
  • Loading branch information
crisbeto committed Nov 18, 2018
1 parent 6d7f417 commit 5bbb291
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 6 deletions.
2 changes: 1 addition & 1 deletion src/dev-app/dialog/dialog-demo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export class DialogDemo {
disableClose: false,
panelClass: 'custom-overlay-pane-class',
hasBackdrop: true,
backdropClass: '',
backdropClass: defaultDialogConfig.backdropClass,
width: '',
height: '',
minWidth: '',
Expand Down
5 changes: 5 additions & 0 deletions src/lib/bottom-sheet/_bottom-sheet-theme.scss
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,17 @@
@mixin mat-bottom-sheet-theme($theme) {
$background: map-get($theme, background);
$foreground: map-get($theme, foreground);
$backdrop-color: invert(mat-color($background, card, 0.288));

.mat-bottom-sheet-container {
@include _mat-theme-elevation(16, $theme);
background: mat-color($background, dialog);
color: mat-color($foreground, text);
}

.mat-bottom-sheet-backdrop {
background: $backdrop-color;
}
}

@mixin mat-bottom-sheet-typography($config) {
Expand Down
2 changes: 1 addition & 1 deletion src/lib/bottom-sheet/bottom-sheet-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export class MatBottomSheetConfig<D = any> {
hasBackdrop?: boolean = true;

/** Custom class for the backdrop. */
backdropClass?: string;
backdropClass?: string = 'mat-bottom-sheet-backdrop';

/** Whether the user can use escape or clicking outside to close the bottom sheet. */
disableClose?: boolean = false;
Expand Down
5 changes: 5 additions & 0 deletions src/lib/dialog/_dialog-theme.scss
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,17 @@
@mixin mat-dialog-theme($theme) {
$background: map-get($theme, background);
$foreground: map-get($theme, foreground);
$backdrop-color: invert(mat-color($background, card, 0.288));

.mat-dialog-container {
@include _mat-theme-elevation(24, $theme);
background: mat-color($background, dialog);
color: mat-color($foreground, text);
}

.mat-dialog-backdrop {
background: $backdrop-color;
}
}

@mixin mat-dialog-typography($config) {
Expand Down
2 changes: 1 addition & 1 deletion src/lib/dialog/dialog-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ export class MatDialogConfig<D = any> {
hasBackdrop?: boolean = true;

/** Custom class for the backdrop, */
backdropClass?: string = '';
backdropClass?: string = 'mat-dialog-backdrop';

/** Whether the user can use escape or clicking on the backdrop to close the modal. */
disableClose?: boolean = false;
Expand Down
6 changes: 3 additions & 3 deletions src/lib/dialog/dialog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ export class MatDialog implements OnDestroy {
* @returns The overlay configuration.
*/
private _getOverlayConfig(dialogConfig: MatDialogConfig): OverlayConfig {
const state = new OverlayConfig({
const overlayConfig = new OverlayConfig({
positionStrategy: this._overlay.position().global(),
scrollStrategy: dialogConfig.scrollStrategy || this._scrollStrategy(),
panelClass: dialogConfig.panelClass,
Expand All @@ -203,10 +203,10 @@ export class MatDialog implements OnDestroy {
});

if (dialogConfig.backdropClass) {
state.backdropClass = dialogConfig.backdropClass;
overlayConfig.backdropClass = dialogConfig.backdropClass;
}

return state;
return overlayConfig;
}

/**
Expand Down

0 comments on commit 5bbb291

Please sign in to comment.