@huluvu424242/honey-slideshow
Version:
Text to Speech component wich is reading texts from DOM elements.
85 lines (84 loc) • 3.45 kB
JavaScript
var getPlatforms = function (win) { return setupPlatforms(win); };
var isPlatform = function (winOrPlatform, platform) {
if (typeof winOrPlatform === 'string') {
platform = winOrPlatform;
winOrPlatform = undefined;
}
return getPlatforms(winOrPlatform).includes(platform);
};
var setupPlatforms = function (win) {
if (win === void 0) { win = window; }
win.Ionic = win.Ionic || {};
var platforms = win.Ionic.platforms;
if (platforms == null) {
platforms = win.Ionic.platforms = detectPlatforms(win);
platforms.forEach(function (p) { return win.document.documentElement.classList.add("plt-" + p); });
}
return platforms;
};
var detectPlatforms = function (win) { return Object.keys(PLATFORMS_MAP).filter(function (p) { return PLATFORMS_MAP[p](win); }); };
var isMobileWeb = function (win) { return isMobile(win) && !isHybrid(win); };
var isIpad = function (win) {
// iOS 12 and below
if (testUserAgent(win, /iPad/i)) {
return true;
}
// iOS 13+
if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {
return true;
}
return false;
};
var isIphone = function (win) { return testUserAgent(win, /iPhone/i); };
var isIOS = function (win) { return testUserAgent(win, /iPhone|iPod/i) || isIpad(win); };
var isAndroid = function (win) { return testUserAgent(win, /android|sink/i); };
var isAndroidTablet = function (win) {
return isAndroid(win) && !testUserAgent(win, /mobile/i);
};
var isPhablet = function (win) {
var width = win.innerWidth;
var height = win.innerHeight;
var smallest = Math.min(width, height);
var largest = Math.max(width, height);
return (smallest > 390 && smallest < 520) &&
(largest > 620 && largest < 800);
};
var isTablet = function (win) {
var width = win.innerWidth;
var height = win.innerHeight;
var smallest = Math.min(width, height);
var largest = Math.max(width, height);
return (isIpad(win) ||
isAndroidTablet(win) ||
((smallest > 460 && smallest < 820) &&
(largest > 780 && largest < 1400)));
};
var isMobile = function (win) { return matchMedia(win, '(any-pointer:coarse)'); };
var isDesktop = function (win) { return !isMobile(win); };
var isHybrid = function (win) { return isCordova(win) || isCapacitorNative(win); };
var isCordova = function (win) { return !!(win['cordova'] || win['phonegap'] || win['PhoneGap']); };
var isCapacitorNative = function (win) {
var capacitor = win['Capacitor'];
return !!(capacitor && capacitor.isNative);
};
var isElectron = function (win) { return testUserAgent(win, /electron/i); };
var isPWA = function (win) { return !!(win.matchMedia('(display-mode: standalone)').matches || win.navigator.standalone); };
var testUserAgent = function (win, expr) { return expr.test(win.navigator.userAgent); };
var matchMedia = function (win, query) { return win.matchMedia(query).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
};
export { isPlatform as i, setupPlatforms as s };