(function (global, factory) { if (typeof define === "function" && define.amd) { define(['exports'], factory); } else if (typeof exports !== "undefined") { factory(exports); } else { var mod = { exports: {} }; factory(mod.exports); global.bodyScrollLock = mod.exports; } })(this, function (exports) { 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } // Older browsers don't support event options, feature detect it. // Adopted and modified solution from Bohdan Didukh (2017) // https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi var hasPassiveEvents = false; if (typeof window !== 'undefined') { var passiveTestOptions = { get passive() { hasPassiveEvents = true; return undefined; } }; window.addEventListener('testPassive', null, passiveTestOptions); window.removeEventListener('testPassive', null, passiveTestOptions); } var isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1); var locks = []; var documentListenerAdded = false; var initialClientY = -1; var previousBodyOverflowSetting = void 0; var previousBodyPaddingRight = void 0; // returns true if `el` should be allowed to receive touchmove events. var allowTouchMove = function allowTouchMove(el) { return locks.some(function (lock) { if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) { return true; } return false; }); }; var preventDefault = function preventDefault(rawEvent) { var e = rawEvent || window.event; // For the case whereby consumers adds a touchmove event listener to document. // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false }) // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then // the touchmove event on document will break. if (allowTouchMove(e.target)) { return true; } // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom). if (e.touches.length > 1) return true; if (e.preventDefault) e.preventDefault(); return false; }; var setOverflowHidden = function setOverflowHidden(options) { // If previousBodyPaddingRight is already set, don't set it again. if (previousBodyPaddingRight === undefined) { var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true; var scrollBarGap = window.innerWidth - document.documentElement.clientWidth; if (_reserveScrollBarGap && scrollBarGap > 0) { previousBodyPaddingRight = document.body.style.paddingRight; document.body.style.paddingRight = scrollBarGap + 'px'; } } // If previousBodyOverflowSetting is already set, don't set it again. if (previousBodyOverflowSetting === undefined) { previousBodyOverflowSetting = document.body.style.overflow; document.body.style.overflow = 'hidden'; } }; var restoreOverflowSetting = function restoreOverflowSetting() { if (previousBodyPaddingRight !== undefined) { document.body.style.paddingRight = previousBodyPaddingRight; // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it // can be set again. previousBodyPaddingRight = undefined; } if (previousBodyOverflowSetting !== undefined) { document.body.style.overflow = previousBodyOverflowSetting; // Restore previousBodyOverflowSetting to undefined // so setOverflowHidden knows it can be set again. previousBodyOverflowSetting = undefined; } }; // https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions var isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) { return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false; }; var handleScroll = function handleScroll(event, targetElement) { var clientY = event.targetTouches[0].clientY - initialClientY; if (allowTouchMove(event.target)) { return false; } if (targetElement && targetElement.scrollTop === 0 && clientY > 0) { // element is at the top of its scroll. return preventDefault(event); } if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) { // element is at the bottom of its scroll. return preventDefault(event); } event.stopPropagation(); return true; }; var disableBodyScroll = exports.disableBodyScroll = function disableBodyScroll(targetElement, options) { // targetElement must be provided if (!targetElement) { // eslint-disable-next-line no-console console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.'); return; } // disableBodyScroll must not have been called on this targetElement before if (locks.some(function (lock) { return lock.targetElement === targetElement; })) { return; } var lock = { targetElement: targetElement, options: options || {} }; locks = [].concat(_toConsumableArray(locks), [lock]); if (isIosDevice) { targetElement.ontouchstart = function (event) { if (event.targetTouches.length === 1) { // detect single touch. initialClientY = event.targetTouches[0].clientY; } }; targetElement.ontouchmove = function (event) { if (event.targetTouches.length === 1) { // detect single touch. handleScroll(event, targetElement); } }; if (!documentListenerAdded) { document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined); documentListenerAdded = true; } } else { setOverflowHidden(options); } }; var clearAllBodyScrollLocks = exports.clearAllBodyScrollLocks = function clearAllBodyScrollLocks() { if (isIosDevice) { // Clear all locks ontouchstart/ontouchmove handlers, and the references. locks.forEach(function (lock) { lock.targetElement.ontouchstart = null; lock.targetElement.ontouchmove = null; }); if (documentListenerAdded) { document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined); documentListenerAdded = false; } // Reset initial clientY. initialClientY = -1; } else { restoreOverflowSetting(); } locks = []; }; var enableBodyScroll = exports.enableBodyScroll = function enableBodyScroll(targetElement) { if (!targetElement) { // eslint-disable-next-line no-console console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.'); return; } locks = locks.filter(function (lock) { return lock.targetElement !== targetElement; }); if (isIosDevice) { targetElement.ontouchstart = null; targetElement.ontouchmove = null; if (documentListenerAdded && locks.length === 0) { document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined); documentListenerAdded = false; } } else if (!locks.length) { restoreOverflowSetting(); } }; }); /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _collapse = __webpack_require__(1); var _collapse2 = _interopRequireDefault(_collapse); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { /*! * Bootstrap collapse.js v5.0.0-beta1 (https://getbootstrap.com/) * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ (function (global, factory) { true ? module.exports = factory(__webpack_require__(2), __webpack_require__(3), __webpack_require__(4), __webpack_require__(5)) : undefined; }(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict'; function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data); var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler); var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator); var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); /** * -------------------------------------------------------------------------- * Bootstrap (v5.0.0-beta1): util/index.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ var MILLISECONDS_MULTIPLIER = 1000; var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) var toType = function toType(obj) { if (obj === null || obj === undefined) { return "" + obj; } return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); }; var getSelector = function getSelector(element) { var selector = element.getAttribute('data-bs-target'); if (!selector || selector === '#') { var hrefAttr = element.getAttribute('href'); selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null; } return selector; }; var getSelectorFromElement = function getSelectorFromElement(element) { var selector = getSelector(element); if (selector) { return document.querySelector(selector) ? selector : null; } return null; }; var getElementFromSelector = function getElementFromSelector(element) { var selector = getSelector(element); return selector ? document.querySelector(selector) : null; }; var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) { if (!element) { return 0; } // Get transition-duration of the element var _window$getComputedSt = window.getComputedStyle(element), transitionDuration = _window$getComputedSt.transitionDuration, transitionDelay = _window$getComputedSt.transitionDelay; var floatTransitionDuration = Number.parseFloat(transitionDuration); var floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found if (!floatTransitionDuration && !floatTransitionDelay) { return 0; } // If multiple durations are defined, take the first transitionDuration = transitionDuration.split(',')[0]; transitionDelay = transitionDelay.split(',')[0]; return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; }; var triggerTransitionEnd = function triggerTransitionEnd(element) { element.dispatchEvent(new Event(TRANSITION_END)); }; var isElement = function isElement(obj) { return (obj[0] || obj).nodeType; }; var emulateTransitionEnd = function emulateTransitionEnd(element, duration) { var called = false; var durationPadding = 5; var emulatedDuration = duration + durationPadding; function listener() { called = true; element.removeEventListener(TRANSITION_END, listener); } element.addEventListener(TRANSITION_END, listener); setTimeout(function () { if (!called) { triggerTransitionEnd(element); } }, emulatedDuration); }; var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) { Object.keys(configTypes).forEach(function (property) { var expectedTypes = configTypes[property]; var value = config[property]; var valueType = value && isElement(value) ? 'element' : toType(value); if (!new RegExp(expectedTypes).test(valueType)) { throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); } }); }; var reflow = function reflow(element) { return element.offsetHeight; }; var getjQuery = function getjQuery() { var _window = window, jQuery = _window.jQuery; if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { return jQuery; } return null; }; var onDOMContentLoaded = function onDOMContentLoaded(callback) { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', callback); } else { callback(); } }; var isRTL = document.documentElement.dir === 'rtl'; function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var VERSION = '5.0.0-beta1'; var BaseComponent = /*#__PURE__*/function () { function BaseComponent(element) { if (!element) { return; } this._element = element; Data__default['default'].setData(element, this.constructor.DATA_KEY, this); } var _proto = BaseComponent.prototype; _proto.dispose = function dispose() { Data__default['default'].removeData(this._element, this.constructor.DATA_KEY); this._element = null; } /** Static */ ; BaseComponent.getInstance = function getInstance(element) { return Data__default['default'].getData(element, this.DATA_KEY); }; _createClass(BaseComponent, null, [{ key: "VERSION", get: function get() { return VERSION; } }]); return BaseComponent; }(); function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _defineProperties$1(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'collapse'; var DATA_KEY = 'bs.collapse'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; var Default = { toggle: true, parent: '' }; var DefaultType = { toggle: 'boolean', parent: '(string|element)' }; var EVENT_SHOW = "show" + EVENT_KEY; var EVENT_SHOWN = "shown" + EVENT_KEY; var EVENT_HIDE = "hide" + EVENT_KEY; var EVENT_HIDDEN = "hidden" + EVENT_KEY; var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY; var CLASS_NAME_SHOW = 'show'; var CLASS_NAME_COLLAPSE = 'collapse'; var CLASS_NAME_COLLAPSING = 'collapsing'; var CLASS_NAME_COLLAPSED = 'collapsed'; var WIDTH = 'width'; var HEIGHT = 'height'; var SELECTOR_ACTIVES = '.show, .collapsing'; var SELECTOR_DATA_TOGGLE = '[data-bs-toggle="collapse"]'; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ var Collapse = /*#__PURE__*/function (_BaseComponent) { _inheritsLoose(Collapse, _BaseComponent); function Collapse(element, config) { var _this; _this = _BaseComponent.call(this, element) || this; _this._isTransitioning = false; _this._config = _this._getConfig(config); _this._triggerArray = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE + "[href=\"#" + element.id + "\"]," + (SELECTOR_DATA_TOGGLE + "[data-bs-target=\"#" + element.id + "\"]")); var toggleList = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE); for (var i = 0, len = toggleList.length; i < len; i++) { var elem = toggleList[i]; var selector = getSelectorFromElement(elem); var filterElement = SelectorEngine__default['default'].find(selector).filter(function (foundElem) { return foundElem === element; }); if (selector !== null && filterElement.length) { _this._selector = selector; _this._triggerArray.push(elem); } } _this._parent = _this._config.parent ? _this._getParent() : null; if (!_this._config.parent) { _this._addAriaAndCollapsedClass(_this._element, _this._triggerArray); } if (_this._config.toggle) { _this.toggle(); } return _this; } // Getters var _proto = Collapse.prototype; // Public _proto.toggle = function toggle() { if (this._element.classList.contains(CLASS_NAME_SHOW)) { this.hide(); } else { this.show(); } }; _proto.show = function show() { var _this2 = this; if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) { return; } var actives; var activesData; if (this._parent) { actives = SelectorEngine__default['default'].find(SELECTOR_ACTIVES, this._parent).filter(function (elem) { if (typeof _this2._config.parent === 'string') { return elem.getAttribute('data-bs-parent') === _this2._config.parent; } return elem.classList.contains(CLASS_NAME_COLLAPSE); }); if (actives.length === 0) { actives = null; } } var container = SelectorEngine__default['default'].findOne(this._selector); if (actives) { var tempActiveData = actives.find(function (elem) { return container !== elem; }); activesData = tempActiveData ? Data__default['default'].getData(tempActiveData, DATA_KEY) : null; if (activesData && activesData._isTransitioning) { return; } } var startEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW); if (startEvent.defaultPrevented) { return; } if (actives) { actives.forEach(function (elemActive) { if (container !== elemActive) { Collapse.collapseInterface(elemActive, 'hide'); } if (!activesData) { Data__default['default'].setData(elemActive, DATA_KEY, null); } }); } var dimension = this._getDimension(); this._element.classList.remove(CLASS_NAME_COLLAPSE); this._element.classList.add(CLASS_NAME_COLLAPSING); this._element.style[dimension] = 0; if (this._triggerArray.length) { this._triggerArray.forEach(function (element) { element.classList.remove(CLASS_NAME_COLLAPSED); element.setAttribute('aria-expanded', true); }); } this.setTransitioning(true); var complete = function complete() { _this2._element.classList.remove(CLASS_NAME_COLLAPSING); _this2._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW); _this2._element.style[dimension] = ''; _this2.setTransitioning(false); EventHandler__default['default'].trigger(_this2._element, EVENT_SHOWN); }; var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); var scrollSize = "scroll" + capitalizedDimension; var transitionDuration = getTransitionDurationFromElement(this._element); EventHandler__default['default'].one(this._element, TRANSITION_END, complete); emulateTransitionEnd(this._element, transitionDuration); this._element.style[dimension] = this._element[scrollSize] + "px"; }; _proto.hide = function hide() { var _this3 = this; if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) { return; } var startEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE); if (startEvent.defaultPrevented) { return; } var dimension = this._getDimension(); this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; reflow(this._element); this._element.classList.add(CLASS_NAME_COLLAPSING); this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW); var triggerArrayLength = this._triggerArray.length; if (triggerArrayLength > 0) { for (var i = 0; i < triggerArrayLength; i++) { var trigger = this._triggerArray[i]; var elem = getElementFromSelector(trigger); if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) { trigger.classList.add(CLASS_NAME_COLLAPSED); trigger.setAttribute('aria-expanded', false); } } } this.setTransitioning(true); var complete = function complete() { _this3.setTransitioning(false); _this3._element.classList.remove(CLASS_NAME_COLLAPSING); _this3._element.classList.add(CLASS_NAME_COLLAPSE); EventHandler__default['default'].trigger(_this3._element, EVENT_HIDDEN); }; this._element.style[dimension] = ''; var transitionDuration = getTransitionDurationFromElement(this._element); EventHandler__default['default'].one(this._element, TRANSITION_END, complete); emulateTransitionEnd(this._element, transitionDuration); }; _proto.setTransitioning = function setTransitioning(isTransitioning) { this._isTransitioning = isTransitioning; }; _proto.dispose = function dispose() { _BaseComponent.prototype.dispose.call(this); this._config = null; this._parent = null; this._triggerArray = null; this._isTransitioning = null; } // Private ; _proto._getConfig = function _getConfig(config) { config = _extends({}, Default, config); config.toggle = Boolean(config.toggle); // Coerce string values typeCheckConfig(NAME, config, DefaultType); return config; }; _proto._getDimension = function _getDimension() { return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT; }; _proto._getParent = function _getParent() { var _this4 = this; var parent = this._config.parent; if (isElement(parent)) { // it's a jQuery object if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') { parent = parent[0]; } } else { parent = SelectorEngine__default['default'].findOne(parent); } var selector = SELECTOR_DATA_TOGGLE + "[data-bs-parent=\"" + parent + "\"]"; SelectorEngine__default['default'].find(selector, parent).forEach(function (element) { var selected = getElementFromSelector(element); _this4._addAriaAndCollapsedClass(selected, [element]); }); return parent; }; _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { if (!element || !triggerArray.length) { return; } var isOpen = element.classList.contains(CLASS_NAME_SHOW); triggerArray.forEach(function (elem) { if (isOpen) { elem.classList.remove(CLASS_NAME_COLLAPSED); } else { elem.classList.add(CLASS_NAME_COLLAPSED); } elem.setAttribute('aria-expanded', isOpen); }); } // Static ; Collapse.collapseInterface = function collapseInterface(element, config) { var data = Data__default['default'].getData(element, DATA_KEY); var _config = _extends({}, Default, Manipulator__default['default'].getDataAttributes(element), typeof config === 'object' && config ? config : {}); if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) { _config.toggle = false; } if (!data) { data = new Collapse(element, _config); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new TypeError("No method named \"" + config + "\""); } data[config](); } }; Collapse.jQueryInterface = function jQueryInterface(config) { return this.each(function () { Collapse.collapseInterface(this, config); }); }; _createClass$1(Collapse, null, [{ key: "Default", get: function get() { return Default; } }, { key: "DATA_KEY", get: function get() { return DATA_KEY; } }]); return Collapse; }(BaseComponent); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { // preventDefault only for elements (which change the URL) not inside the collapsible element if (event.target.tagName === 'A') { event.preventDefault(); } var triggerData = Manipulator__default['default'].getDataAttributes(this); var selector = getSelectorFromElement(this); var selectorElements = SelectorEngine__default['default'].find(selector); selectorElements.forEach(function (element) { var data = Data__default['default'].getData(element, DATA_KEY); var config; if (data) { // update parent attribute if (data._parent === null && typeof triggerData.parent === 'string') { data._config.parent = triggerData.parent; data._parent = data._getParent(); } config = 'toggle'; } else { config = triggerData; } Collapse.collapseInterface(element, config); }); }); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ * add .Collapse to jQuery only if jQuery is present */ onDOMContentLoaded(function () { var $ = getjQuery(); /* istanbul ignore if */ if ($) { var JQUERY_NO_CONFLICT = $.fn[NAME]; $.fn[NAME] = Collapse.jQueryInterface; $.fn[NAME].Constructor = Collapse; $.fn[NAME].noConflict = function () { $.fn[NAME] = JQUERY_NO_CONFLICT; return Collapse.jQueryInterface; }; } }); return Collapse; }))); //# sourceMappingURL=collapse.js.map /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { /*! * Bootstrap data.js v5.0.0-beta1 (https://getbootstrap.com/) * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ (function (global, factory) { true ? module.exports = factory() : undefined; }(this, (function () { 'use strict'; /** * -------------------------------------------------------------------------- * Bootstrap (v5.0.0-beta1): dom/data.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var mapData = function () { var storeData = {}; var id = 1; return { set: function set(element, key, data) { if (typeof element.bsKey === 'undefined') { element.bsKey = { key: key, id: id }; id++; } storeData[element.bsKey.id] = data; }, get: function get(element, key) { if (!element || typeof element.bsKey === 'undefined') { return null; } var keyProperties = element.bsKey; if (keyProperties.key === key) { return storeData[keyProperties.id]; } return null; }, delete: function _delete(element, key) { if (typeof element.bsKey === 'undefined') { return; } var keyProperties = element.bsKey; if (keyProperties.key === key) { delete storeData[keyProperties.id]; delete element.bsKey; } } }; }(); var Data = { setData: function setData(instance, key, data) { mapData.set(instance, key, data); }, getData: function getData(instance, key) { return mapData.get(instance, key); }, removeData: function removeData(instance, key) { mapData.delete(instance, key); } }; return Data; }))); //# sourceMappingURL=data.js.map /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { /*! * Bootstrap event-handler.js v5.0.0-beta1 (https://getbootstrap.com/) * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ (function (global, factory) { true ? module.exports = factory() : undefined; }(this, (function () { 'use strict'; /** * -------------------------------------------------------------------------- * Bootstrap (v5.0.0-beta1): util/index.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ var getjQuery = function getjQuery() { var _window = window, jQuery = _window.jQuery; if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { return jQuery; } return null; }; var isRTL = document.documentElement.dir === 'rtl'; /** * -------------------------------------------------------------------------- * Bootstrap (v5.0.0-beta1): dom/event-handler.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var namespaceRegex = /[^.]*(?=\..*)\.|.*/; var stripNameRegex = /\..*/; var stripUidRegex = /::\d+$/; var eventRegistry = {}; // Events storage var uidEvent = 1; var customEvents = { mouseenter: 'mouseover', mouseleave: 'mouseout' }; var nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']); /** * ------------------------------------------------------------------------ * Private methods * ------------------------------------------------------------------------ */ function getUidEvent(element, uid) { return uid && uid + "::" + uidEvent++ || element.uidEvent || uidEvent++; } function getEvent(element) { var uid = getUidEvent(element); element.uidEvent = uid; eventRegistry[uid] = eventRegistry[uid] || {}; return eventRegistry[uid]; } function bootstrapHandler(element, fn) { return function handler(event) { event.delegateTarget = element; if (handler.oneOff) { EventHandler.off(element, event.type, fn); } return fn.apply(element, [event]); }; } function bootstrapDelegationHandler(element, selector, fn) { return function handler(event) { var domElements = element.querySelectorAll(selector); for (var target = event.target; target && target !== this; target = target.parentNode) { for (var i = domElements.length; i--;) { if (domElements[i] === target) { event.delegateTarget = target; if (handler.oneOff) { EventHandler.off(element, event.type, fn); } return fn.apply(target, [event]); } } } // To please ESLint return null; }; } function findHandler(events, handler, delegationSelector) { if (delegationSelector === void 0) { delegationSelector = null; } var uidEventList = Object.keys(events); for (var i = 0, len = uidEventList.length; i < len; i++) { var event = events[uidEventList[i]]; if (event.originalHandler === handler && event.delegationSelector === delegationSelector) { return event; } } return null; } function normalizeParams(originalTypeEvent, handler, delegationFn) { var delegation = typeof handler === 'string'; var originalHandler = delegation ? delegationFn : handler; // allow to get the native events from namespaced events ('click.bs.button' --> 'click') var typeEvent = originalTypeEvent.replace(stripNameRegex, ''); var custom = customEvents[typeEvent]; if (custom) { typeEvent = custom; } var isNative = nativeEvents.has(typeEvent); if (!isNative) { typeEvent = originalTypeEvent; } return [delegation, originalHandler, typeEvent]; } function addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) { if (typeof originalTypeEvent !== 'string' || !element) { return; } if (!handler) { handler = delegationFn; delegationFn = null; } var _normalizeParams = normalizeParams(originalTypeEvent, handler, delegationFn), delegation = _normalizeParams[0], originalHandler = _normalizeParams[1], typeEvent = _normalizeParams[2]; var events = getEvent(element); var handlers = events[typeEvent] || (events[typeEvent] = {}); var previousFn = findHandler(handlers, originalHandler, delegation ? handler : null); if (previousFn) { previousFn.oneOff = previousFn.oneOff && oneOff; return; } var uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, '')); var fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler); fn.delegationSelector = delegation ? handler : null; fn.originalHandler = originalHandler; fn.oneOff = oneOff; fn.uidEvent = uid; handlers[uid] = fn; element.addEventListener(typeEvent, fn, delegation); } function removeHandler(element, events, typeEvent, handler, delegationSelector) { var fn = findHandler(events[typeEvent], handler, delegationSelector); if (!fn) { return; } element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); delete events[typeEvent][fn.uidEvent]; } function removeNamespacedHandlers(element, events, typeEvent, namespace) { var storeElementEvent = events[typeEvent] || {}; Object.keys(storeElementEvent).forEach(function (handlerKey) { if (handlerKey.includes(namespace)) { var event = storeElementEvent[handlerKey]; removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); } }); } var EventHandler = { on: function on(element, event, handler, delegationFn) { addHandler(element, event, handler, delegationFn, false); }, one: function one(element, event, handler, delegationFn) { addHandler(element, event, handler, delegationFn, true); }, off: function off(element, originalTypeEvent, handler, delegationFn) { if (typeof originalTypeEvent !== 'string' || !element) { return; } var _normalizeParams2 = normalizeParams(originalTypeEvent, handler, delegationFn), delegation = _normalizeParams2[0], originalHandler = _normalizeParams2[1], typeEvent = _normalizeParams2[2]; var inNamespace = typeEvent !== originalTypeEvent; var events = getEvent(element); var isNamespace = originalTypeEvent.startsWith('.'); if (typeof originalHandler !== 'undefined') { // Simplest case: handler is passed, remove that listener ONLY. if (!events || !events[typeEvent]) { return; } removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null); return; } if (isNamespace) { Object.keys(events).forEach(function (elementEvent) { removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); }); } var storeElementEvent = events[typeEvent] || {}; Object.keys(storeElementEvent).forEach(function (keyHandlers) { var handlerKey = keyHandlers.replace(stripUidRegex, ''); if (!inNamespace || originalTypeEvent.includes(handlerKey)) { var event = storeElementEvent[keyHandlers]; removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); } }); }, trigger: function trigger(element, event, args) { if (typeof event !== 'string' || !element) { return null; } var $ = getjQuery(); var typeEvent = event.replace(stripNameRegex, ''); var inNamespace = event !== typeEvent; var isNative = nativeEvents.has(typeEvent); var jQueryEvent; var bubbles = true; var nativeDispatch = true; var defaultPrevented = false; var evt = null; if (inNamespace && $) { jQueryEvent = $.Event(event, args); $(element).trigger(jQueryEvent); bubbles = !jQueryEvent.isPropagationStopped(); nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); defaultPrevented = jQueryEvent.isDefaultPrevented(); } if (isNative) { evt = document.createEvent('HTMLEvents'); evt.initEvent(typeEvent, bubbles, true); } else { evt = new CustomEvent(event, { bubbles: bubbles, cancelable: true }); } // merge custom information in our event if (typeof args !== 'undefined') { Object.keys(args).forEach(function (key) { Object.defineProperty(evt, key, { get: function get() { return args[key]; } }); }); } if (defaultPrevented) { evt.preventDefault(); } if (nativeDispatch) { element.dispatchEvent(evt); } if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') { jQueryEvent.preventDefault(); } return evt; } }; return EventHandler; }))); //# sourceMappingURL=event-handler.js.map /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { /*! * Bootstrap manipulator.js v5.0.0-beta1 (https://getbootstrap.com/) * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ (function (global, factory) { true ? module.exports = factory() : undefined; }(this, (function () { 'use strict'; /** * -------------------------------------------------------------------------- * Bootstrap (v5.0.0-beta1): dom/manipulator.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ function normalizeData(val) { if (val === 'true') { return true; } if (val === 'false') { return false; } if (val === Number(val).toString()) { return Number(val); } if (val === '' || val === 'null') { return null; } return val; } function normalizeDataKey(key) { return key.replace(/[A-Z]/g, function (chr) { return "-" + chr.toLowerCase(); }); } var Manipulator = { setDataAttribute: function setDataAttribute(element, key, value) { element.setAttribute("data-bs-" + normalizeDataKey(key), value); }, removeDataAttribute: function removeDataAttribute(element, key) { element.removeAttribute("data-bs-" + normalizeDataKey(key)); }, getDataAttributes: function getDataAttributes(element) { if (!element) { return {}; } var attributes = {}; Object.keys(element.dataset).filter(function (key) { return key.startsWith('bs'); }).forEach(function (key) { var pureKey = key.replace(/^bs/, ''); pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length); attributes[pureKey] = normalizeData(element.dataset[key]); }); return attributes; }, getDataAttribute: function getDataAttribute(element, key) { return normalizeData(element.getAttribute("data-bs-" + normalizeDataKey(key))); }, offset: function offset(element) { var rect = element.getBoundingClientRect(); return { top: rect.top + document.body.scrollTop, left: rect.left + document.body.scrollLeft }; }, position: function position(element) { return { top: element.offsetTop, left: element.offsetLeft }; } }; return Manipulator; }))); //# sourceMappingURL=manipulator.js.map /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { /*! * Bootstrap selector-engine.js v5.0.0-beta1 (https://getbootstrap.com/) * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ (function (global, factory) { true ? module.exports = factory() : undefined; }(this, (function () { 'use strict'; /** * -------------------------------------------------------------------------- * Bootstrap (v5.0.0-beta1): dom/selector-engine.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NODE_TEXT = 3; var SelectorEngine = { matches: function matches(element, selector) { return element.matches(selector); }, find: function find(selector, element) { var _ref; if (element === void 0) { element = document.documentElement; } return (_ref = []).concat.apply(_ref, Element.prototype.querySelectorAll.call(element, selector)); }, findOne: function findOne(selector, element) { if (element === void 0) { element = document.documentElement; } return Element.prototype.querySelector.call(element, selector); }, children: function children(element, selector) { var _ref2; var children = (_ref2 = []).concat.apply(_ref2, element.children); return children.filter(function (child) { return child.matches(selector); }); }, parents: function parents(element, selector) { var parents = []; var ancestor = element.parentNode; while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) { if (this.matches(ancestor, selector)) { parents.push(ancestor); } ancestor = ancestor.parentNode; } return parents; }, prev: function prev(element, selector) { var previous = element.previousElementSibling; while (previous) { if (previous.matches(selector)) { return [previous]; } previous = previous.previousElementSibling; } return []; }, next: function next(element, selector) { var next = element.nextElementSibling; while (next) { if (this.matches(next, selector)) { return [next]; } next = next.nextElementSibling; } return []; } }; return SelectorEngine; }))); //# sourceMappingURL=selector-engine.js.map /***/ }) /******/ ]); /*! modernizr 3.6.0 (Custom Build) | MIT * * https://modernizr.com/download/?-matchmedia-mediaqueries-setclasses !*/ ! function (e, n, t) { function r(e) { var n = _.className, t = Modernizr._config.classPrefix || ""; if (w && (n = n.baseVal), Modernizr._config.enableJSClass) { var r = new RegExp("(^|\\s)" + t + "no-js(\\s|$)"); n = n.replace(r, "$1" + t + "js$2") } Modernizr._config.enableClasses && (n += " " + t + e.join(" " + t), w ? _.className.baseVal = n : _.className = n) } function o(e, n) { return typeof e === n } function i() { var e, n, t, r, i, s, a; for (var l in C) if (C.hasOwnProperty(l)) { if (e = [], n = C[l], n.name && (e.push(n.name.toLowerCase()), n.options && n.options.aliases && n.options.aliases.length)) for (t = 0; t < n.options.aliases.length; t++) e.push(n.options.aliases[t].toLowerCase()); for (r = o(n.fn, "function") ? n.fn() : n.fn, i = 0; i < e.length; i++) s = e[i], a = s.split("."), 1 === a.length ? Modernizr[a[0]] = r : (!Modernizr[a[0]] || Modernizr[a[0]] instanceof Boolean || (Modernizr[a[0]] = new Boolean(Modernizr[a[0]])), Modernizr[a[0]][a[1]] = r), g.push((r ? "" : "no-") + a.join("-")) } } function s(e) { return e.replace(/([a-z])-([a-z])/g, function (e, n, t) { return n + t.toUpperCase() }).replace(/^-/, "") } function a() { return "function" != typeof n.createElement ? n.createElement(arguments[0]) : w ? n.createElementNS.call(n, "http://www.w3.org/2000/svg", arguments[0]) : n.createElement.apply(n, arguments) } function l() { var e = n.body; return e || (e = a(w ? "svg" : "body"), e.fake = !0), e } function u(e, t, r, o) { var i, s, u, f, d = "modernizr", c = a("div"), p = l(); if (parseInt(r, 10)) for (; r--;) u = a("div"), u.id = o ? o[r] : d + (r + 1), c.appendChild(u); return i = a("style"), i.type = "text/css", i.id = "s" + d, (p.fake ? p : c).appendChild(i), p.appendChild(c), i.styleSheet ? i.styleSheet.cssText = e : i.appendChild(n.createTextNode(e)), c.id = d, p.fake && (p.style.background = "", p.style.overflow = "hidden", f = _.style.overflow, _.style.overflow = "hidden", _.appendChild(p)), s = t(c, e), p.fake ? (p.parentNode.removeChild(p), _.style.overflow = f, _.offsetHeight) : c.parentNode.removeChild(c), !!s } function f(e, n) { return !!~("" + e).indexOf(n) } function d(e, n) { return function () { return e.apply(n, arguments) } } function c(e, n, t) { var r; for (var i in e) if (e[i] in n) return t === !1 ? e[i] : (r = n[e[i]], o(r, "function") ? d(r, t || n) : r); return !1 } function p(n, t, r) { var o; if ("getComputedStyle" in e) { o = getComputedStyle.call(e, n, t); var i = e.console; if (null !== o) r && (o = o.getPropertyValue(r)); else if (i) { var s = i.error ? "error" : "log"; i[s].call(i, "getComputedStyle returning null, its possible modernizr test results are inaccurate") } } else o = !t && n.currentStyle && n.currentStyle[r]; return o } function m(e) { return e.replace(/([A-Z])/g, function (e, n) { return "-" + n.toLowerCase() }).replace(/^ms-/, "-ms-") } function v(n, r) { var o = n.length; if ("CSS" in e && "supports" in e.CSS) { for (; o--;) if (e.CSS.supports(m(n[o]), r)) return !0; return !1 } if ("CSSSupportsRule" in e) { for (var i = []; o--;) i.push("(" + m(n[o]) + ":" + r + ")"); return i = i.join(" or "), u("@supports (" + i + ") { #modernizr { position: absolute; } }", function (e) { return "absolute" == p(e, null, "position") }) } return t } function y(e, n, r, i) { function l() { d && (delete T.style, delete T.modElem) } if (i = o(i, "undefined") ? !1 : i, !o(r, "undefined")) { var u = v(e, r); if (!o(u, "undefined")) return u } for (var d, c, p, m, y, h = ["modernizr", "tspan", "samp"]; !T.style && h.length;) d = !0, T.modElem = a(h.shift()), T.style = T.modElem.style; for (p = e.length, c = 0; p > c; c++) if (m = e[c], y = T.style[m], f(m, "-") && (m = s(m)), T.style[m] !== t) { if (i || o(r, "undefined")) return l(), "pfx" == n ? m : !0; try { T.style[m] = r } catch (g) { } if (T.style[m] != y) return l(), "pfx" == n ? m : !0 } return l(), !1 } function h(e, n, t, r, i) { var s = e.charAt(0).toUpperCase() + e.slice(1), a = (e + " " + E.join(s + " ") + s).split(" "); return o(n, "string") || o(n, "undefined") ? y(a, n, r, i) : (a = (e + " " + z.join(s + " ") + s).split(" "), c(a, n, t)) } var g = [], C = [], S = { _version: "3.6.0", _config: { classPrefix: "", enableClasses: !0, enableJSClass: !0, usePrefixes: !0 }, _q: [], on: function (e, n) { var t = this; setTimeout(function () { n(t[e]) }, 0) }, addTest: function (e, n, t) { C.push({ name: e, fn: n, options: t }) }, addAsyncTest: function (e) { C.push({ name: null, fn: e }) } }, Modernizr = function () { }; Modernizr.prototype = S, Modernizr = new Modernizr; var _ = n.documentElement, w = "svg" === _.nodeName.toLowerCase(), x = function () { var n = e.matchMedia || e.msMatchMedia; return n ? function (e) { var t = n(e); return t && t.matches || !1 } : function (n) { var t = !1; return u("@media " + n + " { #modernizr { position: absolute; } }", function (n) { t = "absolute" == (e.getComputedStyle ? e.getComputedStyle(n, null) : n.currentStyle).position }), t } }(); S.mq = x, Modernizr.addTest("mediaqueries", x("only all")); var b = "Moz O ms Webkit", z = S._config.usePrefixes ? b.toLowerCase().split(" ") : []; S._domPrefixes = z; var E = S._config.usePrefixes ? b.split(" ") : []; S._cssomPrefixes = E; var P = function (n) { var r, o = prefixes.length, i = e.CSSRule; if ("undefined" == typeof i) return t; if (!n) return !1; if (n = n.replace(/^@/, ""), r = n.replace(/-/g, "_").toUpperCase() + "_RULE", r in i) return "@" + n; for (var s = 0; o > s; s++) { var a = prefixes[s], l = a.toUpperCase() + "_" + r; if (l in i) return "@-" + a.toLowerCase() + "-" + n } return !1 }; S.atRule = P; var N = { elem: a("modernizr") }; Modernizr._q.push(function () { delete N.elem }); var T = { style: N.elem.style }; Modernizr._q.unshift(function () { delete T.style }), S.testAllProps = h; var j = S.prefixed = function (e, n, t) { return 0 === e.indexOf("@") ? P(e) : (-1 != e.indexOf("-") && (e = s(e)), n ? h(e, n, t) : h(e, "pfx")) }; Modernizr.addTest("matchmedia", !!j("matchMedia", e)), i(), r(g), delete S.addTest, delete S.addAsyncTest; for (var q = 0; q < Modernizr._q.length; q++) Modernizr._q[q](); e.Modernizr = Modernizr }(window, document);