UNPKG

@zoff-tech/zt-bottom-drawer

Version:
17 lines 24.5 kB
import{r as t,d as e,h as o,H as r,e as i}from"./p-f6c816ce.js";import{CoreDelegate as s,attachComponent as n,detachComponent as a}from"@utils/framework-delegate";import{getElementRoot as p,raf as c,addEventListener as d,hasLazyBuild as l}from"@utils/helpers";import{printIonWarning as h}from"@utils/logging";import{BACKDROP as f,prepareOverlay as v,setOverlayId as u,present as g,focusFirstDescendant as m,dismiss as x,eventMethod as w}from"@utils/overlays";import{isPlatform as b}from"@utils/platform";import{getClassMap as k}from"@utils/theme";import{deepReady as y,waitForMount as P}from"@utils/transition";import{g as D}from"./p-0b9b2444.js";import{createAnimation as T}from"@utils/animation/animation"; /*! * (C) Ionic http://ionicframework.com - MIT License */const $=t=>{if(!t){return{arrowWidth:0,arrowHeight:0}}const{width:e,height:o}=t.getBoundingClientRect();return{arrowWidth:e,arrowHeight:o}};const I=(t,e,o)=>{const r=e.getBoundingClientRect();const i=r.height;let s=r.width;if(t==="cover"&&o){const t=o.getBoundingClientRect();s=t.width}return{contentWidth:s,contentHeight:i}};const A=(t,e,o,r)=>{let i=[];const s=p(r);const n=s.querySelector(".popover-content");switch(e){case"hover":i=[{eventName:"mouseenter",callback:e=>{const r=document.elementFromPoint(e.clientX,e.clientY);if(r===t){return}o.dismiss(undefined,undefined,false)}}];break;case"context-menu":case"click":default:i=[{eventName:"click",callback:e=>{const r=e.target;const i=r.closest("[data-ion-popover-trigger]");if(i===t){e.stopPropagation();return}o.dismiss(undefined,undefined,false)}}];break}i.forEach((({eventName:t,callback:e})=>n.addEventListener(t,e)));return()=>{i.forEach((({eventName:t,callback:e})=>n.removeEventListener(t,e)))}};const L=(t,e,o)=>{let r=[];switch(e){case"hover":let t;r=[{eventName:"mouseenter",callback:async e=>{e.stopPropagation();if(t){clearTimeout(t)}t=setTimeout((()=>{c((()=>{o.presentFromTrigger(e);t=undefined}))}),100)}},{eventName:"mouseleave",callback:e=>{if(t){clearTimeout(t)}const r=e.relatedTarget;if(!r){return}if(r.closest("ion-popover")!==o){o.dismiss(undefined,undefined,false)}}},{eventName:"click",callback:t=>t.stopPropagation()},{eventName:"ionPopoverActivateTrigger",callback:t=>o.presentFromTrigger(t,true)}];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,true)}];break;case"click":default:r=[{eventName:"click",callback:t=>o.presentFromTrigger(t)},{eventName:"ionPopoverActivateTrigger",callback:t=>o.presentFromTrigger(t,true)}];break}r.forEach((({eventName:e,callback:o})=>t.addEventListener(e,o)));t.setAttribute("data-ion-popover-trigger","true");return()=>{r.forEach((({eventName:e,callback:o})=>t.removeEventListener(e,o)));t.removeAttribute("data-ion-popover-trigger")}};const N=(t,e)=>{if(!e||e.tagName!=="ION-ITEM"){return-1}return t.findIndex((t=>t===e))};const W=(t,e)=>{const o=N(t,e);return t[o+1]};const O=(t,e)=>{const o=N(t,e);return t[o-1]};const C=t=>{const e=p(t);const o=e.querySelector("button");if(o){c((()=>o.focus()))}};const X=t=>t.hasAttribute("data-ion-popover-trigger");const Y=t=>{const e=async e=>{var o;const r=document.activeElement;let i=[];const s=(o=e.target)===null||o===void 0?void 0:o.tagName;if(s!=="ION-POPOVER"&&s!=="ION-ITEM"){return}try{i=Array.from(t.querySelectorAll("ion-item:not(ion-popover ion-popover *):not([disabled])"))}catch(t){}switch(e.key){case"ArrowLeft":const o=await t.getParentPopover();if(o){t.dismiss(undefined,undefined,false)}break;case"ArrowDown":e.preventDefault();const s=W(i,r);if(s!==undefined){C(s)}break;case"ArrowUp":e.preventDefault();const n=O(i,r);if(n!==undefined){C(n)}break;case"Home":e.preventDefault();const a=i[0];if(a!==undefined){C(a)}break;case"End":e.preventDefault();const p=i[i.length-1];if(p!==undefined){C(p)}break;case"ArrowRight":case" ":case"Enter":if(r&&X(r)){const t=new CustomEvent("ionPopoverActivateTrigger");r.dispatchEvent(t)}break}};t.addEventListener("keydown",e);return()=>t.removeEventListener("keydown",e)};const z=(t,e,o,r,i,s,n,a,p,c,d)=>{var l;let h={top:0,left:0,width:0,height:0};switch(s){case"event":if(!d){return p}const t=d;h={top:t.clientY,left:t.clientX,width:1,height:1};break;case"trigger":default:const e=d;const o=c||((l=e===null||e===void 0?void 0:e.detail)===null||l===void 0?void 0:l.ionShadowTarget)||(e===null||e===void 0?void 0:e.target);if(!o){return p}const r=o.getBoundingClientRect();h={top:r.top,left:r.left,width:r.width,height:r.height};break}const f=S(n,h,e,o,r,i,t);const v=V(a,n,h,e,o);const u=f.top+v.top;const g=f.left+v.left;const{arrowTop:m,arrowLeft:x}=M(n,r,i,u,g,e,o,t);const{originX:w,originY:b}=E(n,a,t);return{top:u,left:g,referenceCoordinates:h,arrowTop:m,arrowLeft:x,originX:w,originY:b}};const E=(t,e,o)=>{switch(t){case"top":return{originX:H(e),originY:"bottom"};case"bottom":return{originX:H(e),originY:"top"};case"left":return{originX:"right",originY:j(e)};case"right":return{originX:"left",originY:j(e)};case"start":return{originX:o?"left":"right",originY:j(e)};case"end":return{originX:o?"right":"left",originY:j(e)}}};const H=t=>{switch(t){case"start":return"left";case"center":return"center";case"end":return"right"}};const j=t=>{switch(t){case"start":return"top";case"center":return"center";case"end":return"bottom"}};const M=(t,e,o,r,i,s,n,a)=>{const p={arrowTop:r+n/2-e/2,arrowLeft:i+s-e/2};const c={arrowTop:r+n/2-e/2,arrowLeft:i-e*1.5};switch(t){case"top":return{arrowTop:r+n,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 a?c:p;case"end":return a?p:c;default:return{arrowTop:0,arrowLeft:0}}};const S=(t,e,o,r,i,s,n)=>{const a={top:e.top,left:e.left-o-i};const 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 a;case"start":return n?p:a;case"end":return n?a:p}};const V=(t,e,o,r,i)=>{switch(t){case"center":return B(e,o,r,i);case"end":return R(e,o,r,i);case"start":default:return{top:0,left:0}}};const R=(t,e,o,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r-e.height),left:0};case"top":case"bottom":default:return{top:0,left:-(o-e.width)}}};const B=(t,e,o,r)=>{switch(t){case"start":case"end":case"left":case"right":return{top:-(r/2-e.height/2),left:0};case"top":case"bottom":default:return{top:0,left:-(o/2-e.width/2)}}};const K=(t,e,o,r,i,s,n,a,p,c,d,l,h=0,f=0,v=0)=>{let u=h;const g=f;let m=o;let x=e;let w;let b=c;let k=d;let y=false;let P=false;const D=l?l.top+l.height:s/2-a/2;const T=l?l.height:0;let $=false;if(m<r+p){m=r;y=true;b="left"}else if(n+r+m+p>i){P=true;m=i-n-r;b="right"}if(D+T+a>s&&(t==="top"||t==="bottom")){if(D-a>0){x=Math.max(12,D-a-T-(v-1));u=x+a;k="bottom";$=true}else{w=r}}return{top:x,left:m,bottom:w,originX:b,originY:k,checkSafeAreaLeft:y,checkSafeAreaRight:P,arrowTop:u,arrowLeft:g,addPopoverBottomClass:$}};const F=(t,e=false,o,r)=>{if(!o&&!r){return false}if(t!=="top"&&t!=="bottom"&&e){return false}return true}; /*! * (C) Ionic http://ionicframework.com - MIT License */const U=5;const _=(t,e)=>{var o;const{event:r,size:i,trigger:s,reference:n,side:a,align:c}=e;const d=t.ownerDocument;const l=d.dir==="rtl";const h=d.defaultView.innerWidth;const f=d.defaultView.innerHeight;const v=p(t);const u=v.querySelector(".popover-content");const g=v.querySelector(".popover-arrow");const m=s||((o=r===null||r===void 0?void 0:r.detail)===null||o===void 0?void 0:o.ionShadowTarget)||(r===null||r===void 0?void 0:r.target);const{contentWidth:x,contentHeight:w}=I(i,u,m);const{arrowWidth:b,arrowHeight:k}=$(g);const y={top:f/2-w/2,left:h/2-x/2,originX:l?"right":"left",originY:"top"};const P=z(l,x,w,b,k,n,a,c,y,s,r);const D=i==="cover"?0:U;const A=i==="cover"?0:25;const{originX:L,originY:N,top:W,left:O,bottom:C,checkSafeAreaLeft:X,checkSafeAreaRight:Y,arrowTop:E,arrowLeft:H,addPopoverBottomClass:j}=K(a,P.top,P.left,D,h,f,x,w,A,P.originX,P.originY,P.referenceCoordinates,P.arrowTop,P.arrowLeft,k);const M=T();const S=T();const V=T();S.addElement(v.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]);V.addElement(v.querySelector(".popover-arrow")).addElement(v.querySelector(".popover-content")).fromTo("opacity",.01,1);return M.easing("ease").duration(100).beforeAddWrite((()=>{if(i==="cover"){t.style.setProperty("--width",`${x}px`)}if(j){t.classList.add("popover-bottom")}if(C!==undefined){u.style.setProperty("bottom",`${C}px`)}const e=" + var(--ion-safe-area-left, 0)";const o=" - var(--ion-safe-area-right, 0)";let n=`${O}px`;if(X){n=`${O}px${e}`}if(Y){n=`${O}px${o}`}u.style.setProperty("top",`calc(${W}px + var(--offset-y, 0))`);u.style.setProperty("left",`calc(${n} + var(--offset-x, 0))`);u.style.setProperty("transform-origin",`${N} ${L}`);if(g!==null){const t=P.top!==W||P.left!==O;const e=F(a,t,r,s);if(e){g.style.setProperty("top",`calc(${E}px + var(--offset-y, 0))`);g.style.setProperty("left",`calc(${H}px + var(--offset-x, 0))`)}else{g.style.setProperty("display","none")}}})).addAnimation([S,V])}; /*! * (C) Ionic http://ionicframework.com - MIT License */const q=t=>{const e=p(t);const o=e.querySelector(".popover-content");const r=e.querySelector(".popover-arrow");const i=T();const s=T();const n=T();s.addElement(e.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0);n.addElement(e.querySelector(".popover-arrow")).addElement(e.querySelector(".popover-content")).fromTo("opacity",.99,0);return 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");if(r){r.style.removeProperty("top");r.style.removeProperty("left");r.style.removeProperty("display")}})).duration(300).addAnimation([s,n])}; /*! * (C) Ionic http://ionicframework.com - MIT License */const G=12;const J=(t,e)=>{var o;const{event:r,size:i,trigger:s,reference:n,side:a,align:c}=e;const d=t.ownerDocument;const l=d.dir==="rtl";const h=d.defaultView.innerWidth;const f=d.defaultView.innerHeight;const v=p(t);const u=v.querySelector(".popover-content");const g=s||((o=r===null||r===void 0?void 0:r.detail)===null||o===void 0?void 0:o.ionShadowTarget)||(r===null||r===void 0?void 0:r.target);const{contentWidth:m,contentHeight:x}=I(i,u,g);const w={top:f/2-x/2,left:h/2-m/2,originX:l?"right":"left",originY:"top"};const b=z(l,m,x,0,0,n,a,c,w,s,r);const k=i==="cover"?0:G;const{originX:y,originY:P,top:D,left:$,bottom:A}=K(a,b.top,b.left,k,h,f,m,x,0,b.originX,b.originY,b.referenceCoordinates);const L=T();const N=T();const W=T();const O=T();const C=T();N.addElement(v.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]);W.addElement(v.querySelector(".popover-wrapper")).duration(150).fromTo("opacity",.01,1);O.addElement(u).beforeStyles({top:`calc(${D}px + var(--offset-y, 0px))`,left:`calc(${$}px + var(--offset-x, 0px))`,"transform-origin":`${P} ${y}`}).beforeAddWrite((()=>{if(A!==undefined){u.style.setProperty("bottom",`${A}px`)}})).fromTo("transform","scale(0.8)","scale(1)");C.addElement(v.querySelector(".popover-viewport")).fromTo("opacity",.01,1);return L.easing("cubic-bezier(0.36,0.66,0.04,1)").duration(300).beforeAddWrite((()=>{if(i==="cover"){t.style.setProperty("--width",`${m}px`)}if(P==="bottom"){t.classList.add("popover-bottom")}})).addAnimation([N,W,O,C])}; /*! * (C) Ionic http://ionicframework.com - MIT License */const Q=t=>{const e=p(t);const o=e.querySelector(".popover-content");const r=T();const i=T();const s=T();i.addElement(e.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0);s.addElement(e.querySelector(".popover-wrapper")).fromTo("opacity",.99,0);return 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])};const Z=':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:flex;position:fixed;align-items: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:flex;position:absolute;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);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:flex;flex-direction:column;overflow:hidden}: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{--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, #e6e6e6)}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;transform:rotate(45deg);background:var(--background);content:"";z-index:10}@supports (inset-inline-start: 0){.popover-arrow::after{inset-inline-start:3px}}@supports not (inset-inline-start: 0){.popover-arrow::after{left:3px}:host-context([dir=rtl]) .popover-arrow::after{left:unset;right:unset;right:3px}[dir=rtl] .popover-arrow::after{left:unset;right:unset;right:3px}@supports selector(:dir(rtl)){.popover-arrow::after:dir(rtl){left:unset;right:unset;right:3px}}}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start) .popover-arrow:dir(rtl){transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end) .popover-arrow:dir(rtl){transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports (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);backdrop-filter:saturate(180%) blur(20px)}}';const tt=":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:flex;position:fixed;align-items: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:flex;position:absolute;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);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:flex;flex-direction:column;overflow:hidden}: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{--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;transform-origin:left top}:host-context([dir=rtl]) .popover-content{transform-origin:right top}[dir=rtl] .popover-content{transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){transform-origin:right top}}.popover-viewport{transition-delay:100ms}.popover-wrapper{opacity:0}";const et=class{constructor(o){t(this,o);this.didPresent=e(this,"ionPopoverDidPresent",7);this.willPresent=e(this,"ionPopoverWillPresent",7);this.willDismiss=e(this,"ionPopoverWillDismiss",7);this.didDismiss=e(this,"ionPopoverDidDismiss",7);this.didPresentShorthand=e(this,"didPresent",7);this.willPresentShorthand=e(this,"willPresent",7);this.willDismissShorthand=e(this,"willDismiss",7);this.didDismissShorthand=e(this,"didDismiss",7);this.ionMount=e(this,"ionMount",7);this.parentPopover=null;this.coreDelegate=s();this.inline=false;this.focusDescendantOnPresent=false;this.onBackdropTap=()=>{this.dismiss(undefined,f)};this.onLifecycle=t=>{const e=this.usersElement;const o=ot[t.type];if(e&&o){const r=new CustomEvent(o,{bubbles:false,cancelable:false,detail:t.detail});e.dispatchEvent(r)}};this.configureTriggerInteraction=()=>{const{trigger:t,triggerAction:e,el:o,destroyTriggerInteraction:r}=this;if(r){r()}if(t===undefined){return}const i=this.triggerEl=t!==undefined?document.getElementById(t):null;if(!i){h(`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);return}this.destroyTriggerInteraction=L(i,e,o)};this.configureKeyboardInteraction=()=>{const{destroyKeyboardInteraction:t,el:e}=this;if(t){t()}this.destroyKeyboardInteraction=Y(e)};this.configureDismissInteraction=()=>{const{destroyDismissInteraction:t,parentPopover:e,triggerAction:o,triggerEl:r,el:i}=this;if(!e||!r){return}if(t){t()}this.destroyDismissInteraction=A(r,o,i,e)};this.presented=false;this.hasController=false;this.delegate=undefined;this.overlayIndex=undefined;this.enterAnimation=undefined;this.leaveAnimation=undefined;this.component=undefined;this.componentProps=undefined;this.keyboardClose=true;this.cssClass=undefined;this.backdropDismiss=true;this.event=undefined;this.showBackdrop=true;this.translucent=false;this.animated=true;this.htmlAttributes=undefined;this.triggerAction="click";this.trigger=undefined;this.size="auto";this.dismissOnSelect=false;this.reference="trigger";this.side="bottom";this.alignment=undefined;this.arrow=true;this.isOpen=false;this.keyboardEvents=false;this.keepContentsMounted=false}onTriggerChange(){this.configureTriggerInteraction()}onIsOpenChange(t,e){if(t===true&&e===false){this.present()}else if(t===false&&e===true){this.dismiss()}}connectedCallback(){const{configureTriggerInteraction:t,el:e}=this;v(e);t()}disconnectedCallback(){const{destroyTriggerInteraction:t}=this;if(t){t()}}componentWillLoad(){const{el:t}=this;const e=u(t);this.parentPopover=t.closest(`ion-popover:not(#${e})`);if(this.alignment===undefined){this.alignment=D(this)==="ios"?"center":"start"}}componentDidLoad(){const{parentPopover:t,isOpen:e}=this;if(e===true){c((()=>this.present()))}if(t){d(t,"ionPopoverWillDismiss",(()=>{this.dismiss(undefined,undefined,false)}))}}async presentFromTrigger(t,e=false){this.focusDescendantOnPresent=e;await this.present(t);this.focusDescendantOnPresent=false}getDelegate(t=false){if(this.workingDelegate&&!t){return{delegate:this.workingDelegate,inline:this.inline}}const e=this.el.parentNode;const o=this.inline=e!==null&&!this.hasController;const r=this.workingDelegate=o?this.delegate||this.coreDelegate:this.delegate;return{inline:o,delegate:r}}async present(t){if(this.presented){return}if(this.currentTransition!==undefined){await this.currentTransition}const{el:e}=this;const{inline:o,delegate:r}=this.getDelegate(true);this.usersElement=await n(r,e,this.component,["popover-viewport"],this.componentProps,o);if(!this.keyboardEvents){this.configureKeyboardInteraction()}this.configureDismissInteraction();this.ionMount.emit();if(l(e)){await y(this.usersElement)}else if(!this.keepContentsMounted){await P()}this.currentTransition=g(this,"popoverEnter",_,J,{event:t||this.event,size:this.size,trigger:this.triggerEl,reference:this.reference,side:this.side,align:this.alignment});await this.currentTransition;this.currentTransition=undefined;if(this.focusDescendantOnPresent){m(this.el,this.el)}}async dismiss(t,e,o=true){if(this.currentTransition!==undefined){await this.currentTransition}const{destroyKeyboardInteraction:r,destroyDismissInteraction:i}=this;if(o&&this.parentPopover){this.parentPopover.dismiss(t,e,o)}this.currentTransition=x(this,t,e,"popoverLeave",q,Q,this.event);const s=await this.currentTransition;if(s){if(r){r();this.destroyKeyboardInteraction=undefined}if(i){i();this.destroyDismissInteraction=undefined}const{delegate:t}=this.getDelegate();await a(t,this.usersElement)}this.currentTransition=undefined;return s}async getParentPopover(){return this.parentPopover}onDidDismiss(){return w(this.el,"ionPopoverDidDismiss")}onWillDismiss(){return w(this.el,"ionPopoverWillDismiss")}render(){const t=D(this);const{onLifecycle:e,parentPopover:i,dismissOnSelect:s,side:n,arrow:a,htmlAttributes:p}=this;const c=b("desktop");const d=a&&!i;return o(r,Object.assign({"aria-modal":"true","no-router":true,tabindex:"-1"},p,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign(Object.assign({},k(this.cssClass)),{[t]:true,"popover-translucent":this.translucent,"overlay-hidden":true,"popover-desktop":c,[`popover-side-${n}`]:true,"popover-nested":!!i}),onIonPopoverDidPresent:e,onIonPopoverWillPresent:e,onIonPopoverWillDismiss:e,onIonPopoverDidDismiss:e,onIonBackdropTap:this.onBackdropTap}),!i&&o("ion-backdrop",{tappable:this.backdropDismiss,visible:this.showBackdrop,part:"backdrop"}),o("div",{class:"popover-wrapper ion-overlay-wrapper",onClick:s?()=>this.dismiss():undefined},d&&o("div",{class:"popover-arrow",part:"arrow"}),o("div",{class:"popover-content",part:"content"},o("slot",null))))}get el(){return i(this)}static get watchers(){return{trigger:["onTriggerChange"],triggerAction:["onTriggerChange"],isOpen:["onIsOpenChange"]}}};const ot={ionPopoverDidPresent:"ionViewDidEnter",ionPopoverWillPresent:"ionViewWillEnter",ionPopoverWillDismiss:"ionViewWillLeave",ionPopoverDidDismiss:"ionViewDidLeave"};et.style={ios:Z,md:tt};export{et as ion_popover}; //# sourceMappingURL=p-5ffd90da.entry.js.map