1import { 2 Keyboard 3} from "./chunk-CC56LK7W.js"; 4 5// node_modules/@ionic/core/components/keyboard2.js 6var KEYBOARD_DID_OPEN = "ionKeyboardDidShow"; 7var KEYBOARD_DID_CLOSE = "ionKeyboardDidHide"; 8var KEYBOARD_THRESHOLD = 150; 9var previousVisualViewport = {}; 10var currentVisualViewport = {}; 11var keyboardOpen = false; 12var resetKeyboardAssist = () => { 13 previousVisualViewport = {}; 14 currentVisualViewport = {}; 15 keyboardOpen = false; 16}; 17var startKeyboardAssist = (win) => { 18 const nativeEngine = Keyboard.getEngine(); 19 if (nativeEngine) { 20 startNativeListeners(win); 21 } else { 22 if (!win.visualViewport) { 23 return; 24 } 25 currentVisualViewport = copyVisualViewport(win.visualViewport); 26 win.visualViewport.onresize = () => { 27 trackViewportChanges(win); 28 if (keyboardDidOpen() || keyboardDidResize(win)) { 29 setKeyboardOpen(win); 30 } else if (keyboardDidClose(win)) { 31 setKeyboardClose(win); 32 } 33 }; 34 } 35}; 36var startNativeListeners = (win) => { 37 win.addEventListener("keyboardDidShow", (ev) => setKeyboardOpen(win, ev)); 38 win.addEventListener("keyboardDidHide", () => setKeyboardClose(win)); 39}; 40var setKeyboardOpen = (win, ev) => { 41 fireKeyboardOpenEvent(win, ev); 42 keyboardOpen = true; 43}; 44var setKeyboardClose = (win) => { 45 fireKeyboardCloseEvent(win); 46 keyboardOpen = false; 47}; 48var keyboardDidOpen = () => { 49 const scaledHeightDifference = (previousVisualViewport.height - currentVisualViewport.height) * currentVisualViewport.scale; 50 return !keyboardOpen && previousVisualViewport.width === currentVisualViewport.width && scaledHeightDifference > KEYBOARD_THRESHOLD; 51}; 52var keyboardDidResize = (win) => { 53 return keyboardOpen && !keyboardDidClose(win); 54}; 55var keyboardDidClose = (win) => { 56 return keyboardOpen && currentVisualViewport.height === win.innerHeight; 57}; 58var fireKeyboardOpenEvent = (win, nativeEv) => { 59 const keyboardHeight = nativeEv ? nativeEv.keyboardHeight : win.innerHeight - currentVisualViewport.height; 60 const ev = new CustomEvent(KEYBOARD_DID_OPEN, { 61 detail: { 62 keyboardHeight 63 } 64 }); 65 win.dispatchEvent(ev); 66}; 67var fireKeyboardCloseEvent = (win) => { 68 const ev = new CustomEvent(KEYBOARD_DID_CLOSE); 69 win.dispatchEvent(ev); 70}; 71var trackViewportChanges = (win) => { 72 previousVisualViewport = Object.assign({}, currentVisualViewport); 73 currentVisualViewport = copyVisualViewport(win.visualViewport); 74}; 75var copyVisualViewport = (visualViewport) => { 76 return { 77 width: Math.round(visualViewport.width), 78 height: Math.round(visualViewport.height), 79 offsetTop: visualViewport.offsetTop, 80 offsetLeft: visualViewport.offsetLeft, 81 pageTop: visualViewport.pageTop, 82 pageLeft: visualViewport.pageLeft,
83 scale: visualViewport.scale 84 }; 85}; 86 87export { 88 KEYBOARD_DID_OPEN, 89 KEYBOARD_DID_CLOSE, 90 resetKeyboardAssist, 91 startKeyboardAssist, 92 setKeyboardOpen, 93 setKeyboardClose, 94 keyboardDidOpen, 95 keyboardDidResize, 96 keyboardDidClose, 97 trackViewportChanges, 98 copyVisualViewport 99}; 100/*! Bundled license information: 101 102@ionic/core/components/keyboard2.js: 103 (*! 104 * (C) Ionic http://ionicframework.com - MIT License 105 *) 106*/ 107//# sourceMappingURL=chunk-XIXT7DF6.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.