swiper
Version:
Most modern mobile touch slider and framework with hardware accelerated transitions
43 lines (37 loc) • 1.18 kB
JavaScript
import { getWindow, getDocument } from 'ssr-window';
var support;
function calcSupport() {
var window = getWindow();
var document = getDocument();
return {
touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),
pointerEvents: !!window.PointerEvent && 'maxTouchPoints' in window.navigator && window.navigator.maxTouchPoints >= 0,
observer: function checkObserver() {
return 'MutationObserver' in window || 'WebkitMutationObserver' in window;
}(),
passiveListener: function checkPassiveListener() {
var supportsPassive = false;
try {
var opts = Object.defineProperty({}, 'passive', {
// eslint-disable-next-line
get: function get() {
supportsPassive = true;
}
});
window.addEventListener('testPassiveListener', null, opts);
} catch (e) {// No support
}
return supportsPassive;
}(),
gestures: function checkGestures() {
return 'ongesturestart' in window;
}()
};
}
function getSupport() {
if (!support) {
support = calcSupport();
}
return support;
}
export { getSupport };