From da4b80afe70c91302a5febc597468923164b73d8 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Tue, 3 Oct 2017 13:20:10 -0700 Subject: [PATCH] Use mat-button in simple snack bar. --- src/lib/snack-bar/BUILD.bazel | 1 + src/lib/snack-bar/simple-snack-bar.html | 7 +++---- src/lib/snack-bar/simple-snack-bar.scss | 26 ++++++++++++++++++------- src/lib/snack-bar/snack-bar-module.ts | 2 ++ src/lib/snack-bar/snack-bar.spec.ts | 8 ++++---- 5 files changed, 29 insertions(+), 15 deletions(-) diff --git a/src/lib/snack-bar/BUILD.bazel b/src/lib/snack-bar/BUILD.bazel index eedf6b5b97cf..c5812df20a0b 100644 --- a/src/lib/snack-bar/BUILD.bazel +++ b/src/lib/snack-bar/BUILD.bazel @@ -12,6 +12,7 @@ ng_module( "simple_snack_bar_css", ], deps = [ + "//src/lib/button", "//src/lib/core", "//src/cdk/a11y", "//src/cdk/layout", diff --git a/src/lib/snack-bar/simple-snack-bar.html b/src/lib/snack-bar/simple-snack-bar.html index 28bf81598e0b..82a3f5512846 100644 --- a/src/lib/snack-bar/simple-snack-bar.html +++ b/src/lib/snack-bar/simple-snack-bar.html @@ -1,6 +1,5 @@ {{data.message}} - +
+ +
diff --git a/src/lib/snack-bar/simple-snack-bar.scss b/src/lib/snack-bar/simple-snack-bar.scss index dc25b4c8fc21..2f8d1a7011a4 100644 --- a/src/lib/snack-bar/simple-snack-bar.scss +++ b/src/lib/snack-bar/simple-snack-bar.scss @@ -2,24 +2,36 @@ @import '../core/style/button-common'; @import '../core/style/list-common'; -$mat-snack-bar-button-margin: 48px !default; +$mat-snack-bar-button-horizontal-margin: 8px !default; +$mat-snack-bar-button-height: 36px !default; +$mat-snack-bar-line-height: 20px !default; +// Button vertical margin is used to ensure that a button height of 36px, when the containing +// space falls below 36px. +$mat-snack-bar-button-vertical-margin: + -(($mat-snack-bar-button-height - $mat-snack-bar-line-height) / 2); .mat-simple-snackbar { display: flex; justify-content: space-between; - line-height: 20px; + line-height: $mat-snack-bar-line-height; opacity: 1; } .mat-simple-snackbar-action { - @include mat-button-reset; - - background: none; + display: flex; + flex-direction: column; flex-shrink: 0; - margin-left: $mat-snack-bar-button-margin; + justify-content: space-around; + margin: $mat-snack-bar-button-vertical-margin 0 + $mat-snack-bar-button-vertical-margin $mat-snack-bar-button-horizontal-margin; + + button { + flex: 1; + max-height: $mat-snack-bar-button-height; + } [dir='rtl'] & { - margin-right: $mat-snack-bar-button-margin; margin-left: 0; + margin-right: $mat-snack-bar-button-horizontal-margin; } } diff --git a/src/lib/snack-bar/snack-bar-module.ts b/src/lib/snack-bar/snack-bar-module.ts index a46320a9643d..03c6c87aaad5 100644 --- a/src/lib/snack-bar/snack-bar-module.ts +++ b/src/lib/snack-bar/snack-bar-module.ts @@ -11,6 +11,7 @@ import {PortalModule} from '@angular/cdk/portal'; import {CommonModule} from '@angular/common'; import {NgModule} from '@angular/core'; import {MatCommonModule} from '@angular/material/core'; +import {MatButtonModule} from '@angular/material/button'; import {SimpleSnackBar} from './simple-snack-bar'; import {MatSnackBar} from './snack-bar'; import {MatSnackBarContainer} from './snack-bar-container'; @@ -21,6 +22,7 @@ import {MatSnackBarContainer} from './snack-bar-container'; OverlayModule, PortalModule, CommonModule, + MatButtonModule, MatCommonModule, ], exports: [MatSnackBarContainer, MatCommonModule], diff --git a/src/lib/snack-bar/snack-bar.spec.ts b/src/lib/snack-bar/snack-bar.spec.ts index 0680013e74d4..9aa242b093b2 100644 --- a/src/lib/snack-bar/snack-bar.spec.ts +++ b/src/lib/snack-bar/snack-bar.spec.ts @@ -107,7 +107,7 @@ describe('MatSnackBar', () => { expect(messageElement.textContent) .toContain(simpleMessage, `Expected the snack bar message to be '${simpleMessage}'`); - let buttonElement = overlayContainerElement.querySelector('button.mat-simple-snackbar-action')!; + let buttonElement = overlayContainerElement.querySelector('button.mat-button')!; expect(buttonElement.tagName) .toBe('BUTTON', 'Expected snack bar action label to be a