1(function(){"use strict";var __webpack_modules__={
1"./js/helpers/debounce.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ debounce: function() { return /* binding */ debounce; }\n/* harmony export */ });\n/**\r\n * \r\n * @param {Function} callback \r\n * @param {Number} wait \r\n * @returns callback if wait time has passed since last call\r\n */\n\nfunction debounce(callback, wait) {\n var timeoutId = null;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n window.clearTimeout(timeoutId);\n timeoutId = window.setTimeout(function () {\n callback.apply(null, args);\n }, wait);\n };\n}\n\n\n//# sourceURL=webpack://theme-name/./js/helpers/debounce.js?")}),
1"./js/helpers/getClosest.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/**\r\n * Returns closes parent matching the provided selector\r\n *\r\n * @param {object} elem The element to start the search from.\r\n * @param {string} selector The html selector to search for.\r\n * @return {object} The parent element with the selector.\r\n */\nvar getClosest = function getClosest(elem, selector) {\n // Element.matches() polyfill\n if (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector || function (s) {\n var matches = (this.document || this.ownerDocument).querySelectorAll(s),\n i = matches.length;\n while (--i >= 0 && matches.item(i) !== this) {}\n return i > -1;\n };\n }\n // Get the closest matching element\n for (; elem && elem !== document; elem = elem.parentNode) {\n if (elem.matches(selector)) return elem;\n }\n return null;\n};\n/* harmony default export */ __webpack_exports__["default"] = (getClosest);\n\n//# sourceURL=webpack://theme-name/./js/helpers/getClosest.js?')}),
1"./js/sections/mobile-menu.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var bootstrap_js_src_offcanvas__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! bootstrap/js/src/offcanvas */ \"./node_modules/bootstrap/js/src/offcanvas.js\");\n/* harmony import */ var _helpers_debounce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/debounce */ \"./js/helpers/debounce.js\");\n/* harmony import */ var _helpers_getClosest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers/getClosest */ \"./js/helpers/getClosest.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\nfunction _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _isNativeFunction(fn) { try { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; } catch (e) { return typeof fn === \"function\"; } }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
1\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\nvar MobileMenu = /*#__PURE__*/function (_HTMLElement) {\n function MobileMenu() {\n var _this;\n _classCallCheck(this, MobileMenu);\n _this = _callSuper(this, MobileMenu);\n _this.onLoad();\n return _this;\n }\n _inherits(MobileMenu, _HTMLElement);\n return _createClass(MobileMenu, [{\n key: \"_addListeners\",\n value: function _addListeners() {\n var self = this;\n self.open_trigger.addEventListener('click', function () {\n self._openDrawer(self);\n });\n self.close_triger.addEventListener('click', function () {\n self._closeDrawer(self);\n });\n self.page_open_triggers.forEach(function (trigger) {\n trigger.addEventListener('click', function (e) {\n e.stopImmediatePropagation();\n var pageContainer = e.currentTarget.classList.contains('has-page') ? e.currentTarget : e.currentTarget.parentElement;\n // console.log('page container', pageContainer);\n self._openPage(pageContainer, self.drawerHeader);\n });\n });\n self.close_page_trigger.addEventListener('click', function () {\n (0,_helpers_debounce__WEBPACK_IMPORTED_MODULE_1__.debounce)(self._closePage(self.drawerHeader), 200);\n });\n document.addEventListener('hide.bs.offcanvas', self._handleMenuClose);\n }\n }, {\n key: \"_openDrawer\",\n value: function _openDrawer(container) {\n var self = this;\n // container.classList.add('opened');\n // document.getElementsByTagName('body')[0].classList.add('overlay', 'fixed')\n document.getElementsByTagName('body')[0].classList.add('height');\n self.offcanvas.show();\n }\n }, {\n key: \"_closeDrawer\",\n value: function _closeDrawer(container) {\n var self = this;\n // container.classList.remove('opened');\n // document.getElementsByTagName('body')[0].classList.remove('overlay', 'fixed');\n self.offcanvas.hide();\n }\n }, {\n key: \"_handleMenuClose\",\n value: function _handleMenuClose() {\n var self = this;\n // console.log('pages', self.openPages);
1\n self.openPages.forEach(function (page) {\n page.classList.remove('shown');\n var firstLevel = (0,_helpers_getClosest__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(page, '.mobile-image-list');\n firstLevel.classList.remove('page-open');\n });\n self.drawerHeader.classList.remove('page-open');\n document.querySelector('.first-level').classList.remove('page-open');\n document.querySelector('.first-level').style.height = 'auto';\n // document.querySelector('.offcanvas-body').style.overflowY = 'scroll';\n document.querySelector('.offcanvas-body').scrollTop = 0;\n document.getElementsByTagName('body')[0].classList.remove('height');\n self.bodyScroll = [];\n }\n }, {\n key: \"_openPage\",\n value: function _openPage(pageContainer, header) {\n var _this2 = this;\n this.openPages.push(pageContainer);\n var currentScroll = {};\n if ((0,_helpers_getClosest__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pageContainer, '.drawer-page') !== null && (0,_helpers_getClosest__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pageContainer, '.drawer-page').scrollTop > 0) {\n currentScroll['page'] = (0,_helpers_getClosest__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pageContainer, '.drawer-page').scrollTop;\n } else {\n currentScroll['page'] = 0;\n }\n currentScroll['body'] = document.querySelector('.offcanvas-body').scrollTop;\n this.bodyScroll.push(currentScroll);\n if (this.openPages.length) {\n this.openPages.forEac
1h(function (page) {\n // console.log('page', getClosest(page, '.drawer-page'));\n var pageElem = (0,_helpers_getClosest__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(page, '.drawer-page');\n if (pageElem !== null) {\n _this2.pageScroll = pageElem.scrollTop;\n pageElem.scrollTop = 0;\n pageElem.style.overflowY = 'hidden';\n }\n });\n }\n // document.querySelector('.offcanvas-body').style.overflowY = 'hidden';\n var firstLevel = (0,_helpers_getClosest__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pageContainer, '.mobile-image-list');\n firstLevel.classList.add('page-open');\n // console.log('bodyScroll', this.bodyScroll);\n document.querySelector('.offcanvas-body').scrollTop = 0;\n this.menuHeight = pageContainer.querySelector('.drawer-page > .mobile-image-list').offsetHeight;\n this.firstLevelHeight = firstLevel.offsetHeight;\n if (this.menuHeight !== this.firstLevelHeight && this.menuHeight > this.firstLevelHeight) {\n document.querySelector('.first-level').style.height = \"\".concat(this.menuHeight, \"px\");\n } else {\n document.querySelector('.first-level').style.height = \"auto\";\n }\n pageContainer.querySelector('.drawer-page').style.top = \"0px\";\n pageContainer.querySelector('.drawer-page').scrollTop = 0;\n pageContainer.classList.add('shown');\n header.classList.add('page-open');\n }\n }, {\n key: \"_closePage\",\n value: function _closePage(header) {\n var pageContainer = this.openPages.length ? this.openPages.pop() : false;\n if (pageContainer) {\n pageContainer.classList.remove('shown');\n var pageElem = (0,_helpers_getClosest__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pageContainer, '.drawer-page');\n var firstLevel = (0,_helpers_getClosest__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(pageContainer, '.mobile-image-list');\n firstLevel.classList.remove('page-open');\n var scrollTo = this.bodyScroll.pop();\n if (pageElem != null) {\n this.menuHeight = pageElem.querySelector('.mobile-image-list').offsetHeight;\n if (this.menuHeight !== this.firstLevelHeight) {\n document.querySelector('.first-level').style.height = \"\".concat(this.menuHeight, \"px\");\n } else {\n document.querySelector('.first-level').style.height = \"auto\";\n }\n pageElem.scrollTop = scrollTo['page'];\n pageElem.style.overflowY = 'scroll';\n }\n document.querySelector('.offcanvas-body').scrollTop = scrollTo['body'];\n if (!this.openPages.length) {\n header.classList.remove('page-open');\n document.querySelector('.first-level').classList.remove('page-open');\n document.querySelector('.first-level').style.height = 'auto';\n // document.querySelector('.offcanvas-body').style.overflowY = 'scroll';\n document.querySelector('.offcanvas-body').scrollTop = scrollTo['body'];\n }\n }\n }\n }, {\n key: \"init\",\n value: function init() {\n var self = this;\n self.open_trigger = document.querySelector('[data-open-mobile-menu]');\n self.close_triger = document.querySelector('[data-close-mobile-menu]');\n self.page_open_triggers = self.querySelectorAll('.has-page');\n self.close_page_trigger = self.querySelector('[data-close-drawer-page]');\n this.openPages = [];\n this.bodyScroll = [];\n self._openPage = self._openPage.bind(this);\n self._closePage = self._closePage.bind(this);\n self._handleMenuClose = self._handleMenuClose.bind(this);\n self.drawerHeader = self.querySelector('.offcanvas-header');\n self.offcanvas = new bootstrap_js_src_offcanvas__WEBPACK_IMPORTED_MODULE_0__[\"default\"](self);\n // console.log('offcanvas ', self.offcanvas);\n self._addListeners();\n }\n }, {\n key: \"onLoad\",\n value: function onLoad() {\n this.id = this.dataset.sectionId;\n this.container = document.querySelector(\"[data-section-id=\\\"\".concat(this.id, \"\\\"]\"));\n // const drawerHeaderHeight = this.querySelector('.drawer-header').offsetHeight;\n // console.log('set drawer header height', drawerHeaderHeight);\n // document.documentElement.style.setProperty('--drawer-header-height', `${drawerHeaderHeight}px`);\n this.init();\n }\n }]);\n}( /*#__PURE__*/_wrapNativeSuper(HTMLElement));\n;\nif (!customElements.get(\"mobile-menu\")) {\n customElements.define(\"mobile-menu\", MobileMenu);\n}\n\n//# sourceURL=webpack://theme-name/./js/sections/mobile-menu.js?")}),
vendor: 3,221 bytes, line 1
1"./node_modules/bootstrap/js/src/base-component.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dom_data_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom/data.js */ "./node_modules/bootstrap/js/src/dom/data.js");\n/* harmony import */ var _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dom/event-handler.js */ "./node_modules/bootstrap/js/src/dom/event-handler.js");\n/* harmony import */ var _util_config_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util/config.js */ "./node_modules/bootstrap/js/src/util/config.js");\n/* harmony import */ var _util_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util/index.js */ "./node_modules/bootstrap/js/src/util/index.js");\n/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n\n\n\n\n/**\n * Constants\n */\n\nconst VERSION = \'5.3.3\'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends _util_config_js__WEBPACK_IMPORTED_MODULE_2__["default"] {\n constructor(element, config) {\n super()\n\n element = (0,_util_index_js__WEBPACK_IMPORTED_MODULE_3__.getElement)(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n _dom_data_js__WEBPACK_IMPORTED_MODULE_0__["default"].set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n _dom_data_js__WEBPACK_IMPORTED_MODULE_0__["default"].remove(this._element, this.constructor.DATA_KEY)\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__["default"].off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n (0,_util_index_js__WEBPACK_IMPORTED_MODULE_3__.executeAfterTransition)(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return _dom_data_js__WEBPACK_IMPORTED_MODULE_0__["default"].get((0,_util_index_js__WEBPACK_IMPORTED_MODULE_3__.getElement)(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === \'object\' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\n/* harmony default export */ __webpack_exports__["default"] = (BaseComponent);\n\n\n//# sourceURL=webpack://theme-name/./node_modules/bootstrap/js/src/base-component.js?')}),
vendor: 1,761 bytes, line 1
1"./node_modules/bootstrap/js/src/dom/data.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\n/* harmony default export */ __webpack_exports__["default"] = ({\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn\'t allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n});\n\n\n//# sourceURL=webpack://theme-name/./node_modules/bootstrap/js/src/dom/data.js?')}),
vendor: 9,174 bytes, line 1
1"./node_modules/bootstrap/js/src/dom/event-handler.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/index.js */ \"./node_modules/bootstrap/js/src/util/index.js\");\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = (0,_util_index_js__WEBPACK_IMPORTED_MODULE_0__.getjQuery)()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n const evt = hydrateObj(new Event(event, { bubbles, cancelable: true }), args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (EventHandler);\n\n\n//# sourceURL=webpack://theme-name/./node_modules/bootstrap/js/src/dom/event-handler.js?")}),
vendor: 2,055 bytes, line 1
1"./node_modules/bootstrap/js/src/dom/manipulator.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Manipulator);\n\n\n//# sourceURL=webpack://theme-name/./node_modules/bootstrap/js/src/dom/manipulator.js?")}),
vendor: 4,143 bytes, line 1
1"./node_modules/bootstrap/js/src/dom/selector-engine.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/index.js */ \"./node_modules/bootstrap/js/src/util/index.js\");\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return selector ? selector.split(',').map(sel => (0,_util_index_js__WEBPACK_IMPORTED_MODULE_0__.parseSelector)(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !(0,_util_index_js__WEBPACK_IMPORTED_MODULE_0__.isDisabled)(el) && (0,_util_index_js__WEBPACK_IMPORTED_MODULE_0__.isVisible)(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SelectorEngine);\n\n\n//# sourceURL=webpack://theme-name/./node_modules/bootstrap/js/src/dom/selector-engine.js?")}),
vendor: 9,646 bytes, line 1
1"./node_modules/bootstrap/js/src/offcanvas.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _base_component_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-component.js */ "./node_modules/bootstrap/js/src/base-component.js");\n/* harmony import */ var _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dom/event-handler.js */ "./node_modules/bootstrap/js/src/dom/event-handler.js");\n/* harmony import */ var _dom_selector_engine_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dom/selector-engine.js */ "./node_modules/bootstrap/js/src/dom/selector-engine.js");\n/* harmony import */ var _util_backdrop_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util/backdrop.js */ "./node_modules/bootstrap/js/src/util/backdrop.js");\n/* harmony import */ var _util_component_functions_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util/component-functions.js */ "./node_modules/bootstrap/js/src/util/component-functions.js");\n/* harmony import */ var _util_focustrap_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./util/focustrap.js */ "./node_modules/bootstrap/js/src/util/focustrap.js");\n/* harmony import */ var _util_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./util/index.js */ "./node_modules/bootstrap/js/src/util/index.js");\n/* harmony import */ var _util_scrollbar_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./util/scrollbar.js */ "./node_modules/bootstrap/js/src/util/scrollbar.js");\n/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n\n\n\n\n\n\n\n\n/**\n * Constants\n */\n\nconst NAME = \'offcanvas\'\nconst DATA_KEY = \'bs.offcanvas\'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = \'.data-api\'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = \'Escape\'\n\nconst CLASS_NAME_SHOW = \'show\'\nconst CLASS_NAME_SHOWING = \'showing\'\nconst CLASS_NAME_HIDING = \'hiding\'\nconst CLASS_NAME_BACKDROP = \'offcanvas-backdrop\'\nconst OPEN_SELECTOR = \'.offcanvas.show\'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = \'[data-bs-toggle="offcanvas"]\'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: \'(boolean|string)\',\n keyboard: \'boolean\',\n scroll: \'boolean\'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends _base_component_js__WEBPACK_IMPORTED_MODULE_0__["default"] {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__["default"].trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new _util_scrollbar_js__WEBPACK_IMPORTED_MODULE_7__["default"]().hide()\n }\n\n this._element.setAttribute(\'aria-modal\', true)\n this._element.setAttribute(\'role\', \'dialog\')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__["default"].trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__["default"].trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute(\'aria-modal\')\n this._element.removeAttribute(\'role\')\n\n if (!this._config.scroll) {\n new _util_scrollbar_js__WEBPACK_IMPORTED_MODULE_7__["default"]().reset()\n }\n\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__["default"].trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === \'static\') {\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__["default"].trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // \'static\' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new _util_backdrop_js__WEBPACK_IMPORTED_MODULE_3__["default"]({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new _util_focustrap_js__WEBPACK_IMPORTED_MODULE_5__["default"]({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__["default"].on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__["default"].trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== \'string\') {\n return\n }\n\n if (data[config] === undefined || config.startsWith(\'_\') || config === \'constructor\') {\n throw new TypeError(`No method named "${config}"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\n_dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__["default"].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = _dom_selector_engine_js__WEBPACK_IMPORTED_MODULE_2__["default"].getElementFromSelector(this)\n\n if ([\'A\', \'AREA\'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if ((0,_util_index_js__WEBPACK_IMPORTED_MODULE_6__.isDisabled)(this)) {\n return\n }\n\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__["default"].one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if ((0,_util_index_js__WEBPACK_IMPORTED_MODULE_6__.isVisible)(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = _dom_selector_engine_js__WEBPACK_IMPORTED_MODULE_2__["default"].findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\n_dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__["default"].on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of _dom_selector_engine_js__WEBPACK_IMPORTED_MODULE_2__["default"].find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\n_dom_event_handler_js__WEBPACK_IMPORTED_MODULE_1__["default"].on(window, EVENT_RESIZE, () => {\n for (const element of _dom_selector_engine_js__WEBPACK_IMPORTED_MODULE_2__["default"].find(\'[aria-modal][class*=show][class*=offcanvas-]\')) {\n if (getComputedStyle(element).position !== \'fixed\') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\n;(0,_util_component_functions_js__WEBPACK_IMPORTED_MODULE_4__.enableDismissTrigger)(Offcanvas)\n\n/**\n * jQuery\n */\n\n;(0,_util_index_js__WEBPACK_IMPORTED_MODULE_6__.defineJQueryPlugin)(Offcanvas)\n\n/* harmony default export */ __webpack_exports__["default"] = (Offcanvas);\n\n\n//# sourceURL=webpack://theme-name/./node_modules/bootstrap/js/src/offcanvas.js?')}),
vendor: 4,437 bytes, line 1
1"./node_modules/bootstrap/js/src/util/backdrop.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom/event-handler.js */ \"./node_modules/bootstrap/js/src/dom/event-handler.js\");\n/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./config.js */ \"./node_modules/bootstrap/js/src/util/config.js\");\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.js */ \"./node_modules/bootstrap/js/src/util/index.js\");\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n\n\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends _config_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n (0,_index_js__WEBPACK_IMPORTED_MODULE_2__.execute)(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n (0,_index_js__WEBPACK_IMPORTED_MODULE_2__.reflow)(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n ;(0,_index_js__WEBPACK_IMPORTED_MODULE_2__.execute)(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n (0,_index_js__WEBPACK_IMPORTED_MODULE_2__.execute)(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n ;(0,_index_js__WEBPACK_IMPORTED_MODULE_2__.execute)(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = (0,_index_js__WEBPACK_IMPORTED_MODULE_2__.getElement)(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].on(element, EVENT_MOUSEDOWN, () => {\n ;(0,_index_js__WEBPACK_IMPORTED_MODULE_2__.execute)(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n (0,_index_js__WEBPACK_IMPORTED_MODULE_2__.executeAfterTransition)(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Backdrop);\n\n\n//# sourceURL=webpack://theme-name/./node_modules/bootstrap/js/src/util/backdrop.js?")}),
vendor: 2,145 bytes, line 1
1"./node_modules/bootstrap/js/src/util/component-functions.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ enableDismissTrigger: function() { return /* binding */ enableDismissTrigger; }\n/* harmony export */ });\n/* harmony import */ var _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom/event-handler.js */ "./node_modules/bootstrap/js/src/dom/event-handler.js");\n/* harmony import */ var _dom_selector_engine_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom/selector-engine.js */ "./node_modules/bootstrap/js/src/dom/selector-engine.js");\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.js */ "./node_modules/bootstrap/js/src/util/index.js");\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n\n\n\nconst enableDismissTrigger = (component, method = \'hide\') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_0__["default"].on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) {\n if ([\'A\', \'AREA\'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if ((0,_index_js__WEBPACK_IMPORTED_MODULE_2__.isDisabled)(this)) {\n return\n }\n\n const target = _dom_selector_engine_js__WEBPACK_IMPORTED_MODULE_1__["default"].getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn\'t implement the \'hide\' method\n instance[method]()\n })\n}\n\n\n\n\n//# sourceURL=webpack://theme-name/./node_modules/bootstrap/js/src/util/component-functions.js?')}),
vendor: 2,686 bytes, line 1
1"./node_modules/bootstrap/js/src/util/config.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dom_manipulator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom/manipulator.js */ "./node_modules/bootstrap/js/src/dom/manipulator.js");\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.js */ "./node_modules/bootstrap/js/src/util/index.js");\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error(\'You have to implement the static method "NAME", for each component!\')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = (0,_index_js__WEBPACK_IMPORTED_MODULE_1__.isElement)(element) ? _dom_manipulator_js__WEBPACK_IMPORTED_MODULE_0__["default"].getDataAttribute(element, \'config\') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === \'object\' ? jsonConfig : {}),\n ...((0,_index_js__WEBPACK_IMPORTED_MODULE_1__.isElement)(element) ? _dom_manipulator_js__WEBPACK_IMPORTED_MODULE_0__["default"].getDataAttributes(element) : {}),\n ...(typeof config === \'object\' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = (0,_index_js__WEBPACK_IMPORTED_MODULE_1__.isElement)(value) ? \'element\' : (0,_index_js__WEBPACK_IMPORTED_MODULE_1__.toType)(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`\n )\n }\n }\n }\n}\n\n/* harmony default export */ __webpack_exports__["default"] = (Config);\n\n\n//# sourceURL=webpack://theme-name/./node_modules/bootstrap/js/src/util/config.js?')}),
vendor: 3,660 bytes, line 1
1"./node_modules/bootstrap/js/src/util/focustrap.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom/event-handler.js */ "./node_modules/bootstrap/js/src/dom/event-handler.js");\n/* harmony import */ var _dom_selector_engine_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom/selector-engine.js */ "./node_modules/bootstrap/js/src/dom/selector-engine.js");\n/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./config.js */ "./node_modules/bootstrap/js/src/util/config.js");\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n\n\n\n/**\n * Constants\n */\n\nconst NAME = \'focustrap\'\nconst DATA_KEY = \'bs.focustrap\'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = \'Tab\'\nconst TAB_NAV_FORWARD = \'forward\'\nconst TAB_NAV_BACKWARD = \'backward\'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: \'boolean\',\n trapElement: \'element\'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends _config_js__WEBPACK_IMPORTED_MODULE_2__["default"] {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_0__["default"].off(document, EVENT_KEY) // guard against infinite focus loop\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_0__["default"].on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_0__["default"].on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n _dom_event_handler_js__WEBPACK_IMPORTED_MODULE_0__["default"].off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = _dom_selector_engine_js__WEBPACK_IMPORTED_MODULE_1__["default"].focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\n/* harmony default export */ __webpack_exports__["default"] = (FocusTrap);\n\n\n//# sourceURL=webpack://theme-name/./node_modules/bootstrap/js/src/util/focustrap.js?')}),
vendor: 9,673 bytes, line 1
1"./node_modules/bootstrap/js/src/util/index.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defineJQueryPlugin: function() { return /* binding */ defineJQueryPlugin; },\n/* harmony export */ execute: function() { return /* binding */ execute; },\n/* harmony export */ executeAfterTransition: function() { return /* binding */ executeAfterTransition; },\n/* harmony export */ findShadowRoot: function() { return /* binding */ findShadowRoot; },\n/* harmony export */ getElement: function() { return /* binding */ getElement; },\n/* harmony export */ getNextActiveElement: function() { return /* binding */ getNextActiveElement; },\n/* harmony export */ getTransitionDurationFromElement: function() { return /* binding */ getTransitionDurationFromElement; },\n/* harmony export */ getUID: function() { return /* binding */ getUID; },\n/* harmony export */ getjQuery: function() { return /* binding */ getjQuery; },\n/* harmony export */ isDisabled: function() { return /* binding */ isDisabled; },\n/* harmony export */ isElement: function() { return /* binding */ isElement; },\n/* harmony export */ isRTL: function() { return /* binding */ isRTL; },\n/* harmony export */ isVisible: function() { return /* binding */ isVisible; },\n/* harmony export */ noop: function() { return /* binding */ noop; },\n/* harmony export */ onDOMContentLoaded: function() { return /* binding */ onDOMContentLoaded; },\n/* harmony export */ parseSelector: function() { return /* binding */ parseSelector; },\n/* harmony export */ reflow: function() { return /* binding */ reflow; },\n/* harmony export */ toType: function() { return /* binding */ toType; },\n/* harmony export */ triggerTransitionEnd: function() { return /* binding */ triggerTransitionEnd; }\n/* harmony export */ });\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0]\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\n\n\n\n//# sourceURL=webpack://theme-name/./node_modules/bootstrap/js/src/util/index.js?")}),
vendor: 4,829 bytes, line 1
1"./node_modules/bootstrap/js/src/util/scrollbar.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dom_manipulator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom/manipulator.js */ "./node_modules/bootstrap/js/src/dom/manipulator.js");\n/* harmony import */ var _dom_selector_engine_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom/selector-engine.js */ "./node_modules/bootstrap/js/src/dom/selector-engine.js");\n/* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.js */ "./node_modules/bootstrap/js/src/util/index.js");\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n\n\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = \'.fixed-top, .fixed-bottom, .is-fixed, .sticky-top\'\nconst SELECTOR_STICKY_CONTENT = \'.sticky-top\'\nconst PROPERTY_PADDING = \'padding-right\'\nconst PROPERTY_MARGIN = \'margin-right\'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, \'overflow\')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, \'overflow\')\n this._element.style.overflow = \'hidden\'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n _dom_manipulator_js__WEBPACK_IMPORTED_MODULE_0__["default"].setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = _dom_manipulator_js__WEBPACK_IMPORTED_MODULE_0__["default"].getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n _dom_manipulator_js__WEBPACK_IMPORTED_MODULE_0__["default"].removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if ((0,_index_js__WEBPACK_IMPORTED_MODULE_2__.isElement)(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of _dom_selector_engine_js__WEBPACK_IMPORTED_MODULE_1__["default"].find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\n/* harmony default export */ __webpack_exports__["default"] = (ScrollBarHelper);\n\n\n//# sourceURL=webpack://theme-name/./node_modules/bootstrap/js/src/util/scrollbar.js?')})
1},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(cachedModule!==void 0)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={exports:{}};return __webpack_modules__[moduleId](module,module.exports,__webpack_require__),module.exports}(function(){__webpack_require__.d=function(exports,definition){for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})}})(),(function(){__webpack_require__.o=function(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}})(),(function(){__webpack_require__.r=function(exports){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})}})();var __webpack_exports__=__webpack_require__("./js/sections/mobile-menu.js")})(); 2//# sourceMappingURL=/cdn/shop/t/392/assets/mobile-menu.js.map?v=2510436958983534781783600250
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.