p-95001a19.js 7.6 KB

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