/*! * (C) Ionic http://ionicframework.com - MIT License */ import{a as setPlatformHelpers,g as getMode,c as setMode}from"./index-73fa3fe8.js";var Config=function(){function i(){this.m=new Map}i.prototype.reset=function(i){this.m=new Map(Object.entries(i))};i.prototype.get=function(i,t){var n=this.m.get(i);return n!==undefined?n:t};i.prototype.getBoolean=function(i,t){if(t===void 0){t=false}var n=this.m.get(i);if(n===undefined){return t}if(typeof n==="string"){return n==="true"}return!!n};i.prototype.getNumber=function(i,t){var n=parseFloat(this.m.get(i));return isNaN(n)?t!==undefined?t:NaN:n};i.prototype.set=function(i,t){this.m.set(i,t)};return i}();var config=new Config;var configFromSession=function(i){try{var t=i.sessionStorage.getItem(IONIC_SESSION_KEY);return t!==null?JSON.parse(t):{}}catch(i){return{}}};var saveConfig=function(i,t){try{i.sessionStorage.setItem(IONIC_SESSION_KEY,JSON.stringify(t))}catch(i){return}};var configFromURL=function(i){var t={};i.location.search.slice(1).split("&").map((function(i){return i.split("=")})).map((function(i){var t=i[0],n=i[1];return[decodeURIComponent(t),decodeURIComponent(n)]})).filter((function(i){var t=i[0];return startsWith(t,IONIC_PREFIX)})).map((function(i){var t=i[0],n=i[1];return[t.slice(IONIC_PREFIX.length),n]})).forEach((function(i){var n=i[0],r=i[1];t[n]=r}));return t};var startsWith=function(i,t){return i.substr(0,t.length)===t};var IONIC_PREFIX="ionic:";var IONIC_SESSION_KEY="ionic-persist-config";var getPlatforms=function(i){return setupPlatforms(i)};var isPlatform=function(i,t){if(typeof i==="string"){t=i;i=undefined}return getPlatforms(i).includes(t)};var setupPlatforms=function(i){if(i===void 0){i=window}if(typeof i==="undefined"){return[]}i.Ionic=i.Ionic||{};var t=i.Ionic.platforms;if(t==null){t=i.Ionic.platforms=detectPlatforms(i);t.forEach((function(t){return i.document.documentElement.classList.add("plt-".concat(t))}))}return t};var detectPlatforms=function(i){var t=config.get("platform");return Object.keys(PLATFORMS_MAP).filter((function(n){var r=t===null||t===void 0?void 0:t[n];return typeof r==="function"?r(i):PLATFORMS_MAP[n](i)}))};var isMobileWeb=function(i){return isMobile(i)&&!isHybrid(i)};var isIpad=function(i){if(testUserAgent(i,/iPad/i)){return true}if(testUserAgent(i,/Macintosh/i)&&isMobile(i)){return true}return false};var isIphone=function(i){return testUserAgent(i,/iPhone/i)};var isIOS=function(i){return testUserAgent(i,/iPhone|iPod/i)||isIpad(i)};var isAndroid=function(i){return testUserAgent(i,/android|sink/i)};var isAndroidTablet=function(i){return isAndroid(i)&&!testUserAgent(i,/mobile/i)};var isPhablet=function(i){var t=i.innerWidth;var n=i.innerHeight;var r=Math.min(t,n);var e=Math.max(t,n);return r>390&&r<520&&e>620&&e<800};var isTablet=function(i){var t=i.innerWidth;var n=i.innerHeight;var r=Math.min(t,n);var e=Math.max(t,n);return isIpad(i)||isAndroidTablet(i)||r>460&&r<820&&e>780&&e<1400};var isMobile=function(i){return matchMedia(i,"(any-pointer:coarse)")};var isDesktop=function(i){return!isMobile(i)};var isHybrid=function(i){return isCordova(i)||isCapacitorNative(i)};var isCordova=function(i){return!!(i["cordova"]||i["phonegap"]||i["PhoneGap"])};var isCapacitorNative=function(i){var t=i["Capacitor"];return!!(t===null||t===void 0?void 0:t.isNative)};var isElectron=function(i){return testUserAgent(i,/electron/i)};var isPWA=function(i){var t;return!!(((t=i.matchMedia)===null||t===void 0?void 0:t.call(i,"(display-mode: standalone)").matches)||i.navigator.standalone)};var testUserAgent=function(i,t){return t.test(i.navigator.userAgent)};var matchMedia=function(i,t){var n;return(n=i.matchMedia)===null||n===void 0?void 0:n.call(i,t).matches};var PLATFORMS_MAP={ipad:isIpad,iphone:isIphone,ios:isIOS,android:isAndroid,phablet:isPhablet,tablet:isTablet,cordova:isCordova,capacitor:isCapacitorNative,electron:isElectron,pwa:isPWA,mobile:isMobile,mobileweb:isMobileWeb,desktop:isDesktop,hybrid:isHybrid};var defaultMode;var getIonMode=function(i){return i&&getMode(i)||defaultMode};var initialize=function(i){if(i===void 0){i={}}if(typeof window==="undefined"){return}var t=window.document;var n=window;var r=n.Ionic=n.Ionic||{};var e={};if(i._ael){e.ael=i._ael}if(i._rel){e.rel=i._rel}if(i._ce){e.ce=i._ce}setPlatformHelpers(e);var o=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},configFromSession(n)),{persistConfig:false}),r.config),configFromURL(n)),i);config.reset(o);if(config.getBoolean("persistConfig")){saveConfig(n,o)}setupPlatforms(n);r.config=config;r.mode=defaultMode=config.get("mode",t.documentElement.getAttribute("mode")||(isPlatform(n,"ios")?"ios":"md"));config.set("mode",defaultMode);t.documentElement.setAttribute("mode",defaultMode);t.documentElement.classList.add(defaultMode);if(config.getBoolean("_testing")){config.set("animated",false)}var a=function(i){var t;return(t=i.tagName)===null||t===void 0?void 0:t.startsWith("ION-")};var s=function(i){return["ios","md"].includes(i)};setMode((function(i){while(i){var t=i.mode||i.getAttribute("mode");if(t){if(s(t)){return t}else if(a(i)){console.warn('Invalid ionic mode: "'+t+'", expected: "ios" or "md"')}}i=i.parentElement}return defaultMode}))};export{isPlatform as a,getIonMode as b,config as c,getPlatforms as g,initialize as i};