@ionic/core
Version:
Base components for Ionic
4 lines • 26.7 kB
JavaScript
/*!
* (C) Ionic http://ionicframework.com - MIT License
*/
import{d as t,H as e,i as o,p as r,h as i,f as s,t as a}from"./p-Ct2aBEue.js";import{B as n,h as p,r as c,j as d,k as h,e as l,o as v,f,g,F as m}from"./p-B02CcbPD.js";import{C as x,a as b,d as u}from"./p-Ba9_OzSY.js";import{g as w,r as k,a as y,l as P}from"./p-B4IBdPVJ.js";import{c as D}from"./p-B-hirT0v.js";import{b as T,a as A}from"./p-HthJZjZ6.js";import{g as $}from"./p-byZM6qHV.js";import{e as C,w as I}from"./p-DfDIY2oP.js";import{c as W}from"./p-ChsJlFCQ.js";import{d as O}from"./p-CW84OFQa.js";let L=null,N=!1;const E=t=>{if(null!==L)return L;if(null===t.body)return{top:0,bottom:0,left:0,right:0};const e=t.createElement("div");e.style.cssText="position:fixed;visibility:hidden;pointer-events:none;top:0;left:0;padding-top:var(--ion-safe-area-top,0px);padding-bottom:var(--ion-safe-area-bottom,0px);padding-left:var(--ion-safe-area-left,0px);padding-right:var(--ion-safe-area-right,0px);",t.body.appendChild(e);const o=getComputedStyle(e),r={top:parseFloat(o.paddingTop)||0,bottom:parseFloat(o.paddingBottom)||0,left:parseFloat(o.paddingLeft)||0,right:parseFloat(o.paddingRight)||0};return e.remove(),L=r,N||(N=!0,k((()=>{L=null,N=!1}))),r},z=t=>{if(!t)return 1;const e=t.currentCSSZoom;if("number"==typeof e&&e>0)return e;const{width:o}=t.getBoundingClientRect(),{offsetWidth:r}=t;if(r>0&&o>0){const t=o/r;return Math.abs(t-1)<.01?1:t}return 1},S=(t,e,o,r=1)=>{const i=e.getBoundingClientRect(),s=i.height/r;let a=i.width/r;return"cover"===t&&o&&(a=o.getBoundingClientRect().width/r),{contentWidth:a,contentHeight:s}},B=(t,e)=>e&&"ION-ITEM"===e.tagName?t.findIndex((t=>t===e)):-1,Y=t=>{const e=w(t).querySelector("button");e&&k((()=>e.focus()))},j=(t,e,o,r,i,s,a,n,p,c,d,h=1)=>{let l={top:0,left:0,width:0,height:0};if("event"===s){if(!d)return p;l={top:d.clientY/h,left:d.clientX/h,width:1,height:1}}else{const t=d,e=c||t?.detail?.ionShadowTarget||t?.target;if(!e)return p;const o=e.getBoundingClientRect();l={top:o.top/h,left:o.left/h,width:o.width/h,height:o.height/h}}const v=R(a,l,e,o,r,i,t),f=V(n,a,l,e,o),g=v.top+f.top,m=v.left+f.left,{arrowTop:x,arrowLeft:b}=F(a,r,i,g,m,e,o,t),{originX:u,originY:w}=X(a,n,t);return{top:g,left:m,referenceCoordinates:l,arrowTop:x,arrowLeft:b,originX:u,originY:w}},X=(t,e,o)=>{switch(t){case"top":return{originX:M(e),originY:"bottom"};case"bottom":return{originX:M(e),originY:"top"};case"left":return{originX:"right",originY:H(e)};case"right":return{originX:"left",originY:H(e)};case"start":return{originX:o?"left":"right",originY:H(e)};case"end":return{originX:o?"right":"left",originY:H(e)}}},M=t=>{switch(t){case"start":return"left";case"center":return"center";case"end":return"right"}},H=t=>{switch(t){case"start":return"top";case"center":return"center";case"end":return"bottom"}},F=(t,e,o,r,i,s,a,n)=>{const p={arrowTop:r+a/2-e/2,arrowLeft:i+s-e/2},c={arrowTop:r+a/2-e/2,arrowLeft:i-1.5*e};switch(t){case"top":return{arrowTop:r+a,arrowLeft:i+s/2-e/2};case"bottom":return{arrowTop:r-o,arrowLeft:i+s/2-e/2};case"left":return p;case"right":return c;case"start":return n?c:p;case"end":return n?p:c;default:return{arrowTop:0,arrowLeft:0}}},R=(t,e,o,r,i,s,a)=>{const n={top:e.top,left:e.left-o-i},p={top:e.top,left:e.left+e.width+i};switch(t){case"top":return{top:e.top-r-s,left:e.left};case"right":return p;case"bottom":return{top:e.top+e.height+s,left:e.left};case"left":return n;case"start":return a?p:n;case"end":return a?n:p}},V=(t,e,o,r,i)=>{switch(t){case"center":return Z(e,o,r,i);case"end":return J(e,o,r,i);default:return{top:0,left:0}}},J=(t,e,o,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r-e.height),left:0};default:return{top:0,left:-(o-e.width)}}},Z=(t,e,o,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r/2-e.height/2),left:0};default:return{top:0,left:-(o/2-e.width/2)}}},K=(t,e,o,r,i,s,a,n,p,c,d,h,l=0,v=0,f=0)=>{let g,m=l,x=o,b=e,u=c,w=d,k=!1,y=!1,P=!1,D=!1;const T=h?h.top+h.height:s/2-n/2,A=h?h.height:0;let $=!1;if(x<r+p.left?(x=r,k=!0,u="left"):a+r+x+p.right>i&&(y=!0,x=i-a-r,u="right"),T+A+n>s-p.bottom&&("top"===t||"bottom"===t)){const t=T-n-A-(f-1);t>=p.top+r?(b=t,m=b+n,w="bottom",$=!0):(g=r,D=!0,b>=s-p.bottom-r&&(b=p.top+r,P=!0))}return{top:b,left:x,bottom:g,originX:u,originY:w,checkSafeAreaLeft:k,checkSafeAreaRight:y,checkSafeAreaTop:P,checkSafeAreaBottom:D,arrowTop:m,arrowLeft:v,addPopoverBottomClass:$,hideArrow:!1}},Q=(t,e)=>{const{event:o,size:r,trigger:i,reference:s,side:a,align:n}=e,p=t.ownerDocument,c="rtl"===p.dir,d=w(t),h=d.querySelector(".popover-content"),l=d.querySelector(".popover-arrow"),v=z(h),f=p.defaultView.innerWidth/v,g=p.defaultView.innerHeight/v,m=i||o?.detail?.ionShadowTarget||o?.target,{contentWidth:x,contentHeight:b}=S(r,h,m,v),{arrowWidth:u,arrowHeight:k}=((t,e=1)=>{if(!t)return{arrowWidth:0,arrowHeight:0};const{width:o,height:r}=t.getBoundingClientRect();return{arrowWidth:o/e,arrowHeight:r/e}})(l,v),y=j(c,x,b,u,k,s,a,n,{top:g/2-b/2,left:f/2-x/2,originX:c?"right":"left",originY:"top"},i,o,v),P="cover"===r?0:5,D=E(p),T="cover"===r?{top:0,bottom:0,left:0,right:0}:{top:Math.max(D.top,25),bottom:Math.max(D.bottom,25),left:Math.max(D.left,25),right:Math.max(D.right,25)},{originX:A,originY:$,top:C,left:I,bottom:O,checkSafeAreaLeft:L,checkSafeAreaRight:N,checkSafeAreaTop:B,checkSafeAreaBottom:Y,arrowTop:X,arrowLeft:M,addPopoverBottomClass:H}=K(a,y.top,y.left,P,f,g,x,b,T,y.originX,y.originY,y.referenceCoordinates,y.arrowTop,y.arrowLeft,k),F=W(),R=W(),V=W();return R.addElement(d.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),V.addElement(d.querySelector(".popover-arrow")).addElement(d.querySelector(".popover-content")).fromTo("opacity",.01,1),F.easing("ease").duration(100).beforeAddWrite((()=>{if("cover"===r&&t.style.setProperty("--width",`${x}px`),H&&t.classList.add("popover-bottom"),void 0!==O){let t=`${O}px`;Y&&(t=`${O}px + var(--ion-safe-area-bottom, 0px)`),h.style.setProperty("bottom",`calc(${t})`)}let e=`${I}px`;L&&(e=`${I}px + var(--ion-safe-area-left, 0px)`),N&&(e=`${I}px - var(--ion-safe-area-right, 0px)`);let s=`${C}px`;if(B&&(s=`${C}px + var(--ion-safe-area-top, 0px)`),h.style.setProperty("top",`calc(${s} + var(--offset-y, 0))`),h.style.setProperty("left",`calc(${e} + var(--offset-x, 0))`),h.style.setProperty("transform-origin",`${$} ${A}`),null!==l){const t=((t,e=!1,o,r)=>!(!o&&!r||"top"!==t&&"bottom"!==t&&e))(a,y.top!==C||y.left!==I,o,i);t?(l.style.setProperty("top",`calc(${X}px + var(--offset-y, 0))`),l.style.setProperty("left",`calc(${M}px + var(--offset-x, 0))`)):l.style.setProperty("display","none")}})).addAnimation([R,V])},q=t=>{const e=w(t),o=e.querySelector(".popover-content"),r=e.querySelector(".popover-arrow"),i=W(),s=W(),a=W();return s.addElement(e.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),a.addElement(e.querySelector(".popover-arrow")).addElement(e.querySelector(".popover-content")).fromTo("opacity",.99,0),i.easing("ease").afterAddWrite((()=>{t.style.removeProperty("--width"),t.classList.remove("popover-bottom"),o.style.removeProperty("top"),o.style.removeProperty("left"),o.style.removeProperty("bottom"),o.style.removeProperty("transform-origin"),r&&(r.style.removeProperty("top"),r.style.removeProperty("left"),r.style.removeProperty("display"))})).duration(300).addAnimation([s,a])},U=(t,e)=>{const{event:o,size:r,trigger:i,reference:s,side:a,align:n}=e,p=t.ownerDocument,c="rtl"===p.dir,d=w(t),h=d.querySelector(".popover-content"),l=z(h),v=p.defaultView.innerWidth/l,f=p.defaultView.innerHeight/l,g=i||o?.detail?.ionShadowTarget||o?.target,{contentWidth:m,contentHeight:x}=S(r,h,g,l),b=j(c,m,x,0,0,s,a,n,{top:f/2-x/2,left:v/2-m/2,originX:c?"right":"left",originY:"top"},i,o,l),u="cover"===r?0:12,k="cover"===r?{top:0,bottom:0,left:0,right:0}:E(p),{originX:y,originY:P,top:D,left:T,bottom:A,checkSafeAreaLeft:$,checkSafeAreaRight:C,checkSafeAreaTop:I,checkSafeAreaBottom:O,addPopoverBottomClass:L}=K(a,b.top,b.left,u,v,f,m,x,k,b.originX,b.originY,b.referenceCoordinates);let N=`${T}px`;$&&(N=`${T}px + var(--ion-safe-area-left, 0px)`),C&&(N=`${T}px - var(--ion-safe-area-right, 0px)`);let B=`${D}px`;I&&(B=`${D}px + var(--ion-safe-area-top, 0px)`);const Y=W(),X=W(),M=W(),H=W(),F=W();return X.addElement(d.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),M.addElement(d.querySelector(".popover-wrapper")).duration(150).fromTo("opacity",.01,1),H.addElement(h).beforeStyles({top:`calc(${B} + var(--offset-y, 0px))`,left:`calc(${N} + var(--offset-x, 0px))`,"transform-origin":`${P} ${y}`}).beforeAddWrite((()=>{if(void 0!==A){let t=`${A}px`;O&&(t=`${A}px + var(--ion-safe-area-bottom, 0px)`),h.style.setProperty("bottom",`calc(${t})`)}})).fromTo("transform","scale(0.8)","scale(1)"),F.addElement(d.querySelector(".popover-viewport")).fromTo("opacity",.01,1),Y.easing("cubic-bezier(0.36,0.66,0.04,1)").duration(300).beforeAddWrite((()=>{"cover"===r&&t.style.setProperty("--width",`${m}px`),L&&t.classList.add("popover-bottom")})).addAnimation([X,M,H,F])},_=t=>{const e=w(t),o=e.querySelector(".popover-content"),r=W(),i=W(),s=W();return i.addElement(e.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),s.addElement(e.querySelector(".popover-wrapper")).fromTo("opacity",.99,0),r.easing("ease").afterAddWrite((()=>{t.style.removeProperty("--width"),t.classList.remove("popover-bottom"),o.style.removeProperty("top"),o.style.removeProperty("left"),o.style.removeProperty("bottom"),o.style.removeProperty("transform-origin")})).duration(150).addAnimation([i,s])},G=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.didPresent=o(this,"ionPopoverDidPresent",7),this.willPresent=o(this,"ionPopoverWillPresent",7),this.willDismiss=o(this,"ionPopoverWillDismiss",7),this.didDismiss=o(this,"ionPopoverDidDismiss",7),this.didPresentShorthand=o(this,"didPresent",7),this.willPresentShorthand=o(this,"willPresent",7),this.willDismissShorthand=o(this,"willDismiss",7),this.didDismissShorthand=o(this,"didDismiss",7),this.ionMount=o(this,"ionMount",7),this.parentPopover=null,this.coreDelegate=x(),this.lockController=D(),this.inline=!1,this.focusDescendantOnPresent=!1,this.presented=!1,this.hasController=!1,this.keyboardClose=!0,this.backdropDismiss=!0,this.showBackdrop=!0,this.translucent=!1,this.animated=!0,this.triggerAction="click",this.size="auto",this.dismissOnSelect=!1,this.reference="trigger",this.side="bottom",this.arrow=!0,this.isOpen=!1,this.keyboardEvents=!1,this.focusTrap=!0,this.keepContentsMounted=!1,this.onBackdropTap=()=>{this.dismiss(void 0,n)},this.onLifecycle=t=>{const e=this.usersElement,o=tt[t.type];if(e&&o){const r=new CustomEvent(o,{bubbles:!1,cancelable:!1,detail:t.detail});e.dispatchEvent(r)}},this.configureTriggerInteraction=()=>{const{trigger:t,triggerAction:e,el:o,destroyTriggerInteraction:i}=this;if(i&&i(),void 0===t)return;const s=this.triggerEl=void 0!==t?document.getElementById(t):null;s?this.destroyTriggerInteraction=((t,e,o)=>{let r=[];switch(e){case"hover":let t;r=[{eventName:"mouseenter",callback:async e=>{e.stopPropagation(),t&&clearTimeout(t),t=setTimeout((()=>{k((()=>{o.presentFromTrigger(e),t=void 0}))}),100)}},{eventName:"mouseleave",callback:e=>{t&&clearTimeout(t);const r=e.relatedTarget;r&&r.closest("ion-popover")!==o&&o.dismiss(void 0,void 0,!1)}},{eventName:"click",callback:t=>t.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:t=>o.presentFromTrigger(t,!0)}];break;case"context-menu":r=[{eventName:"contextmenu",callback:t=>{t.preventDefault(),o.presentFromTrigger(t)}},{eventName:"click",callback:t=>t.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:t=>o.presentFromTrigger(t,!0)}];break;default:r=[{eventName:"click",callback:t=>o.presentFromTrigger(t)},{eventName:"ionPopoverActivateTrigger",callback:t=>o.presentFromTrigger(t,!0)}]}return r.forEach((({eventName:e,callback:o})=>t.addEventListener(e,o))),t.setAttribute("data-ion-popover-trigger","true"),()=>{r.forEach((({eventName:e,callback:o})=>t.removeEventListener(e,o))),t.removeAttribute("data-ion-popover-trigger")}})(s,e,o):r(`[ion-popover] - A trigger element with the ID "${t}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on ion-popover.`,this.el)},this.configureKeyboardInteraction=()=>{const{destroyKeyboardInteraction:t,el:e}=this;t&&t(),this.destroyKeyboardInteraction=(t=>{const e=async e=>{const o=document.activeElement;let r=[];const i=e.target?.tagName;if("ION-POPOVER"===i||"ION-ITEM"===i){try{r=Array.from(t.querySelectorAll("ion-item:not(ion-popover ion-popover *):not([disabled])"))}catch{}switch(e.key){case"ArrowLeft":await t.getParentPopover()&&t.dismiss(void 0,void 0,!1);break;case"ArrowDown":e.preventDefault();const i=((t,e)=>t[B(t,e)+1])(r,o);void 0!==i&&Y(i);break;case"ArrowUp":e.preventDefault();const s=((t,e)=>t[B(t,e)-1])(r,o);void 0!==s&&Y(s);break;case"Home":e.preventDefault();const a=r[0];void 0!==a&&Y(a);break;case"End":e.preventDefault();const n=r[r.length-1];void 0!==n&&Y(n);break;case"ArrowRight":case" ":case"Enter":if(o&&o.hasAttribute("data-ion-popover-trigger")){const t=new CustomEvent("ionPopoverActivateTrigger");o.dispatchEvent(t)}}}};return t.addEventListener("keydown",e),()=>t.removeEventListener("keydown",e)})(e)},this.configureDismissInteraction=()=>{const{destroyDismissInteraction:t,parentPopover:e,triggerAction:o,triggerEl:r,el:i}=this;e&&r&&(t&&t(),this.destroyDismissInteraction=((t,e,o,r)=>{let i=[];const s=w(r).querySelector(".popover-content");return i="hover"===e?[{eventName:"mouseenter",callback:e=>{document.elementFromPoint(e.clientX,e.clientY)!==t&&o.dismiss(void 0,void 0,!1)}}]:[{eventName:"click",callback:e=>{e.target.closest("[data-ion-popover-trigger]")!==t?o.dismiss(void 0,void 0,!1):e.stopPropagation()}}],i.forEach((({eventName:t,callback:e})=>s.addEventListener(t,e))),()=>{i.forEach((({eventName:t,callback:e})=>s.removeEventListener(t,e)))}})(r,o,i,e))}}onTriggerChange(){this.configureTriggerInteraction()}onIsOpenChange(t,e){!0===t&&!1===e?this.present():!1===t&&!0===e&&this.dismiss()}connectedCallback(){const{configureTriggerInteraction:t,el:e}=this;p(e),t(),this.presented&&(c(e),this.recalculateContentOnHeaderReady())}disconnectedCallback(){const{destroyTriggerInteraction:t}=this;t&&t(),this.headerResizeObserver&&(this.headerResizeObserver.disconnect(),this.headerResizeObserver=void 0),this.presented&&d()}componentWillLoad(){const{el:t}=this,e=this.htmlAttributes?.id??h(t);this.parentPopover=t.closest(`ion-popover:not(#${e})`),void 0===this.alignment&&(this.alignment="ios"===T(this)?"center":"start")}componentDidLoad(){const{parentPopover:t,isOpen:e}=this;!0===e&&k((()=>this.present())),t&&y(t,"ionPopoverWillDismiss",(()=>{this.dismiss(void 0,void 0,!1)})),this.configureTriggerInteraction()}async presentFromTrigger(t,e=!1){this.focusDescendantOnPresent=e,await this.present(t),this.focusDescendantOnPresent=!1}getDelegate(t=!1){if(this.workingDelegate&&!t)return{delegate:this.workingDelegate,inline:this.inline};const e=this.inline=null!==this.el.parentNode&&!this.hasController;return{inline:e,delegate:this.workingDelegate=e?this.delegate||this.coreDelegate:this.delegate}}async present(t){const e=await this.lockController.lock();if(this.presented)return void e();const{el:o}=this,{inline:r,delegate:i}=this.getDelegate(!0);this.ionMount.emit(),this.usersElement=await b(i,o,this.component,["popover-viewport"],this.componentProps,r),this.recalculateContentOnHeaderReady(),this.keyboardEvents||this.configureKeyboardInteraction(),this.configureDismissInteraction(),P(o)?await C(this.usersElement):this.keepContentsMounted||await I(),await l(this,"popoverEnter",Q,U,{event:t||this.event,size:this.size,trigger:this.triggerEl,reference:this.reference,side:this.side,align:this.alignment}),this.focusDescendantOnPresent&&v(o),e()}recalculateContentOnHeaderReady(){const t=this.el.shadowRoot?.querySelector(".popover-content");if(!t)return;const e=this.usersElement||t,o=e.querySelector("ion-header"),r=e.querySelectorAll("ion-content");o&&0!==r.length&&(this.headerResizeObserver&&(this.headerResizeObserver.disconnect(),this.headerResizeObserver=void 0),this.headerResizeObserver=new ResizeObserver((async()=>{if(o.offsetHeight>0){this.headerResizeObserver?.disconnect(),this.headerResizeObserver=void 0;for(const t of r)await t.recalculateDimensions()}})),this.headerResizeObserver.observe(o))}async dismiss(t,e,o=!0){const r=await this.lockController.lock(),{destroyKeyboardInteraction:i,destroyDismissInteraction:s}=this;o&&this.parentPopover&&this.parentPopover.dismiss(t,e,o);const a=await f(this,t,e,"popoverLeave",q,_,this.event);if(a){i&&(i(),this.destroyKeyboardInteraction=void 0),s&&(s(),this.destroyDismissInteraction=void 0);const{delegate:t}=this.getDelegate();await u(t,this.usersElement)}return r(),a}async getParentPopover(){return this.parentPopover}onDidDismiss(){return g(this.el,"ionPopoverDidDismiss")}onWillDismiss(){return g(this.el,"ionPopoverWillDismiss")}render(){const t=T(this),{onLifecycle:e,parentPopover:o,dismissOnSelect:r,side:a,arrow:n,htmlAttributes:p,focusTrap:c}=this,d=A("desktop"),h=n&&!o;return i(s,{key:"b5e9c788f58397203976d5f8302dfb89e916efe1","aria-modal":"true","no-router":!0,tabindex:"-1",...p,style:{zIndex:`${2e4+this.overlayIndex}`},class:{...$(this.cssClass),[t]:!0,"popover-translucent":this.translucent,"overlay-hidden":!0,"popover-desktop":d,[`popover-side-${a}`]:!0,[m]:!1===c,"popover-nested":!!o},onIonPopoverDidPresent:e,onIonPopoverWillPresent:e,onIonPopoverWillDismiss:e,onIonPopoverDidDismiss:e,onIonBackdropTap:this.onBackdropTap},!o&&i("ion-backdrop",{key:"f3977833c5b2c0087c286ee54363b478d69eb115",tappable:this.backdropDismiss,visible:this.showBackdrop,part:"backdrop"}),i("div",{key:"1059893d6fd2932ca8adcdf8d45a5d66f4794727",class:"popover-wrapper ion-overlay-wrapper",onClick:r?()=>this.dismiss():void 0},h&&i("div",{key:"24d7988bdd95882ad77fcaa7112aeda55878bee4",class:"popover-arrow",part:"arrow"}),i("div",{key:"4d6992e0a9d629f11763045f9199f9a77fa521ab",class:"popover-content",part:"content"},i("slot",{key:"b29747419620a01a6c34e9e846cd529b0b210145"}))))}get el(){return this}static get watchers(){return{trigger:[{onTriggerChange:0}],triggerAction:[{onTriggerChange:0}],isOpen:[{onIsOpenChange:0}]}}static get style(){return{ios:':host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;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}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{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}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{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}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::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)}}',md:":host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;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}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{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}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--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{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}"}}},[289,"ion-popover",{hasController:[4,"has-controller"],delegate:[16],overlayIndex:[2,"overlay-index"],enterAnimation:[16],leaveAnimation:[16],component:[1],componentProps:[16],keyboardClose:[4,"keyboard-close"],cssClass:[1,"css-class"],backdropDismiss:[4,"backdrop-dismiss"],event:[8],showBackdrop:[4,"show-backdrop"],translucent:[4],animated:[4],htmlAttributes:[16],triggerAction:[1,"trigger-action"],trigger:[1],size:[1],dismissOnSelect:[4,"dismiss-on-select"],reference:[1],side:[1],alignment:[1025],arrow:[4],isOpen:[4,"is-open"],keyboardEvents:[4,"keyboard-events"],focusTrap:[4,"focus-trap"],keepContentsMounted:[4,"keep-contents-mounted"],presented:[32],presentFromTrigger:[64],present:[64],dismiss:[64],getParentPopover:[64],onDidDismiss:[64],onWillDismiss:[64]},void 0,{trigger:[{onTriggerChange:0}],triggerAction:[{onTriggerChange:0}],isOpen:[{onIsOpenChange:0}]}]),tt={ionPopoverDidPresent:"ionViewDidEnter",ionPopoverWillPresent:"ionViewWillEnter",ionPopoverWillDismiss:"ionViewWillLeave",ionPopoverDidDismiss:"ionViewDidLeave"};function et(){"undefined"!=typeof customElements&&["ion-popover","ion-backdrop"].forEach((t=>{switch(t){case"ion-popover":customElements.get(a(t))||customElements.define(a(t),G);break;case"ion-backdrop":customElements.get(a(t))||O()}}))}export{G as P,et as d}