p-b7b1d91a.js 1.1 KB

1234
  1. /*!
  2. * (C) Ionic http://ionicframework.com - MIT License
  3. */
  4. import{w as t}from"./p-7b30edcc.js";import{c as e,d as n}from"./p-17e21141.js";const o=()=>e.get("experimentalCloseWatcher",!1)&&void 0!==t&&"CloseWatcher"in t,i=()=>{document.addEventListener("backbutton",(()=>{}))},r=()=>{const e=document;let i=!1;const r=()=>{if(i)return;let t=0,o=[];const r=new CustomEvent("ionBackButton",{bubbles:!1,detail:{register(e,n){o.push({priority:e,handler:n,id:t++})}}});e.dispatchEvent(r);const c=()=>{if(o.length>0){let t={priority:Number.MIN_SAFE_INTEGER,handler:()=>{},id:-1};o.forEach((e=>{e.priority>=t.priority&&(t=e)})),i=!0,o=o.filter((e=>e.id!==t.id)),(async t=>{try{if(null==t?void 0:t.handler){const e=t.handler(c);null!=e&&await e}}catch(t){n("[ion-app] - Exception in startHardwareBackButton:",t)}})(t).then((()=>i=!1))}};c()};if(o()){let e;const n=()=>{null==e||e.destroy(),e=new t.CloseWatcher,e.onclose=()=>{r(),n()}};n()}else e.addEventListener("backbutton",r)},c=100,a=99;export{a as MENU_BACK_BUTTON_PRIORITY,c as OVERLAY_BACK_BUTTON_PRIORITY,i as blockHardwareBackButton,o as shouldUseCloseWatcher,r as startHardwareBackButton}