@ionic/core
Version:
Base components for Ionic
4 lines • 1.33 kB
JavaScript
/*!
* (C) Ionic http://ionicframework.com - MIT License
*/
import{K as e}from"./p-BY4FwwBp.js";import"./p-C2LaBx3E.js";import"./p-Co7eql8D.js";import"./p-BpRUsN_W.js";import"./p-Dojwmvde.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=()=>{b(o),m()||h(o)?n(o):w(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=>{D(e),s=!1},m=()=>!s&&i.width===p.width&&(i.height-p.height)*p.scale>150,h=e=>s&&!w(e),w=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)},D=e=>{const o=new CustomEvent(t);e.dispatchEvent(o)},b=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,w as keyboardDidClose,m as keyboardDidOpen,h as keyboardDidResize,d as resetKeyboardAssist,f as setKeyboardClose,n as setKeyboardOpen,r as startKeyboardAssist,b as trackViewportChanges}