{"version":3,"names":["Config","constructor","this","m","Map","reset","configObj","Object","entries","get","key","fallback","value","undefined","getBoolean","val","getNumber","parseFloat","isNaN","NaN","set","config","configFromSession","win","configStr","sessionStorage","getItem","IONIC_SESSION_KEY","JSON","parse","e","saveConfig","c","setItem","stringify","configFromURL","location","search","slice","split","map","entry","decodeURIComponent","filter","startsWith","IONIC_PREFIX","length","forEach","input","substr","getPlatforms","setupPlatforms","isPlatform","winOrPlatform","platform","includes","window","Ionic","platforms","detectPlatforms","p","document","documentElement","classList","add","customPlatformMethods","keys","PLATFORMS_MAP","customMethod","isMobileWeb","isMobile","isHybrid","isIpad","testUserAgent","isIphone","isIOS","isAndroid","isAndroidTablet","isPhablet","width","innerWidth","height","innerHeight","smallest","Math","min","largest","max","isTablet","matchMedia","isDesktop","isCordova","isCapacitorNative","capacitor","isNative","isElectron","isPWA","_a","call","matches","navigator","standalone","expr","test","userAgent","query","ipad","iphone","ios","android","phablet","tablet","cordova","electron","pwa","mobile","mobileweb","desktop","hybrid","defaultMode","getIonMode","ref","getMode","initialize","userConfig","doc","platformHelpers","_ael","ael","_rel","rel","_ce","ce","setPlatformHelpers","assign","persistConfig","mode","getAttribute","setAttribute","isIonicElement","elm","tagName","isAllowedIonicModeValue","elmMode","setMode","console","warn","parentElement"],"sources":["node_modules/@ionic/core/dist/collection/global/config.js","node_modules/@ionic/core/dist/collection/utils/platform.js","node_modules/@ionic/core/dist/collection/global/ionic-global.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\n// TODO(FW-2832): types\nexport class Config {\n constructor() {\n this.m = new Map();\n }\n reset(configObj) {\n this.m = new Map(Object.entries(configObj));\n }\n get(key, fallback) {\n const value = this.m.get(key);\n return value !== undefined ? value : fallback;\n }\n getBoolean(key, fallback = false) {\n const val = this.m.get(key);\n if (val === undefined) {\n return fallback;\n }\n if (typeof val === 'string') {\n return val === 'true';\n }\n return !!val;\n }\n getNumber(key, fallback) {\n const val = parseFloat(this.m.get(key));\n return isNaN(val) ? (fallback !== undefined ? fallback : NaN) : val;\n }\n set(key, value) {\n this.m.set(key, value);\n }\n}\nexport const config = /*@__PURE__*/ new Config();\nexport const configFromSession = (win) => {\n try {\n const configStr = win.sessionStorage.getItem(IONIC_SESSION_KEY);\n return configStr !== null ? JSON.parse(configStr) : {};\n }\n catch (e) {\n return {};\n }\n};\nexport const saveConfig = (win, c) => {\n try {\n win.sessionStorage.setItem(IONIC_SESSION_KEY, JSON.stringify(c));\n }\n catch (e) {\n return;\n }\n};\nexport const configFromURL = (win) => {\n const configObj = {};\n win.location.search\n .slice(1)\n .split('&')\n .map((entry) => entry.split('='))\n .map(([key, value]) => {\n try {\n return [decodeURIComponent(key), decodeURIComponent(value)];\n }\n catch (e) {\n return ['', ''];\n }\n })\n .filter(([key]) => startsWith(key, IONIC_PREFIX))\n .map(([key, value]) => [key.slice(IONIC_PREFIX.length), value])\n .forEach(([key, value]) => {\n configObj[key] = value;\n });\n return configObj;\n};\nconst startsWith = (input, search) => {\n return input.substr(0, search.length) === search;\n};\nconst IONIC_PREFIX = 'ionic:';\nconst IONIC_SESSION_KEY = 'ionic-persist-config';\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { config } from \"../global/config\";\nexport const getPlatforms = (win) => setupPlatforms(win);\nexport const isPlatform = (winOrPlatform, platform) => {\n if (typeof winOrPlatform === 'string') {\n platform = winOrPlatform;\n winOrPlatform = undefined;\n }\n return getPlatforms(winOrPlatform).includes(platform);\n};\nexport const setupPlatforms = (win = window) => {\n if (typeof win === 'undefined') {\n return [];\n }\n win.Ionic = win.Ionic || {};\n let platforms = win.Ionic.platforms;\n if (platforms == null) {\n platforms = win.Ionic.platforms = detectPlatforms(win);\n platforms.forEach((p) => win.document.documentElement.classList.add(`plt-${p}`));\n }\n return platforms;\n};\nconst detectPlatforms = (win) => {\n const customPlatformMethods = config.get('platform');\n return Object.keys(PLATFORMS_MAP).filter((p) => {\n const customMethod = customPlatformMethods === null || customPlatformMethods === void 0 ? void 0 : customPlatformMethods[p];\n return typeof customMethod === 'function' ? customMethod(win) : PLATFORMS_MAP[p](win);\n });\n};\nconst isMobileWeb = (win) => isMobile(win) && !isHybrid(win);\nconst isIpad = (win) => {\n // iOS 12 and below\n if (testUserAgent(win, /iPad/i)) {\n return true;\n }\n // iOS 13+\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\n return true;\n }\n return false;\n};\nconst isIphone = (win) => testUserAgent(win, /iPhone/i);\nconst isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\nconst isAndroid = (win) => testUserAgent(win, /android|sink/i);\nconst isAndroidTablet = (win) => {\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\n};\nconst isPhablet = (win) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\n};\nconst isTablet = (win) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n return isIpad(win) || isAndroidTablet(win) || (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400);\n};\nconst isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');\nconst isDesktop = (win) => !isMobile(win);\nconst isHybrid = (win) => isCordova(win) || isCapacitorNative(win);\nconst isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\nconst isCapacitorNative = (win) => {\n const capacitor = win['Capacitor'];\n return !!(capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNative);\n};\nconst isElectron = (win) => testUserAgent(win, /electron/i);\nconst isPWA = (win) => { var _a; return !!(((_a = win.matchMedia) === null || _a === void 0 ? void 0 : _a.call(win, '(display-mode: standalone)').matches) || win.navigator.standalone); };\nexport const testUserAgent = (win, expr) => expr.test(win.navigator.userAgent);\nconst matchMedia = (win, query) => { var _a; return (_a = win.matchMedia) === null || _a === void 0 ? void 0 : _a.call(win, query).matches; };\nconst PLATFORMS_MAP = {\n ipad: isIpad,\n iphone: isIphone,\n ios: isIOS,\n android: isAndroid,\n phablet: isPhablet,\n tablet: isTablet,\n cordova: isCordova,\n capacitor: isCapacitorNative,\n electron: isElectron,\n pwa: isPWA,\n mobile: isMobile,\n mobileweb: isMobileWeb,\n desktop: isDesktop,\n hybrid: isHybrid,\n};\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { getMode, setMode, setPlatformHelpers } from \"@stencil/core\";\nimport { isPlatform, setupPlatforms } from \"../utils/platform\";\nimport { config, configFromSession, configFromURL, saveConfig } from \"./config\";\n// TODO(FW-2832): types\nlet defaultMode;\nexport const getIonMode = (ref) => {\n return (ref && getMode(ref)) || defaultMode;\n};\nexport const initialize = (userConfig = {}) => {\n if (typeof window === 'undefined') {\n return;\n }\n const doc = window.document;\n const win = window;\n const Ionic = (win.Ionic = win.Ionic || {});\n const platformHelpers = {};\n if (userConfig._ael) {\n platformHelpers.ael = userConfig._ael;\n }\n if (userConfig._rel) {\n platformHelpers.rel = userConfig._rel;\n }\n if (userConfig._ce) {\n platformHelpers.ce = userConfig._ce;\n }\n setPlatformHelpers(platformHelpers);\n // create the Ionic.config from raw config object (if it exists)\n // and convert Ionic.config into a ConfigApi that has a get() fn\n const configObj = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, configFromSession(win)), { persistConfig: false }), Ionic.config), configFromURL(win)), userConfig);\n config.reset(configObj);\n if (config.getBoolean('persistConfig')) {\n saveConfig(win, configObj);\n }\n // Setup platforms\n setupPlatforms(win);\n // first see if the mode was set as an attribute on \n // which could have been set by the user, or by pre-rendering\n // otherwise get the mode via config settings, and fallback to md\n Ionic.config = config;\n Ionic.mode = defaultMode = config.get('mode', doc.documentElement.getAttribute('mode') || (isPlatform(win, 'ios') ? 'ios' : 'md'));\n config.set('mode', defaultMode);\n doc.documentElement.setAttribute('mode', defaultMode);\n doc.documentElement.classList.add(defaultMode);\n if (config.getBoolean('_testing')) {\n config.set('animated', false);\n }\n const isIonicElement = (elm) => { var _a; return (_a = elm.tagName) === null || _a === void 0 ? void 0 : _a.startsWith('ION-'); };\n const isAllowedIonicModeValue = (elmMode) => ['ios', 'md'].includes(elmMode);\n setMode((elm) => {\n while (elm) {\n const elmMode = elm.mode || elm.getAttribute('mode');\n if (elmMode) {\n if (isAllowedIonicModeValue(elmMode)) {\n return elmMode;\n }\n else if (isIonicElement(elm)) {\n console.warn('Invalid ionic mode: \"' + elmMode + '\", expected: \"ios\" or \"md\"');\n }\n }\n elm = elm.parentElement;\n }\n return defaultMode;\n });\n};\nexport default initialize;\n"],"mappings":"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","ignoreList":[]}