ionic-global-b26f573e.js 3.9 KB

1234
  1. /*!
  2. * (C) Ionic http://ionicframework.com - MIT License
  3. */
  4. import{g as getMode,a as setMode}from"./index-527b9e34.js";import{c as config,a as configFromSession,b as configFromURL,s as saveConfig,p as printIonWarning}from"./index-cfd9c1f2.js";var getPlatforms=function(i){return setupPlatforms(i)};var isPlatform=function(i,e){if(typeof i==="string"){e=i;i=undefined}return getPlatforms(i).includes(e)};var setupPlatforms=function(i){if(i===void 0){i=window}if(typeof i==="undefined"){return[]}i.Ionic=i.Ionic||{};var e=i.Ionic.platforms;if(e==null){e=i.Ionic.platforms=detectPlatforms(i);e.forEach((function(e){return i.document.documentElement.classList.add("plt-".concat(e))}))}return e};var detectPlatforms=function(i){var e=config.get("platform");return Object.keys(PLATFORMS_MAP).filter((function(t){var n=e===null||e===void 0?void 0:e[t];return typeof n==="function"?n(i):PLATFORMS_MAP[t](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 e=i.innerWidth;var t=i.innerHeight;var n=Math.min(e,t);var r=Math.max(e,t);return n>390&&n<520&&r>620&&r<800};var isTablet=function(i){var e=i.innerWidth;var t=i.innerHeight;var n=Math.min(e,t);var r=Math.max(e,t);return isIpad(i)||isAndroidTablet(i)||n>460&&n<820&&r>780&&r<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 e=i["Capacitor"];return!!((e===null||e===void 0?void 0:e.isNative)||(e===null||e===void 0?void 0:e.isNativePlatform)&&!!e.isNativePlatform())};var isElectron=function(i){return testUserAgent(i,/electron/i)};var isPWA=function(i){var e;return!!(((e=i.matchMedia)===null||e===void 0?void 0:e.call(i,"(display-mode: standalone)").matches)||i.navigator.standalone)};var testUserAgent=function(i,e){return e.test(i.navigator.userAgent)};var matchMedia=function(i,e){var t;return(t=i.matchMedia)===null||t===void 0?void 0:t.call(i,e).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 e=window.document;var t=window;var n=t.Ionic=t.Ionic||{};var r=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},configFromSession(t)),{persistConfig:false}),n.config),configFromURL(t)),i);config.reset(r);if(config.getBoolean("persistConfig")){saveConfig(t,r)}setupPlatforms(t);n.config=config;n.mode=defaultMode=config.get("mode",e.documentElement.getAttribute("mode")||(isPlatform(t,"ios")?"ios":"md"));config.set("mode",defaultMode);e.documentElement.setAttribute("mode",defaultMode);e.documentElement.classList.add(defaultMode);if(config.getBoolean("_testing")){config.set("animated",false)}var o=function(i){var e;return(e=i.tagName)===null||e===void 0?void 0:e.startsWith("ION-")};var a=function(i){return["ios","md"].includes(i)};setMode((function(i){while(i){var e=i.mode||i.getAttribute("mode");if(e){if(a(e)){return e}else if(o(i)){printIonWarning('Invalid ionic mode: "'+e+'", expected: "ios" or "md"')}}i=i.parentElement}return defaultMode}))};export{isPlatform as a,getIonMode as b,getPlatforms as g,initialize as i};