/*! * (C) Ionic http://ionicframework.com - MIT License */ import{d as n}from"./p-7b30edcc.js";import{f as e,c as o,a as t,b as i,g as a}from"./p-b51e4004.js";import{OVERLAY_BACK_BUTTON_PRIORITY as r,shouldUseCloseWatcher as d}from"./p-c222f76a.js";import{b as s,c as l}from"./p-6994c97a.js";import{C as c}from"./p-3cc276f4.js";import{B as u}from"./p-9b97df10.js";import{p as m}from"./p-06fee233.js";const p='[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])',f=(n,e)=>{const o=n.querySelector(p);h(o,null!=e?e:n)},v=(n,e)=>{const o=Array.from(n.querySelectorAll(p));h(o.length>0?o[o.length-1]:null,null!=e?e:n)},h=(n,o)=>{let t=n;const i=null==n?void 0:n.shadowRoot;i&&(t=i.querySelector(p)||n),t?e(t):o.focus()};let b=0,y=0;const w=new WeakMap,g=n=>({create:e=>N(n,e),dismiss:(e,o,t)=>P(document,e,o,n,t),getTop:async()=>E(document,n)}),O=g("ion-alert"),k=g("ion-action-sheet"),T=g("ion-loading"),x=g("ion-modal"),j=g("ion-picker-legacy"),A=g("ion-popover"),C=g("ion-toast"),I=n=>{"undefined"!=typeof document&&B(document);const e=b++;n.overlayIndex=e},D=n=>(n.hasAttribute("id")||(n.id="ion-overlay-"+ ++y),n.id),N=(n,e)=>"undefined"!=typeof window&&void 0!==window.customElements?window.customElements.whenDefined(n).then((()=>{const t=document.createElement(n);return t.classList.add("overlay-hidden"),Object.assign(t,Object.assign(Object.assign({},e),{hasController:!0})),z(document).appendChild(t),new Promise((n=>o(t,n)))})):Promise.resolve(),S=(n,o)=>{let t=n;const i=null==n?void 0:n.shadowRoot;i&&(t=i.querySelector(p)||n),t?e(t):o.focus()},B=n=>{0===b&&(b=1,n.addEventListener("focus",(e=>{((n,e)=>{const o=E(e,"ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover"),t=n.target;o&&t&&(o.classList.contains("ion-disable-focus-trap")||(o.shadowRoot?(()=>{if(o.contains(t))o.lastFocus=t;else if("ION-TOAST"===t.tagName)S(o.lastFocus,o);else{const n=o.lastFocus;f(o),n===e.activeElement&&v(o),o.lastFocus=e.activeElement}})():(()=>{if(o===t)o.lastFocus=void 0;else if("ION-TOAST"===t.tagName)S(o.lastFocus,o);else{const n=a(o);if(!n.contains(t))return;const i=n.querySelector(".ion-overlay-wrapper");if(!i)return;if(i.contains(t)||t===n.querySelector("ion-backdrop"))o.lastFocus=t;else{const n=o.lastFocus;f(i,o),n===e.activeElement&&v(i,o),o.lastFocus=e.activeElement}}})()))})(e,n)}),!0),n.addEventListener("ionBackButton",(e=>{const o=E(n);(null==o?void 0:o.backdropDismiss)&&e.detail.register(r,(()=>{o.dismiss(void 0,K)}))})),d()||n.addEventListener("keydown",(e=>{if("Escape"===e.key){const e=E(n);(null==e?void 0:e.backdropDismiss)&&e.dismiss(void 0,K)}})))},P=(n,e,o,t,i)=>{const a=E(n,t,i);return a?a.dismiss(e,o):Promise.reject("overlay does not exist")},M=(n,e)=>((n,e)=>(void 0===e&&(e="ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover,ion-toast"),Array.from(n.querySelectorAll(e)).filter((n=>n.overlayIndex>0))))(n,e).filter((n=>!n.classList.contains("overlay-hidden"))),E=(n,e,o)=>{const t=M(n,e);return void 0===o?t[t.length-1]:t.find((n=>n.id===o))},G=(n=!1)=>{const e=z(document).querySelector("ion-router-outlet, ion-nav, #ion-view-container-root");e&&(n?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden"))},L=async(n,e,o,t,i)=>{var a,r;if(n.presented)return;G(!0),document.body.classList.add(u),Y(n.el),n.presented=!0,n.willPresent.emit(),null===(a=n.willPresentShorthand)||void 0===a||a.emit();const d=s(n),c=n.enterAnimation?n.enterAnimation:l.get(e,"ios"===d?o:t);await F(n,c,n.el,i)&&(n.didPresent.emit(),null===(r=n.didPresentShorthand)||void 0===r||r.emit()),"ION-TOAST"!==n.el.tagName&&V(n.el),!n.keyboardClose||null!==document.activeElement&&n.el.contains(document.activeElement)||n.el.focus(),n.el.removeAttribute("aria-hidden")},V=async n=>{let e=document.activeElement;if(!e)return;const o=null==e?void 0:e.shadowRoot;o&&(e=o.querySelector(p)||e),await n.onDidDismiss(),null!==document.activeElement&&document.activeElement!==document.body||e.focus()},q=async(e,o,t,i,a,r,d)=>{var c,m;if(!e.presented)return!1;void 0!==n&&1===M(n).length&&(G(!1),document.body.classList.remove(u)),e.presented=!1;try{e.el.style.setProperty("pointer-events","none"),e.willDismiss.emit({data:o,role:t}),null===(c=e.willDismissShorthand)||void 0===c||c.emit({data:o,role:t});const n=s(e),u=e.leaveAnimation?e.leaveAnimation:l.get(i,"ios"===n?a:r);t!==Q&&await F(e,u,e.el,d),e.didDismiss.emit({data:o,role:t}),null===(m=e.didDismissShorthand)||void 0===m||m.emit({data:o,role:t}),(w.get(e)||[]).forEach((n=>n.destroy())),w.delete(e),e.el.classList.add("overlay-hidden"),e.el.style.removeProperty("pointer-events"),void 0!==e.el.lastFocus&&(e.el.lastFocus=void 0)}catch(n){console.error(n)}return e.el.remove(),Z(),!0},z=n=>n.querySelector("ion-app")||n.body,F=async(n,e,o,t)=>{o.classList.remove("overlay-hidden");const i=e(n.el,t);n.animated&&l.getBoolean("animated",!0)||i.duration(0),n.keyboardClose&&i.beforeAddWrite((()=>{const n=o.ownerDocument.activeElement;(null==n?void 0:n.matches("input,ion-input, ion-textarea"))&&n.blur()}));const a=w.get(n)||[];return w.set(n,[...a,i]),await i.play(),!0},W=(n,e)=>{let o;const t=new Promise((n=>o=n));return $(n,e,(n=>{o(n.detail)})),t},$=(n,e,o)=>{const a=t=>{i(n,e,a),o(t)};t(n,e,a)},_=n=>"cancel"===n||n===K,H=n=>n(),J=(n,e)=>{if("function"==typeof n)return l.get("_zoneGate",H)((()=>{try{return n(e)}catch(n){throw n}}))},K="backdrop",Q="gesture",R=39,U=n=>{let e,o=!1;const t=c(),i=(i=!1)=>{if(e&&!i)return{delegate:e,inline:o};const{el:a,hasController:r,delegate:d}=n;return o=null!==a.parentNode&&!r,e=o?d||t:d,{inline:o,delegate:e}};return{attachViewToDom:async e=>{const{delegate:o}=i(!0);if(o)return await o.attachViewToDom(n.el,e);const{hasController:t}=n;if(t&&void 0!==e)throw new Error("framework delegate is missing");return null},removeViewFromDom:()=>{const{delegate:e}=i();e&&void 0!==n.el&&e.removeViewFromDom(n.el.parentElement,n.el)}}},X=()=>{let n;const e=()=>{n&&(n(),n=void 0)};return{addClickListener:(o,t)=>{e();const i=void 0!==t?document.getElementById(t):null;i?n=((n,e)=>{const o=()=>{e.present()};return n.addEventListener("click",o),()=>{n.removeEventListener("click",o)}})(i,o):m(`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 an overlay component.`,o)},removeClickListener:e}},Y=e=>{var o;if(void 0===n)return;const t=M(n);for(let n=t.length-1;n>=0;n--){const i=t[n],a=null!==(o=t[n+1])&&void 0!==o?o:e;(a.hasAttribute("aria-hidden")||"ION-TOAST"!==a.tagName)&&i.setAttribute("aria-hidden","true")}},Z=()=>{if(void 0===n)return;const e=M(n);for(let n=e.length-1;n>=0;n--){const o=e[n];if(o.removeAttribute("aria-hidden"),"ION-TOAST"!==o.tagName)break}};export{K as B,Q as G,R as O,O as a,k as b,A as c,U as d,X as e,L as f,q as g,W as h,_ as i,I as j,D as k,T as l,x as m,f as n,E as o,j as p,v as q,J as s,C as t}