{"version":3,"file":"default-node_modules_ionic_core_dist_esm_keyboard-controller-0c2dce71_js-node_modules_ionic_c-b0fbc0.js","mappings":"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","sources":["./node_modules/@ionic/core/dist/esm/capacitor-b4979570.js","./node_modules/@ionic/core/dist/esm/keyboard-b063f012.js","./node_modules/@ionic/core/dist/esm/keyboard-controller-0c2dce71.js","./node_modules/@ionic/core/dist/esm/theme-17531cdf.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { w as win } from './index-7a14ecec.js';\n\nconst getCapacitor = () => {\n if (win !== undefined) {\n return win.Capacitor;\n }\n return undefined;\n};\n\nexport { getCapacitor as g };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { g as getCapacitor } from './capacitor-b4979570.js';\n\nvar ExceptionCode;\n(function (ExceptionCode) {\n /**\n * API is not implemented.\n *\n * This usually means the API can't be used because it is not implemented for\n * the current platform.\n */\n ExceptionCode[\"Unimplemented\"] = \"UNIMPLEMENTED\";\n /**\n * API is not available.\n *\n * This means the API can't be used right now because:\n * - it is currently missing a prerequisite, such as network connectivity\n * - it requires a particular platform or browser version\n */\n ExceptionCode[\"Unavailable\"] = \"UNAVAILABLE\";\n})(ExceptionCode || (ExceptionCode = {}));\n\nvar KeyboardResize;\n(function (KeyboardResize) {\n /**\n * Only the `body` HTML element will be resized.\n * Relative units are not affected, because the viewport does not change.\n *\n * @since 1.0.0\n */\n KeyboardResize[\"Body\"] = \"body\";\n /**\n * Only the `ion-app` HTML element will be resized.\n * Use it only for Ionic Framework apps.\n *\n * @since 1.0.0\n */\n KeyboardResize[\"Ionic\"] = \"ionic\";\n /**\n * The whole native Web View will be resized when the keyboard shows/hides.\n * This affects the `vh` relative unit.\n *\n * @since 1.0.0\n */\n KeyboardResize[\"Native\"] = \"native\";\n /**\n * Neither the app nor the Web View are resized.\n *\n * @since 1.0.0\n */\n KeyboardResize[\"None\"] = \"none\";\n})(KeyboardResize || (KeyboardResize = {}));\nconst Keyboard = {\n getEngine() {\n const capacitor = getCapacitor();\n if (capacitor === null || capacitor === void 0 ? void 0 : capacitor.isPluginAvailable('Keyboard')) {\n return capacitor.Plugins.Keyboard;\n }\n return undefined;\n },\n getResizeMode() {\n const engine = this.getEngine();\n if (!(engine === null || engine === void 0 ? void 0 : engine.getResizeMode)) {\n return Promise.resolve(undefined);\n }\n return engine.getResizeMode().catch((e) => {\n if (e.code === ExceptionCode.Unimplemented) {\n // If the native implementation is not available\n // we treat it the same as if the plugin is not available.\n return undefined;\n }\n throw e;\n });\n },\n};\n\nexport { Keyboard as K, KeyboardResize as a };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { w as win, d as doc } from './index-7a14ecec.js';\nimport { K as Keyboard, a as KeyboardResize } from './keyboard-b063f012.js';\n\n/**\n * The element that resizes when the keyboard opens\n * is going to depend on the resize mode\n * which is why we check that here.\n */\nconst getResizeContainer = (resizeMode) => {\n /**\n * If doc is undefined then we are\n * in an SSR environment, so the keyboard\n * adjustment does not apply.\n * If the webview does not resize then there\n * is no container to resize.\n */\n if (doc === undefined || resizeMode === KeyboardResize.None || resizeMode === undefined) {\n return null;\n }\n /**\n * The three remaining resize modes: Native, Ionic, and Body\n * all cause `ion-app` to resize, so we can listen for changes\n * on that. In the event `ion-app` is not available then\n * we can fall back to `body`.\n */\n const ionApp = doc.querySelector('ion-app');\n return ionApp !== null && ionApp !== void 0 ? ionApp : doc.body;\n};\n/**\n * Get the height of ion-app or body.\n * This is used for determining if the webview\n * has resized before the keyboard closed.\n * */\nconst getResizeContainerHeight = (resizeMode) => {\n const containerElement = getResizeContainer(resizeMode);\n return containerElement === null ? 0 : containerElement.clientHeight;\n};\n/**\n * Creates a controller that tracks and reacts to opening or closing the keyboard.\n *\n * @internal\n * @param keyboardChangeCallback A function to call when the keyboard opens or closes.\n */\nconst createKeyboardController = async (keyboardChangeCallback) => {\n let keyboardWillShowHandler;\n let keyboardWillHideHandler;\n let keyboardVisible;\n /**\n * This lets us determine if the webview content\n * has resized as a result of the keyboard.\n */\n let initialResizeContainerHeight;\n const init = async () => {\n const resizeOptions = await Keyboard.getResizeMode();\n const resizeMode = resizeOptions === undefined ? undefined : resizeOptions.mode;\n keyboardWillShowHandler = () => {\n /**\n * We need to compute initialResizeContainerHeight right before\n * the keyboard opens to guarantee the resize container is visible.\n * The resize container may not be visible if we compute this\n * as soon as the keyboard controller is created.\n * We should only need to do this once to avoid additional clientHeight\n * computations.\n */\n if (initialResizeContainerHeight === undefined) {\n initialResizeContainerHeight = getResizeContainerHeight(resizeMode);\n }\n keyboardVisible = true;\n fireChangeCallback(keyboardVisible, resizeMode);\n };\n keyboardWillHideHandler = () => {\n keyboardVisible = false;\n fireChangeCallback(keyboardVisible, resizeMode);\n };\n win === null || win === void 0 ? void 0 : win.addEventListener('keyboardWillShow', keyboardWillShowHandler);\n win === null || win === void 0 ? void 0 : win.addEventListener('keyboardWillHide', keyboardWillHideHandler);\n };\n const fireChangeCallback = (state, resizeMode) => {\n if (keyboardChangeCallback) {\n keyboardChangeCallback(state, createResizePromiseIfNeeded(resizeMode));\n }\n };\n /**\n * Code responding to keyboard lifecycles may need\n * to show/hide content once the webview has\n * resized as a result of the keyboard showing/hiding.\n * createResizePromiseIfNeeded provides a way for code to wait for the\n * resize event that was triggered as a result of the keyboard.\n */\n const createResizePromiseIfNeeded = (resizeMode) => {\n if (\n /**\n * If we are in an SSR environment then there is\n * no window to resize. Additionally, if there\n * is no resize mode or the resize mode is \"None\"\n * then initialResizeContainerHeight will be 0\n */\n initialResizeContainerHeight === 0 ||\n /**\n * If the keyboard is closed before the webview resizes initially\n * then the webview will never resize.\n */\n initialResizeContainerHeight === getResizeContainerHeight(resizeMode)) {\n return;\n }\n /**\n * Get the resize container so we can\n * attach the ResizeObserver below to\n * the correct element.\n */\n const containerElement = getResizeContainer(resizeMode);\n if (containerElement === null) {\n return;\n }\n /**\n * Some part of the web content should resize,\n * and we need to listen for a resize.\n */\n return new Promise((resolve) => {\n const callback = () => {\n /**\n * As per the spec, the ResizeObserver\n * will fire when observation starts if\n * the observed element is rendered and does not\n * have a size of 0 x 0. However, the watched element\n * may or may not have resized by the time this first\n * callback is fired. As a result, we need to check\n * the dimensions of the element.\n *\n * https://www.w3.org/TR/resize-observer/#intro\n */\n if (containerElement.clientHeight === initialResizeContainerHeight) {\n /**\n * The resize happened, so stop listening\n * for resize on this element.\n */\n ro.disconnect();\n resolve();\n }\n };\n /**\n * In Capacitor there can be delay between when the window\n * resizes and when the container element resizes, so we cannot\n * rely on a 'resize' event listener on the window.\n * Instead, we need to determine when the container\n * element resizes using a ResizeObserver.\n */\n const ro = new ResizeObserver(callback);\n ro.observe(containerElement);\n });\n };\n const destroy = () => {\n win === null || win === void 0 ? void 0 : win.removeEventListener('keyboardWillShow', keyboardWillShowHandler);\n win === null || win === void 0 ? void 0 : win.removeEventListener('keyboardWillHide', keyboardWillHideHandler);\n keyboardWillShowHandler = keyboardWillHideHandler = undefined;\n };\n const isKeyboardVisible = () => keyboardVisible;\n await init();\n return { init, destroy, isKeyboardVisible };\n};\n\nexport { createKeyboardController as c };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nconst hostContext = (selector, el) => {\n return el.closest(selector) !== null;\n};\n/**\n * Create the mode and color classes for the component based on the classes passed in\n */\nconst createColorClasses = (color, cssClassMap) => {\n return typeof color === 'string' && color.length > 0\n ? Object.assign({ 'ion-color': true, [`ion-color-${color}`]: true }, cssClassMap) : cssClassMap;\n};\nconst getClassList = (classes) => {\n if (classes !== undefined) {\n const array = Array.isArray(classes) ? classes : classes.split(' ');\n return array\n .filter((c) => c != null)\n .map((c) => c.trim())\n .filter((c) => c !== '');\n }\n return [];\n};\nconst getClassMap = (classes) => {\n const map = {};\n getClassList(classes).forEach((c) => (map[c] = true));\n return map;\n};\nconst SCHEME = /^[a-z][a-z0-9+\\-.]*:/;\nconst openURL = async (url, ev, direction, animation) => {\n if (url != null && url[0] !== '#' && !SCHEME.test(url)) {\n const router = document.querySelector('ion-router');\n if (router) {\n if (ev != null) {\n ev.preventDefault();\n }\n return router.push(url, direction, animation);\n }\n }\n return false;\n};\n\nexport { createColorClasses as c, getClassMap as g, hostContext as h, openURL as o };\n"],"names":["w","win","getCapacitor","undefined","Capacitor","g","ExceptionCode","KeyboardResize","Keyboard","getEngine","capacitor","isPluginAvailable","Plugins","getResizeMode","engine","Promise","resolve","catch","e","code","Unimplemented","K","a","d","doc","getResizeContainer","resizeMode","None","ionApp","querySelector","body","getResizeContainerHeight","containerElement","clientHeight","createKeyboardController","keyboardChangeCallback","keyboardWillShowHandler","keyboardWillHideHandler","keyboardVisible","initialResizeContainerHeight","init","resizeOptions","mode","fireChangeCallback","addEventListener","state","createResizePromiseIfNeeded","callback","ro","disconnect","ResizeObserver","observe","destroy","removeEventListener","isKeyboardVisible","c","hostContext","selector","el","closest","createColorClasses","color","cssClassMap","length","Object","assign","getClassList","classes","array","Array","isArray","split","filter","map","trim","getClassMap","forEach","SCHEME","openURL","url","ev","direction","animation","test","router","document","preventDefault","push","h","o"],"sourceRoot":"webpack:///","x_google_ignoreList":[0,1,2,3]}