blob: 884f338afd75551fc3ef57ba020ec1700ed30cf5 [file] [log] [blame]
/*!
* Angular Material Design
* https://github.com/angular/material
* @license MIT
* v1.0.0-master-19c11fd
*/
!function(e,t,n){"use strict";function o(e){return{restrict:"E",link:function(t,n,o){t.$on("$destroy",function(){e.destroy()})}}}function r(e){function n(e,n,c,a,i,l,s){function d(o,r,s,d){r=c.extractElementByName(r,"md-bottom-sheet"),S=c.createBackdrop(o,"md-bottom-sheet-backdrop md-opaque"),s.clickOutsideToClose&&S.on("click",function(){c.nextTick(i.cancel,!0)}),a.inherit(S,s.parent),e.enter(S,s.parent,null);var m=new u(r,s.parent);return s.bottomSheet=m,a.inherit(m.element,s.parent),s.disableParentScroll&&(s.restoreScroll=c.disableScrollAround(m.element,s.parent)),e.enter(m.element,s.parent).then(function(){var e=c.findFocusTarget(r)||t.element(r[0].querySelector("button")||r[0].querySelector("a")||r[0].querySelector("[ng-click]"));e.focus(),s.escapeToClose&&(s.rootElementKeyupCallback=function(e){e.keyCode===n.KEY_CODE.ESCAPE&&c.nextTick(i.cancel,!0)},l.on("keyup",s.rootElementKeyupCallback))})}function m(t,n,o){var r=o.bottomSheet;return e.leave(S),e.leave(r.element).then(function(){o.disableParentScroll&&(o.restoreScroll(),delete o.restoreScroll),r.cleanup()})}function u(e,t){function a(t){e.css(n.CSS.TRANSITION_DURATION,"0ms")}function l(t){var o=t.pointer.distanceY;5>o&&(o=Math.max(-r,o/2)),e.css(n.CSS.TRANSFORM,"translate3d(0,"+(r+o)+"px,0)")}function d(t){if(t.pointer.distanceY>0&&(t.pointer.distanceY>20||Math.abs(t.pointer.velocityY)>o)){var r=e.prop("offsetHeight")-t.pointer.distanceY,a=Math.min(r/t.pointer.velocityY*.75,500);e.css(n.CSS.TRANSITION_DURATION,a+"ms"),c.nextTick(i.cancel,!0)}else e.css(n.CSS.TRANSITION_DURATION,""),e.css(n.CSS.TRANSFORM,"")}var m=s.register(t,"drag",{horizontal:!1});return t.on("$md.dragstart",a).on("$md.drag",l).on("$md.dragend",d),{element:e,cleanup:function(){m(),t.off("$md.dragstart",a),t.off("$md.drag",l),t.off("$md.dragend",d)}}}var S;return{themable:!0,onShow:d,onRemove:m,escapeToClose:!0,clickOutsideToClose:!0,disableParentScroll:!0}}var o=.5,r=80;return n.$inject=["$animate","$mdConstant","$mdUtil","$mdTheming","$mdBottomSheet","$rootElement","$mdGesture"],e("$mdBottomSheet").setDefaults({methods:["disableParentScroll","escapeToClose","clickOutsideToClose"],options:n})}t.module("material.components.bottomSheet",["material.core","material.components.backdrop"]).directive("mdBottomSheet",o).provider("$mdBottomSheet",r),o.$inject=["$mdBottomSheet"],r.$inject=["$$interimElementProvider"]}(window,window.angular);