@iebh/bootstrap-vue
Version:
With more than 85 components, over 45 available plugins, several directives, and 1000+ icons, BootstrapVue provides one of the most comprehensive implementations of the Bootstrap v4 component and grid system available for Vue.js v2.6, complete with extens
47 lines (41 loc) • 2.39 kB
JavaScript
export var HAS_WINDOW_SUPPORT = typeof window !== 'undefined';
export var HAS_DOCUMENT_SUPPORT = typeof document !== 'undefined';
export var HAS_NAVIGATOR_SUPPORT = typeof navigator !== 'undefined';
export var HAS_PROMISE_SUPPORT = typeof Promise !== 'undefined';
/* istanbul ignore next: JSDOM always returns false */
export var HAS_MUTATION_OBSERVER_SUPPORT = typeof MutationObserver !== 'undefined' || typeof WebKitMutationObserver !== 'undefined' || typeof MozMutationObserver !== 'undefined';
export var IS_BROWSER = HAS_WINDOW_SUPPORT && HAS_DOCUMENT_SUPPORT && HAS_NAVIGATOR_SUPPORT;
export var WINDOW = HAS_WINDOW_SUPPORT ? window : {};
export var DOCUMENT = HAS_DOCUMENT_SUPPORT ? document : {};
export var NAVIGATOR = HAS_NAVIGATOR_SUPPORT ? navigator : {};
export var USER_AGENT = (NAVIGATOR.userAgent || '').toLowerCase();
export var IS_JSDOM = USER_AGENT.indexOf('jsdom') > 0;
export var IS_IE = /msie|trident/.test(USER_AGENT); // Determine if the browser supports the option passive for events
export var HAS_PASSIVE_EVENT_SUPPORT = function () {
var passiveEventSupported = false;
if (IS_BROWSER) {
try {
var options = {
// This function will be called when the browser
// attempts to access the passive property
get passive() {
/* istanbul ignore next: will never be called in JSDOM */
passiveEventSupported = true;
}
};
WINDOW.addEventListener('test', options, options);
WINDOW.removeEventListener('test', options, options);
} catch (_unused) {
/* istanbul ignore next: will never be called in JSDOM */
passiveEventSupported = false;
}
}
return passiveEventSupported;
}();
export var HAS_TOUCH_SUPPORT = IS_BROWSER && ('ontouchstart' in DOCUMENT.documentElement || NAVIGATOR.maxTouchPoints > 0);
export var HAS_POINTER_EVENT_SUPPORT = IS_BROWSER && Boolean(WINDOW.PointerEvent || WINDOW.MSPointerEvent);
/* istanbul ignore next: JSDOM only checks for 'IntersectionObserver' */
export var HAS_INTERACTION_OBSERVER_SUPPORT = IS_BROWSER && 'IntersectionObserver' in WINDOW && 'IntersectionObserverEntry' in WINDOW && // Edge 15 and UC Browser lack support for `isIntersecting`
// but we an use `intersectionRatio > 0` instead
// 'isIntersecting' in window.IntersectionObserverEntry.prototype &&
'intersectionRatio' in WINDOW.IntersectionObserverEntry.prototype;