{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/theme-18cbe2cc.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/framework-delegate-c2e2e1f4.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/index-4d91f03a.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/ion-popover-md.entry.js"],"names":["hostContext","selector","el","closest","createColorClasses","color","_a","length","undefined","getClassMap","classes","map","Array","isArray","split","filter","c","trim","forEach","SCHEME","openURL","url","ev","direction","router","this","test","document","querySelector","preventDefault","push","attachComponent","delegate","container","component","cssClasses","componentProps","label","attachViewToDom","HTMLElement","ownerDocument","createElement","classList","add","Object","assign","appendChild","componentOnReady","Error","sent","detachComponent","element","parentElement","removeViewFromDom","remove","Promise","resolve","transition","opts","reject","beforeTransition","runTransition","then","result","animation","destroy","afterTransition","error","enteringEl","leavingEl","setZIndex","showGoBack","setPageHidden","animationBuilder","getAnimationBuilder","noAnimation","_b","animated","duration","mode","iosTransitionAnimation","mdTransitionAnimation","trans","didComplete","waitForReady","trys","create","baseEl","fireWillEvents","playTransition","progressCallback","fireDidEvents","hasCompleted","defaultDeep","promises","deep","deepWait","deepReady","shallowReady","all","notifyViewReady","viewIsReady","promise","onFinish","currentStep","progressStart","play","lifecycle","eventName","CustomEvent","bubbles","cancelable","dispatchEvent","from","children","hidden","setAttribute","removeAttribute","style","zIndex","getIonPageElement","contains","iosEnterAnimation","originY","originX","contentEl","contentWidth","contentDimentions","getBoundingClientRect","width","contentHeight","height","bodyWidth","defaultView","innerWidth","bodyHeight","innerHeight","targetTop","targetDim","target","top","targetLeft","left","targetWidth","targetHeight","arrowEl","arrowWidth","arrowDim","arrowHeight","arrowCSS","display","popoverCSS","checkSafeAreaLeft","checkSafeAreaRight","baseAnimation","POPOVER_IOS_BODY_PADDING","className","bottom","transformOrigin","backdropAnimation","wrapperAnimation","addElement","fromTo","easing","addAnimation","iosLeaveAnimation","mdEnterAnimation","isRTL","doc","dir","POPOVER_MD_BODY_PADDING","contentAnimation","viewportAnimation","beforeStyles","mdLeaveAnimation","Popover","class_1","prototype","present","data","presented","popover","usersElement","event","dismiss","role","shouldDismiss","onDidDismiss","onWillDismiss","render","onLifecycle","overlayIndex","class","cssClass","translucent","onIonPopoverDidPresent","onIonPopoverWillPresent","onIonPopoverWillDismiss","onIonPopoverDidDismiss","onIonDismiss","onDismiss","onIonBackdropTap","onBackdropTap","tappable","backdropDismiss","visible","showBackdrop","defineProperty","get","enumerable","configurable","hostRef","_this","keyboardClose","stopPropagation","modalEvent","name","LIFECYCLE_MAP","type","detail","didPresent","willPresent","willDismiss","didDismiss"],"mappings":"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","file":"js/chunk-7debd47e.1a659979.js","sourcesContent":["import { __awaiter, __generator } from \"tslib\";\nvar hostContext = function (selector, el) {\n return el.closest(selector) !== null;\n};\n/**\n * Create the mode and color classes for the component based on the classes passed in\n */\nvar createColorClasses = function (color) {\n var _a;\n return (typeof color === 'string' && color.length > 0) ? (_a = {\n 'ion-color': true\n },\n _a[\"ion-color-\" + color] = true,\n _a) : undefined;\n};\nvar getClassList = function (classes) {\n if (classes !== undefined) {\n var array = Array.isArray(classes) ? classes : classes.split(' ');\n return array\n .filter(function (c) { return c != null; })\n .map(function (c) { return c.trim(); })\n .filter(function (c) { return c !== ''; });\n }\n return [];\n};\nvar getClassMap = function (classes) {\n var map = {};\n getClassList(classes).forEach(function (c) { return map[c] = true; });\n return map;\n};\nvar SCHEME = /^[a-z][a-z0-9+\\-.]*:/;\nvar openURL = function (url, ev, direction) { return __awaiter(void 0, void 0, void 0, function () {\n var router;\n return __generator(this, function (_a) {\n if (url != null && url[0] !== '#' && !SCHEME.test(url)) {\n router = document.querySelector('ion-router');\n if (router) {\n if (ev != null) {\n ev.preventDefault();\n }\n return [2 /*return*/, router.push(url, direction)];\n }\n }\n return [2 /*return*/, false];\n });\n}); };\nexport { createColorClasses as c, getClassMap as g, hostContext as h, openURL as o };\n","import { __awaiter, __generator } from \"tslib\";\nvar attachComponent = function (delegate, container, component, cssClasses, componentProps) { return __awaiter(void 0, void 0, void 0, function () {\n var el;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (delegate) {\n return [2 /*return*/, delegate.attachViewToDom(container, component, componentProps, cssClasses)];\n }\n if (typeof component !== 'string' && !(component instanceof HTMLElement)) {\n throw new Error('framework delegate is missing');\n }\n el = (typeof component === 'string')\n ? container.ownerDocument && container.ownerDocument.createElement(component)\n : component;\n if (cssClasses) {\n cssClasses.forEach(function (c) { return el.classList.add(c); });\n }\n if (componentProps) {\n Object.assign(el, componentProps);\n }\n container.appendChild(el);\n if (!el.componentOnReady) return [3 /*break*/, 2];\n return [4 /*yield*/, el.componentOnReady()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/, el];\n }\n });\n}); };\nvar detachComponent = function (delegate, element) {\n if (element) {\n if (delegate) {\n var container = element.parentElement;\n return delegate.removeViewFromDom(container, element);\n }\n element.remove();\n }\n return Promise.resolve();\n};\nexport { attachComponent as a, detachComponent as d };\n","import { __awaiter, __generator } from \"tslib\";\nimport { w as writeTask } from './core-feeeff0d.js';\nimport { b as LIFECYCLE_WILL_LEAVE, L as LIFECYCLE_WILL_ENTER, a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE } from './constants-3c3e1099.js';\nvar iosTransitionAnimation = function () { return import('./ios.transition-504cdd09.js'); };\nvar mdTransitionAnimation = function () { return import('./md.transition-fea2bbfb.js'); };\nvar transition = function (opts) {\n return new Promise(function (resolve, reject) {\n writeTask(function () {\n beforeTransition(opts);\n runTransition(opts).then(function (result) {\n if (result.animation) {\n result.animation.destroy();\n }\n afterTransition(opts);\n resolve(result);\n }, function (error) {\n afterTransition(opts);\n reject(error);\n });\n });\n });\n};\nvar beforeTransition = function (opts) {\n var enteringEl = opts.enteringEl;\n var leavingEl = opts.leavingEl;\n setZIndex(enteringEl, leavingEl, opts.direction);\n if (opts.showGoBack) {\n enteringEl.classList.add('can-go-back');\n }\n else {\n enteringEl.classList.remove('can-go-back');\n }\n setPageHidden(enteringEl, false);\n if (leavingEl) {\n setPageHidden(leavingEl, false);\n }\n};\nvar runTransition = function (opts) { return __awaiter(void 0, void 0, void 0, function () {\n var animationBuilder, ani;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, getAnimationBuilder(opts)];\n case 1:\n animationBuilder = _a.sent();\n ani = (animationBuilder)\n ? animation(animationBuilder, opts)\n : noAnimation(opts);\n return [2 /*return*/, ani];\n }\n });\n}); };\nvar afterTransition = function (opts) {\n var enteringEl = opts.enteringEl;\n var leavingEl = opts.leavingEl;\n enteringEl.classList.remove('ion-page-invisible');\n if (leavingEl !== undefined) {\n leavingEl.classList.remove('ion-page-invisible');\n }\n};\nvar getAnimationBuilder = function (opts) { return __awaiter(void 0, void 0, void 0, function () {\n var getAnimation, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!opts.leavingEl || !opts.animated || opts.duration === 0) {\n return [2 /*return*/, undefined];\n }\n if (opts.animationBuilder) {\n return [2 /*return*/, opts.animationBuilder];\n }\n if (!(opts.mode === 'ios')) return [3 /*break*/, 2];\n return [4 /*yield*/, iosTransitionAnimation()];\n case 1:\n _a = (_b.sent()).iosTransitionAnimation;\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, mdTransitionAnimation()];\n case 3:\n _a = (_b.sent()).mdTransitionAnimation;\n _b.label = 4;\n case 4:\n getAnimation = _a;\n return [2 /*return*/, getAnimation];\n }\n });\n}); };\nvar animation = function (animationBuilder, opts) { return __awaiter(void 0, void 0, void 0, function () {\n var trans, mod, err_1, didComplete;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, waitForReady(opts, true)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n _a.trys.push([2, 5, , 6]);\n return [4 /*yield*/, import('./index-69c37885.js')];\n case 3:\n mod = _a.sent();\n return [4 /*yield*/, mod.create(animationBuilder, opts.baseEl, opts)];\n case 4:\n trans = _a.sent();\n return [3 /*break*/, 6];\n case 5:\n err_1 = _a.sent();\n trans = animationBuilder(opts.baseEl, opts);\n return [3 /*break*/, 6];\n case 6:\n fireWillEvents(opts.enteringEl, opts.leavingEl);\n return [4 /*yield*/, playTransition(trans, opts)];\n case 7:\n didComplete = _a.sent();\n if (opts.progressCallback) {\n opts.progressCallback(undefined);\n }\n if (didComplete) {\n fireDidEvents(opts.enteringEl, opts.leavingEl);\n }\n return [2 /*return*/, {\n hasCompleted: didComplete,\n animation: trans\n }];\n }\n });\n}); };\nvar noAnimation = function (opts) { return __awaiter(void 0, void 0, void 0, function () {\n var enteringEl, leavingEl;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n enteringEl = opts.enteringEl;\n leavingEl = opts.leavingEl;\n return [4 /*yield*/, waitForReady(opts, false)];\n case 1:\n _a.sent();\n fireWillEvents(enteringEl, leavingEl);\n fireDidEvents(enteringEl, leavingEl);\n return [2 /*return*/, {\n hasCompleted: true\n }];\n }\n });\n}); };\nvar waitForReady = function (opts, defaultDeep) { return __awaiter(void 0, void 0, void 0, function () {\n var deep, promises;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n deep = opts.deepWait !== undefined ? opts.deepWait : defaultDeep;\n promises = deep ? [\n deepReady(opts.enteringEl),\n deepReady(opts.leavingEl),\n ] : [\n shallowReady(opts.enteringEl),\n shallowReady(opts.leavingEl),\n ];\n return [4 /*yield*/, Promise.all(promises)];\n case 1:\n _a.sent();\n return [4 /*yield*/, notifyViewReady(opts.viewIsReady, opts.enteringEl)];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nvar notifyViewReady = function (viewIsReady, enteringEl) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!viewIsReady) return [3 /*break*/, 2];\n return [4 /*yield*/, viewIsReady(enteringEl)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n}); };\nvar playTransition = function (trans, opts) {\n var progressCallback = opts.progressCallback;\n // TODO: Remove AnimationBuilder\n var promise = new Promise(function (resolve) {\n trans.onFinish(function (currentStep) {\n if (typeof currentStep === 'number') {\n resolve(currentStep === 1);\n }\n else if (trans.hasCompleted !== undefined) {\n resolve(trans.hasCompleted);\n }\n });\n });\n // cool, let's do this, start the transition\n if (progressCallback) {\n // this is a swipe to go back, just get the transition progress ready\n // kick off the swipe animation start\n trans.progressStart(true);\n progressCallback(trans);\n }\n else {\n // only the top level transition should actually start \"play\"\n // kick it off and let it play through\n // ******** DOM WRITE ****************\n trans.play();\n }\n // create a callback for when the animation is done\n return promise;\n};\nvar fireWillEvents = function (enteringEl, leavingEl) {\n lifecycle(leavingEl, LIFECYCLE_WILL_LEAVE);\n lifecycle(enteringEl, LIFECYCLE_WILL_ENTER);\n};\nvar fireDidEvents = function (enteringEl, leavingEl) {\n lifecycle(enteringEl, LIFECYCLE_DID_ENTER);\n lifecycle(leavingEl, LIFECYCLE_DID_LEAVE);\n};\nvar lifecycle = function (el, eventName) {\n if (el) {\n var ev = new CustomEvent(eventName, {\n bubbles: false,\n cancelable: false,\n });\n el.dispatchEvent(ev);\n }\n};\nvar shallowReady = function (el) {\n if (el && el.componentOnReady) {\n return el.componentOnReady();\n }\n return Promise.resolve();\n};\nvar deepReady = function (el) { return __awaiter(void 0, void 0, void 0, function () {\n var element, stencilEl;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n element = el;\n if (!element) return [3 /*break*/, 4];\n if (!(element.componentOnReady != null)) return [3 /*break*/, 2];\n return [4 /*yield*/, element.componentOnReady()];\n case 1:\n stencilEl = _a.sent();\n if (stencilEl != null) {\n return [2 /*return*/];\n }\n _a.label = 2;\n case 2: return [4 /*yield*/, Promise.all(Array.from(element.children).map(deepReady))];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n}); };\nvar setPageHidden = function (el, hidden) {\n if (hidden) {\n el.setAttribute('aria-hidden', 'true');\n el.classList.add('ion-page-hidden');\n }\n else {\n el.hidden = false;\n el.removeAttribute('aria-hidden');\n el.classList.remove('ion-page-hidden');\n }\n};\nvar setZIndex = function (enteringEl, leavingEl, direction) {\n if (enteringEl !== undefined) {\n enteringEl.style.zIndex = (direction === 'back')\n ? '99'\n : '101';\n }\n if (leavingEl !== undefined) {\n leavingEl.style.zIndex = '100';\n }\n};\nvar getIonPageElement = function (element) {\n if (element.classList.contains('ion-page')) {\n return element;\n }\n var ionPage = element.querySelector(':scope > .ion-page, :scope > ion-nav, :scope > ion-tabs');\n if (ionPage) {\n return ionPage;\n }\n // idk, return the original element so at least something animates and we don't have a null pointer\n return element;\n};\nexport { deepReady as d, getIonPageElement as g, lifecycle as l, setPageHidden as s, transition as t };\n","import { __awaiter, __generator } from \"tslib\";\nimport { r as registerInstance, c as getIonMode, d as createEvent, h, H as Host, e as getElement } from './core-feeeff0d.js';\nimport './config-3c7f3790.js';\nimport './helpers-46f4a262.js';\nimport { c as createAnimation } from './animation-af478fe9.js';\nimport './constants-3c3e1099.js';\nimport { B as BACKDROP, d as prepareOverlay, e as present, f as dismiss, g as eventMethod } from './overlays-10640d86.js';\nimport { g as getClassMap } from './theme-18cbe2cc.js';\nimport { a as attachComponent, d as detachComponent } from './framework-delegate-c2e2e1f4.js';\nimport { d as deepReady } from './index-4d91f03a.js';\n/**\n * iOS Popover Enter Animation\n */\nvar iosEnterAnimation = function (baseEl, ev) {\n var originY = 'top';\n var originX = 'left';\n var contentEl = baseEl.querySelector('.popover-content');\n var contentDimentions = contentEl.getBoundingClientRect();\n var contentWidth = contentDimentions.width;\n var contentHeight = contentDimentions.height;\n var bodyWidth = baseEl.ownerDocument.defaultView.innerWidth;\n var bodyHeight = baseEl.ownerDocument.defaultView.innerHeight;\n // If ev was passed, use that for target element\n var targetDim = ev && ev.target && ev.target.getBoundingClientRect();\n var targetTop = targetDim != null && 'top' in targetDim ? targetDim.top : bodyHeight / 2 - contentHeight / 2;\n var targetLeft = targetDim != null && 'left' in targetDim ? targetDim.left : bodyWidth / 2;\n var targetWidth = (targetDim && targetDim.width) || 0;\n var targetHeight = (targetDim && targetDim.height) || 0;\n var arrowEl = baseEl.querySelector('.popover-arrow');\n var arrowDim = arrowEl.getBoundingClientRect();\n var arrowWidth = arrowDim.width;\n var arrowHeight = arrowDim.height;\n if (targetDim == null) {\n arrowEl.style.display = 'none';\n }\n var arrowCSS = {\n top: targetTop + targetHeight,\n left: targetLeft + targetWidth / 2 - arrowWidth / 2\n };\n var popoverCSS = {\n top: targetTop + targetHeight + (arrowHeight - 1),\n left: targetLeft + targetWidth / 2 - contentWidth / 2\n };\n // If the popover left is less than the padding it is off screen\n // to the left so adjust it, else if the width of the popover\n // exceeds the body width it is off screen to the right so adjust\n //\n var checkSafeAreaLeft = false;\n var checkSafeAreaRight = false;\n // If the popover left is less than the padding it is off screen\n // to the left so adjust it, else if the width of the popover\n // exceeds the body width it is off screen to the right so adjust\n // 25 is a random/arbitrary number. It seems to work fine for ios11\n // and iPhoneX. Is it perfect? No. Does it work? Yes.\n if (popoverCSS.left < POPOVER_IOS_BODY_PADDING + 25) {\n checkSafeAreaLeft = true;\n popoverCSS.left = POPOVER_IOS_BODY_PADDING;\n }\n else if (contentWidth + POPOVER_IOS_BODY_PADDING + popoverCSS.left + 25 > bodyWidth) {\n // Ok, so we're on the right side of the screen,\n // but now we need to make sure we're still a bit further right\n // cus....notchurally... Again, 25 is random. It works tho\n checkSafeAreaRight = true;\n popoverCSS.left = bodyWidth - contentWidth - POPOVER_IOS_BODY_PADDING;\n originX = 'right';\n }\n // make it pop up if there's room above\n if (targetTop + targetHeight + contentHeight > bodyHeight && targetTop - contentHeight > 0) {\n arrowCSS.top = targetTop - (arrowHeight + 1);\n popoverCSS.top = targetTop - contentHeight - (arrowHeight - 1);\n baseEl.className = baseEl.className + ' popover-bottom';\n originY = 'bottom';\n // If there isn't room for it to pop up above the target cut it off\n }\n else if (targetTop + targetHeight + contentHeight > bodyHeight) {\n contentEl.style.bottom = POPOVER_IOS_BODY_PADDING + '%';\n }\n arrowEl.style.top = arrowCSS.top + 'px';\n arrowEl.style.left = arrowCSS.left + 'px';\n contentEl.style.top = popoverCSS.top + 'px';\n contentEl.style.left = popoverCSS.left + 'px';\n if (checkSafeAreaLeft) {\n contentEl.style.left = \"calc(\" + popoverCSS.left + \"px + var(--ion-safe-area-left, 0px))\";\n }\n if (checkSafeAreaRight) {\n contentEl.style.left = \"calc(\" + popoverCSS.left + \"px - var(--ion-safe-area-right, 0px))\";\n }\n contentEl.style.transformOrigin = originY + ' ' + originX;\n var baseAnimation = createAnimation();\n var backdropAnimation = createAnimation();\n var wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 0.08);\n wrapperAnimation\n .addElement(baseEl.querySelector('.popover-wrapper'))\n .fromTo('opacity', 0.01, 1);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease')\n .duration(100)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\nvar POPOVER_IOS_BODY_PADDING = 5;\n/**\n * iOS Popover Leave Animation\n */\nvar iosLeaveAnimation = function (baseEl) {\n var baseAnimation = createAnimation();\n var backdropAnimation = createAnimation();\n var wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.08, 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.popover-wrapper'))\n .fromTo('opacity', 0.99, 0);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease')\n .duration(500)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n/**\n * Md Popover Enter Animation\n */\nvar mdEnterAnimation = function (baseEl, ev) {\n var POPOVER_MD_BODY_PADDING = 12;\n var doc = baseEl.ownerDocument;\n var isRTL = doc.dir === 'rtl';\n var originY = 'top';\n var originX = isRTL ? 'right' : 'left';\n var contentEl = baseEl.querySelector('.popover-content');\n var contentDimentions = contentEl.getBoundingClientRect();\n var contentWidth = contentDimentions.width;\n var contentHeight = contentDimentions.height;\n var bodyWidth = doc.defaultView.innerWidth;\n var bodyHeight = doc.defaultView.innerHeight;\n // If ev was passed, use that for target element\n var targetDim = ev && ev.target && ev.target.getBoundingClientRect();\n // As per MD spec, by default position the popover below the target (trigger) element\n var targetTop = targetDim != null && 'bottom' in targetDim\n ? targetDim.bottom\n : bodyHeight / 2 - contentHeight / 2;\n var targetLeft = targetDim != null && 'left' in targetDim\n ? isRTL\n ? targetDim.left - contentWidth + targetDim.width\n : targetDim.left\n : bodyWidth / 2 - contentWidth / 2;\n var targetHeight = (targetDim && targetDim.height) || 0;\n var popoverCSS = {\n top: targetTop,\n left: targetLeft\n };\n // If the popover left is less than the padding it is off screen\n // to the left so adjust it, else if the width of the popover\n // exceeds the body width it is off screen to the right so adjust\n if (popoverCSS.left < POPOVER_MD_BODY_PADDING) {\n popoverCSS.left = POPOVER_MD_BODY_PADDING;\n // Same origin in this case for both LTR & RTL\n // Note: in LTR, originX is already 'left'\n originX = 'left';\n }\n else if (contentWidth + POPOVER_MD_BODY_PADDING + popoverCSS.left >\n bodyWidth) {\n popoverCSS.left = bodyWidth - contentWidth - POPOVER_MD_BODY_PADDING;\n // Same origin in this case for both LTR & RTL\n // Note: in RTL, originX is already 'right'\n originX = 'right';\n }\n // If the popover when popped down stretches past bottom of screen,\n // make it pop up if there's room above\n if (targetTop + targetHeight + contentHeight > bodyHeight &&\n targetTop - contentHeight > 0) {\n popoverCSS.top = targetTop - contentHeight - targetHeight;\n baseEl.className = baseEl.className + ' popover-bottom';\n originY = 'bottom';\n // If there isn't room for it to pop up above the target cut it off\n }\n else if (targetTop + targetHeight + contentHeight > bodyHeight) {\n contentEl.style.bottom = POPOVER_MD_BODY_PADDING + 'px';\n }\n var baseAnimation = createAnimation();\n var backdropAnimation = createAnimation();\n var wrapperAnimation = createAnimation();\n var contentAnimation = createAnimation();\n var viewportAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 0.32);\n wrapperAnimation\n .addElement(baseEl.querySelector('.popover-wrapper'))\n .fromTo('opacity', 0.01, 1);\n contentAnimation\n .addElement(contentEl)\n .beforeStyles({\n 'top': popoverCSS.top + \"px\",\n 'left': popoverCSS.left + \"px\",\n 'transform-origin': originY + \" \" + originX\n })\n .fromTo('transform', 'scale(0.001)', 'scale(1)');\n viewportAnimation\n .addElement(baseEl.querySelector('.popover-viewport'))\n .fromTo('opacity', 0.01, 1);\n return baseAnimation\n .addElement(baseEl)\n .easing('cubic-bezier(0.36,0.66,0.04,1)')\n .duration(300)\n .addAnimation([backdropAnimation, wrapperAnimation, contentAnimation, viewportAnimation]);\n};\n/**\n * Md Popover Leave Animation\n */\nvar mdLeaveAnimation = function (baseEl) {\n var baseAnimation = createAnimation();\n var backdropAnimation = createAnimation();\n var wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.32, 0);\n wrapperAnimation\n .addElement(baseEl.querySelector('.popover-wrapper'))\n .fromTo('opacity', 0.99, 0);\n return baseAnimation\n .addElement(baseEl)\n .easing('ease')\n .duration(500)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\nvar Popover = /** @class */ (function () {\n function class_1(hostRef) {\n var _this = this;\n registerInstance(this, hostRef);\n this.presented = false;\n this.mode = getIonMode(this);\n /**\n * If `true`, the keyboard will be automatically dismissed when the overlay is presented.\n */\n this.keyboardClose = true;\n /**\n * If `true`, the popover will be dismissed when the backdrop is clicked.\n */\n this.backdropDismiss = true;\n /**\n * If `true`, a backdrop will be displayed behind the popover.\n */\n this.showBackdrop = true;\n /**\n * If `true`, the popover will be translucent.\n * Only applies when the mode is `\"ios\"` and the device supports\n * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n */\n this.translucent = false;\n /**\n * If `true`, the popover will animate.\n */\n this.animated = true;\n this.onDismiss = function (ev) {\n ev.stopPropagation();\n ev.preventDefault();\n _this.dismiss();\n };\n this.onBackdropTap = function () {\n _this.dismiss(undefined, BACKDROP);\n };\n this.onLifecycle = function (modalEvent) {\n var el = _this.usersElement;\n var name = LIFECYCLE_MAP[modalEvent.type];\n if (el && name) {\n var event = new CustomEvent(name, {\n bubbles: false,\n cancelable: false,\n detail: modalEvent.detail\n });\n el.dispatchEvent(event);\n }\n };\n prepareOverlay(this.el);\n this.didPresent = createEvent(this, \"ionPopoverDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionPopoverWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionPopoverWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionPopoverDidDismiss\", 7);\n }\n /**\n * Present the popover overlay after it has been created.\n */\n class_1.prototype.present = function () {\n return __awaiter(this, void 0, void 0, function () {\n var container, data, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (this.presented) {\n return [2 /*return*/];\n }\n container = this.el.querySelector('.popover-content');\n if (!container) {\n throw new Error('container is undefined');\n }\n data = Object.assign(Object.assign({}, this.componentProps), { popover: this.el });\n _a = this;\n return [4 /*yield*/, attachComponent(this.delegate, container, this.component, ['popover-viewport', this.el['s-sc']], data)];\n case 1:\n _a.usersElement = _b.sent();\n return [4 /*yield*/, deepReady(this.usersElement)];\n case 2:\n _b.sent();\n return [2 /*return*/, present(this, 'popoverEnter', iosEnterAnimation, mdEnterAnimation, this.event)];\n }\n });\n });\n };\n /**\n * Dismiss the popover overlay after it has been presented.\n *\n * @param data Any data to emit in the dismiss events.\n * @param role The role of the element that is dismissing the popover. For example, 'cancel' or 'backdrop'.\n */\n class_1.prototype.dismiss = function (data, role) {\n return __awaiter(this, void 0, void 0, function () {\n var shouldDismiss;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, dismiss(this, data, role, 'popoverLeave', iosLeaveAnimation, mdLeaveAnimation, this.event)];\n case 1:\n shouldDismiss = _a.sent();\n if (!shouldDismiss) return [3 /*break*/, 3];\n return [4 /*yield*/, detachComponent(this.delegate, this.usersElement)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/, shouldDismiss];\n }\n });\n });\n };\n /**\n * Returns a promise that resolves when the popover did dismiss.\n */\n class_1.prototype.onDidDismiss = function () {\n return eventMethod(this.el, 'ionPopoverDidDismiss');\n };\n /**\n * Returns a promise that resolves when the popover will dismiss.\n */\n class_1.prototype.onWillDismiss = function () {\n return eventMethod(this.el, 'ionPopoverWillDismiss');\n };\n class_1.prototype.render = function () {\n var _a;\n var mode = getIonMode(this);\n var onLifecycle = this.onLifecycle;\n return (h(Host, { \"aria-modal\": \"true\", \"no-router\": true, style: {\n zIndex: \"\" + (20000 + this.overlayIndex),\n }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), (_a = {}, _a[mode] = true, _a['popover-translucent'] = this.translucent, _a)), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonDismiss: this.onDismiss, onIonBackdropTap: this.onBackdropTap }, h(\"ion-backdrop\", { tappable: this.backdropDismiss, visible: this.showBackdrop }), h(\"div\", { class: \"popover-wrapper\" }, h(\"div\", { class: \"popover-arrow\" }), h(\"div\", { class: \"popover-content\" }))));\n };\n Object.defineProperty(class_1.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1, \"style\", {\n get: function () { return \".sc-ion-popover-md-h{--background:var(--ion-background-color,#fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:var(--ion-text-color,#000);z-index:1001}.overlay-hidden.sc-ion-popover-md-h{display:none}.popover-wrapper.sc-ion-popover-md{opacity:0;z-index:10}.popover-content.sc-ion-popover-md{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport.sc-ion-popover-md{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px}.sc-ion-popover-md-h{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0,0,0,0.2),0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12)}.popover-content.sc-ion-popover-md{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}[dir=rtl].sc-ion-popover-md-h .popover-content.sc-ion-popover-md, [dir=rtl] .sc-ion-popover-md-h .popover-content.sc-ion-popover-md, [dir=rtl].sc-ion-popover-md .popover-content.sc-ion-popover-md{-webkit-transform-origin:right top;transform-origin:right top}.popover-viewport.sc-ion-popover-md{-webkit-transition-delay:.1s;transition-delay:.1s}\"; },\n enumerable: true,\n configurable: true\n });\n return class_1;\n}());\nvar LIFECYCLE_MAP = {\n 'ionPopoverDidPresent': 'ionViewDidEnter',\n 'ionPopoverWillPresent': 'ionViewWillEnter',\n 'ionPopoverWillDismiss': 'ionViewWillLeave',\n 'ionPopoverDidDismiss': 'ionViewDidLeave',\n};\nexport { Popover as ion_popover };\n"],"sourceRoot":""}