{"version":3,"file":"useMobileDetection-53534750.js","sources":["../../src/composables/useMobileDetection.ts"],"sourcesContent":["export const detectIos = () => {\n return (\n [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod',\n ].includes(navigator.platform) ||\n // iPad on iOS 13 detection\n (navigator.userAgent.includes('Mac') && 'ontouchend' in document)\n );\n};\n\nexport const detectAndroid = () =>\n !!navigator.userAgent.match(/Android/i)?.length;\n\n/**\n * source: https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent#avoiding_user_agent_detection\n * @returns boolean\n */\nexport const detectMobile = () => {\n let hasTouchScreen = false;\n\n //check features\n if ('maxTouchPoints' in navigator) {\n hasTouchScreen = navigator.maxTouchPoints > 0;\n } else if ('msMaxTouchPoints' in navigator) {\n hasTouchScreen = navigator['msMaxTouchPoints'] > 0;\n } else {\n const mQ = matchMedia?.('(pointer:coarse)');\n if (mQ?.media === '(pointer:coarse)') {\n hasTouchScreen = !!mQ.matches;\n } else if ('orientation' in window) {\n hasTouchScreen = true; // deprecated, but good fallback\n } else {\n //user agent sniffing\n const UA = navigator['userAgent'];\n hasTouchScreen =\n /\\b(BlackBerry|webOS|iPhone|IEMobile)\\b/i.test(UA) ||\n /\\b(Android|Windows Phone|iPad|iPod)\\b/i.test(UA);\n }\n }\n\n return hasTouchScreen;\n};\n"],"names":["detectAndroid","detectMobile","hasTouchScreen","mQ","UA"],"mappings":"AAea,MAAAA,EAAgB,IAC3B,CAAC,CAAC,UAAU,UAAU,MAAM,UAAU,GAAG,OAM9BC,EAAe,IAAM,CAChC,IAAIC,EAAiB,GAGrB,GAAI,mBAAoB,UACtBA,EAAiB,UAAU,eAAiB,UACnC,qBAAsB,UACdA,EAAA,UAAU,iBAAsB,MAC5C,CACC,MAAAC,EAAK,aAAa,kBAAkB,EACtC,GAAAA,GAAI,QAAU,mBACCD,EAAA,CAAC,CAACC,EAAG,gBACb,gBAAiB,OACTD,EAAA,OACZ,CAEC,MAAAE,EAAK,UAAU,UACrBF,EACE,0CAA0C,KAAKE,CAAE,GACjD,yCAAyC,KAAKA,CAAE,CACpD,CACF,CAEO,OAAAF,CACT"}