diff --git a/src/demo-app/sidenav/sidenav-demo.scss b/src/demo-app/sidenav/sidenav-demo.scss index 47813d802733..92c7d2455dbc 100644 --- a/src/demo-app/sidenav/sidenav-demo.scss +++ b/src/demo-app/sidenav/sidenav-demo.scss @@ -1,7 +1,7 @@ .demo-sidenav-layout { border: 3px solid black; - md-sidenav { + .md-sidenav-focus-trap > .cdk-focus-trap-content { padding: 10px; } } diff --git a/src/demo-app/sidenav/sidenav-demo.ts b/src/demo-app/sidenav/sidenav-demo.ts index 3e653e115256..ed5b512679d2 100644 --- a/src/demo-app/sidenav/sidenav-demo.ts +++ b/src/demo-app/sidenav/sidenav-demo.ts @@ -1,4 +1,4 @@ -import {Component} from '@angular/core'; +import {Component, ViewEncapsulation} from '@angular/core'; @Component({ @@ -6,6 +6,7 @@ import {Component} from '@angular/core'; selector: 'sidenav-demo', templateUrl: 'sidenav-demo.html', styleUrls: ['sidenav-demo.css'], + encapsulation: ViewEncapsulation.None, }) export class SidenavDemo { side = 'start'; diff --git a/src/lib/core/a11y/focus-trap.html b/src/lib/core/a11y/focus-trap.html index 077fc134b42a..5950764b3851 100644 --- a/src/lib/core/a11y/focus-trap.html +++ b/src/lib/core/a11y/focus-trap.html @@ -1,3 +1,3 @@
-
+
diff --git a/src/lib/sidenav/sidenav.scss b/src/lib/sidenav/sidenav.scss index 06923ff59a08..d029b8c7e254 100644 --- a/src/lib/sidenav/sidenav.scss +++ b/src/lib/sidenav/sidenav.scss @@ -108,9 +108,6 @@ md-sidenav { z-index: 3; min-width: 5%; - // TODO(kara): revisit scrolling behavior for sidenavs - overflow-y: auto; - @include md-sidenav-transition(0, -100%); &.md-sidenav-side { @@ -135,6 +132,16 @@ md-sidenav { } } +.md-sidenav-focus-trap { + height: 100%; + + > .cdk-focus-trap-content { + box-sizing: border-box; + height: 100%; + overflow-y: auto; // TODO(kara): revisit scrolling behavior for sidenavs + } +} + .md-sidenav-invalid { display: none; } diff --git a/src/lib/sidenav/sidenav.ts b/src/lib/sidenav/sidenav.ts index e6cc23d6e638..7622ed28fc52 100644 --- a/src/lib/sidenav/sidenav.ts +++ b/src/lib/sidenav/sidenav.ts @@ -37,7 +37,11 @@ export class MdSidenavToggleResult { @Component({ moduleId: module.id, selector: 'md-sidenav, mat-sidenav', - template: '', + // TODO(mmalerba): move template to separate file. + template: ` + + + `, host: { '(transitionend)': '_onTransitionEnd($event)', // must prevent the browser from aligning text based on value