aiber-test/platforms/ios/www/22-es2015.js.map
2020-12-18 09:30:04 +00:00

1 line
22 KiB
Plaintext

{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-popover.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6G;AAChD;AAC9B;AACgC;AACV;AACT;AAC8E;AACnE;AACuC;;AAE9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA,wBAAwB,gEAAe;AACvC,4BAA4B,gEAAe;AAC3C,2BAA2B,gEAAe;AAC1C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,gEAAe;AACvC,4BAA4B,gEAAe;AAC3C,2BAA2B,gEAAe;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gEAAe;AACvC,4BAA4B,gEAAe;AAC3C,2BAA2B,gEAAe;AAC1C,2BAA2B,gEAAe;AAC1C,4BAA4B,gEAAe;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B,eAAe,gBAAgB;AAC/B,2BAA2B,QAAQ,GAAG,QAAQ;AAC9C,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,gEAAe;AACvC,4BAA4B,gEAAe;AAC3C,2BAA2B,gEAAe;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,+CAA+C,cAAc,eAAe,iBAAiB,cAAc,OAAO,QAAQ,MAAM,SAAS,oBAAoB,aAAa,eAAe,sBAAsB,mBAAmB,qBAAqB,uBAAuB,aAAa,kCAAkC,aAAa,qCAAqC,aAAa,oCAAoC,UAAU,WAAW,oCAAoC,oBAAoB,aAAa,kBAAkB,0BAA0B,sBAAsB,mBAAmB,2BAA2B,2BAA2B,qBAAqB,6BAA6B,6BAA6B,6BAA6B,qCAAqC,6BAA6B,cAAc,WAAW,qCAAqC,wBAAwB,0BAA0B,2BAA2B,yBAAyB,sBAAsB,cAAc,iBAAiB,kBAAkB,qDAAqD,oCAAoC,mBAAmB,kCAAkC,cAAc,kBAAkB,WAAW,YAAY,gBAAgB,yCAAyC,SAAS,QAAQ,kBAAkB,kBAAkB,WAAW,YAAY,gCAAgC,wBAAwB,6BAA6B,aAAa,WAAW,uNAAuN,WAAW,YAAY,UAAU,uEAAuE,SAAS,aAAa,8EAA8E,SAAS,6EAA6E,iKAAiK,qEAAqE,kDAAkD,2CAA2C;;AAE9zE,2CAA2C,+CAA+C,cAAc,eAAe,iBAAiB,cAAc,OAAO,QAAQ,MAAM,SAAS,oBAAoB,aAAa,eAAe,sBAAsB,mBAAmB,qBAAqB,uBAAuB,aAAa,kCAAkC,aAAa,oCAAoC,aAAa,mCAAmC,UAAU,WAAW,mCAAmC,oBAAoB,aAAa,kBAAkB,0BAA0B,sBAAsB,mBAAmB,2BAA2B,2BAA2B,qBAAqB,6BAA6B,6BAA6B,6BAA6B,qCAAqC,6BAA6B,cAAc,WAAW,oCAAoC,wBAAwB,0BAA0B,2BAA2B,yBAAyB,qBAAqB,cAAc,iBAAiB,uHAAuH,qDAAqD,mCAAmC,kBAAkB,kCAAkC,0BAA0B,kMAAkM,mCAAmC,2BAA2B,oCAAoC,+BAA+B,uBAAuB;;AAEzqD;AACA;AACA,IAAI,4DAAgB;AACpB,sBAAsB,4DAAW;AACjC,uBAAuB,4DAAW;AAClC,uBAAuB,4DAAW;AAClC,sBAAsB,4DAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uDAAQ;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,IAAI,+DAAc;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,yBAAyB,mBAAmB;AAC3F,8BAA8B,yEAAe;AAC7C,UAAU,4DAAS;AACnB,WAAW,+DAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+DAAO;AACvC;AACA,YAAY,yEAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAW;AACtB;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAW;AACtB;AACA;AACA,iBAAiB,mEAAU;AAC3B,WAAW,cAAc;AACzB,YAAY,4DAAC,CAAC,oDAAI,GAAG;AACrB,mBAAmB,0BAA0B;AAC7C,OAAO,uCAAuC,EAAE,4DAAW,mBAAmB,wDAAwD,6NAA6N,EAAE,4DAAC,kBAAkB,6DAA6D,GAAG,4DAAC,SAAS,gBAAgB,GAAG,4DAAC,SAAS,+CAA+C,EAAE,4DAAC,SAAS,yBAAyB,GAAG,4DAAC,SAAS,2BAA2B,IAAI,4DAAC,SAAS,gBAAgB;AACznB;AACA,YAAY,QAAQ,4DAAU,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEkC","file":"22-es2015.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport './helpers-90f46169.js';\nimport { c as createAnimation } from './animation-54fe0237.js';\nimport { e as deepReady } from './index-1eeeab2e.js';\nimport './hardware-back-button-389954a0.js';\nimport { B as BACKDROP, e as prepareOverlay, d as present, f as dismiss, g as eventMethod } from './overlays-7a1610a2.js';\nimport { g as getClassMap } from './theme-ff3fc52f.js';\nimport { a as attachComponent, d as detachComponent } from './framework-delegate-4584ab5a.js';\n\n/**\n * iOS Popover Enter Animation\n */\nconst iosEnterAnimation = (baseEl, ev) => {\n let originY = 'top';\n let originX = 'left';\n const contentEl = baseEl.querySelector('.popover-content');\n const contentDimentions = contentEl.getBoundingClientRect();\n const contentWidth = contentDimentions.width;\n const contentHeight = contentDimentions.height;\n const bodyWidth = baseEl.ownerDocument.defaultView.innerWidth;\n const bodyHeight = baseEl.ownerDocument.defaultView.innerHeight;\n // If ev was passed, use that for target element\n const targetDim = ev && ev.target && ev.target.getBoundingClientRect();\n const targetTop = targetDim != null && 'top' in targetDim ? targetDim.top : bodyHeight / 2 - contentHeight / 2;\n const targetLeft = targetDim != null && 'left' in targetDim ? targetDim.left : bodyWidth / 2;\n const targetWidth = (targetDim && targetDim.width) || 0;\n const targetHeight = (targetDim && targetDim.height) || 0;\n const arrowEl = baseEl.querySelector('.popover-arrow');\n const arrowDim = arrowEl.getBoundingClientRect();\n const arrowWidth = arrowDim.width;\n const arrowHeight = arrowDim.height;\n if (targetDim == null) {\n arrowEl.style.display = 'none';\n }\n const arrowCSS = {\n top: targetTop + targetHeight,\n left: targetLeft + targetWidth / 2 - arrowWidth / 2\n };\n const 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 let checkSafeAreaLeft = false;\n let 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 const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\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};\nconst POPOVER_IOS_BODY_PADDING = 5;\n\n/**\n * iOS Popover Leave Animation\n */\nconst iosLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 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/**\n * Md Popover Enter Animation\n */\nconst mdEnterAnimation = (baseEl, ev) => {\n const POPOVER_MD_BODY_PADDING = 12;\n const doc = baseEl.ownerDocument;\n const isRTL = doc.dir === 'rtl';\n let originY = 'top';\n let originX = isRTL ? 'right' : 'left';\n const contentEl = baseEl.querySelector('.popover-content');\n const contentDimentions = contentEl.getBoundingClientRect();\n const contentWidth = contentDimentions.width;\n const contentHeight = contentDimentions.height;\n const bodyWidth = doc.defaultView.innerWidth;\n const bodyHeight = doc.defaultView.innerHeight;\n // If ev was passed, use that for target element\n const targetDim = ev && ev.target && ev.target.getBoundingClientRect();\n // As per MD spec, by default position the popover below the target (trigger) element\n const targetTop = targetDim != null && 'bottom' in targetDim\n ? targetDim.bottom\n : bodyHeight / 2 - contentHeight / 2;\n const targetLeft = targetDim != null && 'left' in targetDim\n ? isRTL\n ? targetDim.left - contentWidth + targetDim.width\n : targetDim.left\n : bodyWidth / 2 - contentWidth / 2;\n const targetHeight = (targetDim && targetDim.height) || 0;\n const 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 const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n const contentAnimation = createAnimation();\n const viewportAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none'\n })\n .afterClearStyles(['pointer-events']);\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/**\n * Md Popover Leave Animation\n */\nconst mdLeaveAnimation = (baseEl) => {\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation\n .addElement(baseEl.querySelector('ion-backdrop'))\n .fromTo('opacity', 'var(--backdrop-opacity)', 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\nconst popoverIosCss = \".sc-ion-popover-ios-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;outline:none;color:var(--ion-text-color, #000);z-index:1001}.overlay-hidden.sc-ion-popover-ios-h{display:none}.popover-wrapper.sc-ion-popover-ios{opacity:0;z-index:10}.popover-content.sc-ion-popover-ios{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-ios{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px}.sc-ion-popover-ios-h{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}.popover-content.sc-ion-popover-ios{border-radius:10px}.popover-arrow.sc-ion-popover-ios{display:block;position:absolute;width:20px;height:10px;overflow:hidden}.popover-arrow.sc-ion-popover-ios::after{left:3px;top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:\\\"\\\";z-index:10}[dir=rtl].sc-ion-popover-ios .popover-arrow.sc-ion-popover-ios::after,[dir=rtl].sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after,[dir=rtl] .sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{left:unset;right:unset;right:3px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{top:auto;bottom:-10px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{top:-6px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.popover-translucent.sc-ion-popover-ios-h .popover-content.sc-ion-popover-ios,.popover-translucent.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}\";\n\nconst popoverMdCss = \".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;outline:none;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);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content.sc-ion-popover-md{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}[dir=rtl].sc-ion-popover-md .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-h .popover-content.sc-ion-popover-md{-webkit-transform-origin:right top;transform-origin:right top}.popover-viewport.sc-ion-popover-md{-webkit-transition-delay:100ms;transition-delay:100ms}\";\n\nconst Popover = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\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 this.presented = false;\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 = (ev) => {\n ev.stopPropagation();\n ev.preventDefault();\n this.dismiss();\n };\n this.onBackdropTap = () => {\n this.dismiss(undefined, BACKDROP);\n };\n this.onLifecycle = (modalEvent) => {\n const el = this.usersElement;\n const name = LIFECYCLE_MAP[modalEvent.type];\n if (el && name) {\n const event = new CustomEvent(name, {\n bubbles: false,\n cancelable: false,\n detail: modalEvent.detail\n });\n el.dispatchEvent(event);\n }\n };\n }\n connectedCallback() {\n prepareOverlay(this.el);\n }\n /**\n * Present the popover overlay after it has been created.\n */\n async present() {\n if (this.presented) {\n return;\n }\n const container = this.el.querySelector('.popover-content');\n if (!container) {\n throw new Error('container is undefined');\n }\n const data = Object.assign(Object.assign({}, this.componentProps), { popover: this.el });\n this.usersElement = await attachComponent(this.delegate, container, this.component, ['popover-viewport', this.el['s-sc']], data);\n await deepReady(this.usersElement);\n return present(this, 'popoverEnter', iosEnterAnimation, mdEnterAnimation, this.event);\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 async dismiss(data, role) {\n const shouldDismiss = await dismiss(this, data, role, 'popoverLeave', iosLeaveAnimation, mdLeaveAnimation, this.event);\n if (shouldDismiss) {\n await detachComponent(this.delegate, this.usersElement);\n }\n return shouldDismiss;\n }\n /**\n * Returns a promise that resolves when the popover did dismiss.\n */\n onDidDismiss() {\n return eventMethod(this.el, 'ionPopoverDidDismiss');\n }\n /**\n * Returns a promise that resolves when the popover will dismiss.\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionPopoverWillDismiss');\n }\n render() {\n const mode = getIonMode(this);\n const { onLifecycle } = this;\n return (h(Host, { \"aria-modal\": \"true\", \"no-router\": true, tabindex: \"-1\", style: {\n zIndex: `${20000 + this.overlayIndex}`,\n }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent }), 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\", { tabindex: \"0\" }), h(\"div\", { class: \"popover-wrapper ion-overlay-wrapper\" }, h(\"div\", { class: \"popover-arrow\" }), h(\"div\", { class: \"popover-content\" })), h(\"div\", { tabindex: \"0\" })));\n }\n get el() { return getElement(this); }\n};\nconst LIFECYCLE_MAP = {\n 'ionPopoverDidPresent': 'ionViewDidEnter',\n 'ionPopoverWillPresent': 'ionViewWillEnter',\n 'ionPopoverWillDismiss': 'ionViewWillLeave',\n 'ionPopoverDidDismiss': 'ionViewDidLeave',\n};\nPopover.style = {\n ios: popoverIosCss,\n md: popoverMdCss\n};\n\nexport { Popover as ion_popover };\n"],"sourceRoot":"webpack:///"}