UNPKG

@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
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;