@ionic/core
Version:
Base components for Ionic
4 lines • 1.24 kB
JavaScript
/*!
* (C) Ionic http://ionicframework.com - MIT License
*/
import{K as e}from"./p-BMPN55of.js";const o="ionKeyboardDidShow",t="ionKeyboardDidHide";let i={},d={},a=!1;const s=()=>{i={},d={},a=!1},n=o=>{if(e.getEngine())f(o);else{if(!o.visualViewport)return;d=l(o.visualViewport),o.visualViewport.onresize=()=>{g(o),p()||b(o)?r(o):c(o)&&h(o)}}},f=e=>{e.addEventListener("keyboardDidShow",(o=>r(e,o))),e.addEventListener("keyboardDidHide",(()=>h(e)))},r=(e,o)=>{w(e,o),a=!0},h=e=>{y(e),a=!1},p=()=>!a&&i.width===d.width&&(i.height-d.height)*d.scale>150,b=e=>a&&!c(e),c=e=>a&&d.height===e.innerHeight,w=(e,t)=>{const i=new CustomEvent(o,{detail:{keyboardHeight:t?t.keyboardHeight:e.innerHeight-d.height}});e.dispatchEvent(i)},y=e=>{const o=new CustomEvent(t);e.dispatchEvent(o)},g=e=>{i={...d},d=l(e.visualViewport)},l=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,l as copyVisualViewport,c as keyboardDidClose,p as keyboardDidOpen,b as keyboardDidResize,s as resetKeyboardAssist,h as setKeyboardClose,r as setKeyboardOpen,n as startKeyboardAssist,g as trackViewportChanges}