1 line
31 KiB
Plaintext
1 line
31 KiB
Plaintext
{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-popover.entry.js"],"names":["iosEnterAnimation","baseEl","ev","originY","originX","contentEl","querySelector","contentDimentions","getBoundingClientRect","contentWidth","width","contentHeight","height","bodyWidth","ownerDocument","defaultView","innerWidth","bodyHeight","innerHeight","targetDim","target","targetTop","top","targetLeft","left","targetWidth","targetHeight","arrowEl","arrowDim","arrowWidth","arrowHeight","style","display","arrowCSS","popoverCSS","checkSafeAreaLeft","checkSafeAreaRight","POPOVER_IOS_BODY_PADDING","className","bottom","transformOrigin","baseAnimation","backdropAnimation","wrapperAnimation","addElement","fromTo","beforeStyles","afterClearStyles","easing","duration","addAnimation","iosLeaveAnimation","mdEnterAnimation","POPOVER_MD_BODY_PADDING","doc","isRTL","dir","contentAnimation","viewportAnimation","mdLeaveAnimation","popoverIosCss","popoverMdCss","Popover","hostRef","didPresent","willPresent","willDismiss","didDismiss","presented","keyboardClose","backdropDismiss","showBackdrop","translucent","animated","onDismiss","stopPropagation","preventDefault","dismiss","onBackdropTap","undefined","onLifecycle","modalEvent","el","usersElement","name","LIFECYCLE_MAP","type","event","CustomEvent","bubbles","cancelable","detail","dispatchEvent","container","Error","data","Object","assign","componentProps","popover","delegate","component","role","shouldDismiss","mode","tabindex","zIndex","overlayIndex","cssClass","onIonPopoverDidPresent","onIonPopoverWillPresent","onIonPopoverWillDismiss","onIonPopoverDidDismiss","onIonDismiss","onIonBackdropTap","tappable","visible","ios","md"],"mappings":"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","file":"22-es5.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"]} |