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