test-isc
Version:
An Ionic component similar to Ionic Select, that allows to search items, including async search, group, add, edit, delete items, and much more.
1 lines • 1.34 kB
JavaScript
const e="ionKeyboardDidShow",o="ionKeyboardDidHide";let t={},d={},i={},a={},h=!1;const n=()=>{t={},d={},i={},a={},h=!1},b=e=>{s(e),e.visualViewport&&(d=K(e.visualViewport),a=k(e),e.visualViewport.onresize=()=>{H(e),w()||y(e)?r(e):f(e)&&c(e)})},s=e=>{e.addEventListener("keyboardDidShow",o=>r(e,o)),e.addEventListener("keyboardDidHide",()=>c(e))},r=(e,o)=>{g(e,o),h=!0},c=e=>{p(e),h=!1},w=()=>!h&&t.width===d.width&&(t.height-d.height)*d.scale>150&&!D(),y=e=>h&&!f(e),f=e=>h&&d.height===e.innerHeight,D=()=>a.width!==i.width||a.height!==i.height,g=(e,o)=>{const t=new CustomEvent("ionKeyboardDidShow",{detail:{keyboardHeight:o?o.keyboardHeight:e.innerHeight-d.height}});e.dispatchEvent(t)},p=e=>{const o=new CustomEvent("ionKeyboardDidHide");e.dispatchEvent(o)},H=e=>{t=Object.assign({},d),d=K(e.visualViewport),i=Object.assign({},a),a=k(e)},K=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}),k=e=>({width:e.innerWidth,height:e.innerHeight});export{o as KEYBOARD_DID_CLOSE,e as KEYBOARD_DID_OPEN,k as copyLayoutViewport,K as copyVisualViewport,f as keyboardDidClose,w as keyboardDidOpen,y as keyboardDidResize,n as resetKeyboardAssist,c as setKeyboardClose,r as setKeyboardOpen,b as startKeyboardAssist,H as trackViewportChanges}