UNPKG

@ionic/core

Version:
4 lines 1.3 kB
/*! * (C) Ionic http://ionicframework.com - MIT License */ import{K as e}from"./p-D13Eaw-8.js";import"./p-CIGNaXM1.js";import"./p-ZjP4CjeZ.js";const t="ionKeyboardDidShow",o="ionKeyboardDidHide";let i={},a={},s=!1;const d=()=>{i={},a={},s=!1},r=t=>{if(e.getEngine())n(t);else{if(!t.visualViewport)return;a=y(t.visualViewport),t.visualViewport.onresize=()=>{w(t),h()||b(t)?p(t):c(t)&&f(t)}}},n=e=>{e.addEventListener("keyboardDidShow",(t=>p(e,t))),e.addEventListener("keyboardDidHide",(()=>f(e)))},p=(e,t)=>{j(e,t),s=!0},f=e=>{m(e),s=!1},h=()=>!s&&i.width===a.width&&(i.height-a.height)*a.scale>150,b=e=>s&&!c(e),c=e=>s&&a.height===e.innerHeight,j=(e,o)=>{const i=new CustomEvent(t,{detail:{keyboardHeight:o?o.keyboardHeight:e.innerHeight-a.height}});e.dispatchEvent(i)},m=e=>{const t=new CustomEvent(o);e.dispatchEvent(t)},w=e=>{i=Object.assign({},a),a=y(e.visualViewport)},y=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{o as KEYBOARD_DID_CLOSE,t as KEYBOARD_DID_OPEN,y as copyVisualViewport,c as keyboardDidClose,h as keyboardDidOpen,b as keyboardDidResize,d as resetKeyboardAssist,f as setKeyboardClose,p as setKeyboardOpen,r as startKeyboardAssist,w as trackViewportChanges}