@ionic/core
Version:
Base components for Ionic
4 lines • 984 B
JavaScript
/*!
* (C) Ionic http://ionicframework.com - MIT License
*/
import{w as o,d as i}from"./p-ZjP4CjeZ.js";import{K as n,a as l}from"./p-D13Eaw-8.js";const r=o=>{if(void 0===i||o===l.None||void 0===o)return null;const n=i.querySelector("ion-app");return null!=n?n:i.body},e=o=>{const i=r(o);return null===i?0:i.clientHeight},s=async i=>{let l,s,t,a;const d=async()=>{const i=await n.getResizeMode(),r=void 0===i?void 0:i.mode;l=()=>{void 0===a&&(a=e(r)),t=!0,u(t,r)},s=()=>{t=!1,u(t,r)},null==o||o.addEventListener("keyboardWillShow",l),null==o||o.addEventListener("keyboardWillHide",s)},u=(o,n)=>{i&&i(o,c(n))},c=o=>{if(0===a||a===e(o))return;const i=r(o);return null!==i?new Promise((o=>{const n=new ResizeObserver((()=>{i.clientHeight===a&&(n.disconnect(),o())}));n.observe(i)})):void 0};return await d(),{init:d,destroy:()=>{null==o||o.removeEventListener("keyboardWillShow",l),null==o||o.removeEventListener("keyboardWillHide",s),l=s=void 0},isKeyboardVisible:()=>t}};export{s as c}