UNPKG

@ionic/core

Version:
4 lines • 1.33 kB
/*! * (C) Ionic http://ionicframework.com - MIT License */ import{K as e}from"./p-5a3UxQAh.js";import"./p-BHBb21Hp.js";import"./p-B2y1T0dN.js";import"./p-BpRUsN_W.js";import"./p-Dj4J3LkD.js";const o="ionKeyboardDidShow",t="ionKeyboardDidHide";let i={},p={},s=!1;const d=()=>{i={},p={},s=!1},r=o=>{if(e.getEngine())a(o);else{if(!o.visualViewport)return;p=c(o.visualViewport),o.visualViewport.onresize=()=>{D(o),h()||m(o)?n(o):b(o)&&f(o)}}},a=e=>{e.addEventListener("keyboardDidShow",(o=>n(e,o))),e.addEventListener("keyboardDidHide",(()=>f(e)))},n=(e,o)=>{j(e,o),s=!0},f=e=>{y(e),s=!1},h=()=>!s&&i.width===p.width&&(i.height-p.height)*p.scale>150,m=e=>s&&!b(e),b=e=>s&&p.height===e.innerHeight,j=(e,t)=>{const i=new CustomEvent(o,{detail:{keyboardHeight:t?t.keyboardHeight:e.innerHeight-p.height}});e.dispatchEvent(i)},y=e=>{const o=new CustomEvent(t);e.dispatchEvent(o)},D=e=>{i={...p},p=c(e.visualViewport)},c=e=>({width:Math.round(e.width),height:Math.round(e.height),offsetTop:e.offsetTop,offsetLeft:e.offsetLeft,pageTop:e.pageTop,pageLeft:e.pageLeft,scale:e.scale});export{t as KEYBOARD_DID_CLOSE,o as KEYBOARD_DID_OPEN,c as copyVisualViewport,b as keyboardDidClose,h as keyboardDidOpen,m as keyboardDidResize,d as resetKeyboardAssist,f as setKeyboardClose,n as setKeyboardOpen,r as startKeyboardAssist,D as trackViewportChanges}