UNPKG

@ionic/core

Version:
4 lines • 29.7 kB
/*! * (C) Ionic http://ionicframework.com - MIT License */ import{r as t,c as o,w as i,h as a,e,f as r}from"./p-66a5d6a8.js";import{f as n,i as s,d,r as p,a as h,p as l}from"./p-c3f9d9fe.js";import{C as c,a as m,d as f}from"./p-b9fa7882.js";import{g as b,j as u,r as x,h as w,k as v}from"./p-ece78e7b.js";import{c as g}from"./p-ccd02320.js";import{p as k}from"./p-3f4327f7.js";import{g as y}from"./p-c61cc894.js";import{G as A,O as D,F as B,e as Y,B as S,j,k as E,f as M,g as T,h as C}from"./p-f53ee2e7.js";import{g as O}from"./p-47794def.js";import{e as $,w as P}from"./p-64d8ac48.js";import{b as z,c as I}from"./p-597ff9af.js";import{KEYBOARD_DID_OPEN as W}from"./p-2b7827c7.js";import{c as R}from"./p-c7e16491.js";import{g as L}from"./p-2408c236.js";import{createGesture as H}from"./p-8ededb41.js";import{w as N}from"./p-7b30edcc.js";import"./p-9af7f110.js";import"./p-9b97df10.js";import"./p-27281edd.js";var F;!function(t){t.Dark="DARK",t.Light="LIGHT",t.Default="DEFAULT"}(F||(F={}));const K={getEngine(){const t=y();if(null==t?void 0:t.isPluginAvailable("StatusBar"))return t.Plugins.StatusBar},setStyle(t){const o=this.getEngine();o&&o.setStyle(t)},getStyle:async function(){const t=this.getEngine();if(!t)return F.Default;const{style:o}=await t.getInfo();return o}},V=(t,o)=>{if(1===o)return 0;const i=1/(1-o);return t*i+-o*i},Z=()=>{!N||N.innerWidth>=768||K.setStyle({style:F.Dark})},_=(t=F.Default)=>{!N||N.innerWidth>=768||K.setStyle({style:t})},G=async(t,o)=>{"function"==typeof t.canDismiss&&await t.canDismiss(void 0,A)&&(o.isRunning()?o.onFinish((()=>{t.dismiss(void 0,"handler")}),{oneTimeCallback:!0}):t.dismiss(void 0,"handler"))},U=t=>.00255275*2.71828**(-14.9619*t)-1.00255*2.71828**(-.0380968*t)+1,q=.915,J=(t,o)=>u(400,t/Math.abs(1.1*o),500),Q=t=>{const{currentBreakpoint:o,backdropBreakpoint:i,expandToScroll:a}=t,e=void 0===i||i<o,r=e?`calc(var(--backdrop-opacity) * ${o})`:"0",n=R("backdropAnimation").fromTo("opacity",0,r);return e&&n.beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),{wrapperAnimation:R("wrapperAnimation").keyframes([{offset:0,opacity:1,transform:"translateY(100%)"},{offset:1,opacity:1,transform:`translateY(${100-100*o}%)`}]),backdropAnimation:n,contentAnimation:a?void 0:R("contentAnimation").keyframes([{offset:0,opacity:1,maxHeight:100*(1-o)+"%"},{offset:1,opacity:1,maxHeight:100*o+"%"}])}},X=t=>{const{currentBreakpoint:o,backdropBreakpoint:i}=t,a=`calc(var(--backdrop-opacity) * ${V(o,i)})`,e=[{offset:0,opacity:a},{offset:1,opacity:0}],r=[{offset:0,opacity:a},{offset:i,opacity:0},{offset:1,opacity:0}],n=R("backdropAnimation").keyframes(0!==i?r:e);return{wrapperAnimation:R("wrapperAnimation").keyframes([{offset:0,opacity:1,transform:`translateY(${100-100*o}%)`},{offset:1,opacity:1,transform:"translateY(100%)"}]),backdropAnimation:n}},tt=(t,o)=>{const{presentingEl:i,currentBreakpoint:a,expandToScroll:e}=o,r=b(t),{wrapperAnimation:n,backdropAnimation:s,contentAnimation:d}=void 0!==a?Q(o):{backdropAnimation:R().fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),wrapperAnimation:R().fromTo("transform","translateY(100vh)","translateY(0vh)"),contentAnimation:void 0};s.addElement(r.querySelector("ion-backdrop")),n.addElement(r.querySelectorAll(".modal-wrapper, .modal-shadow")).beforeStyles({opacity:1}),!e&&(null==d||d.addElement(t.querySelector(".ion-page")));const p=R("entering-base").addElement(t).easing("cubic-bezier(0.32,0.72,0,1)").duration(500).addAnimation([n]).beforeAddWrite((()=>{if(e)return;const o=t.querySelector("ion-footer"),i=t.shadowRoot.querySelector("ion-footer");if(o&&!i){const i=o.clientHeight,a=o.cloneNode(!0);t.shadowRoot.appendChild(a),o.style.setProperty("display","none"),o.setAttribute("aria-hidden","true"),t.querySelector(".ion-page").style.setProperty("padding-bottom",`${i}px`)}}));if(d&&p.addAnimation(d),i){const t=window.innerWidth<768,o="ION-MODAL"===i.tagName&&void 0!==i.presentingElement,a=b(i),e=R().beforeStyles({transform:"translateY(0)","transform-origin":"top center",overflow:"hidden"}),r=document.body;if(t){const t=CSS.supports("width","max(0px, 1px)")?"max(30px, var(--ion-safe-area-top))":"30px",a=`translateY(${o?"-10px":t}) scale(0.915)`;e.afterStyles({transform:a}).beforeAddWrite((()=>r.style.setProperty("background-color","black"))).addElement(i).keyframes([{offset:0,filter:"contrast(1)",transform:"translateY(0px) scale(1)",borderRadius:"0px"},{offset:1,filter:"contrast(0.85)",transform:a,borderRadius:"10px 10px 0 0"}]),p.addAnimation(e)}else if(p.addAnimation(s),o){const t=`translateY(-10px) scale(${o?q:1})`;e.afterStyles({transform:t}).addElement(a.querySelector(".modal-wrapper")).keyframes([{offset:0,filter:"contrast(1)",transform:"translateY(0) scale(1)"},{offset:1,filter:"contrast(0.85)",transform:t}]);const i=R().afterStyles({transform:t}).addElement(a.querySelector(".modal-shadow")).keyframes([{offset:0,opacity:"1",transform:"translateY(0) scale(1)"},{offset:1,opacity:"0",transform:t}]);p.addAnimation([e,i])}else n.fromTo("opacity","0","1")}else p.addAnimation(s);return p},ot=(t,o,i=500)=>{const{presentingEl:a,currentBreakpoint:e,expandToScroll:r}=o,n=b(t),{wrapperAnimation:s,backdropAnimation:d}=void 0!==e?X(o):{backdropAnimation:R().fromTo("opacity","var(--backdrop-opacity)",0),wrapperAnimation:R().fromTo("transform","translateY(0vh)","translateY(100vh)")};d.addElement(n.querySelector("ion-backdrop")),s.addElement(n.querySelectorAll(".modal-wrapper, .modal-shadow")).beforeStyles({opacity:1});const p=R("leaving-base").addElement(t).easing("cubic-bezier(0.32,0.72,0,1)").duration(i).addAnimation(s).beforeAddWrite((()=>{if(r)return;const o=t.querySelector("ion-footer");if(o){const i=t.shadowRoot.querySelector("ion-footer");o.style.removeProperty("display"),o.removeAttribute("aria-hidden"),i.style.setProperty("display","none"),i.setAttribute("aria-hidden","true"),t.querySelector(".ion-page").style.removeProperty("padding-bottom")}}));if(a){const t=window.innerWidth<768,o="ION-MODAL"===a.tagName&&void 0!==a.presentingElement,i=b(a),e=R().beforeClearStyles(["transform"]).afterClearStyles(["transform"]).onFinish((t=>{1===t&&(a.style.setProperty("overflow",""),Array.from(r.querySelectorAll("ion-modal:not(.overlay-hidden)")).filter((t=>void 0!==t.presentingElement)).length<=1&&r.style.setProperty("background-color",""))})),r=document.body;if(t){const t=CSS.supports("width","max(0px, 1px)")?"max(30px, var(--ion-safe-area-top))":"30px",i=`translateY(${o?"-10px":t}) scale(0.915)`;e.addElement(a).keyframes([{offset:0,filter:"contrast(0.85)",transform:i,borderRadius:"10px 10px 0 0"},{offset:1,filter:"contrast(1)",transform:"translateY(0px) scale(1)",borderRadius:"0px"}]),p.addAnimation(e)}else if(p.addAnimation(d),o){const t=`translateY(-10px) scale(${o?q:1})`;e.addElement(i.querySelector(".modal-wrapper")).afterStyles({transform:"translate3d(0, 0, 0)"}).keyframes([{offset:0,filter:"contrast(0.85)",transform:t},{offset:1,filter:"contrast(1)",transform:"translateY(0) scale(1)"}]);const a=R().addElement(i.querySelector(".modal-shadow")).afterStyles({transform:"translateY(0) scale(1)"}).keyframes([{offset:0,opacity:"0",transform:t},{offset:1,opacity:"1",transform:"translateY(0) scale(1)"}]);p.addAnimation([e,a])}else s.fromTo("opacity","1","0")}else p.addAnimation(d);return p},it=(t,o)=>{const{currentBreakpoint:i,expandToScroll:a}=o,e=b(t),{wrapperAnimation:r,backdropAnimation:n,contentAnimation:s}=void 0!==i?Q(o):{backdropAnimation:R().fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),wrapperAnimation:R().keyframes([{offset:0,opacity:.01,transform:"translateY(40px)"},{offset:1,opacity:1,transform:"translateY(0px)"}]),contentAnimation:void 0};n.addElement(e.querySelector("ion-backdrop")),r.addElement(e.querySelector(".modal-wrapper")),a&&(null==s||s.addElement(t.querySelector(".ion-page")));const d=R().addElement(t).easing("cubic-bezier(0.36,0.66,0.04,1)").duration(280).addAnimation([n,r]).beforeAddWrite((()=>{if(a)return;const o=t.querySelector("ion-footer"),i=t.shadowRoot.querySelector("ion-footer");if(o&&!i){const i=o.clientHeight,a=o.cloneNode(!0);t.shadowRoot.appendChild(a),o.style.setProperty("display","none"),o.setAttribute("aria-hidden","true"),t.querySelector(".ion-page").style.setProperty("padding-bottom",`${i}px`)}}));return s&&d.addAnimation(s),d},at=(t,o)=>{const{currentBreakpoint:i,expandToScroll:a}=o,e=b(t),{wrapperAnimation:r,backdropAnimation:n}=void 0!==i?X(o):{backdropAnimation:R().fromTo("opacity","var(--backdrop-opacity)",0),wrapperAnimation:R().keyframes([{offset:0,opacity:.99,transform:"translateY(0px)"},{offset:1,opacity:0,transform:"translateY(40px)"}])};return n.addElement(e.querySelector("ion-backdrop")),r.addElement(e.querySelector(".modal-wrapper")),R().easing("cubic-bezier(0.47,0,0.745,0.715)").duration(200).addAnimation([n,r]).beforeAddWrite((()=>{if(a)return;const o=t.querySelector("ion-footer");if(o){const i=t.shadowRoot.querySelector("ion-footer");o.style.removeProperty("display"),o.removeAttribute("aria-hidden"),i.style.setProperty("display","none"),i.setAttribute("aria-hidden","true"),t.querySelector(".ion-page").style.removeProperty("padding-bottom")}}))},et=class{constructor(i){t(this,i),this.didPresent=o(this,"ionModalDidPresent",7),this.willPresent=o(this,"ionModalWillPresent",7),this.willDismiss=o(this,"ionModalWillDismiss",7),this.didDismiss=o(this,"ionModalDidDismiss",7),this.ionBreakpointDidChange=o(this,"ionBreakpointDidChange",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.lockController=g(),this.triggerController=Y(),this.coreDelegate=c(),this.isSheetModal=!1,this.inheritedAttributes={},this.inline=!1,this.gestureAnimationDismissing=!1,this.onHandleClick=()=>{const{sheetTransition:t,handleBehavior:o}=this;"cycle"===o&&void 0===t&&this.moveToNextBreakpoint()},this.onBackdropTap=()=>{const{sheetTransition:t}=this;void 0===t&&this.dismiss(void 0,S)},this.onLifecycle=t=>{const o=this.usersElement,i=rt[t.type];if(o&&i){const a=new CustomEvent(i,{bubbles:!1,cancelable:!1,detail:t.detail});o.dispatchEvent(a)}},this.presented=!1,this.hasController=!1,this.overlayIndex=void 0,this.delegate=void 0,this.keyboardClose=!0,this.enterAnimation=void 0,this.leaveAnimation=void 0,this.breakpoints=void 0,this.expandToScroll=!0,this.initialBreakpoint=void 0,this.backdropBreakpoint=0,this.handle=void 0,this.handleBehavior="none",this.component=void 0,this.componentProps=void 0,this.cssClass=void 0,this.backdropDismiss=!0,this.showBackdrop=!0,this.animated=!0,this.presentingElement=void 0,this.htmlAttributes=void 0,this.isOpen=!1,this.trigger=void 0,this.keepContentsMounted=!1,this.focusTrap=!0,this.canDismiss=!0}onIsOpenChange(t,o){!0===t&&!1===o?this.present():!1===t&&!0===o&&this.dismiss()}triggerChanged(){const{trigger:t,el:o,triggerController:i}=this;t&&i.addClickListener(o,t)}breakpointsChanged(t){void 0!==t&&(this.sortedBreakpoints=t.sort(((t,o)=>t-o)))}connectedCallback(){const{el:t}=this;j(t),this.triggerChanged()}disconnectedCallback(){this.triggerController.removeClickListener()}componentWillLoad(){var t;const{breakpoints:o,initialBreakpoint:i,el:a,htmlAttributes:e}=this,r=this.isSheetModal=void 0!==o&&void 0!==i,n=["aria-label","role"];this.inheritedAttributes=w(a,n),void 0!==e&&n.forEach((t=>{e[t]&&(this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:e[t]}),delete e[t])})),r&&(this.currentBreakpoint=this.initialBreakpoint),void 0===o||void 0===i||o.includes(i)||k("Your breakpoints array must include the initialBreakpoint value."),(null===(t=this.htmlAttributes)||void 0===t?void 0:t.id)||E(this.el)}componentDidLoad(){!0===this.isOpen&&x((()=>this.present())),this.breakpointsChanged(this.breakpoints),this.triggerChanged()}getDelegate(t=!1){if(this.workingDelegate&&!t)return{delegate:this.workingDelegate,inline:this.inline};const o=this.inline=null!==this.el.parentNode&&!this.hasController;return{inline:o,delegate:this.workingDelegate=o?this.delegate||this.coreDelegate:this.delegate}}async checkCanDismiss(t,o){const{canDismiss:i}=this;return"function"==typeof i?i(t,o):i}async present(){const t=await this.lockController.lock();if(this.presented)return void t();const{presentingElement:o,el:a}=this;this.currentBreakpoint=this.initialBreakpoint;const{inline:e,delegate:r}=this.getDelegate(!0);this.ionMount.emit(),this.usersElement=await m(r,a,this.component,["ion-page"],this.componentProps,e),v(a)?await $(this.usersElement):this.keepContentsMounted||await P(),i((()=>this.el.classList.add("show-modal")));const n=void 0!==o;n&&"ios"===z(this)&&(this.statusBarStyle=await K.getStyle(),Z()),await M(this,"modalEnter",tt,it,{presentingEl:o,currentBreakpoint:this.initialBreakpoint,backdropBreakpoint:this.backdropBreakpoint,expandToScroll:this.expandToScroll}),"undefined"!=typeof window&&(this.keyboardOpenCallback=()=>{this.gesture&&(this.gesture.enable(!1),x((()=>{this.gesture&&this.gesture.enable(!0)})))},window.addEventListener(W,this.keyboardOpenCallback)),this.isSheetModal?this.initSheetGesture():n&&this.initSwipeToClose(),t()}initSwipeToClose(){var t;if("ios"!==z(this))return;const{el:o}=this,i=this.leaveAnimation||I.get("modalLeave",ot),a=this.animation=i(o,{presentingEl:this.presentingElement,expandToScroll:this.expandToScroll});if(!h(o))return void l(o);const e=null!==(t=this.statusBarStyle)&&void 0!==t?t:F.Default;this.gesture=((t,o,i,a)=>{const e=.5,r=t.offsetHeight;let h=!1,l=!1,c=null,m=null,f=!0,x=0;const w=H({el:t,gestureName:"modalSwipeToClose",gesturePriority:D,direction:"y",threshold:10,canStart:t=>{const o=t.event.target;if(null===o||!o.closest)return!0;if(c=n(o),c){if(s(c)){const t=b(c);m=t.querySelector(".inner-scroll")}else m=c;return!c.querySelector("ion-refresher")&&0===m.scrollTop}return null===o.closest("ion-footer")},onStart:i=>{const{deltaY:a}=i;f=!c||!s(c)||c.scrollY,l=void 0!==t.canDismiss&&!0!==t.canDismiss,a>0&&c&&d(c),o.progressStart(!0,h?1:0)},onMove:t=>{const{deltaY:a}=t;a>0&&c&&d(c);const n=t.deltaY/r,s=n>=0&&l,p=s?.2:.9999,h=s?U(n/p):n,m=u(1e-4,h,p);o.progressStep(m),m>=e&&x<e?_(i):m<e&&x>=e&&Z(),x=m},onEnd:i=>{const n=i.velocityY,s=i.deltaY/r,d=s>=0&&l,m=d?.2:.9999,b=d?U(s/m):s,x=u(1e-4,b,m),v=!d&&(i.deltaY+1e3*n)/r>=e;let g=v?-.001:.001;v?(o.easing("cubic-bezier(0.32, 0.72, 0, 1)"),g+=L([0,0],[.32,.72],[0,1],[1,1],x)[0]):(o.easing("cubic-bezier(1, 0, 0.68, 0.28)"),g+=L([0,0],[1,0],[.68,.28],[1,1],x)[0]);const k=J(v?s*r:(1-x)*r,n);h=v,w.enable(!1),c&&p(c,f),o.onFinish((()=>{v||w.enable(!0)})).progressEnd(v?1:0,g,k),d&&x>m/4?G(t,o):v&&a()}});return w})(o,a,e,(()=>{this.gestureAnimationDismissing=!0,_(this.statusBarStyle),this.animation.onFinish((async()=>{await this.dismiss(void 0,A),this.gestureAnimationDismissing=!1}))})),this.gesture.enable(!0)}initSheetGesture(){const{wrapperEl:t,initialBreakpoint:o,backdropBreakpoint:i}=this;if(!t||void 0===o)return;const a=this.enterAnimation||I.get("modalEnter",tt),e=this.animation=a(this.el,{presentingEl:this.presentingElement,currentBreakpoint:o,backdropBreakpoint:i,expandToScroll:this.expandToScroll});e.progressStart(!0,1);const{gesture:r,moveSheetToBreakpoint:d}=((t,o,i,a,e,r,d=[],p,h,l,c)=>{const m={WRAPPER_KEYFRAMES:[{offset:0,transform:"translateY(0%)"},{offset:1,transform:"translateY(100%)"}],BACKDROP_KEYFRAMES:0!==e?[{offset:0,opacity:"var(--backdrop-opacity)"},{offset:1-e,opacity:0},{offset:1,opacity:0}]:[{offset:0,opacity:"var(--backdrop-opacity)"},{offset:1,opacity:.01}],CONTENT_KEYFRAMES:[{offset:0,maxHeight:"100%"},{offset:1,maxHeight:"0%"}]},f=t.querySelector("ion-content"),w=i.clientHeight;let v=a,g=0,k=!1,y=null;const A=d[d.length-1],D=d[0],Y=r.childAnimations.find((t=>"wrapperAnimation"===t.id)),S=r.childAnimations.find((t=>"backdropAnimation"===t.id)),j=r.childAnimations.find((t=>"contentAnimation"===t.id)),E=()=>{t.style.setProperty("pointer-events","auto"),o.style.setProperty("pointer-events","auto"),t.classList.remove(B)},M=()=>{t.style.setProperty("pointer-events","none"),o.style.setProperty("pointer-events","none"),t.classList.add(B)},T=o=>{const a=t.querySelector("ion-footer");if(!a)return;const e=i.nextElementSibling,r="original"===o?e:a,n="original"===o?a:e;n.style.removeProperty("display"),n.removeAttribute("aria-hidden");const s=t.querySelector(".ion-page");"original"===o?s.style.removeProperty("padding-bottom"):s.style.setProperty("padding-bottom",`${n.clientHeight}px`),r.style.setProperty("display","none"),r.setAttribute("aria-hidden","true")};Y&&S&&(Y.keyframes([...m.WRAPPER_KEYFRAMES]),S.keyframes([...m.BACKDROP_KEYFRAMES]),null==j||j.keyframes([...m.CONTENT_KEYFRAMES]),r.progressStart(!0,1-v),v>e?E():M()),f&&v!==A&&p&&(f.scrollY=!1);const C=o=>{const{breakpoint:i,canDismiss:a,breakpointOffset:n,animated:s}=o,h=a&&0===i,b=h?v:i,u=0!==b;return v=0,Y&&S&&(Y.keyframes([{offset:0,transform:`translateY(${100*n}%)`},{offset:1,transform:`translateY(${100*(1-b)}%)`}]),S.keyframes([{offset:0,opacity:`calc(var(--backdrop-opacity) * ${V(1-n,e)})`},{offset:1,opacity:`calc(var(--backdrop-opacity) * ${V(b,e)})`}]),j&&j.keyframes([{offset:0,maxHeight:100*(1-n)+"%"},{offset:1,maxHeight:100*b+"%"}]),r.progressStep(0)),O.enable(!1),!p&&u&&T("cloned"),h?G(t,r):u||l(),!f||b!==d[d.length-1]&&p||(f.scrollY=!0),new Promise((t=>{r.onFinish((()=>{u?Y&&S?x((()=>{Y.keyframes([...m.WRAPPER_KEYFRAMES]),S.keyframes([...m.BACKDROP_KEYFRAMES]),null==j||j.keyframes([...m.CONTENT_KEYFRAMES]),r.progressStart(!0,1-b),v=b,c(v),v>e?E():M(),O.enable(!0),t()})):(O.enable(!0),t()):t()}),{oneTimeCallback:!0}).progressEnd(1,0,s?500:0)}))},O=H({el:i,gestureName:"modalSheet",gesturePriority:40,direction:"y",threshold:10,canStart:t=>{const o=n(t.event.target);if(v=h(),!p&&o)return 0===(s(o)?b(o).querySelector(".inner-scroll"):o).scrollTop;if(1===v&&o){const t=s(o)?b(o).querySelector(".inner-scroll"):o;return!o.querySelector("ion-refresher")&&0===t.scrollTop}return!0},onStart:o=>{if(k=void 0!==t.canDismiss&&!0!==t.canDismiss&&0===D,!p){const t=n(o.event.target);y=t&&s(t)?b(t).querySelector(".inner-scroll"):t}p||T("original"),o.deltaY>0&&f&&(f.scrollY=!1),x((()=>{t.focus()})),r.progressStart(!0,1-v)},onMove:t=>{if(!p&&t.deltaY<=0&&y)return;t.deltaY>0&&f&&(f.scrollY=!1);const o=d.length>1?1-d[1]:void 0,i=1-v+t.deltaY/w,a=void 0!==o&&i>=o&&k,e=a?.95:.9999,n=a&&void 0!==o?o+U((i-o)/(e-o)):i;g=u(1e-4,n,e),r.progressStep(g)},onEnd:t=>{if(!p&&t.deltaY<=0&&y&&y.scrollTop>0)return;const o=v-(t.deltaY+350*t.velocityY)/w,i=d.reduce(((t,i)=>Math.abs(i-o)<Math.abs(t-o)?i:t));C({breakpoint:i,breakpointOffset:g,canDismiss:k,animated:!0})}});return{gesture:O,moveSheetToBreakpoint:C}})(this.el,this.backdropEl,t,o,i,e,this.sortedBreakpoints,this.expandToScroll,(()=>{var t;return null!==(t=this.currentBreakpoint)&&void 0!==t?t:0}),(()=>this.sheetOnDismiss()),(t=>{this.currentBreakpoint!==t&&(this.currentBreakpoint=t,this.ionBreakpointDidChange.emit({breakpoint:t}))}));this.gesture=r,this.moveSheetToBreakpoint=d,this.gesture.enable(!0)}sheetOnDismiss(){this.gestureAnimationDismissing=!0,this.animation.onFinish((async()=>{this.currentBreakpoint=0,this.ionBreakpointDidChange.emit({breakpoint:this.currentBreakpoint}),await this.dismiss(void 0,A),this.gestureAnimationDismissing=!1}))}async dismiss(t,o){var a;if(this.gestureAnimationDismissing&&o!==A)return!1;const e=await this.lockController.lock();if("handler"!==o&&!await this.checkCanDismiss(t,o))return e(),!1;const{presentingElement:r}=this;void 0!==r&&"ios"===z(this)&&_(this.statusBarStyle),"undefined"!=typeof window&&this.keyboardOpenCallback&&(window.removeEventListener(W,this.keyboardOpenCallback),this.keyboardOpenCallback=void 0);const n=await T(this,t,o,"modalLeave",ot,at,{presentingEl:r,currentBreakpoint:null!==(a=this.currentBreakpoint)&&void 0!==a?a:this.initialBreakpoint,backdropBreakpoint:this.backdropBreakpoint,expandToScroll:this.expandToScroll});if(n){const{delegate:t}=this.getDelegate();await f(t,this.usersElement),i((()=>this.el.classList.remove("show-modal"))),this.animation&&this.animation.destroy(),this.gesture&&this.gesture.destroy()}return this.currentBreakpoint=void 0,this.animation=void 0,e(),n}onDidDismiss(){return C(this.el,"ionModalDidDismiss")}onWillDismiss(){return C(this.el,"ionModalWillDismiss")}async setCurrentBreakpoint(t){if(!this.isSheetModal)return void k("setCurrentBreakpoint is only supported on sheet modals.");if(!this.breakpoints.includes(t))return void k(`Attempted to set invalid breakpoint value ${t}. Please double check that the breakpoint value is part of your defined breakpoints.`);const{currentBreakpoint:o,moveSheetToBreakpoint:i,canDismiss:a,breakpoints:e,animated:r}=this;o!==t&&i&&(this.sheetTransition=i({breakpoint:t,breakpointOffset:1-o,canDismiss:void 0!==a&&!0!==a&&0===e[0],animated:r}),await this.sheetTransition,this.sheetTransition=void 0)}async getCurrentBreakpoint(){return this.currentBreakpoint}async moveToNextBreakpoint(){const{breakpoints:t,currentBreakpoint:o}=this;if(!t||null==o)return!1;const i=t.filter((t=>0!==t)),a=i.indexOf(o),e=i[(a+1)%i.length];return await this.setCurrentBreakpoint(e),!0}render(){const{handle:t,isSheetModal:o,presentingElement:i,htmlAttributes:r,handleBehavior:n,inheritedAttributes:s,focusTrap:d,expandToScroll:p}=this,h=!1!==t&&o,l=z(this),c=void 0!==i&&"ios"===l,m="cycle"===n;return a(e,Object.assign({key:"e661562f9e4126136cee337e4ab8ca69ac80faae","no-router":!0,tabindex:"-1"},r,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign({[l]:!0,"modal-default":!c&&!o,"modal-card":c,"modal-sheet":o,"modal-no-expand-scroll":o&&!p,"overlay-hidden":!0,[B]:!1===d},O(this.cssClass)),onIonBackdropTap:this.onBackdropTap,onIonModalDidPresent:this.onLifecycle,onIonModalWillPresent:this.onLifecycle,onIonModalWillDismiss:this.onLifecycle,onIonModalDidDismiss:this.onLifecycle}),a("ion-backdrop",{key:"9221692e0e111f99e80239ca44faaaed9b288425",ref:t=>this.backdropEl=t,visible:this.showBackdrop,tappable:this.backdropDismiss,part:"backdrop"}),"ios"===l&&a("div",{key:"20def7088d31e5eb13c3f2404c514cd8b74cd966",class:"modal-shadow"}),a("div",Object.assign({key:"b11229330571d4ff7b9136dfdddcd7d759ada876",role:"dialog"},s,{"aria-modal":"true",class:"modal-wrapper ion-overlay-wrapper",part:"content",ref:t=>this.wrapperEl=t}),h&&a("button",{key:"95b2a62477dfbc063a91910f0d37357388cfd914",class:"modal-handle",tabIndex:m?0:-1,"aria-label":"Activate to adjust the size of the dialog overlaying the screen",onClick:m?this.onHandleClick:void 0,part:"handle"}),a("slot",{key:"fba17dfdbdffbfd8992f473f633d172c5124dc19"})))}get el(){return r(this)}static get watchers(){return{isOpen:["onIsOpenChange"],trigger:["triggerChanged"]}}},rt={ionModalDidPresent:"ionViewDidEnter",ionModalWillPresent:"ionViewWillEnter",ionModalWillDismiss:"ionViewWillLeave",ionModalDidDismiss:"ionViewDidLeave"};et.style={ios:':host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);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);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer ion-toolbar:first-of-type{padding-top:6px}',md:':host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);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);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}'};export{et as ion_modal}