-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmde.es5.js.map
1 lines (1 loc) · 64.4 KB
/
mde.es5.js.map
1
{"version":3,"file":"mde.es5.js","sources":["../out-tsc/lib-es5/popover/popover-errors.js","../out-tsc/lib-es5/popover/popover-animations.js","../out-tsc/lib-es5/popover/popover.js","../out-tsc/lib-es5/popover/popover-trigger.js","../out-tsc/lib-es5/popover/index.js","../out-tsc/lib-es5/mde.js"],"sourcesContent":["/**\r\n * Throws an exception for the case when popover trigger doesn't have a valid mde-popover instance\r\n * \\@docs-private\r\n * @return {?}\r\n */\r\nexport function throwMdePopoverMissingError() {\r\n throw Error(\"mde-popover-trigger: must pass in an mde-popover instance.\\n\\n Example:\\n <mde-popover #popover=\\\"mdPopover\\\"></mde-popover>\\n <button [mdPopoverTriggerFor]=\\\"popover\\\"></button>\");\r\n}\r\n/**\r\n * Throws an exception for the case when popover's x-position value isn't valid.\r\n * In other words, it doesn't match 'before' or 'after'.\r\n * \\@docs-private\r\n * @return {?}\r\n */\r\nexport function throwMdePopoverInvalidPositionX() {\r\n throw Error(\"x-position value must be either 'before' or after'.\\n Example: <mde-popover x-position=\\\"before\\\" #popover=\\\"mdPopover\\\"></mde-popover>\");\r\n}\r\n/**\r\n * Throws an exception for the case when popover's y-position value isn't valid.\r\n * In other words, it doesn't match 'above' or 'below'.\r\n * \\@docs-private\r\n * @return {?}\r\n */\r\nexport function throwMdePopoverInvalidPositionY() {\r\n throw Error(\"y-position value must be either 'above' or below'.\\n Example: <mde-popover y-position=\\\"above\\\" #popover=\\\"mdPopover\\\"></mde-popover>\");\r\n}\r\n//# sourceMappingURL=popover-errors.js.map","import { trigger, state, style, animate, transition, } from '@angular/animations';\r\n/**\r\n * This animation controls the popover panel's entry and exit from the page.\r\n *\r\n * When the popover panel is added to the DOM, it scales in and fades in its border.\r\n *\r\n * When the popover panel is removed from the DOM, it simply fades out after a brief\r\n * delay to display the ripple.\r\n */\r\nexport var transformPopover = trigger('transformPopover', [\r\n state('enter', style({\r\n opacity: 1,\r\n transform: \"scale(1)\"\r\n })),\r\n transition('void => *', [\r\n style({\r\n opacity: 0,\r\n transform: \"scale(0)\"\r\n }),\r\n animate(\"200ms cubic-bezier(0.25, 0.8, 0.25, 1)\")\r\n ]),\r\n transition('* => void', [\r\n animate('50ms 100ms linear', style({ opacity: 0 }))\r\n ])\r\n]);\r\n//# sourceMappingURL=popover-animations.js.map","import { Component, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, ElementRef, ChangeDetectionStrategy, } from '@angular/core';\r\nimport { ESCAPE } from '@angular/cdk';\r\nimport { throwMdePopoverInvalidPositionX, throwMdePopoverInvalidPositionY } from './popover-errors';\r\nimport { transformPopover } from './popover-animations';\r\nvar MdePopover = (function () {\r\n /**\r\n * @param {?} _elementRef\r\n */\r\n function MdePopover(_elementRef) {\r\n this._elementRef = _elementRef;\r\n /**\r\n * Settings for popover, view setters and getters for more detail\r\n */\r\n this._positionX = 'after';\r\n this._positionY = 'below';\r\n this._triggerEvent = 'hover';\r\n this._enterDelay = 200;\r\n this._leaveDelay = 0;\r\n this._overlapTrigger = true;\r\n this._targetOffsetX = 0;\r\n this._targetOffsetY = 0;\r\n this._arrowOffsetX = 20;\r\n this._arrowWidth = 8;\r\n this._arrowColor = 'rgba(0, 0, 0, 0.12)';\r\n this._closeOnClick = true;\r\n this._focusTrapEnabled = true;\r\n /**\r\n * Config object to be passed into the popover's ngClass\r\n */\r\n this._classList = {};\r\n /**\r\n *\r\n */\r\n this.containerPositioning = false;\r\n /**\r\n * Closing disabled on popover\r\n */\r\n this.closeDisabled = false;\r\n /**\r\n * Emits the current animation state whenever it changes.\r\n */\r\n this._onAnimationStateChange = new EventEmitter();\r\n /**\r\n * Event emitted when the popover is closed.\r\n */\r\n this.close = new EventEmitter();\r\n this.setPositionClasses();\r\n }\r\n Object.defineProperty(MdePopover.prototype, \"positionX\", {\r\n /**\r\n * Position of the popover in the X axis.\r\n * @return {?}\r\n */\r\n get: function () { return this._positionX; },\r\n /**\r\n * @param {?} value\r\n * @return {?}\r\n */\r\n set: function (value) {\r\n if (value !== 'before' && value !== 'after') {\r\n throwMdePopoverInvalidPositionX();\r\n }\r\n this._positionX = value;\r\n this.setPositionClasses();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MdePopover.prototype, \"positionY\", {\r\n /**\r\n * Position of the popover in the Y axis.\r\n * @return {?}\r\n */\r\n get: function () { return this._positionY; },\r\n /**\r\n * @param {?} value\r\n * @return {?}\r\n */\r\n set: function (value) {\r\n if (value !== 'above' && value !== 'below') {\r\n throwMdePopoverInvalidPositionY();\r\n }\r\n this._positionY = value;\r\n this.setPositionClasses();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MdePopover.prototype, \"triggerEvent\", {\r\n /**\r\n * Popover trigger event\r\n * @return {?}\r\n */\r\n get: function () { return this._triggerEvent; },\r\n /**\r\n * @param {?} v\r\n * @return {?}\r\n */\r\n set: function (v) { this._triggerEvent = v; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MdePopover.prototype, \"enterDelay\", {\r\n /**\r\n * Popover enter delay\r\n * @return {?}\r\n */\r\n get: function () { return this._enterDelay; },\r\n /**\r\n * @param {?} v\r\n * @return {?}\r\n */\r\n set: function (v) { this._enterDelay = v; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MdePopover.prototype, \"leaveDelay\", {\r\n /**\r\n * Popover leave delay\r\n * @return {?}\r\n */\r\n get: function () { return this._enterDelay; },\r\n /**\r\n * @param {?} v\r\n * @return {?}\r\n */\r\n set: function (v) { this._enterDelay = v; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MdePopover.prototype, \"overlapTrigger\", {\r\n /**\r\n * Popover overlap trigger\r\n * @return {?}\r\n */\r\n get: function () { return this._overlapTrigger; },\r\n /**\r\n * @param {?} v\r\n * @return {?}\r\n */\r\n set: function (v) { this._overlapTrigger = v; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MdePopover.prototype, \"targetOffsetX\", {\r\n /**\r\n * Popover target offset x\r\n * @return {?}\r\n */\r\n get: function () { return this._targetOffsetX; },\r\n /**\r\n * @param {?} v\r\n * @return {?}\r\n */\r\n set: function (v) { this._targetOffsetX = v; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MdePopover.prototype, \"targetOffsetY\", {\r\n /**\r\n * Popover target offset y\r\n * @return {?}\r\n */\r\n get: function () { return this._targetOffsetY; },\r\n /**\r\n * @param {?} v\r\n * @return {?}\r\n */\r\n set: function (v) { this._targetOffsetY = v; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MdePopover.prototype, \"arrowOffsetX\", {\r\n /**\r\n * Popover arrow offset x\r\n * @return {?}\r\n */\r\n get: function () { return this._arrowOffsetX; },\r\n /**\r\n * @param {?} v\r\n * @return {?}\r\n */\r\n set: function (v) { this._arrowOffsetX = v; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MdePopover.prototype, \"arrowWidth\", {\r\n /**\r\n * Popover arrow width\r\n * @return {?}\r\n */\r\n get: function () { return this._arrowWidth; },\r\n /**\r\n * @param {?} v\r\n * @return {?}\r\n */\r\n set: function (v) { this._arrowWidth = v; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MdePopover.prototype, \"arrowColor\", {\r\n /**\r\n * Popover arrow color\r\n * @return {?}\r\n */\r\n get: function () { return this._arrowColor; },\r\n /**\r\n * @param {?} v\r\n * @return {?}\r\n */\r\n set: function (v) { this._arrowColor = v; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MdePopover.prototype, \"closeOnClick\", {\r\n /**\r\n * Popover container close on click\r\n * default: true\r\n * @return {?}\r\n */\r\n get: function () { return this._closeOnClick; },\r\n /**\r\n * @param {?} v\r\n * @return {?}\r\n */\r\n set: function (v) { this._closeOnClick = v; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MdePopover.prototype, \"focusTrapEnabled\", {\r\n /**\r\n * Popover focus trap using cdkTrapFocus\r\n * default: true\r\n * @return {?}\r\n */\r\n get: function () { return this._focusTrapEnabled; },\r\n /**\r\n * @param {?} v\r\n * @return {?}\r\n */\r\n set: function (v) { this._focusTrapEnabled = v; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(MdePopover.prototype, \"classList\", {\r\n /**\r\n * This method takes classes set on the host md-popover element and applies them on the\r\n * popover template that displays in the overlay container. Otherwise, it's difficult\r\n * to style the containing popover from outside the component.\r\n * @return {?}\r\n */\r\n get: function () { return this._classList; },\r\n /**\r\n * @param {?} classes\r\n * @return {?}\r\n */\r\n set: function (classes) {\r\n if (classes && classes.length) {\r\n this._classList = classes.split(' ').reduce(function (obj, className) {\r\n obj[className] = true;\r\n return obj;\r\n }, {});\r\n this._elementRef.nativeElement.className = '';\r\n this.setPositionClasses();\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @return {?}\r\n */\r\n MdePopover.prototype.ngOnDestroy = function () {\r\n this._emitCloseEvent();\r\n this.close.complete();\r\n };\r\n /**\r\n * Handle a keyboard event from the popover, delegating to the appropriate action.\r\n * @param {?} event\r\n * @return {?}\r\n */\r\n MdePopover.prototype._handleKeydown = function (event) {\r\n switch (event.keyCode) {\r\n case ESCAPE:\r\n this._emitCloseEvent();\r\n return;\r\n }\r\n };\r\n /**\r\n * This emits a close event to which the trigger is subscribed. When emitted, the\r\n * trigger will close the popover.\r\n * @return {?}\r\n */\r\n MdePopover.prototype._emitCloseEvent = function () {\r\n this.close.emit();\r\n };\r\n /**\r\n * Close popover on click if closeOnClick is true\r\n * @return {?}\r\n */\r\n MdePopover.prototype.onClick = function () {\r\n if (this.closeOnClick) {\r\n this._emitCloseEvent();\r\n }\r\n };\r\n /**\r\n * Disables close of popover when leaving trigger element and mouse over the popover\r\n * @return {?}\r\n */\r\n MdePopover.prototype.onMouseOver = function () {\r\n if (this.triggerEvent === 'hover') {\r\n this.closeDisabled = true;\r\n }\r\n };\r\n /**\r\n * Enables close of popover when mouse leaving popover element\r\n * @return {?}\r\n */\r\n MdePopover.prototype.onMouseLeave = function () {\r\n if (this.triggerEvent === 'hover') {\r\n this.closeDisabled = false;\r\n this._emitCloseEvent();\r\n }\r\n };\r\n /**\r\n * Sets the current styles for the popover to allow for dynamically changing settings\r\n * @return {?}\r\n */\r\n MdePopover.prototype.setCurrentStyles = function () {\r\n // TODO: See if arrow position can be calculated automatically and allow override.\r\n // TODO: See if flex order is a better alternative to position arrow top or bottom.\r\n this.popoverArrowStyles = {\r\n 'right': this.positionX === 'before' ? (this.arrowOffsetX - this.arrowWidth) + 'px' : '',\r\n 'left': this.positionX === 'after' ? (this.arrowOffsetX - this.arrowWidth) + 'px' : '',\r\n 'border-top': this.positionY === 'below' ?\r\n this.arrowWidth + 'px solid ' + this.arrowColor : '0px solid transparent',\r\n 'border-right': 'undefined' === undefined ?\r\n this.arrowWidth + 'px solid ' + this.arrowColor :\r\n this.arrowWidth + 'px solid transparent',\r\n 'border-bottom': this.positionY === 'above' ?\r\n this.arrowWidth + 'px solid ' + this.arrowColor :\r\n this.arrowWidth + 'px solid transparent',\r\n 'border-left': 'undefined' === undefined ?\r\n this.arrowWidth + 'px solid ' + this.arrowColor :\r\n this.arrowWidth + 'px solid transparent',\r\n };\r\n // TODO: Remove if flex order is added.\r\n this.popoverContentStyles = {\r\n 'padding-top': this.overlapTrigger === true ? '0px' : this.arrowWidth + 'px',\r\n 'padding-bottom': this.overlapTrigger === true ? '0px' : (this.arrowWidth) + 'px',\r\n 'margin-top': this.overlapTrigger === false && this.positionY === 'below' && this.containerPositioning === false ?\r\n -(this.arrowWidth * 2) + 'px' : '0px'\r\n };\r\n };\r\n /**\r\n * It's necessary to set position-based classes to ensure the popover panel animation\r\n * folds out from the correct direction.\r\n * @param {?=} posX\r\n * @param {?=} posY\r\n * @return {?}\r\n */\r\n MdePopover.prototype.setPositionClasses = function (posX, posY) {\r\n if (posX === void 0) { posX = this.positionX; }\r\n if (posY === void 0) { posY = this.positionY; }\r\n this._classList['mde-popover-before'] = posX === 'before';\r\n this._classList['mde-popover-after'] = posX === 'after';\r\n this._classList['mde-popover-above'] = posY === 'above';\r\n this._classList['mde-popover-below'] = posY === 'below';\r\n };\r\n MdePopover.decorators = [\r\n { type: Component, args: [{\r\n selector: 'mde-popover',\r\n template: \"<ng-template> <div class=\\\"mde-popover-panel\\\" role=\\\"dialog\\\" [class.mde-popover-overlap]=\\\"overlapTrigger\\\" [ngClass]=\\\"_classList\\\" [ngStyle]=\\\"popoverPanelStyles\\\" (keydown)=\\\"_handleKeydown($event)\\\" (click)=\\\"onClick()\\\" (mouseover)=\\\"onMouseOver()\\\" (mouseleave)=\\\"onMouseLeave()\\\" [@transformPopover]=\\\"'enter'\\\"> <div class=\\\"mde-popover-direction-arrow\\\" [ngStyle]=\\\"popoverArrowStyles\\\" *ngIf=\\\"!overlapTrigger\\\"></div> <div class=\\\"mde-popover-content\\\" [ngStyle]=\\\"popoverContentStyles\\\" cdkTrapFocus=\\\"focusTrapEnabled\\\"> <ng-content></ng-content> </div> </div> </ng-template> \",\r\n styles: [\".mde-popover-panel{display:flex;flex-direction:column;max-height:calc(100vh + 48px)}.mde-popover-ripple{position:absolute;top:0;left:0;bottom:0;right:0}.mde-popover-below .mde-popover-direction-arrow{position:absolute;bottom:0;width:0;height:0;border-bottom-width:0 !important;z-index:99999}.mde-popover-above .mde-popover-direction-arrow{position:absolute;top:0px;width:0;height:0;border-top-width:0 !important;z-index:99999}.mde-popover-after .mde-popover-direction-arrow{left:20px}.mde-popover-before .mde-popover-direction-arrow{right:20px} /*# sourceMappingURL=popover.css.map */\"],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n 'role': 'dialog'\r\n },\r\n animations: [\r\n transformPopover\r\n ],\r\n exportAs: 'mdePopover'\r\n },] },\r\n ];\r\n /**\r\n * @nocollapse\r\n */\r\n MdePopover.ctorParameters = function () { return [\r\n { type: ElementRef, },\r\n ]; };\r\n MdePopover.propDecorators = {\r\n 'positionX': [{ type: Input, args: ['mdePopoverPositionX',] },],\r\n 'positionY': [{ type: Input, args: ['mdePopoverPositionY',] },],\r\n 'triggerEvent': [{ type: Input, args: ['mdePopoverTriggerOn',] },],\r\n 'enterDelay': [{ type: Input, args: ['mdePopoverEnterDelay',] },],\r\n 'leaveDelay': [{ type: Input, args: ['mdePopoverLeaveDelay',] },],\r\n 'overlapTrigger': [{ type: Input, args: ['mdePopoverOverlapTrigger',] },],\r\n 'targetOffsetX': [{ type: Input, args: ['mdePopoverOffsetX',] },],\r\n 'targetOffsetY': [{ type: Input, args: ['mdePopoverOffsetY',] },],\r\n 'arrowOffsetX': [{ type: Input, args: ['mdePopoverArrowOffsetX',] },],\r\n 'arrowWidth': [{ type: Input, args: ['mdePopoverArrowWidth',] },],\r\n 'arrowColor': [{ type: Input, args: ['mdePopoverArrowColor',] },],\r\n 'closeOnClick': [{ type: Input, args: ['mdePopoverCloseOnClick',] },],\r\n 'focusTrapEnabled': [{ type: Input, args: ['mdeFocusTrapEnabled',] },],\r\n 'classList': [{ type: Input, args: ['class',] },],\r\n 'close': [{ type: Output },],\r\n 'templateRef': [{ type: ViewChild, args: [TemplateRef,] },],\r\n };\r\n return MdePopover;\r\n}());\r\nexport { MdePopover };\r\nfunction MdePopover_tsickle_Closure_declarations() {\r\n /** @type {?} */\r\n MdePopover.decorators;\r\n /**\r\n * @nocollapse\r\n * @type {?}\r\n */\r\n MdePopover.ctorParameters;\r\n /** @type {?} */\r\n MdePopover.propDecorators;\r\n /**\r\n * Settings for popover, view setters and getters for more detail\r\n * @type {?}\r\n */\r\n MdePopover.prototype._positionX;\r\n /** @type {?} */\r\n MdePopover.prototype._positionY;\r\n /** @type {?} */\r\n MdePopover.prototype._triggerEvent;\r\n /** @type {?} */\r\n MdePopover.prototype._enterDelay;\r\n /** @type {?} */\r\n MdePopover.prototype._leaveDelay;\r\n /** @type {?} */\r\n MdePopover.prototype._overlapTrigger;\r\n /** @type {?} */\r\n MdePopover.prototype._targetOffsetX;\r\n /** @type {?} */\r\n MdePopover.prototype._targetOffsetY;\r\n /** @type {?} */\r\n MdePopover.prototype._arrowOffsetX;\r\n /** @type {?} */\r\n MdePopover.prototype._arrowWidth;\r\n /** @type {?} */\r\n MdePopover.prototype._arrowColor;\r\n /** @type {?} */\r\n MdePopover.prototype._closeOnClick;\r\n /** @type {?} */\r\n MdePopover.prototype._focusTrapEnabled;\r\n /**\r\n * Config object to be passed into the popover's ngClass\r\n * @type {?}\r\n */\r\n MdePopover.prototype._classList;\r\n /**\r\n *\r\n * @type {?}\r\n */\r\n MdePopover.prototype.containerPositioning;\r\n /**\r\n * Closing disabled on popover\r\n * @type {?}\r\n */\r\n MdePopover.prototype.closeDisabled;\r\n /**\r\n * Config object to be passed into the popover's arrow ngStyle\r\n * @type {?}\r\n */\r\n MdePopover.prototype.popoverPanelStyles;\r\n /**\r\n * Config object to be passed into the popover's arrow ngStyle\r\n * @type {?}\r\n */\r\n MdePopover.prototype.popoverArrowStyles;\r\n /**\r\n * Config object to be passed into the popover's content ngStyle\r\n * @type {?}\r\n */\r\n MdePopover.prototype.popoverContentStyles;\r\n /**\r\n * Emits the current animation state whenever it changes.\r\n * @type {?}\r\n */\r\n MdePopover.prototype._onAnimationStateChange;\r\n /**\r\n * Event emitted when the popover is closed.\r\n * @type {?}\r\n */\r\n MdePopover.prototype.close;\r\n /** @type {?} */\r\n MdePopover.prototype.templateRef;\r\n /** @type {?} */\r\n MdePopover.prototype._elementRef;\r\n}\r\n//# sourceMappingURL=popover.js.map","import { Directive, ElementRef, EventEmitter, Input, Optional, Output, ViewContainerRef, } from '@angular/core';\r\nimport { TemplatePortal, isFakeMousedownFromScreenReader } from '@angular/cdk';\r\nimport { Directionality, Overlay, OverlayState, } from '@angular/material';\r\nimport { throwMdePopoverMissingError } from './popover-errors';\r\n/**\r\n * This directive is intended to be used in conjunction with an md-popover tag. It is\r\n * responsible for toggling the display of the provided popover instance.\r\n */\r\nvar MdePopoverTrigger = (function () {\r\n /**\r\n * @param {?} _overlay\r\n * @param {?} _element\r\n * @param {?} _viewContainerRef\r\n * @param {?} _dir\r\n */\r\n function MdePopoverTrigger(_overlay, _element, _viewContainerRef, _dir) {\r\n this._overlay = _overlay;\r\n this._element = _element;\r\n this._viewContainerRef = _viewContainerRef;\r\n this._dir = _dir;\r\n this._overlayRef = null;\r\n this._popoverOpen = false;\r\n this._openedByMouse = false;\r\n /**\r\n * Event emitted when the associated popover is opened.\r\n */\r\n this.onPopoverOpen = new EventEmitter();\r\n /**\r\n * Event emitted when the associated popover is closed.\r\n */\r\n this.onPopoverClose = new EventEmitter();\r\n }\r\n /**\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype.ngAfterViewInit = function () {\r\n var _this = this;\r\n this._checkPopover();\r\n this._setCurrentConfig();\r\n this.popover.close.subscribe(function () { return _this.closePopover(); });\r\n };\r\n /**\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype.ngOnDestroy = function () { this.destroyPopover(); };\r\n /**\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype._setCurrentConfig = function () {\r\n if (this.positionX === 'before' || this.positionX === 'after') {\r\n this.popover.positionX = this.positionX;\r\n }\r\n if (this.positionY === 'above' || this.positionY === 'below') {\r\n this.popover.positionY = this.positionY;\r\n }\r\n if (this.triggerEvent) {\r\n this.popover.triggerEvent = this.triggerEvent;\r\n }\r\n if (this.enterDelay) {\r\n this.popover.enterDelay = this.enterDelay;\r\n }\r\n if (this.leaveDelay) {\r\n this.popover.leaveDelay = this.leaveDelay;\r\n }\r\n if (this.overlapTrigger === true || this.overlapTrigger === false) {\r\n this.popover.overlapTrigger = this.overlapTrigger;\r\n }\r\n if (this.targetOffsetX) {\r\n this.popover.targetOffsetX = this.targetOffsetX;\r\n }\r\n if (this.targetOffsetY) {\r\n this.popover.targetOffsetY = this.targetOffsetY;\r\n }\r\n if (this.arrowOffsetX) {\r\n this.popover.arrowOffsetX = this.arrowOffsetX;\r\n }\r\n if (this.arrowWidth) {\r\n this.popover.arrowWidth = this.arrowWidth;\r\n }\r\n if (this.arrowColor) {\r\n this.popover.arrowColor = this.arrowColor;\r\n }\r\n if (this.closeOnClick === true || this.closeOnClick === false) {\r\n this.popover.closeOnClick = this.closeOnClick;\r\n }\r\n this.popover.setCurrentStyles();\r\n };\r\n Object.defineProperty(MdePopoverTrigger.prototype, \"popoverOpen\", {\r\n /**\r\n * Whether the popover is open.\r\n * @return {?}\r\n */\r\n get: function () { return this._popoverOpen; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype.onClick = function () {\r\n if (this.popover.triggerEvent === 'click') {\r\n // this.popover.setCurrentStyles();\r\n // this._setCurrentConfig();\r\n this.togglePopover();\r\n }\r\n };\r\n /**\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype.onMouseOver = function () {\r\n var _this = this;\r\n if (this.popover.triggerEvent === 'hover') {\r\n this._mouseoverTimer = setTimeout(function () {\r\n _this.openPopover();\r\n }, this.popover.enterDelay);\r\n }\r\n };\r\n /**\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype.onMouseLeave = function () {\r\n var _this = this;\r\n if (this.popover.triggerEvent === 'hover') {\r\n if (this._mouseoverTimer) {\r\n clearTimeout(this._mouseoverTimer);\r\n this._mouseoverTimer = null;\r\n }\r\n if (this._popoverOpen) {\r\n setTimeout(function () {\r\n if (!_this.popover.closeDisabled) {\r\n _this.closePopover();\r\n }\r\n }, this.popover.leaveDelay);\r\n }\r\n }\r\n };\r\n /**\r\n * Toggles the popover between the open and closed states.\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype.togglePopover = function () {\r\n return this._popoverOpen ? this.closePopover() : this.openPopover();\r\n };\r\n /**\r\n * Opens the popover.\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype.openPopover = function () {\r\n if (!this._popoverOpen) {\r\n this._createOverlay().attach(this._portal);\r\n /** Only subscribe to backdrop if trigger event is click */\r\n if (this.triggerEvent === 'click') {\r\n this._subscribeToBackdrop();\r\n }\r\n this._initPopover();\r\n }\r\n };\r\n /**\r\n * Closes the popover.\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype.closePopover = function () {\r\n if (this._overlayRef) {\r\n this._overlayRef.detach();\r\n /** Only unsubscribe to backdrop if trigger event is click */\r\n if (this.triggerEvent === 'click') {\r\n this._backdropSubscription.unsubscribe();\r\n }\r\n this._resetPopover();\r\n }\r\n };\r\n /**\r\n * Removes the popover from the DOM.\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype.destroyPopover = function () {\r\n if (this._overlayRef) {\r\n this._overlayRef.dispose();\r\n this._overlayRef = null;\r\n this._cleanUpSubscriptions();\r\n }\r\n };\r\n /**\r\n * Focuses the popover trigger.\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype.focus = function () {\r\n this._element.nativeElement.focus();\r\n };\r\n Object.defineProperty(MdePopoverTrigger.prototype, \"dir\", {\r\n /**\r\n * The text direction of the containing app.\r\n * @return {?}\r\n */\r\n get: function () {\r\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * This method ensures that the popover closes when the overlay backdrop is clicked.\r\n * We do not use first() here because doing so would not catch clicks from within\r\n * the popover, and it would fail to unsubscribe properly. Instead, we unsubscribe\r\n * explicitly when the popover is closed or destroyed.\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype._subscribeToBackdrop = function () {\r\n var _this = this;\r\n if (this._overlayRef) {\r\n this._backdropSubscription = this._overlayRef.backdropClick().subscribe(function () {\r\n _this.popover._emitCloseEvent();\r\n });\r\n }\r\n };\r\n /**\r\n * This method sets the popover state to open and focuses the first item if\r\n * the popover was opened via the keyboard.\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype._initPopover = function () {\r\n this._setIsPopoverOpen(true);\r\n };\r\n /**\r\n * This method resets the popover when it's closed, most importantly restoring\r\n * focus to the popover trigger if the popover was opened via the keyboard.\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype._resetPopover = function () {\r\n this._setIsPopoverOpen(false);\r\n // Focus only needs to be reset to the host element if the popover was opened\r\n // by the keyboard and manually shifted to the first popover item.\r\n if (!this._openedByMouse) {\r\n this.focus();\r\n }\r\n this._openedByMouse = false;\r\n };\r\n /**\r\n * set state rather than toggle to support triggers sharing a popover\r\n * @param {?} isOpen\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype._setIsPopoverOpen = function (isOpen) {\r\n this._popoverOpen = isOpen;\r\n this._popoverOpen ? this.onPopoverOpen.emit() : this.onPopoverClose.emit();\r\n };\r\n /**\r\n * This method checks that a valid instance of MdPopover has been passed into\r\n * mdPopoverTriggerFor. If not, an exception is thrown.\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype._checkPopover = function () {\r\n if (!this.popover) {\r\n throwMdePopoverMissingError();\r\n }\r\n };\r\n /**\r\n * This method creates the overlay from the provided popover's template and saves its\r\n * OverlayRef so that it can be attached to the DOM when openPopover is called.\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype._createOverlay = function () {\r\n if (!this._overlayRef) {\r\n this._portal = new TemplatePortal(this.popover.templateRef, this._viewContainerRef);\r\n var /** @type {?} */ config = this._getOverlayConfig();\r\n this._subscribeToPositions(/** @type {?} */ (config.positionStrategy));\r\n this._overlayRef = this._overlay.create(config);\r\n }\r\n return this._overlayRef;\r\n };\r\n /**\r\n * This method builds the configuration object needed to create the overlay, the OverlayState.\r\n * @return {?} OverlayState\r\n */\r\n MdePopoverTrigger.prototype._getOverlayConfig = function () {\r\n var /** @type {?} */ overlayState = new OverlayState();\r\n overlayState.positionStrategy = this._getPosition()\r\n .withDirection(this.dir);\r\n /** Display overlay backdrop if trigger event is click */\r\n if (this.triggerEvent === 'click') {\r\n overlayState.hasBackdrop = true;\r\n overlayState.backdropClass = 'cdk-overlay-transparent-backdrop';\r\n }\r\n overlayState.direction = this.dir;\r\n overlayState.scrollStrategy = this._overlay.scrollStrategies.reposition();\r\n return overlayState;\r\n };\r\n /**\r\n * Listens to changes in the position of the overlay and sets the correct classes\r\n * on the popover based on the new position. This ensures the animation origin is always\r\n * correct, even if a fallback position is used for the overlay.\r\n * @param {?} position\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype._subscribeToPositions = function (position) {\r\n var _this = this;\r\n this._positionSubscription = position.onPositionChange.subscribe(function (change) {\r\n var /** @type {?} */ posisionX = change.connectionPair.overlayX === 'start' ? 'after' : 'before';\r\n var /** @type {?} */ posisionY = change.connectionPair.overlayY === 'top' ? 'below' : 'above';\r\n if (!_this.popover.overlapTrigger) {\r\n posisionY = posisionY === 'below' ? 'above' : 'below';\r\n }\r\n _this.popover.positionX = posisionX;\r\n _this.popover.positionY = posisionY;\r\n _this.popover.setCurrentStyles();\r\n _this.popover.setPositionClasses(posisionX, posisionY);\r\n });\r\n };\r\n /**\r\n * This method builds the position strategy for the overlay, so the popover is properly connected\r\n * to the trigger.\r\n * @return {?} ConnectedPositionStrategy\r\n */\r\n MdePopoverTrigger.prototype._getPosition = function () {\r\n var _a = this.popover.positionX === 'before' ? ['end', 'start'] : ['start', 'end'], posX = _a[0], fallbackX = _a[1];\r\n var _b = this.popover.positionY === 'above' ? ['bottom', 'top'] : ['top', 'bottom'], overlayY = _b[0], fallbackOverlayY = _b[1];\r\n var /** @type {?} */ originY = overlayY;\r\n var /** @type {?} */ fallbackOriginY = fallbackOverlayY;\r\n /** Reverse overlayY and fallbackOverlayY when overlapTrigger is false */\r\n if (!this.popover.overlapTrigger) {\r\n originY = overlayY === 'top' ? 'bottom' : 'top';\r\n fallbackOriginY = fallbackOverlayY === 'top' ? 'bottom' : 'top';\r\n }\r\n var /** @type {?} */ offsetX = 0;\r\n var /** @type {?} */ offsetY = 0;\r\n if (this.popover.targetOffsetX && !isNaN(Number(this.popover.targetOffsetX))) {\r\n offsetX = Number(this.popover.targetOffsetX);\r\n // offsetX = -16;\r\n }\r\n if (this.popover.targetOffsetY && !isNaN(Number(this.popover.targetOffsetY))) {\r\n offsetY = Number(this.popover.targetOffsetY);\r\n // offsetY = -10;\r\n }\r\n /**\r\n * For overriding position element, when mdePopoverTargetAt has a valid element reference.\r\n * Useful for sticking popover to parent element and offsetting arrow to trigger element.\r\n * If undefined defaults to the trigger element reference.\r\n */\r\n var element = this._element;\r\n if (typeof this.targetElement !== 'undefined') {\r\n this.popover.containerPositioning = true;\r\n element = this.targetElement._elementRef;\r\n }\r\n return this._overlay.position()\r\n .connectedTo(element, { originX: posX, originY: originY }, { overlayX: posX, overlayY: overlayY })\r\n .withFallbackPosition({ originX: fallbackX, originY: originY }, { overlayX: fallbackX, overlayY: overlayY })\r\n .withFallbackPosition({ originX: posX, originY: fallbackOriginY }, { overlayX: posX, overlayY: fallbackOverlayY })\r\n .withFallbackPosition({ originX: fallbackX, originY: fallbackOriginY }, { overlayX: fallbackX, overlayY: fallbackOverlayY })\r\n .withOffsetX(offsetX)\r\n .withOffsetY(offsetY);\r\n };\r\n /**\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype._cleanUpSubscriptions = function () {\r\n if (this._backdropSubscription) {\r\n this._backdropSubscription.unsubscribe();\r\n }\r\n if (this._positionSubscription) {\r\n this._positionSubscription.unsubscribe();\r\n }\r\n };\r\n /**\r\n * @param {?} event\r\n * @return {?}\r\n */\r\n MdePopoverTrigger.prototype._handleMousedown = function (event) {\r\n if (!isFakeMousedownFromScreenReader(event)) {\r\n this._openedByMouse = true;\r\n }\r\n };\r\n MdePopoverTrigger.decorators = [\r\n { type: Directive, args: [{\r\n selector: '[mdePopoverTriggerFor]',\r\n host: {\r\n 'aria-haspopup': 'true',\r\n '(mouseover)': 'onMouseOver()',\r\n '(mousedown)': '_handleMousedown($event)',\r\n '(mouseleave)': 'onMouseLeave()',\r\n '(click)': 'onClick()',\r\n },\r\n exportAs: 'mdePopoverTrigger'\r\n },] },\r\n ];\r\n /**\r\n * @nocollapse\r\n */\r\n MdePopoverTrigger.ctorParameters = function () { return [\r\n { type: Overlay, },\r\n { type: ElementRef, },\r\n { type: ViewContainerRef, },\r\n { type: Directionality, decorators: [{ type: Optional },] },\r\n ]; };\r\n MdePopoverTrigger.propDecorators = {\r\n 'popover': [{ type: Input, args: ['mdePopoverTriggerFor',] },],\r\n 'targetElement': [{ type: Input, args: ['mdePopoverTargetAt',] },],\r\n 'positionX': [{ type: Input, args: ['mdePopoverPositionX',] },],\r\n 'positionY': [{ type: Input, args: ['mdePopoverPositionY',] },],\r\n 'triggerEvent': [{ type: Input, args: ['mdePopoverTriggerOn',] },],\r\n 'enterDelay': [{ type: Input, args: ['mdePopoverEnterDelay',] },],\r\n 'leaveDelay': [{ type: Input, args: ['mdePopoverLeaveDelay',] },],\r\n 'overlapTrigger': [{ type: Input, args: ['mdePopoverOverlapTrigger',] },],\r\n 'targetOffsetX': [{ type: Input, args: ['mdePopoverOffsetX',] },],\r\n 'targetOffsetY': [{ type: Input, args: ['mdePopoverOffsetY',] },],\r\n 'arrowOffsetX': [{ type: Input, args: ['mdePopoverArrowOffsetX',] },],\r\n 'arrowWidth': [{ type: Input, args: ['mdePopoverArrowWidth',] },],\r\n 'arrowColor': [{ type: Input, args: ['mdePopoverArrowColor',] },],\r\n 'closeOnClick': [{ type: Input, args: ['mdePopoverCloseOnClick',] },],\r\n 'onPopoverOpen': [{ type: Output },],\r\n 'onPopoverClose': [{ type: Output },],\r\n };\r\n return MdePopoverTrigger;\r\n}());\r\nexport { MdePopoverTrigger };\r\nfunction MdePopoverTrigger_tsickle_Closure_declarations() {\r\n /** @type {?} */\r\n MdePopoverTrigger.decorators;\r\n /**\r\n * @nocollapse\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.ctorParameters;\r\n /** @type {?} */\r\n MdePopoverTrigger.propDecorators;\r\n /** @type {?} */\r\n MdePopoverTrigger.prototype._portal;\r\n /** @type {?} */\r\n MdePopoverTrigger.prototype._overlayRef;\r\n /** @type {?} */\r\n MdePopoverTrigger.prototype._popoverOpen;\r\n /** @type {?} */\r\n MdePopoverTrigger.prototype._backdropSubscription;\r\n /** @type {?} */\r\n MdePopoverTrigger.prototype._positionSubscription;\r\n /** @type {?} */\r\n MdePopoverTrigger.prototype._mouseoverTimer;\r\n /** @type {?} */\r\n MdePopoverTrigger.prototype._openedByMouse;\r\n /**\r\n * References the popover instance that the trigger is associated with.\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.popover;\r\n /**\r\n * References the popover target instance that the trigger is associated with.\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.targetElement;\r\n /**\r\n * Position of the popover in the X axis\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.positionX;\r\n /**\r\n * Position of the popover in the Y axis\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.positionY;\r\n /**\r\n * Popover trigger event\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.triggerEvent;\r\n /**\r\n * Popover delay\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.enterDelay;\r\n /**\r\n * Popover delay\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.leaveDelay;\r\n /**\r\n * Popover overlap trigger\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.overlapTrigger;\r\n /**\r\n * Popover target offset x\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.targetOffsetX;\r\n /**\r\n * Popover target offset y\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.targetOffsetY;\r\n /**\r\n * Popover arrow offset x\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.arrowOffsetX;\r\n /**\r\n * Popover arrow width\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.arrowWidth;\r\n /**\r\n * Popover arrow color\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.arrowColor;\r\n /**\r\n * Popover container close on click\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.closeOnClick;\r\n /**\r\n * Event emitted when the associated popover is opened.\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.onPopoverOpen;\r\n /**\r\n * Event emitted when the associated popover is closed.\r\n * @type {?}\r\n */\r\n MdePopoverTrigger.prototype.onPopoverClose;\r\n /** @type {?} */\r\n MdePopoverTrigger.prototype._overlay;\r\n /** @type {?} */\r\n MdePopoverTrigger.prototype._element;\r\n /** @type {?} */\r\n MdePopoverTrigger.prototype._viewContainerRef;\r\n /** @type {?} */\r\n MdePopoverTrigger.prototype._dir;\r\n}\r\n//# sourceMappingURL=popover-trigger.js.map","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { A11yModule } from '@angular/cdk';\r\nimport { OverlayModule, MdCommonModule, MdRippleModule } from '@angular/material';\r\nimport { MdePopover } from './popover';\r\nimport { MdePopoverTrigger } from './popover-trigger';\r\nvar MdePopoverModule = (function () {\r\n function MdePopoverModule() {\r\n }\r\n MdePopoverModule.decorators = [\r\n { type: NgModule, args: [{\r\n imports: [\r\n OverlayModule,\r\n CommonModule,\r\n MdRippleModule,\r\n MdCommonModule,\r\n A11yModule\r\n ],\r\n exports: [MdePopover, MdePopoverTrigger, MdCommonModule],\r\n declarations: [MdePopover, MdePopoverTrigger],\r\n },] },\r\n ];\r\n /**\r\n * @nocollapse\r\n */\r\n MdePopoverModule.ctorParameters = function () { return []; };\r\n return MdePopoverModule;\r\n}());\r\nexport { MdePopoverModule };\r\nfunction MdePopoverModule_tsickle_Closure_declarations() {\r\n /** @type {?} */\r\n MdePopoverModule.decorators;\r\n /**\r\n * @nocollapse\r\n * @type {?}\r\n */\r\n MdePopoverModule.ctorParameters;\r\n}\r\nexport { MdePopover } from './popover';\r\nexport { MdePopoverTrigger } from './popover-trigger';\r\nexport { transformPopover } from './popover-animations';\r\n//# sourceMappingURL=index.js.map","/**\r\n * Generated bundle index. Do not edit.\r\n */\r\nexport { MdePopoverModule } from './index';\r\nexport { MdePopover as ɵa } from './popover/popover';\r\nexport { transformPopover as ɵc } from './popover/popover-animations';\r\nexport { MdePopoverTrigger as ɵb } from './popover/popover-trigger';\r\n//# sourceMappingURL=mde.js.map"],"names":[],"mappings":"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"}