summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav')
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/bower.json8
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav-default-theme.css9
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav-default-theme.min.css6
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.css99
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.js424
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.min.css6
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.min.js7
7 files changed, 0 insertions, 559 deletions
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/bower.json
deleted file mode 100644
index 9bf7ad1b..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/bower.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": "angular-material-sidenav",
- "version": "0.9.8",
- "dependencies": {
- "angular-material-core": "0.9.8",
- "angular-material-backdrop": "0.9.8"
- }
-} \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav-default-theme.css
deleted file mode 100644
index b625e2ab..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav-default-theme.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Angular Material Design
- * https://github.com/angular/material
- * @license MIT
- * v0.9.8
- */
-/* mixin definition ; sets LTR and RTL within the same style call */
-md-sidenav.md-THEME_NAME-theme {
- background-color: '{{background-color}}'; }
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav-default-theme.min.css
deleted file mode 100644
index aa10df71..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav-default-theme.min.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * Angular Material Design
- * https://github.com/angular/material
- * @license MIT
- * v0.9.8
- */md-sidenav.md-THEME_NAME-theme{background-color:'{{background-color}}'} \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.css
deleted file mode 100644
index 402d88f1..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.css
+++ /dev/null
@@ -1,99 +0,0 @@
-/*!
- * Angular Material Design
- * https://github.com/angular/material
- * @license MIT
- * v0.9.8
- */
-/* mixin definition ; sets LTR and RTL within the same style call */
-md-sidenav {
- box-sizing: border-box;
- position: absolute;
- width: 304px;
- min-width: 304px;
- max-width: 304px;
- bottom: 0;
- z-index: 60;
- background-color: white;
- overflow: auto;
- -webkit-flex-direction: column;
- -ms-flex-direction: column;
- flex-direction: column; }
- md-sidenav *, md-sidenav *:before, md-sidenav *:after {
- box-sizing: border-box; }
- md-sidenav ul {
- list-style: none; }
- md-sidenav.md-closed {
- display: none; }
- md-sidenav.md-closed-add, md-sidenav.md-closed-remove {
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- /* this is required as of 1.3x to properly
- apply all styling in a show/hide animation */
- transition: 0s all; }
- md-sidenav.md-closed-add.md-closed-add-active, md-sidenav.md-closed-remove.md-closed-remove-active {
- transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); }
- md-sidenav.md-locked-open-add, md-sidenav.md-locked-open-remove {
- position: static;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0); }
- md-sidenav.md-locked-open {
- width: 304px;
- min-width: 304px;
- max-width: 304px; }
- md-sidenav.md-locked-open, md-sidenav.md-locked-open.md-closed, md-sidenav.md-locked-open.md-closed.md-sidenav-left, md-sidenav.md-locked-open.md-closed, md-sidenav.md-locked-open.md-closed.md-sidenav-right, md-sidenav.md-locked-open-remove.md-closed {
- position: static;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0); }
- md-sidenav.md-locked-open-remove-active {
- transition: width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2), min-width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
- width: 0;
- min-width: 0; }
- md-sidenav.md-closed.md-locked-open-add {
- width: 0;
- min-width: 0;
- -webkit-transform: translate3d(0%, 0, 0);
- transform: translate3d(0%, 0, 0); }
- md-sidenav.md-closed.md-locked-open-add-active {
- transition: width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2), min-width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
- width: 304px;
- min-width: 304px;
- -webkit-transform: translate3d(0%, 0, 0);
- transform: translate3d(0%, 0, 0); }
-
-.md-sidenav-backdrop.md-locked-open {
- display: none; }
-
-.md-sidenav-left, md-sidenav {
- left: 0;
- top: 0;
- -webkit-transform: translate3d(0%, 0, 0);
- transform: translate3d(0%, 0, 0); }
- .md-sidenav-left.md-closed, md-sidenav.md-closed {
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0); }
-
-.md-sidenav-right {
- left: 100%;
- top: 0;
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0); }
- .md-sidenav-right.md-closed {
- -webkit-transform: translate3d(0%, 0, 0);
- transform: translate3d(0%, 0, 0); }
-
-@media (max-width: 360px) {
- md-sidenav {
- width: 85%; } }
-
-@media screen and (-ms-high-contrast: active) {
- .md-sidenav-left, md-sidenav {
- border-right: 1px solid #fff; }
- .md-sidenav-right {
- border-left: 1px solid #fff; } }
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.js
deleted file mode 100644
index 092dda51..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.js
+++ /dev/null
@@ -1,424 +0,0 @@
-/*!
- * Angular Material Design
- * https://github.com/angular/material
- * @license MIT
- * v0.9.8
- */
-(function( window, angular, undefined ){
-"use strict";
-
-/**
- * @ngdoc module
- * @name material.components.sidenav
- *
- * @description
- * A Sidenav QP component.
- */
-angular.module('material.components.sidenav', [
- 'material.core',
- 'material.components.backdrop'
- ])
- .factory('$mdSidenav', SidenavService )
- .directive('mdSidenav', SidenavDirective)
- .directive('mdSidenavFocus', SidenavFocusDirective)
- .controller('$mdSidenavController', SidenavController);
-
-
-/**
- * @private
- * @ngdoc service
- * @name $mdSidenav
- * @module material.components.sidenav
- *
- * @description
- * `$mdSidenav` makes it easy to interact with multiple sidenavs
- * in an app.
- *
- * @usage
- * <hljs lang="js">
- * // Async lookup for sidenav instance; will resolve when the instance is available
- * $mdSidenav(componentId).then(function(instance) {
- * $log.debug( componentId + "is now ready" );
- * });
- * // Async toggle the given sidenav;
- * // when instance is known ready and lazy lookup is not needed.
- * $mdSidenav(componentId)
- * .toggle()
- * .then(function(){
- * $log.debug('toggled');
- * });
- * // Async open the given sidenav
- * $mdSidenav(componentId)
- * .open()
- * .then(function(){
- * $log.debug('opened');
- * });
- * // Async close the given sidenav
- * $mdSidenav(componentId)
- * .close()
- * .then(function(){
- * $log.debug('closed');
- * });
- * // Sync check to see if the specified sidenav is set to be open
- * $mdSidenav(componentId).isOpen();
- * // Sync check to whether given sidenav is locked open
- * // If this is true, the sidenav will be open regardless of close()
- * $mdSidenav(componentId).isLockedOpen();
- * </hljs>
- */
-function SidenavService($mdComponentRegistry, $q) {
- return function(handle) {
-
- // Lookup the controller instance for the specified sidNav instance
- var self;
- var errorMsg = "SideNav '" + handle + "' is not available!";
- var instance = $mdComponentRegistry.get(handle);
-
- if(!instance) {
- $mdComponentRegistry.notFoundError(handle);
- }
-
- return self = {
- // -----------------
- // Sync methods
- // -----------------
- isOpen: function() {
- return instance && instance.isOpen();
- },
- isLockedOpen: function() {
- return instance && instance.isLockedOpen();
- },
- // -----------------
- // Async methods
- // -----------------
- toggle: function() {
- return instance ? instance.toggle() : $q.reject(errorMsg);
- },
- open: function() {
- return instance ? instance.open() : $q.reject(errorMsg);
- },
- close: function() {
- return instance ? instance.close() : $q.reject(errorMsg);
- },
- then : function( callbackFn ) {
- var promise = instance ? $q.when(instance) : waitForInstance();
- return promise.then( callbackFn || angular.noop );
- }
- };
-
- /**
- * Deferred lookup of component instance using $component registry
- */
- function waitForInstance() {
- return $mdComponentRegistry
- .when(handle)
- .then(function( it ){
- instance = it;
- return it;
- });
- }
- };
-}
-SidenavService.$inject = ["$mdComponentRegistry", "$q"];
-/**
- * @ngdoc directive
- * @name mdSidenavFocus
- * @module material.components.sidenav
- *
- * @restrict A
- *
- * @description
- * `$mdSidenavFocus` provides a way to specify the focused element when a sidenav opens.
- * This is completely optional, as the sidenav itself is focused by default.
- *
- * @usage
- * <hljs lang="html">
- * <md-sidenav>
- * <form>
- * <md-input-container>
- * <label for="testInput">Label</label>
- * <input id="testInput" type="text" md-sidenav-focus>
- * </md-input-container>
- * </form>
- * </md-sidenav>
- * </hljs>
- **/
-function SidenavFocusDirective() {
- return {
- restrict: 'A',
- require: '^mdSidenav',
- link: function(scope, element, attr, sidenavCtrl) {
- sidenavCtrl.focusElement(element);
- }
- };
-}
-/**
- * @ngdoc directive
- * @name mdSidenav
- * @module material.components.sidenav
- * @restrict E
- *
- * @description
- *
- * A Sidenav component that can be opened and closed programatically.
- *
- * By default, upon opening it will slide out on top of the main content area.
- *
- * For keyboard and screen reader accessibility, focus is sent to the sidenav wrapper by default.
- * It can be overridden with the `md-sidenav-focus` directive on the child element you want focused.
- *
- * @usage
- * <hljs lang="html">
- * <div layout="row" ng-controller="MyController">
- * <md-sidenav md-component-id="left" class="md-sidenav-left">
- * Left Nav!
- * </md-sidenav>
- *
- * <md-content>
- * Center Content
- * <md-button ng-click="openLeftMenu()">
- * Open Left Menu
- * </md-button>
- * </md-content>
- *
- * <md-sidenav md-component-id="right"
- * md-is-locked-open="$mdMedia('min-width: 333px')"
- * class="md-sidenav-right">
- * <form>
- * <md-input-container>
- * <label for="testInput">Test input</label>
- * <input id="testInput" type="text"
- * ng-model="data" md-sidenav-focus>
- * </md-input-container>
- * </form>
- * </md-sidenav>
- * </div>
- * </hljs>
- *
- * <hljs lang="js">
- * var app = angular.module('myApp', ['ngMaterial']);
- * app.controller('MyController', function($scope, $mdSidenav) {
- * $scope.openLeftMenu = function() {
- * $mdSidenav('left').toggle();
- * };
- * });
- * </hljs>
- *
- * @param {expression=} md-is-open A model bound to whether the sidenav is opened.
- * @param {string=} md-component-id componentId to use with $mdSidenav service.
- * @param {expression=} md-is-locked-open When this expression evalutes to true,
- * the sidenav 'locks open': it falls into the content's flow instead
- * of appearing over it. This overrides the `is-open` attribute.
- *
- * The $mdMedia() service is exposed to the is-locked-open attribute, which
- * can be given a media query or one of the `sm`, `gt-sm`, `md`, `gt-md`, `lg` or `gt-lg` presets.
- * Examples:
- *
- * - `<md-sidenav md-is-locked-open="shouldLockOpen"></md-sidenav>`
- * - `<md-sidenav md-is-locked-open="$mdMedia('min-width: 1000px')"></md-sidenav>`
- * - `<md-sidenav md-is-locked-open="$mdMedia('sm')"></md-sidenav>` (locks open on small screens)
- */
-function SidenavDirective($timeout, $animate, $parse, $log, $mdMedia, $mdConstant, $compile, $mdTheming, $q, $document) {
- return {
- restrict: 'E',
- scope: {
- isOpen: '=?mdIsOpen'
- },
- controller: '$mdSidenavController',
- compile: function(element) {
- element.addClass('md-closed');
- element.attr('tabIndex', '-1');
- return postLink;
- }
- };
-
- /**
- * Directive Post Link function...
- */
- function postLink(scope, element, attr, sidenavCtrl) {
- var lastParentOverFlow;
- var triggeringElement = null;
- var promise = $q.when(true);
-
- var isLockedOpenParsed = $parse(attr.mdIsLockedOpen);
- var isLocked = function() {
- return isLockedOpenParsed(scope.$parent, {
- $media: function(arg) {
- $log.warn("$media is deprecated for is-locked-open. Use $mdMedia instead.");
- return $mdMedia(arg);
- },
- $mdMedia: $mdMedia
- });
- };
- var backdrop = $compile(
- '<md-backdrop class="md-sidenav-backdrop md-opaque ng-enter">'
- )(scope);
-
- element.on('$destroy', sidenavCtrl.destroy);
- $mdTheming.inherit(backdrop, element);
-
- scope.$watch(isLocked, updateIsLocked);
- scope.$watch('isOpen', updateIsOpen);
-
-
- // Publish special accessor for the Controller instance
- sidenavCtrl.$toggleOpen = toggleOpen;
- sidenavCtrl.focusElement( sidenavCtrl.focusElement() || element );
-
- /**
- * Toggle the DOM classes to indicate `locked`
- * @param isLocked
- */
- function updateIsLocked(isLocked, oldValue) {
- scope.isLockedOpen = isLocked;
- if (isLocked === oldValue) {
- element.toggleClass('md-locked-open', !!isLocked);
- } else {
- $animate[isLocked ? 'addClass' : 'removeClass'](element, 'md-locked-open');
- }
- backdrop.toggleClass('md-locked-open', !!isLocked);
- }
-
- /**
- * Toggle the SideNav view and attach/detach listeners
- * @param isOpen
- */
- function updateIsOpen(isOpen) {
- var parent = element.parent();
-
- parent[isOpen ? 'on' : 'off']('keydown', onKeyDown);
- backdrop[isOpen ? 'on' : 'off']('click', close);
-
- if ( isOpen ) {
- // Capture upon opening..
- triggeringElement = $document[0].activeElement;
- }
- var focusEl = sidenavCtrl.focusElement();
-
- disableParentScroll(isOpen);
-
- return promise = $q.all([
- isOpen ? $animate.enter(backdrop, parent) : $animate.leave(backdrop),
- $animate[isOpen ? 'removeClass' : 'addClass'](element, 'md-closed')
- ])
- .then(function() {
- // Perform focus when animations are ALL done...
- if (scope.isOpen) {
- focusEl && focusEl.focus();
- }
- });
- }
-
- /**
- * Prevent parent scrolling (when the SideNav is open)
- */
- function disableParentScroll(disabled) {
- var parent = element.parent();
- if ( disabled ) {
- lastParentOverFlow = parent.css('overflow');
- parent.css('overflow', 'hidden');
- } else if (angular.isDefined(lastParentOverFlow)) {
- parent.css('overflow', lastParentOverFlow);
- lastParentOverFlow = undefined;
- }
- }
-
- /**
- * Toggle the sideNav view and publish a promise to be resolved when
- * the view animation finishes.
- *
- * @param isOpen
- * @returns {*}
- */
- function toggleOpen( isOpen ) {
- if (scope.isOpen == isOpen ) {
-
- return $q.when(true);
-
- } else {
- var deferred = $q.defer();
-
- // Toggle value to force an async `updateIsOpen()` to run
- scope.isOpen = isOpen;
-
- $timeout(function() {
-
- // When the current `updateIsOpen()` animation finishes
- promise.then(function(result) {
-
- if ( !scope.isOpen ) {
- // reset focus to originating element (if available) upon close
- triggeringElement && triggeringElement.focus();
- triggeringElement = null;
- }
-
- deferred.resolve(result);
- });
-
- },0,false);
-
- return deferred.promise;
- }
- }
-
- /**
- * Auto-close sideNav when the `escape` key is pressed.
- * @param evt
- */
- function onKeyDown(ev) {
- var isEscape = (ev.keyCode === $mdConstant.KEY_CODE.ESCAPE);
- return isEscape ? close(ev) : $q.when(true);
- }
-
- /**
- * With backdrop `clicks` or `escape` key-press, immediately
- * apply the CSS close transition... Then notify the controller
- * to close() and perform its own actions.
- */
- function close(ev) {
- ev.preventDefault();
- ev.stopPropagation();
-
- return sidenavCtrl.close();
- }
-
- }
-}
-SidenavDirective.$inject = ["$timeout", "$animate", "$parse", "$log", "$mdMedia", "$mdConstant", "$compile", "$mdTheming", "$q", "$document"];
-
-/*
- * @private
- * @ngdoc controller
- * @name SidenavController
- * @module material.components.sidenav
- *
- */
-function SidenavController($scope, $element, $attrs, $mdComponentRegistry, $q) {
-
- var self = this,
- focusElement;
-
- // Use Default internal method until overridden by directive postLink
-
- // Synchronous getters
- self.isOpen = function() { return !!$scope.isOpen; };
- self.isLockedOpen = function() { return !!$scope.isLockedOpen; };
-
- // Async actions
- self.open = function() { return self.$toggleOpen( true ); };
- self.close = function() { return self.$toggleOpen( false ); };
- self.toggle = function() { return self.$toggleOpen( !$scope.isOpen ); };
- self.focusElement = function(el) {
- if ( angular.isDefined(el) ) {
- focusElement = el;
- }
- return focusElement;
- };
-
- self.$toggleOpen = function() { return $q.when($scope.isOpen); };
-
- self.destroy = $mdComponentRegistry.register(self, $attrs.mdComponentId);
-}
-SidenavController.$inject = ["$scope", "$element", "$attrs", "$mdComponentRegistry", "$q"];
-
-})(window, window.angular); \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.min.css
deleted file mode 100644
index 8ef1054e..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.min.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * Angular Material Design
- * https://github.com/angular/material
- * @license MIT
- * v0.9.8
- */md-sidenav{box-sizing:border-box;position:absolute;width:304px;min-width:304px;max-width:304px;bottom:0;z-index:60;background-color:#fff;overflow:auto;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}md-sidenav *,md-sidenav :after,md-sidenav :before{box-sizing:border-box}md-sidenav ul{list-style:none}md-sidenav.md-closed{display:none}md-sidenav.md-closed-add,md-sidenav.md-closed-remove{display:-webkit-flex;display:-ms-flexbox;display:flex;transition:0s all}md-sidenav.md-closed-add.md-closed-add-active,md-sidenav.md-closed-remove.md-closed-remove-active{transition:all .4s cubic-bezier(.25,.8,.25,1)}md-sidenav.md-locked-open-add,md-sidenav.md-locked-open-remove{position:static;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-sidenav.md-locked-open{width:304px;min-width:304px;max-width:304px}md-sidenav.md-locked-open,md-sidenav.md-locked-open-remove.md-closed,md-sidenav.md-locked-open.md-closed,md-sidenav.md-locked-open.md-closed.md-sidenav-left,md-sidenav.md-locked-open.md-closed.md-sidenav-right{position:static;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-sidenav.md-locked-open-remove-active{transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2);width:0;min-width:0}md-sidenav.md-closed.md-locked-open-add{width:0;min-width:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-sidenav.md-closed.md-locked-open-add-active{transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2);width:304px;min-width:304px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sidenav-backdrop.md-locked-open{display:none}.md-sidenav-left,md-sidenav{left:0;top:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sidenav-left.md-closed,md-sidenav.md-closed{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.md-sidenav-right{left:100%;top:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.md-sidenav-right.md-closed{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (max-width:360px){md-sidenav{width:85%}}@media screen and (-ms-high-contrast:active){.md-sidenav-left,md-sidenav{border-right:1px solid #fff}.md-sidenav-right{border-left:1px solid #fff}} \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.min.js
deleted file mode 100644
index 8f58a309..00000000
--- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Angular Material Design
- * https://github.com/angular/material
- * @license MIT
- * v0.9.8
- */
-!function(e,n,t){"use strict";function o(e,t){return function(o){function r(){return e.when(o).then(function(e){return s=e,e})}var i,c="SideNav '"+o+"' is not available!",s=e.get(o);return s||e.notFoundError(o),i={isOpen:function(){return s&&s.isOpen()},isLockedOpen:function(){return s&&s.isLockedOpen()},toggle:function(){return s?s.toggle():t.reject(c)},open:function(){return s?s.open():t.reject(c)},close:function(){return s?s.close():t.reject(c)},then:function(e){var o=s?t.when(s):r();return o.then(e||n.noop)}}}}function r(){return{restrict:"A",require:"^mdSidenav",link:function(e,n,t,o){o.focusElement(n)}}}function i(e,o,r,i,c,s,d,u,a,l){function f(f,p,m,$){function v(e,n){f.isLockedOpen=e,e===n?p.toggleClass("md-locked-open",!!e):o[e?"addClass":"removeClass"](p,"md-locked-open"),L.toggleClass("md-locked-open",!!e)}function g(e){var n=p.parent();n[e?"on":"off"]("keydown",k),L[e?"on":"off"]("click",w),e&&(E=l[0].activeElement);var t=$.focusElement();return O(e),y=a.all([e?o.enter(L,n):o.leave(L),o[e?"removeClass":"addClass"](p,"md-closed")]).then(function(){f.isOpen&&t&&t.focus()})}function O(e){var o=p.parent();e?(C=o.css("overflow"),o.css("overflow","hidden")):n.isDefined(C)&&(o.css("overflow",C),C=t)}function h(n){if(f.isOpen==n)return a.when(!0);var t=a.defer();return f.isOpen=n,e(function(){y.then(function(e){f.isOpen||(E&&E.focus(),E=null),t.resolve(e)})},0,!1),t.promise}function k(e){var n=e.keyCode===s.KEY_CODE.ESCAPE;return n?w(e):a.when(!0)}function w(e){return e.preventDefault(),e.stopPropagation(),$.close()}var C,E=null,y=a.when(!0),S=r(m.mdIsLockedOpen),j=function(){return S(f.$parent,{$media:function(e){return i.warn("$media is deprecated for is-locked-open. Use $mdMedia instead."),c(e)},$mdMedia:c})},L=d('<md-backdrop class="md-sidenav-backdrop md-opaque ng-enter">')(f);p.on("$destroy",$.destroy),u.inherit(L,p),f.$watch(j,v),f.$watch("isOpen",g),$.$toggleOpen=h,$.focusElement($.focusElement()||p)}return{restrict:"E",scope:{isOpen:"=?mdIsOpen"},controller:"$mdSidenavController",compile:function(e){return e.addClass("md-closed"),e.attr("tabIndex","-1"),f}}}function c(e,t,o,r,i){var c,s=this;s.isOpen=function(){return!!e.isOpen},s.isLockedOpen=function(){return!!e.isLockedOpen},s.open=function(){return s.$toggleOpen(!0)},s.close=function(){return s.$toggleOpen(!1)},s.toggle=function(){return s.$toggleOpen(!e.isOpen)},s.focusElement=function(e){return n.isDefined(e)&&(c=e),c},s.$toggleOpen=function(){return i.when(e.isOpen)},s.destroy=r.register(s,o.mdComponentId)}n.module("material.components.sidenav",["material.core","material.components.backdrop"]).factory("$mdSidenav",o).directive("mdSidenav",i).directive("mdSidenavFocus",r).controller("$mdSidenavController",c),o.$inject=["$mdComponentRegistry","$q"],i.$inject=["$timeout","$animate","$parse","$log","$mdMedia","$mdConstant","$compile","$mdTheming","$q","$document"],c.$inject=["$scope","$element","$attrs","$mdComponentRegistry","$q"]}(window,window.angular); \ No newline at end of file