1"use strict"; 2(self["webpackChunkskeleton_theme"] = self["webpackChunkskeleton_theme"] || []).push([["/js/app"],{ 3
vendor: 13,602 bytes, lines 4-291
4/***/ "./node_modules/@popperjs/core/lib/createPopper.js": 5/*!*********************************************************!*\ 6 !*** ./node_modules/@popperjs/core/lib/createPopper.js ***! 7 \*********************************************************/ 8/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9 10__webpack_require__.r(__webpack_exports__); 11/* harmony export */ __webpack_require__.d(__webpack_exports__, { 12/* harmony export */ "createPopper": function() { return /* binding */ createPopper; }, 13/* harmony export */ "detectOverflow": function() { return /* reexport safe */ _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_13__["default"]; }, 14/* harmony export */ "popperGenerator": function() { return /* binding */ popperGenerator; } 15/* harmony export */ }); 16/* harmony import */ var _dom_utils_getCompositeRect_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./dom-utils/getCompositeRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js"); 17/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./dom-utils/getLayoutRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js"); 18/* harmony import */ var _dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dom-utils/listScrollParents.js */ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js"); 19/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./dom-utils/getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js"); 20/* harmony import */ var _dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./dom-utils/getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 21/* harmony import */ var _utils_orderModifiers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/orderModifiers.js */ "./node_modules/@popperjs/core/lib/utils/orderModifiers.js"); 22/* harmony import */ var _utils_debounce_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./utils/debounce.js */ "./node_modules/@popperjs/core/lib/utils/debounce.js"); 23/* harmony import */ var _utils_validateModifiers_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/validateModifiers.js */ "./node_modules/@popperjs/core/lib/utils/validateModifiers.js"); 24/* harmony import */ var _utils_uniqueBy_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/uniqueBy.js */ "./node_modules/@popperjs/core/lib/utils/uniqueBy.js"); 25/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 26/* harmony import */ var _utils_mergeByName_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/mergeByName.js */ "./node_modules/@popperjs/core/lib/utils/mergeByName.js"); 27/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 28/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom-utils/instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 29/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44var INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.'; 45var INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.'; 46var DEFAULT_OPTIONS = { 47 placement: 'bottom', 48 modifiers: [], 49 strategy: 'absolute' 50}; 51 52function areValidElements() { 53 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 54 args[_key] = arguments[_key]; 55 } 56 57 return !args.some(function (element) { 58 return !(element && typeof element.getBoundingClientRect === 'function'); 59 }); 60} 61 62function popperGenerator(generatorOptions) { 63 if (generatorOptions === void 0) { 64 generatorOptions = {}; 65 } 66 67 var _generatorOptions = generatorOptions, 68 _generatorOptions$def = _generatorOptions.defaultModifiers, 69 defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, 70 _generatorOptions$def2 = _generatorOptions.defaultOptions, 71 defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; 72 return function createPopper(reference, popper, options) { 73 if (options === void 0) { 74 options = defaultOptions; 75 } 76 77 var state = { 78 placement: 'bottom', 79 orderedModifiers: [], 80 options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), 81 modifiersData: {}, 82 elements: { 83 reference: reference, 84 popper: popper 85 }, 86 attributes: {}, 87 styles: {} 88 }; 89 var effectCleanupFns = []; 90 var isDestroyed = false; 91 var instance = { 92 state: state, 93 setOptions: function setOptions(setOptionsAction) { 94 var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction; 95 cleanupModifierEffects(); 96 state.options = Object.assign({}, defaultOptions, state.options, options); 97 state.scrollParents = { 98 reference: (0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isElement)(reference) ? (0,_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_1__["default"])(reference) : reference.contextElement ? (0,_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_1__["default"])(reference.contextElement) : [], 99 popper: (0,_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_1__["default"])(popper) 100 }; // Orders the modifiers based on their dependencies and `phase` 101 // properties 102 103 var orderedModifiers = (0,_utils_orderModifiers_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_utils_mergeByName_js__WEBPACK_IMPORTED_MODULE_3__["default"])([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers 104 105 state.orderedModifiers = orderedModifiers.filter(function (m) { 106 return m.enabled; 107 }); // Validate the provided modifiers so that the consumer will get warned 108 // if one of the modifiers is invalid for any reason 109 110 if (true) { 111 var modifiers = (0,_utils_uniqueBy_js__WEBPACK_IMPORTED_MODULE_4__["default"])([].concat(orderedModifiers, state.options.modifiers), function (_ref) { 112 var name = _ref.name; 113 return name; 114 }); 115 (0,_utils_validateModifiers_js__WEBPACK_IMPORTED_MODULE_5__["default"])(modifiers); 116 117 if ((0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state.options.placement) === _enums_js__WEBPACK_IMPORTED_MODULE_7__.auto) { 118 var flipModifier = state.orderedModifiers.find(function (_ref2) { 119 var name = _ref2.name; 120 return name === 'flip'; 121 }); 122 123 if (!flipModifier) { 124 console.error(['Popper: "auto" placements require the "flip" modifier be', 'present and enabled to work.'].join(' ')); 125 } 126 } 127 128 var _getComputedStyle = (0,_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_8__["default"])(popper), 129 marginTop = _getComputedStyle.marginTop, 130 marginRight = _getComputedStyle.marginRight, 131 marginBottom = _getComputedStyle.marginBottom, 132 marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can 133 // cause bugs with positioning, so we'll warn the consumer 134 135 136 if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) { 137 return parseFloat(margin); 138 })) { 139 console.warn(['Popper: CSS "margin" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' ')); 140 } 141 } 142 143 runModifierEffects(); 144 return instance.update(); 145 }, 146 // Sync update â it will always be executed, even if not necessary. This 147 // is useful for low frequency updates where sync behavior simplifies the 148 // logic. 149 // For high frequency updates (e.g. `resize` and `scroll` events), always 150 // prefer the async Popper#update method 151 forceUpdate: function forceUpdate() { 152 if (isDestroyed) { 153 return; 154 } 155 156 var _state$elements = state.elements, 157 reference = _state$elements.reference, 158 popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements 159 // anymore 160 161 if (!areValidElements(reference, popper)) { 162 if (true) { 163 console.error(INVALID_ELEMENT_ERROR); 164 } 165 166 return; 167 } // Store the reference and popper rects to be read by modifiers 168 169 170 state.rects = { 171 reference: (0,_dom_utils_getCompositeRect_js__WEBPACK_IMPORTED_MODULE_9__["default"])(reference, (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__["default"])(popper), state.options.strategy === 'fixed'), 172 popper: (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_11__["default"])(popper) 173 }; // Modifiers have the ability to reset the current update cycle. The 174 // most common use case for this is the `flip` modifier changing the 175 // placement, which then needs to re-run all the modifiers, because the 176 // logic was previously ran for the previous placement and is therefore 177 // stale/incorrect 178 179 state.reset = false; 180 state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier 181 // is filled with the initial data specified by the modifier. This means 182 // it doesn't persist and is fresh on each update. 183 // To ensure persistent data, use `${name}#persistent` 184 185 state.orderedModifiers.forEach(function (modifier) { 186 return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); 187 }); 188 var __debug_loops__ = 0; 189 190 for (var index = 0; index < state.orderedModifiers.length; index++) { 191 if (true) { 192 __debug_loops__ += 1; 193 194 if (__debug_loops__ > 100) { 195 console.error(INFINITE_LOOP_ERROR); 196 break; 197 } 198 } 199 200 if (state.reset === true) { 201 state.reset = false; 202 index = -1; 203 continue; 204 } 205 206 var _state$orderedModifie = state.orderedModifiers[index], 207 fn = _state$orderedModifie.fn, 208 _state$orderedModifie2 = _state$orderedModifie.options, 209 _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, 210 name = _state$orderedModifie.name; 211 212 if (typeof fn === 'function') { 213 state = fn({ 214 state: state, 215 options: _options, 216 name: name, 217 instance: instance 218 }) || state; 219 } 220 } 221 }, 222 // Async and optimistically optimized update â it will not be executed if 223 // not necessary (debounced to run at most once-per-tick) 224 update: (0,_utils_debounce_js__WEBPACK_IMPORTED_MODULE_12__["default"])(function () { 225 return new Promise(function (resolve) { 226 instance.forceUpdate(); 227 resolve(state); 228 }); 229 }), 230 destroy: function destroy() { 231 cleanupModifierEffects(); 232 isDestroyed = true; 233 } 234 }; 235 236 if (!areValidElements(reference, popper)) { 237 if (true) { 238 console.error(INVALID_ELEMENT_ERROR); 239 } 240 241 return instance; 242 } 243 244 instance.setOptions(options).then(function (state) { 245 if (!isDestroyed && options.onFirstUpdate) { 246 options.onFirstUpdate(state); 247 } 248 }); // Modifiers have the ability to execute arbitrary code before the first 249 // update cycle runs. They will be executed in the same order as the update 250 // cycle. This is useful when a modifier adds some persistent data that 251 // other modifiers need to use, but the modifier is run after the dependent 252 // one. 253 254 function runModifierEffects() { 255 state.orderedModifiers.forEach(function (_ref3) { 256 var name = _ref3.name, 257 _ref3$options = _ref3.options, 258 options = _ref3$options === void 0 ? {} : _ref3$options, 259 effect = _ref3.effect; 260 261 if (typeof effect === 'function') { 262 var cleanupFn = effect({ 263 state: state, 264 name: name, 265 instance: instance, 266 options: options 267 }); 268 269 var noopFn = function noopFn() {}; 270 271 effectCleanupFns.push(cleanupFn || noopFn); 272 } 273 }); 274 } 275 276 function cleanupModifierEffects() { 277 effectCleanupFns.forEach(function (fn) { 278 return fn(); 279 }); 280 effectCleanupFns = []; 281 } 282 283 return instance; 284 }; 285} 286var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules 287 288 289 290/***/ }), 291
vendor: 1,424 bytes, lines 292-328
292/***/ "./node_modules/@popperjs/core/lib/dom-utils/contains.js": 293/*!***************************************************************!*\ 294 !*** ./node_modules/@popperjs/core/lib/dom-utils/contains.js ***! 295 \***************************************************************/ 296/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 297 298__webpack_require__.r(__webpack_exports__); 299/* harmony export */ __webpack_require__.d(__webpack_exports__, { 300/* harmony export */ "default": function() { return /* binding */ contains; } 301/* harmony export */ }); 302/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 303 304function contains(parent, child) { 305 var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method 306 307 if (parent.contains(child)) { 308 return true; 309 } // then fallback to custom implementation with Shadow DOM support 310 else if (rootNode && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isShadowRoot)(rootNode)) { 311 var next = child; 312 313 do { 314 if (next && parent.isSameNode(next)) { 315 return true; 316 } // $FlowFixMe[prop-missing]: need a better way to handle this... 317 318 319 next = next.parentNode || next.host; 320 } while (next); 321 } // Give up, the result is false 322 323 324 return false; 325} 326 327/***/ }), 328
vendor: 2,812 bytes, lines 329-386
329/***/ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js": 330/*!****************************************************************************!*\ 331 !*** ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js ***! 332 \****************************************************************************/ 333/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 334 335__webpack_require__.r(__webpack_exports__); 336/* harmony export */ __webpack_require__.d(__webpack_exports__, { 337/* harmony export */ "default": function() { return /* binding */ getBoundingClientRect; } 338/* harmony export */ }); 339/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 340/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 341/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 342/* harmony import */ var _isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isLayoutViewport.js */ "./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js"); 343 344 345 346 347function getBoundingClientRect(element, includeScale, isFixedStrategy) { 348 if (includeScale === void 0) { 349 includeScale = false; 350 } 351 352 if (isFixedStrategy === void 0) { 353 isFixedStrategy = false; 354 } 355 356 var clientRect = element.getBoundingClientRect(); 357 var scaleX = 1; 358 var scaleY = 1; 359 360 if (includeScale && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element)) { 361 scaleX = element.offsetWidth > 0 ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_1__.round)(clientRect.width) / element.offsetWidth || 1 : 1; 362 scaleY = element.offsetHeight > 0 ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_1__.round)(clientRect.height) / element.offsetHeight || 1 : 1; 363 } 364 365 var _ref = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element) : window, 366 visualViewport = _ref.visualViewport; 367 368 var addVisualOffsets = !(0,_isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_3__["default"])() && isFixedStrategy; 369 var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; 370 var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; 371 var width = clientRect.width / scaleX; 372 var height = clientRect.height / scaleY; 373 return { 374 width: width, 375 height: height, 376 top: y, 377 right: x + width, 378 bottom: y + height, 379 left: x, 380 x: x, 381 y: y 382 }; 383} 384 385/***/ }), 386
vendor: 6,922 bytes, lines 387-483
387/***/ "./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js": 388/*!**********************************************************************!*\ 389 !*** ./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js ***! 390 \**********************************************************************/ 391/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 392 393__webpack_require__.r(__webpack_exports__); 394/* harmony export */ __webpack_require__.d(__webpack_exports__, { 395/* harmony export */ "default": function() { return /* binding */ getClippingRect; } 396/* harmony export */ }); 397/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 398/* harmony import */ var _getViewportRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getViewportRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js"); 399/* harmony import */ var _getDocumentRect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getDocumentRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js"); 400/* harmony import */ var _listScrollParents_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./listScrollParents.js */ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js"); 401/* harmony import */ var _getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js"); 402/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 403/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 404/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 405/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); 406/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); 407/* harmony import */ var _contains_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./contains.js */ "./node_modules/@popperjs/core/lib/dom-utils/contains.js"); 408/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 409/* harmony import */ var _utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/rectToClientRect.js */ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js"); 410/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426function getInnerBoundingClientRect(element, strategy) { 427 var rect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element, false, strategy === 'fixed'); 428 rect.top = rect.top + element.clientTop; 429 rect.left = rect.left + element.clientLeft; 430 rect.bottom = rect.top + element.clientHeight; 431 rect.right = rect.left + element.clientWidth; 432 rect.width = element.clientWidth; 433 rect.height = element.clientHeight; 434 rect.x = rect.left; 435 rect.y = rect.top; 436 return rect; 437} 438 439function getClientRectFromMixedType(element, clippingParent, strategy) { 440 return clippingParent === _enums_js__WEBPACK_IMPORTED_MODULE_1__.viewport ? (0,_utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_getViewportRect_js__WEBPACK_IMPORTED_MODULE_3__["default"])(element, strategy)) : (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : (0,_utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_getDocumentRect_js__WEBPACK_IMPORTED_MODULE_5__["default"])((0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_6__["default"])(element))); 441} // A "clipping parent" is an overflowable container with the characteristic of 442// clipping (or hiding) overflowing elements with a position different from 443// `initial` 444 445 446function getClippingParents(element) { 447 var clippingParents = (0,_listScrollParents_js__WEBPACK_IMPORTED_MODULE_7__["default"])((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_8__["default"])(element)); 448 var canEscapeClipping = ['absolute', 'fixed'].indexOf((0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_9__["default"])(element).position) >= 0; 449 var clipperElement = canEscapeClipping && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(element) ? (0,_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__["default"])(element) : element; 450 451 if (!(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(clipperElement)) { 452 return []; 453 } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414 454 455 456 return clippingParents.filter(function (clippingParent) { 457 return (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(clippingParent) && (0,_contains_js__WEBPACK_IMPORTED_MODULE_11__["default"])(clippingParent, clipperElement) && (0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_12__["default"])(clippingParent) !== 'body'; 458 }); 459} // Gets the maximum area that the element is visible in due to any number of 460// clipping parents 461 462 463function getClippingRect(element, boundary, rootBoundary, strategy) { 464 var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); 465 var clippingParents = [].concat(mainClippingParents, [rootBoundary]); 466 var firstClippingParent = clippingParents[0]; 467 var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { 468 var rect = getClientRectFromMixedType(element, clippingParent, strategy); 469 accRect.top = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.max)(rect.top, accRect.top); 470 accRect.right = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.min)(rect.right, accRect.right); 471 accRect.bottom = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.min)(rect.bottom, accRect.bottom); 472 accRect.left = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.max)(rect.left, accRect.left); 473 return accRect; 474 }, getClientRectFromMixedType(element, firstClippingParent, strategy)); 475 clippingRect.width = clippingRect.right - clippingRect.left; 476 clippingRect.height = clippingRect.bottom - clippingRect.top; 477 clippingRect.x = clippingRect.left; 478 clippingRect.y = clippingRect.top; 479 return clippingRect; 480} 481 482/***/ }), 483
vendor: 4,358 bytes, lines 484-562
484/***/ "./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js": 485/*!***********************************************************************!*\ 486 !*** ./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js ***! 487 \***********************************************************************/ 488/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 489 490__webpack_require__.r(__webpack_exports__); 491/* harmony export */ __webpack_require__.d(__webpack_exports__, { 492/* harmony export */ "default": function() { return /* binding */ getCompositeRect; } 493/* harmony export */ }); 494/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); 495/* harmony import */ var _getNodeScroll_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getNodeScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js"); 496/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 497/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 498/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js"); 499/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 500/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js"); 501/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 502 503 504 505 506 507 508 509 510 511function isElementScaled(element) { 512 var rect = element.getBoundingClientRect(); 513 var scaleX = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(rect.width) / element.offsetWidth || 1; 514 var scaleY = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(rect.height) / element.offsetHeight || 1; 515 return scaleX !== 1 || scaleY !== 1; 516} // Returns the composite rect of an element relative to its offsetParent. 517// Composite means it takes into account transforms as well as layout. 518 519 520function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { 521 if (isFixed === void 0) { 522 isFixed = false; 523 } 524 525 var isOffsetParentAnElement = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent); 526 var offsetParentIsScaled = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent) && isElementScaled(offsetParent); 527 var documentElement = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(offsetParent); 528 var rect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__["default"])(elementOrVirtualElement, offsetParentIsScaled, isFixed); 529 var scroll = { 530 scrollLeft: 0, 531 scrollTop: 0 532 }; 533 var offsets = { 534 x: 0, 535 y: 0 536 }; 537 538 if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { 539 if ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_4__["default"])(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078 540 (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_5__["default"])(documentElement)) { 541 scroll = (0,_getNodeScroll_js__WEBPACK_IMPORTED_MODULE_6__["default"])(offsetParent); 542 } 543 544 if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent)) { 545 offsets = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__["default"])(offsetParent, true); 546 offsets.x += offsetParent.clientLeft; 547 offsets.y += offsetParent.clientTop; 548 } else if (documentElement) { 549 offsets.x = (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_7__["default"])(documentElement); 550 } 551 } 552 553 return { 554 x: rect.left + scroll.scrollLeft - offsets.x, 555 y: rect.top + scroll.scrollTop - offsets.y, 556 width: rect.width, 557 height: rect.height 558 }; 559} 560 561/***/ }), 562
vendor: 940 bytes, lines 563-580
563/***/ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js": 564/*!***********************************************************************!*\ 565 !*** ./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js ***! 566 \***********************************************************************/ 567/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 568 569__webpack_require__.r(__webpack_exports__); 570/* harmony export */ __webpack_require__.d(__webpack_exports__, { 571/* harmony export */ "default": function() { return /* binding */ getComputedStyle; } 572/* harmony export */ }); 573/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 574 575function getComputedStyle(element) { 576 return (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element).getComputedStyle(element); 577} 578 579/***/ }), 580
vendor: 1,111 bytes, lines 581-600
581/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js": 582/*!*************************************************************************!*\ 583 !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js ***! 584 \*************************************************************************/ 585/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 586 587__webpack_require__.r(__webpack_exports__); 588/* harmony export */ __webpack_require__.d(__webpack_exports__, { 589/* harmony export */ "default": function() { return /* binding */ getDocumentElement; } 590/* harmony export */ }); 591/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 592 593function getDocumentElement(element) { 594 // $FlowFixMe[incompatible-return]: assume body is always available 595 return (((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? element.ownerDocument : // $FlowFixMe[prop-missing] 596 element.document) || window.document).documentElement; 597} 598 599/***/ }), 600
vendor: 2,864 bytes, lines 601-647
601/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js": 602/*!**********************************************************************!*\ 603 !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js ***! 604 \**********************************************************************/ 605/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 606 607__webpack_require__.r(__webpack_exports__); 608/* harmony export */ __webpack_require__.d(__webpack_exports__, { 609/* harmony export */ "default": function() { return /* binding */ getDocumentRect; } 610/* harmony export */ }); 611/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 612/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 613/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js"); 614/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js"); 615/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 616 617 618 619 620 // Gets the entire size of the scrollable document area, even extending outside 621// of the `<html>` and `<body>` rect bounds if horizontally scrollable 622 623function getDocumentRect(element) { 624 var _element$ownerDocumen; 625 626 var html = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); 627 var winScroll = (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element); 628 var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; 629 var width = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); 630 var height = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); 631 var x = -winScroll.scrollLeft + (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__["default"])(element); 632 var y = -winScroll.scrollTop; 633 634 if ((0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__["default"])(body || html).direction === 'rtl') { 635 x += (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.clientWidth, body ? body.clientWidth : 0) - width; 636 } 637 638 return { 639 width: width, 640 height: height, 641 x: x, 642 y: y 643 }; 644} 645 646/***/ }), 647
vendor: 772 bytes, lines 648-666
648/***/ "./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js": 649/*!***************************************************************************!*\ 650 !*** ./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js ***! 651 \***************************************************************************/ 652/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 653 654__webpack_require__.r(__webpack_exports__); 655/* harmony export */ __webpack_require__.d(__webpack_exports__, { 656/* harmony export */ "default": function() { return /* binding */ getHTMLElementScroll; } 657/* harmony export */ }); 658function getHTMLElementScroll(element) { 659 return { 660 scrollLeft: element.scrollLeft, 661 scrollTop: element.scrollTop 662 }; 663} 664 665/***/ }), 666
vendor: 1,556 bytes, lines 667-705
667/***/ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js": 668/*!********************************************************************!*\ 669 !*** ./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js ***! 670 \********************************************************************/ 671/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 672 673__webpack_require__.r(__webpack_exports__); 674/* harmony export */ __webpack_require__.d(__webpack_exports__, { 675/* harmony export */ "default": function() { return /* binding */ getLayoutRect; } 676/* harmony export */ }); 677/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); 678 // Returns the layout rect of an element relative to its offsetParent. Layout 679// means it doesn't take into account transforms. 680 681function getLayoutRect(element) { 682 var clientRect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); // Use the clientRect sizes if it's not been transformed. 683 // Fixes https://github.com/popperjs/popper-core/issues/1223 684 685 var width = element.offsetWidth; 686 var height = element.offsetHeight; 687 688 if (Math.abs(clientRect.width - width) <= 1) { 689 width = clientRect.width; 690 } 691 692 if (Math.abs(clientRect.height - height) <= 1) { 693 height = clientRect.height; 694 } 695 696 return { 697 x: element.offsetLeft, 698 y: element.offsetTop, 699 width: width, 700 height: height 701 }; 702} 703 704/***/ }), 705
vendor: 699 bytes, lines 706-721
706/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js": 707/*!******************************************************************!*\ 708 !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js ***! 709 \******************************************************************/ 710/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 711 712__webpack_require__.r(__webpack_exports__); 713/* harmony export */ __webpack_require__.d(__webpack_exports__, { 714/* harmony export */ "default": function() { return /* binding */ getNodeName; } 715/* harmony export */ }); 716function getNodeName(element) { 717 return element ? (element.nodeName || '').toLowerCase() : null; 718} 719 720/***/ }), 721
vendor: 1,730 bytes, lines 722-749
722/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js": 723/*!********************************************************************!*\ 724 !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js ***! 725 \********************************************************************/ 726/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 727 728__webpack_require__.r(__webpack_exports__); 729/* harmony export */ __webpack_require__.d(__webpack_exports__, { 730/* harmony export */ "default": function() { return /* binding */ getNodeScroll; } 731/* harmony export */ }); 732/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js"); 733/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 734/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 735/* harmony import */ var _getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getHTMLElementScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js"); 736 737 738 739 740function getNodeScroll(node) { 741 if (node === (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node) || !(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(node)) { 742 return (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__["default"])(node); 743 } else { 744 return (0,_getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__["default"])(node); 745 } 746} 747 748/***/ }), 749
vendor: 4,978 bytes, lines 750-838
750/***/ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js": 751/*!**********************************************************************!*\ 752 !*** ./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js ***! 753 \**********************************************************************/ 754/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 755 756__webpack_require__.r(__webpack_exports__); 757/* harmony export */ __webpack_require__.d(__webpack_exports__, { 758/* harmony export */ "default": function() { return /* binding */ getOffsetParent; } 759/* harmony export */ }); 760/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 761/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 762/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 763/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 764/* harmony import */ var _isTableElement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isTableElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js"); 765/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); 766/* harmony import */ var _utils_userAgent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/userAgent.js */ "./node_modules/@popperjs/core/lib/utils/userAgent.js"); 767 768 769 770 771 772 773 774 775function getTrueOffsetParent(element) { 776 if (!(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || // https://github.com/popperjs/popper-core/issues/837 777 (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element).position === 'fixed') { 778 return null; 779 } 780 781 return element.offsetParent; 782} // `.offsetParent` reports `null` for fixed elements, while absolute elements 783// return the containing block 784 785 786function getContainingBlock(element) { 787 var isFirefox = /firefox/i.test((0,_utils_userAgent_js__WEBPACK_IMPORTED_MODULE_2__["default"])()); 788 var isIE = /Trident/i.test((0,_utils_userAgent_js__WEBPACK_IMPORTED_MODULE_2__["default"])()); 789 790 if (isIE && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element)) { 791 // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport 792 var elementCss = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element); 793 794 if (elementCss.position === 'fixed') { 795 return null; 796 } 797 } 798 799 var currentNode = (0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_3__["default"])(element); 800 801 if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isShadowRoot)(currentNode)) { 802 currentNode = currentNode.host; 803 } 804 805 while ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(currentNode) && ['html', 'body'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_4__["default"])(currentNode)) < 0) { 806 var css = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(currentNode); // This is non-exhaustive but covers the most common CSS properties that 807 // create a containing block. 808 // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block 809 810 if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') { 811 return currentNode; 812 } else { 813 currentNode = currentNode.parentNode; 814 } 815 } 816 817 return null; 818} // Gets the closest ancestor positioned element. Handles some edge cases, 819// such as table ancestors and cross browser bugs. 820 821 822function getOffsetParent(element) { 823 var window = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_5__["default"])(element); 824 var offsetParent = getTrueOffsetParent(element); 825 826 while (offsetParent && (0,_isTableElement_js__WEBPACK_IMPORTED_MODULE_6__["default"])(offsetParent) && (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(offsetParent).position === 'static') { 827 offsetParent = getTrueOffsetParent(offsetParent); 828 } 829 830 if (offsetParent && ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_4__["default"])(offsetParent) === 'html' || (0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_4__["default"])(offsetParent) === 'body' && (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(offsetParent).position === 'static')) { 831 return window; 832 } 833 834 return offsetParent || getContainingBlock(element) || window; 835} 836 837/***/ }), 838
vendor: 1,906 bytes, lines 839-873
839/***/ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js": 840/*!********************************************************************!*\ 841 !*** ./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js ***! 842 \********************************************************************/ 843/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 844 845__webpack_require__.r(__webpack_exports__); 846/* harmony export */ __webpack_require__.d(__webpack_exports__, { 847/* harmony export */ "default": function() { return /* binding */ getParentNode; } 848/* harmony export */ }); 849/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 850/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 851/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 852 853 854 855function getParentNode(element) { 856 if ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element) === 'html') { 857 return element; 858 } 859 860 return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle 861 // $FlowFixMe[incompatible-return] 862 // $FlowFixMe[prop-missing] 863 element.assignedSlot || // step into the shadow DOM of the parent of a slotted node 864 element.parentNode || ( // DOM Element detected 865 (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isShadowRoot)(element) ? element.host : null) || // ShadowRoot detected 866 // $FlowFixMe[incompatible-call]: HTMLElement is a Node 867 (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element) // fallback 868 869 ); 870} 871 872/***/ }), 873
vendor: 1,884 bytes, lines 874-906
874/***/ "./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js": 875/*!**********************************************************************!*\ 876 !*** ./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js ***! 877 \**********************************************************************/ 878/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 879 880__webpack_require__.r(__webpack_exports__); 881/* harmony export */ __webpack_require__.d(__webpack_exports__, { 882/* harmony export */ "default": function() { return /* binding */ getScrollParent; } 883/* harmony export */ }); 884/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); 885/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js"); 886/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 887/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 888 889 890 891 892function getScrollParent(node) { 893 if (['html', 'body', '#document'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node)) >= 0) { 894 // $FlowFixMe[incompatible-return]: assume body is always available 895 return node.ownerDocument.body; 896 } 897 898 if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(node) && (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(node)) { 899 return node; 900 } 901 902 return getScrollParent((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_3__["default"])(node)); 903} 904 905/***/ }), 906
vendor: 2,240 bytes, lines 907-954
907/***/ "./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js": 908/*!**********************************************************************!*\ 909 !*** ./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js ***! 910 \**********************************************************************/ 911/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 912 913__webpack_require__.r(__webpack_exports__); 914/* harmony export */ __webpack_require__.d(__webpack_exports__, { 915/* harmony export */ "default": function() { return /* binding */ getViewportRect; } 916/* harmony export */ }); 917/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 918/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 919/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js"); 920/* harmony import */ var _isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isLayoutViewport.js */ "./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js"); 921 922 923 924 925function getViewportRect(element, strategy) { 926 var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); 927 var html = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element); 928 var visualViewport = win.visualViewport; 929 var width = html.clientWidth; 930 var height = html.clientHeight; 931 var x = 0; 932 var y = 0; 933 934 if (visualViewport) { 935 width = visualViewport.width; 936 height = visualViewport.height; 937 var layoutViewport = (0,_isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_2__["default"])(); 938 939 if (layoutViewport || !layoutViewport && strategy === 'fixed') { 940 x = visualViewport.offsetLeft; 941 y = visualViewport.offsetTop; 942 } 943 } 944 945 return { 946 width: width, 947 height: height, 948 x: x + (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__["default"])(element), 949 y: y 950 }; 951} 952 953/***/ }), 954
vendor: 848 bytes, lines 955-979
955/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js": 956/*!****************************************************************!*\ 957 !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js ***! 958 \****************************************************************/ 959/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 960 961__webpack_require__.r(__webpack_exports__); 962/* harmony export */ __webpack_require__.d(__webpack_exports__, { 963/* harmony export */ "default": function() { return /* binding */ getWindow; } 964/* harmony export */ }); 965function getWindow(node) { 966 if (node == null) { 967 return window; 968 } 969 970 if (node.toString() !== '[object Window]') { 971 var ownerDocument = node.ownerDocument; 972 return ownerDocument ? ownerDocument.defaultView || window : window; 973 } 974 975 return node; 976} 977 978/***/ }), 979
vendor: 1,045 bytes, lines 980-1003
980/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js": 981/*!**********************************************************************!*\ 982 !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js ***! 983 \**********************************************************************/ 984/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 985 986__webpack_require__.r(__webpack_exports__); 987/* harmony export */ __webpack_require__.d(__webpack_exports__, { 988/* harmony export */ "default": function() { return /* binding */ getWindowScroll; } 989/* harmony export */ }); 990/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 991 992function getWindowScroll(node) { 993 var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node); 994 var scrollLeft = win.pageXOffset; 995 var scrollTop = win.pageYOffset; 996 return { 997 scrollLeft: scrollLeft, 998 scrollTop: scrollTop 999 }; 1000} 1001 1002/***/ }), 1003
vendor: 1,919 bytes, lines 1004-1032
1004/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js": 1005/*!**************************************************************************!*\ 1006 !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js ***! 1007 \**************************************************************************/ 1008/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1009 1010__webpack_require__.r(__webpack_exports__); 1011/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1012/* harmony export */ "default": function() { return /* binding */ getWindowScrollBarX; } 1013/* harmony export */ }); 1014/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); 1015/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 1016/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js"); 1017 1018 1019 1020function getWindowScrollBarX(element) { 1021 // If <html> has a CSS width greater than the viewport, then this will be 1022 // incorrect for RTL. 1023 // Popper 1 is broken in this case and never had a bug report so let's assume 1024 // it's not an issue. I don't think anyone ever specifies width on <html> 1025 // anyway. 1026 // Browsers where the left scrollbar doesn't cause an issue report `0` for 1027 // this (e.g. Edge 2019, IE11, Safari) 1028 return (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element)).left + (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element).scrollLeft; 1029} 1030 1031/***/ }), 1032
vendor: 1,627 bytes, lines 1033-1071
1033/***/ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js": 1034/*!*****************************************************************!*\ 1035 !*** ./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js ***! 1036 \*****************************************************************/ 1037/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1038 1039__webpack_require__.r(__webpack_exports__); 1040/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1041/* harmony export */ "isElement": function() { return /* binding */ isElement; }, 1042/* harmony export */ "isHTMLElement": function() { return /* binding */ isHTMLElement; }, 1043/* harmony export */ "isShadowRoot": function() { return /* binding */ isShadowRoot; } 1044/* harmony export */ }); 1045/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 1046 1047 1048function isElement(node) { 1049 var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).Element; 1050 return node instanceof OwnElement || node instanceof Element; 1051} 1052 1053function isHTMLElement(node) { 1054 var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).HTMLElement; 1055 return node instanceof OwnElement || node instanceof HTMLElement; 1056} 1057 1058function isShadowRoot(node) { 1059 // IE 11 has no ShadowRoot 1060 if (typeof ShadowRoot === 'undefined') { 1061 return false; 1062 } 1063 1064 var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).ShadowRoot; 1065 return node instanceof OwnElement || node instanceof ShadowRoot; 1066} 1067 1068 1069 1070/***/ }), 1071
vendor: 955 bytes, lines 1072-1089
1072/***/ "./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js": 1073/*!***********************************************************************!*\ 1074 !*** ./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js ***! 1075 \***********************************************************************/ 1076/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1077 1078__webpack_require__.r(__webpack_exports__); 1079/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1080/* harmony export */ "default": function() { return /* binding */ isLayoutViewport; } 1081/* harmony export */ }); 1082/* harmony import */ var _utils_userAgent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/userAgent.js */ "./node_modules/@popperjs/core/lib/utils/userAgent.js"); 1083 1084function isLayoutViewport() { 1085 return !/^((?!chrome|android).)*safari/i.test((0,_utils_userAgent_js__WEBPACK_IMPORTED_MODULE_0__["default"])()); 1086} 1087 1088/***/ }), 1089
vendor: 1,229 bytes, lines 1090-1113
1090/***/ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js": 1091/*!*********************************************************************!*\ 1092 !*** ./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js ***! 1093 \*********************************************************************/ 1094/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1095 1096__webpack_require__.r(__webpack_exports__); 1097/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1098/* harmony export */ "default": function() { return /* binding */ isScrollParent; } 1099/* harmony export */ }); 1100/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 1101 1102function isScrollParent(element) { 1103 // Firefox wants us to check `-x` and `-y` variations as well 1104 var _getComputedStyle = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element), 1105 overflow = _getComputedStyle.overflow, 1106 overflowX = _getComputedStyle.overflowX, 1107 overflowY = _getComputedStyle.overflowY; 1108 1109 return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); 1110} 1111 1112/***/ }), 1113
vendor: 946 bytes, lines 1114-1131
1114/***/ "./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js": 1115/*!*********************************************************************!*\ 1116 !*** ./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js ***! 1117 \*********************************************************************/ 1118/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1119 1120__webpack_require__.r(__webpack_exports__); 1121/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1122/* harmony export */ "default": function() { return /* binding */ isTableElement; } 1123/* harmony export */ }); 1124/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 1125 1126function isTableElement(element) { 1127 return ['table', 'td', 'th'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element)) >= 0; 1128} 1129 1130/***/ }), 1131
vendor: 2,535 bytes, lines 1132-1174
1132/***/ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js": 1133/*!************************************************************************!*\ 1134 !*** ./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js ***! 1135 \************************************************************************/ 1136/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1137 1138__webpack_require__.r(__webpack_exports__); 1139/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1140/* harmony export */ "default": function() { return /* binding */ listScrollParents; } 1141/* harmony export */ }); 1142/* harmony import */ var _getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js"); 1143/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); 1144/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 1145/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js"); 1146 1147 1148 1149 1150/* 1151given a DOM element, return the list of all scroll parents, up the list of ancesors 1152until we get to the top window object. This list is what we attach scroll listeners 1153to, because if any of these parent elements scroll, we'll need to re-calculate the 1154reference element's position. 1155*/ 1156 1157function listScrollParents(element, list) { 1158 var _element$ownerDocumen; 1159 1160 if (list === void 0) { 1161 list = []; 1162 } 1163 1164 var scrollParent = (0,_getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); 1165 var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); 1166 var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(scrollParent); 1167 var target = isBody ? [win].concat(win.visualViewport || [], (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(scrollParent) ? scrollParent : []) : scrollParent; 1168 var updatedList = list.concat(target); 1169 return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here 1170 updatedList.concat(listScrollParents((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_3__["default"])(target))); 1171} 1172 1173/***/ }), 1174
vendor: 3,597 bytes, lines 1175-1241
1175/***/ "./node_modules/@popperjs/core/lib/enums.js": 1176/*!**************************************************!*\ 1177 !*** ./node_modules/@popperjs/core/lib/enums.js ***! 1178 \**************************************************/ 1179/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1180 1181__webpack_require__.r(__webpack_exports__); 1182/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1183/* harmony export */ "afterMain": function() { return /* binding */ afterMain; }, 1184/* harmony export */ "afterRead": function() { return /* binding */ afterRead; }, 1185/* harmony export */ "afterWrite": function() { return /* binding */ afterWrite; }, 1186/* harmony export */ "auto": function() { return /* binding */ auto; }, 1187/* harmony export */ "basePlacements": function() { return /* binding */ basePlacements; }, 1188/* harmony export */ "beforeMain": function() { return /* binding */ beforeMain; }, 1189/* harmony export */ "beforeRead": function() { return /* binding */ beforeRead; }, 1190/* harmony export */ "beforeWrite": function() { return /* binding */ beforeWrite; }, 1191/* harmony export */ "bottom": function() { return /* binding */ bottom; }, 1192/* harmony export */ "clippingParents": function() { return /* binding */ clippingParents; }, 1193/* harmony export */ "end": function() { return /* binding */ end; }, 1194/* harmony export */ "left": function() { return /* binding */ left; }, 1195/* harmony export */ "main": function() { return /* binding */ main; }, 1196/* harmony export */ "modifierPhases": function() { return /* binding */ modifierPhases; }, 1197/* harmony export */ "placements": function() { return /* binding */ placements; }, 1198/* harmony export */ "popper": function() { return /* binding */ popper; }, 1199/* harmony export */ "read": function() { return /* binding */ read; }, 1200/* harmony export */ "reference": function() { return /* binding */ reference; }, 1201/* harmony export */ "right": function() { return /* binding */ right; }, 1202/* harmony export */ "start": function() { return /* binding */ start; }, 1203/* harmony export */ "top": function() { return /* binding */ top; }, 1204/* harmony export */ "variationPlacements": function() { return /* binding */ variationPlacements; }, 1205/* harmony export */ "viewport": function() { return /* binding */ viewport; }, 1206/* harmony export */ "write": function() { return /* binding */ write; } 1207/* harmony export */ }); 1208var top = 'top'; 1209var bottom = 'bottom'; 1210var right = 'right'; 1211var left = 'left'; 1212var auto = 'auto'; 1213var basePlacements = [top, bottom, right, left]; 1214var start = 'start'; 1215var end = 'end'; 1216var clippingParents = 'clippingParents'; 1217var viewport = 'viewport'; 1218var popper = 'popper'; 1219var reference = 'reference'; 1220var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { 1221 return acc.concat([placement + "-" + start, placement + "-" + end]); 1222}, []); 1223var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { 1224 return acc.concat([placement, placement + "-" + start, placement + "-" + end]); 1225}, []); // modifiers that need to read the DOM 1226 1227var beforeRead = 'beforeRead'; 1228var read = 'read'; 1229var afterRead = 'afterRead'; // pure-logic modifiers 1230 1231var beforeMain = 'beforeMain'; 1232var main = 'main'; 1233var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state) 1234 1235var beforeWrite = 'beforeWrite'; 1236var write = 'write'; 1237var afterWrite = 'afterWrite'; 1238var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; 1239 1240/***/ }), 1241
vendor: 6,659 bytes, lines 1242-1305
1242/***/ "./node_modules/@popperjs/core/lib/index.js": 1243/*!**************************************************!*\ 1244 !*** ./node_modules/@popperjs/core/lib/index.js ***! 1245 \**************************************************/ 1246/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1247 1248__webpack_require__.r(__webpack_exports__); 1249/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1250/* harmony export */ "afterMain": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterMain; }, 1251/* harmony export */ "afterRead": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterRead; }, 1252/* harmony export */ "afterWrite": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterWrite; }, 1253/* harmony export */ "applyStyles": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.applyStyles; }, 1254/* harmony export */ "arrow": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.arrow; }, 1255/* harmony export */ "auto": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.auto; }, 1256/* harmony export */ "basePlacements": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.basePlacements; }, 1257/* harmony export */ "beforeMain": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeMain; }, 1258/* harmony export */ "beforeRead": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeRead; }, 1259/* harmony export */ "beforeWrite": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeWrite; }, 1260/* harmony export */ "bottom": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom; }, 1261/* harmony export */ "clippingParents": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.clippingParents; }, 1262/* harmony export */ "computeStyles": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.computeStyles; }, 1263/* harmony export */ "createPopper": function() { return /* reexport safe */ _popper_js__WEBPACK_IMPORTED_MODULE_4__.createPopper; }, 1264/* harmony export */ "createPopperBase": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_2__.createPopper; }, 1265/* harmony export */ "createPopperLite": function() { return /* reexport safe */ _popper_lite_js__WEBPACK_IMPORTED_MODULE_5__.createPopper; }, 1266/* harmony export */ "detectOverflow": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_3__["default"]; }, 1267/* harmony export */ "end": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.end; }, 1268/* harmony export */ "eventListeners": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.eventListeners; }, 1269/* harmony export */ "flip": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.flip; }, 1270/* harmony export */ "hide": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.hide; }, 1271/* harmony export */ "left": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.left; }, 1272/* harmony export */ "main": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.main; }, 1273/* harmony export */ "modifierPhases": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.modifierPhases; }, 1274/* harmony export */ "offset": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.offset; }, 1275/* harmony export */ "placements": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.placements; }, 1276/* harmony export */ "popper": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper; }, 1277/* harmony export */ "popperGenerator": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_2__.popperGenerator; }, 1278/* harmony export */ "popperOffsets": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.popperOffsets; }, 1279/* harmony export */ "preventOverflow": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.preventOverflow; }, 1280/* harmony export */ "read": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.read; }, 1281/* harmony export */ "reference": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.reference; }, 1282/* harmony export */ "right": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.right; }, 1283/* harmony export */ "start": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.start; }, 1284/* harmony export */ "top": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.top; }, 1285/* harmony export */ "variationPlacements": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements; }, 1286/* harmony export */ "viewport": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.viewport; }, 1287/* harmony export */ "write": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.write; } 1288/* harmony export */ }); 1289/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1290/* harmony import */ var _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/index.js */ "./node_modules/@popperjs/core/lib/modifiers/index.js"); 1291/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js"); 1292/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 1293/* harmony import */ var _popper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./popper.js */ "./node_modules/@popperjs/core/lib/popper.js"); 1294/* harmony import */ var _popper_lite_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./popper-lite.js */ "./node_modules/@popperjs/core/lib/popper-lite.js"); 1295 1296 // eslint-disable-next-line import/no-unused-modules 1297 1298 // eslint-disable-next-line import/no-unused-modules 1299 1300 // eslint-disable-next-line import/no-unused-modules 1301 1302 1303 1304/***/ }), 1305
vendor: 3,518 bytes, lines 1306-1401
1306/***/ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js": 1307/*!******************************************************************!*\ 1308 !*** ./node_modules/@popperjs/core/lib/modifiers/applyStyles.js ***! 1309 \******************************************************************/ 1310/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1311 1312__webpack_require__.r(__webpack_exports__); 1313/* harmony import */ var _dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom-utils/getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 1314/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-utils/instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 1315 1316 // This modifier takes the styles prepared by the `computeStyles` modifier 1317// and applies them to the HTMLElements such as popper and arrow 1318 1319function applyStyles(_ref) { 1320 var state = _ref.state; 1321 Object.keys(state.elements).forEach(function (name) { 1322 var style = state.styles[name] || {}; 1323 var attributes = state.attributes[name] || {}; 1324 var element = state.elements[name]; // arrow is optional + virtual elements 1325 1326 if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || !(0,_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element)) { 1327 return; 1328 } // Flow doesn't support to extend this property, but it's the most 1329 // effective way to apply styles to an HTMLElement 1330 // $FlowFixMe[cannot-write] 1331 1332 1333 Object.assign(element.style, style); 1334 Object.keys(attributes).forEach(function (name) { 1335 var value = attributes[name]; 1336 1337 if (value === false) { 1338 element.removeAttribute(name); 1339 } else { 1340 element.setAttribute(name, value === true ? '' : value); 1341 } 1342 }); 1343 }); 1344} 1345 1346function effect(_ref2) { 1347 var state = _ref2.state; 1348 var initialStyles = { 1349 popper: { 1350 position: state.options.strategy, 1351 left: '0', 1352 top: '0', 1353 margin: '0' 1354 }, 1355 arrow: { 1356 position: 'absolute' 1357 }, 1358 reference: {} 1359 }; 1360 Object.assign(state.elements.popper.style, initialStyles.popper); 1361 state.styles = initialStyles; 1362 1363 if (state.elements.arrow) { 1364 Object.assign(state.elements.arrow.style, initialStyles.arrow); 1365 } 1366 1367 return function () { 1368 Object.keys(state.elements).forEach(function (name) { 1369 var element = state.elements[name]; 1370 var attributes = state.attributes[name] || {}; 1371 var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them 1372 1373 var style = styleProperties.reduce(function (style, property) { 1374 style[property] = ''; 1375 return style; 1376 }, {}); // arrow is optional + virtual elements 1377 1378 if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || !(0,_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element)) { 1379 return; 1380 } 1381 1382 Object.assign(element.style, style); 1383 Object.keys(attributes).forEach(function (attribute) { 1384 element.removeAttribute(attribute); 1385 }); 1386 }); 1387 }; 1388} // eslint-disable-next-line import/no-unused-modules 1389 1390 1391/* harmony default export */ __webpack_exports__["default"] = ({ 1392 name: 'applyStyles', 1393 enabled: true, 1394 phase: 'write', 1395 fn: applyStyles, 1396 effect: effect, 1397 requires: ['computeStyles'] 1398}); 1399 1400/***/ }), 1401
vendor: 6,468 bytes, lines 1402-1522
1402/***/ "./node_modules/@popperjs/core/lib/modifiers/arrow.js": 1403/*!************************************************************!*\ 1404 !*** ./node_modules/@popperjs/core/lib/modifiers/arrow.js ***! 1405 \************************************************************/ 1406/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1407 1408__webpack_require__.r(__webpack_exports__); 1409/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 1410/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dom-utils/getLayoutRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js"); 1411/* harmony import */ var _dom_utils_contains_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../dom-utils/contains.js */ "./node_modules/@popperjs/core/lib/dom-utils/contains.js"); 1412/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js"); 1413/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js"); 1414/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/within.js */ "./node_modules/@popperjs/core/lib/utils/within.js"); 1415/* harmony import */ var _utils_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/mergePaddingObject.js */ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js"); 1416/* harmony import */ var _utils_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/expandToHashMap.js */ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js"); 1417/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1418/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../dom-utils/instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 // eslint-disable-next-line import/no-unused-modules 1429 1430var toPaddingObject = function toPaddingObject(padding, state) { 1431 padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { 1432 placement: state.placement 1433 })) : padding; 1434 return (0,_utils_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(typeof padding !== 'number' ? padding : (0,_utils_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_1__["default"])(padding, _enums_js__WEBPACK_IMPORTED_MODULE_2__.basePlacements)); 1435}; 1436 1437function arrow(_ref) { 1438 var _state$modifiersData$; 1439 1440 var state = _ref.state, 1441 name = _ref.name, 1442 options = _ref.options; 1443 var arrowElement = state.elements.arrow; 1444 var popperOffsets = state.modifiersData.popperOffsets; 1445 var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(state.placement); 1446 var axis = (0,_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__["default"])(basePlacement); 1447 var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_2__.left, _enums_js__WEBPACK_IMPORTED_MODULE_2__.right].indexOf(basePlacement) >= 0; 1448 var len = isVertical ? 'height' : 'width'; 1449 1450 if (!arrowElement || !popperOffsets) { 1451 return; 1452 } 1453 1454 var paddingObject = toPaddingObject(options.padding, state); 1455 var arrowRect = (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_5__["default"])(arrowElement); 1456 var minProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_2__.top : _enums_js__WEBPACK_IMPORTED_MODULE_2__.left; 1457 var maxProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_2__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_2__.right; 1458 var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; 1459 var startDiff = popperOffsets[axis] - state.rects.reference[axis]; 1460 var arrowOffsetParent = (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_6__["default"])(arrowElement); 1461 var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; 1462 var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is 1463 // outside of the popper bounds 1464 1465 var min = paddingObject[minProp]; 1466 var max = clientSize - arrowRect[len] - paddingObject[maxProp]; 1467 var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; 1468 var offset = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_7__.within)(min, center, max); // Prevents breaking syntax highlighting... 1469 1470 var axisProp = axis; 1471 state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); 1472} 1473 1474function effect(_ref2) { 1475 var state = _ref2.state, 1476 options = _ref2.options; 1477 var _options$element = options.element, 1478 arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; 1479 1480 if (arrowElement == null) { 1481 return; 1482 } // CSS selector 1483 1484 1485 if (typeof arrowElement === 'string') { 1486 arrowElement = state.elements.popper.querySelector(arrowElement); 1487 1488 if (!arrowElement) { 1489 return; 1490 } 1491 } 1492 1493 if (true) { 1494 if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_8__.isHTMLElement)(arrowElement)) { 1495 console.error(['Popper: "arrow" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' ')); 1496 } 1497 } 1498 1499 if (!(0,_dom_utils_contains_js__WEBPACK_IMPORTED_MODULE_9__["default"])(state.elements.popper, arrowElement)) { 1500 if (true) { 1501 console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper', 'element.'].join(' ')); 1502 } 1503 1504 return; 1505 } 1506 1507 state.elements.arrow = arrowElement; 1508} // eslint-disable-next-line import/no-unused-modules 1509 1510 1511/* harmony default export */ __webpack_exports__["default"] = ({ 1512 name: 'arrow', 1513 enabled: true, 1514 phase: 'main', 1515 fn: arrow, 1516 effect: effect, 1517 requires: ['popperOffsets'], 1518 requiresIfExists: ['preventOverflow'] 1519}); 1520 1521/***/ }), 1522
vendor: 9,279 bytes, lines 1523-1724
1523/***/ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js": 1524/*!********************************************************************!*\ 1525 !*** ./node_modules/@popperjs/core/lib/modifiers/computeStyles.js ***! 1526 \********************************************************************/ 1527/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1528 1529__webpack_require__.r(__webpack_exports__); 1530/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1531/* harmony export */ "mapToStyles": function() { return /* binding */ mapToStyles; } 1532/* harmony export */ }); 1533/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1534/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js"); 1535/* harmony import */ var _dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dom-utils/getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 1536/* harmony import */ var _dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../dom-utils/getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 1537/* harmony import */ var _dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dom-utils/getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 1538/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 1539/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 1540/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 1541 1542 1543 1544 1545 1546 1547 1548 // eslint-disable-next-line import/no-unused-modules 1549 1550var unsetSides = { 1551 top: 'auto', 1552 right: 'auto', 1553 bottom: 'auto', 1554 left: 'auto' 1555}; // Round the offsets to the nearest suitable subpixel based on the DPR. 1556// Zooming can change the DPR, but it seems to report a value that will 1557// cleanly divide the values into the appropriate subpixels. 1558 1559function roundOffsetsByDPR(_ref) { 1560 var x = _ref.x, 1561 y = _ref.y; 1562 var win = window; 1563 var dpr = win.devicePixelRatio || 1; 1564 return { 1565 x: (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(x * dpr) / dpr || 0, 1566 y: (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(y * dpr) / dpr || 0 1567 }; 1568} 1569 1570function mapToStyles(_ref2) { 1571 var _Object$assign2; 1572 1573 var popper = _ref2.popper, 1574 popperRect = _ref2.popperRect, 1575 placement = _ref2.placement, 1576 variation = _ref2.variation, 1577 offsets = _ref2.offsets, 1578 position = _ref2.position, 1579 gpuAcceleration = _ref2.gpuAcceleration, 1580 adaptive = _ref2.adaptive, 1581 roundOffsets = _ref2.roundOffsets, 1582 isFixed = _ref2.isFixed; 1583 var _offsets$x = offsets.x, 1584 x = _offsets$x === void 0 ? 0 : _offsets$x, 1585 _offsets$y = offsets.y, 1586 y = _offsets$y === void 0 ? 0 : _offsets$y; 1587 1588 var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({ 1589 x: x, 1590 y: y 1591 }) : { 1592 x: x, 1593 y: y 1594 }; 1595 1596 x = _ref3.x; 1597 y = _ref3.y; 1598 var hasX = offsets.hasOwnProperty('x'); 1599 var hasY = offsets.hasOwnProperty('y'); 1600 var sideX = _enums_js__WEBPACK_IMPORTED_MODULE_1__.left; 1601 var sideY = _enums_js__WEBPACK_IMPORTED_MODULE_1__.top; 1602 var win = window; 1603 1604 if (adaptive) { 1605 var offsetParent = (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(popper); 1606 var heightProp = 'clientHeight'; 1607 var widthProp = 'clientWidth'; 1608 1609 if (offsetParent === (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_3__["default"])(popper)) { 1610 offsetParent = (0,_dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_4__["default"])(popper); 1611 1612 if ((0,_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_5__["default"])(offsetParent).position !== 'static' && position === 'absolute') { 1613 heightProp = 'scrollHeight'; 1614 widthProp = 'scrollWidth'; 1615 } 1616 } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it 1617 1618 1619 offsetParent = offsetParent; 1620 1621 if (placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.top || (placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.left || placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.right) && variation === _enums_js__WEBPACK_IMPORTED_MODULE_1__.end) { 1622 sideY = _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom; 1623 var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing] 1624 offsetParent[heightProp]; 1625 y -= offsetY - popperRect.height; 1626 y *= gpuAcceleration ? 1 : -1; 1627 } 1628 1629 if (placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.left || (placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.top || placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom) && variation === _enums_js__WEBPACK_IMPORTED_MODULE_1__.end) { 1630 sideX = _enums_js__WEBPACK_IMPORTED_MODULE_1__.right; 1631 var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing] 1632 offsetParent[widthProp]; 1633 x -= offsetX - popperRect.width; 1634 x *= gpuAcceleration ? 1 : -1; 1635 } 1636 } 1637 1638 var commonStyles = Object.assign({ 1639 position: position 1640 }, adaptive && unsetSides); 1641 1642 var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ 1643 x: x, 1644 y: y 1645 }) : { 1646 x: x, 1647 y: y 1648 }; 1649 1650 x = _ref4.x; 1651 y = _ref4.y; 1652 1653 if (gpuAcceleration) { 1654 var _Object$assign; 1655 1656 return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); 1657 } 1658 1659 return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); 1660} 1661 1662function computeStyles(_ref5) { 1663 var state = _ref5.state, 1664 options = _ref5.options; 1665 var _options$gpuAccelerat = options.gpuAcceleration, 1666 gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, 1667 _options$adaptive = options.adaptive, 1668 adaptive = _options$adaptive === void 0 ? true : _options$adaptive, 1669 _options$roundOffsets = options.roundOffsets, 1670 roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; 1671 1672 if (true) { 1673 var transitionProperty = (0,_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_5__["default"])(state.elements.popper).transitionProperty || ''; 1674 1675 if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) { 1676 return transitionProperty.indexOf(property) >= 0; 1677 })) { 1678 console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: "transform", "top", "right", "bottom", "left".', '\n\n', 'Disable the "computeStyles" modifier\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\n\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' ')); 1679 } 1680 } 1681 1682 var commonStyles = { 1683 placement: (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state.placement), 1684 variation: (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_7__["default"])(state.placement), 1685 popper: state.elements.popper, 1686 popperRect: state.rects.popper, 1687 gpuAcceleration: gpuAcceleration, 1688 isFixed: state.options.strategy === 'fixed' 1689 }; 1690 1691 if (state.modifiersData.popperOffsets != null) { 1692 state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { 1693 offsets: state.modifiersData.popperOffsets, 1694 position: state.options.strategy, 1695 adaptive: adaptive, 1696 roundOffsets: roundOffsets 1697 }))); 1698 } 1699 1700 if (state.modifiersData.arrow != null) { 1701 state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { 1702 offsets: state.modifiersData.arrow, 1703 position: 'absolute', 1704 adaptive: false, 1705 roundOffsets: roundOffsets 1706 }))); 1707 } 1708 1709 state.attributes.popper = Object.assign({}, state.attributes.popper, { 1710 'data-popper-placement': state.placement 1711 }); 1712} // eslint-disable-next-line import/no-unused-modules 1713 1714 1715/* harmony default export */ __webpack_exports__["default"] = ({ 1716 name: 'computeStyles', 1717 enabled: true, 1718 phase: 'beforeWrite', 1719 fn: computeStyles, 1720 data: {} 1721}); 1722 1723/***/ }), 1724
vendor: 2,019 bytes, lines 1725-1784
1725/***/ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js": 1726/*!*********************************************************************!*\ 1727 !*** ./node_modules/@popperjs/core/lib/modifiers/eventListeners.js ***! 1728 \*********************************************************************/ 1729/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1730 1731__webpack_require__.r(__webpack_exports__); 1732/* harmony import */ var _dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-utils/getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 1733 // eslint-disable-next-line import/no-unused-modules 1734 1735var passive = { 1736 passive: true 1737}; 1738 1739function effect(_ref) { 1740 var state = _ref.state, 1741 instance = _ref.instance, 1742 options = _ref.options; 1743 var _options$scroll = options.scroll, 1744 scroll = _options$scroll === void 0 ? true : _options$scroll, 1745 _options$resize = options.resize, 1746 resize = _options$resize === void 0 ? true : _options$resize; 1747 var window = (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(state.elements.popper); 1748 var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); 1749 1750 if (scroll) { 1751 scrollParents.forEach(function (scrollParent) { 1752 scrollParent.addEventListener('scroll', instance.update, passive); 1753 }); 1754 } 1755 1756 if (resize) { 1757 window.addEventListener('resize', instance.update, passive); 1758 } 1759 1760 return function () { 1761 if (scroll) { 1762 scrollParents.forEach(function (scrollParent) { 1763 scrollParent.removeEventListener('scroll', instance.update, passive); 1764 }); 1765 } 1766 1767 if (resize) { 1768 window.removeEventListener('resize', instance.update, passive); 1769 } 1770 }; 1771} // eslint-disable-next-line import/no-unused-modules 1772 1773 1774/* harmony default export */ __webpack_exports__["default"] = ({ 1775 name: 'eventListeners', 1776 enabled: true, 1777 phase: 'write', 1778 fn: function fn() {}, 1779 effect: effect, 1780 data: {} 1781}); 1782 1783/***/ }), 1784
vendor: 7,367 bytes, lines 1785-1948
1785/***/ "./node_modules/@popperjs/core/lib/modifiers/flip.js": 1786/*!***********************************************************!*\ 1787 !*** ./node_modules/@popperjs/core/lib/modifiers/flip.js ***! 1788 \***********************************************************/ 1789/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1790 1791__webpack_require__.r(__webpack_exports__); 1792/* harmony import */ var _utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getOppositePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js"); 1793/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 1794/* harmony import */ var _utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getOppositeVariationPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js"); 1795/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 1796/* harmony import */ var _utils_computeAutoPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/computeAutoPlacement.js */ "./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js"); 1797/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1798/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 1799 1800 1801 1802 1803 1804 1805 // eslint-disable-next-line import/no-unused-modules 1806 1807function getExpandedFallbackPlacements(placement) { 1808 if ((0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_1__.auto) { 1809 return []; 1810 } 1811 1812 var oppositePlacement = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(placement); 1813 return [(0,_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(placement), oppositePlacement, (0,_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(oppositePlacement)]; 1814} 1815 1816function flip(_ref) { 1817 var state = _ref.state, 1818 options = _ref.options, 1819 name = _ref.name; 1820 1821 if (state.modifiersData[name]._skip) { 1822 return; 1823 } 1824 1825 var _options$mainAxis = options.mainAxis, 1826 checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, 1827 _options$altAxis = options.altAxis, 1828 checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, 1829 specifiedFallbackPlacements = options.fallbackPlacements, 1830 padding = options.padding, 1831 boundary = options.boundary, 1832 rootBoundary = options.rootBoundary, 1833 altBoundary = options.altBoundary, 1834 _options$flipVariatio = options.flipVariations, 1835 flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, 1836 allowedAutoPlacements = options.allowedAutoPlacements; 1837 var preferredPlacement = state.options.placement; 1838 var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(preferredPlacement); 1839 var isBasePlacement = basePlacement === preferredPlacement; 1840 var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [(0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); 1841 var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { 1842 return acc.concat((0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_1__.auto ? (0,_utils_computeAutoPlacement_js__WEBPACK_IMPORTED_MODULE_4__["default"])(state, { 1843 placement: placement, 1844 boundary: boundary, 1845 rootBoundary: rootBoundary, 1846 padding: padding, 1847 flipVariations: flipVariations, 1848 allowedAutoPlacements: allowedAutoPlacements 1849 }) : placement); 1850 }, []); 1851 var referenceRect = state.rects.reference; 1852 var popperRect = state.rects.popper; 1853 var checksMap = new Map(); 1854 var makeFallbackChecks = true; 1855 var firstFittingPlacement = placements[0]; 1856 1857 for (var i = 0; i < placements.length; i++) { 1858 var placement = placements[i]; 1859 1860 var _basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement); 1861 1862 var isStartVariation = (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_5__["default"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_1__.start; 1863 var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_1__.top, _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom].indexOf(_basePlacement) >= 0; 1864 var len = isVertical ? 'width' : 'height'; 1865 var overflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state, { 1866 placement: placement, 1867 boundary: boundary, 1868 rootBoundary: rootBoundary, 1869 altBoundary: altBoundary, 1870 padding: padding 1871 }); 1872 var mainVariationSide = isVertical ? isStartVariation ? _enums_js__WEBPACK_IMPORTED_MODULE_1__.right : _enums_js__WEBPACK_IMPORTED_MODULE_1__.left : isStartVariation ? _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_1__.top; 1873 1874 if (referenceRect[len] > popperRect[len]) { 1875 mainVariationSide = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(mainVariationSide); 1876 } 1877 1878 var altVariationSide = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(mainVariationSide); 1879 var checks = []; 1880 1881 if (checkMainAxis) { 1882 checks.push(overflow[_basePlacement] <= 0); 1883 } 1884 1885 if (checkAltAxis) { 1886 checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); 1887 } 1888 1889 if (checks.every(function (check) { 1890 return check; 1891 })) { 1892 firstFittingPlacement = placement; 1893 makeFallbackChecks = false; 1894 break; 1895 } 1896 1897 checksMap.set(placement, checks); 1898 } 1899 1900 if (makeFallbackChecks) { 1901 // `2` may be desired in some cases â research later 1902 var numberOfChecks = flipVariations ? 3 : 1; 1903 1904 var _loop = function _loop(_i) { 1905 var fittingPlacement = placements.find(function (placement) { 1906 var checks = checksMap.get(placement); 1907 1908 if (checks) { 1909 return checks.slice(0, _i).every(function (check) { 1910 return check; 1911 }); 1912 } 1913 }); 1914 1915 if (fittingPlacement) { 1916 firstFittingPlacement = fittingPlacement; 1917 return "break"; 1918 } 1919 }; 1920 1921 for (var _i = numberOfChecks; _i > 0; _i--) { 1922 var _ret = _loop(_i); 1923 1924 if (_ret === "break") break; 1925 } 1926 } 1927 1928 if (state.placement !== firstFittingPlacement) { 1929 state.modifiersData[name]._skip = true; 1930 state.placement = firstFittingPlacement; 1931 state.reset = true; 1932 } 1933} // eslint-disable-next-line import/no-unused-modules 1934 1935 1936/* harmony default export */ __webpack_exports__["default"] = ({ 1937 name: 'flip', 1938 enabled: true, 1939 phase: 'main', 1940 fn: flip, 1941 requiresIfExists: ['offset'], 1942 data: { 1943 _skip: false 1944 } 1945}); 1946 1947/***/ }), 1948
vendor: 2,903 bytes, lines 1949-2021
1949/***/ "./node_modules/@popperjs/core/lib/modifiers/hide.js": 1950/*!***********************************************************!*\ 1951 !*** ./node_modules/@popperjs/core/lib/modifiers/hide.js ***! 1952 \***********************************************************/ 1953/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1954 1955__webpack_require__.r(__webpack_exports__); 1956/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1957/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 1958 1959 1960 1961function getSideOffsets(overflow, rect, preventedOffsets) { 1962 if (preventedOffsets === void 0) { 1963 preventedOffsets = { 1964 x: 0, 1965 y: 0 1966 }; 1967 } 1968 1969 return { 1970 top: overflow.top - rect.height - preventedOffsets.y, 1971 right: overflow.right - rect.width + preventedOffsets.x, 1972 bottom: overflow.bottom - rect.height + preventedOffsets.y, 1973 left: overflow.left - rect.width - preventedOffsets.x 1974 }; 1975} 1976 1977function isAnySideFullyClipped(overflow) { 1978 return [_enums_js__WEBPACK_IMPORTED_MODULE_0__.top, _enums_js__WEBPACK_IMPORTED_MODULE_0__.right, _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom, _enums_js__WEBPACK_IMPORTED_MODULE_0__.left].some(function (side) { 1979 return overflow[side] >= 0; 1980 }); 1981} 1982 1983function hide(_ref) { 1984 var state = _ref.state, 1985 name = _ref.name; 1986 var referenceRect = state.rects.reference; 1987 var popperRect = state.rects.popper; 1988 var preventedOffsets = state.modifiersData.preventOverflow; 1989 var referenceOverflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state, { 1990 elementContext: 'reference' 1991 }); 1992 var popperAltOverflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state, { 1993 altBoundary: true 1994 }); 1995 var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); 1996 var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); 1997 var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); 1998 var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); 1999 state.modifiersData[name] = { 2000 referenceClippingOffsets: referenceClippingOffsets, 2001 popperEscapeOffsets: popperEscapeOffsets, 2002 isReferenceHidden: isReferenceHidden, 2003 hasPopperEscaped: hasPopperEscaped 2004 }; 2005 state.attributes.popper = Object.assign({}, state.attributes.popper, { 2006 'data-popper-reference-hidden': isReferenceHidden, 2007 'data-popper-escaped': hasPopperEscaped 2008 }); 2009} // eslint-disable-next-line import/no-unused-modules 2010 2011 2012/* harmony default export */ __webpack_exports__["default"] = ({ 2013 name: 'hide', 2014 enabled: true, 2015 phase: 'main', 2016 requiresIfExists: ['preventOverflow'], 2017 fn: hide 2018}); 2019 2020/***/ }), 2021
vendor: 3,283 bytes, lines 2022-2060
2022/***/ "./node_modules/@popperjs/core/lib/modifiers/index.js": 2023/*!************************************************************!*\ 2024 !*** ./node_modules/@popperjs/core/lib/modifiers/index.js ***! 2025 \************************************************************/ 2026/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2027 2028__webpack_require__.r(__webpack_exports__); 2029/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2030/* harmony export */ "applyStyles": function() { return /* reexport safe */ _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__["default"]; }, 2031/* harmony export */ "arrow": function() { return /* reexport safe */ _arrow_js__WEBPACK_IMPORTED_MODULE_1__["default"]; }, 2032/* harmony export */ "computeStyles": function() { return /* reexport safe */ _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__["default"]; }, 2033/* harmony export */ "eventListeners": function() { return /* reexport safe */ _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__["default"]; }, 2034/* harmony export */ "flip": function() { return /* reexport safe */ _flip_js__WEBPACK_IMPORTED_MODULE_4__["default"]; }, 2035/* harmony export */ "hide": function() { return /* reexport safe */ _hide_js__WEBPACK_IMPORTED_MODULE_5__["default"]; }, 2036/* harmony export */ "offset": function() { return /* reexport safe */ _offset_js__WEBPACK_IMPORTED_MODULE_6__["default"]; }, 2037/* harmony export */ "popperOffsets": function() { return /* reexport safe */ _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__["default"]; }, 2038/* harmony export */ "preventOverflow": function() { return /* reexport safe */ _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__["default"]; } 2039/* harmony export */ }); 2040/* harmony import */ var _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js"); 2041/* harmony import */ var _arrow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arrow.js */ "./node_modules/@popperjs/core/lib/modifiers/arrow.js"); 2042/* harmony import */ var _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js"); 2043/* harmony import */ var _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js"); 2044/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./flip.js */ "./node_modules/@popperjs/core/lib/modifiers/flip.js"); 2045/* harmony import */ var _hide_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hide.js */ "./node_modules/@popperjs/core/lib/modifiers/hide.js"); 2046/* harmony import */ var _offset_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./offset.js */ "./node_modules/@popperjs/core/lib/modifiers/offset.js"); 2047/* harmony import */ var _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js"); 2048/* harmony import */ var _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./preventOverflow.js */ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js"); 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059/***/ }), 2060
vendor: 2,748 bytes, lines 2061-2129
2061/***/ "./node_modules/@popperjs/core/lib/modifiers/offset.js": 2062/*!*************************************************************!*\ 2063 !*** ./node_modules/@popperjs/core/lib/modifiers/offset.js ***! 2064 \*************************************************************/ 2065/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2066 2067__webpack_require__.r(__webpack_exports__); 2068/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2069/* harmony export */ "distanceAndSkiddingToXY": function() { return /* binding */ distanceAndSkiddingToXY; } 2070/* harmony export */ }); 2071/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 2072/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2073 2074 // eslint-disable-next-line import/no-unused-modules 2075 2076function distanceAndSkiddingToXY(placement, rects, offset) { 2077 var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement); 2078 var invertDistance = [_enums_js__WEBPACK_IMPORTED_MODULE_1__.left, _enums_js__WEBPACK_IMPORTED_MODULE_1__.top].indexOf(basePlacement) >= 0 ? -1 : 1; 2079 2080 var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { 2081 placement: placement 2082 })) : offset, 2083 skidding = _ref[0], 2084 distance = _ref[1]; 2085 2086 skidding = skidding || 0; 2087 distance = (distance || 0) * invertDistance; 2088 return [_enums_js__WEBPACK_IMPORTED_MODULE_1__.left, _enums_js__WEBPACK_IMPORTED_MODULE_1__.right].indexOf(basePlacement) >= 0 ? { 2089 x: distance, 2090 y: skidding 2091 } : { 2092 x: skidding, 2093 y: distance 2094 }; 2095} 2096 2097function offset(_ref2) { 2098 var state = _ref2.state, 2099 options = _ref2.options, 2100 name = _ref2.name; 2101 var _options$offset = options.offset, 2102 offset = _options$offset === void 0 ? [0, 0] : _options$offset; 2103 var data = _enums_js__WEBPACK_IMPORTED_MODULE_1__.placements.reduce(function (acc, placement) { 2104 acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); 2105 return acc; 2106 }, {}); 2107 var _data$state$placement = data[state.placement], 2108 x = _data$state$placement.x, 2109 y = _data$state$placement.y; 2110 2111 if (state.modifiersData.popperOffsets != null) { 2112 state.modifiersData.popperOffsets.x += x; 2113 state.modifiersData.popperOffsets.y += y; 2114 } 2115 2116 state.modifiersData[name] = data; 2117} // eslint-disable-next-line import/no-unused-modules 2118 2119 2120/* harmony default export */ __webpack_exports__["default"] = ({ 2121 name: 'offset', 2122 enabled: true, 2123 phase: 'main', 2124 requires: ['popperOffsets'], 2125 fn: offset 2126}); 2127 2128/***/ }), 2129
vendor: 1,384 bytes, lines 2130-2165
2130/***/ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js": 2131/*!********************************************************************!*\ 2132 !*** ./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js ***! 2133 \********************************************************************/ 2134/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2135 2136__webpack_require__.r(__webpack_exports__); 2137/* harmony import */ var _utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/computeOffsets.js */ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js"); 2138 2139 2140function popperOffsets(_ref) { 2141 var state = _ref.state, 2142 name = _ref.name; 2143 // Offsets are the actual position the popper needs to have to be 2144 // properly positioned near its reference element 2145 // This is the most basic placement, and will be adjusted by 2146 // the modifiers in the next step 2147 state.modifiersData[name] = (0,_utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__["default"])({ 2148 reference: state.rects.reference, 2149 element: state.rects.popper, 2150 strategy: 'absolute', 2151 placement: state.placement 2152 }); 2153} // eslint-disable-next-line import/no-unused-modules 2154 2155 2156/* harmony default export */ __webpack_exports__["default"] = ({ 2157 name: 'popperOffsets', 2158 enabled: true, 2159 phase: 'read', 2160 fn: popperOffsets, 2161 data: {} 2162}); 2163 2164/***/ }), 2165
vendor: 9,733 bytes, lines 2166-2328
2166/***/ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js": 2167/*!**********************************************************************!*\ 2168 !*** ./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js ***! 2169 \**********************************************************************/ 2170/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2171 2172__webpack_require__.r(__webpack_exports__); 2173/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2174/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 2175/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js"); 2176/* harmony import */ var _utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/getAltAxis.js */ "./node_modules/@popperjs/core/lib/utils/getAltAxis.js"); 2177/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/within.js */ "./node_modules/@popperjs/core/lib/utils/within.js"); 2178/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dom-utils/getLayoutRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js"); 2179/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js"); 2180/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 2181/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 2182/* harmony import */ var _utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/getFreshSideObject.js */ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js"); 2183/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196function preventOverflow(_ref) { 2197 var state = _ref.state, 2198 options = _ref.options, 2199 name = _ref.name; 2200 var _options$mainAxis = options.mainAxis, 2201 checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, 2202 _options$altAxis = options.altAxis, 2203 checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, 2204 boundary = options.boundary, 2205 rootBoundary = options.rootBoundary, 2206 altBoundary = options.altBoundary, 2207 padding = options.padding, 2208 _options$tether = options.tether, 2209 tether = _options$tether === void 0 ? true : _options$tether, 2210 _options$tetherOffset = options.tetherOffset, 2211 tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; 2212 var overflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(state, { 2213 boundary: boundary, 2214 rootBoundary: rootBoundary, 2215 padding: padding, 2216 altBoundary: altBoundary 2217 }); 2218 var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state.placement); 2219 var variation = (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_2__["default"])(state.placement); 2220 var isBasePlacement = !variation; 2221 var mainAxis = (0,_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(basePlacement); 2222 var altAxis = (0,_utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_4__["default"])(mainAxis); 2223 var popperOffsets = state.modifiersData.popperOffsets; 2224 var referenceRect = state.rects.reference; 2225 var popperRect = state.rects.popper; 2226 var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { 2227 placement: state.placement 2228 })) : tetherOffset; 2229 var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? { 2230 mainAxis: tetherOffsetValue, 2231 altAxis: tetherOffsetValue 2232 } : Object.assign({ 2233 mainAxis: 0, 2234 altAxis: 0 2235 }, tetherOffsetValue); 2236 var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; 2237 var data = { 2238 x: 0, 2239 y: 0 2240 }; 2241 2242 if (!popperOffsets) { 2243 return; 2244 } 2245 2246 if (checkMainAxis) { 2247 var _offsetModifierState$; 2248 2249 var mainSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.top : _enums_js__WEBPACK_IMPORTED_MODULE_5__.left; 2250 var altSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_5__.right; 2251 var len = mainAxis === 'y' ? 'height' : 'width'; 2252 var offset = popperOffsets[mainAxis]; 2253 var min = offset + overflow[mainSide]; 2254 var max = offset - overflow[altSide]; 2255 var additive = tether ? -popperRect[len] / 2 : 0; 2256 var minLen = variation === _enums_js__WEBPACK_IMPORTED_MODULE_5__.start ? referenceRect[len] : popperRect[len]; 2257 var maxLen = variation === _enums_js__WEBPACK_IMPORTED_MODULE_5__.start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go 2258 // outside the reference bounds 2259 2260 var arrowElement = state.elements.arrow; 2261 var arrowRect = tether && arrowElement ? (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_6__["default"])(arrowElement) : { 2262 width: 0, 2263 height: 0 2264 }; 2265 var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : (0,_utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_7__["default"])(); 2266 var arrowPaddingMin = arrowPaddingObject[mainSide]; 2267 var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want 2268 // to include its full size in the calculation. If the reference is small 2269 // and near the edge of a boundary, the popper can overflow even if the 2270 // reference is not overflowing as well (e.g. virtual elements with no 2271 // width or height) 2272 2273 var arrowLen = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.within)(0, referenceRect[len], arrowRect[len]); 2274 var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; 2275 var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; 2276 var arrowOffsetParent = state.elements.arrow && (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_9__["default"])(state.elements.arrow); 2277 var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; 2278 var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; 2279 var tetherMin = offset + minOffset - offsetModifierValue - clientOffset; 2280 var tetherMax = offset + maxOffset - offsetModifierValue; 2281 var preventedOffset = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.within)(tether ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_10__.min)(min, tetherMin) : min, offset, tether ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_10__.max)(max, tetherMax) : max); 2282 popperOffsets[mainAxis] = preventedOffset; 2283 data[mainAxis] = preventedOffset - offset; 2284 } 2285 2286 if (checkAltAxis) { 2287 var _offsetModifierState$2; 2288 2289 var _mainSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.top : _enums_js__WEBPACK_IMPORTED_MODULE_5__.left; 2290 2291 var _altSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_5__.right; 2292 2293 var _offset = popperOffsets[altAxis]; 2294 2295 var _len = altAxis === 'y' ? 'height' : 'width'; 2296 2297 var _min = _offset + overflow[_mainSide]; 2298 2299 var _max = _offset - overflow[_altSide]; 2300 2301 var isOriginSide = [_enums_js__WEBPACK_IMPORTED_MODULE_5__.top, _enums_js__WEBPACK_IMPORTED_MODULE_5__.left].indexOf(basePlacement) !== -1; 2302 2303 var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; 2304 2305 var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; 2306 2307 var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; 2308 2309 var _preventedOffset = tether && isOriginSide ? (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.withinMaxClamp)(_tetherMin, _offset, _tetherMax) : (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.within)(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); 2310 2311 popperOffsets[altAxis] = _preventedOffset; 2312 data[altAxis] = _preventedOffset - _offset; 2313 } 2314 2315 state.modifiersData[name] = data; 2316} // eslint-disable-next-line import/no-unused-modules 2317 2318 2319/* harmony default export */ __webpack_exports__["default"] = ({ 2320 name: 'preventOverflow', 2321 enabled: true, 2322 phase: 'main', 2323 fn: preventOverflow, 2324 requiresIfExists: ['offset'] 2325}); 2326 2327/***/ }), 2328
vendor: 2,623 bytes, lines 2329-2361
2329/***/ "./node_modules/@popperjs/core/lib/popper-lite.js": 2330/*!********************************************************!*\ 2331 !*** ./node_modules/@popperjs/core/lib/popper-lite.js ***! 2332 \********************************************************/ 2333/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2334 2335__webpack_require__.r(__webpack_exports__); 2336/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2337/* harmony export */ "createPopper": function() { return /* binding */ createPopper; }, 2338/* harmony export */ "defaultModifiers": function() { return /* binding */ defaultModifiers; }, 2339/* harmony export */ "detectOverflow": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_5__["default"]; }, 2340/* harmony export */ "popperGenerator": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_4__.popperGenerator; } 2341/* harmony export */ }); 2342/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js"); 2343/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 2344/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js"); 2345/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js"); 2346/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js"); 2347/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js"); 2348 2349 2350 2351 2352 2353var defaultModifiers = [_modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__["default"], _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__["default"], _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__["default"], _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__["default"]]; 2354var createPopper = /*#__PURE__*/(0,_createPopper_js__WEBPACK_IMPORTED_MODULE_4__.popperGenerator)({ 2355 defaultModifiers: defaultModifiers 2356}); // eslint-disable-next-line import/no-unused-modules 2357 2358 2359 2360/***/ }), 2361
vendor: 5,732 bytes, lines 2362-2420
2362/***/ "./node_modules/@popperjs/core/lib/popper.js": 2363/*!***************************************************!*\ 2364 !*** ./node_modules/@popperjs/core/lib/popper.js ***! 2365 \***************************************************/ 2366/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2367 2368__webpack_require__.r(__webpack_exports__); 2369/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2370/* harmony export */ "applyStyles": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.applyStyles; }, 2371/* harmony export */ "arrow": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.arrow; }, 2372/* harmony export */ "computeStyles": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.computeStyles; }, 2373/* harmony export */ "createPopper": function() { return /* binding */ createPopper; }, 2374/* harmony export */ "createPopperLite": function() { return /* reexport safe */ _popper_lite_js__WEBPACK_IMPORTED_MODULE_11__.createPopper; }, 2375/* harmony export */ "defaultModifiers": function() { return /* binding */ defaultModifiers; }, 2376/* harmony export */ "detectOverflow": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_10__["default"]; }, 2377/* harmony export */ "eventListeners": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.eventListeners; }, 2378/* harmony export */ "flip": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.flip; }, 2379/* harmony export */ "hide": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.hide; }, 2380/* harmony export */ "offset": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.offset; }, 2381/* harmony export */ "popperGenerator": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_9__.popperGenerator; }, 2382/* harmony export */ "popperOffsets": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.popperOffsets; }, 2383/* harmony export */ "preventOverflow": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.preventOverflow; } 2384/* harmony export */ }); 2385/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js"); 2386/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 2387/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js"); 2388/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js"); 2389/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js"); 2390/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js"); 2391/* harmony import */ var _modifiers_offset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modifiers/offset.js */ "./node_modules/@popperjs/core/lib/modifiers/offset.js"); 2392/* harmony import */ var _modifiers_flip_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modifiers/flip.js */ "./node_modules/@popperjs/core/lib/modifiers/flip.js"); 2393/* harmony import */ var _modifiers_preventOverflow_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modifiers/preventOverflow.js */ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js"); 2394/* harmony import */ var _modifiers_arrow_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modifiers/arrow.js */ "./node_modules/@popperjs/core/lib/modifiers/arrow.js"); 2395/* harmony import */ var _modifiers_hide_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modifiers/hide.js */ "./node_modules/@popperjs/core/lib/modifiers/hide.js"); 2396/* harmony import */ var _popper_lite_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./popper-lite.js */ "./node_modules/@popperjs/core/lib/popper-lite.js"); 2397/* harmony import */ var _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modifiers/index.js */ "./node_modules/@popperjs/core/lib/modifiers/index.js"); 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408var defaultModifiers = [_modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__["default"], _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__["default"], _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__["default"], _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__["default"], _modifiers_offset_js__WEBPACK_IMPORTED_MODULE_4__["default"], _modifiers_flip_js__WEBPACK_IMPORTED_MODULE_5__["default"], _modifiers_preventOverflow_js__WEBPACK_IMPORTED_MODULE_6__["default"], _modifiers_arrow_js__WEBPACK_IMPORTED_MODULE_7__["default"], _modifiers_hide_js__WEBPACK_IMPORTED_MODULE_8__["default"]]; 2409var createPopper = /*#__PURE__*/(0,_createPopper_js__WEBPACK_IMPORTED_MODULE_9__.popperGenerator)({ 2410 defaultModifiers: defaultModifiers 2411}); // eslint-disable-next-line import/no-unused-modules 2412 2413 // eslint-disable-next-line import/no-unused-modules 2414 2415 // eslint-disable-next-line import/no-unused-modules 2416 2417 2418 2419/***/ }), 2420
vendor: 3,411 bytes, lines 2421-2484
2421/***/ "./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js": 2422/*!***********************************************************************!*\ 2423 !*** ./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js ***! 2424 \***********************************************************************/ 2425/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2426 2427__webpack_require__.r(__webpack_exports__); 2428/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2429/* harmony export */ "default": function() { return /* binding */ computeAutoPlacement; } 2430/* harmony export */ }); 2431/* harmony import */ var _getVariation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 2432/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2433/* harmony import */ var _detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 2434/* harmony import */ var _getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 2435 2436 2437 2438 2439function computeAutoPlacement(state, options) { 2440 if (options === void 0) { 2441 options = {}; 2442 } 2443 2444 var _options = options, 2445 placement = _options.placement, 2446 boundary = _options.boundary, 2447 rootBoundary = _options.rootBoundary, 2448 padding = _options.padding, 2449 flipVariations = _options.flipVariations, 2450 _options$allowedAutoP = _options.allowedAutoPlacements, 2451 allowedAutoPlacements = _options$allowedAutoP === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.placements : _options$allowedAutoP; 2452 var variation = (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement); 2453 var placements = variation ? flipVariations ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements : _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements.filter(function (placement) { 2454 return (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement) === variation; 2455 }) : _enums_js__WEBPACK_IMPORTED_MODULE_0__.basePlacements; 2456 var allowedPlacements = placements.filter(function (placement) { 2457 return allowedAutoPlacements.indexOf(placement) >= 0; 2458 }); 2459 2460 if (allowedPlacements.length === 0) { 2461 allowedPlacements = placements; 2462 2463 if (true) { 2464 console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, "auto" cannot be used to allow "bottom-start".', 'Use "auto-start" instead.'].join(' ')); 2465 } 2466 } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions... 2467 2468 2469 var overflows = allowedPlacements.reduce(function (acc, placement) { 2470 acc[placement] = (0,_detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__["default"])(state, { 2471 placement: placement, 2472 boundary: boundary, 2473 rootBoundary: rootBoundary, 2474 padding: padding 2475 })[(0,_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(placement)]; 2476 return acc; 2477 }, {}); 2478 return Object.keys(overflows).sort(function (a, b) { 2479 return overflows[a] - overflows[b]; 2480 }); 2481} 2482 2483/***/ }), 2484
vendor: 3,200 bytes, lines 2485-2571
2485/***/ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js": 2486/*!*****************************************************************!*\ 2487 !*** ./node_modules/@popperjs/core/lib/utils/computeOffsets.js ***! 2488 \*****************************************************************/ 2489/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2490 2491__webpack_require__.r(__webpack_exports__); 2492/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2493/* harmony export */ "default": function() { return /* binding */ computeOffsets; } 2494/* harmony export */ }); 2495/* harmony import */ var _getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 2496/* harmony import */ var _getVariation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 2497/* harmony import */ var _getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js"); 2498/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2499 2500 2501 2502 2503function computeOffsets(_ref) { 2504 var reference = _ref.reference, 2505 element = _ref.element, 2506 placement = _ref.placement; 2507 var basePlacement = placement ? (0,_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement) : null; 2508 var variation = placement ? (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement) : null; 2509 var commonX = reference.x + reference.width / 2 - element.width / 2; 2510 var commonY = reference.y + reference.height / 2 - element.height / 2; 2511 var offsets; 2512 2513 switch (basePlacement) { 2514 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.top: 2515 offsets = { 2516 x: commonX, 2517 y: reference.y - element.height 2518 }; 2519 break; 2520 2521 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.bottom: 2522 offsets = { 2523 x: commonX, 2524 y: reference.y + reference.height 2525 }; 2526 break; 2527 2528 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.right: 2529 offsets = { 2530 x: reference.x + reference.width, 2531 y: commonY 2532 }; 2533 break; 2534 2535 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.left: 2536 offsets = { 2537 x: reference.x - element.width, 2538 y: commonY 2539 }; 2540 break; 2541 2542 default: 2543 offsets = { 2544 x: reference.x, 2545 y: reference.y 2546 }; 2547 } 2548 2549 var mainAxis = basePlacement ? (0,_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(basePlacement) : null; 2550 2551 if (mainAxis != null) { 2552 var len = mainAxis === 'y' ? 'height' : 'width'; 2553 2554 switch (variation) { 2555 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.start: 2556 offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); 2557 break; 2558 2559 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.end: 2560 offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); 2561 break; 2562 2563 default: 2564 } 2565 } 2566 2567 return offsets; 2568} 2569 2570/***/ }), 2571
vendor: 856 bytes, lines 2572-2599
2572/***/ "./node_modules/@popperjs/core/lib/utils/debounce.js": 2573/*!***********************************************************!*\ 2574 !*** ./node_modules/@popperjs/core/lib/utils/debounce.js ***! 2575 \***********************************************************/ 2576/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2577 2578__webpack_require__.r(__webpack_exports__); 2579/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2580/* harmony export */ "default": function() { return /* binding */ debounce; } 2581/* harmony export */ }); 2582function debounce(fn) { 2583 var pending; 2584 return function () { 2585 if (!pending) { 2586 pending = new Promise(function (resolve) { 2587 Promise.resolve().then(function () { 2588 pending = undefined; 2589 resolve(fn()); 2590 }); 2591 }); 2592 } 2593 2594 return pending; 2595 }; 2596} 2597 2598/***/ }), 2599
vendor: 6,232 bytes, lines 2600-2686
2600/***/ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js": 2601/*!*****************************************************************!*\ 2602 !*** ./node_modules/@popperjs/core/lib/utils/detectOverflow.js ***! 2603 \*****************************************************************/ 2604/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2605 2606__webpack_require__.r(__webpack_exports__); 2607/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2608/* harmony export */ "default": function() { return /* binding */ detectOverflow; } 2609/* harmony export */ }); 2610/* harmony import */ var _dom_utils_getClippingRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dom-utils/getClippingRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js"); 2611/* harmony import */ var _dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dom-utils/getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 2612/* harmony import */ var _dom_utils_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dom-utils/getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); 2613/* harmony import */ var _computeOffsets_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./computeOffsets.js */ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js"); 2614/* harmony import */ var _rectToClientRect_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./rectToClientRect.js */ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js"); 2615/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2616/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../dom-utils/instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 2617/* harmony import */ var _mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergePaddingObject.js */ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js"); 2618/* harmony import */ var _expandToHashMap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./expandToHashMap.js */ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js"); 2619 2620 2621 2622 2623 2624 2625 2626 2627 // eslint-disable-next-line import/no-unused-modules 2628 2629function detectOverflow(state, options) { 2630 if (options === void 0) { 2631 options = {}; 2632 } 2633 2634 var _options = options, 2635 _options$placement = _options.placement, 2636 placement = _options$placement === void 0 ? state.placement : _options$placement, 2637 _options$strategy = _options.strategy, 2638 strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, 2639 _options$boundary = _options.boundary, 2640 boundary = _options$boundary === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.clippingParents : _options$boundary, 2641 _options$rootBoundary = _options.rootBoundary, 2642 rootBoundary = _options$rootBoundary === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.viewport : _options$rootBoundary, 2643 _options$elementConte = _options.elementContext, 2644 elementContext = _options$elementConte === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper : _options$elementConte, 2645 _options$altBoundary = _options.altBoundary, 2646 altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, 2647 _options$padding = _options.padding, 2648 padding = _options$padding === void 0 ? 0 : _options$padding; 2649 var paddingObject = (0,_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_1__["default"])(typeof padding !== 'number' ? padding : (0,_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_2__["default"])(padding, _enums_js__WEBPACK_IMPORTED_MODULE_0__.basePlacements)); 2650 var altContext = elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.reference : _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper; 2651 var popperRect = state.rects.popper; 2652 var element = state.elements[altBoundary ? altContext : elementContext]; 2653 var clippingClientRect = (0,_dom_utils_getClippingRect_js__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(element) ? element : element.contextElement || (0,_dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_5__["default"])(state.elements.popper), boundary, rootBoundary, strategy); 2654 var referenceClientRect = (0,_dom_utils_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state.elements.reference); 2655 var popperOffsets = (0,_computeOffsets_js__WEBPACK_IMPORTED_MODULE_7__["default"])({ 2656 reference: referenceClientRect, 2657 element: popperRect, 2658 strategy: 'absolute', 2659 placement: placement 2660 }); 2661 var popperClientRect = (0,_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_8__["default"])(Object.assign({}, popperRect, popperOffsets)); 2662 var elementClientRect = elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect 2663 // 0 or negative = within the clipping rect 2664 2665 var overflowOffsets = { 2666 top: clippingClientRect.top - elementClientRect.top + paddingObject.top, 2667 bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, 2668 left: clippingClientRect.left - elementClientRect.left + paddingObject.left, 2669 right: elementClientRect.right - clippingClientRect.right + paddingObject.right 2670 }; 2671 var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element 2672 2673 if (elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper && offsetData) { 2674 var offset = offsetData[placement]; 2675 Object.keys(overflowOffsets).forEach(function (key) { 2676 var multiply = [_enums_js__WEBPACK_IMPORTED_MODULE_0__.right, _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom].indexOf(key) >= 0 ? 1 : -1; 2677 var axis = [_enums_js__WEBPACK_IMPORTED_MODULE_0__.top, _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom].indexOf(key) >= 0 ? 'y' : 'x'; 2678 overflowOffsets[key] += offset[axis] * multiply; 2679 }); 2680 } 2681 2682 return overflowOffsets; 2683} 2684 2685/***/ }), 2686
vendor: 748 bytes, lines 2687-2705
2687/***/ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js": 2688/*!******************************************************************!*\ 2689 !*** ./node_modules/@popperjs/core/lib/utils/expandToHashMap.js ***! 2690 \******************************************************************/ 2691/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2692 2693__webpack_require__.r(__webpack_exports__); 2694/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2695/* harmony export */ "default": function() { return /* binding */ expandToHashMap; } 2696/* harmony export */ }); 2697function expandToHashMap(value, keys) { 2698 return keys.reduce(function (hashMap, key) { 2699 hashMap[key] = value; 2700 return hashMap; 2701 }, {}); 2702} 2703 2704/***/ }), 2705
vendor: 830 bytes, lines 2706-2727
2706/***/ "./node_modules/@popperjs/core/lib/utils/format.js": 2707/*!*********************************************************!*\ 2708 !*** ./node_modules/@popperjs/core/lib/utils/format.js ***! 2709 \*********************************************************/ 2710/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2711 2712__webpack_require__.r(__webpack_exports__); 2713/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2714/* harmony export */ "default": function() { return /* binding */ format; } 2715/* harmony export */ }); 2716function format(str) { 2717 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 2718 args[_key - 1] = arguments[_key]; 2719 } 2720 2721 return [].concat(args).reduce(function (p, c) { 2722 return p.replace(/%s/, c); 2723 }, str); 2724} 2725 2726/***/ }), 2727
vendor: 643 bytes, lines 2728-2743
2728/***/ "./node_modules/@popperjs/core/lib/utils/getAltAxis.js": 2729/*!*************************************************************!*\ 2730 !*** ./node_modules/@popperjs/core/lib/utils/getAltAxis.js ***! 2731 \*************************************************************/ 2732/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2733 2734__webpack_require__.r(__webpack_exports__); 2735/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2736/* harmony export */ "default": function() { return /* binding */ getAltAxis; } 2737/* harmony export */ }); 2738function getAltAxis(axis) { 2739 return axis === 'x' ? 'y' : 'x'; 2740} 2741 2742/***/ }), 2743
vendor: 684 bytes, lines 2744-2760
2744/***/ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js": 2745/*!*******************************************************************!*\ 2746 !*** ./node_modules/@popperjs/core/lib/utils/getBasePlacement.js ***! 2747 \*******************************************************************/ 2748/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2749 2750__webpack_require__.r(__webpack_exports__); 2751/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2752/* harmony export */ "default": function() { return /* binding */ getBasePlacement; } 2753/* harmony export */ }); 2754 2755function getBasePlacement(placement) { 2756 return placement.split('-')[0]; 2757} 2758 2759/***/ }), 2760
vendor: 721 bytes, lines 2761-2781
2761/***/ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js": 2762/*!*********************************************************************!*\ 2763 !*** ./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js ***! 2764 \*********************************************************************/ 2765/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2766 2767__webpack_require__.r(__webpack_exports__); 2768/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2769/* harmony export */ "default": function() { return /* binding */ getFreshSideObject; } 2770/* harmony export */ }); 2771function getFreshSideObject() { 2772 return { 2773 top: 0, 2774 right: 0, 2775 bottom: 0, 2776 left: 0 2777 }; 2778} 2779 2780/***/ }), 2781
vendor: 761 bytes, lines 2782-2797
2782/***/ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js": 2783/*!***************************************************************************!*\ 2784 !*** ./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js ***! 2785 \***************************************************************************/ 2786/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2787 2788__webpack_require__.r(__webpack_exports__); 2789/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2790/* harmony export */ "default": function() { return /* binding */ getMainAxisFromPlacement; } 2791/* harmony export */ }); 2792function getMainAxisFromPlacement(placement) { 2793 return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; 2794} 2795 2796/***/ }), 2797
vendor: 862 bytes, lines 2798-2821
2798/***/ "./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js": 2799/*!***********************************************************************!*\ 2800 !*** ./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js ***! 2801 \***********************************************************************/ 2802/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2803 2804__webpack_require__.r(__webpack_exports__); 2805/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2806/* harmony export */ "default": function() { return /* binding */ getOppositePlacement; } 2807/* harmony export */ }); 2808var hash = { 2809 left: 'right', 2810 right: 'left', 2811 bottom: 'top', 2812 top: 'bottom' 2813}; 2814function getOppositePlacement(placement) { 2815 return placement.replace(/left|right|bottom|top/g, function (matched) { 2816 return hash[matched]; 2817 }); 2818} 2819 2820/***/ }), 2821
vendor: 868 bytes, lines 2822-2843
2822/***/ "./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js": 2823/*!********************************************************************************!*\ 2824 !*** ./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js ***! 2825 \********************************************************************************/ 2826/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2827 2828__webpack_require__.r(__webpack_exports__); 2829/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2830/* harmony export */ "default": function() { return /* binding */ getOppositeVariationPlacement; } 2831/* harmony export */ }); 2832var hash = { 2833 start: 'end', 2834 end: 'start' 2835}; 2836function getOppositeVariationPlacement(placement) { 2837 return placement.replace(/start|end/g, function (matched) { 2838 return hash[matched]; 2839 }); 2840} 2841 2842/***/ }), 2843
vendor: 659 bytes, lines 2844-2859
2844/***/ "./node_modules/@popperjs/core/lib/utils/getVariation.js": 2845/*!***************************************************************!*\ 2846 !*** ./node_modules/@popperjs/core/lib/utils/getVariation.js ***! 2847 \***************************************************************/ 2848/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2849 2850__webpack_require__.r(__webpack_exports__); 2851/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2852/* harmony export */ "default": function() { return /* binding */ getVariation; } 2853/* harmony export */ }); 2854function getVariation(placement) { 2855 return placement.split('-')[1]; 2856} 2857 2858/***/ }), 2859
vendor: 755 bytes, lines 2860-2877
2860/***/ "./node_modules/@popperjs/core/lib/utils/math.js": 2861/*!*******************************************************!*\ 2862 !*** ./node_modules/@popperjs/core/lib/utils/math.js ***! 2863 \*******************************************************/ 2864/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2865 2866__webpack_require__.r(__webpack_exports__); 2867/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2868/* harmony export */ "max": function() { return /* binding */ max; }, 2869/* harmony export */ "min": function() { return /* binding */ min; }, 2870/* harmony export */ "round": function() { return /* binding */ round; } 2871/* harmony export */ }); 2872var max = Math.max; 2873var min = Math.min; 2874var round = Math.round; 2875 2876/***/ }), 2877
vendor: 1,093 bytes, lines 2878-2904
2878/***/ "./node_modules/@popperjs/core/lib/utils/mergeByName.js": 2879/*!**************************************************************!*\ 2880 !*** ./node_modules/@popperjs/core/lib/utils/mergeByName.js ***! 2881 \**************************************************************/ 2882/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2883 2884__webpack_require__.r(__webpack_exports__); 2885/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2886/* harmony export */ "default": function() { return /* binding */ mergeByName; } 2887/* harmony export */ }); 2888function mergeByName(modifiers) { 2889 var merged = modifiers.reduce(function (merged, current) { 2890 var existing = merged[current.name]; 2891 merged[current.name] = existing ? Object.assign({}, existing, current, { 2892 options: Object.assign({}, existing.options, current.options), 2893 data: Object.assign({}, existing.data, current.data) 2894 }) : current; 2895 return merged; 2896 }, {}); // IE11 does not support Object.values 2897 2898 return Object.keys(merged).map(function (key) { 2899 return merged[key]; 2900 }); 2901} 2902 2903/***/ }), 2904
vendor: 975 bytes, lines 2905-2922
2905/***/ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js": 2906/*!*********************************************************************!*\ 2907 !*** ./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js ***! 2908 \*********************************************************************/ 2909/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2910 2911__webpack_require__.r(__webpack_exports__); 2912/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2913/* harmony export */ "default": function() { return /* binding */ mergePaddingObject; } 2914/* harmony export */ }); 2915/* harmony import */ var _getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getFreshSideObject.js */ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js"); 2916 2917function mergePaddingObject(paddingObject) { 2918 return Object.assign({}, (0,_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(), paddingObject); 2919} 2920 2921/***/ }), 2922
vendor: 1,970 bytes, lines 2923-2980
2923/***/ "./node_modules/@popperjs/core/lib/utils/orderModifiers.js": 2924/*!*****************************************************************!*\ 2925 !*** ./node_modules/@popperjs/core/lib/utils/orderModifiers.js ***! 2926 \*****************************************************************/ 2927/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2928 2929__webpack_require__.r(__webpack_exports__); 2930/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2931/* harmony export */ "default": function() { return /* binding */ orderModifiers; } 2932/* harmony export */ }); 2933/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2934 // source: https://stackoverflow.com/questions/49875255 2935 2936function order(modifiers) { 2937 var map = new Map(); 2938 var visited = new Set(); 2939 var result = []; 2940 modifiers.forEach(function (modifier) { 2941 map.set(modifier.name, modifier); 2942 }); // On visiting object, check for its dependencies and visit them recursively 2943 2944 function sort(modifier) { 2945 visited.add(modifier.name); 2946 var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); 2947 requires.forEach(function (dep) { 2948 if (!visited.has(dep)) { 2949 var depModifier = map.get(dep); 2950 2951 if (depModifier) { 2952 sort(depModifier); 2953 } 2954 } 2955 }); 2956 result.push(modifier); 2957 } 2958 2959 modifiers.forEach(function (modifier) { 2960 if (!visited.has(modifier.name)) { 2961 // check for visited object 2962 sort(modifier); 2963 } 2964 }); 2965 return result; 2966} 2967 2968function orderModifiers(modifiers) { 2969 // order based on dependencies 2970 var orderedModifiers = order(modifiers); // order based on phase 2971 2972 return _enums_js__WEBPACK_IMPORTED_MODULE_0__.modifierPhases.reduce(function (acc, phase) { 2973 return acc.concat(orderedModifiers.filter(function (modifier) { 2974 return modifier.phase === phase; 2975 })); 2976 }, []); 2977} 2978 2979/***/ }), 2980
vendor: 785 bytes, lines 2981-3001
2981/***/ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js": 2982/*!*******************************************************************!*\ 2983 !*** ./node_modules/@popperjs/core/lib/utils/rectToClientRect.js ***! 2984 \*******************************************************************/ 2985/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2986 2987__webpack_require__.r(__webpack_exports__); 2988/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2989/* harmony export */ "default": function() { return /* binding */ rectToClientRect; } 2990/* harmony export */ }); 2991function rectToClientRect(rect) { 2992 return Object.assign({}, rect, { 2993 left: rect.x, 2994 top: rect.y, 2995 right: rect.x + rect.width, 2996 bottom: rect.y + rect.height 2997 }); 2998} 2999 3000/***/ }), 3001
vendor: 806 bytes, lines 3002-3025
3002/***/ "./node_modules/@popperjs/core/lib/utils/uniqueBy.js": 3003/*!***********************************************************!*\ 3004 !*** ./node_modules/@popperjs/core/lib/utils/uniqueBy.js ***! 3005 \***********************************************************/ 3006/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3007 3008__webpack_require__.r(__webpack_exports__); 3009/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3010/* harmony export */ "default": function() { return /* binding */ uniqueBy; } 3011/* harmony export */ }); 3012function uniqueBy(arr, fn) { 3013 var identifiers = new Set(); 3014 return arr.filter(function (item) { 3015 var identifier = fn(item); 3016 3017 if (!identifiers.has(identifier)) { 3018 identifiers.add(identifier); 3019 return true; 3020 } 3021 }); 3022} 3023 3024/***/ }), 3025
vendor: 830 bytes, lines 3026-3049
3026/***/ "./node_modules/@popperjs/core/lib/utils/userAgent.js": 3027/*!************************************************************!*\ 3028 !*** ./node_modules/@popperjs/core/lib/utils/userAgent.js ***! 3029 \************************************************************/ 3030/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3031 3032__webpack_require__.r(__webpack_exports__); 3033/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3034/* harmony export */ "default": function() { return /* binding */ getUAString; } 3035/* harmony export */ }); 3036function getUAString() { 3037 var uaData = navigator.userAgentData; 3038 3039 if (uaData != null && uaData.brands) { 3040 return uaData.brands.map(function (item) { 3041 return item.brand + "/" + item.version; 3042 }).join(' '); 3043 } 3044 3045 return navigator.userAgent; 3046} 3047 3048/***/ }), 3049
vendor: 4,556 bytes, lines 3050-3145
3050/***/ "./node_modules/@popperjs/core/lib/utils/validateModifiers.js": 3051/*!********************************************************************!*\ 3052 !*** ./node_modules/@popperjs/core/lib/utils/validateModifiers.js ***! 3053 \********************************************************************/ 3054/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3055 3056__webpack_require__.r(__webpack_exports__); 3057/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3058/* harmony export */ "default": function() { return /* binding */ validateModifiers; } 3059/* harmony export */ }); 3060/* harmony import */ var _format_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./format.js */ "./node_modules/@popperjs/core/lib/utils/format.js"); 3061/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 3062 3063 3064var INVALID_MODIFIER_ERROR = 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s'; 3065var MISSING_DEPENDENCY_ERROR = 'Popper: modifier "%s" requires "%s", but "%s" modifier is not available'; 3066var VALID_PROPERTIES = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options']; 3067function validateModifiers(modifiers) { 3068 modifiers.forEach(function (modifier) { 3069 [].concat(Object.keys(modifier), VALID_PROPERTIES) // IE11-compatible replacement for `new Set(iterable)` 3070 .filter(function (value, index, self) { 3071 return self.indexOf(value) === index; 3072 }).forEach(function (key) { 3073 switch (key) { 3074 case 'name': 3075 if (typeof modifier.name !== 'string') { 3076 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, String(modifier.name), '"name"', '"string"', "\"" + String(modifier.name) + "\"")); 3077 } 3078 3079 break; 3080 3081 case 'enabled': 3082 if (typeof modifier.enabled !== 'boolean') { 3083 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"enabled"', '"boolean"', "\"" + String(modifier.enabled) + "\"")); 3084 } 3085 3086 break; 3087 3088 case 'phase': 3089 if (_enums_js__WEBPACK_IMPORTED_MODULE_1__.modifierPhases.indexOf(modifier.phase) < 0) { 3090 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"phase"', "either " + _enums_js__WEBPACK_IMPORTED_MODULE_1__.modifierPhases.join(', '), "\"" + String(modifier.phase) + "\"")); 3091 } 3092 3093 break; 3094 3095 case 'fn': 3096 if (typeof modifier.fn !== 'function') { 3097 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"fn"', '"function"', "\"" + String(modifier.fn) + "\"")); 3098 } 3099 3100 break; 3101 3102 case 'effect': 3103 if (modifier.effect != null && typeof modifier.effect !== 'function') { 3104 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"effect"', '"function"', "\"" + String(modifier.fn) + "\"")); 3105 } 3106 3107 break; 3108 3109 case 'requires': 3110 if (modifier.requires != null && !Array.isArray(modifier.requires)) { 3111 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"requires"', '"array"', "\"" + String(modifier.requires) + "\"")); 3112 } 3113 3114 break; 3115 3116 case 'requiresIfExists': 3117 if (!Array.isArray(modifier.requiresIfExists)) { 3118 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"requiresIfExists"', '"array"', "\"" + String(modifier.requiresIfExists) + "\"")); 3119 } 3120 3121 break; 3122 3123 case 'options': 3124 case 'data': 3125 break; 3126 3127 default: 3128 console.error("PopperJS: an invalid property has been provided to the \"" + modifier.name + "\" modifier, valid properties are " + VALID_PROPERTIES.map(function (s) { 3129 return "\"" + s + "\""; 3130 }).join(', ') + "; but \"" + key + "\" was provided."); 3131 } 3132 3133 modifier.requires && modifier.requires.forEach(function (requirement) { 3134 if (modifiers.find(function (mod) { 3135 return mod.name === requirement; 3136 }) == null) { 3137 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement)); 3138 } 3139 }); 3140 }); 3141 }); 3142} 3143 3144/***/ }), 3145
vendor: 1,071 bytes, lines 3146-3168
3146/***/ "./node_modules/@popperjs/core/lib/utils/within.js": 3147/*!*********************************************************!*\ 3148 !*** ./node_modules/@popperjs/core/lib/utils/within.js ***! 3149 \*********************************************************/ 3150/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3151 3152__webpack_require__.r(__webpack_exports__); 3153/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3154/* harmony export */ "within": function() { return /* binding */ within; }, 3155/* harmony export */ "withinMaxClamp": function() { return /* binding */ withinMaxClamp; } 3156/* harmony export */ }); 3157/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 3158 3159function within(min, value, max) { 3160 return (0,_math_js__WEBPACK_IMPORTED_MODULE_0__.max)(min, (0,_math_js__WEBPACK_IMPORTED_MODULE_0__.min)(value, max)); 3161} 3162function withinMaxClamp(min, value, max) { 3163 var v = within(min, value, max); 3164 return v > max ? max : v; 3165} 3166 3167/***/ }), 3168
3169/***/ "./resources/js/app.js": 3170/*!*****************************!*\ 3171 !*** ./resources/js/app.js ***! 3172 \*****************************/ 3173/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3174 3175__webpack_require__.r(__webpack_exports__); 3176/* harmony import */ var _autoload_bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./autoload/bootstrap */ "./resources/js/autoload/bootstrap.js"); 3177/* harmony import */ var _modules_four_column_content_sliders__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/four-column-content-sliders */ "./resources/js/modules/four-column-content-sliders.js"); 3178/* harmony import */ var _modules_facetwp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/facetwp */ "./resources/js/modules/facetwp.js"); 3179/* harmony import */ var _modules_breadcrumbs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/breadcrumbs */ "./resources/js/modules/breadcrumbs.js"); 3180/* harmony import */ var _modules_disable_scroll__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/disable-scroll */ "./resources/js/modules/disable-scroll.js"); 3181/* harmony import */ var _modules_visible_scroll__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/visible-scroll */ "./resources/js/modules/visible-scroll.js"); 3182/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); 3183/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_6__); 3184 3185 3186 3187 3188 3189 3190 3191window.jQuery = (jquery__WEBPACK_IMPORTED_MODULE_6___default()); 3192window.$ = (jquery__WEBPACK_IMPORTED_MODULE_6___default()); 3193var windowWidth = window.innerWidth; 3194var menuDropdown = $('.dropdown'); 3195var menuCollapsed = $('#navbarMain'); 3196 3197function menuDesktop() { 3198 $(document).mouseup(function (e) { 3199 var container = $('.dropdown-menu'); 3200 3201 if (!container.is(e.target) && container.has(e.target).length === 0) { 3202 $('.overlay').removeClass('show'); 3203 $('.indicator').removeClass('show'); 3204 } 3205 }); 3206 menuDropdown.on('click', function () { 3207 var curr_item; 3208 var indicator = $('.navbar-nav .indicator'); 3209 var curr_item_pos = $(this).position(); 3210 3211 if ($(this).hasClass('navbar-item-search') || $(this).hasClass('wpml-ls-item')) { 3212 indicator.removeClass('show'); 3213 curr_item = indicator.css('left'); 3214 } else { 3215 var curr_item_width = $(this).width() / 2; 3216 curr_item = curr_item_pos.left + curr_item_width; 3217 } 3218 3219 indicator.css('left', curr_item + 'px'); 3220 }); 3221} 3222 3223function menuLarge() { 3224 var overlayWidth = $('.navbar-nav').width() + (windowWidth / 2 - 960) + 62 + 40; 3225 $('.overlay').css('width', overlayWidth + 'px'); 3226} 3227 3228function stickyHeader() { 3229 if ($('body').hasClass('page-template-default')) { 3230 var header = $('#header'); 3231 var scrollIt = header.height(); 3232 $(window).scroll(function () { 3233 var body = $('body'); 3234 3235 if (!body.hasClass(".disable-scroll")) { 3236 var scroll = $(window).scrollTop(); 3237 3238 if (scroll >= 20) { 3239 body.css('padding-top', scrollIt); 3240 header.addClass('fixed-top'); 3241 } else { 3242 body.css('padding-top', 0); 3243 header.removeClass('fixed-top'); 3244 } 3245 } 3246 }); 3247 } 3248} 3249 3250window.addEventListener("load", function () { 3251 (0,_modules_breadcrumbs__WEBPACK_IMPORTED_MODULE_3__["default"])(); 3252 3253 if (window.innerWidth <= 991) { 3254 stickyHeader(); 3255 } else { 3256 stickyHeader(); 3257 menuDesktop(); 3258 } 3259 3260 if (window.innerWidth > 1980) { 3261 menuLarge(); 3262 } 3263}); 3264window.addEventListener("resize", function () { 3265 if (window.innerWidth <= 991) { 3266 stickyHeader(); 3267 } else if (window.innerWidth != windowWidth && window.innerWidth >= 992) { 3268 stickyHeader(); 3269 menuDesktop(); 3270 } 3271 3272 if (window.innerWidth != windowWidth && window.innerWidth >= 1981) { 3273 menuLarge(); 3274 } 3275}); 3276menuDropdown.on('show.bs.dropdown', function () { 3277 if (window.innerWidth <= 991) { 3278 $(this).siblings('li.menu-item').addClass('hidden'); 3279 $('.navbar-buy_wrap').addClass('hidden'); 3280 $('.navbar-collapse').addClass('expand'); 3281 } else { 3282 $('.overlay').addClass('show'); 3283 $('.indicator').addClass('show'); 3284 } 3285}); 3286menuDropdown.on('hide.bs.dropdown', function () { 3287 if (window.innerWidth <= 991) { 3288 $(this).siblings('li.menu-item').removeClass('hidden'); 3289 $('.navbar-buy_wrap').removeClass('hidden'); 3290 $('.navbar-collapse').removeClass('expand'); 3291 } else {// 3292 } 3293}); 3294menuCollapsed.on('show.bs.collapse', function () { 3295 if (window.innerWidth <= 991) { 3296 menuDropdown.siblings('li').removeClass('hidden'); 3297 (0,_modules_disable_scroll__WEBPACK_IMPORTED_MODULE_4__["default"])(); 3298 $('.collapse-wrap').addClass('d-none'); 3299 } 3300}); 3301menuCollapsed.on('hide.bs.collapse', function () { 3302 if (window.innerWidth <= 991) { 3303 (0,_modules_visible_scroll__WEBPACK_IMPORTED_MODULE_5__["default"])(); 3304 $('.collapse-wrap').removeClass('d-none'); 3305 } 3306}); 3307 3308/***/ }), 3309
3310/***/ "./resources/js/autoload/bootstrap.js": 3311/*!********************************************!*\ 3312 !*** ./resources/js/autoload/bootstrap.js ***! 3313 \********************************************/ 3314/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3315 3316__webpack_require__.r(__webpack_exports__); 3317/* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.esm.js"); 3318 // import 'bootstrap/js/dist/util'; 3319// import 'bootstrap/js/dist/collapse'; 3320// import 'bootstrap/js/dist/dropdown'; 3321// import 'bootstrap/js/dist/modal'; 3322// import 'bootstrap/js/dist/tab'; 3323 3324/***/ }), 3325
3326/***/ "./resources/js/modules/breadcrumbs.js": 3327/*!*********************************************!*\ 3328 !*** ./resources/js/modules/breadcrumbs.js ***! 3329 \*********************************************/ 3330/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3331 3332__webpack_require__.r(__webpack_exports__); 3333var breadcrumbs = function breadcrumbs() { 3334 var breadcrumbs = document.querySelector(".breadcrumb"); 3335 3336 if (breadcrumbs) { 3337 var breadcrumbsItems = breadcrumbs.querySelectorAll(".breadcrumb-item"); 3338 3339 if (breadcrumbsItems.length === 1) { 3340 breadcrumbsItems.forEach(function (item) { 3341 var link = document.createElement('a'); 3342 link.innerHTML = item.innerHTML; 3343 item.innerHTML = ''; 3344 link.setAttribute('itemscope', ''); 3345 link.setAttribute('itemtype', 'http://schema.org/WebPage'); 3346 link.setAttribute('itemprop', 'item'); 3347 link.setAttribute('href', themeVars.home); 3348 link.setAttribute('itemid', themeVars.home); 3349 item.appendChild(link); 3350 }); 3351 } 3352 } 3353}; 3354 3355/* harmony default export */ __webpack_exports__["default"] = (breadcrumbs); 3356 3357/***/ }), 3358
3359/***/ "./resources/js/modules/disable-scroll.js": 3360/*!************************************************!*\ 3361 !*** ./resources/js/modules/disable-scroll.js ***! 3362 \************************************************/ 3363/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3364 3365__webpack_require__.r(__webpack_exports__); 3366var disableScroll = function disableScroll() { 3367 var scrollY = document.body.style.top = "-".concat(window.scrollY, "px"); 3368 document.body.classList.add('disable-scroll'); 3369 document.body.style.top = scrollY + "px"; 3370 document.body.style.position = "fixed"; 3371 document.body.style.left = 0; 3372 document.body.style.right = 0; 3373}; 3374 3375/* harmony default export */ __webpack_exports__["default"] = (disableScroll); 3376 3377/***/ }), 3378
3379/***/ "./resources/js/modules/facetwp.js": 3380/*!*****************************************!*\ 3381 !*** ./resources/js/modules/facetwp.js ***! 3382 \*****************************************/ 3383/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3384 3385__webpack_require__.r(__webpack_exports__); 3386/* harmony import */ var _radio_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./radio-button */ "./resources/js/modules/radio-button.js"); 3387/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); 3388/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__); 3389 3390 3391 3392function facetwpTitles() { 3393 var filerList = jquery__WEBPACK_IMPORTED_MODULE_1___default()('.col.product-listings_top'); 3394 filerList.css('opacity', '0'); 3395 jquery__WEBPACK_IMPORTED_MODULE_1___default()('.facetwp-facet').each(function () { 3396 var facet = jquery__WEBPACK_IMPORTED_MODULE_1___default()(this); 3397 var facet_name = facet.attr('data-name'); 3398 var facet_type = facet.attr('data-type'); 3399 var facet_label; 3400 setTimeout(function () { 3401 filerList.css('opacity', '1'); 3402 facet_label = FWP.settings.labels[facet_name]; // eslint-disable-line 3403 3404 if (facet_type !== 'pager' && facet_type !== 'sort' && facet_type !== 'radio' && facet_type !== 'search' && facet_type !== 'reset') { 3405 if (facet.closest('.facet-wrap').length < 1 && facet.closest('.flyout-row').length < 1) { 3406 facet.wrap('<div class="facet-wrap relocate facet-' + facet_name + '"></div>'); 3407 facet.before('<span class="facet-label h6">' + facet_label + '</span>'); 3408 } 3409 } else if (facet_type === 'radio') { 3410 facet.wrap('<div class="facet-wrap radio"></div>'); 3411 facet.before('<div id="chip" class="chip"></div>'); 3412 } else if (facet_type === 'sort') { 3413 facet.wrap('<div class="facet-wrap sort"></div>'); 3414 facet.before('<span class="facet-label h6">' + facet_label + ':</span>'); 3415 facet.after('<i class="icon-expand-down mob-hide"></i>'); 3416 } 3417 3418 FWP.refresh(); // eslint-disable-line 3419 }, 300); 3420 }); 3421} 3422 3423function facetwpCounter() { 3424 jquery__WEBPACK_IMPORTED_MODULE_1___default()('.facetwp-type-radio').each(function () { 3425 if (jquery__WEBPACK_IMPORTED_MODULE_1___default()('.facetwp-radio:first-child').find('.facetwp-display-value').length == 0) { 3426 var allLabel = jquery__WEBPACK_IMPORTED_MODULE_1___default()(this).find('.facetwp-radio:first-child'); 3427 var allLabelCounter = jquery__WEBPACK_IMPORTED_MODULE_1___default()('#allProductsCounter').text(); 3428 allLabel.contents().wrap('<span class="facetwp-display-value"/>'); 3429 allLabel.find('.facetwp-display-value').after('<span class="facetwp-counter">' + allLabelCounter + '</span>'); 3430 } 3431 }); 3432} 3433 3434document.addEventListener('DOMContentLoaded', function () { 3435 facetwpTitles(); 3436}); 3437document.addEventListener('facetwp-loaded', function () { 3438 jquery__WEBPACK_IMPORTED_MODULE_1___default()('.facetwp-load-more').append('<i class="icon-expand-down"></i>'); 3439 facetwpCounter(); 3440 setTimeout(function () { 3441 (0,_radio_button__WEBPACK_IMPORTED_MODULE_0__["default"])(); 3442 }, 300); 3443}); 3444 3445/***/ }), 3446
3447/***/ "./resources/js/modules/four-column-content-sliders.js": 3448/*!*************************************************************!*\ 3449 !*** ./resources/js/modules/four-column-content-sliders.js ***! 3450 \*************************************************************/ 3451/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3452 3453__webpack_require__.r(__webpack_exports__); 3454/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ "./node_modules/swiper/swiper.esm.js"); 3455 3456var allCarousels = document.querySelectorAll(".js-columns-carousel:not(.larger):not(.home)"); 3457var allCarouselsLarge = document.querySelectorAll(".js-columns-carousel.larger"); 3458var windowWidth = window.innerWidth; 3459var breakpoint = 1400; 3460var breakpointRec = 991; 3461 3462if (allCarousels || allCarouselsLarge) { 3463 var sliders = []; 3464 var slidersLarge = []; 3465 3466 var sliderInit = function sliderInit() { 3467 allCarousels.forEach(function (item) { 3468 var slider = new swiper__WEBPACK_IMPORTED_MODULE_0__["default"](item, { 3469 slidesPerView: 1.165, 3470 spaceBetween: 0, 3471 breakpoints: { 3472 500: { 3473 slidesPerView: 1.5 3474 }, 3475 650: { 3476 slidesPerView: 2 3477 }, 3478 1200: { 3479 slidesPerView: 3 3480 }, 3481 1400: { 3482 slidesPerView: 4 3483 } 3484 }, 3485 modules: [swiper__WEBPACK_IMPORTED_MODULE_0__.Pagination], 3486 pagination: { 3487 el: '.swiper-pagination', 3488 type: 'bullets', 3489 clickable: true 3490 } 3491 }); 3492 sliders.push(slider); 3493 }); 3494 }; 3495 3496 var sliderInitLarge = function sliderInitLarge() { 3497 allCarouselsLarge.forEach(function (item) { 3498 var sliderLarge = new swiper__WEBPACK_IMPORTED_MODULE_0__["default"](item, { 3499 slidesPerView: 1, 3500 spaceBetween: 0, 3501 breakpoints: { 3502 500: { 3503 slidesPerView: 1.1 3504 }, 3505 650: { 3506 slidesPerView: 1.2 3507 }, 3508 800: { 3509 slidesPerView: 1.5 3510 } 3511 }, 3512 modules: [swiper__WEBPACK_IMPORTED_MODULE_0__.Pagination], 3513 pagination: { 3514 el: '.swiper-pagination', 3515 type: 'bullets', 3516 clickable: true 3517 } 3518 }); 3519 slidersLarge.push(sliderLarge); 3520 }); 3521 }; 3522 3523 var sliderDestroy = function sliderDestroy() { 3524 if (sliders.length) { 3525 for (var i = 0; i < sliders.length; i++) { 3526 sliders[i].destroy(); 3527 } 3528 3529 sliders = []; 3530 } 3531 }; 3532 3533 var sliderDestroyLarge = function sliderDestroyLarge() { 3534 if (slidersLarge.length) { 3535 for (var i = 0; i < slidersLarge.length; i++) { 3536 slidersLarge[i].destroy(); 3537 } 3538 3539 slidersLarge = []; 3540 } 3541 }; 3542 3543 window.addEventListener("load", function () { 3544 if (window.innerWidth <= breakpoint) { 3545 sliderInit(); 3546 } else { 3547 if (sliders.length !== 0) sliderDestroy(); 3548 } 3549 3550 if (window.innerWidth <= breakpointRec) { 3551 sliderInitLarge(); 3552 } else { 3553 if (slidersLarge.length !== 0) sliderDestroyLarge(); 3554 } 3555 }); 3556 window.addEventListener("resize", function () { 3557 if (window.innerWidth !== windowWidth && window.innerWidth <= breakpoint) { 3558 sliderInit(); 3559 } else if (window.innerWidth !== windowWidth && window.innerWidth >= breakpoint + 1) { 3560 if (sliders.length !== 0) sliderDestroy(); 3561 } 3562 3563 if (window.innerWidth !== windowWidth && window.innerWidth <= breakpointRec) { 3564 sliderInitLarge(); 3565 } else if (window.innerWidth !== windowWidth && window.innerWidth >= breakpointRec + 1) { 3566 if (slidersLarge.length !== 0) sliderDestroyLarge(); 3567 } 3568 }); 3569} 3570 3571/***/ }), 3572
3573/***/ "./resources/js/modules/radio-button.js": 3574/*!**********************************************!*\ 3575 !*** ./resources/js/modules/radio-button.js ***! 3576 \**********************************************/ 3577/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3578 3579__webpack_require__.r(__webpack_exports__); 3580//Radio buttons border animation 3581var setActiveItem = function setActiveItem() { 3582 $('.facetwp-type-radio, .date-filter').each(function () { 3583 var item = $('.facetwp-radio.checked, .list-item.checked'); 3584 var chip = $('#chip'); 3585 var chip_width = item.width() + 34; 3586 var chip_pos = item.position(); 3587 chip.css('width', chip_width + 'px').css('left', chip_pos.left - 2 + 'px').css('opacity', '1'); 3588 $('.facetwp-radio, .list-item').click(function () { 3589 chip_width = $(this).width() + 34; 3590 chip_pos = $(this).position(); 3591 chip.css('width', chip_width + 'px').css('left', chip_pos.left - 2 + 'px'); 3592 }); 3593 }); 3594}; 3595 3596/* harmony default export */ __webpack_exports__["default"] = (setActiveItem); 3597 3598/***/ }), 3599
3600/***/ "./resources/js/modules/visible-scroll.js": 3601/*!************************************************!*\ 3602 !*** ./resources/js/modules/visible-scroll.js ***! 3603 \************************************************/ 3604/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3605 3606__webpack_require__.r(__webpack_exports__); 3607var visibleScroll = function visibleScroll() { 3608 var scrollY = document.body.style.top; 3609 document.body.classList.remove('disable-scroll'); 3610 document.querySelector('html').style.scrollBehavior = "unset"; 3611 document.body.style.position = ""; 3612 document.body.style.top = ""; 3613 document.body.style.left = ""; 3614 document.body.style.right = ""; 3615 window.scrollTo(0, parseInt(scrollY || "0") * -1); 3616 setTimeout(function () { 3617 document.querySelector('html').style.scrollBehavior = ""; 3618 }, 300); 3619}; 3620 3621/* harmony default export */ __webpack_exports__["default"] = (visibleScroll); 3622 3623/***/ }), 3624
vendor: 138,022 bytes, lines 3625-8868
3625/***/ "./node_modules/bootstrap/dist/js/bootstrap.esm.js": 3626/*!*********************************************************!*\ 3627 !*** ./node_modules/bootstrap/dist/js/bootstrap.esm.js ***! 3628 \*********************************************************/ 3629/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3630 3631__webpack_require__.r(__webpack_exports__); 3632/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3633/* harmony export */ "Alert": function() { return /* binding */ Alert; }, 3634/* harmony export */ "Button": function() { return /* binding */ Button; }, 3635/* harmony export */ "Carousel": function() { return /* binding */ Carousel; }, 3636/* harmony export */ "Collapse": function() { return /* binding */ Collapse; }, 3637/* harmony export */ "Dropdown": function() { return /* binding */ Dropdown; }, 3638/* harmony export */ "Modal": function() { return /* binding */ Modal; }, 3639/* harmony export */ "Offcanvas": function() { return /* binding */ Offcanvas; }, 3640/* harmony export */ "Popover": function() { return /* binding */ Popover; }, 3641/* harmony export */ "ScrollSpy": function() { return /* binding */ ScrollSpy; }, 3642/* harmony export */ "Tab": function() { return /* binding */ Tab; }, 3643/* harmony export */ "Toast": function() { return /* binding */ Toast; }, 3644/* harmony export */ "Tooltip": function() { return /* binding */ Tooltip; } 3645/* harmony export */ }); 3646/* harmony import */ var _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @popperjs/core */ "./node_modules/@popperjs/core/lib/index.js"); 3647/* harmony import */ var _popperjs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @popperjs/core */ "./node_modules/@popperjs/core/lib/popper.js"); 3648/*! 3649 * Bootstrap v5.2.1 (https://getbootstrap.com/) 3650 * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 3651 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 3652 */ 3653 3654 3655/** 3656 * -------------------------------------------------------------------------- 3657 * Bootstrap (v5.2.1): util/index.js 3658 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 3659 * -------------------------------------------------------------------------- 3660 */ 3661const MAX_UID = 1000000; 3662const MILLISECONDS_MULTIPLIER = 1000; 3663const TRANSITION_END = 'transitionend'; // Shout-out Angus Croll (https://goo.gl/pxwQGp) 3664 3665const toType = object => { 3666 if (object === null || object === undefined) { 3667 return `${object}`; 3668 } 3669 3670 return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase(); 3671}; 3672/** 3673 * Public Util API 3674 */ 3675 3676 3677const getUID = prefix => { 3678 do { 3679 prefix += Math.floor(Math.random() * MAX_UID); 3680 } while (document.getElementById(prefix)); 3681 3682 return prefix; 3683}; 3684 3685const getSelector = element => { 3686 let selector = element.getAttribute('data-bs-target'); 3687 3688 if (!selector || selector === '#') { 3689 let hrefAttribute = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, 3690 // so everything starting with `#` or `.`. If a "real" URL is used as the selector, 3691 // `document.querySelector` will rightfully complain it is invalid. 3692 // See https://github.com/twbs/bootstrap/issues/32273 3693 3694 if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) { 3695 return null; 3696 } // Just in case some CMS puts out a full URL with the anchor appended 3697 3698 3699 if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) { 3700 hrefAttribute = `#${hrefAttribute.split('#')[1]}`; 3701 } 3702 3703 selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null; 3704 } 3705 3706 return selector; 3707}; 3708 3709const getSelectorFromElement = element => { 3710 const selector = getSelector(element); 3711 3712 if (selector) { 3713 return document.querySelector(selector) ? selector : null; 3714 } 3715 3716 return null; 3717}; 3718 3719const getElementFromSelector = element => { 3720 const selector = getSelector(element); 3721 return selector ? document.querySelector(selector) : null; 3722}; 3723 3724const getTransitionDurationFromElement = element => { 3725 if (!element) { 3726 return 0; 3727 } // Get transition-duration of the element 3728 3729 3730 let { 3731 transitionDuration, 3732 transitionDelay 3733 } = window.getComputedStyle(element); 3734 const floatTransitionDuration = Number.parseFloat(transitionDuration); 3735 const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found 3736 3737 if (!floatTransitionDuration && !floatTransitionDelay) { 3738 return 0; 3739 } // If multiple durations are defined, take the first 3740 3741 3742 transitionDuration = transitionDuration.split(',')[0]; 3743 transitionDelay = transitionDelay.split(',')[0]; 3744 return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; 3745}; 3746 3747const triggerTransitionEnd = element => { 3748 element.dispatchEvent(new Event(TRANSITION_END)); 3749}; 3750 3751const isElement = object => { 3752 if (!object || typeof object !== 'object') { 3753 return false; 3754 } 3755 3756 if (typeof object.jquery !== 'undefined') { 3757 object = object[0]; 3758 } 3759 3760 return typeof object.nodeType !== 'undefined'; 3761}; 3762 3763const getElement = object => { 3764 // it's a jQuery object or a node element 3765 if (isElement(object)) { 3766 return object.jquery ? object[0] : object; 3767 } 3768 3769 if (typeof object === 'string' && object.length > 0) { 3770 return document.querySelector(object); 3771 } 3772 3773 return null; 3774}; 3775 3776const isVisible = element => { 3777 if (!isElement(element) || element.getClientRects().length === 0) { 3778 return false; 3779 } 3780 3781 const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; // Handle `details` element as its content may falsie appear visible when it is closed 3782 3783 const closedDetails = element.closest('details:not([open])'); 3784 3785 if (!closedDetails) { 3786 return elementIsVisible; 3787 } 3788 3789 if (closedDetails !== element) { 3790 const summary = element.closest('summary'); 3791 3792 if (summary && summary.parentNode !== closedDetails) { 3793 return false; 3794 } 3795 3796 if (summary === null) { 3797 return false; 3798 } 3799 } 3800 3801 return elementIsVisible; 3802}; 3803 3804const isDisabled = element => { 3805 if (!element || element.nodeType !== Node.ELEMENT_NODE) { 3806 return true; 3807 } 3808 3809 if (element.classList.contains('disabled')) { 3810 return true; 3811 } 3812 3813 if (typeof element.disabled !== 'undefined') { 3814 return element.disabled; 3815 } 3816 3817 return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; 3818}; 3819 3820const findShadowRoot = element => { 3821 if (!document.documentElement.attachShadow) { 3822 return null; 3823 } // Can find the shadow root otherwise it'll return the document 3824 3825 3826 if (typeof element.getRootNode === 'function') { 3827 const root = element.getRootNode(); 3828 return root instanceof ShadowRoot ? root : null; 3829 } 3830 3831 if (element instanceof ShadowRoot) { 3832 return element; 3833 } // when we don't find a shadow root 3834 3835 3836 if (!element.parentNode) { 3837 return null; 3838 } 3839 3840 return findShadowRoot(element.parentNode); 3841}; 3842 3843const noop = () => {}; 3844/** 3845 * Trick to restart an element's animation 3846 * 3847 * @param {HTMLElement} element 3848 * @return void 3849 * 3850 * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation 3851 */ 3852 3853 3854const reflow = element => { 3855 element.offsetHeight; // eslint-disable-line no-unused-expressions 3856}; 3857 3858const getjQuery = () => { 3859 if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { 3860 return window.jQuery; 3861 } 3862 3863 return null; 3864}; 3865 3866const DOMContentLoadedCallbacks = []; 3867 3868const onDOMContentLoaded = callback => { 3869 if (document.readyState === 'loading') { 3870 // add listener on the first call when the document is in loading state 3871 if (!DOMContentLoadedCallbacks.length) { 3872 document.addEventListener('DOMContentLoaded', () => { 3873 for (const callback of DOMContentLoadedCallbacks) { 3874 callback(); 3875 } 3876 }); 3877 } 3878 3879 DOMContentLoadedCallbacks.push(callback); 3880 } else { 3881 callback(); 3882 } 3883}; 3884 3885const isRTL = () => document.documentElement.dir === 'rtl'; 3886 3887const defineJQueryPlugin = plugin => { 3888 onDOMContentLoaded(() => { 3889 const $ = getjQuery(); 3890 /* istanbul ignore if */ 3891 3892 if ($) { 3893 const name = plugin.NAME; 3894 const JQUERY_NO_CONFLICT = $.fn[name]; 3895 $.fn[name] = plugin.jQueryInterface; 3896 $.fn[name].Constructor = plugin; 3897 3898 $.fn[name].noConflict = () => { 3899 $.fn[name] = JQUERY_NO_CONFLICT; 3900 return plugin.jQueryInterface; 3901 }; 3902 } 3903 }); 3904}; 3905 3906const execute = callback => { 3907 if (typeof callback === 'function') { 3908 callback(); 3909 } 3910}; 3911 3912const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { 3913 if (!waitForTransition) { 3914 execute(callback); 3915 return; 3916 } 3917 3918 const durationPadding = 5; 3919 const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; 3920 let called = false; 3921 3922 const handler = ({ 3923 target 3924 }) => { 3925 if (target !== transitionElement) { 3926 return; 3927 } 3928 3929 called = true; 3930 transitionElement.removeEventListener(TRANSITION_END, handler); 3931 execute(callback); 3932 }; 3933 3934 transitionElement.addEventListener(TRANSITION_END, handler); 3935 setTimeout(() => { 3936 if (!called) { 3937 triggerTransitionEnd(transitionElement); 3938 } 3939 }, emulatedDuration); 3940}; 3941/** 3942 * Return the previous/next element of a list. 3943 * 3944 * @param {array} list The list of elements 3945 * @param activeElement The active element 3946 * @param shouldGetNext Choose to get next or previous element 3947 * @param isCycleAllowed 3948 * @return {Element|elem} The proper element 3949 */ 3950 3951 3952const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { 3953 const listLength = list.length; 3954 let index = list.indexOf(activeElement); // if the element does not exist in the list return an element 3955 // depending on the direction and if cycle is allowed 3956 3957 if (index === -1) { 3958 return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]; 3959 } 3960 3961 index += shouldGetNext ? 1 : -1; 3962 3963 if (isCycleAllowed) { 3964 index = (index + listLength) % listLength; 3965 } 3966 3967 return list[Math.max(0, Math.min(index, listLength - 1))]; 3968}; 3969 3970/** 3971 * -------------------------------------------------------------------------- 3972 * Bootstrap (v5.2.1): dom/event-handler.js 3973 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 3974 * -------------------------------------------------------------------------- 3975 */ 3976/** 3977 * Constants 3978 */ 3979 3980const namespaceRegex = /[^.]*(?=\..*)\.|.*/; 3981const stripNameRegex = /\..*/; 3982const stripUidRegex = /::\d+$/; 3983const eventRegistry = {}; // Events storage 3984 3985let uidEvent = 1; 3986const customEvents = { 3987 mouseenter: 'mouseover', 3988 mouseleave: 'mouseout' 3989}; 3990const 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']); 3991/** 3992 * Private methods 3993 */ 3994 3995function makeEventUid(element, uid) { 3996 return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; 3997} 3998 3999function getElementEvents(element) { 4000 const uid = makeEventUid(element); 4001 element.uidEvent = uid; 4002 eventRegistry[uid] = eventRegistry[uid] || {}; 4003 return eventRegistry[uid]; 4004} 4005 4006function bootstrapHandler(element, fn) { 4007 return function handler(event) { 4008 hydrateObj(event, { 4009 delegateTarget: element 4010 }); 4011 4012 if (handler.oneOff) { 4013 EventHandler.off(element, event.type, fn); 4014 } 4015 4016 return fn.apply(element, [event]); 4017 }; 4018} 4019 4020function bootstrapDelegationHandler(element, selector, fn) { 4021 return function handler(event) { 4022 const domElements = element.querySelectorAll(selector); 4023 4024 for (let { 4025 target 4026 } = event; target && target !== this; target = target.parentNode) { 4027 for (const domElement of domElements) { 4028 if (domElement !== target) { 4029 continue; 4030 } 4031 4032 hydrateObj(event, { 4033 delegateTarget: target 4034 }); 4035 4036 if (handler.oneOff) { 4037 EventHandler.off(element, event.type, selector, fn); 4038 } 4039 4040 return fn.apply(target, [event]); 4041 } 4042 } 4043 }; 4044} 4045 4046function findHandler(events, callable, delegationSelector = null) { 4047 return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector); 4048} 4049 4050function normalizeParameters(originalTypeEvent, handler, delegationFunction) { 4051 const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check 4052 4053 const callable = isDelegated ? delegationFunction : handler || delegationFunction; 4054 let typeEvent = getTypeEvent(originalTypeEvent); 4055 4056 if (!nativeEvents.has(typeEvent)) { 4057 typeEvent = originalTypeEvent; 4058 } 4059 4060 return [isDelegated, callable, typeEvent]; 4061} 4062 4063function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { 4064 if (typeof originalTypeEvent !== 'string' || !element) { 4065 return; 4066 } 4067 4068 let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position 4069 // this prevents the handler from being dispatched the same way as mouseover or mouseout does 4070 4071 if (originalTypeEvent in customEvents) { 4072 const wrapFunction = fn => { 4073 return function (event) { 4074 if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { 4075 return fn.call(this, event); 4076 } 4077 }; 4078 }; 4079 4080 callable = wrapFunction(callable); 4081 } 4082 4083 const events = getElementEvents(element); 4084 const handlers = events[typeEvent] || (events[typeEvent] = {}); 4085 const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null); 4086 4087 if (previousFunction) { 4088 previousFunction.oneOff = previousFunction.oneOff && oneOff; 4089 return; 4090 } 4091 4092 const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, '')); 4093 const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable); 4094 fn.delegationSelector = isDelegated ? handler : null; 4095 fn.callable = callable; 4096 fn.oneOff = oneOff; 4097 fn.uidEvent = uid; 4098 handlers[uid] = fn; 4099 element.addEventListener(typeEvent, fn, isDelegated); 4100} 4101 4102function removeHandler(element, events, typeEvent, handler, delegationSelector) { 4103 const fn = findHandler(events[typeEvent], handler, delegationSelector); 4104 4105 if (!fn) { 4106 return; 4107 } 4108 4109 element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); 4110 delete events[typeEvent][fn.uidEvent]; 4111} 4112 4113function removeNamespacedHandlers(element, events, typeEvent, namespace) { 4114 const storeElementEvent = events[typeEvent] || {}; 4115 4116 for (const handlerKey of Object.keys(storeElementEvent)) { 4117 if (handlerKey.includes(namespace)) { 4118 const event = storeElementEvent[handlerKey]; 4119 removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); 4120 } 4121 } 4122} 4123 4124function getTypeEvent(event) { 4125 // allow to get the native events from namespaced events ('click.bs.button' --> 'click') 4126 event = event.replace(stripNameRegex, ''); 4127 return customEvents[event] || event; 4128} 4129 4130const EventHandler = { 4131 on(element, event, handler, delegationFunction) { 4132 addHandler(element, event, handler, delegationFunction, false); 4133 }, 4134 4135 one(element, event, handler, delegationFunction) { 4136 addHandler(element, event, handler, delegationFunction, true); 4137 }, 4138 4139 off(element, originalTypeEvent, handler, delegationFunction) { 4140 if (typeof originalTypeEvent !== 'string' || !element) { 4141 return; 4142 } 4143 4144 const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); 4145 const inNamespace = typeEvent !== originalTypeEvent; 4146 const events = getElementEvents(element); 4147 const storeElementEvent = events[typeEvent] || {}; 4148 const isNamespace = originalTypeEvent.startsWith('.'); 4149 4150 if (typeof callable !== 'undefined') { 4151 // Simplest case: handler is passed, remove that listener ONLY. 4152 if (!Object.keys(storeElementEvent).length) { 4153 return; 4154 } 4155 4156 removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null); 4157 return; 4158 } 4159 4160 if (isNamespace) { 4161 for (const elementEvent of Object.keys(events)) { 4162 removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); 4163 } 4164 } 4165 4166 for (const keyHandlers of Object.keys(storeElementEvent)) { 4167 const handlerKey = keyHandlers.replace(stripUidRegex, ''); 4168 4169 if (!inNamespace || originalTypeEvent.includes(handlerKey)) { 4170 const event = storeElementEvent[keyHandlers]; 4171 removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); 4172 } 4173 } 4174 }, 4175 4176 trigger(element, event, args) { 4177 if (typeof event !== 'string' || !element) { 4178 return null; 4179 } 4180 4181 const $ = getjQuery(); 4182 const typeEvent = getTypeEvent(event); 4183 const inNamespace = event !== typeEvent; 4184 let jQueryEvent = null; 4185 let bubbles = true; 4186 let nativeDispatch = true; 4187 let defaultPrevented = false; 4188 4189 if (inNamespace && $) { 4190 jQueryEvent = $.Event(event, args); 4191 $(element).trigger(jQueryEvent); 4192 bubbles = !jQueryEvent.isPropagationStopped(); 4193 nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); 4194 defaultPrevented = jQueryEvent.isDefaultPrevented(); 4195 } 4196 4197 let evt = new Event(event, { 4198 bubbles, 4199 cancelable: true 4200 }); 4201 evt = hydrateObj(evt, args); 4202 4203 if (defaultPrevented) { 4204 evt.preventDefault(); 4205 } 4206 4207 if (nativeDispatch) { 4208 element.dispatchEvent(evt); 4209 } 4210 4211 if (evt.defaultPrevented && jQueryEvent) { 4212 jQueryEvent.preventDefault(); 4213 } 4214 4215 return evt; 4216 } 4217 4218}; 4219 4220function hydrateObj(obj, meta) { 4221 for (const [key, value] of Object.entries(meta || {})) { 4222 try { 4223 obj[key] = value; 4224 } catch (_unused) { 4225 Object.defineProperty(obj, key, { 4226 configurable: true, 4227 4228 get() { 4229 return value; 4230 } 4231 4232 }); 4233 } 4234 } 4235 4236 return obj; 4237} 4238 4239/** 4240 * -------------------------------------------------------------------------- 4241 * Bootstrap (v5.2.1): dom/data.js 4242 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4243 * -------------------------------------------------------------------------- 4244 */ 4245 4246/** 4247 * Constants 4248 */ 4249const elementMap = new Map(); 4250const Data = { 4251 set(element, key, instance) { 4252 if (!elementMap.has(element)) { 4253 elementMap.set(element, new Map()); 4254 } 4255 4256 const instanceMap = elementMap.get(element); // make it clear we only want one instance per element 4257 // can be removed later when multiple key/instances are fine to be used 4258 4259 if (!instanceMap.has(key) && instanceMap.size !== 0) { 4260 // eslint-disable-next-line no-console 4261 console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); 4262 return; 4263 } 4264 4265 instanceMap.set(key, instance); 4266 }, 4267 4268 get(element, key) { 4269 if (elementMap.has(element)) { 4270 return elementMap.get(element).get(key) || null; 4271 } 4272 4273 return null; 4274 }, 4275 4276 remove(element, key) { 4277 if (!elementMap.has(element)) { 4278 return; 4279 } 4280 4281 const instanceMap = elementMap.get(element); 4282 instanceMap.delete(key); // free up element references if there are no instances left for an element 4283 4284 if (instanceMap.size === 0) { 4285 elementMap.delete(element); 4286 } 4287 } 4288 4289}; 4290 4291/** 4292 * -------------------------------------------------------------------------- 4293 * Bootstrap (v5.2.1): dom/manipulator.js 4294 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4295 * -------------------------------------------------------------------------- 4296 */ 4297function normalizeData(value) { 4298 if (value === 'true') { 4299 return true; 4300 } 4301 4302 if (value === 'false') { 4303 return false; 4304 } 4305 4306 if (value === Number(value).toString()) { 4307 return Number(value); 4308 } 4309 4310 if (value === '' || value === 'null') { 4311 return null; 4312 } 4313 4314 if (typeof value !== 'string') { 4315 return value; 4316 } 4317 4318 try { 4319 return JSON.parse(decodeURIComponent(value)); 4320 } catch (_unused) { 4321 return value; 4322 } 4323} 4324 4325function normalizeDataKey(key) { 4326 return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`); 4327} 4328 4329const Manipulator = { 4330 setDataAttribute(element, key, value) { 4331 element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value); 4332 }, 4333 4334 removeDataAttribute(element, key) { 4335 element.removeAttribute(`data-bs-${normalizeDataKey(key)}`); 4336 }, 4337 4338 getDataAttributes(element) { 4339 if (!element) { 4340 return {}; 4341 } 4342 4343 const attributes = {}; 4344 const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig')); 4345 4346 for (const key of bsKeys) { 4347 let pureKey = key.replace(/^bs/, ''); 4348 pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length); 4349 attributes[pureKey] = normalizeData(element.dataset[key]); 4350 } 4351 4352 return attributes; 4353 }, 4354 4355 getDataAttribute(element, key) { 4356 return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`)); 4357 } 4358 4359}; 4360 4361/** 4362 * -------------------------------------------------------------------------- 4363 * Bootstrap (v5.2.1): util/config.js 4364 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4365 * -------------------------------------------------------------------------- 4366 */ 4367/** 4368 * Class definition 4369 */ 4370 4371class Config { 4372 // Getters 4373 static get Default() { 4374 return {}; 4375 } 4376 4377 static get DefaultType() { 4378 return {}; 4379 } 4380 4381 static get NAME() { 4382 throw new Error('You have to implement the static method "NAME", for each component!'); 4383 } 4384 4385 _getConfig(config) { 4386 config = this._mergeConfigObj(config); 4387 config = this._configAfterMerge(config); 4388 4389 this._typeCheckConfig(config); 4390 4391 return config; 4392 } 4393 4394 _configAfterMerge(config) { 4395 return config; 4396 } 4397 4398 _mergeConfigObj(config, element) { 4399 const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse 4400 4401 return { ...this.constructor.Default, 4402 ...(typeof jsonConfig === 'object' ? jsonConfig : {}), 4403 ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}), 4404 ...(typeof config === 'object' ? config : {}) 4405 }; 4406 } 4407 4408 _typeCheckConfig(config, configTypes = this.constructor.DefaultType) { 4409 for (const property of Object.keys(configTypes)) { 4410 const expectedTypes = configTypes[property]; 4411 const value = config[property]; 4412 const valueType = isElement(value) ? 'element' : toType(value); 4413 4414 if (!new RegExp(expectedTypes).test(valueType)) { 4415 throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); 4416 } 4417 } 4418 } 4419 4420} 4421 4422/** 4423 * -------------------------------------------------------------------------- 4424 * Bootstrap (v5.2.1): base-component.js 4425 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4426 * -------------------------------------------------------------------------- 4427 */ 4428/** 4429 * Constants 4430 */ 4431 4432const VERSION = '5.2.1'; 4433/** 4434 * Class definition 4435 */ 4436 4437class BaseComponent extends Config { 4438 constructor(element, config) { 4439 super(); 4440 element = getElement(element); 4441 4442 if (!element) { 4443 return; 4444 } 4445 4446 this._element = element; 4447 this._config = this._getConfig(config); 4448 Data.set(this._element, this.constructor.DATA_KEY, this); 4449 } // Public 4450 4451 4452 dispose() { 4453 Data.remove(this._element, this.constructor.DATA_KEY); 4454 EventHandler.off(this._element, this.constructor.EVENT_KEY); 4455 4456 for (const propertyName of Object.getOwnPropertyNames(this)) { 4457 this[propertyName] = null; 4458 } 4459 } 4460 4461 _queueCallback(callback, element, isAnimated = true) { 4462 executeAfterTransition(callback, element, isAnimated); 4463 } 4464 4465 _getConfig(config) { 4466 config = this._mergeConfigObj(config, this._element); 4467 config = this._configAfterMerge(config); 4468 4469 this._typeCheckConfig(config); 4470 4471 return config; 4472 } // Static 4473 4474 4475 static getInstance(element) { 4476 return Data.get(getElement(element), this.DATA_KEY); 4477 } 4478 4479 static getOrCreateInstance(element, config = {}) { 4480 return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null); 4481 } 4482 4483 static get VERSION() { 4484 return VERSION; 4485 } 4486 4487 static get DATA_KEY() { 4488 return `bs.${this.NAME}`; 4489 } 4490 4491 static get EVENT_KEY() { 4492 return `.${this.DATA_KEY}`; 4493 } 4494 4495 static eventName(name) { 4496 return `${name}${this.EVENT_KEY}`; 4497 } 4498 4499} 4500 4501/** 4502 * -------------------------------------------------------------------------- 4503 * Bootstrap (v5.2.1): util/component-functions.js 4504 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4505 * -------------------------------------------------------------------------- 4506 */ 4507 4508const enableDismissTrigger = (component, method = 'hide') => { 4509 const clickEvent = `click.dismiss${component.EVENT_KEY}`; 4510 const name = component.NAME; 4511 EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { 4512 if (['A', 'AREA'].includes(this.tagName)) { 4513 event.preventDefault(); 4514 } 4515 4516 if (isDisabled(this)) { 4517 return; 4518 } 4519 4520 const target = getElementFromSelector(this) || this.closest(`.${name}`); 4521 const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method 4522 4523 instance[method](); 4524 }); 4525}; 4526 4527/** 4528 * -------------------------------------------------------------------------- 4529 * Bootstrap (v5.2.1): alert.js 4530 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4531 * -------------------------------------------------------------------------- 4532 */ 4533/** 4534 * Constants 4535 */ 4536 4537const NAME$f = 'alert'; 4538const DATA_KEY$a = 'bs.alert'; 4539const EVENT_KEY$b = `.${DATA_KEY$a}`; 4540const EVENT_CLOSE = `close${EVENT_KEY$b}`; 4541const EVENT_CLOSED = `closed${EVENT_KEY$b}`; 4542const CLASS_NAME_FADE$5 = 'fade'; 4543const CLASS_NAME_SHOW$8 = 'show'; 4544/** 4545 * Class definition 4546 */ 4547 4548class Alert extends BaseComponent { 4549 // Getters 4550 static get NAME() { 4551 return NAME$f; 4552 } // Public 4553 4554 4555 close() { 4556 const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); 4557 4558 if (closeEvent.defaultPrevented) { 4559 return; 4560 } 4561 4562 this._element.classList.remove(CLASS_NAME_SHOW$8); 4563 4564 const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); 4565 4566 this._queueCallback(() => this._destroyElement(), this._element, isAnimated); 4567 } // Private 4568 4569 4570 _destroyElement() { 4571 this._element.remove(); 4572 4573 EventHandler.trigger(this._element, EVENT_CLOSED); 4574 this.dispose(); 4575 } // Static 4576 4577 4578 static jQueryInterface(config) { 4579 return this.each(function () { 4580 const data = Alert.getOrCreateInstance(this); 4581 4582 if (typeof config !== 'string') { 4583 return; 4584 } 4585 4586 if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { 4587 throw new TypeError(`No method named "${config}"`); 4588 } 4589 4590 data[config](this); 4591 }); 4592 } 4593 4594} 4595/** 4596 * Data API implementation 4597 */ 4598 4599 4600enableDismissTrigger(Alert, 'close'); 4601/** 4602 * jQuery 4603 */ 4604 4605defineJQueryPlugin(Alert); 4606 4607/** 4608 * -------------------------------------------------------------------------- 4609 * Bootstrap (v5.2.1): button.js 4610 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4611 * -------------------------------------------------------------------------- 4612 */ 4613/** 4614 * Constants 4615 */ 4616 4617const NAME$e = 'button'; 4618const DATA_KEY$9 = 'bs.button'; 4619const EVENT_KEY$a = `.${DATA_KEY$9}`; 4620const DATA_API_KEY$6 = '.data-api'; 4621const CLASS_NAME_ACTIVE$3 = 'active'; 4622const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]'; 4623const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; 4624/** 4625 * Class definition 4626 */ 4627 4628class Button extends BaseComponent { 4629 // Getters 4630 static get NAME() { 4631 return NAME$e; 4632 } // Public 4633 4634 4635 toggle() { 4636 // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method 4637 this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3)); 4638 } // Static 4639 4640 4641 static jQueryInterface(config) { 4642 return this.each(function () { 4643 const data = Button.getOrCreateInstance(this); 4644 4645 if (config === 'toggle') { 4646 data[config](); 4647 } 4648 }); 4649 } 4650 4651} 4652/** 4653 * Data API implementation 4654 */ 4655 4656 4657EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => { 4658 event.preventDefault(); 4659 const button = event.target.closest(SELECTOR_DATA_TOGGLE$5); 4660 const data = Button.getOrCreateInstance(button); 4661 data.toggle(); 4662}); 4663/** 4664 * jQuery 4665 */ 4666 4667defineJQueryPlugin(Button); 4668 4669/** 4670 * -------------------------------------------------------------------------- 4671 * Bootstrap (v5.2.1): dom/selector-engine.js 4672 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4673 * -------------------------------------------------------------------------- 4674 */ 4675/** 4676 * Constants 4677 */ 4678 4679const SelectorEngine = { 4680 find(selector, element = document.documentElement) { 4681 return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); 4682 }, 4683 4684 findOne(selector, element = document.documentElement) { 4685 return Element.prototype.querySelector.call(element, selector); 4686 }, 4687 4688 children(element, selector) { 4689 return [].concat(...element.children).filter(child => child.matches(selector)); 4690 }, 4691 4692 parents(element, selector) { 4693 const parents = []; 4694 let ancestor = element.parentNode.closest(selector); 4695 4696 while (ancestor) { 4697 parents.push(ancestor); 4698 ancestor = ancestor.parentNode.closest(selector); 4699 } 4700 4701 return parents; 4702 }, 4703 4704 prev(element, selector) { 4705 let previous = element.previousElementSibling; 4706 4707 while (previous) { 4708 if (previous.matches(selector)) { 4709 return [previous]; 4710 } 4711 4712 previous = previous.previousElementSibling; 4713 } 4714 4715 return []; 4716 }, 4717 4718 // TODO: this is now unused; remove later along with prev() 4719 next(element, selector) { 4720 let next = element.nextElementSibling; 4721 4722 while (next) { 4723 if (next.matches(selector)) { 4724 return [next]; 4725 } 4726 4727 next = next.nextElementSibling; 4728 } 4729 4730 return []; 4731 }, 4732 4733 focusableChildren(element) { 4734 const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(','); 4735 return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el)); 4736 } 4737 4738}; 4739 4740/** 4741 * -------------------------------------------------------------------------- 4742 * Bootstrap (v5.2.1): util/swipe.js 4743 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4744 * -------------------------------------------------------------------------- 4745 */ 4746/** 4747 * Constants 4748 */ 4749 4750const NAME$d = 'swipe'; 4751const EVENT_KEY$9 = '.bs.swipe'; 4752const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`; 4753const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`; 4754const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`; 4755const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`; 4756const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`; 4757const POINTER_TYPE_TOUCH = 'touch'; 4758const POINTER_TYPE_PEN = 'pen'; 4759const CLASS_NAME_POINTER_EVENT = 'pointer-event'; 4760const SWIPE_THRESHOLD = 40; 4761const Default$c = { 4762 endCallback: null, 4763 leftCallback: null, 4764 rightCallback: null 4765}; 4766const DefaultType$c = { 4767 endCallback: '(function|null)', 4768 leftCallback: '(function|null)', 4769 rightCallback: '(function|null)' 4770}; 4771/** 4772 * Class definition 4773 */ 4774 4775class Swipe extends Config { 4776 constructor(element, config) { 4777 super(); 4778 this._element = element; 4779 4780 if (!element || !Swipe.isSupported()) { 4781 return; 4782 } 4783 4784 this._config = this._getConfig(config); 4785 this._deltaX = 0; 4786 this._supportPointerEvents = Boolean(window.PointerEvent); 4787 4788 this._initEvents(); 4789 } // Getters 4790 4791 4792 static get Default() { 4793 return Default$c; 4794 } 4795 4796 static get DefaultType() { 4797 return DefaultType$c; 4798 } 4799 4800 static get NAME() { 4801 return NAME$d; 4802 } // Public 4803 4804 4805 dispose() { 4806 EventHandler.off(this._element, EVENT_KEY$9); 4807 } // Private 4808 4809 4810 _start(event) { 4811 if (!this._supportPointerEvents) { 4812 this._deltaX = event.touches[0].clientX; 4813 return; 4814 } 4815 4816 if (this._eventIsPointerPenTouch(event)) { 4817 this._deltaX = event.clientX; 4818 } 4819 } 4820 4821 _end(event) { 4822 if (this._eventIsPointerPenTouch(event)) { 4823 this._deltaX = event.clientX - this._deltaX; 4824 } 4825 4826 this._handleSwipe(); 4827 4828 execute(this._config.endCallback); 4829 } 4830 4831 _move(event) { 4832 this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX; 4833 } 4834 4835 _handleSwipe() { 4836 const absDeltaX = Math.abs(this._deltaX); 4837 4838 if (absDeltaX <= SWIPE_THRESHOLD) { 4839 return; 4840 } 4841 4842 const direction = absDeltaX / this._deltaX; 4843 this._deltaX = 0; 4844 4845 if (!direction) { 4846 return; 4847 } 4848 4849 execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback); 4850 } 4851 4852 _initEvents() { 4853 if (this._supportPointerEvents) { 4854 EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event)); 4855 EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event)); 4856 4857 this._element.classList.add(CLASS_NAME_POINTER_EVENT); 4858 } else { 4859 EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event)); 4860 EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event)); 4861 EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event)); 4862 } 4863 } 4864 4865 _eventIsPointerPenTouch(event) { 4866 return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); 4867 } // Static 4868 4869 4870 static isSupported() { 4871 return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; 4872 } 4873 4874} 4875 4876/** 4877 * -------------------------------------------------------------------------- 4878 * Bootstrap (v5.2.1): carousel.js 4879 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4880 * -------------------------------------------------------------------------- 4881 */ 4882/** 4883 * Constants 4884 */ 4885 4886const NAME$c = 'carousel'; 4887const DATA_KEY$8 = 'bs.carousel'; 4888const EVENT_KEY$8 = `.${DATA_KEY$8}`; 4889const DATA_API_KEY$5 = '.data-api'; 4890const ARROW_LEFT_KEY$1 = 'ArrowLeft'; 4891const ARROW_RIGHT_KEY$1 = 'ArrowRight'; 4892const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch 4893 4894const ORDER_NEXT = 'next'; 4895const ORDER_PREV = 'prev'; 4896const DIRECTION_LEFT = 'left'; 4897const DIRECTION_RIGHT = 'right'; 4898const EVENT_SLIDE = `slide${EVENT_KEY$8}`; 4899const EVENT_SLID = `slid${EVENT_KEY$8}`; 4900const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`; 4901const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`; 4902const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`; 4903const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`; 4904const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`; 4905const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`; 4906const CLASS_NAME_CAROUSEL = 'carousel'; 4907const CLASS_NAME_ACTIVE$2 = 'active'; 4908const CLASS_NAME_SLIDE = 'slide'; 4909const CLASS_NAME_END = 'carousel-item-end'; 4910const CLASS_NAME_START = 'carousel-item-start'; 4911const CLASS_NAME_NEXT = 'carousel-item-next'; 4912const CLASS_NAME_PREV = 'carousel-item-prev'; 4913const SELECTOR_ACTIVE = '.active'; 4914const SELECTOR_ITEM = '.carousel-item'; 4915const SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM; 4916const SELECTOR_ITEM_IMG = '.carousel-item img'; 4917const SELECTOR_INDICATORS = '.carousel-indicators'; 4918const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'; 4919const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]'; 4920const KEY_TO_DIRECTION = { 4921 [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT, 4922 [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT 4923}; 4924const Default$b = { 4925 interval: 5000, 4926 keyboard: true, 4927 pause: 'hover', 4928 ride: false, 4929 touch: true, 4930 wrap: true 4931}; 4932const DefaultType$b = { 4933 interval: '(number|boolean)', 4934 // TODO:v6 remove boolean support 4935 keyboard: 'boolean', 4936 pause: '(string|boolean)', 4937 ride: '(boolean|string)', 4938 touch: 'boolean', 4939 wrap: 'boolean' 4940}; 4941/** 4942 * Class definition 4943 */ 4944 4945class Carousel extends BaseComponent { 4946 constructor(element, config) { 4947 super(element, config); 4948 this._interval = null; 4949 this._activeElement = null; 4950 this._isSliding = false; 4951 this.touchTimeout = null; 4952 this._swipeHelper = null; 4953 this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); 4954 4955 this._addEventListeners(); 4956 4957 if (this._config.ride === CLASS_NAME_CAROUSEL) { 4958 this.cycle(); 4959 } 4960 } // Getters 4961 4962 4963 static get Default() { 4964 return Default$b; 4965 } 4966 4967 static get DefaultType() { 4968 return DefaultType$b; 4969 } 4970 4971 static get NAME() { 4972 return NAME$c; 4973 } // Public 4974 4975 4976 next() { 4977 this._slide(ORDER_NEXT); 4978 } 4979 4980 nextWhenVisible() { 4981 // FIXME TODO use `document.visibilityState` 4982 // Don't call next when the page isn't visible 4983 // or the carousel or its parent isn't visible 4984 if (!document.hidden && isVisible(this._element)) { 4985 this.next(); 4986 } 4987 } 4988 4989 prev() { 4990 this._slide(ORDER_PREV); 4991 } 4992 4993 pause() { 4994 if (this._isSliding) { 4995 triggerTransitionEnd(this._element); 4996 } 4997 4998 this._clearInterval(); 4999 } 5000 5001 cycle() { 5002 this._clearInterval(); 5003 5004 this._updateInterval(); 5005 5006 this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval); 5007 } 5008 5009 _maybeEnableCycle() { 5010 if (!this._config.ride) { 5011 return; 5012 } 5013 5014 if (this._isSliding) { 5015 EventHandler.one(this._element, EVENT_SLID, () => this.cycle()); 5016 return; 5017 } 5018 5019 this.cycle(); 5020 } 5021 5022 to(index) { 5023 const items = this._getItems(); 5024 5025 if (index > items.length - 1 || index < 0) { 5026 return; 5027 } 5028 5029 if (this._isSliding) { 5030 EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); 5031 return; 5032 } 5033 5034 const activeIndex = this._getItemIndex(this._getActive()); 5035 5036 if (activeIndex === index) { 5037 return; 5038 } 5039 5040 const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV; 5041 5042 this._slide(order, items[index]); 5043 } 5044 5045 dispose() { 5046 if (this._swipeHelper) { 5047 this._swipeHelper.dispose(); 5048 } 5049 5050 super.dispose(); 5051 } // Private 5052 5053 5054 _configAfterMerge(config) { 5055 config.defaultInterval = config.interval; 5056 return config; 5057 } 5058 5059 _addEventListeners() { 5060 if (this._config.keyboard) { 5061 EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event)); 5062 } 5063 5064 if (this._config.pause === 'hover') { 5065 EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause()); 5066 EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle()); 5067 } 5068 5069 if (this._config.touch && Swipe.isSupported()) { 5070 this._addTouchEventListeners(); 5071 } 5072 } 5073 5074 _addTouchEventListeners() { 5075 for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) { 5076 EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault()); 5077 } 5078 5079 const endCallBack = () => { 5080 if (this._config.pause !== 'hover') { 5081 return; 5082 } // If it's a touch-enabled device, mouseenter/leave are fired as 5083 // part of the mouse compatibility events on first tap - the carousel 5084 // would stop cycling until user tapped out of it; 5085 // here, we listen for touchend, explicitly pause the carousel 5086 // (as if it's the second time we tap on it, mouseenter compat event 5087 // is NOT fired) and after a timeout (to allow for mouse compatibility 5088 // events to fire) we explicitly restart cycling 5089 5090 5091 this.pause(); 5092 5093 if (this.touchTimeout) { 5094 clearTimeout(this.touchTimeout); 5095 } 5096 5097 this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval); 5098 }; 5099 5100 const swipeConfig = { 5101 leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)), 5102 rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)), 5103 endCallback: endCallBack 5104 }; 5105 this._swipeHelper = new Swipe(this._element, swipeConfig); 5106 } 5107 5108 _keydown(event) { 5109 if (/input|textarea/i.test(event.target.tagName)) { 5110 return; 5111 } 5112 5113 const direction = KEY_TO_DIRECTION[event.key]; 5114 5115 if (direction) { 5116 event.preventDefault(); 5117 5118 this._slide(this._directionToOrder(direction)); 5119 } 5120 } 5121 5122 _getItemIndex(element) { 5123 return this._getItems().indexOf(element); 5124 } 5125 5126 _setActiveIndicatorElement(index) { 5127 if (!this._indicatorsElement) { 5128 return; 5129 } 5130 5131 const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement); 5132 activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); 5133 activeIndicator.removeAttribute('aria-current'); 5134 const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement); 5135 5136 if (newActiveIndicator) { 5137 newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2); 5138 newActiveIndicator.setAttribute('aria-current', 'true'); 5139 } 5140 } 5141 5142 _updateInterval() { 5143 const element = this._activeElement || this._getActive(); 5144 5145 if (!element) { 5146 return; 5147 } 5148 5149 const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10); 5150 this._config.interval = elementInterval || this._config.defaultInterval; 5151 } 5152 5153 _slide(order, element = null) { 5154 if (this._isSliding) { 5155 return; 5156 } 5157 5158 const activeElement = this._getActive(); 5159 5160 const isNext = order === ORDER_NEXT; 5161 const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap); 5162 5163 if (nextElement === activeElement) { 5164 return; 5165 } 5166 5167 const nextElementIndex = this._getItemIndex(nextElement); 5168 5169 const triggerEvent = eventName => { 5170 return EventHandler.trigger(this._element, eventName, { 5171 relatedTarget: nextElement, 5172 direction: this._orderToDirection(order), 5173 from: this._getItemIndex(activeElement), 5174 to: nextElementIndex 5175 }); 5176 }; 5177 5178 const slideEvent = triggerEvent(EVENT_SLIDE); 5179 5180 if (slideEvent.defaultPrevented) { 5181 return; 5182 } 5183 5184 if (!activeElement || !nextElement) { 5185 // Some weirdness is happening, so we bail 5186 // todo: change tests that use empty divs to avoid this check 5187 return; 5188 } 5189 5190 const isCycling = Boolean(this._interval); 5191 this.pause(); 5192 this._isSliding = true; 5193 5194 this._setActiveIndicatorElement(nextElementIndex); 5195 5196 this._activeElement = nextElement; 5197 const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; 5198 const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; 5199 nextElement.classList.add(orderClassName); 5200 reflow(nextElement); 5201 activeElement.classList.add(directionalClassName); 5202 nextElement.classList.add(directionalClassName); 5203 5204 const completeCallBack = () => { 5205 nextElement.classList.remove(directionalClassName, orderClassName); 5206 nextElement.classList.add(CLASS_NAME_ACTIVE$2); 5207 activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); 5208 this._isSliding = false; 5209 triggerEvent(EVENT_SLID); 5210 }; 5211 5212 this._queueCallback(completeCallBack, activeElement, this._isAnimated()); 5213 5214 if (isCycling) { 5215 this.cycle(); 5216 } 5217 } 5218 5219 _isAnimated() { 5220 return this._element.classList.contains(CLASS_NAME_SLIDE); 5221 } 5222 5223 _getActive() { 5224 return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); 5225 } 5226 5227 _getItems() { 5228 return SelectorEngine.find(SELECTOR_ITEM, this._element); 5229 } 5230 5231 _clearInterval() { 5232 if (this._interval) { 5233 clearInterval(this._interval); 5234 this._interval = null; 5235 } 5236 } 5237 5238 _directionToOrder(direction) { 5239 if (isRTL()) { 5240 return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; 5241 } 5242 5243 return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; 5244 } 5245 5246 _orderToDirection(order) { 5247 if (isRTL()) { 5248 return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; 5249 } 5250 5251 return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; 5252 } // Static 5253 5254 5255 static jQueryInterface(config) { 5256 return this.each(function () { 5257 const data = Carousel.getOrCreateInstance(this, config); 5258 5259 if (typeof config === 'number') { 5260 data.to(config); 5261 return; 5262 } 5263 5264 if (typeof config === 'string') { 5265 if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { 5266 throw new TypeError(`No method named "${config}"`); 5267 } 5268 5269 data[config](); 5270 } 5271 }); 5272 } 5273 5274} 5275/** 5276 * Data API implementation 5277 */ 5278 5279 5280EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) { 5281 const target = getElementFromSelector(this); 5282 5283 if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { 5284 return; 5285 } 5286 5287 event.preventDefault(); 5288 const carousel = Carousel.getOrCreateInstance(target); 5289 const slideIndex = this.getAttribute('data-bs-slide-to'); 5290 5291 if (slideIndex) { 5292 carousel.to(slideIndex); 5293 5294 carousel._maybeEnableCycle(); 5295 5296 return; 5297 } 5298 5299 if (Manipulator.getDataAttribute(this, 'slide') === 'next') { 5300 carousel.next(); 5301 5302 carousel._maybeEnableCycle(); 5303 5304 return; 5305 } 5306 5307 carousel.prev(); 5308 5309 carousel._maybeEnableCycle(); 5310}); 5311EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => { 5312 const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); 5313 5314 for (const carousel of carousels) { 5315 Carousel.getOrCreateInstance(carousel); 5316 } 5317}); 5318/** 5319 * jQuery 5320 */ 5321 5322defineJQueryPlugin(Carousel); 5323 5324/** 5325 * -------------------------------------------------------------------------- 5326 * Bootstrap (v5.2.1): collapse.js 5327 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5328 * -------------------------------------------------------------------------- 5329 */ 5330/** 5331 * Constants 5332 */ 5333 5334const NAME$b = 'collapse'; 5335const DATA_KEY$7 = 'bs.collapse'; 5336const EVENT_KEY$7 = `.${DATA_KEY$7}`; 5337const DATA_API_KEY$4 = '.data-api'; 5338const EVENT_SHOW$6 = `show${EVENT_KEY$7}`; 5339const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`; 5340const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`; 5341const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`; 5342const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`; 5343const CLASS_NAME_SHOW$7 = 'show'; 5344const CLASS_NAME_COLLAPSE = 'collapse'; 5345const CLASS_NAME_COLLAPSING = 'collapsing'; 5346const CLASS_NAME_COLLAPSED = 'collapsed'; 5347const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; 5348const CLASS_NAME_HORIZONTAL = 'collapse-horizontal'; 5349const WIDTH = 'width'; 5350const HEIGHT = 'height'; 5351const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; 5352const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; 5353const Default$a = { 5354 parent: null, 5355 toggle: true 5356}; 5357const DefaultType$a = { 5358 parent: '(null|element)', 5359 toggle: 'boolean' 5360}; 5361/** 5362 * Class definition 5363 */ 5364 5365class Collapse extends BaseComponent { 5366 constructor(element, config) { 5367 super(element, config); 5368 this._isTransitioning = false; 5369 this._triggerArray = []; 5370 const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); 5371 5372 for (const elem of toggleList) { 5373 const selector = getSelectorFromElement(elem); 5374 const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element); 5375 5376 if (selector !== null && filterElement.length) { 5377 this._triggerArray.push(elem); 5378 } 5379 } 5380 5381 this._initializeChildren(); 5382 5383 if (!this._config.parent) { 5384 this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); 5385 } 5386 5387 if (this._config.toggle) { 5388 this.toggle(); 5389 } 5390 } // Getters 5391 5392 5393 static get Default() { 5394 return Default$a; 5395 } 5396 5397 static get DefaultType() { 5398 return DefaultType$a; 5399 } 5400 5401 static get NAME() { 5402 return NAME$b; 5403 } // Public 5404 5405 5406 toggle() { 5407 if (this._isShown()) { 5408 this.hide(); 5409 } else { 5410 this.show(); 5411 } 5412 } 5413 5414 show() { 5415 if (this._isTransitioning || this._isShown()) { 5416 return; 5417 } 5418 5419 let activeChildren = []; // find active children 5420 5421 if (this._config.parent) { 5422 activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, { 5423 toggle: false 5424 })); 5425 } 5426 5427 if (activeChildren.length && activeChildren[0]._isTransitioning) { 5428 return; 5429 } 5430 5431 const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); 5432 5433 if (startEvent.defaultPrevented) { 5434 return; 5435 } 5436 5437 for (const activeInstance of activeChildren) { 5438 activeInstance.hide(); 5439 } 5440 5441 const dimension = this._getDimension(); 5442 5443 this._element.classList.remove(CLASS_NAME_COLLAPSE); 5444 5445 this._element.classList.add(CLASS_NAME_COLLAPSING); 5446 5447 this._element.style[dimension] = 0; 5448 5449 this._addAriaAndCollapsedClass(this._triggerArray, true); 5450 5451 this._isTransitioning = true; 5452 5453 const complete = () => { 5454 this._isTransitioning = false; 5455 5456 this._element.classList.remove(CLASS_NAME_COLLAPSING); 5457 5458 this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); 5459 5460 this._element.style[dimension] = ''; 5461 EventHandler.trigger(this._element, EVENT_SHOWN$6); 5462 }; 5463 5464 const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); 5465 const scrollSize = `scroll${capitalizedDimension}`; 5466 5467 this._queueCallback(complete, this._element, true); 5468 5469 this._element.style[dimension] = `${this._element[scrollSize]}px`; 5470 } 5471 5472 hide() { 5473 if (this._isTransitioning || !this._isShown()) { 5474 return; 5475 } 5476 5477 const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); 5478 5479 if (startEvent.defaultPrevented) { 5480 return; 5481 } 5482 5483 const dimension = this._getDimension(); 5484 5485 this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; 5486 reflow(this._element); 5487 5488 this._element.classList.add(CLASS_NAME_COLLAPSING); 5489 5490 this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); 5491 5492 for (const trigger of this._triggerArray) { 5493 const element = getElementFromSelector(trigger); 5494 5495 if (element && !this._isShown(element)) { 5496 this._addAriaAndCollapsedClass([trigger], false); 5497 } 5498 } 5499 5500 this._isTransitioning = true; 5501 5502 const complete = () => { 5503 this._isTransitioning = false; 5504 5505 this._element.classList.remove(CLASS_NAME_COLLAPSING); 5506 5507 this._element.classList.add(CLASS_NAME_COLLAPSE); 5508 5509 EventHandler.trigger(this._element, EVENT_HIDDEN$6); 5510 }; 5511 5512 this._element.style[dimension] = ''; 5513 5514 this._queueCallback(complete, this._element, true); 5515 } 5516 5517 _isShown(element = this._element) { 5518 return element.classList.contains(CLASS_NAME_SHOW$7); 5519 } // Private 5520 5521 5522 _configAfterMerge(config) { 5523 config.toggle = Boolean(config.toggle); // Coerce string values 5524 5525 config.parent = getElement(config.parent); 5526 return config; 5527 } 5528 5529 _getDimension() { 5530 return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; 5531 } 5532 5533 _initializeChildren() { 5534 if (!this._config.parent) { 5535 return; 5536 } 5537 5538 const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4); 5539 5540 for (const element of children) { 5541 const selected = getElementFromSelector(element); 5542 5543 if (selected) { 5544 this._addAriaAndCollapsedClass([element], this._isShown(selected)); 5545 } 5546 } 5547 } 5548 5549 _getFirstLevelChildren(selector) { 5550 const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); // remove children if greater depth 5551 5552 return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element)); 5553 } 5554 5555 _addAriaAndCollapsedClass(triggerArray, isOpen) { 5556 if (!triggerArray.length) { 5557 return; 5558 } 5559 5560 for (const element of triggerArray) { 5561 element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen); 5562 element.setAttribute('aria-expanded', isOpen); 5563 } 5564 } // Static 5565 5566 5567 static jQueryInterface(config) { 5568 const _config = {}; 5569 5570 if (typeof config === 'string' && /show|hide/.test(config)) { 5571 _config.toggle = false; 5572 } 5573 5574 return this.each(function () { 5575 const data = Collapse.getOrCreateInstance(this, _config); 5576 5577 if (typeof config === 'string') { 5578 if (typeof data[config] === 'undefined') { 5579 throw new TypeError(`No method named "${config}"`); 5580 } 5581 5582 data[config](); 5583 } 5584 }); 5585 } 5586 5587} 5588/** 5589 * Data API implementation 5590 */ 5591 5592 5593EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) { 5594 // preventDefault only for <a> elements (which change the URL) not inside the collapsible element 5595 if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') { 5596 event.preventDefault(); 5597 } 5598 5599 const selector = getSelectorFromElement(this); 5600 const selectorElements = SelectorEngine.find(selector); 5601 5602 for (const element of selectorElements) { 5603 Collapse.getOrCreateInstance(element, { 5604 toggle: false 5605 }).toggle(); 5606 } 5607}); 5608/** 5609 * jQuery 5610 */ 5611 5612defineJQueryPlugin(Collapse); 5613 5614/** 5615 * -------------------------------------------------------------------------- 5616 * Bootstrap (v5.2.1): dropdown.js 5617 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5618 * -------------------------------------------------------------------------- 5619 */ 5620/** 5621 * Constants 5622 */ 5623 5624const NAME$a = 'dropdown'; 5625const DATA_KEY$6 = 'bs.dropdown'; 5626const EVENT_KEY$6 = `.${DATA_KEY$6}`; 5627const DATA_API_KEY$3 = '.data-api'; 5628const ESCAPE_KEY$2 = 'Escape'; 5629const TAB_KEY$1 = 'Tab'; 5630const ARROW_UP_KEY$1 = 'ArrowUp'; 5631const ARROW_DOWN_KEY$1 = 'ArrowDown'; 5632const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button 5633 5634const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`; 5635const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`; 5636const EVENT_SHOW$5 = `show${EVENT_KEY$6}`; 5637const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`; 5638const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; 5639const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`; 5640const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`; 5641const CLASS_NAME_SHOW$6 = 'show'; 5642const CLASS_NAME_DROPUP = 'dropup'; 5643const CLASS_NAME_DROPEND = 'dropend'; 5644const CLASS_NAME_DROPSTART = 'dropstart'; 5645const CLASS_NAME_DROPUP_CENTER = 'dropup-center'; 5646const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'; 5647const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)'; 5648const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`; 5649const SELECTOR_MENU = '.dropdown-menu'; 5650const SELECTOR_NAVBAR = '.navbar'; 5651const SELECTOR_NAVBAR_NAV = '.navbar-nav'; 5652const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; 5653const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'; 5654const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'; 5655const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'; 5656const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'; 5657const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'; 5658const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'; 5659const PLACEMENT_TOPCENTER = 'top'; 5660const PLACEMENT_BOTTOMCENTER = 'bottom'; 5661const Default$9 = { 5662 autoClose: true, 5663 boundary: 'clippingParents', 5664 display: 'dynamic', 5665 offset: [0, 2], 5666 popperConfig: null, 5667 reference: 'toggle' 5668}; 5669const DefaultType$9 = { 5670 autoClose: '(boolean|string)', 5671 boundary: '(string|element)', 5672 display: 'string', 5673 offset: '(array|string|function)', 5674 popperConfig: '(null|object|function)', 5675 reference: '(string|element|object)' 5676}; 5677/** 5678 * Class definition 5679 */ 5680 5681class Dropdown extends BaseComponent { 5682 constructor(element, config) { 5683 super(element, config); 5684 this._popper = null; 5685 this._parent = this._element.parentNode; // dropdown wrapper 5686 // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/ 5687 5688 this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0]; 5689 this._inNavbar = this._detectNavbar(); 5690 } // Getters 5691 5692 5693 static get Default() { 5694 return Default$9; 5695 } 5696 5697 static get DefaultType() { 5698 return DefaultType$9; 5699 } 5700 5701 static get NAME() { 5702 return NAME$a; 5703 } // Public 5704 5705 5706 toggle() { 5707 return this._isShown() ? this.hide() : this.show(); 5708 } 5709 5710 show() { 5711 if (isDisabled(this._element) || this._isShown()) { 5712 return; 5713 } 5714 5715 const relatedTarget = { 5716 relatedTarget: this._element 5717 }; 5718 const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget); 5719 5720 if (showEvent.defaultPrevented) { 5721 return; 5722 } 5723 5724 this._createPopper(); // If this is a touch-enabled device we add extra 5725 // empty mouseover listeners to the body's immediate children; 5726 // only needed because of broken event delegation on iOS 5727 // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html 5728 5729 5730 if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) { 5731 for (const element of [].concat(...document.body.children)) { 5732 EventHandler.on(element, 'mouseover', noop); 5733 } 5734 } 5735 5736 this._element.focus(); 5737 5738 this._element.setAttribute('aria-expanded', true); 5739 5740 this._menu.classList.add(CLASS_NAME_SHOW$6); 5741 5742 this._element.classList.add(CLASS_NAME_SHOW$6); 5743 5744 EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget); 5745 } 5746 5747 hide() { 5748 if (isDisabled(this._element) || !this._isShown()) { 5749 return; 5750 } 5751 5752 const relatedTarget = { 5753 relatedTarget: this._element 5754 }; 5755 5756 this._completeHide(relatedTarget); 5757 } 5758 5759 dispose() { 5760 if (this._popper) { 5761 this._popper.destroy(); 5762 } 5763 5764 super.dispose(); 5765 } 5766 5767 update() { 5768 this._inNavbar = this._detectNavbar(); 5769 5770 if (this._popper) { 5771 this._popper.update(); 5772 } 5773 } // Private 5774 5775 5776 _completeHide(relatedTarget) { 5777 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget); 5778 5779 if (hideEvent.defaultPrevented) { 5780 return; 5781 } // If this is a touch-enabled device we remove the extra 5782 // empty mouseover listeners we added for iOS support 5783 5784 5785 if ('ontouchstart' in document.documentElement) { 5786 for (const element of [].concat(...document.body.children)) { 5787 EventHandler.off(element, 'mouseover', noop); 5788 } 5789 } 5790 5791 if (this._popper) { 5792 this._popper.destroy(); 5793 } 5794 5795 this._menu.classList.remove(CLASS_NAME_SHOW$6); 5796 5797 this._element.classList.remove(CLASS_NAME_SHOW$6); 5798 5799 this._element.setAttribute('aria-expanded', 'false'); 5800 5801 Manipulator.removeDataAttribute(this._menu, 'popper'); 5802 EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget); 5803 } 5804 5805 _getConfig(config) { 5806 config = super._getConfig(config); 5807 5808 if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') { 5809 // Popper virtual elements require a getBoundingClientRect method 5810 throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); 5811 } 5812 5813 return config; 5814 } 5815 5816 _createPopper() { 5817 if (typeof _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ === 'undefined') { 5818 throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); 5819 } 5820 5821 let referenceElement = this._element; 5822 5823 if (this._config.reference === 'parent') { 5824 referenceElement = this._parent; 5825 } else if (isElement(this._config.reference)) { 5826 referenceElement = getElement(this._config.reference); 5827 } else if (typeof this._config.reference === 'object') { 5828 referenceElement = this._config.reference; 5829 } 5830 5831 const popperConfig = this._getPopperConfig(); 5832 5833 this._popper = _popperjs_core__WEBPACK_IMPORTED_MODULE_1__.createPopper(referenceElement, this._menu, popperConfig); 5834 } 5835 5836 _isShown() { 5837 return this._menu.classList.contains(CLASS_NAME_SHOW$6); 5838 } 5839 5840 _getPlacement() { 5841 const parentDropdown = this._parent; 5842 5843 if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { 5844 return PLACEMENT_RIGHT; 5845 } 5846 5847 if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { 5848 return PLACEMENT_LEFT; 5849 } 5850 5851 if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) { 5852 return PLACEMENT_TOPCENTER; 5853 } 5854 5855 if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) { 5856 return PLACEMENT_BOTTOMCENTER; 5857 } // We need to trim the value because custom properties can also include spaces 5858 5859 5860 const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'; 5861 5862 if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { 5863 return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; 5864 } 5865 5866 return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; 5867 } 5868 5869 _detectNavbar() { 5870 return this._element.closest(SELECTOR_NAVBAR) !== null; 5871 } 5872 5873 _getOffset() { 5874 const { 5875 offset 5876 } = this._config; 5877 5878 if (typeof offset === 'string') { 5879 return offset.split(',').map(value => Number.parseInt(value, 10)); 5880 } 5881 5882 if (typeof offset === 'function') { 5883 return popperData => offset(popperData, this._element); 5884 } 5885 5886 return offset; 5887 } 5888 5889 _getPopperConfig() { 5890 const defaultBsPopperConfig = { 5891 placement: this._getPlacement(), 5892 modifiers: [{ 5893 name: 'preventOverflow', 5894 options: { 5895 boundary: this._config.boundary 5896 } 5897 }, { 5898 name: 'offset', 5899 options: { 5900 offset: this._getOffset() 5901 } 5902 }] 5903 }; // Disable Popper if we have a static display or Dropdown is in Navbar 5904 5905 if (this._inNavbar || this._config.display === 'static') { 5906 Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove 5907 5908 defaultBsPopperConfig.modifiers = [{ 5909 name: 'applyStyles', 5910 enabled: false 5911 }]; 5912 } 5913 5914 return { ...defaultBsPopperConfig, 5915 ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) 5916 }; 5917 } 5918 5919 _selectMenuItem({ 5920 key, 5921 target 5922 }) { 5923 const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element)); 5924 5925 if (!items.length) { 5926 return; 5927 } // if target isn't included in items (e.g. when expanding the dropdown) 5928 // allow cycling to get the last item in case key equals ARROW_UP_KEY 5929 5930 5931 getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus(); 5932 } // Static 5933 5934 5935 static jQueryInterface(config) { 5936 return this.each(function () { 5937 const data = Dropdown.getOrCreateInstance(this, config); 5938 5939 if (typeof config !== 'string') { 5940 return; 5941 } 5942 5943 if (typeof data[config] === 'undefined') { 5944 throw new TypeError(`No method named "${config}"`); 5945 } 5946 5947 data[config](); 5948 }); 5949 } 5950 5951 static clearMenus(event) { 5952 if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) { 5953 return; 5954 } 5955 5956 const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN); 5957 5958 for (const toggle of openToggles) { 5959 const context = Dropdown.getInstance(toggle); 5960 5961 if (!context || context._config.autoClose === false) { 5962 continue; 5963 } 5964 5965 const composedPath = event.composedPath(); 5966 const isMenuTarget = composedPath.includes(context._menu); 5967 5968 if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) { 5969 continue; 5970 } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu 5971 5972 5973 if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { 5974 continue; 5975 } 5976 5977 const relatedTarget = { 5978 relatedTarget: context._element 5979 }; 5980 5981 if (event.type === 'click') { 5982 relatedTarget.clickEvent = event; 5983 } 5984 5985 context._completeHide(relatedTarget); 5986 } 5987 } 5988 5989 static dataApiKeydownHandler(event) { 5990 // If not an UP | DOWN | ESCAPE key => not a dropdown command 5991 // If input/textarea && if key is other than ESCAPE => not a dropdown command 5992 const isInput = /input|textarea/i.test(event.target.tagName); 5993 const isEscapeEvent = event.key === ESCAPE_KEY$2; 5994 const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key); 5995 5996 if (!isUpOrDownEvent && !isEscapeEvent) { 5997 return; 5998 } 5999 6000 if (isInput && !isEscapeEvent) { 6001 return; 6002 } 6003 6004 event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/ 6005 6006 const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0]; 6007 const instance = Dropdown.getOrCreateInstance(getToggleButton); 6008 6009 if (isUpOrDownEvent) { 6010 event.stopPropagation(); 6011 instance.show(); 6012 6013 instance._selectMenuItem(event); 6014 6015 return; 6016 } 6017 6018 if (instance._isShown()) { 6019 // else is escape and we check if it is shown 6020 event.stopPropagation(); 6021 instance.hide(); 6022 getToggleButton.focus(); 6023 } 6024 } 6025 6026} 6027/** 6028 * Data API implementation 6029 */ 6030 6031 6032EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); 6033EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); 6034EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); 6035EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); 6036EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) { 6037 event.preventDefault(); 6038 Dropdown.getOrCreateInstance(this).toggle(); 6039}); 6040/** 6041 * jQuery 6042 */ 6043 6044defineJQueryPlugin(Dropdown); 6045 6046/** 6047 * -------------------------------------------------------------------------- 6048 * Bootstrap (v5.2.1): util/scrollBar.js 6049 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6050 * -------------------------------------------------------------------------- 6051 */ 6052/** 6053 * Constants 6054 */ 6055 6056const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; 6057const SELECTOR_STICKY_CONTENT = '.sticky-top'; 6058const PROPERTY_PADDING = 'padding-right'; 6059const PROPERTY_MARGIN = 'margin-right'; 6060/** 6061 * Class definition 6062 */ 6063 6064class ScrollBarHelper { 6065 constructor() { 6066 this._element = document.body; 6067 } // Public 6068 6069 6070 getWidth() { 6071 // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes 6072 const documentWidth = document.documentElement.clientWidth; 6073 return Math.abs(window.innerWidth - documentWidth); 6074 } 6075 6076 hide() { 6077 const width = this.getWidth(); 6078 6079 this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width 6080 6081 6082 this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth 6083 6084 6085 this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width); 6086 6087 this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width); 6088 } 6089 6090 reset() { 6091 this._resetElementAttributes(this._element, 'overflow'); 6092 6093 this._resetElementAttributes(this._element, PROPERTY_PADDING); 6094 6095 this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING); 6096 6097 this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN); 6098 } 6099 6100 isOverflowing() { 6101 return this.getWidth() > 0; 6102 } // Private 6103 6104 6105 _disableOverFlow() { 6106 this._saveInitialAttribute(this._element, 'overflow'); 6107 6108 this._element.style.overflow = 'hidden'; 6109 } 6110 6111 _setElementAttributes(selector, styleProperty, callback) { 6112 const scrollbarWidth = this.getWidth(); 6113 6114 const manipulationCallBack = element => { 6115 if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { 6116 return; 6117 } 6118 6119 this._saveInitialAttribute(element, styleProperty); 6120 6121 const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty); 6122 element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`); 6123 }; 6124 6125 this._applyManipulationCallback(selector, manipulationCallBack); 6126 } 6127 6128 _saveInitialAttribute(element, styleProperty) { 6129 const actualValue = element.style.getPropertyValue(styleProperty); 6130 6131 if (actualValue) { 6132 Manipulator.setDataAttribute(element, styleProperty, actualValue); 6133 } 6134 } 6135 6136 _resetElementAttributes(selector, styleProperty) { 6137 const manipulationCallBack = element => { 6138 const value = Manipulator.getDataAttribute(element, styleProperty); // We only want to remove the property if the value is `null`; the value can also be zero 6139 6140 if (value === null) { 6141 element.style.removeProperty(styleProperty); 6142 return; 6143 } 6144 6145 Manipulator.removeDataAttribute(element, styleProperty); 6146 element.style.setProperty(styleProperty, value); 6147 }; 6148 6149 this._applyManipulationCallback(selector, manipulationCallBack); 6150 } 6151 6152 _applyManipulationCallback(selector, callBack) { 6153 if (isElement(selector)) { 6154 callBack(selector); 6155 return; 6156 } 6157 6158 for (const sel of SelectorEngine.find(selector, this._element)) { 6159 callBack(sel); 6160 } 6161 } 6162 6163} 6164 6165/** 6166 * -------------------------------------------------------------------------- 6167 * Bootstrap (v5.2.1): util/backdrop.js 6168 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6169 * -------------------------------------------------------------------------- 6170 */ 6171/** 6172 * Constants 6173 */ 6174 6175const NAME$9 = 'backdrop'; 6176const CLASS_NAME_FADE$4 = 'fade'; 6177const CLASS_NAME_SHOW$5 = 'show'; 6178const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; 6179const Default$8 = { 6180 className: 'modal-backdrop', 6181 clickCallback: null, 6182 isAnimated: false, 6183 isVisible: true, 6184 // if false, we use the backdrop helper without adding any element to the dom 6185 rootElement: 'body' // give the choice to place backdrop under different elements 6186 6187}; 6188const DefaultType$8 = { 6189 className: 'string', 6190 clickCallback: '(function|null)', 6191 isAnimated: 'boolean', 6192 isVisible: 'boolean', 6193 rootElement: '(element|string)' 6194}; 6195/** 6196 * Class definition 6197 */ 6198 6199class Backdrop extends Config { 6200 constructor(config) { 6201 super(); 6202 this._config = this._getConfig(config); 6203 this._isAppended = false; 6204 this._element = null; 6205 } // Getters 6206 6207 6208 static get Default() { 6209 return Default$8; 6210 } 6211 6212 static get DefaultType() { 6213 return DefaultType$8; 6214 } 6215 6216 static get NAME() { 6217 return NAME$9; 6218 } // Public 6219 6220 6221 show(callback) { 6222 if (!this._config.isVisible) { 6223 execute(callback); 6224 return; 6225 } 6226 6227 this._append(); 6228 6229 const element = this._getElement(); 6230 6231 if (this._config.isAnimated) { 6232 reflow(element); 6233 } 6234 6235 element.classList.add(CLASS_NAME_SHOW$5); 6236 6237 this._emulateAnimation(() => { 6238 execute(callback); 6239 }); 6240 } 6241 6242 hide(callback) { 6243 if (!this._config.isVisible) { 6244 execute(callback); 6245 return; 6246 } 6247 6248 this._getElement().classList.remove(CLASS_NAME_SHOW$5); 6249 6250 this._emulateAnimation(() => { 6251 this.dispose(); 6252 execute(callback); 6253 }); 6254 } 6255 6256 dispose() { 6257 if (!this._isAppended) { 6258 return; 6259 } 6260 6261 EventHandler.off(this._element, EVENT_MOUSEDOWN); 6262 6263 this._element.remove(); 6264 6265 this._isAppended = false; 6266 } // Private 6267 6268 6269 _getElement() { 6270 if (!this._element) { 6271 const backdrop = document.createElement('div'); 6272 backdrop.className = this._config.className; 6273 6274 if (this._config.isAnimated) { 6275 backdrop.classList.add(CLASS_NAME_FADE$4); 6276 } 6277 6278 this._element = backdrop; 6279 } 6280 6281 return this._element; 6282 } 6283 6284 _configAfterMerge(config) { 6285 // use getElement() with the default "body" to get a fresh Element on each instantiation 6286 config.rootElement = getElement(config.rootElement); 6287 return config; 6288 } 6289 6290 _append() { 6291 if (this._isAppended) { 6292 return; 6293 } 6294 6295 const element = this._getElement(); 6296 6297 this._config.rootElement.append(element); 6298 6299 EventHandler.on(element, EVENT_MOUSEDOWN, () => { 6300 execute(this._config.clickCallback); 6301 }); 6302 this._isAppended = true; 6303 } 6304 6305 _emulateAnimation(callback) { 6306 executeAfterTransition(callback, this._getElement(), this._config.isAnimated); 6307 } 6308 6309} 6310 6311/** 6312 * -------------------------------------------------------------------------- 6313 * Bootstrap (v5.2.1): util/focustrap.js 6314 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6315 * -------------------------------------------------------------------------- 6316 */ 6317/** 6318 * Constants 6319 */ 6320 6321const NAME$8 = 'focustrap'; 6322const DATA_KEY$5 = 'bs.focustrap'; 6323const EVENT_KEY$5 = `.${DATA_KEY$5}`; 6324const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`; 6325const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; 6326const TAB_KEY = 'Tab'; 6327const TAB_NAV_FORWARD = 'forward'; 6328const TAB_NAV_BACKWARD = 'backward'; 6329const Default$7 = { 6330 autofocus: true, 6331 trapElement: null // The element to trap focus inside of 6332 6333}; 6334const DefaultType$7 = { 6335 autofocus: 'boolean', 6336 trapElement: 'element' 6337}; 6338/** 6339 * Class definition 6340 */ 6341 6342class FocusTrap extends Config { 6343 constructor(config) { 6344 super(); 6345 this._config = this._getConfig(config); 6346 this._isActive = false; 6347 this._lastTabNavDirection = null; 6348 } // Getters 6349 6350 6351 static get Default() { 6352 return Default$7; 6353 } 6354 6355 static get DefaultType() { 6356 return DefaultType$7; 6357 } 6358 6359 static get NAME() { 6360 return NAME$8; 6361 } // Public 6362 6363 6364 activate() { 6365 if (this._isActive) { 6366 return; 6367 } 6368 6369 if (this._config.autofocus) { 6370 this._config.trapElement.focus(); 6371 } 6372 6373 EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop 6374 6375 EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event)); 6376 EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event)); 6377 this._isActive = true; 6378 } 6379 6380 deactivate() { 6381 if (!this._isActive) { 6382 return; 6383 } 6384 6385 this._isActive = false; 6386 EventHandler.off(document, EVENT_KEY$5); 6387 } // Private 6388 6389 6390 _handleFocusin(event) { 6391 const { 6392 trapElement 6393 } = this._config; 6394 6395 if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) { 6396 return; 6397 } 6398 6399 const elements = SelectorEngine.focusableChildren(trapElement); 6400 6401 if (elements.length === 0) { 6402 trapElement.focus(); 6403 } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { 6404 elements[elements.length - 1].focus(); 6405 } else { 6406 elements[0].focus(); 6407 } 6408 } 6409 6410 _handleKeydown(event) { 6411 if (event.key !== TAB_KEY) { 6412 return; 6413 } 6414 6415 this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; 6416 } 6417 6418} 6419 6420/** 6421 * -------------------------------------------------------------------------- 6422 * Bootstrap (v5.2.1): modal.js 6423 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6424 * -------------------------------------------------------------------------- 6425 */ 6426/** 6427 * Constants 6428 */ 6429 6430const NAME$7 = 'modal'; 6431const DATA_KEY$4 = 'bs.modal'; 6432const EVENT_KEY$4 = `.${DATA_KEY$4}`; 6433const DATA_API_KEY$2 = '.data-api'; 6434const ESCAPE_KEY$1 = 'Escape'; 6435const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`; 6436const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; 6437const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; 6438const EVENT_SHOW$4 = `show${EVENT_KEY$4}`; 6439const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; 6440const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; 6441const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`; 6442const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`; 6443const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; 6444const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; 6445const CLASS_NAME_OPEN = 'modal-open'; 6446const CLASS_NAME_FADE$3 = 'fade'; 6447const CLASS_NAME_SHOW$4 = 'show'; 6448const CLASS_NAME_STATIC = 'modal-static'; 6449const OPEN_SELECTOR$1 = '.modal.show'; 6450const SELECTOR_DIALOG = '.modal-dialog'; 6451const SELECTOR_MODAL_BODY = '.modal-body'; 6452const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; 6453const Default$6 = { 6454 backdrop: true, 6455 focus: true, 6456 keyboard: true 6457}; 6458const DefaultType$6 = { 6459 backdrop: '(boolean|string)', 6460 focus: 'boolean', 6461 keyboard: 'boolean' 6462}; 6463/** 6464 * Class definition 6465 */ 6466 6467class Modal extends BaseComponent { 6468 constructor(element, config) { 6469 super(element, config); 6470 this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); 6471 this._backdrop = this._initializeBackDrop(); 6472 this._focustrap = this._initializeFocusTrap(); 6473 this._isShown = false; 6474 this._isTransitioning = false; 6475 this._scrollBar = new ScrollBarHelper(); 6476 6477 this._addEventListeners(); 6478 } // Getters 6479 6480 6481 static get Default() { 6482 return Default$6; 6483 } 6484 6485 static get DefaultType() { 6486 return DefaultType$6; 6487 } 6488 6489 static get NAME() { 6490 return NAME$7; 6491 } // Public 6492 6493 6494 toggle(relatedTarget) { 6495 return this._isShown ? this.hide() : this.show(relatedTarget); 6496 } 6497 6498 show(relatedTarget) { 6499 if (this._isShown || this._isTransitioning) { 6500 return; 6501 } 6502 6503 const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, { 6504 relatedTarget 6505 }); 6506 6507 if (showEvent.defaultPrevented) { 6508 return; 6509 } 6510 6511 this._isShown = true; 6512 this._isTransitioning = true; 6513 6514 this._scrollBar.hide(); 6515 6516 document.body.classList.add(CLASS_NAME_OPEN); 6517 6518 this._adjustDialog(); 6519 6520 this._backdrop.show(() => this._showElement(relatedTarget)); 6521 } 6522 6523 hide() { 6524 if (!this._isShown || this._isTransitioning) { 6525 return; 6526 } 6527 6528 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4); 6529 6530 if (hideEvent.defaultPrevented) { 6531 return; 6532 } 6533 6534 this._isShown = false; 6535 this._isTransitioning = true; 6536 6537 this._focustrap.deactivate(); 6538 6539 this._element.classList.remove(CLASS_NAME_SHOW$4); 6540 6541 this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); 6542 } 6543 6544 dispose() { 6545 for (const htmlElement of [window, this._dialog]) { 6546 EventHandler.off(htmlElement, EVENT_KEY$4); 6547 } 6548 6549 this._backdrop.dispose(); 6550 6551 this._focustrap.deactivate(); 6552 6553 super.dispose(); 6554 } 6555 6556 handleUpdate() { 6557 this._adjustDialog(); 6558 } // Private 6559 6560 6561 _initializeBackDrop() { 6562 return new Backdrop({ 6563 isVisible: Boolean(this._config.backdrop), 6564 // 'static' option will be translated to true, and booleans will keep their value, 6565 isAnimated: this._isAnimated() 6566 }); 6567 } 6568 6569 _initializeFocusTrap() { 6570 return new FocusTrap({ 6571 trapElement: this._element 6572 }); 6573 } 6574 6575 _showElement(relatedTarget) { 6576 // try to append dynamic modal 6577 if (!document.body.contains(this._element)) { 6578 document.body.append(this._element); 6579 } 6580 6581 this._element.style.display = 'block'; 6582 6583 this._element.removeAttribute('aria-hidden'); 6584 6585 this._element.setAttribute('aria-modal', true); 6586 6587 this._element.setAttribute('role', 'dialog'); 6588 6589 this._element.scrollTop = 0; 6590 const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); 6591 6592 if (modalBody) { 6593 modalBody.scrollTop = 0; 6594 } 6595 6596 reflow(this._element); 6597 6598 this._element.classList.add(CLASS_NAME_SHOW$4); 6599 6600 const transitionComplete = () => { 6601 if (this._config.focus) { 6602 this._focustrap.activate(); 6603 } 6604 6605 this._isTransitioning = false; 6606 EventHandler.trigger(this._element, EVENT_SHOWN$4, { 6607 relatedTarget 6608 }); 6609 }; 6610 6611 this._queueCallback(transitionComplete, this._dialog, this._isAnimated()); 6612 } 6613 6614 _addEventListeners() { 6615 EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => { 6616 if (event.key !== ESCAPE_KEY$1) { 6617 return; 6618 } 6619 6620 if (this._config.keyboard) { 6621 event.preventDefault(); 6622 this.hide(); 6623 return; 6624 } 6625 6626 this._triggerBackdropTransition(); 6627 }); 6628 EventHandler.on(window, EVENT_RESIZE$1, () => { 6629 if (this._isShown && !this._isTransitioning) { 6630 this._adjustDialog(); 6631 } 6632 }); 6633 EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => { 6634 EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => { 6635 // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks 6636 if (this._dialog.contains(event.target) || this._dialog.contains(event2.target)) { 6637 return; 6638 } 6639 6640 if (this._config.backdrop === 'static') { 6641 this._triggerBackdropTransition(); 6642 6643 return; 6644 } 6645 6646 if (this._config.backdrop) { 6647 this.hide(); 6648 } 6649 }); 6650 }); 6651 } 6652 6653 _hideModal() { 6654 this._element.style.display = 'none'; 6655 6656 this._element.setAttribute('aria-hidden', true); 6657 6658 this._element.removeAttribute('aria-modal'); 6659 6660 this._element.removeAttribute('role'); 6661 6662 this._isTransitioning = false; 6663 6664 this._backdrop.hide(() => { 6665 document.body.classList.remove(CLASS_NAME_OPEN); 6666 6667 this._resetAdjustments(); 6668 6669 this._scrollBar.reset(); 6670 6671 EventHandler.trigger(this._element, EVENT_HIDDEN$4); 6672 }); 6673 } 6674 6675 _isAnimated() { 6676 return this._element.classList.contains(CLASS_NAME_FADE$3); 6677 } 6678 6679 _triggerBackdropTransition() { 6680 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); 6681 6682 if (hideEvent.defaultPrevented) { 6683 return; 6684 } 6685 6686 const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; 6687 const initialOverflowY = this._element.style.overflowY; // return if the following background transition hasn't yet completed 6688 6689 if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) { 6690 return; 6691 } 6692 6693 if (!isModalOverflowing) { 6694 this._element.style.overflowY = 'hidden'; 6695 } 6696 6697 this._element.classList.add(CLASS_NAME_STATIC); 6698 6699 this._queueCallback(() => { 6700 this._element.classList.remove(CLASS_NAME_STATIC); 6701 6702 this._queueCallback(() => { 6703 this._element.style.overflowY = initialOverflowY; 6704 }, this._dialog); 6705 }, this._dialog); 6706 6707 this._element.focus(); 6708 } 6709 /** 6710 * The following methods are used to handle overflowing modals 6711 */ 6712 6713 6714 _adjustDialog() { 6715 const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; 6716 6717 const scrollbarWidth = this._scrollBar.getWidth(); 6718 6719 const isBodyOverflowing = scrollbarWidth > 0; 6720 6721 if (isBodyOverflowing && !isModalOverflowing) { 6722 const property = isRTL() ? 'paddingLeft' : 'paddingRight'; 6723 this._element.style[property] = `${scrollbarWidth}px`; 6724 } 6725 6726 if (!isBodyOverflowing && isModalOverflowing) { 6727 const property = isRTL() ? 'paddingRight' : 'paddingLeft'; 6728 this._element.style[property] = `${scrollbarWidth}px`; 6729 } 6730 } 6731 6732 _resetAdjustments() { 6733 this._element.style.paddingLeft = ''; 6734 this._element.style.paddingRight = ''; 6735 } // Static 6736 6737 6738 static jQueryInterface(config, relatedTarget) { 6739 return this.each(function () { 6740 const data = Modal.getOrCreateInstance(this, config); 6741 6742 if (typeof config !== 'string') { 6743 return; 6744 } 6745 6746 if (typeof data[config] === 'undefined') { 6747 throw new TypeError(`No method named "${config}"`); 6748 } 6749 6750 data[config](relatedTarget); 6751 }); 6752 } 6753 6754} 6755/** 6756 * Data API implementation 6757 */ 6758 6759 6760EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) { 6761 const target = getElementFromSelector(this); 6762 6763 if (['A', 'AREA'].includes(this.tagName)) { 6764 event.preventDefault(); 6765 } 6766 6767 EventHandler.one(target, EVENT_SHOW$4, showEvent => { 6768 if (showEvent.defaultPrevented) { 6769 // only register focus restorer if modal will actually get shown 6770 return; 6771 } 6772 6773 EventHandler.one(target, EVENT_HIDDEN$4, () => { 6774 if (isVisible(this)) { 6775 this.focus(); 6776 } 6777 }); 6778 }); // avoid conflict when clicking modal toggler while another one is open 6779 6780 const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); 6781 6782 if (alreadyOpen) { 6783 Modal.getInstance(alreadyOpen).hide(); 6784 } 6785 6786 const data = Modal.getOrCreateInstance(target); 6787 data.toggle(this); 6788}); 6789enableDismissTrigger(Modal); 6790/** 6791 * jQuery 6792 */ 6793 6794defineJQueryPlugin(Modal); 6795 6796/** 6797 * -------------------------------------------------------------------------- 6798 * Bootstrap (v5.2.1): offcanvas.js 6799 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6800 * -------------------------------------------------------------------------- 6801 */ 6802/** 6803 * Constants 6804 */ 6805 6806const NAME$6 = 'offcanvas'; 6807const DATA_KEY$3 = 'bs.offcanvas'; 6808const EVENT_KEY$3 = `.${DATA_KEY$3}`; 6809const DATA_API_KEY$1 = '.data-api'; 6810const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`; 6811const ESCAPE_KEY = 'Escape'; 6812const CLASS_NAME_SHOW$3 = 'show'; 6813const CLASS_NAME_SHOWING$1 = 'showing'; 6814const CLASS_NAME_HIDING = 'hiding'; 6815const CLASS_NAME_BACKDROP = 'offcanvas-backdrop'; 6816const OPEN_SELECTOR = '.offcanvas.show'; 6817const EVENT_SHOW$3 = `show${EVENT_KEY$3}`; 6818const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`; 6819const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`; 6820const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`; 6821const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`; 6822const EVENT_RESIZE = `resize${EVENT_KEY$3}`; 6823const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`; 6824const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`; 6825const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]'; 6826const Default$5 = { 6827 backdrop: true, 6828 keyboard: true, 6829 scroll: false 6830}; 6831const DefaultType$5 = { 6832 backdrop: '(boolean|string)', 6833 keyboard: 'boolean', 6834 scroll: 'boolean' 6835}; 6836/** 6837 * Class definition 6838 */ 6839 6840class Offcanvas extends BaseComponent { 6841 constructor(element, config) { 6842 super(element, config); 6843 this._isShown = false; 6844 this._backdrop = this._initializeBackDrop(); 6845 this._focustrap = this._initializeFocusTrap(); 6846 6847 this._addEventListeners(); 6848 } // Getters 6849 6850 6851 static get Default() { 6852 return Default$5; 6853 } 6854 6855 static get DefaultType() { 6856 return DefaultType$5; 6857 } 6858 6859 static get NAME() { 6860 return NAME$6; 6861 } // Public 6862 6863 6864 toggle(relatedTarget) { 6865 return this._isShown ? this.hide() : this.show(relatedTarget); 6866 } 6867 6868 show(relatedTarget) { 6869 if (this._isShown) { 6870 return; 6871 } 6872 6873 const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { 6874 relatedTarget 6875 }); 6876 6877 if (showEvent.defaultPrevented) { 6878 return; 6879 } 6880 6881 this._isShown = true; 6882 6883 this._backdrop.show(); 6884 6885 if (!this._config.scroll) { 6886 new ScrollBarHelper().hide(); 6887 } 6888 6889 this._element.setAttribute('aria-modal', true); 6890 6891 this._element.setAttribute('role', 'dialog'); 6892 6893 this._element.classList.add(CLASS_NAME_SHOWING$1); 6894 6895 const completeCallBack = () => { 6896 if (!this._config.scroll || this._config.backdrop) { 6897 this._focustrap.activate(); 6898 } 6899 6900 this._element.classList.add(CLASS_NAME_SHOW$3); 6901 6902 this._element.classList.remove(CLASS_NAME_SHOWING$1); 6903 6904 EventHandler.trigger(this._element, EVENT_SHOWN$3, { 6905 relatedTarget 6906 }); 6907 }; 6908 6909 this._queueCallback(completeCallBack, this._element, true); 6910 } 6911 6912 hide() { 6913 if (!this._isShown) { 6914 return; 6915 } 6916 6917 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); 6918 6919 if (hideEvent.defaultPrevented) { 6920 return; 6921 } 6922 6923 this._focustrap.deactivate(); 6924 6925 this._element.blur(); 6926 6927 this._isShown = false; 6928 6929 this._element.classList.add(CLASS_NAME_HIDING); 6930 6931 this._backdrop.hide(); 6932 6933 const completeCallback = () => { 6934 this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING); 6935 6936 this._element.removeAttribute('aria-modal'); 6937 6938 this._element.removeAttribute('role'); 6939 6940 if (!this._config.scroll) { 6941 new ScrollBarHelper().reset(); 6942 } 6943 6944 EventHandler.trigger(this._element, EVENT_HIDDEN$3); 6945 }; 6946 6947 this._queueCallback(completeCallback, this._element, true); 6948 } 6949 6950 dispose() { 6951 this._backdrop.dispose(); 6952 6953 this._focustrap.deactivate(); 6954 6955 super.dispose(); 6956 } // Private 6957 6958 6959 _initializeBackDrop() { 6960 const clickCallback = () => { 6961 if (this._config.backdrop === 'static') { 6962 EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); 6963 return; 6964 } 6965 6966 this.hide(); 6967 }; // 'static' option will be translated to true, and booleans will keep their value 6968 6969 6970 const isVisible = Boolean(this._config.backdrop); 6971 return new Backdrop({ 6972 className: CLASS_NAME_BACKDROP, 6973 isVisible, 6974 isAnimated: true, 6975 rootElement: this._element.parentNode, 6976 clickCallback: isVisible ? clickCallback : null 6977 }); 6978 } 6979 6980 _initializeFocusTrap() { 6981 return new FocusTrap({ 6982 trapElement: this._element 6983 }); 6984 } 6985 6986 _addEventListeners() { 6987 EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => { 6988 if (event.key !== ESCAPE_KEY) { 6989 return; 6990 } 6991 6992 if (!this._config.keyboard) { 6993 EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); 6994 return; 6995 } 6996 6997 this.hide(); 6998 }); 6999 } // Static 7000 7001 7002 static jQueryInterface(config) { 7003 return this.each(function () { 7004 const data = Offcanvas.getOrCreateInstance(this, config); 7005 7006 if (typeof config !== 'string') { 7007 return; 7008 } 7009 7010 if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { 7011 throw new TypeError(`No method named "${config}"`); 7012 } 7013 7014 data[config](this); 7015 }); 7016 } 7017 7018} 7019/** 7020 * Data API implementation 7021 */ 7022 7023 7024EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) { 7025 const target = getElementFromSelector(this); 7026 7027 if (['A', 'AREA'].includes(this.tagName)) { 7028 event.preventDefault(); 7029 } 7030 7031 if (isDisabled(this)) { 7032 return; 7033 } 7034 7035 EventHandler.one(target, EVENT_HIDDEN$3, () => { 7036 // focus on trigger when it is closed 7037 if (isVisible(this)) { 7038 this.focus(); 7039 } 7040 }); // avoid conflict when clicking a toggler of an offcanvas, while another is open 7041 7042 const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); 7043 7044 if (alreadyOpen && alreadyOpen !== target) { 7045 Offcanvas.getInstance(alreadyOpen).hide(); 7046 } 7047 7048 const data = Offcanvas.getOrCreateInstance(target); 7049 data.toggle(this); 7050}); 7051EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { 7052 for (const selector of SelectorEngine.find(OPEN_SELECTOR)) { 7053 Offcanvas.getOrCreateInstance(selector).show(); 7054 } 7055}); 7056EventHandler.on(window, EVENT_RESIZE, () => { 7057 for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) { 7058 if (getComputedStyle(element).position !== 'fixed') { 7059 Offcanvas.getOrCreateInstance(element).hide(); 7060 } 7061 } 7062}); 7063enableDismissTrigger(Offcanvas); 7064/** 7065 * jQuery 7066 */ 7067 7068defineJQueryPlugin(Offcanvas); 7069 7070/** 7071 * -------------------------------------------------------------------------- 7072 * Bootstrap (v5.2.1): util/sanitizer.js 7073 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 7074 * -------------------------------------------------------------------------- 7075 */ 7076const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); 7077const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; 7078/** 7079 * A pattern that recognizes a commonly useful subset of URLs that are safe. 7080 * 7081 * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts 7082 */ 7083 7084const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; 7085/** 7086 * A pattern that matches safe data URLs. Only matches image, video and audio types. 7087 * 7088 * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts 7089 */ 7090 7091const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; 7092 7093const allowedAttribute = (attribute, allowedAttributeList) => { 7094 const attributeName = attribute.nodeName.toLowerCase(); 7095 7096 if (allowedAttributeList.includes(attributeName)) { 7097 if (uriAttributes.has(attributeName)) { 7098 return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue)); 7099 } 7100 7101 return true; 7102 } // Check if a regular expression validates the attribute. 7103 7104 7105 return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName)); 7106}; 7107 7108const DefaultAllowlist = { 7109 // Global attributes allowed on any supplied element below. 7110 '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], 7111 a: ['target', 'href', 'title', 'rel'], 7112 area: [], 7113 b: [], 7114 br: [], 7115 col: [], 7116 code: [], 7117 div: [], 7118 em: [], 7119 hr: [], 7120 h1: [], 7121 h2: [], 7122 h3: [], 7123 h4: [], 7124 h5: [], 7125 h6: [], 7126 i: [], 7127 img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], 7128 li: [], 7129 ol: [], 7130 p: [], 7131 pre: [], 7132 s: [], 7133 small: [], 7134 span: [], 7135 sub: [], 7136 sup: [], 7137 strong: [], 7138 u: [], 7139 ul: [] 7140}; 7141function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { 7142 if (!unsafeHtml.length) { 7143 return unsafeHtml; 7144 } 7145 7146 if (sanitizeFunction && typeof sanitizeFunction === 'function') { 7147 return sanitizeFunction(unsafeHtml); 7148 } 7149 7150 const domParser = new window.DOMParser(); 7151 const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); 7152 const elements = [].concat(...createdDocument.body.querySelectorAll('*')); 7153 7154 for (const element of elements) { 7155 const elementName = element.nodeName.toLowerCase(); 7156 7157 if (!Object.keys(allowList).includes(elementName)) { 7158 element.remove(); 7159 continue; 7160 } 7161 7162 const attributeList = [].concat(...element.attributes); 7163 const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []); 7164 7165 for (const attribute of attributeList) { 7166 if (!allowedAttribute(attribute, allowedAttributes)) { 7167 element.removeAttribute(attribute.nodeName); 7168 } 7169 } 7170 } 7171 7172 return createdDocument.body.innerHTML; 7173} 7174 7175/** 7176 * -------------------------------------------------------------------------- 7177 * Bootstrap (v5.2.1): util/template-factory.js 7178 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 7179 * -------------------------------------------------------------------------- 7180 */ 7181/** 7182 * Constants 7183 */ 7184 7185const NAME$5 = 'TemplateFactory'; 7186const Default$4 = { 7187 allowList: DefaultAllowlist, 7188 content: {}, 7189 // { selector : text , selector2 : text2 , } 7190 extraClass: '', 7191 html: false, 7192 sanitize: true, 7193 sanitizeFn: null, 7194 template: '<div></div>' 7195}; 7196const DefaultType$4 = { 7197 allowList: 'object', 7198 content: 'object', 7199 extraClass: '(string|function)', 7200 html: 'boolean', 7201 sanitize: 'boolean', 7202 sanitizeFn: '(null|function)', 7203 template: 'string' 7204}; 7205const DefaultContentType = { 7206 entry: '(string|element|function|null)', 7207 selector: '(string|element)' 7208}; 7209/** 7210 * Class definition 7211 */ 7212 7213class TemplateFactory extends Config { 7214 constructor(config) { 7215 super(); 7216 this._config = this._getConfig(config); 7217 } // Getters 7218 7219 7220 static get Default() { 7221 return Default$4; 7222 } 7223 7224 static get DefaultType() { 7225 return DefaultType$4; 7226 } 7227 7228 static get NAME() { 7229 return NAME$5; 7230 } // Public 7231 7232 7233 getContent() { 7234 return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean); 7235 } 7236 7237 hasContent() { 7238 return this.getContent().length > 0; 7239 } 7240 7241 changeContent(content) { 7242 this._checkContent(content); 7243 7244 this._config.content = { ...this._config.content, 7245 ...content 7246 }; 7247 return this; 7248 } 7249 7250 toHtml() { 7251 const templateWrapper = document.createElement('div'); 7252 templateWrapper.innerHTML = this._maybeSanitize(this._config.template); 7253 7254 for (const [selector, text] of Object.entries(this._config.content)) { 7255 this._setContent(templateWrapper, text, selector); 7256 } 7257 7258 const template = templateWrapper.children[0]; 7259 7260 const extraClass = this._resolvePossibleFunction(this._config.extraClass); 7261 7262 if (extraClass) { 7263 template.classList.add(...extraClass.split(' ')); 7264 } 7265 7266 return template; 7267 } // Private 7268 7269 7270 _typeCheckConfig(config) { 7271 super._typeCheckConfig(config); 7272 7273 this._checkContent(config.content); 7274 } 7275 7276 _checkContent(arg) { 7277 for (const [selector, content] of Object.entries(arg)) { 7278 super._typeCheckConfig({ 7279 selector, 7280 entry: content 7281 }, DefaultContentType); 7282 } 7283 } 7284 7285 _setContent(template, content, selector) { 7286 const templateElement = SelectorEngine.findOne(selector, template); 7287 7288 if (!templateElement) { 7289 return; 7290 } 7291 7292 content = this._resolvePossibleFunction(content); 7293 7294 if (!content) { 7295 templateElement.remove(); 7296 return; 7297 } 7298 7299 if (isElement(content)) { 7300 this._putElementInTemplate(getElement(content), templateElement); 7301 7302 return; 7303 } 7304 7305 if (this._config.html) { 7306 templateElement.innerHTML = this._maybeSanitize(content); 7307 return; 7308 } 7309 7310 templateElement.textContent = content; 7311 } 7312 7313 _maybeSanitize(arg) { 7314 return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg; 7315 } 7316 7317 _resolvePossibleFunction(arg) { 7318 return typeof arg === 'function' ? arg(this) : arg; 7319 } 7320 7321 _putElementInTemplate(element, templateElement) { 7322 if (this._config.html) { 7323 templateElement.innerHTML = ''; 7324 templateElement.append(element); 7325 return; 7326 } 7327 7328 templateElement.textContent = element.textContent; 7329 } 7330 7331} 7332 7333/** 7334 * -------------------------------------------------------------------------- 7335 * Bootstrap (v5.2.1): tooltip.js 7336 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 7337 * -------------------------------------------------------------------------- 7338 */ 7339/** 7340 * Constants 7341 */ 7342 7343const NAME$4 = 'tooltip'; 7344const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']); 7345const CLASS_NAME_FADE$2 = 'fade'; 7346const CLASS_NAME_MODAL = 'modal'; 7347const CLASS_NAME_SHOW$2 = 'show'; 7348const SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; 7349const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; 7350const EVENT_MODAL_HIDE = 'hide.bs.modal'; 7351const TRIGGER_HOVER = 'hover'; 7352const TRIGGER_FOCUS = 'focus'; 7353const TRIGGER_CLICK = 'click'; 7354const TRIGGER_MANUAL = 'manual'; 7355const EVENT_HIDE$2 = 'hide'; 7356const EVENT_HIDDEN$2 = 'hidden'; 7357const EVENT_SHOW$2 = 'show'; 7358const EVENT_SHOWN$2 = 'shown'; 7359const EVENT_INSERTED = 'inserted'; 7360const EVENT_CLICK$1 = 'click'; 7361const EVENT_FOCUSIN$1 = 'focusin'; 7362const EVENT_FOCUSOUT$1 = 'focusout'; 7363const EVENT_MOUSEENTER = 'mouseenter'; 7364const EVENT_MOUSELEAVE = 'mouseleave'; 7365const AttachmentMap = { 7366 AUTO: 'auto', 7367 TOP: 'top', 7368 RIGHT: isRTL() ? 'left' : 'right', 7369 BOTTOM: 'bottom', 7370 LEFT: isRTL() ? 'right' : 'left' 7371}; 7372const Default$3 = { 7373 allowList: DefaultAllowlist, 7374 animation: true, 7375 boundary: 'clippingParents', 7376 container: false, 7377 customClass: '', 7378 delay: 0, 7379 fallbackPlacements: ['top', 'right', 'bottom', 'left'], 7380 html: false, 7381 offset: [0, 0], 7382 placement: 'top', 7383 popperConfig: null, 7384 sanitize: true, 7385 sanitizeFn: null, 7386 selector: false, 7387 template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>', 7388 title: '', 7389 trigger: 'hover focus' 7390}; 7391const DefaultType$3 = { 7392 allowList: 'object', 7393 animation: 'boolean', 7394 boundary: '(string|element)', 7395 container: '(string|element|boolean)', 7396 customClass: '(string|function)', 7397 delay: '(number|object)', 7398 fallbackPlacements: 'array', 7399 html: 'boolean', 7400 offset: '(array|string|function)', 7401 placement: '(string|function)', 7402 popperConfig: '(null|object|function)', 7403 sanitize: 'boolean', 7404 sanitizeFn: '(null|function)', 7405 selector: '(string|boolean)', 7406 template: 'string', 7407 title: '(string|element|function)', 7408 trigger: 'string' 7409}; 7410/** 7411 * Class definition 7412 */ 7413 7414class Tooltip extends BaseComponent { 7415 constructor(element, config) { 7416 if (typeof _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ === 'undefined') { 7417 throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); 7418 } 7419 7420 super(element, config); // Private 7421 7422 this._isEnabled = true; 7423 this._timeout = 0; 7424 this._isHovered = null; 7425 this._activeTrigger = {}; 7426 this._popper = null; 7427 this._templateFactory = null; 7428 this._newContent = null; // Protected 7429 7430 this.tip = null; 7431 7432 this._setListeners(); 7433 } // Getters 7434 7435 7436 static get Default() { 7437 return Default$3; 7438 } 7439 7440 static get DefaultType() { 7441 return DefaultType$3; 7442 } 7443 7444 static get NAME() { 7445 return NAME$4; 7446 } // Public 7447 7448 7449 enable() { 7450 this._isEnabled = true; 7451 } 7452 7453 disable() { 7454 this._isEnabled = false; 7455 } 7456 7457 toggleEnabled() { 7458 this._isEnabled = !this._isEnabled; 7459 } 7460 7461 toggle(event) { 7462 if (!this._isEnabled) { 7463 return; 7464 } 7465 7466 if (event) { 7467 const context = this._initializeOnDelegatedTarget(event); 7468 7469 context._activeTrigger.click = !context._activeTrigger.click; 7470 7471 if (context._isWithActiveTrigger()) { 7472 context._enter(); 7473 } else { 7474 context._leave(); 7475 } 7476 7477 return; 7478 } 7479 7480 if (this._isShown()) { 7481 this._leave(); 7482 7483 return; 7484 } 7485 7486 this._enter(); 7487 } 7488 7489 dispose() { 7490 clearTimeout(this._timeout); 7491 EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); 7492 7493 if (this.tip) { 7494 this.tip.remove(); 7495 } 7496 7497 if (this._config.originalTitle) { 7498 this._element.setAttribute('title', this._config.originalTitle); 7499 } 7500 7501 this._disposePopper(); 7502 7503 super.dispose(); 7504 } 7505 7506 show() { 7507 if (this._element.style.display === 'none') { 7508 throw new Error('Please use show on visible elements'); 7509 } 7510 7511 if (!(this._isWithContent() && this._isEnabled)) { 7512 return; 7513 } 7514 7515 const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2)); 7516 const shadowRoot = findShadowRoot(this._element); 7517 7518 const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); 7519 7520 if (showEvent.defaultPrevented || !isInTheDom) { 7521 return; 7522 } // todo v6 remove this OR make it optional 7523 7524 7525 if (this.tip) { 7526 this.tip.remove(); 7527 this.tip = null; 7528 } 7529 7530 const tip = this._getTipElement(); 7531 7532 this._element.setAttribute('aria-describedby', tip.getAttribute('id')); 7533 7534 const { 7535 container 7536 } = this._config; 7537 7538 if (!this._element.ownerDocument.documentElement.contains(this.tip)) { 7539 container.append(tip); 7540 EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED)); 7541 } 7542 7543 if (this._popper) { 7544 this._popper.update(); 7545 } else { 7546 this._popper = this._createPopper(tip); 7547 } 7548 7549 tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra 7550 // empty mouseover listeners to the body's immediate children; 7551 // only needed because of broken event delegation on iOS 7552 // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html 7553 7554 if ('ontouchstart' in document.documentElement) { 7555 for (const element of [].concat(...document.body.children)) { 7556 EventHandler.on(element, 'mouseover', noop); 7557 } 7558 } 7559 7560 const complete = () => { 7561 EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2)); 7562 7563 if (this._isHovered === false) { 7564 this._leave(); 7565 } 7566 7567 this._isHovered = false; 7568 }; 7569 7570 this._queueCallback(complete, this.tip, this._isAnimated()); 7571 } 7572 7573 hide() { 7574 if (!this._isShown()) { 7575 return; 7576 } 7577 7578 const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2)); 7579 7580 if (hideEvent.defaultPrevented) { 7581 return; 7582 } 7583 7584 const tip = this._getTipElement(); 7585 7586 tip.classList.remove(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we remove the extra 7587 // empty mouseover listeners we added for iOS support 7588 7589 if ('ontouchstart' in document.documentElement) { 7590 for (const element of [].concat(...document.body.children)) { 7591 EventHandler.off(element, 'mouseover', noop); 7592 } 7593 } 7594 7595 this._activeTrigger[TRIGGER_CLICK] = false; 7596 this._activeTrigger[TRIGGER_FOCUS] = false; 7597 this._activeTrigger[TRIGGER_HOVER] = false; 7598 this._isHovered = null; // it is a trick to support manual triggering 7599 7600 const complete = () => { 7601 if (this._isWithActiveTrigger()) { 7602 return; 7603 } 7604 7605 if (!this._isHovered) { 7606 tip.remove(); 7607 } 7608 7609 this._element.removeAttribute('aria-describedby'); 7610 7611 EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2)); 7612 7613 this._disposePopper(); 7614 }; 7615 7616 this._queueCallback(complete, this.tip, this._isAnimated()); 7617 } 7618 7619 update() { 7620 if (this._popper) { 7621 this._popper.update(); 7622 } 7623 } // Protected 7624 7625 7626 _isWithContent() { 7627 return Boolean(this._getTitle()); 7628 } 7629 7630 _getTipElement() { 7631 if (!this.tip) { 7632 this.tip = this._createTipElement(this._newContent || this._getContentForTemplate()); 7633 } 7634 7635 return this.tip; 7636 } 7637 7638 _createTipElement(content) { 7639 const tip = this._getTemplateFactory(content).toHtml(); // todo: remove this check on v6 7640 7641 7642 if (!tip) { 7643 return null; 7644 } 7645 7646 tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); // todo: on v6 the following can be achieved with CSS only 7647 7648 tip.classList.add(`bs-${this.constructor.NAME}-auto`); 7649 const tipId = getUID(this.constructor.NAME).toString(); 7650 tip.setAttribute('id', tipId); 7651 7652 if (this._isAnimated()) { 7653 tip.classList.add(CLASS_NAME_FADE$2); 7654 } 7655 7656 return tip; 7657 } 7658 7659 setContent(content) { 7660 this._newContent = content; 7661 7662 if (this._isShown()) { 7663 this._disposePopper(); 7664 7665 this.show(); 7666 } 7667 } 7668 7669 _getTemplateFactory(content) { 7670 if (this._templateFactory) { 7671 this._templateFactory.changeContent(content); 7672 } else { 7673 this._templateFactory = new TemplateFactory({ ...this._config, 7674 // the `content` var has to be after `this._config` 7675 // to override config.content in case of popover 7676 content, 7677 extraClass: this._resolvePossibleFunction(this._config.customClass) 7678 }); 7679 } 7680 7681 return this._templateFactory; 7682 } 7683 7684 _getContentForTemplate() { 7685 return { 7686 [SELECTOR_TOOLTIP_INNER]: this._getTitle() 7687 }; 7688 } 7689 7690 _getTitle() { 7691 return this._resolvePossibleFunction(this._config.title) || this._config.originalTitle; 7692 } // Private 7693 7694 7695 _initializeOnDelegatedTarget(event) { 7696 return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); 7697 } 7698 7699 _isAnimated() { 7700 return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2); 7701 } 7702 7703 _isShown() { 7704 return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2); 7705 } 7706 7707 _createPopper(tip) { 7708 const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement; 7709 const attachment = AttachmentMap[placement.toUpperCase()]; 7710 return _popperjs_core__WEBPACK_IMPORTED_MODULE_1__.createPopper(this._element, tip, this._getPopperConfig(attachment)); 7711 } 7712 7713 _getOffset() { 7714 const { 7715 offset 7716 } = this._config; 7717 7718 if (typeof offset === 'string') { 7719 return offset.split(',').map(value => Number.parseInt(value, 10)); 7720 } 7721 7722 if (typeof offset === 'function') { 7723 return popperData => offset(popperData, this._element); 7724 } 7725 7726 return offset; 7727 } 7728 7729 _resolvePossibleFunction(arg) { 7730 return typeof arg === 'function' ? arg.call(this._element) : arg; 7731 } 7732 7733 _getPopperConfig(attachment) { 7734 const defaultBsPopperConfig = { 7735 placement: attachment, 7736 modifiers: [{ 7737 name: 'flip', 7738 options: { 7739 fallbackPlacements: this._config.fallbackPlacements 7740 } 7741 }, { 7742 name: 'offset', 7743 options: { 7744 offset: this._getOffset() 7745 } 7746 }, { 7747 name: 'preventOverflow', 7748 options: { 7749 boundary: this._config.boundary 7750 } 7751 }, { 7752 name: 'arrow', 7753 options: { 7754 element: `.${this.constructor.NAME}-arrow` 7755 } 7756 }, { 7757 name: 'preSetPlacement', 7758 enabled: true, 7759 phase: 'beforeMain', 7760 fn: data => { 7761 // Pre-set Popper's placement attribute in order to read the arrow sizes properly. 7762 // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement 7763 this._getTipElement().setAttribute('data-popper-placement', data.state.placement); 7764 } 7765 }] 7766 }; 7767 return { ...defaultBsPopperConfig, 7768 ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) 7769 }; 7770 } 7771 7772 _setListeners() { 7773 const triggers = this._config.trigger.split(' '); 7774 7775 for (const trigger of triggers) { 7776 if (trigger === 'click') { 7777 EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => this.toggle(event)); 7778 } else if (trigger !== TRIGGER_MANUAL) { 7779 const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1); 7780 const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1); 7781 EventHandler.on(this._element, eventIn, this._config.selector, event => { 7782 const context = this._initializeOnDelegatedTarget(event); 7783 7784 context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; 7785 7786 context._enter(); 7787 }); 7788 EventHandler.on(this._element, eventOut, this._config.selector, event => { 7789 const context = this._initializeOnDelegatedTarget(event); 7790 7791 context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); 7792 7793 context._leave(); 7794 }); 7795 } 7796 } 7797 7798 this._hideModalHandler = () => { 7799 if (this._element) { 7800 this.hide(); 7801 } 7802 }; 7803 7804 EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); 7805 7806 if (this._config.selector) { 7807 this._config = { ...this._config, 7808 trigger: 'manual', 7809 selector: '' 7810 }; 7811 } else { 7812 this._fixTitle(); 7813 } 7814 } 7815 7816 _fixTitle() { 7817 const title = this._config.originalTitle; 7818 7819 if (!title) { 7820 return; 7821 } 7822 7823 if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) { 7824 this._element.setAttribute('aria-label', title); 7825 } 7826 7827 this._element.removeAttribute('title'); 7828 } 7829 7830 _enter() { 7831 if (this._isShown() || this._isHovered) { 7832 this._isHovered = true; 7833 return; 7834 } 7835 7836 this._isHovered = true; 7837 7838 this._setTimeout(() => { 7839 if (this._isHovered) { 7840 this.show(); 7841 } 7842 }, this._config.delay.show); 7843 } 7844 7845 _leave() { 7846 if (this._isWithActiveTrigger()) { 7847 return; 7848 } 7849 7850 this._isHovered = false; 7851 7852 this._setTimeout(() => { 7853 if (!this._isHovered) { 7854 this.hide(); 7855 } 7856 }, this._config.delay.hide); 7857 } 7858 7859 _setTimeout(handler, timeout) { 7860 clearTimeout(this._timeout); 7861 this._timeout = setTimeout(handler, timeout); 7862 } 7863 7864 _isWithActiveTrigger() { 7865 return Object.values(this._activeTrigger).includes(true); 7866 } 7867 7868 _getConfig(config) { 7869 const dataAttributes = Manipulator.getDataAttributes(this._element); 7870 7871 for (const dataAttribute of Object.keys(dataAttributes)) { 7872 if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) { 7873 delete dataAttributes[dataAttribute]; 7874 } 7875 } 7876 7877 config = { ...dataAttributes, 7878 ...(typeof config === 'object' && config ? config : {}) 7879 }; 7880 config = this._mergeConfigObj(config); 7881 config = this._configAfterMerge(config); 7882 7883 this._typeCheckConfig(config); 7884 7885 return config; 7886 } 7887 7888 _configAfterMerge(config) { 7889 config.container = config.container === false ? document.body : getElement(config.container); 7890 7891 if (typeof config.delay === 'number') { 7892 config.delay = { 7893 show: config.delay, 7894 hide: config.delay 7895 }; 7896 } 7897 7898 config.originalTitle = this._element.getAttribute('title') || ''; 7899 7900 if (typeof config.title === 'number') { 7901 config.title = config.title.toString(); 7902 } 7903 7904 if (typeof config.content === 'number') { 7905 config.content = config.content.toString(); 7906 } 7907 7908 return config; 7909 } 7910 7911 _getDelegateConfig() { 7912 const config = {}; 7913 7914 for (const key in this._config) { 7915 if (this.constructor.Default[key] !== this._config[key]) { 7916 config[key] = this._config[key]; 7917 } 7918 } // In the future can be replaced with: 7919 // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]]) 7920 // `Object.fromEntries(keysWithDifferentValues)` 7921 7922 7923 return config; 7924 } 7925 7926 _disposePopper() { 7927 if (this._popper) { 7928 this._popper.destroy(); 7929 7930 this._popper = null; 7931 } 7932 } // Static 7933 7934 7935 static jQueryInterface(config) { 7936 return this.each(function () { 7937 const data = Tooltip.getOrCreateInstance(this, config); 7938 7939 if (typeof config !== 'string') { 7940 return; 7941 } 7942 7943 if (typeof data[config] === 'undefined') { 7944 throw new TypeError(`No method named "${config}"`); 7945 } 7946 7947 data[config](); 7948 }); 7949 } 7950 7951} 7952/** 7953 * jQuery 7954 */ 7955 7956 7957defineJQueryPlugin(Tooltip); 7958 7959/** 7960 * -------------------------------------------------------------------------- 7961 * Bootstrap (v5.2.1): popover.js 7962 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 7963 * -------------------------------------------------------------------------- 7964 */ 7965/** 7966 * Constants 7967 */ 7968 7969const NAME$3 = 'popover'; 7970const SELECTOR_TITLE = '.popover-header'; 7971const SELECTOR_CONTENT = '.popover-body'; 7972const Default$2 = { ...Tooltip.Default, 7973 content: '', 7974 offset: [0, 8], 7975 placement: 'right', 7976 template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>', 7977 trigger: 'click' 7978}; 7979const DefaultType$2 = { ...Tooltip.DefaultType, 7980 content: '(null|string|element|function)' 7981}; 7982/** 7983 * Class definition 7984 */ 7985 7986class Popover extends Tooltip { 7987 // Getters 7988 static get Default() { 7989 return Default$2; 7990 } 7991 7992 static get DefaultType() { 7993 return DefaultType$2; 7994 } 7995 7996 static get NAME() { 7997 return NAME$3; 7998 } // Overrides 7999 8000 8001 _isWithContent() { 8002 return this._getTitle() || this._getContent(); 8003 } // Private 8004 8005 8006 _getContentForTemplate() { 8007 return { 8008 [SELECTOR_TITLE]: this._getTitle(), 8009 [SELECTOR_CONTENT]: this._getContent() 8010 }; 8011 } 8012 8013 _getContent() { 8014 return this._resolvePossibleFunction(this._config.content); 8015 } // Static 8016 8017 8018 static jQueryInterface(config) { 8019 return this.each(function () { 8020 const data = Popover.getOrCreateInstance(this, config); 8021 8022 if (typeof config !== 'string') { 8023 return; 8024 } 8025 8026 if (typeof data[config] === 'undefined') { 8027 throw new TypeError(`No method named "${config}"`); 8028 } 8029 8030 data[config](); 8031 }); 8032 } 8033 8034} 8035/** 8036 * jQuery 8037 */ 8038 8039 8040defineJQueryPlugin(Popover); 8041 8042/** 8043 * -------------------------------------------------------------------------- 8044 * Bootstrap (v5.2.1): scrollspy.js 8045 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 8046 * -------------------------------------------------------------------------- 8047 */ 8048/** 8049 * Constants 8050 */ 8051 8052const NAME$2 = 'scrollspy'; 8053const DATA_KEY$2 = 'bs.scrollspy'; 8054const EVENT_KEY$2 = `.${DATA_KEY$2}`; 8055const DATA_API_KEY = '.data-api'; 8056const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; 8057const EVENT_CLICK = `click${EVENT_KEY$2}`; 8058const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`; 8059const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; 8060const CLASS_NAME_ACTIVE$1 = 'active'; 8061const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; 8062const SELECTOR_TARGET_LINKS = '[href]'; 8063const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; 8064const SELECTOR_NAV_LINKS = '.nav-link'; 8065const SELECTOR_NAV_ITEMS = '.nav-item'; 8066const SELECTOR_LIST_ITEMS = '.list-group-item'; 8067const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`; 8068const SELECTOR_DROPDOWN = '.dropdown'; 8069const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle'; 8070const Default$1 = { 8071 offset: null, 8072 // TODO: v6 @deprecated, keep it for backwards compatibility reasons 8073 rootMargin: '0px 0px -25%', 8074 smoothScroll: false, 8075 target: null, 8076 threshold: [0.1, 0.5, 1] 8077}; 8078const DefaultType$1 = { 8079 offset: '(number|null)', 8080 // TODO v6 @deprecated, keep it for backwards compatibility reasons 8081 rootMargin: 'string', 8082 smoothScroll: 'boolean', 8083 target: 'element', 8084 threshold: 'array' 8085}; 8086/** 8087 * Class definition 8088 */ 8089 8090class ScrollSpy extends BaseComponent { 8091 constructor(element, config) { 8092 super(element, config); // this._element is the observablesContainer and config.target the menu links wrapper 8093 8094 this._targetLinks = new Map(); 8095 this._observableSections = new Map(); 8096 this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element; 8097 this._activeTarget = null; 8098 this._observer = null; 8099 this._previousScrollData = { 8100 visibleEntryTop: 0, 8101 parentScrollTop: 0 8102 }; 8103 this.refresh(); // initialize 8104 } // Getters 8105 8106 8107 static get Default() { 8108 return Default$1; 8109 } 8110 8111 static get DefaultType() { 8112 return DefaultType$1; 8113 } 8114 8115 static get NAME() { 8116 return NAME$2; 8117 } // Public 8118 8119 8120 refresh() { 8121 this._initializeTargetsAndObservables(); 8122 8123 this._maybeEnableSmoothScroll(); 8124 8125 if (this._observer) { 8126 this._observer.disconnect(); 8127 } else { 8128 this._observer = this._getNewObserver(); 8129 } 8130 8131 for (const section of this._observableSections.values()) { 8132 this._observer.observe(section); 8133 } 8134 } 8135 8136 dispose() { 8137 this._observer.disconnect(); 8138 8139 super.dispose(); 8140 } // Private 8141 8142 8143 _configAfterMerge(config) { 8144 // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case 8145 config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only 8146 8147 config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin; 8148 8149 if (typeof config.threshold === 'string') { 8150 config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value)); 8151 } 8152 8153 return config; 8154 } 8155 8156 _maybeEnableSmoothScroll() { 8157 if (!this._config.smoothScroll) { 8158 return; 8159 } // unregister any previous listeners 8160 8161 8162 EventHandler.off(this._config.target, EVENT_CLICK); 8163 EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => { 8164 const observableSection = this._observableSections.get(event.target.hash); 8165 8166 if (observableSection) { 8167 event.preventDefault(); 8168 const root = this._rootElement || window; 8169 const height = observableSection.offsetTop - this._element.offsetTop; 8170 8171 if (root.scrollTo) { 8172 root.scrollTo({ 8173 top: height, 8174 behavior: 'smooth' 8175 }); 8176 return; 8177 } // Chrome 60 doesn't support `scrollTo` 8178 8179 8180 root.scrollTop = height; 8181 } 8182 }); 8183 } 8184 8185 _getNewObserver() { 8186 const options = { 8187 root: this._rootElement, 8188 threshold: this._config.threshold, 8189 rootMargin: this._config.rootMargin 8190 }; 8191 return new IntersectionObserver(entries => this._observerCallback(entries), options); 8192 } // The logic of selection 8193 8194 8195 _observerCallback(entries) { 8196 const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`); 8197 8198 const activate = entry => { 8199 this._previousScrollData.visibleEntryTop = entry.target.offsetTop; 8200 8201 this._process(targetElement(entry)); 8202 }; 8203 8204 const parentScrollTop = (this._rootElement || document.documentElement).scrollTop; 8205 const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop; 8206 this._previousScrollData.parentScrollTop = parentScrollTop; 8207 8208 for (const entry of entries) { 8209 if (!entry.isIntersecting) { 8210 this._activeTarget = null; 8211 8212 this._clearActiveClass(targetElement(entry)); 8213 8214 continue; 8215 } 8216 8217 const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; // if we are scrolling down, pick the bigger offsetTop 8218 8219 if (userScrollsDown && entryIsLowerThanPrevious) { 8220 activate(entry); // if parent isn't scrolled, let's keep the first visible item, breaking the iteration 8221 8222 if (!parentScrollTop) { 8223 return; 8224 } 8225 8226 continue; 8227 } // if we are scrolling up, pick the smallest offsetTop 8228 8229 8230 if (!userScrollsDown && !entryIsLowerThanPrevious) { 8231 activate(entry); 8232 } 8233 } 8234 } 8235 8236 _initializeTargetsAndObservables() { 8237 this._targetLinks = new Map(); 8238 this._observableSections = new Map(); 8239 const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target); 8240 8241 for (const anchor of targetLinks) { 8242 // ensure that the anchor has an id and is not disabled 8243 if (!anchor.hash || isDisabled(anchor)) { 8244 continue; 8245 } 8246 8247 const observableSection = SelectorEngine.findOne(anchor.hash, this._element); // ensure that the observableSection exists & is visible 8248 8249 if (isVisible(observableSection)) { 8250 this._targetLinks.set(anchor.hash, anchor); 8251 8252 this._observableSections.set(anchor.hash, observableSection); 8253 } 8254 } 8255 } 8256 8257 _process(target) { 8258 if (this._activeTarget === target) { 8259 return; 8260 } 8261 8262 this._clearActiveClass(this._config.target); 8263 8264 this._activeTarget = target; 8265 target.classList.add(CLASS_NAME_ACTIVE$1); 8266 8267 this._activateParents(target); 8268 8269 EventHandler.trigger(this._element, EVENT_ACTIVATE, { 8270 relatedTarget: target 8271 }); 8272 } 8273 8274 _activateParents(target) { 8275 // Activate dropdown parents 8276 if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { 8277 SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1); 8278 return; 8279 } 8280 8281 for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) { 8282 // Set triggered links parents as active 8283 // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor 8284 for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) { 8285 item.classList.add(CLASS_NAME_ACTIVE$1); 8286 } 8287 } 8288 } 8289 8290 _clearActiveClass(parent) { 8291 parent.classList.remove(CLASS_NAME_ACTIVE$1); 8292 const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent); 8293 8294 for (const node of activeNodes) { 8295 node.classList.remove(CLASS_NAME_ACTIVE$1); 8296 } 8297 } // Static 8298 8299 8300 static jQueryInterface(config) { 8301 return this.each(function () { 8302 const data = ScrollSpy.getOrCreateInstance(this, config); 8303 8304 if (typeof config !== 'string') { 8305 return; 8306 } 8307 8308 if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { 8309 throw new TypeError(`No method named "${config}"`); 8310 } 8311 8312 data[config](); 8313 }); 8314 } 8315 8316} 8317/** 8318 * Data API implementation 8319 */ 8320 8321 8322EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => { 8323 for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) { 8324 ScrollSpy.getOrCreateInstance(spy); 8325 } 8326}); 8327/** 8328 * jQuery 8329 */ 8330 8331defineJQueryPlugin(ScrollSpy); 8332 8333/** 8334 * -------------------------------------------------------------------------- 8335 * Bootstrap (v5.2.1): tab.js 8336 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 8337 * -------------------------------------------------------------------------- 8338 */ 8339/** 8340 * Constants 8341 */ 8342 8343const NAME$1 = 'tab'; 8344const DATA_KEY$1 = 'bs.tab'; 8345const EVENT_KEY$1 = `.${DATA_KEY$1}`; 8346const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`; 8347const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`; 8348const EVENT_SHOW$1 = `show${EVENT_KEY$1}`; 8349const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`; 8350const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`; 8351const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`; 8352const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`; 8353const ARROW_LEFT_KEY = 'ArrowLeft'; 8354const ARROW_RIGHT_KEY = 'ArrowRight'; 8355const ARROW_UP_KEY = 'ArrowUp'; 8356const ARROW_DOWN_KEY = 'ArrowDown'; 8357const CLASS_NAME_ACTIVE = 'active'; 8358const CLASS_NAME_FADE$1 = 'fade'; 8359const CLASS_NAME_SHOW$1 = 'show'; 8360const CLASS_DROPDOWN = 'dropdown'; 8361const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; 8362const SELECTOR_DROPDOWN_MENU = '.dropdown-menu'; 8363const SELECTOR_DROPDOWN_ITEM = '.dropdown-item'; 8364const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)'; 8365const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; 8366const SELECTOR_OUTER = '.nav-item, .list-group-item'; 8367const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`; 8368const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // todo:v6: could be only `tab` 8369 8370const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`; 8371const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`; 8372/** 8373 * Class definition 8374 */ 8375 8376class Tab extends BaseComponent { 8377 constructor(element) { 8378 super(element); 8379 this._parent = this._element.closest(SELECTOR_TAB_PANEL); 8380 8381 if (!this._parent) { 8382 return; // todo: should Throw exception on v6 8383 // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`) 8384 } // Set up initial aria attributes 8385 8386 8387 this._setInitialAttributes(this._parent, this._getChildren()); 8388 8389 EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event)); 8390 } // Getters 8391 8392 8393 static get NAME() { 8394 return NAME$1; 8395 } // Public 8396 8397 8398 show() { 8399 // Shows this elem and deactivate the active sibling if exists 8400 const innerElem = this._element; 8401 8402 if (this._elemIsActive(innerElem)) { 8403 return; 8404 } // Search for active tab on same parent to deactivate it 8405 8406 8407 const active = this._getActiveElem(); 8408 8409 const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, { 8410 relatedTarget: innerElem 8411 }) : null; 8412 const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, { 8413 relatedTarget: active 8414 }); 8415 8416 if (showEvent.defaultPrevented || hideEvent && hideEvent.defaultPrevented) { 8417 return; 8418 } 8419 8420 this._deactivate(active, innerElem); 8421 8422 this._activate(innerElem, active); 8423 } // Private 8424 8425 8426 _activate(element, relatedElem) { 8427 if (!element) { 8428 return; 8429 } 8430 8431 element.classList.add(CLASS_NAME_ACTIVE); 8432 8433 this._activate(getElementFromSelector(element)); // Search and activate/show the proper section 8434 8435 8436 const complete = () => { 8437 if (element.getAttribute('role') !== 'tab') { 8438 element.classList.add(CLASS_NAME_SHOW$1); 8439 return; 8440 } 8441 8442 element.focus(); 8443 element.removeAttribute('tabindex'); 8444 element.setAttribute('aria-selected', true); 8445 8446 this._toggleDropDown(element, true); 8447 8448 EventHandler.trigger(element, EVENT_SHOWN$1, { 8449 relatedTarget: relatedElem 8450 }); 8451 }; 8452 8453 this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); 8454 } 8455 8456 _deactivate(element, relatedElem) { 8457 if (!element) { 8458 return; 8459 } 8460 8461 element.classList.remove(CLASS_NAME_ACTIVE); 8462 element.blur(); 8463 8464 this._deactivate(getElementFromSelector(element)); // Search and deactivate the shown section too 8465 8466 8467 const complete = () => { 8468 if (element.getAttribute('role') !== 'tab') { 8469 element.classList.remove(CLASS_NAME_SHOW$1); 8470 return; 8471 } 8472 8473 element.setAttribute('aria-selected', false); 8474 element.setAttribute('tabindex', '-1'); 8475 8476 this._toggleDropDown(element, false); 8477 8478 EventHandler.trigger(element, EVENT_HIDDEN$1, { 8479 relatedTarget: relatedElem 8480 }); 8481 }; 8482 8483 this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); 8484 } 8485 8486 _keydown(event) { 8487 if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) { 8488 return; 8489 } 8490 8491 event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page 8492 8493 event.preventDefault(); 8494 const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key); 8495 const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true); 8496 8497 if (nextActiveElement) { 8498 Tab.getOrCreateInstance(nextActiveElement).show(); 8499 } 8500 } 8501 8502 _getChildren() { 8503 // collection of inner elements 8504 return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent); 8505 } 8506 8507 _getActiveElem() { 8508 return this._getChildren().find(child => this._elemIsActive(child)) || null; 8509 } 8510 8511 _setInitialAttributes(parent, children) { 8512 this._setAttributeIfNotExists(parent, 'role', 'tablist'); 8513 8514 for (const child of children) { 8515 this._setInitialAttributesOnChild(child); 8516 } 8517 } 8518 8519 _setInitialAttributesOnChild(child) { 8520 child = this._getInnerElement(child); 8521 8522 const isActive = this._elemIsActive(child); 8523 8524 const outerElem = this._getOuterElement(child); 8525 8526 child.setAttribute('aria-selected', isActive); 8527 8528 if (outerElem !== child) { 8529 this._setAttributeIfNotExists(outerElem, 'role', 'presentation'); 8530 } 8531 8532 if (!isActive) { 8533 child.setAttribute('tabindex', '-1'); 8534 } 8535 8536 this._setAttributeIfNotExists(child, 'role', 'tab'); // set attributes to the related panel too 8537 8538 8539 this._setInitialAttributesOnTargetPanel(child); 8540 } 8541 8542 _setInitialAttributesOnTargetPanel(child) { 8543 const target = getElementFromSelector(child); 8544 8545 if (!target) { 8546 return; 8547 } 8548 8549 this._setAttributeIfNotExists(target, 'role', 'tabpanel'); 8550 8551 if (child.id) { 8552 this._setAttributeIfNotExists(target, 'aria-labelledby', `#${child.id}`); 8553 } 8554 } 8555 8556 _toggleDropDown(element, open) { 8557 const outerElem = this._getOuterElement(element); 8558 8559 if (!outerElem.classList.contains(CLASS_DROPDOWN)) { 8560 return; 8561 } 8562 8563 const toggle = (selector, className) => { 8564 const element = SelectorEngine.findOne(selector, outerElem); 8565 8566 if (element) { 8567 element.classList.toggle(className, open); 8568 } 8569 }; 8570 8571 toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE); 8572 toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1); 8573 toggle(SELECTOR_DROPDOWN_ITEM, CLASS_NAME_ACTIVE); 8574 outerElem.setAttribute('aria-expanded', open); 8575 } 8576 8577 _setAttributeIfNotExists(element, attribute, value) { 8578 if (!element.hasAttribute(attribute)) { 8579 element.setAttribute(attribute, value); 8580 } 8581 } 8582 8583 _elemIsActive(elem) { 8584 return elem.classList.contains(CLASS_NAME_ACTIVE); 8585 } // Try to get the inner element (usually the .nav-link) 8586 8587 8588 _getInnerElement(elem) { 8589 return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem); 8590 } // Try to get the outer element (usually the .nav-item) 8591 8592 8593 _getOuterElement(elem) { 8594 return elem.closest(SELECTOR_OUTER) || elem; 8595 } // Static 8596 8597 8598 static jQueryInterface(config) { 8599 return this.each(function () { 8600 const data = Tab.getOrCreateInstance(this); 8601 8602 if (typeof config !== 'string') { 8603 return; 8604 } 8605 8606 if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { 8607 throw new TypeError(`No method named "${config}"`); 8608 } 8609 8610 data[config](); 8611 }); 8612 } 8613 8614} 8615/** 8616 * Data API implementation 8617 */ 8618 8619 8620EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { 8621 if (['A', 'AREA'].includes(this.tagName)) { 8622 event.preventDefault(); 8623 } 8624 8625 if (isDisabled(this)) { 8626 return; 8627 } 8628 8629 Tab.getOrCreateInstance(this).show(); 8630}); 8631/** 8632 * Initialize on focus 8633 */ 8634 8635EventHandler.on(window, EVENT_LOAD_DATA_API, () => { 8636 for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) { 8637 Tab.getOrCreateInstance(element); 8638 } 8639}); 8640/** 8641 * jQuery 8642 */ 8643 8644defineJQueryPlugin(Tab); 8645 8646/** 8647 * -------------------------------------------------------------------------- 8648 * Bootstrap (v5.2.1): toast.js 8649 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 8650 * -------------------------------------------------------------------------- 8651 */ 8652/** 8653 * Constants 8654 */ 8655 8656const NAME = 'toast'; 8657const DATA_KEY = 'bs.toast'; 8658const EVENT_KEY = `.${DATA_KEY}`; 8659const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`; 8660const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`; 8661const EVENT_FOCUSIN = `focusin${EVENT_KEY}`; 8662const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`; 8663const EVENT_HIDE = `hide${EVENT_KEY}`; 8664const EVENT_HIDDEN = `hidden${EVENT_KEY}`; 8665const EVENT_SHOW = `show${EVENT_KEY}`; 8666const EVENT_SHOWN = `shown${EVENT_KEY}`; 8667const CLASS_NAME_FADE = 'fade'; 8668const CLASS_NAME_HIDE = 'hide'; // @deprecated - kept here only for backwards compatibility 8669 8670const CLASS_NAME_SHOW = 'show'; 8671const CLASS_NAME_SHOWING = 'showing'; 8672const DefaultType = { 8673 animation: 'boolean', 8674 autohide: 'boolean', 8675 delay: 'number' 8676}; 8677const Default = { 8678 animation: true, 8679 autohide: true, 8680 delay: 5000 8681}; 8682/** 8683 * Class definition 8684 */ 8685 8686class Toast extends BaseComponent { 8687 constructor(element, config) { 8688 super(element, config); 8689 this._timeout = null; 8690 this._hasMouseInteraction = false; 8691 this._hasKeyboardInteraction = false; 8692 8693 this._setListeners(); 8694 } // Getters 8695 8696 8697 static get Default() { 8698 return Default; 8699 } 8700 8701 static get DefaultType() { 8702 return DefaultType; 8703 } 8704 8705 static get NAME() { 8706 return NAME; 8707 } // Public 8708 8709 8710 show() { 8711 const showEvent = EventHandler.trigger(this._element, EVENT_SHOW); 8712 8713 if (showEvent.defaultPrevented) { 8714 return; 8715 } 8716 8717 this._clearTimeout(); 8718 8719 if (this._config.animation) { 8720 this._element.classList.add(CLASS_NAME_FADE); 8721 } 8722 8723 const complete = () => { 8724 this._element.classList.remove(CLASS_NAME_SHOWING); 8725 8726 EventHandler.trigger(this._element, EVENT_SHOWN); 8727 8728 this._maybeScheduleHide(); 8729 }; 8730 8731 this._element.classList.remove(CLASS_NAME_HIDE); // @deprecated 8732 8733 8734 reflow(this._element); 8735 8736 this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING); 8737 8738 this._queueCallback(complete, this._element, this._config.animation); 8739 } 8740 8741 hide() { 8742 if (!this.isShown()) { 8743 return; 8744 } 8745 8746 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE); 8747 8748 if (hideEvent.defaultPrevented) { 8749 return; 8750 } 8751 8752 const complete = () => { 8753 this._element.classList.add(CLASS_NAME_HIDE); // @deprecated 8754 8755 8756 this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW); 8757 8758 EventHandler.trigger(this._element, EVENT_HIDDEN); 8759 }; 8760 8761 this._element.classList.add(CLASS_NAME_SHOWING); 8762 8763 this._queueCallback(complete, this._element, this._config.animation); 8764 } 8765 8766 dispose() { 8767 this._clearTimeout(); 8768 8769 if (this.isShown()) { 8770 this._element.classList.remove(CLASS_NAME_SHOW); 8771 } 8772 8773 super.dispose(); 8774 } 8775 8776 isShown() { 8777 return this._element.classList.contains(CLASS_NAME_SHOW); 8778 } // Private 8779 8780 8781 _maybeScheduleHide() { 8782 if (!this._config.autohide) { 8783 return; 8784 } 8785 8786 if (this._hasMouseInteraction || this._hasKeyboardInteraction) { 8787 return; 8788 } 8789 8790 this._timeout = setTimeout(() => { 8791 this.hide(); 8792 }, this._config.delay); 8793 } 8794 8795 _onInteraction(event, isInteracting) { 8796 switch (event.type) { 8797 case 'mouseover': 8798 case 'mouseout': 8799 this._hasMouseInteraction = isInteracting; 8800 break; 8801 8802 case 'focusin': 8803 case 'focusout': 8804 this._hasKeyboardInteraction = isInteracting; 8805 break; 8806 } 8807 8808 if (isInteracting) { 8809 this._clearTimeout(); 8810 8811 return; 8812 } 8813 8814 const nextElement = event.relatedTarget; 8815 8816 if (this._element === nextElement || this._element.contains(nextElement)) { 8817 return; 8818 } 8819 8820 this._maybeScheduleHide(); 8821 } 8822 8823 _setListeners() { 8824 EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true)); 8825 EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false)); 8826 EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true)); 8827 EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false)); 8828 } 8829 8830 _clearTimeout() { 8831 clearTimeout(this._timeout); 8832 this._timeout = null; 8833 } // Static 8834 8835 8836 static jQueryInterface(config) { 8837 return this.each(function () { 8838 const data = Toast.getOrCreateInstance(this, config); 8839 8840 if (typeof config === 'string') { 8841 if (typeof data[config] === 'undefined') { 8842 throw new TypeError(`No method named "${config}"`); 8843 } 8844 8845 data[config](this); 8846 } 8847 }); 8848 } 8849 8850} 8851/** 8852 * Data API implementation 8853 */ 8854 8855 8856enableDismissTrigger(Toast); 8857/** 8858 * jQuery 8859 */ 8860 8861defineJQueryPlugin(Toast); 8862 8863 8864//# sourceMappingURL=bootstrap.esm.js.map 8865 8866 8867/***/ }), 8868
8869/***/ "./templates/archive-vin_champagne/archive-vin_champagne.scss": 8870/*!********************************************************************!*\ 8871 !*** ./templates/archive-vin_champagne/archive-vin_champagne.scss ***! 8872 \********************************************************************/ 8873/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8874 8875__webpack_require__.r(__webpack_exports__); 8876// extracted by mini-css-extract-plugin 8877 8878 8879/***/ }), 8880
8881/***/ "./templates/page/page.scss": 8882/*!**********************************!*\ 8883 !*** ./templates/page/page.scss ***! 8884 \**********************************/ 8885/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8886 8887__webpack_require__.r(__webpack_exports__); 8888// extracted by mini-css-extract-plugin 8889 8890 8891/***/ }), 8892
8893/***/ "./templates/page-aberlour/page-aberlour.scss": 8894/*!****************************************************!*\ 8895 !*** ./templates/page-aberlour/page-aberlour.scss ***! 8896 \****************************************************/ 8897/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8898 8899__webpack_require__.r(__webpack_exports__); 8900// extracted by mini-css-extract-plugin 8901 8902 8903/***/ }), 8904
8905/***/ "./templates/page-beefeater/page-beefeater.scss": 8906/*!******************************************************!*\ 8907 !*** ./templates/page-beefeater/page-beefeater.scss ***! 8908 \******************************************************/ 8909/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8910 8911__webpack_require__.r(__webpack_exports__); 8912// extracted by mini-css-extract-plugin 8913 8914 8915/***/ }), 8916
8917/***/ "./templates/page-campoviejo/page-campoviejo.scss": 8918/*!********************************************************!*\ 8919 !*** ./templates/page-campoviejo/page-campoviejo.scss ***! 8920 \********************************************************/ 8921/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8922 8923__webpack_require__.r(__webpack_exports__); 8924// extracted by mini-css-extract-plugin 8925 8926 8927/***/ }), 8928
8929/***/ "./templates/page-glenlivet/page-glenlivet.scss": 8930/*!******************************************************!*\ 8931 !*** ./templates/page-glenlivet/page-glenlivet.scss ***! 8932 \******************************************************/ 8933/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8934 8935__webpack_require__.r(__webpack_exports__); 8936// extracted by mini-css-extract-plugin 8937 8938 8939/***/ }), 8940
8941/***/ "./templates/page-italicus/page-italicus.scss": 8942/*!****************************************************!*\ 8943 !*** ./templates/page-italicus/page-italicus.scss ***! 8944 \****************************************************/ 8945/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8946 8947__webpack_require__.r(__webpack_exports__); 8948// extracted by mini-css-extract-plugin 8949 8950 8951/***/ }), 8952
8953/***/ "./templates/page-jacobscreek/page-jacobscreek.scss": 8954/*!**********************************************************!*\ 8955 !*** ./templates/page-jacobscreek/page-jacobscreek.scss ***! 8956 \**********************************************************/ 8957/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8958 8959__webpack_require__.r(__webpack_exports__); 8960// extracted by mini-css-extract-plugin 8961 8962 8963/***/ }), 8964
8965/***/ "./templates/page-kahlua/page-kahlua.scss": 8966/*!************************************************!*\ 8967 !*** ./templates/page-kahlua/page-kahlua.scss ***! 8968 \************************************************/ 8969/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8970 8971__webpack_require__.r(__webpack_exports__); 8972// extracted by mini-css-extract-plugin 8973 8974 8975/***/ }), 8976
8977/***/ "./templates/page-kenwood/page-kenwood.scss": 8978/*!**************************************************!*\ 8979 !*** ./templates/page-kenwood/page-kenwood.scss ***! 8980 \**************************************************/ 8981/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8982 8983__webpack_require__.r(__webpack_exports__); 8984// extracted by mini-css-extract-plugin 8985 8986 8987/***/ }), 8988
8989/***/ "./templates/page-lillet/page-lillet.scss": 8990/*!************************************************!*\ 8991 !*** ./templates/page-lillet/page-lillet.scss ***! 8992 \************************************************/ 8993/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8994 8995__webpack_require__.r(__webpack_exports__); 8996// extracted by mini-css-extract-plugin 8997 8998 8999/***/ }), 9000
9001/***/ "./templates/page-malfy/page-malfy.scss": 9002/*!**********************************************!*\ 9003 !*** ./templates/page-malfy/page-malfy.scss ***! 9004 \**********************************************/ 9005/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9006 9007__webpack_require__.r(__webpack_exports__); 9008// extracted by mini-css-extract-plugin 9009 9010 9011/***/ }), 9012
9013/***/ "./templates/page-minttu/page-minttu.scss": 9014/*!************************************************!*\ 9015 !*** ./templates/page-minttu/page-minttu.scss ***! 9016 \************************************************/ 9017/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9018 9019__webpack_require__.r(__webpack_exports__); 9020// extracted by mini-css-extract-plugin 9021 9022 9023/***/ }), 9024
9025/***/ "./templates/page-plymouth/page-plymouth.scss": 9026/*!****************************************************!*\ 9027 !*** ./templates/page-plymouth/page-plymouth.scss ***! 9028 \****************************************************/ 9029/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9030 9031__webpack_require__.r(__webpack_exports__); 9032// extracted by mini-css-extract-plugin 9033 9034 9035/***/ }), 9036
9037/***/ "./templates/page-stoneleigh/page-stoneleigh.scss": 9038/*!********************************************************!*\ 9039 !*** ./templates/page-stoneleigh/page-stoneleigh.scss ***! 9040 \********************************************************/ 9041/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9042 9043__webpack_require__.r(__webpack_exports__); 9044// extracted by mini-css-extract-plugin 9045 9046 9047/***/ }), 9048
9049/***/ "./templates/page-white/page-white.scss": 9050/*!**********************************************!*\ 9051 !*** ./templates/page-white/page-white.scss ***! 9052 \**********************************************/ 9053/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9054 9055__webpack_require__.r(__webpack_exports__); 9056// extracted by mini-css-extract-plugin 9057 9058 9059/***/ }), 9060
9061/***/ "./templates/search/search.scss": 9062/*!**************************************!*\ 9063 !*** ./templates/search/search.scss ***! 9064 \**************************************/ 9065/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9066 9067__webpack_require__.r(__webpack_exports__); 9068// extracted by mini-css-extract-plugin 9069 9070 9071/***/ }), 9072
9073/***/ "./templates/single/single.scss": 9074/*!**************************************!*\ 9075 !*** ./templates/single/single.scss ***! 9076 \**************************************/ 9077/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9078 9079__webpack_require__.r(__webpack_exports__); 9080// extracted by mini-css-extract-plugin 9081 9082 9083/***/ }), 9084
9085/***/ "./templates/single-product/single-product.scss": 9086/*!******************************************************!*\ 9087 !*** ./templates/single-product/single-product.scss ***! 9088 \******************************************************/ 9089/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9090 9091__webpack_require__.r(__webpack_exports__); 9092// extracted by mini-css-extract-plugin 9093 9094 9095/***/ }), 9096
9097/***/ "./templates/taxonomy/taxonomy.scss": 9098/*!******************************************!*\ 9099 !*** ./templates/taxonomy/taxonomy.scss ***! 9100 \******************************************/ 9101/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9102 9103__webpack_require__.r(__webpack_exports__); 9104// extracted by mini-css-extract-plugin 9105 9106 9107/***/ }), 9108
9109/***/ "./blocks/boxed-content/boxed-content.scss": 9110/*!*************************************************!*\ 9111 !*** ./blocks/boxed-content/boxed-content.scss ***! 9112 \*************************************************/ 9113/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9114 9115__webpack_require__.r(__webpack_exports__); 9116// extracted by mini-css-extract-plugin 9117 9118 9119/***/ }), 9120
9121/***/ "./blocks/form/form.scss": 9122/*!*******************************!*\ 9123 !*** ./blocks/form/form.scss ***! 9124 \*******************************/ 9125/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9126 9127__webpack_require__.r(__webpack_exports__); 9128// extracted by mini-css-extract-plugin 9129 9130 9131/***/ }), 9132
9133/***/ "./blocks/home-hero/home-hero.scss": 9134/*!*****************************************!*\ 9135 !*** ./blocks/home-hero/home-hero.scss ***! 9136 \*****************************************/ 9137/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9138 9139__webpack_require__.r(__webpack_exports__); 9140// extracted by mini-css-extract-plugin 9141 9142 9143/***/ }), 9144
9145/***/ "./blocks/inspiration/inspiration.scss": 9146/*!*********************************************!*\ 9147 !*** ./blocks/inspiration/inspiration.scss ***! 9148 \*********************************************/ 9149/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9150 9151__webpack_require__.r(__webpack_exports__); 9152// extracted by mini-css-extract-plugin 9153 9154 9155/***/ }), 9156
9157/***/ "./blocks/schedule/schedule.scss": 9158/*!***************************************!*\ 9159 !*** ./blocks/schedule/schedule.scss ***! 9160 \***************************************/ 9161/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9162 9163__webpack_require__.r(__webpack_exports__); 9164// extracted by mini-css-extract-plugin 9165 9166 9167/***/ }), 9168
9169/***/ "./blocks/text-button/text-button.scss": 9170/*!*********************************************!*\ 9171 !*** ./blocks/text-button/text-button.scss ***! 9172 \*********************************************/ 9173/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9174 9175__webpack_require__.r(__webpack_exports__); 9176// extracted by mini-css-extract-plugin 9177 9178 9179/***/ }), 9180
9181/***/ "./blocks/three-col/three-col.scss": 9182/*!*****************************************!*\ 9183 !*** ./blocks/three-col/three-col.scss ***! 9184 \*****************************************/ 9185/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9186 9187__webpack_require__.r(__webpack_exports__); 9188// extracted by mini-css-extract-plugin 9189 9190 9191/***/ }), 9192
9193/***/ "./blocks/two-col/two-col.scss": 9194/*!*************************************!*\ 9195 !*** ./blocks/two-col/two-col.scss ***! 9196 \*************************************/ 9197/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9198 9199__webpack_require__.r(__webpack_exports__); 9200// extracted by mini-css-extract-plugin 9201 9202 9203/***/ }), 9204
9205/***/ "./layouts/test_layout/test_layout.scss": 9206/*!**********************************************!*\ 9207 !*** ./layouts/test_layout/test_layout.scss ***! 9208 \**********************************************/ 9209/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9210 9211__webpack_require__.r(__webpack_exports__); 9212// extracted by mini-css-extract-plugin 9213 9214 9215/***/ }), 9216
9217/***/ "./resources/scss/wp-dashboard/admin.scss": 9218/*!************************************************!*\ 9219 !*** ./resources/scss/wp-dashboard/admin.scss ***! 9220 \************************************************/ 9221/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9222 9223__webpack_require__.r(__webpack_exports__); 9224// extracted by mini-css-extract-plugin 9225 9226 9227/***/ }), 9228
9229/***/ "./resources/scss/wp-dashboard/colors.scss": 9230/*!*************************************************!*\ 9231 !*** ./resources/scss/wp-dashboard/colors.scss ***! 9232 \*************************************************/ 9233/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9234 9235__webpack_require__.r(__webpack_exports__); 9236// extracted by mini-css-extract-plugin 9237 9238 9239/***/ }), 9240
9241/***/ "./resources/scss/wp-dashboard/editor.scss": 9242/*!*************************************************!*\ 9243 !*** ./resources/scss/wp-dashboard/editor.scss ***! 9244 \*************************************************/ 9245/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9246 9247__webpack_require__.r(__webpack_exports__); 9248// extracted by mini-css-extract-plugin 9249 9250 9251/***/ }), 9252
9253/***/ "./resources/scss/wp-dashboard/login.scss": 9254/*!************************************************!*\ 9255 !*** ./resources/scss/wp-dashboard/login.scss ***! 9256 \************************************************/ 9257/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9258 9259__webpack_require__.r(__webpack_exports__); 9260// extracted by mini-css-extract-plugin 9261 9262 9263/***/ }), 9264
9265/***/ "./resources/scss/app.scss": 9266/*!*********************************!*\ 9267 !*** ./resources/scss/app.scss ***! 9268 \*********************************/ 9269/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9270 9271__webpack_require__.r(__webpack_exports__); 9272// extracted by mini-css-extract-plugin 9273 9274 9275/***/ }), 9276
9277/***/ "./templates/archive-cocktail/archive-cocktail.scss": 9278/*!**********************************************************!*\ 9279 !*** ./templates/archive-cocktail/archive-cocktail.scss ***! 9280 \**********************************************************/ 9281/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9282 9283__webpack_require__.r(__webpack_exports__); 9284// extracted by mini-css-extract-plugin 9285 9286 9287/***/ }), 9288
9289/***/ "./templates/archive-inspiration/archive-inspiration.scss": 9290/*!****************************************************************!*\ 9291 !*** ./templates/archive-inspiration/archive-inspiration.scss ***! 9292 \****************************************************************/ 9293/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9294 9295__webpack_require__.r(__webpack_exports__); 9296// extracted by mini-css-extract-plugin 9297 9298 9299/***/ }), 9300
9301/***/ "./templates/archive-krognytt/archive-krognytt.scss": 9302/*!**********************************************************!*\ 9303 !*** ./templates/archive-krognytt/archive-krognytt.scss ***! 9304 \**********************************************************/ 9305/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9306 9307__webpack_require__.r(__webpack_exports__); 9308// extracted by mini-css-extract-plugin 9309 9310 9311/***/ }), 9312
9313/***/ "./templates/archive-product/archive-product.scss": 9314/*!********************************************************!*\ 9315 !*** ./templates/archive-product/archive-product.scss ***! 9316 \********************************************************/ 9317/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9318 9319__webpack_require__.r(__webpack_exports__); 9320// extracted by mini-css-extract-plugin 9321 9322 9323/***/ }), 9324
vendor: 42,417 bytes, lines 9325-10904
9325/***/ "./node_modules/dom7/dom7.esm.js": 9326/*!***************************************!*\ 9327 !*** ./node_modules/dom7/dom7.esm.js ***! 9328 \***************************************/ 9329/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 9330 9331__webpack_require__.r(__webpack_exports__); 9332/* harmony export */ __webpack_require__.d(__webpack_exports__, { 9333/* harmony export */ "$": function() { return /* binding */ $; }, 9334/* harmony export */ "add": function() { return /* binding */ add; }, 9335/* harmony export */ "addClass": function() { return /* binding */ addClass; }, 9336/* harmony export */ "animate": function() { return /* binding */ animate; }, 9337/* harmony export */ "animationEnd": function() { return /* binding */ animationEnd; }, 9338/* harmony export */ "append": function() { return /* binding */ append; }, 9339/* harmony export */ "appendTo": function() { return /* binding */ appendTo; }, 9340/* harmony export */ "attr": function() { return /* binding */ attr; }, 9341/* harmony export */ "blur": function() { return /* binding */ blur; }, 9342/* harmony export */ "change": function() { return /* binding */ change; }, 9343/* harmony export */ "children": function() { return /* binding */ children; }, 9344/* harmony export */ "click": function() { return /* binding */ click; }, 9345/* harmony export */ "closest": function() { return /* binding */ closest; }, 9346/* harmony export */ "css": function() { return /* binding */ css; }, 9347/* harmony export */ "data": function() { return /* binding */ data; }, 9348/* harmony export */ "dataset": function() { return /* binding */ dataset; }, 9349/* harmony export */ "detach": function() { return /* binding */ detach; }, 9350/* harmony export */ "each": function() { return /* binding */ each; }, 9351/* harmony export */ "empty": function() { return /* binding */ empty; }, 9352/* harmony export */ "eq": function() { return /* binding */ eq; }, 9353/* harmony export */ "filter": function() { return /* binding */ filter; }, 9354/* harmony export */ "find": function() { return /* binding */ find; }, 9355/* harmony export */ "focus": function() { return /* binding */ focus; }, 9356/* harmony export */ "focusin": function() { return /* binding */ focusin; }, 9357/* harmony export */ "focusout": function() { return /* binding */ focusout; }, 9358/* harmony export */ "hasClass": function() { return /* binding */ hasClass; }, 9359/* harmony export */ "height": function() { return /* binding */ height; }, 9360/* harmony export */ "hide": function() { return /* binding */ hide; }, 9361/* harmony export */ "html": function() { return /* binding */ html; }, 9362/* harmony export */ "index": function() { return /* binding */ index; }, 9363/* harmony export */ "insertAfter": function() { return /* binding */ insertAfter; }, 9364/* harmony export */ "insertBefore": function() { return /* binding */ insertBefore; }, 9365/* harmony export */ "is": function() { return /* binding */ is; }, 9366/* harmony export */ "keydown": function() { return /* binding */ keydown; }, 9367/* harmony export */ "keypress": function() { return /* binding */ keypress; }, 9368/* harmony export */ "keyup": function() { return /* binding */ keyup; }, 9369/* harmony export */ "mousedown": function() { return /* binding */ mousedown; }, 9370/* harmony export */ "mouseenter": function() { return /* binding */ mouseenter; }, 9371/* harmony export */ "mouseleave": function() { return /* binding */ mouseleave; }, 9372/* harmony export */ "mousemove": function() { return /* binding */ mousemove; }, 9373/* harmony export */ "mouseout": function() { return /* binding */ mouseout; }, 9374/* harmony export */ "mouseover": function() { return /* binding */ mouseover; }, 9375/* harmony export */ "mouseup": function() { return /* binding */ mouseup; }, 9376/* harmony export */ "next": function() { return /* binding */ next; }, 9377/* harmony export */ "nextAll": function() { return /* binding */ nextAll; }, 9378/* harmony export */ "off": function() { return /* binding */ off; }, 9379/* harmony export */ "offset": function() { return /* binding */ offset; }, 9380/* harmony export */ "on": function() { return /* binding */ on; }, 9381/* harmony export */ "once": function() { return /* binding */ once; }, 9382/* harmony export */ "outerHeight": function() { return /* binding */ outerHeight; }, 9383/* harmony export */ "outerWidth": function() { return /* binding */ outerWidth; }, 9384/* harmony export */ "parent": function() { return /* binding */ parent; }, 9385/* harmony export */ "parents": function() { return /* binding */ parents; }, 9386/* harmony export */ "prepend": function() { return /* binding */ prepend; }, 9387/* harmony export */ "prependTo": function() { return /* binding */ prependTo; }, 9388/* harmony export */ "prev": function() { return /* binding */ prev; }, 9389/* harmony export */ "prevAll": function() { return /* binding */ prevAll; }, 9390/* harmony export */ "prop": function() { return /* binding */ prop; }, 9391/* harmony export */ "remove": function() { return /* binding */ remove; }, 9392/* harmony export */ "removeAttr": function() { return /* binding */ removeAttr; }, 9393/* harmony export */ "removeClass": function() { return /* binding */ removeClass; }, 9394/* harmony export */ "removeData": function() { return /* binding */ removeData; }, 9395/* harmony export */ "resize": function() { return /* binding */ resize; }, 9396/* harmony export */ "scroll": function() { return /* binding */ scroll; }, 9397/* harmony export */ "scrollLeft": function() { return /* binding */ scrollLeft; }, 9398/* harmony export */ "scrollTo": function() { return /* binding */ scrollTo; }, 9399/* harmony export */ "scrollTop": function() { return /* binding */ scrollTop; }, 9400/* harmony export */ "show": function() { return /* binding */ show; }, 9401/* harmony export */ "siblings": function() { return /* binding */ siblings; }, 9402/* harmony export */ "stop": function() { return /* binding */ stop; }, 9403/* harmony export */ "styles": function() { return /* binding */ styles; }, 9404/* harmony export */ "submit": function() { return /* binding */ submit; }, 9405/* harmony export */ "text": function() { return /* binding */ text; }, 9406/* harmony export */ "toggleClass": function() { return /* binding */ toggleClass; }, 9407/* harmony export */ "touchend": function() { return /* binding */ touchend; }, 9408/* harmony export */ "touchmove": function() { return /* binding */ touchmove; }, 9409/* harmony export */ "touchstart": function() { return /* binding */ touchstart; }, 9410/* harmony export */ "transform": function() { return /* binding */ transform; }, 9411/* harmony export */ "transition": function() { return /* binding */ transition; }, 9412/* harmony export */ "transitionEnd": function() { return /* binding */ transitionEnd; }, 9413/* harmony export */ "trigger": function() { return /* binding */ trigger; }, 9414/* harmony export */ "val": function() { return /* binding */ val; }, 9415/* harmony export */ "value": function() { return /* binding */ value; }, 9416/* harmony export */ "width": function() { return /* binding */ width; } 9417/* harmony export */ }); 9418/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 9419/** 9420 * Dom7 4.0.4 9421 * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API 9422 * https://framework7.io/docs/dom7.html 9423 * 9424 * Copyright 2022, Vladimir Kharlampidi 9425 * 9426 * Licensed under MIT 9427 * 9428 * Released on: January 11, 2022 9429 */ 9430 9431 9432/* eslint-disable no-proto */ 9433function makeReactive(obj) { 9434 const proto = obj.__proto__; 9435 Object.defineProperty(obj, '__proto__', { 9436 get() { 9437 return proto; 9438 }, 9439 9440 set(value) { 9441 proto.__proto__ = value; 9442 } 9443 9444 }); 9445} 9446 9447class Dom7 extends Array { 9448 constructor(items) { 9449 if (typeof items === 'number') { 9450 super(items); 9451 } else { 9452 super(...(items || [])); 9453 makeReactive(this); 9454 } 9455 } 9456 9457} 9458 9459function arrayFlat(arr = []) { 9460 const res = []; 9461 arr.forEach(el => { 9462 if (Array.isArray(el)) { 9463 res.push(...arrayFlat(el)); 9464 } else { 9465 res.push(el); 9466 } 9467 }); 9468 return res; 9469} 9470function arrayFilter(arr, callback) { 9471 return Array.prototype.filter.call(arr, callback); 9472} 9473function arrayUnique(arr) { 9474 const uniqueArray = []; 9475 9476 for (let i = 0; i < arr.length; i += 1) { 9477 if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]); 9478 } 9479 9480 return uniqueArray; 9481} 9482function toCamelCase(string) { 9483 return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase()); 9484} 9485 9486// eslint-disable-next-line 9487 9488function qsa(selector, context) { 9489 if (typeof selector !== 'string') { 9490 return [selector]; 9491 } 9492 9493 const a = []; 9494 const res = context.querySelectorAll(selector); 9495 9496 for (let i = 0; i < res.length; i += 1) { 9497 a.push(res[i]); 9498 } 9499 9500 return a; 9501} 9502 9503function $(selector, context) { 9504 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 9505 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 9506 let arr = []; 9507 9508 if (!context && selector instanceof Dom7) { 9509 return selector; 9510 } 9511 9512 if (!selector) { 9513 return new Dom7(arr); 9514 } 9515 9516 if (typeof selector === 'string') { 9517 const html = selector.trim(); 9518 9519 if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) { 9520 let toCreate = 'div'; 9521 if (html.indexOf('<li') === 0) toCreate = 'ul'; 9522 if (html.indexOf('<tr') === 0) toCreate = 'tbody'; 9523 if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) toCreate = 'tr'; 9524 if (html.indexOf('<tbody') === 0) toCreate = 'table'; 9525 if (html.indexOf('<option') === 0) toCreate = 'select'; 9526 const tempParent = document.createElement(toCreate); 9527 tempParent.innerHTML = html; 9528 9529 for (let i = 0; i < tempParent.childNodes.length; i += 1) { 9530 arr.push(tempParent.childNodes[i]); 9531 } 9532 } else { 9533 arr = qsa(selector.trim(), context || document); 9534 } // arr = qsa(selector, document); 9535 9536 } else if (selector.nodeType || selector === window || selector === document) { 9537 arr.push(selector); 9538 } else if (Array.isArray(selector)) { 9539 if (selector instanceof Dom7) return selector; 9540 arr = selector; 9541 } 9542 9543 return new Dom7(arrayUnique(arr)); 9544} 9545 9546$.fn = Dom7.prototype; 9547 9548// eslint-disable-next-line 9549 9550function addClass(...classes) { 9551 const classNames = arrayFlat(classes.map(c => c.split(' '))); 9552 this.forEach(el => { 9553 el.classList.add(...classNames); 9554 }); 9555 return this; 9556} 9557 9558function removeClass(...classes) { 9559 const classNames = arrayFlat(classes.map(c => c.split(' '))); 9560 this.forEach(el => { 9561 el.classList.remove(...classNames); 9562 }); 9563 return this; 9564} 9565 9566function toggleClass(...classes) { 9567 const classNames = arrayFlat(classes.map(c => c.split(' '))); 9568 this.forEach(el => { 9569 classNames.forEach(className => { 9570 el.classList.toggle(className); 9571 }); 9572 }); 9573} 9574 9575function hasClass(...classes) { 9576 const classNames = arrayFlat(classes.map(c => c.split(' '))); 9577 return arrayFilter(this, el => { 9578 return classNames.filter(className => el.classList.contains(className)).length > 0; 9579 }).length > 0; 9580} 9581 9582function attr(attrs, value) { 9583 if (arguments.length === 1 && typeof attrs === 'string') { 9584 // Get attr 9585 if (this[0]) return this[0].getAttribute(attrs); 9586 return undefined; 9587 } // Set attrs 9588 9589 9590 for (let i = 0; i < this.length; i += 1) { 9591 if (arguments.length === 2) { 9592 // String 9593 this[i].setAttribute(attrs, value); 9594 } else { 9595 // Object 9596 for (const attrName in attrs) { 9597 this[i][attrName] = attrs[attrName]; 9598 this[i].setAttribute(attrName, attrs[attrName]); 9599 } 9600 } 9601 } 9602 9603 return this; 9604} 9605 9606function removeAttr(attr) { 9607 for (let i = 0; i < this.length; i += 1) { 9608 this[i].removeAttribute(attr); 9609 } 9610 9611 return this; 9612} 9613 9614function prop(props, value) { 9615 if (arguments.length === 1 && typeof props === 'string') { 9616 // Get prop 9617 if (this[0]) return this[0][props]; 9618 } else { 9619 // Set props 9620 for (let i = 0; i < this.length; i += 1) { 9621 if (arguments.length === 2) { 9622 // String 9623 this[i][props] = value; 9624 } else { 9625 // Object 9626 for (const propName in props) { 9627 this[i][propName] = props[propName]; 9628 } 9629 } 9630 } 9631 9632 return this; 9633 } 9634 9635 return this; 9636} 9637 9638function data(key, value) { 9639 let el; 9640 9641 if (typeof value === 'undefined') { 9642 el = this[0]; 9643 if (!el) return undefined; // Get value 9644 9645 if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) { 9646 return el.dom7ElementDataStorage[key]; 9647 } 9648 9649 const dataKey = el.getAttribute(`data-${key}`); 9650 9651 if (dataKey) { 9652 return dataKey; 9653 } 9654 9655 return undefined; 9656 } // Set value 9657 9658 9659 for (let i = 0; i < this.length; i += 1) { 9660 el = this[i]; 9661 if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {}; 9662 el.dom7ElementDataStorage[key] = value; 9663 } 9664 9665 return this; 9666} 9667 9668function removeData(key) { 9669 for (let i = 0; i < this.length; i += 1) { 9670 const el = this[i]; 9671 9672 if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) { 9673 el.dom7ElementDataStorage[key] = null; 9674 delete el.dom7ElementDataStorage[key]; 9675 } 9676 } 9677} 9678 9679function dataset() { 9680 const el = this[0]; 9681 if (!el) return undefined; 9682 const dataset = {}; // eslint-disable-line 9683 9684 if (el.dataset) { 9685 for (const dataKey in el.dataset) { 9686 dataset[dataKey] = el.dataset[dataKey]; 9687 } 9688 } else { 9689 for (let i = 0; i < el.attributes.length; i += 1) { 9690 const attr = el.attributes[i]; 9691 9692 if (attr.name.indexOf('data-') >= 0) { 9693 dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value; 9694 } 9695 } 9696 } 9697 9698 for (const key in dataset) { 9699 if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1; 9700 } 9701 9702 return dataset; 9703} 9704 9705function val(value) { 9706 if (typeof value === 'undefined') { 9707 // get value 9708 const el = this[0]; 9709 if (!el) return undefined; 9710 9711 if (el.multiple && el.nodeName.toLowerCase() === 'select') { 9712 const values = []; 9713 9714 for (let i = 0; i < el.selectedOptions.length; i += 1) { 9715 values.push(el.selectedOptions[i].value); 9716 } 9717 9718 return values; 9719 } 9720 9721 return el.value; 9722 } // set value 9723 9724 9725 for (let i = 0; i < this.length; i += 1) { 9726 const el = this[i]; 9727 9728 if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') { 9729 for (let j = 0; j < el.options.length; j += 1) { 9730 el.options[j].selected = value.indexOf(el.options[j].value) >= 0; 9731 } 9732 } else { 9733 el.value = value; 9734 } 9735 } 9736 9737 return this; 9738} 9739 9740function value(value) { 9741 return this.val(value); 9742} 9743 9744function transform(transform) { 9745 for (let i = 0; i < this.length; i += 1) { 9746 this[i].style.transform = transform; 9747 } 9748 9749 return this; 9750} 9751 9752function transition(duration) { 9753 for (let i = 0; i < this.length; i += 1) { 9754 this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration; 9755 } 9756 9757 return this; 9758} 9759 9760function on(...args) { 9761 let [eventType, targetSelector, listener, capture] = args; 9762 9763 if (typeof args[1] === 'function') { 9764 [eventType, listener, capture] = args; 9765 targetSelector = undefined; 9766 } 9767 9768 if (!capture) capture = false; 9769 9770 function handleLiveEvent(e) { 9771 const target = e.target; 9772 if (!target) return; 9773 const eventData = e.target.dom7EventData || []; 9774 9775 if (eventData.indexOf(e) < 0) { 9776 eventData.unshift(e); 9777 } 9778 9779 if ($(target).is(targetSelector)) listener.apply(target, eventData);else { 9780 const parents = $(target).parents(); // eslint-disable-line 9781 9782 for (let k = 0; k < parents.length; k += 1) { 9783 if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData); 9784 } 9785 } 9786 } 9787 9788 function handleEvent(e) { 9789 const eventData = e && e.target ? e.target.dom7EventData || [] : []; 9790 9791 if (eventData.indexOf(e) < 0) { 9792 eventData.unshift(e); 9793 } 9794 9795 listener.apply(this, eventData); 9796 } 9797 9798 const events = eventType.split(' '); 9799 let j; 9800 9801 for (let i = 0; i < this.length; i += 1) { 9802 const el = this[i]; 9803 9804 if (!targetSelector) { 9805 for (j = 0; j < events.length; j += 1) { 9806 const event = events[j]; 9807 if (!el.dom7Listeners) el.dom7Listeners = {}; 9808 if (!el.dom7Listeners[event]) el.dom7Listeners[event] = []; 9809 el.dom7Listeners[event].push({ 9810 listener, 9811 proxyListener: handleEvent 9812 }); 9813 el.addEventListener(event, handleEvent, capture); 9814 } 9815 } else { 9816 // Live events 9817 for (j = 0; j < events.length; j += 1) { 9818 const event = events[j]; 9819 if (!el.dom7LiveListeners) el.dom7LiveListeners = {}; 9820 if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = []; 9821 el.dom7LiveListeners[event].push({ 9822 listener, 9823 proxyListener: handleLiveEvent 9824 }); 9825 el.addEventListener(event, handleLiveEvent, capture); 9826 } 9827 } 9828 } 9829 9830 return this; 9831} 9832 9833function off(...args) { 9834 let [eventType, targetSelector, listener, capture] = args; 9835 9836 if (typeof args[1] === 'function') { 9837 [eventType, listener, capture] = args; 9838 targetSelector = undefined; 9839 } 9840 9841 if (!capture) capture = false; 9842 const events = eventType.split(' '); 9843 9844 for (let i = 0; i < events.length; i += 1) { 9845 const event = events[i]; 9846 9847 for (let j = 0; j < this.length; j += 1) { 9848 const el = this[j]; 9849 let handlers; 9850 9851 if (!targetSelector && el.dom7Listeners) { 9852 handlers = el.dom7Listeners[event]; 9853 } else if (targetSelector && el.dom7LiveListeners) { 9854 handlers = el.dom7LiveListeners[event]; 9855 } 9856 9857 if (handlers && handlers.length) { 9858 for (let k = handlers.length - 1; k >= 0; k -= 1) { 9859 const handler = handlers[k]; 9860 9861 if (listener && handler.listener === listener) { 9862 el.removeEventListener(event, handler.proxyListener, capture); 9863 handlers.splice(k, 1); 9864 } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) { 9865 el.removeEventListener(event, handler.proxyListener, capture); 9866 handlers.splice(k, 1); 9867 } else if (!listener) { 9868 el.removeEventListener(event, handler.proxyListener, capture); 9869 handlers.splice(k, 1); 9870 } 9871 } 9872 } 9873 } 9874 } 9875 9876 return this; 9877} 9878 9879function once(...args) { 9880 const dom = this; 9881 let [eventName, targetSelector, listener, capture] = args; 9882 9883 if (typeof args[1] === 'function') { 9884 [eventName, listener, capture] = args; 9885 targetSelector = undefined; 9886 } 9887 9888 function onceHandler(...eventArgs) { 9889 listener.apply(this, eventArgs); 9890 dom.off(eventName, targetSelector, onceHandler, capture); 9891 9892 if (onceHandler.dom7proxy) { 9893 delete onceHandler.dom7proxy; 9894 } 9895 } 9896 9897 onceHandler.dom7proxy = listener; 9898 return dom.on(eventName, targetSelector, onceHandler, capture); 9899} 9900 9901function trigger(...args) { 9902 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 9903 const events = args[0].split(' '); 9904 const eventData = args[1]; 9905 9906 for (let i = 0; i < events.length; i += 1) { 9907 const event = events[i]; 9908 9909 for (let j = 0; j < this.length; j += 1) { 9910 const el = this[j]; 9911 9912 if (window.CustomEvent) { 9913 const evt = new window.CustomEvent(event, { 9914 detail: eventData, 9915 bubbles: true, 9916 cancelable: true 9917 }); 9918 el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0); 9919 el.dispatchEvent(evt); 9920 el.dom7EventData = []; 9921 delete el.dom7EventData; 9922 } 9923 } 9924 } 9925 9926 return this; 9927} 9928 9929function transitionEnd(callback) { 9930 const dom = this; 9931 9932 function fireCallBack(e) { 9933 if (e.target !== this) return; 9934 callback.call(this, e); 9935 dom.off('transitionend', fireCallBack); 9936 } 9937 9938 if (callback) { 9939 dom.on('transitionend', fireCallBack); 9940 } 9941 9942 return this; 9943} 9944 9945function animationEnd(callback) { 9946 const dom = this; 9947 9948 function fireCallBack(e) { 9949 if (e.target !== this) return; 9950 callback.call(this, e); 9951 dom.off('animationend', fireCallBack); 9952 } 9953 9954 if (callback) { 9955 dom.on('animationend', fireCallBack); 9956 } 9957 9958 return this; 9959} 9960 9961function width() { 9962 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 9963 9964 if (this[0] === window) { 9965 return window.innerWidth; 9966 } 9967 9968 if (this.length > 0) { 9969 return parseFloat(this.css('width')); 9970 } 9971 9972 return null; 9973} 9974 9975function outerWidth(includeMargins) { 9976 if (this.length > 0) { 9977 if (includeMargins) { 9978 const styles = this.styles(); 9979 return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left')); 9980 } 9981 9982 return this[0].offsetWidth; 9983 } 9984 9985 return null; 9986} 9987 9988function height() { 9989 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 9990 9991 if (this[0] === window) { 9992 return window.innerHeight; 9993 } 9994 9995 if (this.length > 0) { 9996 return parseFloat(this.css('height')); 9997 } 9998 9999 return null; 10000} 10001 10002function outerHeight(includeMargins) { 10003 if (this.length > 0) { 10004 if (includeMargins) { 10005 const styles = this.styles(); 10006 return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom')); 10007 } 10008 10009 return this[0].offsetHeight; 10010 } 10011 10012 return null; 10013} 10014 10015function offset() { 10016 if (this.length > 0) { 10017 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 10018 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 10019 const el = this[0]; 10020 const box = el.getBoundingClientRect(); 10021 const body = document.body; 10022 const clientTop = el.clientTop || body.clientTop || 0; 10023 const clientLeft = el.clientLeft || body.clientLeft || 0; 10024 const scrollTop = el === window ? window.scrollY : el.scrollTop; 10025 const scrollLeft = el === window ? window.scrollX : el.scrollLeft; 10026 return { 10027 top: box.top + scrollTop - clientTop, 10028 left: box.left + scrollLeft - clientLeft 10029 }; 10030 } 10031 10032 return null; 10033} 10034 10035function hide() { 10036 for (let i = 0; i < this.length; i += 1) { 10037 this[i].style.display = 'none'; 10038 } 10039 10040 return this; 10041} 10042 10043function show() { 10044 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 10045 10046 for (let i = 0; i < this.length; i += 1) { 10047 const el = this[i]; 10048 10049 if (el.style.display === 'none') { 10050 el.style.display = ''; 10051 } 10052 10053 if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') { 10054 // Still not visible 10055 el.style.display = 'block'; 10056 } 10057 } 10058 10059 return this; 10060} 10061 10062function styles() { 10063 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 10064 if (this[0]) return window.getComputedStyle(this[0], null); 10065 return {}; 10066} 10067 10068function css(props, value) { 10069 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 10070 let i; 10071 10072 if (arguments.length === 1) { 10073 if (typeof props === 'string') { 10074 // .css('width') 10075 if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props); 10076 } else { 10077 // .css({ width: '100px' }) 10078 for (i = 0; i < this.length; i += 1) { 10079 for (const prop in props) { 10080 this[i].style[prop] = props[prop]; 10081 } 10082 } 10083 10084 return this; 10085 } 10086 } 10087 10088 if (arguments.length === 2 && typeof props === 'string') { 10089 // .css('width', '100px') 10090 for (i = 0; i < this.length; i += 1) { 10091 this[i].style[props] = value; 10092 } 10093 10094 return this; 10095 } 10096 10097 return this; 10098} 10099 10100function each(callback) { 10101 if (!callback) return this; 10102 this.forEach((el, index) => { 10103 callback.apply(el, [el, index]); 10104 }); 10105 return this; 10106} 10107 10108function filter(callback) { 10109 const result = arrayFilter(this, callback); 10110 return $(result); 10111} 10112 10113function html(html) { 10114 if (typeof html === 'undefined') { 10115 return this[0] ? this[0].innerHTML : null; 10116 } 10117 10118 for (let i = 0; i < this.length; i += 1) { 10119 this[i].innerHTML = html; 10120 } 10121 10122 return this; 10123} 10124 10125function text(text) { 10126 if (typeof text === 'undefined') { 10127 return this[0] ? this[0].textContent.trim() : null; 10128 } 10129 10130 for (let i = 0; i < this.length; i += 1) { 10131 this[i].textContent = text; 10132 } 10133 10134 return this; 10135} 10136 10137function is(selector) { 10138 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 10139 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 10140 const el = this[0]; 10141 let compareWith; 10142 let i; 10143 if (!el || typeof selector === 'undefined') return false; 10144 10145 if (typeof selector === 'string') { 10146 if (el.matches) return el.matches(selector); 10147 if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector); 10148 if (el.msMatchesSelector) return el.msMatchesSelector(selector); 10149 compareWith = $(selector); 10150 10151 for (i = 0; i < compareWith.length; i += 1) { 10152 if (compareWith[i] === el) return true; 10153 } 10154 10155 return false; 10156 } 10157 10158 if (selector === document) { 10159 return el === document; 10160 } 10161 10162 if (selector === window) { 10163 return el === window; 10164 } 10165 10166 if (selector.nodeType || selector instanceof Dom7) { 10167 compareWith = selector.nodeType ? [selector] : selector; 10168 10169 for (i = 0; i < compareWith.length; i += 1) { 10170 if (compareWith[i] === el) return true; 10171 } 10172 10173 return false; 10174 } 10175 10176 return false; 10177} 10178 10179function index() { 10180 let child = this[0]; 10181 let i; 10182 10183 if (child) { 10184 i = 0; // eslint-disable-next-line 10185 10186 while ((child = child.previousSibling) !== null) { 10187 if (child.nodeType === 1) i += 1; 10188 } 10189 10190 return i; 10191 } 10192 10193 return undefined; 10194} 10195 10196function eq(index) { 10197 if (typeof index === 'undefined') return this; 10198 const length = this.length; 10199 10200 if (index > length - 1) { 10201 return $([]); 10202 } 10203 10204 if (index < 0) { 10205 const returnIndex = length + index; 10206 if (returnIndex < 0) return $([]); 10207 return $([this[returnIndex]]); 10208 } 10209 10210 return $([this[index]]); 10211} 10212 10213function append(...els) { 10214 let newChild; 10215 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 10216 10217 for (let k = 0; k < els.length; k += 1) { 10218 newChild = els[k]; 10219 10220 for (let i = 0; i < this.length; i += 1) { 10221 if (typeof newChild === 'string') { 10222 const tempDiv = document.createElement('div'); 10223 tempDiv.innerHTML = newChild; 10224 10225 while (tempDiv.firstChild) { 10226 this[i].appendChild(tempDiv.firstChild); 10227 } 10228 } else if (newChild instanceof Dom7) { 10229 for (let j = 0; j < newChild.length; j += 1) { 10230 this[i].appendChild(newChild[j]); 10231 } 10232 } else { 10233 this[i].appendChild(newChild); 10234 } 10235 } 10236 } 10237 10238 return this; 10239} 10240 10241function appendTo(parent) { 10242 $(parent).append(this); 10243 return this; 10244} 10245 10246function prepend(newChild) { 10247 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 10248 let i; 10249 let j; 10250 10251 for (i = 0; i < this.length; i += 1) { 10252 if (typeof newChild === 'string') { 10253 const tempDiv = document.createElement('div'); 10254 tempDiv.innerHTML = newChild; 10255 10256 for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) { 10257 this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]); 10258 } 10259 } else if (newChild instanceof Dom7) { 10260 for (j = 0; j < newChild.length; j += 1) { 10261 this[i].insertBefore(newChild[j], this[i].childNodes[0]); 10262 } 10263 } else { 10264 this[i].insertBefore(newChild, this[i].childNodes[0]); 10265 } 10266 } 10267 10268 return this; 10269} 10270 10271function prependTo(parent) { 10272 $(parent).prepend(this); 10273 return this; 10274} 10275 10276function insertBefore(selector) { 10277 const before = $(selector); 10278 10279 for (let i = 0; i < this.length; i += 1) { 10280 if (before.length === 1) { 10281 before[0].parentNode.insertBefore(this[i], before[0]); 10282 } else if (before.length > 1) { 10283 for (let j = 0; j < before.length; j += 1) { 10284 before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]); 10285 } 10286 } 10287 } 10288} 10289 10290function insertAfter(selector) { 10291 const after = $(selector); 10292 10293 for (let i = 0; i < this.length; i += 1) { 10294 if (after.length === 1) { 10295 after[0].parentNode.insertBefore(this[i], after[0].nextSibling); 10296 } else if (after.length > 1) { 10297 for (let j = 0; j < after.length; j += 1) { 10298 after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling); 10299 } 10300 } 10301 } 10302} 10303 10304function next(selector) { 10305 if (this.length > 0) { 10306 if (selector) { 10307 if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) { 10308 return $([this[0].nextElementSibling]); 10309 } 10310 10311 return $([]); 10312 } 10313 10314 if (this[0].nextElementSibling) return $([this[0].nextElementSibling]); 10315 return $([]); 10316 } 10317 10318 return $([]); 10319} 10320 10321function nextAll(selector) { 10322 const nextEls = []; 10323 let el = this[0]; 10324 if (!el) return $([]); 10325 10326 while (el.nextElementSibling) { 10327 const next = el.nextElementSibling; // eslint-disable-line 10328 10329 if (selector) { 10330 if ($(next).is(selector)) nextEls.push(next); 10331 } else nextEls.push(next); 10332 10333 el = next; 10334 } 10335 10336 return $(nextEls); 10337} 10338 10339function prev(selector) { 10340 if (this.length > 0) { 10341 const el = this[0]; 10342 10343 if (selector) { 10344 if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) { 10345 return $([el.previousElementSibling]); 10346 } 10347 10348 return $([]); 10349 } 10350 10351 if (el.previousElementSibling) return $([el.previousElementSibling]); 10352 return $([]); 10353 } 10354 10355 return $([]); 10356} 10357 10358function prevAll(selector) { 10359 const prevEls = []; 10360 let el = this[0]; 10361 if (!el) return $([]); 10362 10363 while (el.previousElementSibling) { 10364 const prev = el.previousElementSibling; // eslint-disable-line 10365 10366 if (selector) { 10367 if ($(prev).is(selector)) prevEls.push(prev); 10368 } else prevEls.push(prev); 10369 10370 el = prev; 10371 } 10372 10373 return $(prevEls); 10374} 10375 10376function siblings(selector) { 10377 return this.nextAll(selector).add(this.prevAll(selector)); 10378} 10379 10380function parent(selector) { 10381 const parents = []; // eslint-disable-line 10382 10383 for (let i = 0; i < this.length; i += 1) { 10384 if (this[i].parentNode !== null) { 10385 if (selector) { 10386 if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode); 10387 } else { 10388 parents.push(this[i].parentNode); 10389 } 10390 } 10391 } 10392 10393 return $(parents); 10394} 10395 10396function parents(selector) { 10397 const parents = []; // eslint-disable-line 10398 10399 for (let i = 0; i < this.length; i += 1) { 10400 let parent = this[i].parentNode; // eslint-disable-line 10401 10402 while (parent) { 10403 if (selector) { 10404 if ($(parent).is(selector)) parents.push(parent); 10405 } else { 10406 parents.push(parent); 10407 } 10408 10409 parent = parent.parentNode; 10410 } 10411 } 10412 10413 return $(parents); 10414} 10415 10416function closest(selector) { 10417 let closest = this; // eslint-disable-line 10418 10419 if (typeof selector === 'undefined') { 10420 return $([]); 10421 } 10422 10423 if (!closest.is(selector)) { 10424 closest = closest.parents(selector).eq(0); 10425 } 10426 10427 return closest; 10428} 10429 10430function find(selector) { 10431 const foundElements = []; 10432 10433 for (let i = 0; i < this.length; i += 1) { 10434 const found = this[i].querySelectorAll(selector); 10435 10436 for (let j = 0; j < found.length; j += 1) { 10437 foundElements.push(found[j]); 10438 } 10439 } 10440 10441 return $(foundElements); 10442} 10443 10444function children(selector) { 10445 const children = []; // eslint-disable-line 10446 10447 for (let i = 0; i < this.length; i += 1) { 10448 const childNodes = this[i].children; 10449 10450 for (let j = 0; j < childNodes.length; j += 1) { 10451 if (!selector || $(childNodes[j]).is(selector)) { 10452 children.push(childNodes[j]); 10453 } 10454 } 10455 } 10456 10457 return $(children); 10458} 10459 10460function remove() { 10461 for (let i = 0; i < this.length; i += 1) { 10462 if (this[i].parentNode) this[i].parentNode.removeChild(this[i]); 10463 } 10464 10465 return this; 10466} 10467 10468function detach() { 10469 return this.remove(); 10470} 10471 10472function add(...els) { 10473 const dom = this; 10474 let i; 10475 let j; 10476 10477 for (i = 0; i < els.length; i += 1) { 10478 const toAdd = $(els[i]); 10479 10480 for (j = 0; j < toAdd.length; j += 1) { 10481 dom.push(toAdd[j]); 10482 } 10483 } 10484 10485 return dom; 10486} 10487 10488function empty() { 10489 for (let i = 0; i < this.length; i += 1) { 10490 const el = this[i]; 10491 10492 if (el.nodeType === 1) { 10493 for (let j = 0; j < el.childNodes.length; j += 1) { 10494 if (el.childNodes[j].parentNode) { 10495 el.childNodes[j].parentNode.removeChild(el.childNodes[j]); 10496 } 10497 } 10498 10499 el.textContent = ''; 10500 } 10501 } 10502 10503 return this; 10504} 10505 10506// eslint-disable-next-line 10507 10508function scrollTo(...args) { 10509 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 10510 let [left, top, duration, easing, callback] = args; 10511 10512 if (args.length === 4 && typeof easing === 'function') { 10513 callback = easing; 10514 [left, top, duration, callback, easing] = args; 10515 } 10516 10517 if (typeof easing === 'undefined') easing = 'swing'; 10518 return this.each(function animate() { 10519 const el = this; 10520 let currentTop; 10521 let currentLeft; 10522 let maxTop; 10523 let maxLeft; 10524 let newTop; 10525 let newLeft; 10526 let scrollTop; // eslint-disable-line 10527 10528 let scrollLeft; // eslint-disable-line 10529 10530 let animateTop = top > 0 || top === 0; 10531 let animateLeft = left > 0 || left === 0; 10532 10533 if (typeof easing === 'undefined') { 10534 easing = 'swing'; 10535 } 10536 10537 if (animateTop) { 10538 currentTop = el.scrollTop; 10539 10540 if (!duration) { 10541 el.scrollTop = top; 10542 } 10543 } 10544 10545 if (animateLeft) { 10546 currentLeft = el.scrollLeft; 10547 10548 if (!duration) { 10549 el.scrollLeft = left; 10550 } 10551 } 10552 10553 if (!duration) return; 10554 10555 if (animateTop) { 10556 maxTop = el.scrollHeight - el.offsetHeight; 10557 newTop = Math.max(Math.min(top, maxTop), 0); 10558 } 10559 10560 if (animateLeft) { 10561 maxLeft = el.scrollWidth - el.offsetWidth; 10562 newLeft = Math.max(Math.min(left, maxLeft), 0); 10563 } 10564 10565 let startTime = null; 10566 if (animateTop && newTop === currentTop) animateTop = false; 10567 if (animateLeft && newLeft === currentLeft) animateLeft = false; 10568 10569 function render(time = new Date().getTime()) { 10570 if (startTime === null) { 10571 startTime = time; 10572 } 10573 10574 const progress = Math.max(Math.min((time - startTime) / duration, 1), 0); 10575 const easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2; 10576 let done; 10577 if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop); 10578 if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft); 10579 10580 if (animateTop && newTop > currentTop && scrollTop >= newTop) { 10581 el.scrollTop = newTop; 10582 done = true; 10583 } 10584 10585 if (animateTop && newTop < currentTop && scrollTop <= newTop) { 10586 el.scrollTop = newTop; 10587 done = true; 10588 } 10589 10590 if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) { 10591 el.scrollLeft = newLeft; 10592 done = true; 10593 } 10594 10595 if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) { 10596 el.scrollLeft = newLeft; 10597 done = true; 10598 } 10599 10600 if (done) { 10601 if (callback) callback(); 10602 return; 10603 } 10604 10605 if (animateTop) el.scrollTop = scrollTop; 10606 if (animateLeft) el.scrollLeft = scrollLeft; 10607 window.requestAnimationFrame(render); 10608 } 10609 10610 window.requestAnimationFrame(render); 10611 }); 10612} // scrollTop(top, duration, easing, callback) { 10613 10614 10615function scrollTop(...args) { 10616 let [top, duration, easing, callback] = args; 10617 10618 if (args.length === 3 && typeof easing === 'function') { 10619 [top, duration, callback, easing] = args; 10620 } 10621 10622 const dom = this; 10623 10624 if (typeof top === 'undefined') { 10625 if (dom.length > 0) return dom[0].scrollTop; 10626 return null; 10627 } 10628 10629 return dom.scrollTo(undefined, top, duration, easing, callback); 10630} 10631 10632function scrollLeft(...args) { 10633 let [left, duration, easing, callback] = args; 10634 10635 if (args.length === 3 && typeof easing === 'function') { 10636 [left, duration, callback, easing] = args; 10637 } 10638 10639 const dom = this; 10640 10641 if (typeof left === 'undefined') { 10642 if (dom.length > 0) return dom[0].scrollLeft; 10643 return null; 10644 } 10645 10646 return dom.scrollTo(left, undefined, duration, easing, callback); 10647} 10648 10649// eslint-disable-next-line 10650 10651function animate(initialProps, initialParams) { 10652 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 10653 const els = this; 10654 const a = { 10655 props: Object.assign({}, initialProps), 10656 params: Object.assign({ 10657 duration: 300, 10658 easing: 'swing' // or 'linear' 10659 10660 /* Callbacks 10661 begin(elements) 10662 complete(elements) 10663 progress(elements, complete, remaining, start, tweenValue) 10664 */ 10665 10666 }, initialParams), 10667 elements: els, 10668 animating: false, 10669 que: [], 10670 10671 easingProgress(easing, progress) { 10672 if (easing === 'swing') { 10673 return 0.5 - Math.cos(progress * Math.PI) / 2; 10674 } 10675 10676 if (typeof easing === 'function') { 10677 return easing(progress); 10678 } 10679 10680 return progress; 10681 }, 10682 10683 stop() { 10684 if (a.frameId) { 10685 window.cancelAnimationFrame(a.frameId); 10686 } 10687 10688 a.animating = false; 10689 a.elements.each(el => { 10690 const element = el; 10691 delete element.dom7AnimateInstance; 10692 }); 10693 a.que = []; 10694 }, 10695 10696 done(complete) { 10697 a.animating = false; 10698 a.elements.each(el => { 10699 const element = el; 10700 delete element.dom7AnimateInstance; 10701 }); 10702 if (complete) complete(els); 10703 10704 if (a.que.length > 0) { 10705 const que = a.que.shift(); 10706 a.animate(que[0], que[1]); 10707 } 10708 }, 10709 10710 animate(props, params) { 10711 if (a.animating) { 10712 a.que.push([props, params]); 10713 return a; 10714 } 10715 10716 const elements = []; // Define & Cache Initials & Units 10717 10718 a.elements.each((el, index) => { 10719 let initialFullValue; 10720 let initialValue; 10721 let unit; 10722 let finalValue; 10723 let finalFullValue; 10724 if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a; 10725 elements[index] = { 10726 container: el 10727 }; 10728 Object.keys(props).forEach(prop => { 10729 initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.'); 10730 initialValue = parseFloat(initialFullValue); 10731 unit = initialFullValue.replace(initialValue, ''); 10732 finalValue = parseFloat(props[prop]); 10733 finalFullValue = props[prop] + unit; 10734 elements[index][prop] = { 10735 initialFullValue, 10736 initialValue, 10737 unit, 10738 finalValue, 10739 finalFullValue, 10740 currentValue: initialValue 10741 }; 10742 }); 10743 }); 10744 let startTime = null; 10745 let time; 10746 let elementsDone = 0; 10747 let propsDone = 0; 10748 let done; 10749 let began = false; 10750 a.animating = true; 10751 10752 function render() { 10753 time = new Date().getTime(); 10754 let progress; 10755 let easeProgress; // let el; 10756 10757 if (!began) { 10758 began = true; 10759 if (params.begin) params.begin(els); 10760 } 10761 10762 if (startTime === null) { 10763 startTime = time; 10764 } 10765 10766 if (params.progress) { 10767 // eslint-disable-next-line 10768 params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime); 10769 } 10770 10771 elements.forEach(element => { 10772 const el = element; 10773 if (done || el.done) return; 10774 Object.keys(props).forEach(prop => { 10775 if (done || el.done) return; 10776 progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0); 10777 easeProgress = a.easingProgress(params.easing, progress); 10778 const { 10779 initialValue, 10780 finalValue, 10781 unit 10782 } = el[prop]; 10783 el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue); 10784 const currentValue = el[prop].currentValue; 10785 10786 if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) { 10787 el.container.style[prop] = finalValue + unit; 10788 propsDone += 1; 10789 10790 if (propsDone === Object.keys(props).length) { 10791 el.done = true; 10792 elementsDone += 1; 10793 } 10794 10795 if (elementsDone === elements.length) { 10796 done = true; 10797 } 10798 } 10799 10800 if (done) { 10801 a.done(params.complete); 10802 return; 10803 } 10804 10805 el.container.style[prop] = currentValue + unit; 10806 }); 10807 }); 10808 if (done) return; // Then call 10809 10810 a.frameId = window.requestAnimationFrame(render); 10811 } 10812 10813 a.frameId = window.requestAnimationFrame(render); 10814 return a; 10815 } 10816 10817 }; 10818 10819 if (a.elements.length === 0) { 10820 return els; 10821 } 10822 10823 let animateInstance; 10824 10825 for (let i = 0; i < a.elements.length; i += 1) { 10826 if (a.elements[i].dom7AnimateInstance) { 10827 animateInstance = a.elements[i].dom7AnimateInstance; 10828 } else a.elements[i].dom7AnimateInstance = a; 10829 } 10830 10831 if (!animateInstance) { 10832 animateInstance = a; 10833 } 10834 10835 if (initialProps === 'stop') { 10836 animateInstance.stop(); 10837 } else { 10838 animateInstance.animate(a.props, a.params); 10839 } 10840 10841 return els; 10842} 10843 10844function stop() { 10845 const els = this; 10846 10847 for (let i = 0; i < els.length; i += 1) { 10848 if (els[i].dom7AnimateInstance) { 10849 els[i].dom7AnimateInstance.stop(); 10850 } 10851 } 10852} 10853 10854const noTrigger = 'resize scroll'.split(' '); 10855 10856function shortcut(name) { 10857 function eventHandler(...args) { 10858 if (typeof args[0] === 'undefined') { 10859 for (let i = 0; i < this.length; i += 1) { 10860 if (noTrigger.indexOf(name) < 0) { 10861 if (name in this[i]) this[i][name]();else { 10862 $(this[i]).trigger(name); 10863 } 10864 } 10865 } 10866 10867 return this; 10868 } 10869 10870 return this.on(name, ...args); 10871 } 10872 10873 return eventHandler; 10874} 10875 10876const click = shortcut('click'); 10877const blur = shortcut('blur'); 10878const focus = shortcut('focus'); 10879const focusin = shortcut('focusin'); 10880const focusout = shortcut('focusout'); 10881const keyup = shortcut('keyup'); 10882const keydown = shortcut('keydown'); 10883const keypress = shortcut('keypress'); 10884const submit = shortcut('submit'); 10885const change = shortcut('change'); 10886const mousedown = shortcut('mousedown'); 10887const mousemove = shortcut('mousemove'); 10888const mouseup = shortcut('mouseup'); 10889const mouseenter = shortcut('mouseenter'); 10890const mouseleave = shortcut('mouseleave'); 10891const mouseout = shortcut('mouseout'); 10892const mouseover = shortcut('mouseover'); 10893const touchstart = shortcut('touchstart'); 10894const touchend = shortcut('touchend'); 10895const touchmove = shortcut('touchmove'); 10896const resize = shortcut('resize'); 10897const scroll = shortcut('scroll'); 10898 10899/* harmony default export */ __webpack_exports__["default"] = ($); 10900 10901 10902 10903/***/ }), 10904
vendor: 4,009 bytes, lines 10905-11070
10905/***/ "./node_modules/ssr-window/ssr-window.esm.js": 10906/*!***************************************************!*\ 10907 !*** ./node_modules/ssr-window/ssr-window.esm.js ***! 10908 \***************************************************/ 10909/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 10910 10911__webpack_require__.r(__webpack_exports__); 10912/* harmony export */ __webpack_require__.d(__webpack_exports__, { 10913/* harmony export */ "extend": function() { return /* binding */ extend; }, 10914/* harmony export */ "getDocument": function() { return /* binding */ getDocument; }, 10915/* harmony export */ "getWindow": function() { return /* binding */ getWindow; }, 10916/* harmony export */ "ssrDocument": function() { return /* binding */ ssrDocument; }, 10917/* harmony export */ "ssrWindow": function() { return /* binding */ ssrWindow; } 10918/* harmony export */ }); 10919/** 10920 * SSR Window 4.0.2 10921 * Better handling for window object in SSR environment 10922 * https://github.com/nolimits4web/ssr-window 10923 * 10924 * Copyright 2021, Vladimir Kharlampidi 10925 * 10926 * Licensed under MIT 10927 * 10928 * Released on: December 13, 2021 10929 */ 10930/* eslint-disable no-param-reassign */ 10931function isObject(obj) { 10932 return (obj !== null && 10933 typeof obj === 'object' && 10934 'constructor' in obj && 10935 obj.constructor === Object); 10936} 10937function extend(target = {}, src = {}) { 10938 Object.keys(src).forEach((key) => { 10939 if (typeof target[key] === 'undefined') 10940 target[key] = src[key]; 10941 else if (isObject(src[key]) && 10942 isObject(target[key]) && 10943 Object.keys(src[key]).length > 0) { 10944 extend(target[key], src[key]); 10945 } 10946 }); 10947} 10948 10949const ssrDocument = { 10950 body: {}, 10951 addEventListener() { }, 10952 removeEventListener() { }, 10953 activeElement: { 10954 blur() { }, 10955 nodeName: '', 10956 }, 10957 querySelector() { 10958 return null; 10959 }, 10960 querySelectorAll() { 10961 return []; 10962 }, 10963 getElementById() { 10964 return null; 10965 }, 10966 createEvent() { 10967 return { 10968 initEvent() { }, 10969 }; 10970 }, 10971 createElement() { 10972 return { 10973 children: [], 10974 childNodes: [], 10975 style: {}, 10976 setAttribute() { }, 10977 getElementsByTagName() { 10978 return []; 10979 }, 10980 }; 10981 }, 10982 createElementNS() { 10983 return {}; 10984 }, 10985 importNode() { 10986 return null; 10987 }, 10988 location: { 10989 hash: '', 10990 host: '', 10991 hostname: '', 10992 href: '', 10993 origin: '', 10994 pathname: '', 10995 protocol: '', 10996 search: '', 10997 }, 10998}; 10999function getDocument() { 11000 const doc = typeof document !== 'undefined' ? document : {}; 11001 extend(doc, ssrDocument); 11002 return doc; 11003} 11004 11005const ssrWindow = { 11006 document: ssrDocument, 11007 navigator: { 11008 userAgent: '', 11009 }, 11010 location: { 11011 hash: '', 11012 host: '', 11013 hostname: '', 11014 href: '', 11015 origin: '', 11016 pathname: '', 11017 protocol: '', 11018 search: '', 11019 }, 11020 history: { 11021 replaceState() { }, 11022 pushState() { }, 11023 go() { }, 11024 back() { }, 11025 }, 11026 CustomEvent: function CustomEvent() { 11027 return this; 11028 }, 11029 addEventListener() { }, 11030 removeEventListener() { }, 11031 getComputedStyle() { 11032 return { 11033 getPropertyValue() { 11034 return ''; 11035 }, 11036 }; 11037 }, 11038 Image() { }, 11039 Date() { }, 11040 screen: {}, 11041 setTimeout() { }, 11042 clearTimeout() { }, 11043 matchMedia() { 11044 return {}; 11045 }, 11046 requestAnimationFrame(callback) { 11047 if (typeof setTimeout === 'undefined') { 11048 callback(); 11049 return null; 11050 } 11051 return setTimeout(callback, 0); 11052 }, 11053 cancelAnimationFrame(id) { 11054 if (typeof setTimeout === 'undefined') { 11055 return; 11056 } 11057 clearTimeout(id); 11058 }, 11059}; 11060function getWindow() { 11061 const win = typeof window !== 'undefined' ? window : {}; 11062 extend(win, ssrWindow); 11063 return win; 11064} 11065 11066 11067 11068 11069/***/ }), 11070
vendor: 1,898 bytes, lines 11071-11128
11071/***/ "./node_modules/swiper/core/breakpoints/getBreakpoint.js": 11072/*!***************************************************************!*\ 11073 !*** ./node_modules/swiper/core/breakpoints/getBreakpoint.js ***! 11074 \***************************************************************/ 11075/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 11076 11077__webpack_require__.r(__webpack_exports__); 11078/* harmony export */ __webpack_require__.d(__webpack_exports__, { 11079/* harmony export */ "default": function() { return /* binding */ getBreakpoint; } 11080/* harmony export */ }); 11081/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 11082 11083function getBreakpoint(breakpoints, base, containerEl) { 11084 if (base === void 0) { 11085 base = 'window'; 11086 } 11087 11088 if (!breakpoints || base === 'container' && !containerEl) return undefined; 11089 let breakpoint = false; 11090 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 11091 const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight; 11092 const points = Object.keys(breakpoints).map(point => { 11093 if (typeof point === 'string' && point.indexOf('@') === 0) { 11094 const minRatio = parseFloat(point.substr(1)); 11095 const value = currentHeight * minRatio; 11096 return { 11097 value, 11098 point 11099 }; 11100 } 11101 11102 return { 11103 value: point, 11104 point 11105 }; 11106 }); 11107 points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10)); 11108 11109 for (let i = 0; i < points.length; i += 1) { 11110 const { 11111 point, 11112 value 11113 } = points[i]; 11114 11115 if (base === 'window') { 11116 if (window.matchMedia(`(min-width: ${value}px)`).matches) { 11117 breakpoint = point; 11118 } 11119 } else if (value <= containerEl.clientWidth) { 11120 breakpoint = point; 11121 } 11122 } 11123 11124 return breakpoint || 'max'; 11125} 11126 11127/***/ }), 11128
vendor: 975 bytes, lines 11129-11146
11129/***/ "./node_modules/swiper/core/breakpoints/index.js": 11130/*!*******************************************************!*\ 11131 !*** ./node_modules/swiper/core/breakpoints/index.js ***! 11132 \*******************************************************/ 11133/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 11134 11135__webpack_require__.r(__webpack_exports__); 11136/* harmony import */ var _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setBreakpoint.js */ "./node_modules/swiper/core/breakpoints/setBreakpoint.js"); 11137/* harmony import */ var _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getBreakpoint.js */ "./node_modules/swiper/core/breakpoints/getBreakpoint.js"); 11138 11139 11140/* harmony default export */ __webpack_exports__["default"] = ({ 11141 setBreakpoint: _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__["default"], 11142 getBreakpoint: _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__["default"] 11143}); 11144 11145/***/ }), 11146
vendor: 3,757 bytes, lines 11147-11245
11147/***/ "./node_modules/swiper/core/breakpoints/setBreakpoint.js": 11148/*!***************************************************************!*\ 11149 !*** ./node_modules/swiper/core/breakpoints/setBreakpoint.js ***! 11150 \***************************************************************/ 11151/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 11152 11153__webpack_require__.r(__webpack_exports__); 11154/* harmony export */ __webpack_require__.d(__webpack_exports__, { 11155/* harmony export */ "default": function() { return /* binding */ setBreakpoint; } 11156/* harmony export */ }); 11157/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 11158 11159 11160const isGridEnabled = (swiper, params) => { 11161 return swiper.grid && params.grid && params.grid.rows > 1; 11162}; 11163 11164function setBreakpoint() { 11165 const swiper = this; 11166 const { 11167 activeIndex, 11168 initialized, 11169 loopedSlides = 0, 11170 params, 11171 $el 11172 } = swiper; 11173 const breakpoints = params.breakpoints; 11174 if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters 11175 11176 const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el); 11177 if (!breakpoint || swiper.currentBreakpoint === breakpoint) return; 11178 const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined; 11179 const breakpointParams = breakpointOnlyParams || swiper.originalParams; 11180 const wasMultiRow = isGridEnabled(swiper, params); 11181 const isMultiRow = isGridEnabled(swiper, breakpointParams); 11182 const wasEnabled = params.enabled; 11183 11184 if (wasMultiRow && !isMultiRow) { 11185 $el.removeClass(`${params.containerModifierClass}grid ${params.containerModifierClass}grid-column`); 11186 swiper.emitContainerClasses(); 11187 } else if (!wasMultiRow && isMultiRow) { 11188 $el.addClass(`${params.containerModifierClass}grid`); 11189 11190 if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') { 11191 $el.addClass(`${params.containerModifierClass}grid-column`); 11192 } 11193 11194 swiper.emitContainerClasses(); 11195 } // Toggle navigation, pagination, scrollbar 11196 11197 11198 ['navigation', 'pagination', 'scrollbar'].forEach(prop => { 11199 const wasModuleEnabled = params[prop] && params[prop].enabled; 11200 const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled; 11201 11202 if (wasModuleEnabled && !isModuleEnabled) { 11203 swiper[prop].disable(); 11204 } 11205 11206 if (!wasModuleEnabled && isModuleEnabled) { 11207 swiper[prop].enable(); 11208 } 11209 }); 11210 const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction; 11211 const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged); 11212 11213 if (directionChanged && initialized) { 11214 swiper.changeDirection(); 11215 } 11216 11217 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(swiper.params, breakpointParams); 11218 const isEnabled = swiper.params.enabled; 11219 Object.assign(swiper, { 11220 allowTouchMove: swiper.params.allowTouchMove, 11221 allowSlideNext: swiper.params.allowSlideNext, 11222 allowSlidePrev: swiper.params.allowSlidePrev 11223 }); 11224 11225 if (wasEnabled && !isEnabled) { 11226 swiper.disable(); 11227 } else if (!wasEnabled && isEnabled) { 11228 swiper.enable(); 11229 } 11230 11231 swiper.currentBreakpoint = breakpoint; 11232 swiper.emit('_beforeBreakpoint', breakpointParams); 11233 11234 if (needsReLoop && initialized) { 11235 swiper.loopDestroy(); 11236 swiper.loopCreate(); 11237 swiper.updateSlides(); 11238 swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false); 11239 } 11240 11241 swiper.emit('breakpoint', breakpointParams); 11242} 11243 11244/***/ }), 11245
vendor: 1,350 bytes, lines 11246-11293
11246/***/ "./node_modules/swiper/core/check-overflow/index.js": 11247/*!**********************************************************!*\ 11248 !*** ./node_modules/swiper/core/check-overflow/index.js ***! 11249 \**********************************************************/ 11250/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 11251 11252__webpack_require__.r(__webpack_exports__); 11253function checkOverflow() { 11254 const swiper = this; 11255 const { 11256 isLocked: wasLocked, 11257 params 11258 } = swiper; 11259 const { 11260 slidesOffsetBefore 11261 } = params; 11262 11263 if (slidesOffsetBefore) { 11264 const lastSlideIndex = swiper.slides.length - 1; 11265 const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2; 11266 swiper.isLocked = swiper.size > lastSlideRightEdge; 11267 } else { 11268 swiper.isLocked = swiper.snapGrid.length === 1; 11269 } 11270 11271 if (params.allowSlideNext === true) { 11272 swiper.allowSlideNext = !swiper.isLocked; 11273 } 11274 11275 if (params.allowSlidePrev === true) { 11276 swiper.allowSlidePrev = !swiper.isLocked; 11277 } 11278 11279 if (wasLocked && wasLocked !== swiper.isLocked) { 11280 swiper.isEnd = false; 11281 } 11282 11283 if (wasLocked !== swiper.isLocked) { 11284 swiper.emit(swiper.isLocked ? 'lock' : 'unlock'); 11285 } 11286} 11287 11288/* harmony default export */ __webpack_exports__["default"] = ({ 11289 checkOverflow 11290}); 11291 11292/***/ }), 11293
vendor: 1,907 bytes, lines 11294-11360
11294/***/ "./node_modules/swiper/core/classes/addClasses.js": 11295/*!********************************************************!*\ 11296 !*** ./node_modules/swiper/core/classes/addClasses.js ***! 11297 \********************************************************/ 11298/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 11299 11300__webpack_require__.r(__webpack_exports__); 11301/* harmony export */ __webpack_require__.d(__webpack_exports__, { 11302/* harmony export */ "default": function() { return /* binding */ addClasses; } 11303/* harmony export */ }); 11304function prepareClasses(entries, prefix) { 11305 const resultClasses = []; 11306 entries.forEach(item => { 11307 if (typeof item === 'object') { 11308 Object.keys(item).forEach(classNames => { 11309 if (item[classNames]) { 11310 resultClasses.push(prefix + classNames); 11311 } 11312 }); 11313 } else if (typeof item === 'string') { 11314 resultClasses.push(prefix + item); 11315 } 11316 }); 11317 return resultClasses; 11318} 11319 11320function addClasses() { 11321 const swiper = this; 11322 const { 11323 classNames, 11324 params, 11325 rtl, 11326 $el, 11327 device, 11328 support 11329 } = swiper; // prettier-ignore 11330 11331 const suffixes = prepareClasses(['initialized', params.direction, { 11332 'pointer-events': !support.touch 11333 }, { 11334 'free-mode': swiper.params.freeMode && params.freeMode.enabled 11335 }, { 11336 'autoheight': params.autoHeight 11337 }, { 11338 'rtl': rtl 11339 }, { 11340 'grid': params.grid && params.grid.rows > 1 11341 }, { 11342 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column' 11343 }, { 11344 'android': device.android 11345 }, { 11346 'ios': device.ios 11347 }, { 11348 'css-mode': params.cssMode 11349 }, { 11350 'centered': params.cssMode && params.centeredSlides 11351 }, { 11352 'watch-progress': params.watchSlidesProgress 11353 }], params.containerModifierClass); 11354 classNames.push(...suffixes); 11355 $el.addClass([...classNames].join(' ')); 11356 swiper.emitContainerClasses(); 11357} 11358 11359/***/ }), 11360
vendor: 936 bytes, lines 11361-11378
11361/***/ "./node_modules/swiper/core/classes/index.js": 11362/*!***************************************************!*\ 11363 !*** ./node_modules/swiper/core/classes/index.js ***! 11364 \***************************************************/ 11365/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 11366 11367__webpack_require__.r(__webpack_exports__); 11368/* harmony import */ var _addClasses_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./addClasses.js */ "./node_modules/swiper/core/classes/addClasses.js"); 11369/* harmony import */ var _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./removeClasses.js */ "./node_modules/swiper/core/classes/removeClasses.js"); 11370 11371 11372/* harmony default export */ __webpack_exports__["default"] = ({ 11373 addClasses: _addClasses_js__WEBPACK_IMPORTED_MODULE_0__["default"], 11374 removeClasses: _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__["default"] 11375}); 11376 11377/***/ }), 11378
vendor: 759 bytes, lines 11379-11400
11379/***/ "./node_modules/swiper/core/classes/removeClasses.js": 11380/*!***********************************************************!*\ 11381 !*** ./node_modules/swiper/core/classes/removeClasses.js ***! 11382 \***********************************************************/ 11383/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 11384 11385__webpack_require__.r(__webpack_exports__); 11386/* harmony export */ __webpack_require__.d(__webpack_exports__, { 11387/* harmony export */ "default": function() { return /* binding */ removeClasses; } 11388/* harmony export */ }); 11389function removeClasses() { 11390 const swiper = this; 11391 const { 11392 $el, 11393 classNames 11394 } = swiper; 11395 $el.removeClass(classNames.join(' ')); 11396 swiper.emitContainerClasses(); 11397} 11398 11399/***/ }), 11400
vendor: 22,780 bytes, lines 11401-12088
11401/***/ "./node_modules/swiper/core/core.js": 11402/*!******************************************!*\ 11403 !*** ./node_modules/swiper/core/core.js ***! 11404 \******************************************/ 11405/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 11406 11407__webpack_require__.r(__webpack_exports__); 11408/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 11409/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 11410/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 11411/* harmony import */ var _shared_get_support_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared/get-support.js */ "./node_modules/swiper/shared/get-support.js"); 11412/* harmony import */ var _shared_get_device_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared/get-device.js */ "./node_modules/swiper/shared/get-device.js"); 11413/* harmony import */ var _shared_get_browser_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../shared/get-browser.js */ "./node_modules/swiper/shared/get-browser.js"); 11414/* harmony import */ var _modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/resize/resize.js */ "./node_modules/swiper/core/modules/resize/resize.js"); 11415/* harmony import */ var _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/observer/observer.js */ "./node_modules/swiper/core/modules/observer/observer.js"); 11416/* harmony import */ var _events_emitter_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./events-emitter.js */ "./node_modules/swiper/core/events-emitter.js"); 11417/* harmony import */ var _update_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./update/index.js */ "./node_modules/swiper/core/update/index.js"); 11418/* harmony import */ var _translate_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./translate/index.js */ "./node_modules/swiper/core/translate/index.js"); 11419/* harmony import */ var _transition_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./transition/index.js */ "./node_modules/swiper/core/transition/index.js"); 11420/* harmony import */ var _slide_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./slide/index.js */ "./node_modules/swiper/core/slide/index.js"); 11421/* harmony import */ var _loop_index_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./loop/index.js */ "./node_modules/swiper/core/loop/index.js"); 11422/* harmony import */ var _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./grab-cursor/index.js */ "./node_modules/swiper/core/grab-cursor/index.js"); 11423/* harmony import */ var _events_index_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./events/index.js */ "./node_modules/swiper/core/events/index.js"); 11424/* harmony import */ var _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./breakpoints/index.js */ "./node_modules/swiper/core/breakpoints/index.js"); 11425/* harmony import */ var _classes_index_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./classes/index.js */ "./node_modules/swiper/core/classes/index.js"); 11426/* harmony import */ var _images_index_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./images/index.js */ "./node_modules/swiper/core/images/index.js"); 11427/* harmony import */ var _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./check-overflow/index.js */ "./node_modules/swiper/core/check-overflow/index.js"); 11428/* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./defaults.js */ "./node_modules/swiper/core/defaults.js"); 11429/* harmony import */ var _moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./moduleExtendParams.js */ "./node_modules/swiper/core/moduleExtendParams.js"); 11430/* eslint no-param-reassign: "off" */ 11431 11432 11433 11434 11435 11436 11437 11438 11439 11440 11441 11442 11443 11444 11445 11446 11447 11448 11449 11450 11451 11452 11453const prototypes = { 11454 eventsEmitter: _events_emitter_js__WEBPACK_IMPORTED_MODULE_8__["default"], 11455 update: _update_index_js__WEBPACK_IMPORTED_MODULE_9__["default"], 11456 translate: _translate_index_js__WEBPACK_IMPORTED_MODULE_10__["default"], 11457 transition: _transition_index_js__WEBPACK_IMPORTED_MODULE_11__["default"], 11458 slide: _slide_index_js__WEBPACK_IMPORTED_MODULE_12__["default"], 11459 loop: _loop_index_js__WEBPACK_IMPORTED_MODULE_13__["default"], 11460 grabCursor: _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_14__["default"], 11461 events: _events_index_js__WEBPACK_IMPORTED_MODULE_15__["default"], 11462 breakpoints: _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_16__["default"], 11463 checkOverflow: _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_19__["default"], 11464 classes: _classes_index_js__WEBPACK_IMPORTED_MODULE_17__["default"], 11465 images: _images_index_js__WEBPACK_IMPORTED_MODULE_18__["default"] 11466}; 11467const extendedDefaults = {}; 11468 11469class Swiper { 11470 constructor() { 11471 let el; 11472 let params; 11473 11474 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 11475 args[_key] = arguments[_key]; 11476 } 11477 11478 if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') { 11479 params = args[0]; 11480 } else { 11481 [el, params] = args; 11482 } 11483 11484 if (!params) params = {}; 11485 params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, params); 11486 if (el && !params.el) params.el = el; 11487 11488 if (params.el && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.el).length > 1) { 11489 const swipers = []; 11490 (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.el).each(containerEl => { 11491 const newParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, params, { 11492 el: containerEl 11493 }); 11494 swipers.push(new Swiper(newParams)); 11495 }); 11496 return swipers; 11497 } // Swiper Instance 11498 11499 11500 const swiper = this; 11501 swiper.__swiper__ = true; 11502 swiper.support = (0,_shared_get_support_js__WEBPACK_IMPORTED_MODULE_3__.getSupport)(); 11503 swiper.device = (0,_shared_get_device_js__WEBPACK_IMPORTED_MODULE_4__.getDevice)({ 11504 userAgent: params.userAgent 11505 }); 11506 swiper.browser = (0,_shared_get_browser_js__WEBPACK_IMPORTED_MODULE_5__.getBrowser)(); 11507 swiper.eventsListeners = {}; 11508 swiper.eventsAnyListeners = []; 11509 swiper.modules = [...swiper.__modules__]; 11510 11511 if (params.modules && Array.isArray(params.modules)) { 11512 swiper.modules.push(...params.modules); 11513 } 11514 11515 const allModulesParams = {}; 11516 swiper.modules.forEach(mod => { 11517 mod({ 11518 swiper, 11519 extendParams: (0,_moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_21__["default"])(params, allModulesParams), 11520 on: swiper.on.bind(swiper), 11521 once: swiper.once.bind(swiper), 11522 off: swiper.off.bind(swiper), 11523 emit: swiper.emit.bind(swiper) 11524 }); 11525 }); // Extend defaults with modules params 11526 11527 const swiperParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, _defaults_js__WEBPACK_IMPORTED_MODULE_20__["default"], allModulesParams); // Extend defaults with passed params 11528 11529 swiper.params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, swiperParams, extendedDefaults, params); 11530 swiper.originalParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, swiper.params); 11531 swiper.passedParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, params); // add event listeners 11532 11533 if (swiper.params && swiper.params.on) { 11534 Object.keys(swiper.params.on).forEach(eventName => { 11535 swiper.on(eventName, swiper.params.on[eventName]); 11536 }); 11537 } 11538 11539 if (swiper.params && swiper.params.onAny) { 11540 swiper.onAny(swiper.params.onAny); 11541 } // Save Dom lib 11542 11543 11544 swiper.$ = _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"]; // Extend Swiper 11545 11546 Object.assign(swiper, { 11547 enabled: swiper.params.enabled, 11548 el, 11549 // Classes 11550 classNames: [], 11551 // Slides 11552 slides: (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(), 11553 slidesGrid: [], 11554 snapGrid: [], 11555 slidesSizesGrid: [], 11556 11557 // isDirection 11558 isHorizontal() { 11559 return swiper.params.direction === 'horizontal'; 11560 }, 11561 11562 isVertical() { 11563 return swiper.params.direction === 'vertical'; 11564 }, 11565 11566 // Indexes 11567 activeIndex: 0, 11568 realIndex: 0, 11569 // 11570 isBeginning: true, 11571 isEnd: false, 11572 // Props 11573 translate: 0, 11574 previousTranslate: 0, 11575 progress: 0, 11576 velocity: 0, 11577 animating: false, 11578 // Locks 11579 allowSlideNext: swiper.params.allowSlideNext, 11580 allowSlidePrev: swiper.params.allowSlidePrev, 11581 // Touch Events 11582 touchEvents: function touchEvents() { 11583 const touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel']; 11584 const desktop = ['pointerdown', 'pointermove', 'pointerup']; 11585 swiper.touchEventsTouch = { 11586 start: touch[0], 11587 move: touch[1], 11588 end: touch[2], 11589 cancel: touch[3] 11590 }; 11591 swiper.touchEventsDesktop = { 11592 start: desktop[0], 11593 move: desktop[1], 11594 end: desktop[2] 11595 }; 11596 return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop; 11597 }(), 11598 touchEventsData: { 11599 isTouched: undefined, 11600 isMoved: undefined, 11601 allowTouchCallbacks: undefined, 11602 touchStartTime: undefined, 11603 isScrolling: undefined, 11604 currentTranslate: undefined, 11605 startTranslate: undefined, 11606 allowThresholdMove: undefined, 11607 // Form elements to match 11608 focusableElements: swiper.params.focusableElements, 11609 // Last click time 11610 lastClickTime: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(), 11611 clickTimeout: undefined, 11612 // Velocities 11613 velocities: [], 11614 allowMomentumBounce: undefined, 11615 isTouchEvent: undefined, 11616 startMoving: undefined 11617 }, 11618 // Clicks 11619 allowClick: true, 11620 // Touches 11621 allowTouchMove: swiper.params.allowTouchMove, 11622 touches: { 11623 startX: 0, 11624 startY: 0, 11625 currentX: 0, 11626 currentY: 0, 11627 diff: 0 11628 }, 11629 // Images 11630 imagesToLoad: [], 11631 imagesLoaded: 0 11632 }); 11633 swiper.emit('_swiper'); // Init 11634 11635 if (swiper.params.init) { 11636 swiper.init(); 11637 } // Return app instance 11638 11639 11640 return swiper; 11641 } 11642 11643 enable() { 11644 const swiper = this; 11645 if (swiper.enabled) return; 11646 swiper.enabled = true; 11647 11648 if (swiper.params.grabCursor) { 11649 swiper.setGrabCursor(); 11650 } 11651 11652 swiper.emit('enable'); 11653 } 11654 11655 disable() { 11656 const swiper = this; 11657 if (!swiper.enabled) return; 11658 swiper.enabled = false; 11659 11660 if (swiper.params.grabCursor) { 11661 swiper.unsetGrabCursor(); 11662 } 11663 11664 swiper.emit('disable'); 11665 } 11666 11667 setProgress(progress, speed) { 11668 const swiper = this; 11669 progress = Math.min(Math.max(progress, 0), 1); 11670 const min = swiper.minTranslate(); 11671 const max = swiper.maxTranslate(); 11672 const current = (max - min) * progress + min; 11673 swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed); 11674 swiper.updateActiveIndex(); 11675 swiper.updateSlidesClasses(); 11676 } 11677 11678 emitContainerClasses() { 11679 const swiper = this; 11680 if (!swiper.params._emitClasses || !swiper.el) return; 11681 const cls = swiper.el.className.split(' ').filter(className => { 11682 return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0; 11683 }); 11684 swiper.emit('_containerClasses', cls.join(' ')); 11685 } 11686 11687 getSlideClasses(slideEl) { 11688 const swiper = this; 11689 if (swiper.destroyed) return ''; 11690 return slideEl.className.split(' ').filter(className => { 11691 return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0; 11692 }).join(' '); 11693 } 11694 11695 emitSlidesClasses() { 11696 const swiper = this; 11697 if (!swiper.params._emitClasses || !swiper.el) return; 11698 const updates = []; 11699 swiper.slides.each(slideEl => { 11700 const classNames = swiper.getSlideClasses(slideEl); 11701 updates.push({ 11702 slideEl, 11703 classNames 11704 }); 11705 swiper.emit('_slideClass', slideEl, classNames); 11706 }); 11707 swiper.emit('_slideClasses', updates); 11708 } 11709 11710 slidesPerViewDynamic(view, exact) { 11711 if (view === void 0) { 11712 view = 'current'; 11713 } 11714 11715 if (exact === void 0) { 11716 exact = false; 11717 } 11718 11719 const swiper = this; 11720 const { 11721 params, 11722 slides, 11723 slidesGrid, 11724 slidesSizesGrid, 11725 size: swiperSize, 11726 activeIndex 11727 } = swiper; 11728 let spv = 1; 11729 11730 if (params.centeredSlides) { 11731 let slideSize = slides[activeIndex].swiperSlideSize; 11732 let breakLoop; 11733 11734 for (let i = activeIndex + 1; i < slides.length; i += 1) { 11735 if (slides[i] && !breakLoop) { 11736 slideSize += slides[i].swiperSlideSize; 11737 spv += 1; 11738 if (slideSize > swiperSize) breakLoop = true; 11739 } 11740 } 11741 11742 for (let i = activeIndex - 1; i >= 0; i -= 1) { 11743 if (slides[i] && !breakLoop) { 11744 slideSize += slides[i].swiperSlideSize; 11745 spv += 1; 11746 if (slideSize > swiperSize) breakLoop = true; 11747 } 11748 } 11749 } else { 11750 // eslint-disable-next-line 11751 if (view === 'current') { 11752 for (let i = activeIndex + 1; i < slides.length; i += 1) { 11753 const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize; 11754 11755 if (slideInView) { 11756 spv += 1; 11757 } 11758 } 11759 } else { 11760 // previous 11761 for (let i = activeIndex - 1; i >= 0; i -= 1) { 11762 const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize; 11763 11764 if (slideInView) { 11765 spv += 1; 11766 } 11767 } 11768 } 11769 } 11770 11771 return spv; 11772 } 11773 11774 update() { 11775 const swiper = this; 11776 if (!swiper || swiper.destroyed) return; 11777 const { 11778 snapGrid, 11779 params 11780 } = swiper; // Breakpoints 11781 11782 if (params.breakpoints) { 11783 swiper.setBreakpoint(); 11784 } 11785 11786 swiper.updateSize(); 11787 swiper.updateSlides(); 11788 swiper.updateProgress(); 11789 swiper.updateSlidesClasses(); 11790 11791 function setTranslate() { 11792 const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate; 11793 const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate()); 11794 swiper.setTranslate(newTranslate); 11795 swiper.updateActiveIndex(); 11796 swiper.updateSlidesClasses(); 11797 } 11798 11799 let translated; 11800 11801 if (swiper.params.freeMode && swiper.params.freeMode.enabled) { 11802 setTranslate(); 11803 11804 if (swiper.params.autoHeight) { 11805 swiper.updateAutoHeight(); 11806 } 11807 } else { 11808 if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) { 11809 translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true); 11810 } else { 11811 translated = swiper.slideTo(swiper.activeIndex, 0, false, true); 11812 } 11813 11814 if (!translated) { 11815 setTranslate(); 11816 } 11817 } 11818 11819 if (params.watchOverflow && snapGrid !== swiper.snapGrid) { 11820 swiper.checkOverflow(); 11821 } 11822 11823 swiper.emit('update'); 11824 } 11825 11826 changeDirection(newDirection, needUpdate) { 11827 if (needUpdate === void 0) { 11828 needUpdate = true; 11829 } 11830 11831 const swiper = this; 11832 const currentDirection = swiper.params.direction; 11833 11834 if (!newDirection) { 11835 // eslint-disable-next-line 11836 newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal'; 11837 } 11838 11839 if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') { 11840 return swiper; 11841 } 11842 11843 swiper.$el.removeClass(`${swiper.params.containerModifierClass}${currentDirection}`).addClass(`${swiper.params.containerModifierClass}${newDirection}`); 11844 swiper.emitContainerClasses(); 11845 swiper.params.direction = newDirection; 11846 swiper.slides.each(slideEl => { 11847 if (newDirection === 'vertical') { 11848 slideEl.style.width = ''; 11849 } else { 11850 slideEl.style.height = ''; 11851 } 11852 }); 11853 swiper.emit('changeDirection'); 11854 if (needUpdate) swiper.update(); 11855 return swiper; 11856 } 11857 11858 changeLanguageDirection(direction) { 11859 const swiper = this; 11860 if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return; 11861 swiper.rtl = direction === 'rtl'; 11862 swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl; 11863 11864 if (swiper.rtl) { 11865 swiper.$el.addClass(`${swiper.params.containerModifierClass}rtl`); 11866 swiper.el.dir = 'rtl'; 11867 } else { 11868 swiper.$el.removeClass(`${swiper.params.containerModifierClass}rtl`); 11869 swiper.el.dir = 'ltr'; 11870 } 11871 11872 swiper.update(); 11873 } 11874 11875 mount(el) { 11876 const swiper = this; 11877 if (swiper.mounted) return true; // Find el 11878 11879 const $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(el || swiper.params.el); 11880 el = $el[0]; 11881 11882 if (!el) { 11883 return false; 11884 } 11885 11886 el.swiper = swiper; 11887 11888 const getWrapperSelector = () => { 11889 return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`; 11890 }; 11891 11892 const getWrapper = () => { 11893 if (el && el.shadowRoot && el.shadowRoot.querySelector) { 11894 const res = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items 11895 11896 res.children = options => $el.children(options); 11897 11898 return res; 11899 } 11900 11901 if (!$el.children) { 11902 return (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])($el).children(getWrapperSelector()); 11903 } 11904 11905 return $el.children(getWrapperSelector()); 11906 }; // Find Wrapper 11907 11908 11909 let $wrapperEl = getWrapper(); 11910 11911 if ($wrapperEl.length === 0 && swiper.params.createElements) { 11912 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 11913 const wrapper = document.createElement('div'); 11914 $wrapperEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(wrapper); 11915 wrapper.className = swiper.params.wrapperClass; 11916 $el.append(wrapper); 11917 $el.children(`.${swiper.params.slideClass}`).each(slideEl => { 11918 $wrapperEl.append(slideEl); 11919 }); 11920 } 11921 11922 Object.assign(swiper, { 11923 $el, 11924 el, 11925 $wrapperEl, 11926 wrapperEl: $wrapperEl[0], 11927 mounted: true, 11928 // RTL 11929 rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl', 11930 rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'), 11931 wrongRTL: $wrapperEl.css('display') === '-webkit-box' 11932 }); 11933 return true; 11934 } 11935 11936 init(el) { 11937 const swiper = this; 11938 if (swiper.initialized) return swiper; 11939 const mounted = swiper.mount(el); 11940 if (mounted === false) return swiper; 11941 swiper.emit('beforeInit'); // Set breakpoint 11942 11943 if (swiper.params.breakpoints) { 11944 swiper.setBreakpoint(); 11945 } // Add Classes 11946 11947 11948 swiper.addClasses(); // Create loop 11949 11950 if (swiper.params.loop) { 11951 swiper.loopCreate(); 11952 } // Update size 11953 11954 11955 swiper.updateSize(); // Update slides 11956 11957 swiper.updateSlides(); 11958 11959 if (swiper.params.watchOverflow) { 11960 swiper.checkOverflow(); 11961 } // Set Grab Cursor 11962 11963 11964 if (swiper.params.grabCursor && swiper.enabled) { 11965 swiper.setGrabCursor(); 11966 } 11967 11968 if (swiper.params.preloadImages) { 11969 swiper.preloadImages(); 11970 } // Slide To Initial Slide 11971 11972 11973 if (swiper.params.loop) { 11974 swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true); 11975 } else { 11976 swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true); 11977 } // Attach events 11978 11979 11980 swiper.attachEvents(); // Init Flag 11981 11982 swiper.initialized = true; // Emit 11983 11984 swiper.emit('init'); 11985 swiper.emit('afterInit'); 11986 return swiper; 11987 } 11988 11989 destroy(deleteInstance, cleanStyles) { 11990 if (deleteInstance === void 0) { 11991 deleteInstance = true; 11992 } 11993 11994 if (cleanStyles === void 0) { 11995 cleanStyles = true; 11996 } 11997 11998 const swiper = this; 11999 const { 12000 params, 12001 $el, 12002 $wrapperEl, 12003 slides 12004 } = swiper; 12005 12006 if (typeof swiper.params === 'undefined' || swiper.destroyed) { 12007 return null; 12008 } 12009 12010 swiper.emit('beforeDestroy'); // Init Flag 12011 12012 swiper.initialized = false; // Detach events 12013 12014 swiper.detachEvents(); // Destroy loop 12015 12016 if (params.loop) { 12017 swiper.loopDestroy(); 12018 } // Cleanup styles 12019 12020 12021 if (cleanStyles) { 12022 swiper.removeClasses(); 12023 $el.removeAttr('style'); 12024 $wrapperEl.removeAttr('style'); 12025 12026 if (slides && slides.length) { 12027 slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index'); 12028 } 12029 } 12030 12031 swiper.emit('destroy'); // Detach emitter events 12032 12033 Object.keys(swiper.eventsListeners).forEach(eventName => { 12034 swiper.off(eventName); 12035 }); 12036 12037 if (deleteInstance !== false) { 12038 swiper.$el[0].swiper = null; 12039 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.deleteProps)(swiper); 12040 } 12041 12042 swiper.destroyed = true; 12043 return null; 12044 } 12045 12046 static extendDefaults(newDefaults) { 12047 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)(extendedDefaults, newDefaults); 12048 } 12049 12050 static get extendedDefaults() { 12051 return extendedDefaults; 12052 } 12053 12054 static get defaults() { 12055 return _defaults_js__WEBPACK_IMPORTED_MODULE_20__["default"]; 12056 } 12057 12058 static installModule(mod) { 12059 if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = []; 12060 const modules = Swiper.prototype.__modules__; 12061 12062 if (typeof mod === 'function' && modules.indexOf(mod) < 0) { 12063 modules.push(mod); 12064 } 12065 } 12066 12067 static use(module) { 12068 if (Array.isArray(module)) { 12069 module.forEach(m => Swiper.installModule(m)); 12070 return Swiper; 12071 } 12072 12073 Swiper.installModule(module); 12074 return Swiper; 12075 } 12076 12077} 12078 12079Object.keys(prototypes).forEach(prototypeGroup => { 12080 Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => { 12081 Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod]; 12082 }); 12083}); 12084Swiper.use([_modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_6__["default"], _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_7__["default"]]); 12085/* harmony default export */ __webpack_exports__["default"] = (Swiper); 12086 12087/***/ }), 12088
vendor: 3,585 bytes, lines 12089-12222
12089/***/ "./node_modules/swiper/core/defaults.js": 12090/*!**********************************************!*\ 12091 !*** ./node_modules/swiper/core/defaults.js ***! 12092 \**********************************************/ 12093/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 12094 12095__webpack_require__.r(__webpack_exports__); 12096/* harmony default export */ __webpack_exports__["default"] = ({ 12097 init: true, 12098 direction: 'horizontal', 12099 touchEventsTarget: 'wrapper', 12100 initialSlide: 0, 12101 speed: 300, 12102 cssMode: false, 12103 updateOnWindowResize: true, 12104 resizeObserver: true, 12105 nested: false, 12106 createElements: false, 12107 enabled: true, 12108 focusableElements: 'input, select, option, textarea, button, video, label', 12109 // Overrides 12110 width: null, 12111 height: null, 12112 // 12113 preventInteractionOnTransition: false, 12114 // ssr 12115 userAgent: null, 12116 url: null, 12117 // To support iOS's swipe-to-go-back gesture (when being used in-app). 12118 edgeSwipeDetection: false, 12119 edgeSwipeThreshold: 20, 12120 // Autoheight 12121 autoHeight: false, 12122 // Set wrapper width 12123 setWrapperSize: false, 12124 // Virtual Translate 12125 virtualTranslate: false, 12126 // Effects 12127 effect: 'slide', 12128 // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip' 12129 // Breakpoints 12130 breakpoints: undefined, 12131 breakpointsBase: 'window', 12132 // Slides grid 12133 spaceBetween: 0, 12134 slidesPerView: 1, 12135 slidesPerGroup: 1, 12136 slidesPerGroupSkip: 0, 12137 slidesPerGroupAuto: false, 12138 centeredSlides: false, 12139 centeredSlidesBounds: false, 12140 slidesOffsetBefore: 0, 12141 // in px 12142 slidesOffsetAfter: 0, 12143 // in px 12144 normalizeSlideIndex: true, 12145 centerInsufficientSlides: false, 12146 // Disable swiper and hide navigation when container not overflow 12147 watchOverflow: true, 12148 // Round length 12149 roundLengths: false, 12150 // Touches 12151 touchRatio: 1, 12152 touchAngle: 45, 12153 simulateTouch: true, 12154 shortSwipes: true, 12155 longSwipes: true, 12156 longSwipesRatio: 0.5, 12157 longSwipesMs: 300, 12158 followFinger: true, 12159 allowTouchMove: true, 12160 threshold: 0, 12161 touchMoveStopPropagation: false, 12162 touchStartPreventDefault: true, 12163 touchStartForcePreventDefault: false, 12164 touchReleaseOnEdges: false, 12165 // Unique Navigation Elements 12166 uniqueNavElements: true, 12167 // Resistance 12168 resistance: true, 12169 resistanceRatio: 0.85, 12170 // Progress 12171 watchSlidesProgress: false, 12172 // Cursor 12173 grabCursor: false, 12174 // Clicks 12175 preventClicks: true, 12176 preventClicksPropagation: true, 12177 slideToClickedSlide: false, 12178 // Images 12179 preloadImages: true, 12180 updateOnImagesReady: true, 12181 // loop 12182 loop: false, 12183 loopAdditionalSlides: 0, 12184 loopedSlides: null, 12185 loopedSlidesLimit: true, 12186 loopFillGroupWithBlank: false, 12187 loopPreventsSlide: true, 12188 // rewind 12189 rewind: false, 12190 // Swiping/no swiping 12191 allowSlidePrev: true, 12192 allowSlideNext: true, 12193 swipeHandler: null, 12194 // '.swipe-handler', 12195 noSwiping: true, 12196 noSwipingClass: 'swiper-no-swiping', 12197 noSwipingSelector: null, 12198 // Passive Listeners 12199 passiveListeners: true, 12200 maxBackfaceHiddenSlides: 10, 12201 // NS 12202 containerModifierClass: 'swiper-', 12203 // NEW 12204 slideClass: 'swiper-slide', 12205 slideBlankClass: 'swiper-slide-invisible-blank', 12206 slideActiveClass: 'swiper-slide-active', 12207 slideDuplicateActiveClass: 'swiper-slide-duplicate-active', 12208 slideVisibleClass: 'swiper-slide-visible', 12209 slideDuplicateClass: 'swiper-slide-duplicate', 12210 slideNextClass: 'swiper-slide-next', 12211 slideDuplicateNextClass: 'swiper-slide-duplicate-next', 12212 slidePrevClass: 'swiper-slide-prev', 12213 slideDuplicatePrevClass: 'swiper-slide-duplicate-prev', 12214 wrapperClass: 'swiper-wrapper', 12215 // Callbacks 12216 runCallbacksOnInit: true, 12217 // Internals 12218 _emitClasses: false 12219}); 12220 12221/***/ }), 12222
vendor: 4,000 bytes, lines 12223-12354
12223/***/ "./node_modules/swiper/core/events-emitter.js": 12224/*!****************************************************!*\ 12225 !*** ./node_modules/swiper/core/events-emitter.js ***! 12226 \****************************************************/ 12227/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 12228 12229__webpack_require__.r(__webpack_exports__); 12230/* eslint-disable no-underscore-dangle */ 12231/* harmony default export */ __webpack_exports__["default"] = ({ 12232 on(events, handler, priority) { 12233 const self = this; 12234 if (!self.eventsListeners || self.destroyed) return self; 12235 if (typeof handler !== 'function') return self; 12236 const method = priority ? 'unshift' : 'push'; 12237 events.split(' ').forEach(event => { 12238 if (!self.eventsListeners[event]) self.eventsListeners[event] = []; 12239 self.eventsListeners[event][method](handler); 12240 }); 12241 return self; 12242 }, 12243 12244 once(events, handler, priority) { 12245 const self = this; 12246 if (!self.eventsListeners || self.destroyed) return self; 12247 if (typeof handler !== 'function') return self; 12248 12249 function onceHandler() { 12250 self.off(events, onceHandler); 12251 12252 if (onceHandler.__emitterProxy) { 12253 delete onceHandler.__emitterProxy; 12254 } 12255 12256 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 12257 args[_key] = arguments[_key]; 12258 } 12259 12260 handler.apply(self, args); 12261 } 12262 12263 onceHandler.__emitterProxy = handler; 12264 return self.on(events, onceHandler, priority); 12265 }, 12266 12267 onAny(handler, priority) { 12268 const self = this; 12269 if (!self.eventsListeners || self.destroyed) return self; 12270 if (typeof handler !== 'function') return self; 12271 const method = priority ? 'unshift' : 'push'; 12272 12273 if (self.eventsAnyListeners.indexOf(handler) < 0) { 12274 self.eventsAnyListeners[method](handler); 12275 } 12276 12277 return self; 12278 }, 12279 12280 offAny(handler) { 12281 const self = this; 12282 if (!self.eventsListeners || self.destroyed) return self; 12283 if (!self.eventsAnyListeners) return self; 12284 const index = self.eventsAnyListeners.indexOf(handler); 12285 12286 if (index >= 0) { 12287 self.eventsAnyListeners.splice(index, 1); 12288 } 12289 12290 return self; 12291 }, 12292 12293 off(events, handler) { 12294 const self = this; 12295 if (!self.eventsListeners || self.destroyed) return self; 12296 if (!self.eventsListeners) return self; 12297 events.split(' ').forEach(event => { 12298 if (typeof handler === 'undefined') { 12299 self.eventsListeners[event] = []; 12300 } else if (self.eventsListeners[event]) { 12301 self.eventsListeners[event].forEach((eventHandler, index) => { 12302 if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) { 12303 self.eventsListeners[event].splice(index, 1); 12304 } 12305 }); 12306 } 12307 }); 12308 return self; 12309 }, 12310 12311 emit() { 12312 const self = this; 12313 if (!self.eventsListeners || self.destroyed) return self; 12314 if (!self.eventsListeners) return self; 12315 let events; 12316 let data; 12317 let context; 12318 12319 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { 12320 args[_key2] = arguments[_key2]; 12321 } 12322 12323 if (typeof args[0] === 'string' || Array.isArray(args[0])) { 12324 events = args[0]; 12325 data = args.slice(1, args.length); 12326 context = self; 12327 } else { 12328 events = args[0].events; 12329 data = args[0].data; 12330 context = args[0].context || self; 12331 } 12332 12333 data.unshift(context); 12334 const eventsArray = Array.isArray(events) ? events : events.split(' '); 12335 eventsArray.forEach(event => { 12336 if (self.eventsAnyListeners && self.eventsAnyListeners.length) { 12337 self.eventsAnyListeners.forEach(eventHandler => { 12338 eventHandler.apply(context, [event, ...data]); 12339 }); 12340 } 12341 12342 if (self.eventsListeners && self.eventsListeners[event]) { 12343 self.eventsListeners[event].forEach(eventHandler => { 12344 eventHandler.apply(context, data); 12345 }); 12346 } 12347 }); 12348 return self; 12349 } 12350 12351}); 12352 12353/***/ }), 12354
vendor: 4,390 bytes, lines 12355-12468
12355/***/ "./node_modules/swiper/core/events/index.js": 12356/*!**************************************************!*\ 12357 !*** ./node_modules/swiper/core/events/index.js ***! 12358 \**************************************************/ 12359/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 12360 12361__webpack_require__.r(__webpack_exports__); 12362/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 12363/* harmony import */ var _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./onTouchStart.js */ "./node_modules/swiper/core/events/onTouchStart.js"); 12364/* harmony import */ var _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./onTouchMove.js */ "./node_modules/swiper/core/events/onTouchMove.js"); 12365/* harmony import */ var _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./onTouchEnd.js */ "./node_modules/swiper/core/events/onTouchEnd.js"); 12366/* harmony import */ var _onResize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./onResize.js */ "./node_modules/swiper/core/events/onResize.js"); 12367/* harmony import */ var _onClick_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./onClick.js */ "./node_modules/swiper/core/events/onClick.js"); 12368/* harmony import */ var _onScroll_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./onScroll.js */ "./node_modules/swiper/core/events/onScroll.js"); 12369 12370 12371 12372 12373 12374 12375 12376let dummyEventAttached = false; 12377 12378function dummyEventListener() {} 12379 12380const events = (swiper, method) => { 12381 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 12382 const { 12383 params, 12384 touchEvents, 12385 el, 12386 wrapperEl, 12387 device, 12388 support 12389 } = swiper; 12390 const capture = !!params.nested; 12391 const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; 12392 const swiperMethod = method; // Touch Events 12393 12394 if (!support.touch) { 12395 el[domMethod](touchEvents.start, swiper.onTouchStart, false); 12396 document[domMethod](touchEvents.move, swiper.onTouchMove, capture); 12397 document[domMethod](touchEvents.end, swiper.onTouchEnd, false); 12398 } else { 12399 const passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? { 12400 passive: true, 12401 capture: false 12402 } : false; 12403 el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener); 12404 el[domMethod](touchEvents.move, swiper.onTouchMove, support.passiveListener ? { 12405 passive: false, 12406 capture 12407 } : capture); 12408 el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener); 12409 12410 if (touchEvents.cancel) { 12411 el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener); 12412 } 12413 } // Prevent Links Clicks 12414 12415 12416 if (params.preventClicks || params.preventClicksPropagation) { 12417 el[domMethod]('click', swiper.onClick, true); 12418 } 12419 12420 if (params.cssMode) { 12421 wrapperEl[domMethod]('scroll', swiper.onScroll); 12422 } // Resize handler 12423 12424 12425 if (params.updateOnWindowResize) { 12426 swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__["default"], true); 12427 } else { 12428 swiper[swiperMethod]('observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__["default"], true); 12429 } 12430}; 12431 12432function attachEvents() { 12433 const swiper = this; 12434 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 12435 const { 12436 params, 12437 support 12438 } = swiper; 12439 swiper.onTouchStart = _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__["default"].bind(swiper); 12440 swiper.onTouchMove = _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__["default"].bind(swiper); 12441 swiper.onTouchEnd = _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__["default"].bind(swiper); 12442 12443 if (params.cssMode) { 12444 swiper.onScroll = _onScroll_js__WEBPACK_IMPORTED_MODULE_6__["default"].bind(swiper); 12445 } 12446 12447 swiper.onClick = _onClick_js__WEBPACK_IMPORTED_MODULE_5__["default"].bind(swiper); 12448 12449 if (support.touch && !dummyEventAttached) { 12450 document.addEventListener('touchstart', dummyEventListener); 12451 dummyEventAttached = true; 12452 } 12453 12454 events(swiper, 'on'); 12455} 12456 12457function detachEvents() { 12458 const swiper = this; 12459 events(swiper, 'off'); 12460} 12461 12462/* harmony default export */ __webpack_exports__["default"] = ({ 12463 attachEvents, 12464 detachEvents 12465}); 12466 12467/***/ }), 12468
vendor: 859 bytes, lines 12469-12494
12469/***/ "./node_modules/swiper/core/events/onClick.js": 12470/*!****************************************************!*\ 12471 !*** ./node_modules/swiper/core/events/onClick.js ***! 12472 \****************************************************/ 12473/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 12474 12475__webpack_require__.r(__webpack_exports__); 12476/* harmony export */ __webpack_require__.d(__webpack_exports__, { 12477/* harmony export */ "default": function() { return /* binding */ onClick; } 12478/* harmony export */ }); 12479function onClick(e) { 12480 const swiper = this; 12481 if (!swiper.enabled) return; 12482 12483 if (!swiper.allowClick) { 12484 if (swiper.params.preventClicks) e.preventDefault(); 12485 12486 if (swiper.params.preventClicksPropagation && swiper.animating) { 12487 e.stopPropagation(); 12488 e.stopImmediatePropagation(); 12489 } 12490 } 12491} 12492 12493/***/ }), 12494
vendor: 1,633 bytes, lines 12495-12550
12495/***/ "./node_modules/swiper/core/events/onResize.js": 12496/*!*****************************************************!*\ 12497 !*** ./node_modules/swiper/core/events/onResize.js ***! 12498 \*****************************************************/ 12499/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 12500 12501__webpack_require__.r(__webpack_exports__); 12502/* harmony export */ __webpack_require__.d(__webpack_exports__, { 12503/* harmony export */ "default": function() { return /* binding */ onResize; } 12504/* harmony export */ }); 12505function onResize() { 12506 const swiper = this; 12507 const { 12508 params, 12509 el 12510 } = swiper; 12511 if (el && el.offsetWidth === 0) return; // Breakpoints 12512 12513 if (params.breakpoints) { 12514 swiper.setBreakpoint(); 12515 } // Save locks 12516 12517 12518 const { 12519 allowSlideNext, 12520 allowSlidePrev, 12521 snapGrid 12522 } = swiper; // Disable locks on resize 12523 12524 swiper.allowSlideNext = true; 12525 swiper.allowSlidePrev = true; 12526 swiper.updateSize(); 12527 swiper.updateSlides(); 12528 swiper.updateSlidesClasses(); 12529 12530 if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) { 12531 swiper.slideTo(swiper.slides.length - 1, 0, false, true); 12532 } else { 12533 swiper.slideTo(swiper.activeIndex, 0, false, true); 12534 } 12535 12536 if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) { 12537 swiper.autoplay.run(); 12538 } // Return locks after resize 12539 12540 12541 swiper.allowSlidePrev = allowSlidePrev; 12542 swiper.allowSlideNext = allowSlideNext; 12543 12544 if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) { 12545 swiper.checkOverflow(); 12546 } 12547} 12548 12549/***/ }), 12550
vendor: 1,445 bytes, lines 12551-12598
12551/***/ "./node_modules/swiper/core/events/onScroll.js": 12552/*!*****************************************************!*\ 12553 !*** ./node_modules/swiper/core/events/onScroll.js ***! 12554 \*****************************************************/ 12555/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 12556 12557__webpack_require__.r(__webpack_exports__); 12558/* harmony export */ __webpack_require__.d(__webpack_exports__, { 12559/* harmony export */ "default": function() { return /* binding */ onScroll; } 12560/* harmony export */ }); 12561function onScroll() { 12562 const swiper = this; 12563 const { 12564 wrapperEl, 12565 rtlTranslate, 12566 enabled 12567 } = swiper; 12568 if (!enabled) return; 12569 swiper.previousTranslate = swiper.translate; 12570 12571 if (swiper.isHorizontal()) { 12572 swiper.translate = -wrapperEl.scrollLeft; 12573 } else { 12574 swiper.translate = -wrapperEl.scrollTop; 12575 } // eslint-disable-next-line 12576 12577 12578 if (swiper.translate === 0) swiper.translate = 0; 12579 swiper.updateActiveIndex(); 12580 swiper.updateSlidesClasses(); 12581 let newProgress; 12582 const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); 12583 12584 if (translatesDiff === 0) { 12585 newProgress = 0; 12586 } else { 12587 newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff; 12588 } 12589 12590 if (newProgress !== swiper.progress) { 12591 swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate); 12592 } 12593 12594 swiper.emit('setTranslate', swiper.translate, false); 12595} 12596 12597/***/ }), 12598
vendor: 5,522 bytes, lines 12599-12773
12599/***/ "./node_modules/swiper/core/events/onTouchEnd.js": 12600/*!*******************************************************!*\ 12601 !*** ./node_modules/swiper/core/events/onTouchEnd.js ***! 12602 \*******************************************************/ 12603/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 12604 12605__webpack_require__.r(__webpack_exports__); 12606/* harmony export */ __webpack_require__.d(__webpack_exports__, { 12607/* harmony export */ "default": function() { return /* binding */ onTouchEnd; } 12608/* harmony export */ }); 12609/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 12610 12611function onTouchEnd(event) { 12612 const swiper = this; 12613 const data = swiper.touchEventsData; 12614 const { 12615 params, 12616 touches, 12617 rtlTranslate: rtl, 12618 slidesGrid, 12619 enabled 12620 } = swiper; 12621 if (!enabled) return; 12622 let e = event; 12623 if (e.originalEvent) e = e.originalEvent; 12624 12625 if (data.allowTouchCallbacks) { 12626 swiper.emit('touchEnd', e); 12627 } 12628 12629 data.allowTouchCallbacks = false; 12630 12631 if (!data.isTouched) { 12632 if (data.isMoved && params.grabCursor) { 12633 swiper.setGrabCursor(false); 12634 } 12635 12636 data.isMoved = false; 12637 data.startMoving = false; 12638 return; 12639 } // Return Grab Cursor 12640 12641 12642 if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { 12643 swiper.setGrabCursor(false); 12644 } // Time diff 12645 12646 12647 const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)(); 12648 const timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click 12649 12650 if (swiper.allowClick) { 12651 const pathTree = e.path || e.composedPath && e.composedPath(); 12652 swiper.updateClickedSlide(pathTree && pathTree[0] || e.target); 12653 swiper.emit('tap click', e); 12654 12655 if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) { 12656 swiper.emit('doubleTap doubleClick', e); 12657 } 12658 } 12659 12660 data.lastClickTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)(); 12661 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => { 12662 if (!swiper.destroyed) swiper.allowClick = true; 12663 }); 12664 12665 if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) { 12666 data.isTouched = false; 12667 data.isMoved = false; 12668 data.startMoving = false; 12669 return; 12670 } 12671 12672 data.isTouched = false; 12673 data.isMoved = false; 12674 data.startMoving = false; 12675 let currentPos; 12676 12677 if (params.followFinger) { 12678 currentPos = rtl ? swiper.translate : -swiper.translate; 12679 } else { 12680 currentPos = -data.currentTranslate; 12681 } 12682 12683 if (params.cssMode) { 12684 return; 12685 } 12686 12687 if (swiper.params.freeMode && params.freeMode.enabled) { 12688 swiper.freeMode.onTouchEnd({ 12689 currentPos 12690 }); 12691 return; 12692 } // Find current slide 12693 12694 12695 let stopIndex = 0; 12696 let groupSize = swiper.slidesSizesGrid[0]; 12697 12698 for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) { 12699 const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; 12700 12701 if (typeof slidesGrid[i + increment] !== 'undefined') { 12702 if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) { 12703 stopIndex = i; 12704 groupSize = slidesGrid[i + increment] - slidesGrid[i]; 12705 } 12706 } else if (currentPos >= slidesGrid[i]) { 12707 stopIndex = i; 12708 groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2]; 12709 } 12710 } 12711 12712 let rewindFirstIndex = null; 12713 let rewindLastIndex = null; 12714 12715 if (params.rewind) { 12716 if (swiper.isBeginning) { 12717 rewindLastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; 12718 } else if (swiper.isEnd) { 12719 rewindFirstIndex = 0; 12720 } 12721 } // Find current slide size 12722 12723 12724 const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize; 12725 const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup; 12726 12727 if (timeDiff > params.longSwipesMs) { 12728 // Long touches 12729 if (!params.longSwipes) { 12730 swiper.slideTo(swiper.activeIndex); 12731 return; 12732 } 12733 12734 if (swiper.swipeDirection === 'next') { 12735 if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex); 12736 } 12737 12738 if (swiper.swipeDirection === 'prev') { 12739 if (ratio > 1 - params.longSwipesRatio) { 12740 swiper.slideTo(stopIndex + increment); 12741 } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) { 12742 swiper.slideTo(rewindLastIndex); 12743 } else { 12744 swiper.slideTo(stopIndex); 12745 } 12746 } 12747 } else { 12748 // Short swipes 12749 if (!params.shortSwipes) { 12750 swiper.slideTo(swiper.activeIndex); 12751 return; 12752 } 12753 12754 const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl); 12755 12756 if (!isNavButtonTarget) { 12757 if (swiper.swipeDirection === 'next') { 12758 swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment); 12759 } 12760 12761 if (swiper.swipeDirection === 'prev') { 12762 swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex); 12763 } 12764 } else if (e.target === swiper.navigation.nextEl) { 12765 swiper.slideTo(stopIndex + increment); 12766 } else { 12767 swiper.slideTo(stopIndex); 12768 } 12769 } 12770} 12771 12772/***/ }), 12773
vendor: 7,830 bytes, lines 12774-13012
12774/***/ "./node_modules/swiper/core/events/onTouchMove.js": 12775/*!********************************************************!*\ 12776 !*** ./node_modules/swiper/core/events/onTouchMove.js ***! 12777 \********************************************************/ 12778/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 12779 12780__webpack_require__.r(__webpack_exports__); 12781/* harmony export */ __webpack_require__.d(__webpack_exports__, { 12782/* harmony export */ "default": function() { return /* binding */ onTouchMove; } 12783/* harmony export */ }); 12784/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 12785/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 12786/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 12787 12788 12789 12790function onTouchMove(event) { 12791 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 12792 const swiper = this; 12793 const data = swiper.touchEventsData; 12794 const { 12795 params, 12796 touches, 12797 rtlTranslate: rtl, 12798 enabled 12799 } = swiper; 12800 if (!enabled) return; 12801 let e = event; 12802 if (e.originalEvent) e = e.originalEvent; 12803 12804 if (!data.isTouched) { 12805 if (data.startMoving && data.isScrolling) { 12806 swiper.emit('touchMoveOpposite', e); 12807 } 12808 12809 return; 12810 } 12811 12812 if (data.isTouchEvent && e.type !== 'touchmove') return; 12813 const targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]); 12814 const pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX; 12815 const pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY; 12816 12817 if (e.preventedByNestedSwiper) { 12818 touches.startX = pageX; 12819 touches.startY = pageY; 12820 return; 12821 } 12822 12823 if (!swiper.allowTouchMove) { 12824 if (!(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target).is(data.focusableElements)) { 12825 swiper.allowClick = false; 12826 } 12827 12828 if (data.isTouched) { 12829 Object.assign(touches, { 12830 startX: pageX, 12831 startY: pageY, 12832 currentX: pageX, 12833 currentY: pageY 12834 }); 12835 data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(); 12836 } 12837 12838 return; 12839 } 12840 12841 if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) { 12842 if (swiper.isVertical()) { 12843 // Vertical 12844 if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) { 12845 data.isTouched = false; 12846 data.isMoved = false; 12847 return; 12848 } 12849 } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) { 12850 return; 12851 } 12852 } 12853 12854 if (data.isTouchEvent && document.activeElement) { 12855 if (e.target === document.activeElement && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target).is(data.focusableElements)) { 12856 data.isMoved = true; 12857 swiper.allowClick = false; 12858 return; 12859 } 12860 } 12861 12862 if (data.allowTouchCallbacks) { 12863 swiper.emit('touchMove', e); 12864 } 12865 12866 if (e.targetTouches && e.targetTouches.length > 1) return; 12867 touches.currentX = pageX; 12868 touches.currentY = pageY; 12869 const diffX = touches.currentX - touches.startX; 12870 const diffY = touches.currentY - touches.startY; 12871 if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return; 12872 12873 if (typeof data.isScrolling === 'undefined') { 12874 let touchAngle; 12875 12876 if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) { 12877 data.isScrolling = false; 12878 } else { 12879 // eslint-disable-next-line 12880 if (diffX * diffX + diffY * diffY >= 25) { 12881 touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI; 12882 data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle; 12883 } 12884 } 12885 } 12886 12887 if (data.isScrolling) { 12888 swiper.emit('touchMoveOpposite', e); 12889 } 12890 12891 if (typeof data.startMoving === 'undefined') { 12892 if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) { 12893 data.startMoving = true; 12894 } 12895 } 12896 12897 if (data.isScrolling) { 12898 data.isTouched = false; 12899 return; 12900 } 12901 12902 if (!data.startMoving) { 12903 return; 12904 } 12905 12906 swiper.allowClick = false; 12907 12908 if (!params.cssMode && e.cancelable) { 12909 e.preventDefault(); 12910 } 12911 12912 if (params.touchMoveStopPropagation && !params.nested) { 12913 e.stopPropagation(); 12914 } 12915 12916 if (!data.isMoved) { 12917 if (params.loop && !params.cssMode) { 12918 swiper.loopFix(); 12919 } 12920 12921 data.startTranslate = swiper.getTranslate(); 12922 swiper.setTransition(0); 12923 12924 if (swiper.animating) { 12925 swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend'); 12926 } 12927 12928 data.allowMomentumBounce = false; // Grab Cursor 12929 12930 if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) { 12931 swiper.setGrabCursor(true); 12932 } 12933 12934 swiper.emit('sliderFirstMove', e); 12935 } 12936 12937 swiper.emit('sliderMove', e); 12938 data.isMoved = true; 12939 let diff = swiper.isHorizontal() ? diffX : diffY; 12940 touches.diff = diff; 12941 diff *= params.touchRatio; 12942 if (rtl) diff = -diff; 12943 swiper.swipeDirection = diff > 0 ? 'prev' : 'next'; 12944 data.currentTranslate = diff + data.startTranslate; 12945 let disableParentSwiper = true; 12946 let resistanceRatio = params.resistanceRatio; 12947 12948 if (params.touchReleaseOnEdges) { 12949 resistanceRatio = 0; 12950 } 12951 12952 if (diff > 0 && data.currentTranslate > swiper.minTranslate()) { 12953 disableParentSwiper = false; 12954 if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio; 12955 } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) { 12956 disableParentSwiper = false; 12957 if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio; 12958 } 12959 12960 if (disableParentSwiper) { 12961 e.preventedByNestedSwiper = true; 12962 } // Directions locks 12963 12964 12965 if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) { 12966 data.currentTranslate = data.startTranslate; 12967 } 12968 12969 if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) { 12970 data.currentTranslate = data.startTranslate; 12971 } 12972 12973 if (!swiper.allowSlidePrev && !swiper.allowSlideNext) { 12974 data.currentTranslate = data.startTranslate; 12975 } // Threshold 12976 12977 12978 if (params.threshold > 0) { 12979 if (Math.abs(diff) > params.threshold || data.allowThresholdMove) { 12980 if (!data.allowThresholdMove) { 12981 data.allowThresholdMove = true; 12982 touches.startX = touches.currentX; 12983 touches.startY = touches.currentY; 12984 data.currentTranslate = data.startTranslate; 12985 touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY; 12986 return; 12987 } 12988 } else { 12989 data.currentTranslate = data.startTranslate; 12990 return; 12991 } 12992 } 12993 12994 if (!params.followFinger || params.cssMode) return; // Update active index in free mode 12995 12996 if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) { 12997 swiper.updateActiveIndex(); 12998 swiper.updateSlidesClasses(); 12999 } 13000 13001 if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) { 13002 swiper.freeMode.onTouchMove(); 13003 } // Update progress 13004 13005 13006 swiper.updateProgress(data.currentTranslate); // Update translate 13007 13008 swiper.setTranslate(data.currentTranslate); 13009} 13010 13011/***/ }), 13012
vendor: 5,705 bytes, lines 13013-13162
13013/***/ "./node_modules/swiper/core/events/onTouchStart.js": 13014/*!*********************************************************!*\ 13015 !*** ./node_modules/swiper/core/events/onTouchStart.js ***! 13016 \*********************************************************/ 13017/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13018 13019__webpack_require__.r(__webpack_exports__); 13020/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13021/* harmony export */ "default": function() { return /* binding */ onTouchStart; } 13022/* harmony export */ }); 13023/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 13024/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 13025/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 13026 13027 13028 // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd 13029 13030function closestElement(selector, base) { 13031 if (base === void 0) { 13032 base = this; 13033 } 13034 13035 function __closestFrom(el) { 13036 if (!el || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)() || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)()) return null; 13037 if (el.assignedSlot) el = el.assignedSlot; 13038 const found = el.closest(selector); 13039 13040 if (!found && !el.getRootNode) { 13041 return null; 13042 } 13043 13044 return found || __closestFrom(el.getRootNode().host); 13045 } 13046 13047 return __closestFrom(base); 13048} 13049 13050function onTouchStart(event) { 13051 const swiper = this; 13052 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 13053 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 13054 const data = swiper.touchEventsData; 13055 const { 13056 params, 13057 touches, 13058 enabled 13059 } = swiper; 13060 if (!enabled) return; 13061 13062 if (swiper.animating && params.preventInteractionOnTransition) { 13063 return; 13064 } 13065 13066 if (!swiper.animating && params.cssMode && params.loop) { 13067 swiper.loopFix(); 13068 } 13069 13070 let e = event; 13071 if (e.originalEvent) e = e.originalEvent; 13072 let $targetEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target); 13073 13074 if (params.touchEventsTarget === 'wrapper') { 13075 if (!$targetEl.closest(swiper.wrapperEl).length) return; 13076 } 13077 13078 data.isTouchEvent = e.type === 'touchstart'; 13079 if (!data.isTouchEvent && 'which' in e && e.which === 3) return; 13080 if (!data.isTouchEvent && 'button' in e && e.button > 0) return; 13081 if (data.isTouched && data.isMoved) return; // change target el for shadow root component 13082 13083 const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== ''; 13084 13085 if (swipingClassHasValue && e.target && e.target.shadowRoot && event.path && event.path[0]) { 13086 $targetEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(event.path[0]); 13087 } 13088 13089 const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`; 13090 const isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element 13091 13092 if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, $targetEl[0]) : $targetEl.closest(noSwipingSelector)[0])) { 13093 swiper.allowClick = true; 13094 return; 13095 } 13096 13097 if (params.swipeHandler) { 13098 if (!$targetEl.closest(params.swipeHandler)[0]) return; 13099 } 13100 13101 touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; 13102 touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; 13103 const startX = touches.currentX; 13104 const startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore 13105 13106 const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection; 13107 const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold; 13108 13109 if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) { 13110 if (edgeSwipeDetection === 'prevent') { 13111 event.preventDefault(); 13112 } else { 13113 return; 13114 } 13115 } 13116 13117 Object.assign(data, { 13118 isTouched: true, 13119 isMoved: false, 13120 allowTouchCallbacks: true, 13121 isScrolling: undefined, 13122 startMoving: undefined 13123 }); 13124 touches.startX = startX; 13125 touches.startY = startY; 13126 data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(); 13127 swiper.allowClick = true; 13128 swiper.updateSize(); 13129 swiper.swipeDirection = undefined; 13130 if (params.threshold > 0) data.allowThresholdMove = false; 13131 13132 if (e.type !== 'touchstart') { 13133 let preventDefault = true; 13134 13135 if ($targetEl.is(data.focusableElements)) { 13136 preventDefault = false; 13137 13138 if ($targetEl[0].nodeName === 'SELECT') { 13139 data.isTouched = false; 13140 } 13141 } 13142 13143 if (document.activeElement && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) { 13144 document.activeElement.blur(); 13145 } 13146 13147 const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault; 13148 13149 if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) { 13150 e.preventDefault(); 13151 } 13152 } 13153 13154 if (swiper.params.freeMode && swiper.params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) { 13155 swiper.freeMode.onTouchStart(); 13156 } 13157 13158 swiper.emit('touchStart', e); 13159} 13160 13161/***/ }), 13162
vendor: 985 bytes, lines 13163-13180
13163/***/ "./node_modules/swiper/core/grab-cursor/index.js": 13164/*!*******************************************************!*\ 13165 !*** ./node_modules/swiper/core/grab-cursor/index.js ***! 13166 \*******************************************************/ 13167/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13168 13169__webpack_require__.r(__webpack_exports__); 13170/* harmony import */ var _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setGrabCursor.js */ "./node_modules/swiper/core/grab-cursor/setGrabCursor.js"); 13171/* harmony import */ var _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./unsetGrabCursor.js */ "./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js"); 13172 13173 13174/* harmony default export */ __webpack_exports__["default"] = ({ 13175 setGrabCursor: _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__["default"], 13176 unsetGrabCursor: _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__["default"] 13177}); 13178 13179/***/ }), 13180
vendor: 973 bytes, lines 13181-13200
13181/***/ "./node_modules/swiper/core/grab-cursor/setGrabCursor.js": 13182/*!***************************************************************!*\ 13183 !*** ./node_modules/swiper/core/grab-cursor/setGrabCursor.js ***! 13184 \***************************************************************/ 13185/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13186 13187__webpack_require__.r(__webpack_exports__); 13188/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13189/* harmony export */ "default": function() { return /* binding */ setGrabCursor; } 13190/* harmony export */ }); 13191function setGrabCursor(moving) { 13192 const swiper = this; 13193 if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return; 13194 const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl; 13195 el.style.cursor = 'move'; 13196 el.style.cursor = moving ? 'grabbing' : 'grab'; 13197} 13198 13199/***/ }), 13200
vendor: 886 bytes, lines 13201-13222
13201/***/ "./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js": 13202/*!*****************************************************************!*\ 13203 !*** ./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js ***! 13204 \*****************************************************************/ 13205/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13206 13207__webpack_require__.r(__webpack_exports__); 13208/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13209/* harmony export */ "default": function() { return /* binding */ unsetGrabCursor; } 13210/* harmony export */ }); 13211function unsetGrabCursor() { 13212 const swiper = this; 13213 13214 if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) { 13215 return; 13216 } 13217 13218 swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = ''; 13219} 13220 13221/***/ }), 13222
vendor: 925 bytes, lines 13223-13240
13223/***/ "./node_modules/swiper/core/images/index.js": 13224/*!**************************************************!*\ 13225 !*** ./node_modules/swiper/core/images/index.js ***! 13226 \**************************************************/ 13227/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13228 13229__webpack_require__.r(__webpack_exports__); 13230/* harmony import */ var _loadImage_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loadImage.js */ "./node_modules/swiper/core/images/loadImage.js"); 13231/* harmony import */ var _preloadImages_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./preloadImages.js */ "./node_modules/swiper/core/images/preloadImages.js"); 13232 13233 13234/* harmony default export */ __webpack_exports__["default"] = ({ 13235 loadImage: _loadImage_js__WEBPACK_IMPORTED_MODULE_0__["default"], 13236 preloadImages: _preloadImages_js__WEBPACK_IMPORTED_MODULE_1__["default"] 13237}); 13238 13239/***/ }), 13240
vendor: 1,650 bytes, lines 13241-13292
13241/***/ "./node_modules/swiper/core/images/loadImage.js": 13242/*!******************************************************!*\ 13243 !*** ./node_modules/swiper/core/images/loadImage.js ***! 13244 \******************************************************/ 13245/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13246 13247__webpack_require__.r(__webpack_exports__); 13248/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13249/* harmony export */ "default": function() { return /* binding */ loadImage; } 13250/* harmony export */ }); 13251/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 13252/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 13253 13254 13255function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) { 13256 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 13257 let image; 13258 13259 function onReady() { 13260 if (callback) callback(); 13261 } 13262 13263 const isPicture = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(imageEl).parent('picture')[0]; 13264 13265 if (!isPicture && (!imageEl.complete || !checkForComplete)) { 13266 if (src) { 13267 image = new window.Image(); 13268 image.onload = onReady; 13269 image.onerror = onReady; 13270 13271 if (sizes) { 13272 image.sizes = sizes; 13273 } 13274 13275 if (srcset) { 13276 image.srcset = srcset; 13277 } 13278 13279 if (src) { 13280 image.src = src; 13281 } 13282 } else { 13283 onReady(); 13284 } 13285 } else { 13286 // image already loaded... 13287 onReady(); 13288 } 13289} 13290 13291/***/ }), 13292
vendor: 1,344 bytes, lines 13293-13324
13293/***/ "./node_modules/swiper/core/images/preloadImages.js": 13294/*!**********************************************************!*\ 13295 !*** ./node_modules/swiper/core/images/preloadImages.js ***! 13296 \**********************************************************/ 13297/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13298 13299__webpack_require__.r(__webpack_exports__); 13300/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13301/* harmony export */ "default": function() { return /* binding */ preloadImages; } 13302/* harmony export */ }); 13303function preloadImages() { 13304 const swiper = this; 13305 swiper.imagesToLoad = swiper.$el.find('img'); 13306 13307 function onReady() { 13308 if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return; 13309 if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1; 13310 13311 if (swiper.imagesLoaded === swiper.imagesToLoad.length) { 13312 if (swiper.params.updateOnImagesReady) swiper.update(); 13313 swiper.emit('imagesReady'); 13314 } 13315 } 13316 13317 for (let i = 0; i < swiper.imagesToLoad.length; i += 1) { 13318 const imageEl = swiper.imagesToLoad[i]; 13319 swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady); 13320 } 13321} 13322 13323/***/ }), 13324
vendor: 1,128 bytes, lines 13325-13345
13325/***/ "./node_modules/swiper/core/loop/index.js": 13326/*!************************************************!*\ 13327 !*** ./node_modules/swiper/core/loop/index.js ***! 13328 \************************************************/ 13329/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13330 13331__webpack_require__.r(__webpack_exports__); 13332/* harmony import */ var _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loopCreate.js */ "./node_modules/swiper/core/loop/loopCreate.js"); 13333/* harmony import */ var _loopFix_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./loopFix.js */ "./node_modules/swiper/core/loop/loopFix.js"); 13334/* harmony import */ var _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./loopDestroy.js */ "./node_modules/swiper/core/loop/loopDestroy.js"); 13335 13336 13337 13338/* harmony default export */ __webpack_exports__["default"] = ({ 13339 loopCreate: _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"], 13340 loopFix: _loopFix_js__WEBPACK_IMPORTED_MODULE_1__["default"], 13341 loopDestroy: _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__["default"] 13342}); 13343 13344/***/ }), 13345
vendor: 3,160 bytes, lines 13346-13415
13346/***/ "./node_modules/swiper/core/loop/loopCreate.js": 13347/*!*****************************************************!*\ 13348 !*** ./node_modules/swiper/core/loop/loopCreate.js ***! 13349 \*****************************************************/ 13350/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13351 13352__webpack_require__.r(__webpack_exports__); 13353/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13354/* harmony export */ "default": function() { return /* binding */ loopCreate; } 13355/* harmony export */ }); 13356/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 13357/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 13358 13359 13360function loopCreate() { 13361 const swiper = this; 13362 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 13363 const { 13364 params, 13365 $wrapperEl 13366 } = swiper; // Remove duplicated slides 13367 13368 const $selector = $wrapperEl.children().length > 0 ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])($wrapperEl.children()[0].parentNode) : $wrapperEl; 13369 $selector.children(`.${params.slideClass}.${params.slideDuplicateClass}`).remove(); 13370 let slides = $selector.children(`.${params.slideClass}`); 13371 13372 if (params.loopFillGroupWithBlank) { 13373 const blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup; 13374 13375 if (blankSlidesNum !== params.slidesPerGroup) { 13376 for (let i = 0; i < blankSlidesNum; i += 1) { 13377 const blankNode = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(document.createElement('div')).addClass(`${params.slideClass} ${params.slideBlankClass}`); 13378 $selector.append(blankNode); 13379 } 13380 13381 slides = $selector.children(`.${params.slideClass}`); 13382 } 13383 } 13384 13385 if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length; 13386 swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10)); 13387 swiper.loopedSlides += params.loopAdditionalSlides; 13388 13389 if (swiper.loopedSlides > slides.length && swiper.params.loopedSlidesLimit) { 13390 swiper.loopedSlides = slides.length; 13391 } 13392 13393 const prependSlides = []; 13394 const appendSlides = []; 13395 slides.each((el, index) => { 13396 (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(el).attr('data-swiper-slide-index', index); 13397 }); 13398 13399 for (let i = 0; i < swiper.loopedSlides; i += 1) { 13400 const index = i - Math.floor(i / slides.length) * slides.length; 13401 appendSlides.push(slides.eq(index)[0]); 13402 prependSlides.unshift(slides.eq(slides.length - index - 1)[0]); 13403 } 13404 13405 for (let i = 0; i < appendSlides.length; i += 1) { 13406 $selector.append((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(appendSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass)); 13407 } 13408 13409 for (let i = prependSlides.length - 1; i >= 0; i -= 1) { 13410 $selector.prepend((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(prependSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass)); 13411 } 13412} 13413 13414/***/ }), 13415
vendor: 859 bytes, lines 13416-13438
13416/***/ "./node_modules/swiper/core/loop/loopDestroy.js": 13417/*!******************************************************!*\ 13418 !*** ./node_modules/swiper/core/loop/loopDestroy.js ***! 13419 \******************************************************/ 13420/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13421 13422__webpack_require__.r(__webpack_exports__); 13423/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13424/* harmony export */ "default": function() { return /* binding */ loopDestroy; } 13425/* harmony export */ }); 13426function loopDestroy() { 13427 const swiper = this; 13428 const { 13429 $wrapperEl, 13430 params, 13431 slides 13432 } = swiper; 13433 $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`).remove(); 13434 slides.removeAttr('data-swiper-slide-index'); 13435} 13436 13437/***/ }), 13438
vendor: 1,797 bytes, lines 13439-13492
13439/***/ "./node_modules/swiper/core/loop/loopFix.js": 13440/*!**************************************************!*\ 13441 !*** ./node_modules/swiper/core/loop/loopFix.js ***! 13442 \**************************************************/ 13443/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13444 13445__webpack_require__.r(__webpack_exports__); 13446/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13447/* harmony export */ "default": function() { return /* binding */ loopFix; } 13448/* harmony export */ }); 13449function loopFix() { 13450 const swiper = this; 13451 swiper.emit('beforeLoopFix'); 13452 const { 13453 activeIndex, 13454 slides, 13455 loopedSlides, 13456 allowSlidePrev, 13457 allowSlideNext, 13458 snapGrid, 13459 rtlTranslate: rtl 13460 } = swiper; 13461 let newIndex; 13462 swiper.allowSlidePrev = true; 13463 swiper.allowSlideNext = true; 13464 const snapTranslate = -snapGrid[activeIndex]; 13465 const diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding 13466 13467 if (activeIndex < loopedSlides) { 13468 newIndex = slides.length - loopedSlides * 3 + activeIndex; 13469 newIndex += loopedSlides; 13470 const slideChanged = swiper.slideTo(newIndex, 0, false, true); 13471 13472 if (slideChanged && diff !== 0) { 13473 swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff); 13474 } 13475 } else if (activeIndex >= slides.length - loopedSlides) { 13476 // Fix For Positive Oversliding 13477 newIndex = -slides.length + activeIndex + loopedSlides; 13478 newIndex += loopedSlides; 13479 const slideChanged = swiper.slideTo(newIndex, 0, false, true); 13480 13481 if (slideChanged && diff !== 0) { 13482 swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff); 13483 } 13484 } 13485 13486 swiper.allowSlidePrev = allowSlidePrev; 13487 swiper.allowSlideNext = allowSlideNext; 13488 swiper.emit('loopFix'); 13489} 13490 13491/***/ }), 13492
vendor: 1,971 bytes, lines 13493-13548
13493/***/ "./node_modules/swiper/core/moduleExtendParams.js": 13494/*!********************************************************!*\ 13495 !*** ./node_modules/swiper/core/moduleExtendParams.js ***! 13496 \********************************************************/ 13497/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13498 13499__webpack_require__.r(__webpack_exports__); 13500/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13501/* harmony export */ "default": function() { return /* binding */ moduleExtendParams; } 13502/* harmony export */ }); 13503/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 13504 13505function moduleExtendParams(params, allModulesParams) { 13506 return function extendParams(obj) { 13507 if (obj === void 0) { 13508 obj = {}; 13509 } 13510 13511 const moduleParamName = Object.keys(obj)[0]; 13512 const moduleParams = obj[moduleParamName]; 13513 13514 if (typeof moduleParams !== 'object' || moduleParams === null) { 13515 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj); 13516 return; 13517 } 13518 13519 if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) { 13520 params[moduleParamName] = { 13521 auto: true 13522 }; 13523 } 13524 13525 if (!(moduleParamName in params && 'enabled' in moduleParams)) { 13526 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj); 13527 return; 13528 } 13529 13530 if (params[moduleParamName] === true) { 13531 params[moduleParamName] = { 13532 enabled: true 13533 }; 13534 } 13535 13536 if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) { 13537 params[moduleParamName].enabled = true; 13538 } 13539 13540 if (!params[moduleParamName]) params[moduleParamName] = { 13541 enabled: false 13542 }; 13543 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj); 13544 }; 13545} 13546 13547/***/ }), 13548
vendor: 2,865 bytes, lines 13549-13642
13549/***/ "./node_modules/swiper/core/modules/observer/observer.js": 13550/*!***************************************************************!*\ 13551 !*** ./node_modules/swiper/core/modules/observer/observer.js ***! 13552 \***************************************************************/ 13553/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13554 13555__webpack_require__.r(__webpack_exports__); 13556/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13557/* harmony export */ "default": function() { return /* binding */ Observer; } 13558/* harmony export */ }); 13559/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 13560 13561function Observer(_ref) { 13562 let { 13563 swiper, 13564 extendParams, 13565 on, 13566 emit 13567 } = _ref; 13568 const observers = []; 13569 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 13570 13571 const attach = function (target, options) { 13572 if (options === void 0) { 13573 options = {}; 13574 } 13575 13576 const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver; 13577 const observer = new ObserverFunc(mutations => { 13578 // The observerUpdate event should only be triggered 13579 // once despite the number of mutations. Additional 13580 // triggers are redundant and are very costly 13581 if (mutations.length === 1) { 13582 emit('observerUpdate', mutations[0]); 13583 return; 13584 } 13585 13586 const observerUpdate = function observerUpdate() { 13587 emit('observerUpdate', mutations[0]); 13588 }; 13589 13590 if (window.requestAnimationFrame) { 13591 window.requestAnimationFrame(observerUpdate); 13592 } else { 13593 window.setTimeout(observerUpdate, 0); 13594 } 13595 }); 13596 observer.observe(target, { 13597 attributes: typeof options.attributes === 'undefined' ? true : options.attributes, 13598 childList: typeof options.childList === 'undefined' ? true : options.childList, 13599 characterData: typeof options.characterData === 'undefined' ? true : options.characterData 13600 }); 13601 observers.push(observer); 13602 }; 13603 13604 const init = () => { 13605 if (!swiper.params.observer) return; 13606 13607 if (swiper.params.observeParents) { 13608 const containerParents = swiper.$el.parents(); 13609 13610 for (let i = 0; i < containerParents.length; i += 1) { 13611 attach(containerParents[i]); 13612 } 13613 } // Observe container 13614 13615 13616 attach(swiper.$el[0], { 13617 childList: swiper.params.observeSlideChildren 13618 }); // Observe wrapper 13619 13620 attach(swiper.$wrapperEl[0], { 13621 attributes: false 13622 }); 13623 }; 13624 13625 const destroy = () => { 13626 observers.forEach(observer => { 13627 observer.disconnect(); 13628 }); 13629 observers.splice(0, observers.length); 13630 }; 13631 13632 extendParams({ 13633 observer: false, 13634 observeParents: false, 13635 observeSlideChildren: false 13636 }); 13637 on('init', init); 13638 on('destroy', destroy); 13639} 13640 13641/***/ }), 13642
vendor: 2,870 bytes, lines 13643-13733
13643/***/ "./node_modules/swiper/core/modules/resize/resize.js": 13644/*!***********************************************************!*\ 13645 !*** ./node_modules/swiper/core/modules/resize/resize.js ***! 13646 \***********************************************************/ 13647/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13648 13649__webpack_require__.r(__webpack_exports__); 13650/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13651/* harmony export */ "default": function() { return /* binding */ Resize; } 13652/* harmony export */ }); 13653/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 13654 13655function Resize(_ref) { 13656 let { 13657 swiper, 13658 on, 13659 emit 13660 } = _ref; 13661 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 13662 let observer = null; 13663 let animationFrame = null; 13664 13665 const resizeHandler = () => { 13666 if (!swiper || swiper.destroyed || !swiper.initialized) return; 13667 emit('beforeResize'); 13668 emit('resize'); 13669 }; 13670 13671 const createObserver = () => { 13672 if (!swiper || swiper.destroyed || !swiper.initialized) return; 13673 observer = new ResizeObserver(entries => { 13674 animationFrame = window.requestAnimationFrame(() => { 13675 const { 13676 width, 13677 height 13678 } = swiper; 13679 let newWidth = width; 13680 let newHeight = height; 13681 entries.forEach(_ref2 => { 13682 let { 13683 contentBoxSize, 13684 contentRect, 13685 target 13686 } = _ref2; 13687 if (target && target !== swiper.el) return; 13688 newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize; 13689 newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize; 13690 }); 13691 13692 if (newWidth !== width || newHeight !== height) { 13693 resizeHandler(); 13694 } 13695 }); 13696 }); 13697 observer.observe(swiper.el); 13698 }; 13699 13700 const removeObserver = () => { 13701 if (animationFrame) { 13702 window.cancelAnimationFrame(animationFrame); 13703 } 13704 13705 if (observer && observer.unobserve && swiper.el) { 13706 observer.unobserve(swiper.el); 13707 observer = null; 13708 } 13709 }; 13710 13711 const orientationChangeHandler = () => { 13712 if (!swiper || swiper.destroyed || !swiper.initialized) return; 13713 emit('orientationchange'); 13714 }; 13715 13716 on('init', () => { 13717 if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') { 13718 createObserver(); 13719 return; 13720 } 13721 13722 window.addEventListener('resize', resizeHandler); 13723 window.addEventListener('orientationchange', orientationChangeHandler); 13724 }); 13725 on('destroy', () => { 13726 removeObserver(); 13727 window.removeEventListener('resize', resizeHandler); 13728 window.removeEventListener('orientationchange', orientationChangeHandler); 13729 }); 13730} 13731 13732/***/ }), 13733
vendor: 2,134 bytes, lines 13734-13766
13734/***/ "./node_modules/swiper/core/slide/index.js": 13735/*!*************************************************!*\ 13736 !*** ./node_modules/swiper/core/slide/index.js ***! 13737 \*************************************************/ 13738/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13739 13740__webpack_require__.r(__webpack_exports__); 13741/* harmony import */ var _slideTo_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slideTo.js */ "./node_modules/swiper/core/slide/slideTo.js"); 13742/* harmony import */ var _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slideToLoop.js */ "./node_modules/swiper/core/slide/slideToLoop.js"); 13743/* harmony import */ var _slideNext_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slideNext.js */ "./node_modules/swiper/core/slide/slideNext.js"); 13744/* harmony import */ var _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slidePrev.js */ "./node_modules/swiper/core/slide/slidePrev.js"); 13745/* harmony import */ var _slideReset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./slideReset.js */ "./node_modules/swiper/core/slide/slideReset.js"); 13746/* harmony import */ var _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./slideToClosest.js */ "./node_modules/swiper/core/slide/slideToClosest.js"); 13747/* harmony import */ var _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./slideToClickedSlide.js */ "./node_modules/swiper/core/slide/slideToClickedSlide.js"); 13748 13749 13750 13751 13752 13753 13754 13755/* harmony default export */ __webpack_exports__["default"] = ({ 13756 slideTo: _slideTo_js__WEBPACK_IMPORTED_MODULE_0__["default"], 13757 slideToLoop: _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__["default"], 13758 slideNext: _slideNext_js__WEBPACK_IMPORTED_MODULE_2__["default"], 13759 slidePrev: _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__["default"], 13760 slideReset: _slideReset_js__WEBPACK_IMPORTED_MODULE_4__["default"], 13761 slideToClosest: _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__["default"], 13762 slideToClickedSlide: _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__["default"] 13763}); 13764 13765/***/ }), 13766
vendor: 1,582 bytes, lines 13767-13817
13767/***/ "./node_modules/swiper/core/slide/slideNext.js": 13768/*!*****************************************************!*\ 13769 !*** ./node_modules/swiper/core/slide/slideNext.js ***! 13770 \*****************************************************/ 13771/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13772 13773__webpack_require__.r(__webpack_exports__); 13774/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13775/* harmony export */ "default": function() { return /* binding */ slideNext; } 13776/* harmony export */ }); 13777/* eslint no-unused-vars: "off" */ 13778function slideNext(speed, runCallbacks, internal) { 13779 if (speed === void 0) { 13780 speed = this.params.speed; 13781 } 13782 13783 if (runCallbacks === void 0) { 13784 runCallbacks = true; 13785 } 13786 13787 const swiper = this; 13788 const { 13789 animating, 13790 enabled, 13791 params 13792 } = swiper; 13793 if (!enabled) return swiper; 13794 let perGroup = params.slidesPerGroup; 13795 13796 if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { 13797 perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1); 13798 } 13799 13800 const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup; 13801 13802 if (params.loop) { 13803 if (animating && params.loopPreventsSlide) return false; 13804 swiper.loopFix(); // eslint-disable-next-line 13805 13806 swiper._clientLeft = swiper.$wrapperEl[0].clientLeft; 13807 } 13808 13809 if (params.rewind && swiper.isEnd) { 13810 return swiper.slideTo(0, speed, runCallbacks, internal); 13811 } 13812 13813 return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal); 13814} 13815 13816/***/ }), 13817
vendor: 2,657 bytes, lines 13818-13902
13818/***/ "./node_modules/swiper/core/slide/slidePrev.js": 13819/*!*****************************************************!*\ 13820 !*** ./node_modules/swiper/core/slide/slidePrev.js ***! 13821 \*****************************************************/ 13822/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13823 13824__webpack_require__.r(__webpack_exports__); 13825/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13826/* harmony export */ "default": function() { return /* binding */ slidePrev; } 13827/* harmony export */ }); 13828/* eslint no-unused-vars: "off" */ 13829function slidePrev(speed, runCallbacks, internal) { 13830 if (speed === void 0) { 13831 speed = this.params.speed; 13832 } 13833 13834 if (runCallbacks === void 0) { 13835 runCallbacks = true; 13836 } 13837 13838 const swiper = this; 13839 const { 13840 params, 13841 animating, 13842 snapGrid, 13843 slidesGrid, 13844 rtlTranslate, 13845 enabled 13846 } = swiper; 13847 if (!enabled) return swiper; 13848 13849 if (params.loop) { 13850 if (animating && params.loopPreventsSlide) return false; 13851 swiper.loopFix(); // eslint-disable-next-line 13852 13853 swiper._clientLeft = swiper.$wrapperEl[0].clientLeft; 13854 } 13855 13856 const translate = rtlTranslate ? swiper.translate : -swiper.translate; 13857 13858 function normalize(val) { 13859 if (val < 0) return -Math.floor(Math.abs(val)); 13860 return Math.floor(val); 13861 } 13862 13863 const normalizedTranslate = normalize(translate); 13864 const normalizedSnapGrid = snapGrid.map(val => normalize(val)); 13865 let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1]; 13866 13867 if (typeof prevSnap === 'undefined' && params.cssMode) { 13868 let prevSnapIndex; 13869 snapGrid.forEach((snap, snapIndex) => { 13870 if (normalizedTranslate >= snap) { 13871 // prevSnap = snap; 13872 prevSnapIndex = snapIndex; 13873 } 13874 }); 13875 13876 if (typeof prevSnapIndex !== 'undefined') { 13877 prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex]; 13878 } 13879 } 13880 13881 let prevIndex = 0; 13882 13883 if (typeof prevSnap !== 'undefined') { 13884 prevIndex = slidesGrid.indexOf(prevSnap); 13885 if (prevIndex < 0) prevIndex = swiper.activeIndex - 1; 13886 13887 if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) { 13888 prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1; 13889 prevIndex = Math.max(prevIndex, 0); 13890 } 13891 } 13892 13893 if (params.rewind && swiper.isBeginning) { 13894 const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1; 13895 return swiper.slideTo(lastIndex, speed, runCallbacks, internal); 13896 } 13897 13898 return swiper.slideTo(prevIndex, speed, runCallbacks, internal); 13899} 13900 13901/***/ }), 13902
vendor: 876 bytes, lines 13903-13928
13903/***/ "./node_modules/swiper/core/slide/slideReset.js": 13904/*!******************************************************!*\ 13905 !*** ./node_modules/swiper/core/slide/slideReset.js ***! 13906 \******************************************************/ 13907/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13908 13909__webpack_require__.r(__webpack_exports__); 13910/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13911/* harmony export */ "default": function() { return /* binding */ slideReset; } 13912/* harmony export */ }); 13913/* eslint no-unused-vars: "off" */ 13914function slideReset(speed, runCallbacks, internal) { 13915 if (speed === void 0) { 13916 speed = this.params.speed; 13917 } 13918 13919 if (runCallbacks === void 0) { 13920 runCallbacks = true; 13921 } 13922 13923 const swiper = this; 13924 return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal); 13925} 13926 13927/***/ }), 13928
vendor: 6,660 bytes, lines 13929-14135
13929/***/ "./node_modules/swiper/core/slide/slideTo.js": 13930/*!***************************************************!*\ 13931 !*** ./node_modules/swiper/core/slide/slideTo.js ***! 13932 \***************************************************/ 13933/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 13934 13935__webpack_require__.r(__webpack_exports__); 13936/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13937/* harmony export */ "default": function() { return /* binding */ slideTo; } 13938/* harmony export */ }); 13939/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 13940 13941function slideTo(index, speed, runCallbacks, internal, initial) { 13942 if (index === void 0) { 13943 index = 0; 13944 } 13945 13946 if (speed === void 0) { 13947 speed = this.params.speed; 13948 } 13949 13950 if (runCallbacks === void 0) { 13951 runCallbacks = true; 13952 } 13953 13954 if (typeof index !== 'number' && typeof index !== 'string') { 13955 throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof index}] given.`); 13956 } 13957 13958 if (typeof index === 'string') { 13959 /** 13960 * The `index` argument converted from `string` to `number`. 13961 * @type {number} 13962 */ 13963 const indexAsNumber = parseInt(index, 10); 13964 /** 13965 * Determines whether the `index` argument is a valid `number` 13966 * after being converted from the `string` type. 13967 * @type {boolean} 13968 */ 13969 13970 const isValidNumber = isFinite(indexAsNumber); 13971 13972 if (!isValidNumber) { 13973 throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`); 13974 } // Knowing that the converted `index` is a valid number, 13975 // we can update the original argument's value. 13976 13977 13978 index = indexAsNumber; 13979 } 13980 13981 const swiper = this; 13982 let slideIndex = index; 13983 if (slideIndex < 0) slideIndex = 0; 13984 const { 13985 params, 13986 snapGrid, 13987 slidesGrid, 13988 previousIndex, 13989 activeIndex, 13990 rtlTranslate: rtl, 13991 wrapperEl, 13992 enabled 13993 } = swiper; 13994 13995 if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) { 13996 return false; 13997 } 13998 13999 const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex); 14000 let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup); 14001 if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; 14002 14003 if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) { 14004 swiper.emit('beforeSlideChangeStart'); 14005 } 14006 14007 const translate = -snapGrid[snapIndex]; // Update progress 14008 14009 swiper.updateProgress(translate); // Normalize slideIndex 14010 14011 if (params.normalizeSlideIndex) { 14012 for (let i = 0; i < slidesGrid.length; i += 1) { 14013 const normalizedTranslate = -Math.floor(translate * 100); 14014 const normalizedGrid = Math.floor(slidesGrid[i] * 100); 14015 const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100); 14016 14017 if (typeof slidesGrid[i + 1] !== 'undefined') { 14018 if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) { 14019 slideIndex = i; 14020 } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) { 14021 slideIndex = i + 1; 14022 } 14023 } else if (normalizedTranslate >= normalizedGrid) { 14024 slideIndex = i; 14025 } 14026 } 14027 } // Directions locks 14028 14029 14030 if (swiper.initialized && slideIndex !== activeIndex) { 14031 if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) { 14032 return false; 14033 } 14034 14035 if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) { 14036 if ((activeIndex || 0) !== slideIndex) return false; 14037 } 14038 } 14039 14040 let direction; 14041 if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index 14042 14043 if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) { 14044 swiper.updateActiveIndex(slideIndex); // Update Height 14045 14046 if (params.autoHeight) { 14047 swiper.updateAutoHeight(); 14048 } 14049 14050 swiper.updateSlidesClasses(); 14051 14052 if (params.effect !== 'slide') { 14053 swiper.setTranslate(translate); 14054 } 14055 14056 if (direction !== 'reset') { 14057 swiper.transitionStart(runCallbacks, direction); 14058 swiper.transitionEnd(runCallbacks, direction); 14059 } 14060 14061 return false; 14062 } 14063 14064 if (params.cssMode) { 14065 const isH = swiper.isHorizontal(); 14066 const t = rtl ? translate : -translate; 14067 14068 if (speed === 0) { 14069 const isVirtual = swiper.virtual && swiper.params.virtual.enabled; 14070 14071 if (isVirtual) { 14072 swiper.wrapperEl.style.scrollSnapType = 'none'; 14073 swiper._immediateVirtual = true; 14074 } 14075 14076 wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t; 14077 14078 if (isVirtual) { 14079 requestAnimationFrame(() => { 14080 swiper.wrapperEl.style.scrollSnapType = ''; 14081 swiper._swiperImmediateVirtual = false; 14082 }); 14083 } 14084 } else { 14085 if (!swiper.support.smoothScroll) { 14086 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({ 14087 swiper, 14088 targetPosition: t, 14089 side: isH ? 'left' : 'top' 14090 }); 14091 return true; 14092 } 14093 14094 wrapperEl.scrollTo({ 14095 [isH ? 'left' : 'top']: t, 14096 behavior: 'smooth' 14097 }); 14098 } 14099 14100 return true; 14101 } 14102 14103 swiper.setTransition(speed); 14104 swiper.setTranslate(translate); 14105 swiper.updateActiveIndex(slideIndex); 14106 swiper.updateSlidesClasses(); 14107 swiper.emit('beforeTransitionStart', speed, internal); 14108 swiper.transitionStart(runCallbacks, direction); 14109 14110 if (speed === 0) { 14111 swiper.transitionEnd(runCallbacks, direction); 14112 } else if (!swiper.animating) { 14113 swiper.animating = true; 14114 14115 if (!swiper.onSlideToWrapperTransitionEnd) { 14116 swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) { 14117 if (!swiper || swiper.destroyed) return; 14118 if (e.target !== this) return; 14119 swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); 14120 swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd); 14121 swiper.onSlideToWrapperTransitionEnd = null; 14122 delete swiper.onSlideToWrapperTransitionEnd; 14123 swiper.transitionEnd(runCallbacks, direction); 14124 }; 14125 } 14126 14127 swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd); 14128 swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd); 14129 } 14130 14131 return true; 14132} 14133 14134/***/ }), 14135
vendor: 2,442 bytes, lines 14136-14189
14136/***/ "./node_modules/swiper/core/slide/slideToClickedSlide.js": 14137/*!***************************************************************!*\ 14138 !*** ./node_modules/swiper/core/slide/slideToClickedSlide.js ***! 14139 \***************************************************************/ 14140/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14141 14142__webpack_require__.r(__webpack_exports__); 14143/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14144/* harmony export */ "default": function() { return /* binding */ slideToClickedSlide; } 14145/* harmony export */ }); 14146/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 14147/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 14148 14149 14150function slideToClickedSlide() { 14151 const swiper = this; 14152 const { 14153 params, 14154 $wrapperEl 14155 } = swiper; 14156 const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView; 14157 let slideToIndex = swiper.clickedIndex; 14158 let realIndex; 14159 14160 if (params.loop) { 14161 if (swiper.animating) return; 14162 realIndex = parseInt((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.clickedSlide).attr('data-swiper-slide-index'), 10); 14163 14164 if (params.centeredSlides) { 14165 if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) { 14166 swiper.loopFix(); 14167 slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`).eq(0).index(); 14168 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => { 14169 swiper.slideTo(slideToIndex); 14170 }); 14171 } else { 14172 swiper.slideTo(slideToIndex); 14173 } 14174 } else if (slideToIndex > swiper.slides.length - slidesPerView) { 14175 swiper.loopFix(); 14176 slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`).eq(0).index(); 14177 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => { 14178 swiper.slideTo(slideToIndex); 14179 }); 14180 } else { 14181 swiper.slideTo(slideToIndex); 14182 } 14183 } else { 14184 swiper.slideTo(slideToIndex); 14185 } 14186} 14187 14188/***/ }), 14189
vendor: 2,109 bytes, lines 14190-14246
14190/***/ "./node_modules/swiper/core/slide/slideToClosest.js": 14191/*!**********************************************************!*\ 14192 !*** ./node_modules/swiper/core/slide/slideToClosest.js ***! 14193 \**********************************************************/ 14194/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14195 14196__webpack_require__.r(__webpack_exports__); 14197/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14198/* harmony export */ "default": function() { return /* binding */ slideToClosest; } 14199/* harmony export */ }); 14200/* eslint no-unused-vars: "off" */ 14201function slideToClosest(speed, runCallbacks, internal, threshold) { 14202 if (speed === void 0) { 14203 speed = this.params.speed; 14204 } 14205 14206 if (runCallbacks === void 0) { 14207 runCallbacks = true; 14208 } 14209 14210 if (threshold === void 0) { 14211 threshold = 0.5; 14212 } 14213 14214 const swiper = this; 14215 let index = swiper.activeIndex; 14216 const skip = Math.min(swiper.params.slidesPerGroupSkip, index); 14217 const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup); 14218 const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; 14219 14220 if (translate >= swiper.snapGrid[snapIndex]) { 14221 // The current translate is on or after the current snap index, so the choice 14222 // is between the current index and the one after it. 14223 const currentSnap = swiper.snapGrid[snapIndex]; 14224 const nextSnap = swiper.snapGrid[snapIndex + 1]; 14225 14226 if (translate - currentSnap > (nextSnap - currentSnap) * threshold) { 14227 index += swiper.params.slidesPerGroup; 14228 } 14229 } else { 14230 // The current translate is before the current snap index, so the choice 14231 // is between the current index and the one before it. 14232 const prevSnap = swiper.snapGrid[snapIndex - 1]; 14233 const currentSnap = swiper.snapGrid[snapIndex]; 14234 14235 if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) { 14236 index -= swiper.params.slidesPerGroup; 14237 } 14238 } 14239 14240 index = Math.max(index, 0); 14241 index = Math.min(index, swiper.slidesGrid.length - 1); 14242 return swiper.slideTo(index, speed, runCallbacks, internal); 14243} 14244 14245/***/ }), 14246
vendor: 1,667 bytes, lines 14247-14304
14247/***/ "./node_modules/swiper/core/slide/slideToLoop.js": 14248/*!*******************************************************!*\ 14249 !*** ./node_modules/swiper/core/slide/slideToLoop.js ***! 14250 \*******************************************************/ 14251/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14252 14253__webpack_require__.r(__webpack_exports__); 14254/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14255/* harmony export */ "default": function() { return /* binding */ slideToLoop; } 14256/* harmony export */ }); 14257function slideToLoop(index, speed, runCallbacks, internal) { 14258 if (index === void 0) { 14259 index = 0; 14260 } 14261 14262 if (speed === void 0) { 14263 speed = this.params.speed; 14264 } 14265 14266 if (runCallbacks === void 0) { 14267 runCallbacks = true; 14268 } 14269 14270 if (typeof index === 'string') { 14271 /** 14272 * The `index` argument converted from `string` to `number`. 14273 * @type {number} 14274 */ 14275 const indexAsNumber = parseInt(index, 10); 14276 /** 14277 * Determines whether the `index` argument is a valid `number` 14278 * after being converted from the `string` type. 14279 * @type {boolean} 14280 */ 14281 14282 const isValidNumber = isFinite(indexAsNumber); 14283 14284 if (!isValidNumber) { 14285 throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`); 14286 } // Knowing that the converted `index` is a valid number, 14287 // we can update the original argument's value. 14288 14289 14290 index = indexAsNumber; 14291 } 14292 14293 const swiper = this; 14294 let newIndex = index; 14295 14296 if (swiper.params.loop) { 14297 newIndex += swiper.loopedSlides; 14298 } 14299 14300 return swiper.slideTo(newIndex, speed, runCallbacks, internal); 14301} 14302 14303/***/ }), 14304
vendor: 1,235 bytes, lines 14305-14325
14305/***/ "./node_modules/swiper/core/transition/index.js": 14306/*!******************************************************!*\ 14307 !*** ./node_modules/swiper/core/transition/index.js ***! 14308 \******************************************************/ 14309/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14310 14311__webpack_require__.r(__webpack_exports__); 14312/* harmony import */ var _setTransition_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setTransition.js */ "./node_modules/swiper/core/transition/setTransition.js"); 14313/* harmony import */ var _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitionStart.js */ "./node_modules/swiper/core/transition/transitionStart.js"); 14314/* harmony import */ var _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transitionEnd.js */ "./node_modules/swiper/core/transition/transitionEnd.js"); 14315 14316 14317 14318/* harmony default export */ __webpack_exports__["default"] = ({ 14319 setTransition: _setTransition_js__WEBPACK_IMPORTED_MODULE_0__["default"], 14320 transitionStart: _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__["default"], 14321 transitionEnd: _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__["default"] 14322}); 14323 14324/***/ }), 14325
vendor: 809 bytes, lines 14326-14347
14326/***/ "./node_modules/swiper/core/transition/setTransition.js": 14327/*!**************************************************************!*\ 14328 !*** ./node_modules/swiper/core/transition/setTransition.js ***! 14329 \**************************************************************/ 14330/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14331 14332__webpack_require__.r(__webpack_exports__); 14333/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14334/* harmony export */ "default": function() { return /* binding */ setTransition; } 14335/* harmony export */ }); 14336function setTransition(duration, byController) { 14337 const swiper = this; 14338 14339 if (!swiper.params.cssMode) { 14340 swiper.$wrapperEl.transition(duration); 14341 } 14342 14343 swiper.emit('setTransition', duration, byController); 14344} 14345 14346/***/ }), 14347
vendor: 1,320 bytes, lines 14348-14394
14348/***/ "./node_modules/swiper/core/transition/transitionEmit.js": 14349/*!***************************************************************!*\ 14350 !*** ./node_modules/swiper/core/transition/transitionEmit.js ***! 14351 \***************************************************************/ 14352/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14353 14354__webpack_require__.r(__webpack_exports__); 14355/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14356/* harmony export */ "default": function() { return /* binding */ transitionEmit; } 14357/* harmony export */ }); 14358function transitionEmit(_ref) { 14359 let { 14360 swiper, 14361 runCallbacks, 14362 direction, 14363 step 14364 } = _ref; 14365 const { 14366 activeIndex, 14367 previousIndex 14368 } = swiper; 14369 let dir = direction; 14370 14371 if (!dir) { 14372 if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset'; 14373 } 14374 14375 swiper.emit(`transition${step}`); 14376 14377 if (runCallbacks && activeIndex !== previousIndex) { 14378 if (dir === 'reset') { 14379 swiper.emit(`slideResetTransition${step}`); 14380 return; 14381 } 14382 14383 swiper.emit(`slideChangeTransition${step}`); 14384 14385 if (dir === 'next') { 14386 swiper.emit(`slideNextTransition${step}`); 14387 } else { 14388 swiper.emit(`slidePrevTransition${step}`); 14389 } 14390 } 14391} 14392 14393/***/ }), 14394
vendor: 1,172 bytes, lines 14395-14428
14395/***/ "./node_modules/swiper/core/transition/transitionEnd.js": 14396/*!**************************************************************!*\ 14397 !*** ./node_modules/swiper/core/transition/transitionEnd.js ***! 14398 \**************************************************************/ 14399/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14400 14401__webpack_require__.r(__webpack_exports__); 14402/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14403/* harmony export */ "default": function() { return /* binding */ transitionEnd; } 14404/* harmony export */ }); 14405/* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ "./node_modules/swiper/core/transition/transitionEmit.js"); 14406 14407function transitionEnd(runCallbacks, direction) { 14408 if (runCallbacks === void 0) { 14409 runCallbacks = true; 14410 } 14411 14412 const swiper = this; 14413 const { 14414 params 14415 } = swiper; 14416 swiper.animating = false; 14417 if (params.cssMode) return; 14418 swiper.setTransition(0); 14419 (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__["default"])({ 14420 swiper, 14421 runCallbacks, 14422 direction, 14423 step: 'End' 14424 }); 14425} 14426 14427/***/ }), 14428
vendor: 1,195 bytes, lines 14429-14465
14429/***/ "./node_modules/swiper/core/transition/transitionStart.js": 14430/*!****************************************************************!*\ 14431 !*** ./node_modules/swiper/core/transition/transitionStart.js ***! 14432 \****************************************************************/ 14433/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14434 14435__webpack_require__.r(__webpack_exports__); 14436/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14437/* harmony export */ "default": function() { return /* binding */ transitionStart; } 14438/* harmony export */ }); 14439/* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ "./node_modules/swiper/core/transition/transitionEmit.js"); 14440 14441function transitionStart(runCallbacks, direction) { 14442 if (runCallbacks === void 0) { 14443 runCallbacks = true; 14444 } 14445 14446 const swiper = this; 14447 const { 14448 params 14449 } = swiper; 14450 if (params.cssMode) return; 14451 14452 if (params.autoHeight) { 14453 swiper.updateAutoHeight(); 14454 } 14455 14456 (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__["default"])({ 14457 swiper, 14458 runCallbacks, 14459 direction, 14460 step: 'Start' 14461 }); 14462} 14463 14464/***/ }), 14465
vendor: 1,305 bytes, lines 14466-14505
14466/***/ "./node_modules/swiper/core/translate/getTranslate.js": 14467/*!************************************************************!*\ 14468 !*** ./node_modules/swiper/core/translate/getTranslate.js ***! 14469 \************************************************************/ 14470/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14471 14472__webpack_require__.r(__webpack_exports__); 14473/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14474/* harmony export */ "default": function() { return /* binding */ getSwiperTranslate; } 14475/* harmony export */ }); 14476/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 14477 14478function getSwiperTranslate(axis) { 14479 if (axis === void 0) { 14480 axis = this.isHorizontal() ? 'x' : 'y'; 14481 } 14482 14483 const swiper = this; 14484 const { 14485 params, 14486 rtlTranslate: rtl, 14487 translate, 14488 $wrapperEl 14489 } = swiper; 14490 14491 if (params.virtualTranslate) { 14492 return rtl ? -translate : translate; 14493 } 14494 14495 if (params.cssMode) { 14496 return translate; 14497 } 14498 14499 let currentTranslate = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.getTranslate)($wrapperEl[0], axis); 14500 if (rtl) currentTranslate = -currentTranslate; 14501 return currentTranslate || 0; 14502} 14503 14504/***/ }), 14505
vendor: 1,698 bytes, lines 14506-14532
14506/***/ "./node_modules/swiper/core/translate/index.js": 14507/*!*****************************************************!*\ 14508 !*** ./node_modules/swiper/core/translate/index.js ***! 14509 \*****************************************************/ 14510/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14511 14512__webpack_require__.r(__webpack_exports__); 14513/* harmony import */ var _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getTranslate.js */ "./node_modules/swiper/core/translate/getTranslate.js"); 14514/* harmony import */ var _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setTranslate.js */ "./node_modules/swiper/core/translate/setTranslate.js"); 14515/* harmony import */ var _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./minTranslate.js */ "./node_modules/swiper/core/translate/minTranslate.js"); 14516/* harmony import */ var _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./maxTranslate.js */ "./node_modules/swiper/core/translate/maxTranslate.js"); 14517/* harmony import */ var _translateTo_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./translateTo.js */ "./node_modules/swiper/core/translate/translateTo.js"); 14518 14519 14520 14521 14522 14523/* harmony default export */ __webpack_exports__["default"] = ({ 14524 getTranslate: _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__["default"], 14525 setTranslate: _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__["default"], 14526 minTranslate: _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__["default"], 14527 maxTranslate: _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__["default"], 14528 translateTo: _translateTo_js__WEBPACK_IMPORTED_MODULE_4__["default"] 14529}); 14530 14531/***/ }), 14532
vendor: 667 bytes, lines 14533-14548
14533/***/ "./node_modules/swiper/core/translate/maxTranslate.js": 14534/*!************************************************************!*\ 14535 !*** ./node_modules/swiper/core/translate/maxTranslate.js ***! 14536 \************************************************************/ 14537/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14538 14539__webpack_require__.r(__webpack_exports__); 14540/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14541/* harmony export */ "default": function() { return /* binding */ maxTranslate; } 14542/* harmony export */ }); 14543function maxTranslate() { 14544 return -this.snapGrid[this.snapGrid.length - 1]; 14545} 14546 14547/***/ }), 14548
vendor: 644 bytes, lines 14549-14564
14549/***/ "./node_modules/swiper/core/translate/minTranslate.js": 14550/*!************************************************************!*\ 14551 !*** ./node_modules/swiper/core/translate/minTranslate.js ***! 14552 \************************************************************/ 14553/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14554 14555__webpack_require__.r(__webpack_exports__); 14556/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14557/* harmony export */ "default": function() { return /* binding */ minTranslate; } 14558/* harmony export */ }); 14559function minTranslate() { 14560 return -this.snapGrid[0]; 14561} 14562 14563/***/ }), 14564
vendor: 1,737 bytes, lines 14565-14625
14565/***/ "./node_modules/swiper/core/translate/setTranslate.js": 14566/*!************************************************************!*\ 14567 !*** ./node_modules/swiper/core/translate/setTranslate.js ***! 14568 \************************************************************/ 14569/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14570 14571__webpack_require__.r(__webpack_exports__); 14572/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14573/* harmony export */ "default": function() { return /* binding */ setTranslate; } 14574/* harmony export */ }); 14575function setTranslate(translate, byController) { 14576 const swiper = this; 14577 const { 14578 rtlTranslate: rtl, 14579 params, 14580 $wrapperEl, 14581 wrapperEl, 14582 progress 14583 } = swiper; 14584 let x = 0; 14585 let y = 0; 14586 const z = 0; 14587 14588 if (swiper.isHorizontal()) { 14589 x = rtl ? -translate : translate; 14590 } else { 14591 y = translate; 14592 } 14593 14594 if (params.roundLengths) { 14595 x = Math.floor(x); 14596 y = Math.floor(y); 14597 } 14598 14599 if (params.cssMode) { 14600 wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y; 14601 } else if (!params.virtualTranslate) { 14602 $wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`); 14603 } 14604 14605 swiper.previousTranslate = swiper.translate; 14606 swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress 14607 14608 let newProgress; 14609 const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); 14610 14611 if (translatesDiff === 0) { 14612 newProgress = 0; 14613 } else { 14614 newProgress = (translate - swiper.minTranslate()) / translatesDiff; 14615 } 14616 14617 if (newProgress !== progress) { 14618 swiper.updateProgress(translate); 14619 } 14620 14621 swiper.emit('setTranslate', swiper.translate, byController); 14622} 14623 14624/***/ }), 14625
vendor: 3,585 bytes, lines 14626-14740
14626/***/ "./node_modules/swiper/core/translate/translateTo.js": 14627/*!***********************************************************!*\ 14628 !*** ./node_modules/swiper/core/translate/translateTo.js ***! 14629 \***********************************************************/ 14630/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14631 14632__webpack_require__.r(__webpack_exports__); 14633/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14634/* harmony export */ "default": function() { return /* binding */ translateTo; } 14635/* harmony export */ }); 14636/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 14637 14638function translateTo(translate, speed, runCallbacks, translateBounds, internal) { 14639 if (translate === void 0) { 14640 translate = 0; 14641 } 14642 14643 if (speed === void 0) { 14644 speed = this.params.speed; 14645 } 14646 14647 if (runCallbacks === void 0) { 14648 runCallbacks = true; 14649 } 14650 14651 if (translateBounds === void 0) { 14652 translateBounds = true; 14653 } 14654 14655 const swiper = this; 14656 const { 14657 params, 14658 wrapperEl 14659 } = swiper; 14660 14661 if (swiper.animating && params.preventInteractionOnTransition) { 14662 return false; 14663 } 14664 14665 const minTranslate = swiper.minTranslate(); 14666 const maxTranslate = swiper.maxTranslate(); 14667 let newTranslate; 14668 if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress 14669 14670 swiper.updateProgress(newTranslate); 14671 14672 if (params.cssMode) { 14673 const isH = swiper.isHorizontal(); 14674 14675 if (speed === 0) { 14676 wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate; 14677 } else { 14678 if (!swiper.support.smoothScroll) { 14679 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({ 14680 swiper, 14681 targetPosition: -newTranslate, 14682 side: isH ? 'left' : 'top' 14683 }); 14684 return true; 14685 } 14686 14687 wrapperEl.scrollTo({ 14688 [isH ? 'left' : 'top']: -newTranslate, 14689 behavior: 'smooth' 14690 }); 14691 } 14692 14693 return true; 14694 } 14695 14696 if (speed === 0) { 14697 swiper.setTransition(0); 14698 swiper.setTranslate(newTranslate); 14699 14700 if (runCallbacks) { 14701 swiper.emit('beforeTransitionStart', speed, internal); 14702 swiper.emit('transitionEnd'); 14703 } 14704 } else { 14705 swiper.setTransition(speed); 14706 swiper.setTranslate(newTranslate); 14707 14708 if (runCallbacks) { 14709 swiper.emit('beforeTransitionStart', speed, internal); 14710 swiper.emit('transitionStart'); 14711 } 14712 14713 if (!swiper.animating) { 14714 swiper.animating = true; 14715 14716 if (!swiper.onTranslateToWrapperTransitionEnd) { 14717 swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) { 14718 if (!swiper || swiper.destroyed) return; 14719 if (e.target !== this) return; 14720 swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); 14721 swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd); 14722 swiper.onTranslateToWrapperTransitionEnd = null; 14723 delete swiper.onTranslateToWrapperTransitionEnd; 14724 14725 if (runCallbacks) { 14726 swiper.emit('transitionEnd'); 14727 } 14728 }; 14729 } 14730 14731 swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd); 14732 swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd); 14733 } 14734 } 14735 14736 return true; 14737} 14738 14739/***/ }), 14740
vendor: 2,844 bytes, lines 14741-14779
14741/***/ "./node_modules/swiper/core/update/index.js": 14742/*!**************************************************!*\ 14743 !*** ./node_modules/swiper/core/update/index.js ***! 14744 \**************************************************/ 14745/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14746 14747__webpack_require__.r(__webpack_exports__); 14748/* harmony import */ var _updateSize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./updateSize.js */ "./node_modules/swiper/core/update/updateSize.js"); 14749/* harmony import */ var _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./updateSlides.js */ "./node_modules/swiper/core/update/updateSlides.js"); 14750/* harmony import */ var _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./updateAutoHeight.js */ "./node_modules/swiper/core/update/updateAutoHeight.js"); 14751/* harmony import */ var _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./updateSlidesOffset.js */ "./node_modules/swiper/core/update/updateSlidesOffset.js"); 14752/* harmony import */ var _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./updateSlidesProgress.js */ "./node_modules/swiper/core/update/updateSlidesProgress.js"); 14753/* harmony import */ var _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./updateProgress.js */ "./node_modules/swiper/core/update/updateProgress.js"); 14754/* harmony import */ var _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./updateSlidesClasses.js */ "./node_modules/swiper/core/update/updateSlidesClasses.js"); 14755/* harmony import */ var _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./updateActiveIndex.js */ "./node_modules/swiper/core/update/updateActiveIndex.js"); 14756/* harmony import */ var _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./updateClickedSlide.js */ "./node_modules/swiper/core/update/updateClickedSlide.js"); 14757 14758 14759 14760 14761 14762 14763 14764 14765 14766/* harmony default export */ __webpack_exports__["default"] = ({ 14767 updateSize: _updateSize_js__WEBPACK_IMPORTED_MODULE_0__["default"], 14768 updateSlides: _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__["default"], 14769 updateAutoHeight: _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__["default"], 14770 updateSlidesOffset: _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__["default"], 14771 updateSlidesProgress: _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__["default"], 14772 updateProgress: _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__["default"], 14773 updateSlidesClasses: _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__["default"], 14774 updateActiveIndex: _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__["default"], 14775 updateClickedSlide: _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__["default"] 14776}); 14777 14778/***/ }), 14779
vendor: 2,613 bytes, lines 14780-14862
14780/***/ "./node_modules/swiper/core/update/updateActiveIndex.js": 14781/*!**************************************************************!*\ 14782 !*** ./node_modules/swiper/core/update/updateActiveIndex.js ***! 14783 \**************************************************************/ 14784/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14785 14786__webpack_require__.r(__webpack_exports__); 14787/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14788/* harmony export */ "default": function() { return /* binding */ updateActiveIndex; } 14789/* harmony export */ }); 14790function updateActiveIndex(newActiveIndex) { 14791 const swiper = this; 14792 const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; 14793 const { 14794 slidesGrid, 14795 snapGrid, 14796 params, 14797 activeIndex: previousIndex, 14798 realIndex: previousRealIndex, 14799 snapIndex: previousSnapIndex 14800 } = swiper; 14801 let activeIndex = newActiveIndex; 14802 let snapIndex; 14803 14804 if (typeof activeIndex === 'undefined') { 14805 for (let i = 0; i < slidesGrid.length; i += 1) { 14806 if (typeof slidesGrid[i + 1] !== 'undefined') { 14807 if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) { 14808 activeIndex = i; 14809 } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) { 14810 activeIndex = i + 1; 14811 } 14812 } else if (translate >= slidesGrid[i]) { 14813 activeIndex = i; 14814 } 14815 } // Normalize slideIndex 14816 14817 14818 if (params.normalizeSlideIndex) { 14819 if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0; 14820 } 14821 } 14822 14823 if (snapGrid.indexOf(translate) >= 0) { 14824 snapIndex = snapGrid.indexOf(translate); 14825 } else { 14826 const skip = Math.min(params.slidesPerGroupSkip, activeIndex); 14827 snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup); 14828 } 14829 14830 if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1; 14831 14832 if (activeIndex === previousIndex) { 14833 if (snapIndex !== previousSnapIndex) { 14834 swiper.snapIndex = snapIndex; 14835 swiper.emit('snapIndexChange'); 14836 } 14837 14838 return; 14839 } // Get real index 14840 14841 14842 const realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10); 14843 Object.assign(swiper, { 14844 snapIndex, 14845 realIndex, 14846 previousIndex, 14847 activeIndex 14848 }); 14849 swiper.emit('activeIndexChange'); 14850 swiper.emit('snapIndexChange'); 14851 14852 if (previousRealIndex !== realIndex) { 14853 swiper.emit('realIndexChange'); 14854 } 14855 14856 if (swiper.initialized || swiper.params.runCallbacksOnInit) { 14857 swiper.emit('slideChange'); 14858 } 14859} 14860 14861/***/ }), 14862
vendor: 2,334 bytes, lines 14863-14926
14863/***/ "./node_modules/swiper/core/update/updateAutoHeight.js": 14864/*!*************************************************************!*\ 14865 !*** ./node_modules/swiper/core/update/updateAutoHeight.js ***! 14866 \*************************************************************/ 14867/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14868 14869__webpack_require__.r(__webpack_exports__); 14870/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14871/* harmony export */ "default": function() { return /* binding */ updateAutoHeight; } 14872/* harmony export */ }); 14873/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 14874 14875function updateAutoHeight(speed) { 14876 const swiper = this; 14877 const activeSlides = []; 14878 const isVirtual = swiper.virtual && swiper.params.virtual.enabled; 14879 let newHeight = 0; 14880 let i; 14881 14882 if (typeof speed === 'number') { 14883 swiper.setTransition(speed); 14884 } else if (speed === true) { 14885 swiper.setTransition(swiper.params.speed); 14886 } 14887 14888 const getSlideByIndex = index => { 14889 if (isVirtual) { 14890 return swiper.slides.filter(el => parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index)[0]; 14891 } 14892 14893 return swiper.slides.eq(index)[0]; 14894 }; // Find slides currently in view 14895 14896 14897 if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) { 14898 if (swiper.params.centeredSlides) { 14899 (swiper.visibleSlides || (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])([])).each(slide => { 14900 activeSlides.push(slide); 14901 }); 14902 } else { 14903 for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) { 14904 const index = swiper.activeIndex + i; 14905 if (index > swiper.slides.length && !isVirtual) break; 14906 activeSlides.push(getSlideByIndex(index)); 14907 } 14908 } 14909 } else { 14910 activeSlides.push(getSlideByIndex(swiper.activeIndex)); 14911 } // Find new height from highest slide in view 14912 14913 14914 for (i = 0; i < activeSlides.length; i += 1) { 14915 if (typeof activeSlides[i] !== 'undefined') { 14916 const height = activeSlides[i].offsetHeight; 14917 newHeight = height > newHeight ? height : newHeight; 14918 } 14919 } // Update Height 14920 14921 14922 if (newHeight || newHeight === 0) swiper.$wrapperEl.css('height', `${newHeight}px`); 14923} 14924 14925/***/ }), 14926
vendor: 1,792 bytes, lines 14927-14976
14927/***/ "./node_modules/swiper/core/update/updateClickedSlide.js": 14928/*!***************************************************************!*\ 14929 !*** ./node_modules/swiper/core/update/updateClickedSlide.js ***! 14930 \***************************************************************/ 14931/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14932 14933__webpack_require__.r(__webpack_exports__); 14934/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14935/* harmony export */ "default": function() { return /* binding */ updateClickedSlide; } 14936/* harmony export */ }); 14937/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 14938 14939function updateClickedSlide(e) { 14940 const swiper = this; 14941 const params = swiper.params; 14942 const slide = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(e).closest(`.${params.slideClass}`)[0]; 14943 let slideFound = false; 14944 let slideIndex; 14945 14946 if (slide) { 14947 for (let i = 0; i < swiper.slides.length; i += 1) { 14948 if (swiper.slides[i] === slide) { 14949 slideFound = true; 14950 slideIndex = i; 14951 break; 14952 } 14953 } 14954 } 14955 14956 if (slide && slideFound) { 14957 swiper.clickedSlide = slide; 14958 14959 if (swiper.virtual && swiper.params.virtual.enabled) { 14960 swiper.clickedIndex = parseInt((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(slide).attr('data-swiper-slide-index'), 10); 14961 } else { 14962 swiper.clickedIndex = slideIndex; 14963 } 14964 } else { 14965 swiper.clickedSlide = undefined; 14966 swiper.clickedIndex = undefined; 14967 return; 14968 } 14969 14970 if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) { 14971 swiper.slideToClickedSlide(); 14972 } 14973} 14974 14975/***/ }), 14976
vendor: 1,798 bytes, lines 14977-15039
14977/***/ "./node_modules/swiper/core/update/updateProgress.js": 14978/*!***********************************************************!*\ 14979 !*** ./node_modules/swiper/core/update/updateProgress.js ***! 14980 \***********************************************************/ 14981/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 14982 14983__webpack_require__.r(__webpack_exports__); 14984/* harmony export */ __webpack_require__.d(__webpack_exports__, { 14985/* harmony export */ "default": function() { return /* binding */ updateProgress; } 14986/* harmony export */ }); 14987function updateProgress(translate) { 14988 const swiper = this; 14989 14990 if (typeof translate === 'undefined') { 14991 const multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line 14992 14993 translate = swiper && swiper.translate && swiper.translate * multiplier || 0; 14994 } 14995 14996 const params = swiper.params; 14997 const translatesDiff = swiper.maxTranslate() - swiper.minTranslate(); 14998 let { 14999 progress, 15000 isBeginning, 15001 isEnd 15002 } = swiper; 15003 const wasBeginning = isBeginning; 15004 const wasEnd = isEnd; 15005 15006 if (translatesDiff === 0) { 15007 progress = 0; 15008 isBeginning = true; 15009 isEnd = true; 15010 } else { 15011 progress = (translate - swiper.minTranslate()) / translatesDiff; 15012 isBeginning = progress <= 0; 15013 isEnd = progress >= 1; 15014 } 15015 15016 Object.assign(swiper, { 15017 progress, 15018 isBeginning, 15019 isEnd 15020 }); 15021 if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate); 15022 15023 if (isBeginning && !wasBeginning) { 15024 swiper.emit('reachBeginning toEdge'); 15025 } 15026 15027 if (isEnd && !wasEnd) { 15028 swiper.emit('reachEnd toEdge'); 15029 } 15030 15031 if (wasBeginning && !isBeginning || wasEnd && !isEnd) { 15032 swiper.emit('fromEdge'); 15033 } 15034 15035 swiper.emit('progress', progress); 15036} 15037 15038/***/ }), 15039
vendor: 1,529 bytes, lines 15040-15085
15040/***/ "./node_modules/swiper/core/update/updateSize.js": 15041/*!*******************************************************!*\ 15042 !*** ./node_modules/swiper/core/update/updateSize.js ***! 15043 \*******************************************************/ 15044/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 15045 15046__webpack_require__.r(__webpack_exports__); 15047/* harmony export */ __webpack_require__.d(__webpack_exports__, { 15048/* harmony export */ "default": function() { return /* binding */ updateSize; } 15049/* harmony export */ }); 15050function updateSize() { 15051 const swiper = this; 15052 let width; 15053 let height; 15054 const $el = swiper.$el; 15055 15056 if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) { 15057 width = swiper.params.width; 15058 } else { 15059 width = $el[0].clientWidth; 15060 } 15061 15062 if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) { 15063 height = swiper.params.height; 15064 } else { 15065 height = $el[0].clientHeight; 15066 } 15067 15068 if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) { 15069 return; 15070 } // Subtract paddings 15071 15072 15073 width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10); 15074 height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10); 15075 if (Number.isNaN(width)) width = 0; 15076 if (Number.isNaN(height)) height = 0; 15077 Object.assign(swiper, { 15078 width, 15079 height, 15080 size: swiper.isHorizontal() ? width : height 15081 }); 15082} 15083 15084/***/ }), 15085
vendor: 11,385 bytes, lines 15086-15419
15086/***/ "./node_modules/swiper/core/update/updateSlides.js": 15087/*!*********************************************************!*\ 15088 !*** ./node_modules/swiper/core/update/updateSlides.js ***! 15089 \*********************************************************/ 15090/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 15091 15092__webpack_require__.r(__webpack_exports__); 15093/* harmony export */ __webpack_require__.d(__webpack_exports__, { 15094/* harmony export */ "default": function() { return /* binding */ updateSlides; } 15095/* harmony export */ }); 15096/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 15097 15098function updateSlides() { 15099 const swiper = this; 15100 15101 function getDirectionLabel(property) { 15102 if (swiper.isHorizontal()) { 15103 return property; 15104 } // prettier-ignore 15105 15106 15107 return { 15108 'width': 'height', 15109 'margin-top': 'margin-left', 15110 'margin-bottom ': 'margin-right', 15111 'margin-left': 'margin-top', 15112 'margin-right': 'margin-bottom', 15113 'padding-left': 'padding-top', 15114 'padding-right': 'padding-bottom', 15115 'marginRight': 'marginBottom' 15116 }[property]; 15117 } 15118 15119 function getDirectionPropertyValue(node, label) { 15120 return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0); 15121 } 15122 15123 const params = swiper.params; 15124 const { 15125 $wrapperEl, 15126 size: swiperSize, 15127 rtlTranslate: rtl, 15128 wrongRTL 15129 } = swiper; 15130 const isVirtual = swiper.virtual && params.virtual.enabled; 15131 const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length; 15132 const slides = $wrapperEl.children(`.${swiper.params.slideClass}`); 15133 const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length; 15134 let snapGrid = []; 15135 const slidesGrid = []; 15136 const slidesSizesGrid = []; 15137 let offsetBefore = params.slidesOffsetBefore; 15138 15139 if (typeof offsetBefore === 'function') { 15140 offsetBefore = params.slidesOffsetBefore.call(swiper); 15141 } 15142 15143 let offsetAfter = params.slidesOffsetAfter; 15144 15145 if (typeof offsetAfter === 'function') { 15146 offsetAfter = params.slidesOffsetAfter.call(swiper); 15147 } 15148 15149 const previousSnapGridLength = swiper.snapGrid.length; 15150 const previousSlidesGridLength = swiper.slidesGrid.length; 15151 let spaceBetween = params.spaceBetween; 15152 let slidePosition = -offsetBefore; 15153 let prevSlideSize = 0; 15154 let index = 0; 15155 15156 if (typeof swiperSize === 'undefined') { 15157 return; 15158 } 15159 15160 if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { 15161 spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize; 15162 } 15163 15164 swiper.virtualSize = -spaceBetween; // reset margins 15165 15166 if (rtl) slides.css({ 15167 marginLeft: '', 15168 marginBottom: '', 15169 marginTop: '' 15170 });else slides.css({ 15171 marginRight: '', 15172 marginBottom: '', 15173 marginTop: '' 15174 }); // reset cssMode offsets 15175 15176 if (params.centeredSlides && params.cssMode) { 15177 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-before', ''); 15178 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-after', ''); 15179 } 15180 15181 const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid; 15182 15183 if (gridEnabled) { 15184 swiper.grid.initSlides(slidesLength); 15185 } // Calc slides 15186 15187 15188 let slideSize; 15189 const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => { 15190 return typeof params.breakpoints[key].slidesPerView !== 'undefined'; 15191 }).length > 0; 15192 15193 for (let i = 0; i < slidesLength; i += 1) { 15194 slideSize = 0; 15195 const slide = slides.eq(i); 15196 15197 if (gridEnabled) { 15198 swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel); 15199 } 15200 15201 if (slide.css('display') === 'none') continue; // eslint-disable-line 15202 15203 if (params.slidesPerView === 'auto') { 15204 if (shouldResetSlideSize) { 15205 slides[i].style[getDirectionLabel('width')] = ``; 15206 } 15207 15208 const slideStyles = getComputedStyle(slide[0]); 15209 const currentTransform = slide[0].style.transform; 15210 const currentWebKitTransform = slide[0].style.webkitTransform; 15211 15212 if (currentTransform) { 15213 slide[0].style.transform = 'none'; 15214 } 15215 15216 if (currentWebKitTransform) { 15217 slide[0].style.webkitTransform = 'none'; 15218 } 15219 15220 if (params.roundLengths) { 15221 slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true); 15222 } else { 15223 // eslint-disable-next-line 15224 const width = getDirectionPropertyValue(slideStyles, 'width'); 15225 const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left'); 15226 const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right'); 15227 const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left'); 15228 const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right'); 15229 const boxSizing = slideStyles.getPropertyValue('box-sizing'); 15230 15231 if (boxSizing && boxSizing === 'border-box') { 15232 slideSize = width + marginLeft + marginRight; 15233 } else { 15234 const { 15235 clientWidth, 15236 offsetWidth 15237 } = slide[0]; 15238 slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth); 15239 } 15240 } 15241 15242 if (currentTransform) { 15243 slide[0].style.transform = currentTransform; 15244 } 15245 15246 if (currentWebKitTransform) { 15247 slide[0].style.webkitTransform = currentWebKitTransform; 15248 } 15249 15250 if (params.roundLengths) slideSize = Math.floor(slideSize); 15251 } else { 15252 slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView; 15253 if (params.roundLengths) slideSize = Math.floor(slideSize); 15254 15255 if (slides[i]) { 15256 slides[i].style[getDirectionLabel('width')] = `${slideSize}px`; 15257 } 15258 } 15259 15260 if (slides[i]) { 15261 slides[i].swiperSlideSize = slideSize; 15262 } 15263 15264 slidesSizesGrid.push(slideSize); 15265 15266 if (params.centeredSlides) { 15267 slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween; 15268 if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; 15269 if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween; 15270 if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0; 15271 if (params.roundLengths) slidePosition = Math.floor(slidePosition); 15272 if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition); 15273 slidesGrid.push(slidePosition); 15274 } else { 15275 if (params.roundLengths) slidePosition = Math.floor(slidePosition); 15276 if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition); 15277 slidesGrid.push(slidePosition); 15278 slidePosition = slidePosition + slideSize + spaceBetween; 15279 } 15280 15281 swiper.virtualSize += slideSize + spaceBetween; 15282 prevSlideSize = slideSize; 15283 index += 1; 15284 } 15285 15286 swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter; 15287 15288 if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) { 15289 $wrapperEl.css({ 15290 width: `${swiper.virtualSize + params.spaceBetween}px` 15291 }); 15292 } 15293 15294 if (params.setWrapperSize) { 15295 $wrapperEl.css({ 15296 [getDirectionLabel('width')]: `${swiper.virtualSize + params.spaceBetween}px` 15297 }); 15298 } 15299 15300 if (gridEnabled) { 15301 swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel); 15302 } // Remove last grid elements depending on width 15303 15304 15305 if (!params.centeredSlides) { 15306 const newSlidesGrid = []; 15307 15308 for (let i = 0; i < snapGrid.length; i += 1) { 15309 let slidesGridItem = snapGrid[i]; 15310 if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem); 15311 15312 if (snapGrid[i] <= swiper.virtualSize - swiperSize) { 15313 newSlidesGrid.push(slidesGridItem); 15314 } 15315 } 15316 15317 snapGrid = newSlidesGrid; 15318 15319 if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) { 15320 snapGrid.push(swiper.virtualSize - swiperSize); 15321 } 15322 } 15323 15324 if (snapGrid.length === 0) snapGrid = [0]; 15325 15326 if (params.spaceBetween !== 0) { 15327 const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight'); 15328 slides.filter((_, slideIndex) => { 15329 if (!params.cssMode) return true; 15330 15331 if (slideIndex === slides.length - 1) { 15332 return false; 15333 } 15334 15335 return true; 15336 }).css({ 15337 [key]: `${spaceBetween}px` 15338 }); 15339 } 15340 15341 if (params.centeredSlides && params.centeredSlidesBounds) { 15342 let allSlidesSize = 0; 15343 slidesSizesGrid.forEach(slideSizeValue => { 15344 allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0); 15345 }); 15346 allSlidesSize -= params.spaceBetween; 15347 const maxSnap = allSlidesSize - swiperSize; 15348 snapGrid = snapGrid.map(snap => { 15349 if (snap < 0) return -offsetBefore; 15350 if (snap > maxSnap) return maxSnap + offsetAfter; 15351 return snap; 15352 }); 15353 } 15354 15355 if (params.centerInsufficientSlides) { 15356 let allSlidesSize = 0; 15357 slidesSizesGrid.forEach(slideSizeValue => { 15358 allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0); 15359 }); 15360 allSlidesSize -= params.spaceBetween; 15361 15362 if (allSlidesSize < swiperSize) { 15363 const allSlidesOffset = (swiperSize - allSlidesSize) / 2; 15364 snapGrid.forEach((snap, snapIndex) => { 15365 snapGrid[snapIndex] = snap - allSlidesOffset; 15366 }); 15367 slidesGrid.forEach((snap, snapIndex) => { 15368 slidesGrid[snapIndex] = snap + allSlidesOffset; 15369 }); 15370 } 15371 } 15372 15373 Object.assign(swiper, { 15374 slides, 15375 snapGrid, 15376 slidesGrid, 15377 slidesSizesGrid 15378 }); 15379 15380 if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) { 15381 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`); 15382 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`); 15383 const addToSnapGrid = -swiper.snapGrid[0]; 15384 const addToSlidesGrid = -swiper.slidesGrid[0]; 15385 swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid); 15386 swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid); 15387 } 15388 15389 if (slidesLength !== previousSlidesLength) { 15390 swiper.emit('slidesLengthChange'); 15391 } 15392 15393 if (snapGrid.length !== previousSnapGridLength) { 15394 if (swiper.params.watchOverflow) swiper.checkOverflow(); 15395 swiper.emit('snapGridLengthChange'); 15396 } 15397 15398 if (slidesGrid.length !== previousSlidesGridLength) { 15399 swiper.emit('slidesGridLengthChange'); 15400 } 15401 15402 if (params.watchSlidesProgress) { 15403 swiper.updateSlidesOffset(); 15404 } 15405 15406 if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) { 15407 const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`; 15408 const hasClassBackfaceClassAdded = swiper.$el.hasClass(backFaceHiddenClass); 15409 15410 if (slidesLength <= params.maxBackfaceHiddenSlides) { 15411 if (!hasClassBackfaceClassAdded) swiper.$el.addClass(backFaceHiddenClass); 15412 } else if (hasClassBackfaceClassAdded) { 15413 swiper.$el.removeClass(backFaceHiddenClass); 15414 } 15415 } 15416} 15417 15418/***/ }), 15419
vendor: 3,322 bytes, lines 15420-15496
15420/***/ "./node_modules/swiper/core/update/updateSlidesClasses.js": 15421/*!****************************************************************!*\ 15422 !*** ./node_modules/swiper/core/update/updateSlidesClasses.js ***! 15423 \****************************************************************/ 15424/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 15425 15426__webpack_require__.r(__webpack_exports__); 15427/* harmony export */ __webpack_require__.d(__webpack_exports__, { 15428/* harmony export */ "default": function() { return /* binding */ updateSlidesClasses; } 15429/* harmony export */ }); 15430function updateSlidesClasses() { 15431 const swiper = this; 15432 const { 15433 slides, 15434 params, 15435 $wrapperEl, 15436 activeIndex, 15437 realIndex 15438 } = swiper; 15439 const isVirtual = swiper.virtual && params.virtual.enabled; 15440 slides.removeClass(`${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`); 15441 let activeSlide; 15442 15443 if (isVirtual) { 15444 activeSlide = swiper.$wrapperEl.find(`.${params.slideClass}[data-swiper-slide-index="${activeIndex}"]`); 15445 } else { 15446 activeSlide = slides.eq(activeIndex); 15447 } // Active classes 15448 15449 15450 activeSlide.addClass(params.slideActiveClass); 15451 15452 if (params.loop) { 15453 // Duplicate to all looped slides 15454 if (activeSlide.hasClass(params.slideDuplicateClass)) { 15455 $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass); 15456 } else { 15457 $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass); 15458 } 15459 } // Next Slide 15460 15461 15462 let nextSlide = activeSlide.nextAll(`.${params.slideClass}`).eq(0).addClass(params.slideNextClass); 15463 15464 if (params.loop && nextSlide.length === 0) { 15465 nextSlide = slides.eq(0); 15466 nextSlide.addClass(params.slideNextClass); 15467 } // Prev Slide 15468 15469 15470 let prevSlide = activeSlide.prevAll(`.${params.slideClass}`).eq(0).addClass(params.slidePrevClass); 15471 15472 if (params.loop && prevSlide.length === 0) { 15473 prevSlide = slides.eq(-1); 15474 prevSlide.addClass(params.slidePrevClass); 15475 } 15476 15477 if (params.loop) { 15478 // Duplicate to all looped slides 15479 if (nextSlide.hasClass(params.slideDuplicateClass)) { 15480 $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass); 15481 } else { 15482 $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass); 15483 } 15484 15485 if (prevSlide.hasClass(params.slideDuplicateClass)) { 15486 $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass); 15487 } else { 15488 $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass); 15489 } 15490 } 15491 15492 swiper.emitSlidesClasses(); 15493} 15494 15495/***/ }), 15496
vendor: 849 bytes, lines 15497-15517
15497/***/ "./node_modules/swiper/core/update/updateSlidesOffset.js": 15498/*!***************************************************************!*\ 15499 !*** ./node_modules/swiper/core/update/updateSlidesOffset.js ***! 15500 \***************************************************************/ 15501/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 15502 15503__webpack_require__.r(__webpack_exports__); 15504/* harmony export */ __webpack_require__.d(__webpack_exports__, { 15505/* harmony export */ "default": function() { return /* binding */ updateSlidesOffset; } 15506/* harmony export */ }); 15507function updateSlidesOffset() { 15508 const swiper = this; 15509 const slides = swiper.slides; 15510 15511 for (let i = 0; i < slides.length; i += 1) { 15512 slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop; 15513 } 15514} 15515 15516/***/ }), 15517
vendor: 2,631 bytes, lines 15518-15579
15518/***/ "./node_modules/swiper/core/update/updateSlidesProgress.js": 15519/*!*****************************************************************!*\ 15520 !*** ./node_modules/swiper/core/update/updateSlidesProgress.js ***! 15521 \*****************************************************************/ 15522/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 15523 15524__webpack_require__.r(__webpack_exports__); 15525/* harmony export */ __webpack_require__.d(__webpack_exports__, { 15526/* harmony export */ "default": function() { return /* binding */ updateSlidesProgress; } 15527/* harmony export */ }); 15528/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 15529 15530function updateSlidesProgress(translate) { 15531 if (translate === void 0) { 15532 translate = this && this.translate || 0; 15533 } 15534 15535 const swiper = this; 15536 const params = swiper.params; 15537 const { 15538 slides, 15539 rtlTranslate: rtl, 15540 snapGrid 15541 } = swiper; 15542 if (slides.length === 0) return; 15543 if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset(); 15544 let offsetCenter = -translate; 15545 if (rtl) offsetCenter = translate; // Visible Slides 15546 15547 slides.removeClass(params.slideVisibleClass); 15548 swiper.visibleSlidesIndexes = []; 15549 swiper.visibleSlides = []; 15550 15551 for (let i = 0; i < slides.length; i += 1) { 15552 const slide = slides[i]; 15553 let slideOffset = slide.swiperSlideOffset; 15554 15555 if (params.cssMode && params.centeredSlides) { 15556 slideOffset -= slides[0].swiperSlideOffset; 15557 } 15558 15559 const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween); 15560 const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween); 15561 const slideBefore = -(offsetCenter - slideOffset); 15562 const slideAfter = slideBefore + swiper.slidesSizesGrid[i]; 15563 const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size; 15564 15565 if (isVisible) { 15566 swiper.visibleSlides.push(slide); 15567 swiper.visibleSlidesIndexes.push(i); 15568 slides.eq(i).addClass(params.slideVisibleClass); 15569 } 15570 15571 slide.progress = rtl ? -slideProgress : slideProgress; 15572 slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress; 15573 } 15574 15575 swiper.visibleSlides = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.visibleSlides); 15576} 15577 15578/***/ }), 15579
vendor: 10,459 bytes, lines 15580-15927
15580/***/ "./node_modules/swiper/modules/a11y/a11y.js": 15581/*!**************************************************!*\ 15582 !*** ./node_modules/swiper/modules/a11y/a11y.js ***! 15583 \**************************************************/ 15584/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 15585 15586__webpack_require__.r(__webpack_exports__); 15587/* harmony export */ __webpack_require__.d(__webpack_exports__, { 15588/* harmony export */ "default": function() { return /* binding */ A11y; } 15589/* harmony export */ }); 15590/* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ "./node_modules/swiper/shared/classes-to-selector.js"); 15591/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 15592 15593 15594function A11y(_ref) { 15595 let { 15596 swiper, 15597 extendParams, 15598 on 15599 } = _ref; 15600 extendParams({ 15601 a11y: { 15602 enabled: true, 15603 notificationClass: 'swiper-notification', 15604 prevSlideMessage: 'Previous slide', 15605 nextSlideMessage: 'Next slide', 15606 firstSlideMessage: 'This is the first slide', 15607 lastSlideMessage: 'This is the last slide', 15608 paginationBulletMessage: 'Go to slide {{index}}', 15609 slideLabelMessage: '{{index}} / {{slidesLength}}', 15610 containerMessage: null, 15611 containerRoleDescriptionMessage: null, 15612 itemRoleDescriptionMessage: null, 15613 slideRole: 'group', 15614 id: null 15615 } 15616 }); 15617 let liveRegion = null; 15618 15619 function notify(message) { 15620 const notification = liveRegion; 15621 if (notification.length === 0) return; 15622 notification.html(''); 15623 notification.html(message); 15624 } 15625 15626 function getRandomNumber(size) { 15627 if (size === void 0) { 15628 size = 16; 15629 } 15630 15631 const randomChar = () => Math.round(16 * Math.random()).toString(16); 15632 15633 return 'x'.repeat(size).replace(/x/g, randomChar); 15634 } 15635 15636 function makeElFocusable($el) { 15637 $el.attr('tabIndex', '0'); 15638 } 15639 15640 function makeElNotFocusable($el) { 15641 $el.attr('tabIndex', '-1'); 15642 } 15643 15644 function addElRole($el, role) { 15645 $el.attr('role', role); 15646 } 15647 15648 function addElRoleDescription($el, description) { 15649 $el.attr('aria-roledescription', description); 15650 } 15651 15652 function addElControls($el, controls) { 15653 $el.attr('aria-controls', controls); 15654 } 15655 15656 function addElLabel($el, label) { 15657 $el.attr('aria-label', label); 15658 } 15659 15660 function addElId($el, id) { 15661 $el.attr('id', id); 15662 } 15663 15664 function addElLive($el, live) { 15665 $el.attr('aria-live', live); 15666 } 15667 15668 function disableEl($el) { 15669 $el.attr('aria-disabled', true); 15670 } 15671 15672 function enableEl($el) { 15673 $el.attr('aria-disabled', false); 15674 } 15675 15676 function onEnterOrSpaceKey(e) { 15677 if (e.keyCode !== 13 && e.keyCode !== 32) return; 15678 const params = swiper.params.a11y; 15679 const $targetEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target); 15680 15681 if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) { 15682 if (!(swiper.isEnd && !swiper.params.loop)) { 15683 swiper.slideNext(); 15684 } 15685 15686 if (swiper.isEnd) { 15687 notify(params.lastSlideMessage); 15688 } else { 15689 notify(params.nextSlideMessage); 15690 } 15691 } 15692 15693 if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) { 15694 if (!(swiper.isBeginning && !swiper.params.loop)) { 15695 swiper.slidePrev(); 15696 } 15697 15698 if (swiper.isBeginning) { 15699 notify(params.firstSlideMessage); 15700 } else { 15701 notify(params.prevSlideMessage); 15702 } 15703 } 15704 15705 if (swiper.pagination && $targetEl.is((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass))) { 15706 $targetEl[0].click(); 15707 } 15708 } 15709 15710 function updateNavigation() { 15711 if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return; 15712 const { 15713 $nextEl, 15714 $prevEl 15715 } = swiper.navigation; 15716 15717 if ($prevEl && $prevEl.length > 0) { 15718 if (swiper.isBeginning) { 15719 disableEl($prevEl); 15720 makeElNotFocusable($prevEl); 15721 } else { 15722 enableEl($prevEl); 15723 makeElFocusable($prevEl); 15724 } 15725 } 15726 15727 if ($nextEl && $nextEl.length > 0) { 15728 if (swiper.isEnd) { 15729 disableEl($nextEl); 15730 makeElNotFocusable($nextEl); 15731 } else { 15732 enableEl($nextEl); 15733 makeElFocusable($nextEl); 15734 } 15735 } 15736 } 15737 15738 function hasPagination() { 15739 return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length; 15740 } 15741 15742 function hasClickablePagination() { 15743 return hasPagination() && swiper.params.pagination.clickable; 15744 } 15745 15746 function updatePagination() { 15747 const params = swiper.params.a11y; 15748 if (!hasPagination()) return; 15749 swiper.pagination.bullets.each(bulletEl => { 15750 const $bulletEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(bulletEl); 15751 15752 if (swiper.params.pagination.clickable) { 15753 makeElFocusable($bulletEl); 15754 15755 if (!swiper.params.pagination.renderBullet) { 15756 addElRole($bulletEl, 'button'); 15757 addElLabel($bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, $bulletEl.index() + 1)); 15758 } 15759 } 15760 15761 if ($bulletEl.is(`.${swiper.params.pagination.bulletActiveClass}`)) { 15762 $bulletEl.attr('aria-current', 'true'); 15763 } else { 15764 $bulletEl.removeAttr('aria-current'); 15765 } 15766 }); 15767 } 15768 15769 const initNavEl = ($el, wrapperId, message) => { 15770 makeElFocusable($el); 15771 15772 if ($el[0].tagName !== 'BUTTON') { 15773 addElRole($el, 'button'); 15774 $el.on('keydown', onEnterOrSpaceKey); 15775 } 15776 15777 addElLabel($el, message); 15778 addElControls($el, wrapperId); 15779 }; 15780 15781 const handleFocus = e => { 15782 const slideEl = e.target.closest(`.${swiper.params.slideClass}`); 15783 if (!slideEl || !swiper.slides.includes(slideEl)) return; 15784 const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex; 15785 const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl); 15786 if (isActive || isVisible) return; 15787 15788 if (swiper.isHorizontal()) { 15789 swiper.el.scrollLeft = 0; 15790 } else { 15791 swiper.el.scrollTop = 0; 15792 } 15793 15794 swiper.slideTo(swiper.slides.indexOf(slideEl), 0); 15795 }; 15796 15797 const initSlides = () => { 15798 const params = swiper.params.a11y; 15799 15800 if (params.itemRoleDescriptionMessage) { 15801 addElRoleDescription((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.slides), params.itemRoleDescriptionMessage); 15802 } 15803 15804 if (params.slideRole) { 15805 addElRole((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.slides), params.slideRole); 15806 } 15807 15808 const slidesLength = swiper.params.loop ? swiper.slides.filter(el => !el.classList.contains(swiper.params.slideDuplicateClass)).length : swiper.slides.length; 15809 15810 if (params.slideLabelMessage) { 15811 swiper.slides.each((slideEl, index) => { 15812 const $slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl); 15813 const slideIndex = swiper.params.loop ? parseInt($slideEl.attr('data-swiper-slide-index'), 10) : index; 15814 const ariaLabelMessage = params.slideLabelMessage.replace(/\{\{index\}\}/, slideIndex + 1).replace(/\{\{slidesLength\}\}/, slidesLength); 15815 addElLabel($slideEl, ariaLabelMessage); 15816 }); 15817 } 15818 }; 15819 15820 const init = () => { 15821 const params = swiper.params.a11y; 15822 swiper.$el.append(liveRegion); // Container 15823 15824 const $containerEl = swiper.$el; 15825 15826 if (params.containerRoleDescriptionMessage) { 15827 addElRoleDescription($containerEl, params.containerRoleDescriptionMessage); 15828 } 15829 15830 if (params.containerMessage) { 15831 addElLabel($containerEl, params.containerMessage); 15832 } // Wrapper 15833 15834 15835 const $wrapperEl = swiper.$wrapperEl; 15836 const wrapperId = params.id || $wrapperEl.attr('id') || `swiper-wrapper-${getRandomNumber(16)}`; 15837 const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite'; 15838 addElId($wrapperEl, wrapperId); 15839 addElLive($wrapperEl, live); // Slide 15840 15841 initSlides(); // Navigation 15842 15843 let $nextEl; 15844 let $prevEl; 15845 15846 if (swiper.navigation && swiper.navigation.$nextEl) { 15847 $nextEl = swiper.navigation.$nextEl; 15848 } 15849 15850 if (swiper.navigation && swiper.navigation.$prevEl) { 15851 $prevEl = swiper.navigation.$prevEl; 15852 } 15853 15854 if ($nextEl && $nextEl.length) { 15855 initNavEl($nextEl, wrapperId, params.nextSlideMessage); 15856 } 15857 15858 if ($prevEl && $prevEl.length) { 15859 initNavEl($prevEl, wrapperId, params.prevSlideMessage); 15860 } // Pagination 15861 15862 15863 if (hasClickablePagination()) { 15864 swiper.pagination.$el.on('keydown', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass), onEnterOrSpaceKey); 15865 } // Tab focus 15866 15867 15868 swiper.$el.on('focus', handleFocus, true); 15869 }; 15870 15871 function destroy() { 15872 if (liveRegion && liveRegion.length > 0) liveRegion.remove(); 15873 let $nextEl; 15874 let $prevEl; 15875 15876 if (swiper.navigation && swiper.navigation.$nextEl) { 15877 $nextEl = swiper.navigation.$nextEl; 15878 } 15879 15880 if (swiper.navigation && swiper.navigation.$prevEl) { 15881 $prevEl = swiper.navigation.$prevEl; 15882 } 15883 15884 if ($nextEl) { 15885 $nextEl.off('keydown', onEnterOrSpaceKey); 15886 } 15887 15888 if ($prevEl) { 15889 $prevEl.off('keydown', onEnterOrSpaceKey); 15890 } // Pagination 15891 15892 15893 if (hasClickablePagination()) { 15894 swiper.pagination.$el.off('keydown', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass), onEnterOrSpaceKey); 15895 } // Tab focus 15896 15897 15898 swiper.$el.off('focus', handleFocus, true); 15899 } 15900 15901 on('beforeInit', () => { 15902 liveRegion = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(`<span class="${swiper.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`); 15903 }); 15904 on('afterInit', () => { 15905 if (!swiper.params.a11y.enabled) return; 15906 init(); 15907 }); 15908 on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => { 15909 if (!swiper.params.a11y.enabled) return; 15910 initSlides(); 15911 }); 15912 on('fromEdge toEdge afterInit lock unlock', () => { 15913 if (!swiper.params.a11y.enabled) return; 15914 updateNavigation(); 15915 }); 15916 on('paginationUpdate', () => { 15917 if (!swiper.params.a11y.enabled) return; 15918 updatePagination(); 15919 }); 15920 on('destroy', () => { 15921 if (!swiper.params.a11y.enabled) return; 15922 destroy(); 15923 }); 15924} 15925 15926/***/ }), 15927
vendor: 6,988 bytes, lines 15928-16173
15928/***/ "./node_modules/swiper/modules/autoplay/autoplay.js": 15929/*!**********************************************************!*\ 15930 !*** ./node_modules/swiper/modules/autoplay/autoplay.js ***! 15931 \**********************************************************/ 15932/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 15933 15934__webpack_require__.r(__webpack_exports__); 15935/* harmony export */ __webpack_require__.d(__webpack_exports__, { 15936/* harmony export */ "default": function() { return /* binding */ Autoplay; } 15937/* harmony export */ }); 15938/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 15939/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 15940/* eslint no-underscore-dangle: "off" */ 15941 15942/* eslint no-use-before-define: "off" */ 15943 15944 15945function Autoplay(_ref) { 15946 let { 15947 swiper, 15948 extendParams, 15949 on, 15950 emit 15951 } = _ref; 15952 let timeout; 15953 swiper.autoplay = { 15954 running: false, 15955 paused: false 15956 }; 15957 extendParams({ 15958 autoplay: { 15959 enabled: false, 15960 delay: 3000, 15961 waitForTransition: true, 15962 disableOnInteraction: true, 15963 stopOnLastSlide: false, 15964 reverseDirection: false, 15965 pauseOnMouseEnter: false 15966 } 15967 }); 15968 15969 function run() { 15970 if (!swiper.size) { 15971 swiper.autoplay.running = false; 15972 swiper.autoplay.paused = false; 15973 return; 15974 } 15975 15976 const $activeSlideEl = swiper.slides.eq(swiper.activeIndex); 15977 let delay = swiper.params.autoplay.delay; 15978 15979 if ($activeSlideEl.attr('data-swiper-autoplay')) { 15980 delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay; 15981 } 15982 15983 clearTimeout(timeout); 15984 timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => { 15985 let autoplayResult; 15986 15987 if (swiper.params.autoplay.reverseDirection) { 15988 if (swiper.params.loop) { 15989 swiper.loopFix(); 15990 autoplayResult = swiper.slidePrev(swiper.params.speed, true, true); 15991 emit('autoplay'); 15992 } else if (!swiper.isBeginning) { 15993 autoplayResult = swiper.slidePrev(swiper.params.speed, true, true); 15994 emit('autoplay'); 15995 } else if (!swiper.params.autoplay.stopOnLastSlide) { 15996 autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true); 15997 emit('autoplay'); 15998 } else { 15999 stop(); 16000 } 16001 } else if (swiper.params.loop) { 16002 swiper.loopFix(); 16003 autoplayResult = swiper.slideNext(swiper.params.speed, true, true); 16004 emit('autoplay'); 16005 } else if (!swiper.isEnd) { 16006 autoplayResult = swiper.slideNext(swiper.params.speed, true, true); 16007 emit('autoplay'); 16008 } else if (!swiper.params.autoplay.stopOnLastSlide) { 16009 autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true); 16010 emit('autoplay'); 16011 } else { 16012 stop(); 16013 } 16014 16015 if (swiper.params.cssMode && swiper.autoplay.running) run();else if (autoplayResult === false) { 16016 run(); 16017 } 16018 }, delay); 16019 } 16020 16021 function start() { 16022 if (typeof timeout !== 'undefined') return false; 16023 if (swiper.autoplay.running) return false; 16024 swiper.autoplay.running = true; 16025 emit('autoplayStart'); 16026 run(); 16027 return true; 16028 } 16029 16030 function stop() { 16031 if (!swiper.autoplay.running) return false; 16032 if (typeof timeout === 'undefined') return false; 16033 16034 if (timeout) { 16035 clearTimeout(timeout); 16036 timeout = undefined; 16037 } 16038 16039 swiper.autoplay.running = false; 16040 emit('autoplayStop'); 16041 return true; 16042 } 16043 16044 function pause(speed) { 16045 if (!swiper.autoplay.running) return; 16046 if (swiper.autoplay.paused) return; 16047 if (timeout) clearTimeout(timeout); 16048 swiper.autoplay.paused = true; 16049 16050 if (speed === 0 || !swiper.params.autoplay.waitForTransition) { 16051 swiper.autoplay.paused = false; 16052 run(); 16053 } else { 16054 ['transitionend', 'webkitTransitionEnd'].forEach(event => { 16055 swiper.$wrapperEl[0].addEventListener(event, onTransitionEnd); 16056 }); 16057 } 16058 } 16059 16060 function onVisibilityChange() { 16061 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 16062 16063 if (document.visibilityState === 'hidden' && swiper.autoplay.running) { 16064 pause(); 16065 } 16066 16067 if (document.visibilityState === 'visible' && swiper.autoplay.paused) { 16068 run(); 16069 swiper.autoplay.paused = false; 16070 } 16071 } 16072 16073 function onTransitionEnd(e) { 16074 if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return; 16075 if (e.target !== swiper.$wrapperEl[0]) return; 16076 ['transitionend', 'webkitTransitionEnd'].forEach(event => { 16077 swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd); 16078 }); 16079 swiper.autoplay.paused = false; 16080 16081 if (!swiper.autoplay.running) { 16082 stop(); 16083 } else { 16084 run(); 16085 } 16086 } 16087 16088 function onMouseEnter() { 16089 if (swiper.params.autoplay.disableOnInteraction) { 16090 stop(); 16091 } else { 16092 emit('autoplayPause'); 16093 pause(); 16094 } 16095 16096 ['transitionend', 'webkitTransitionEnd'].forEach(event => { 16097 swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd); 16098 }); 16099 } 16100 16101 function onMouseLeave() { 16102 if (swiper.params.autoplay.disableOnInteraction) { 16103 return; 16104 } 16105 16106 swiper.autoplay.paused = false; 16107 emit('autoplayResume'); 16108 run(); 16109 } 16110 16111 function attachMouseEvents() { 16112 if (swiper.params.autoplay.pauseOnMouseEnter) { 16113 swiper.$el.on('mouseenter', onMouseEnter); 16114 swiper.$el.on('mouseleave', onMouseLeave); 16115 } 16116 } 16117 16118 function detachMouseEvents() { 16119 swiper.$el.off('mouseenter', onMouseEnter); 16120 swiper.$el.off('mouseleave', onMouseLeave); 16121 } 16122 16123 on('init', () => { 16124 if (swiper.params.autoplay.enabled) { 16125 start(); 16126 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 16127 document.addEventListener('visibilitychange', onVisibilityChange); 16128 attachMouseEvents(); 16129 } 16130 }); 16131 on('beforeTransitionStart', (_s, speed, internal) => { 16132 if (swiper.autoplay.running) { 16133 if (internal || !swiper.params.autoplay.disableOnInteraction) { 16134 swiper.autoplay.pause(speed); 16135 } else { 16136 stop(); 16137 } 16138 } 16139 }); 16140 on('sliderFirstMove', () => { 16141 if (swiper.autoplay.running) { 16142 if (swiper.params.autoplay.disableOnInteraction) { 16143 stop(); 16144 } else { 16145 pause(); 16146 } 16147 } 16148 }); 16149 on('touchEnd', () => { 16150 if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) { 16151 run(); 16152 } 16153 }); 16154 on('destroy', () => { 16155 detachMouseEvents(); 16156 16157 if (swiper.autoplay.running) { 16158 stop(); 16159 } 16160 16161 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 16162 document.removeEventListener('visibilitychange', onVisibilityChange); 16163 }); 16164 Object.assign(swiper.autoplay, { 16165 pause, 16166 run, 16167 start, 16168 stop 16169 }); 16170} 16171 16172/***/ }), 16173
vendor: 6,435 bytes, lines 16174-16379
16174/***/ "./node_modules/swiper/modules/controller/controller.js": 16175/*!**************************************************************!*\ 16176 !*** ./node_modules/swiper/modules/controller/controller.js ***! 16177 \**************************************************************/ 16178/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 16179 16180__webpack_require__.r(__webpack_exports__); 16181/* harmony export */ __webpack_require__.d(__webpack_exports__, { 16182/* harmony export */ "default": function() { return /* binding */ Controller; } 16183/* harmony export */ }); 16184/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 16185/* eslint no-bitwise: ["error", { "allow": [">>"] }] */ 16186 16187function Controller(_ref) { 16188 let { 16189 swiper, 16190 extendParams, 16191 on 16192 } = _ref; 16193 extendParams({ 16194 controller: { 16195 control: undefined, 16196 inverse: false, 16197 by: 'slide' // or 'container' 16198 16199 } 16200 }); 16201 swiper.controller = { 16202 control: undefined 16203 }; 16204 16205 function LinearSpline(x, y) { 16206 const binarySearch = function search() { 16207 let maxIndex; 16208 let minIndex; 16209 let guess; 16210 return (array, val) => { 16211 minIndex = -1; 16212 maxIndex = array.length; 16213 16214 while (maxIndex - minIndex > 1) { 16215 guess = maxIndex + minIndex >> 1; 16216 16217 if (array[guess] <= val) { 16218 minIndex = guess; 16219 } else { 16220 maxIndex = guess; 16221 } 16222 } 16223 16224 return maxIndex; 16225 }; 16226 }(); 16227 16228 this.x = x; 16229 this.y = y; 16230 this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value: 16231 // (x1,y1) is the known point before given value, 16232 // (x3,y3) is the known point after given value. 16233 16234 let i1; 16235 let i3; 16236 16237 this.interpolate = function interpolate(x2) { 16238 if (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2): 16239 16240 i3 = binarySearch(this.x, x2); 16241 i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already: 16242 // y2 := ((x2âx1) à (y3ây1)) ÷ (x3âx1) + y1 16243 16244 return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1]; 16245 }; 16246 16247 return this; 16248 } // xxx: for now i will just save one spline function to to 16249 16250 16251 function getInterpolateFunction(c) { 16252 if (!swiper.controller.spline) { 16253 swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid); 16254 } 16255 } 16256 16257 function setTranslate(_t, byController) { 16258 const controlled = swiper.controller.control; 16259 let multiplier; 16260 let controlledTranslate; 16261 const Swiper = swiper.constructor; 16262 16263 function setControlledTranslate(c) { 16264 // this will create an Interpolate function based on the snapGrids 16265 // x is the Grid of the scrolled scroller and y will be the controlled scroller 16266 // it makes sense to create this only once and recall it for the interpolation 16267 // the function does a lot of value caching for performance 16268 const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate; 16269 16270 if (swiper.params.controller.by === 'slide') { 16271 getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid 16272 // but it did not work out 16273 16274 controlledTranslate = -swiper.controller.spline.interpolate(-translate); 16275 } 16276 16277 if (!controlledTranslate || swiper.params.controller.by === 'container') { 16278 multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate()); 16279 controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate(); 16280 } 16281 16282 if (swiper.params.controller.inverse) { 16283 controlledTranslate = c.maxTranslate() - controlledTranslate; 16284 } 16285 16286 c.updateProgress(controlledTranslate); 16287 c.setTranslate(controlledTranslate, swiper); 16288 c.updateActiveIndex(); 16289 c.updateSlidesClasses(); 16290 } 16291 16292 if (Array.isArray(controlled)) { 16293 for (let i = 0; i < controlled.length; i += 1) { 16294 if (controlled[i] !== byController && controlled[i] instanceof Swiper) { 16295 setControlledTranslate(controlled[i]); 16296 } 16297 } 16298 } else if (controlled instanceof Swiper && byController !== controlled) { 16299 setControlledTranslate(controlled); 16300 } 16301 } 16302 16303 function setTransition(duration, byController) { 16304 const Swiper = swiper.constructor; 16305 const controlled = swiper.controller.control; 16306 let i; 16307 16308 function setControlledTransition(c) { 16309 c.setTransition(duration, swiper); 16310 16311 if (duration !== 0) { 16312 c.transitionStart(); 16313 16314 if (c.params.autoHeight) { 16315 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => { 16316 c.updateAutoHeight(); 16317 }); 16318 } 16319 16320 c.$wrapperEl.transitionEnd(() => { 16321 if (!controlled) return; 16322 16323 if (c.params.loop && swiper.params.controller.by === 'slide') { 16324 c.loopFix(); 16325 } 16326 16327 c.transitionEnd(); 16328 }); 16329 } 16330 } 16331 16332 if (Array.isArray(controlled)) { 16333 for (i = 0; i < controlled.length; i += 1) { 16334 if (controlled[i] !== byController && controlled[i] instanceof Swiper) { 16335 setControlledTransition(controlled[i]); 16336 } 16337 } 16338 } else if (controlled instanceof Swiper && byController !== controlled) { 16339 setControlledTransition(controlled); 16340 } 16341 } 16342 16343 function removeSpline() { 16344 if (!swiper.controller.control) return; 16345 16346 if (swiper.controller.spline) { 16347 swiper.controller.spline = undefined; 16348 delete swiper.controller.spline; 16349 } 16350 } 16351 16352 on('beforeInit', () => { 16353 swiper.controller.control = swiper.params.controller.control; 16354 }); 16355 on('update', () => { 16356 removeSpline(); 16357 }); 16358 on('resize', () => { 16359 removeSpline(); 16360 }); 16361 on('observerUpdate', () => { 16362 removeSpline(); 16363 }); 16364 on('setTranslate', (_s, translate, byController) => { 16365 if (!swiper.controller.control) return; 16366 swiper.controller.setTranslate(translate, byController); 16367 }); 16368 on('setTransition', (_s, duration, byController) => { 16369 if (!swiper.controller.control) return; 16370 swiper.controller.setTransition(duration, byController); 16371 }); 16372 Object.assign(swiper.controller, { 16373 setTranslate, 16374 setTransition 16375 }); 16376} 16377 16378/***/ }), 16379
vendor: 5,531 bytes, lines 16380-16524
16380/***/ "./node_modules/swiper/modules/effect-cards/effect-cards.js": 16381/*!******************************************************************!*\ 16382 !*** ./node_modules/swiper/modules/effect-cards/effect-cards.js ***! 16383 \******************************************************************/ 16384/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 16385 16386__webpack_require__.r(__webpack_exports__); 16387/* harmony export */ __webpack_require__.d(__webpack_exports__, { 16388/* harmony export */ "default": function() { return /* binding */ EffectCards; } 16389/* harmony export */ }); 16390/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js"); 16391/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js"); 16392/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js"); 16393/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js"); 16394 16395 16396 16397 16398function EffectCards(_ref) { 16399 let { 16400 swiper, 16401 extendParams, 16402 on 16403 } = _ref; 16404 extendParams({ 16405 cardsEffect: { 16406 slideShadows: true, 16407 transformEl: null, 16408 rotate: true 16409 } 16410 }); 16411 16412 const setTranslate = () => { 16413 const { 16414 slides, 16415 activeIndex 16416 } = swiper; 16417 const params = swiper.params.cardsEffect; 16418 const { 16419 startTranslate, 16420 isTouched 16421 } = swiper.touchEventsData; 16422 const currentTranslate = swiper.translate; 16423 16424 for (let i = 0; i < slides.length; i += 1) { 16425 const $slideEl = slides.eq(i); 16426 const slideProgress = $slideEl[0].progress; 16427 const progress = Math.min(Math.max(slideProgress, -4), 4); 16428 let offset = $slideEl[0].swiperSlideOffset; 16429 16430 if (swiper.params.centeredSlides && !swiper.params.cssMode) { 16431 swiper.$wrapperEl.transform(`translateX(${swiper.minTranslate()}px)`); 16432 } 16433 16434 if (swiper.params.centeredSlides && swiper.params.cssMode) { 16435 offset -= slides[0].swiperSlideOffset; 16436 } 16437 16438 let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset; 16439 let tY = 0; 16440 const tZ = -100 * Math.abs(progress); 16441 let scale = 1; 16442 let rotate = -2 * progress; 16443 let tXAdd = 8 - Math.abs(progress) * 0.75; 16444 const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i; 16445 const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate; 16446 const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate; 16447 16448 if (isSwipeToNext || isSwipeToPrev) { 16449 const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5; 16450 rotate += -28 * progress * subProgress; 16451 scale += -0.5 * subProgress; 16452 tXAdd += 96 * subProgress; 16453 tY = `${-25 * subProgress * Math.abs(progress)}%`; 16454 } 16455 16456 if (progress < 0) { 16457 // next 16458 tX = `calc(${tX}px + (${tXAdd * Math.abs(progress)}%))`; 16459 } else if (progress > 0) { 16460 // prev 16461 tX = `calc(${tX}px + (-${tXAdd * Math.abs(progress)}%))`; 16462 } else { 16463 tX = `${tX}px`; 16464 } 16465 16466 if (!swiper.isHorizontal()) { 16467 const prevY = tY; 16468 tY = tX; 16469 tX = prevY; 16470 } 16471 16472 const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`; 16473 const transform = ` 16474 translate3d(${tX}, ${tY}, ${tZ}px) 16475 rotateZ(${params.rotate ? rotate : 0}deg) 16476 scale(${scaleString}) 16477 `; 16478 16479 if (params.slideShadows) { 16480 // Set shadows 16481 let $shadowEl = $slideEl.find('.swiper-slide-shadow'); 16482 16483 if ($shadowEl.length === 0) { 16484 $shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl); 16485 } 16486 16487 if ($shadowEl.length) $shadowEl[0].style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1); 16488 } 16489 16490 $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; 16491 const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, $slideEl); 16492 $targetEl.transform(transform); 16493 } 16494 }; 16495 16496 const setTransition = duration => { 16497 const { 16498 transformEl 16499 } = swiper.params.cardsEffect; 16500 const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; 16501 $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration); 16502 (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__["default"])({ 16503 swiper, 16504 duration, 16505 transformEl 16506 }); 16507 }; 16508 16509 (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({ 16510 effect: 'cards', 16511 swiper, 16512 on, 16513 setTranslate, 16514 setTransition, 16515 perspective: () => true, 16516 overwriteParams: () => ({ 16517 watchSlidesProgress: true, 16518 virtualTranslate: !swiper.params.cssMode 16519 }) 16520 }); 16521} 16522 16523/***/ }), 16524
vendor: 5,476 bytes, lines 16525-16645
16525/***/ "./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js": 16526/*!**************************************************************************!*\ 16527 !*** ./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js ***! 16528 \**************************************************************************/ 16529/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 16530 16531__webpack_require__.r(__webpack_exports__); 16532/* harmony export */ __webpack_require__.d(__webpack_exports__, { 16533/* harmony export */ "default": function() { return /* binding */ EffectCoverflow; } 16534/* harmony export */ }); 16535/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js"); 16536/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js"); 16537/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js"); 16538 16539 16540 16541function EffectCoverflow(_ref) { 16542 let { 16543 swiper, 16544 extendParams, 16545 on 16546 } = _ref; 16547 extendParams({ 16548 coverflowEffect: { 16549 rotate: 50, 16550 stretch: 0, 16551 depth: 100, 16552 scale: 1, 16553 modifier: 1, 16554 slideShadows: true, 16555 transformEl: null 16556 } 16557 }); 16558 16559 const setTranslate = () => { 16560 const { 16561 width: swiperWidth, 16562 height: swiperHeight, 16563 slides, 16564 slidesSizesGrid 16565 } = swiper; 16566 const params = swiper.params.coverflowEffect; 16567 const isHorizontal = swiper.isHorizontal(); 16568 const transform = swiper.translate; 16569 const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2; 16570 const rotate = isHorizontal ? params.rotate : -params.rotate; 16571 const translate = params.depth; // Each slide offset from center 16572 16573 for (let i = 0, length = slides.length; i < length; i += 1) { 16574 const $slideEl = slides.eq(i); 16575 const slideSize = slidesSizesGrid[i]; 16576 const slideOffset = $slideEl[0].swiperSlideOffset; 16577 const centerOffset = (center - slideOffset - slideSize / 2) / slideSize; 16578 const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier; 16579 let rotateY = isHorizontal ? rotate * offsetMultiplier : 0; 16580 let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0 16581 16582 let translateZ = -translate * Math.abs(offsetMultiplier); 16583 let stretch = params.stretch; // Allow percentage to make a relative stretch for responsive sliders 16584 16585 if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) { 16586 stretch = parseFloat(params.stretch) / 100 * slideSize; 16587 } 16588 16589 let translateY = isHorizontal ? 0 : stretch * offsetMultiplier; 16590 let translateX = isHorizontal ? stretch * offsetMultiplier : 0; 16591 let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); // Fix for ultra small values 16592 16593 if (Math.abs(translateX) < 0.001) translateX = 0; 16594 if (Math.abs(translateY) < 0.001) translateY = 0; 16595 if (Math.abs(translateZ) < 0.001) translateZ = 0; 16596 if (Math.abs(rotateY) < 0.001) rotateY = 0; 16597 if (Math.abs(rotateX) < 0.001) rotateX = 0; 16598 if (Math.abs(scale) < 0.001) scale = 0; 16599 const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`; 16600 const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, $slideEl); 16601 $targetEl.transform(slideTransform); 16602 $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1; 16603 16604 if (params.slideShadows) { 16605 // Set shadows 16606 let $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top'); 16607 let $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom'); 16608 16609 if ($shadowBeforeEl.length === 0) { 16610 $shadowBeforeEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl, isHorizontal ? 'left' : 'top'); 16611 } 16612 16613 if ($shadowAfterEl.length === 0) { 16614 $shadowAfterEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl, isHorizontal ? 'right' : 'bottom'); 16615 } 16616 16617 if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0; 16618 if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0; 16619 } 16620 } 16621 }; 16622 16623 const setTransition = duration => { 16624 const { 16625 transformEl 16626 } = swiper.params.coverflowEffect; 16627 const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; 16628 $transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); 16629 }; 16630 16631 (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({ 16632 effect: 'coverflow', 16633 swiper, 16634 on, 16635 setTranslate, 16636 setTransition, 16637 perspective: () => true, 16638 overwriteParams: () => ({ 16639 watchSlidesProgress: true 16640 }) 16641 }); 16642} 16643 16644/***/ }), 16645
vendor: 6,202 bytes, lines 16646-16817
16646/***/ "./node_modules/swiper/modules/effect-creative/effect-creative.js": 16647/*!************************************************************************!*\ 16648 !*** ./node_modules/swiper/modules/effect-creative/effect-creative.js ***! 16649 \************************************************************************/ 16650/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 16651 16652__webpack_require__.r(__webpack_exports__); 16653/* harmony export */ __webpack_require__.d(__webpack_exports__, { 16654/* harmony export */ "default": function() { return /* binding */ EffectCreative; } 16655/* harmony export */ }); 16656/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js"); 16657/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js"); 16658/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js"); 16659/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js"); 16660 16661 16662 16663 16664function EffectCreative(_ref) { 16665 let { 16666 swiper, 16667 extendParams, 16668 on 16669 } = _ref; 16670 extendParams({ 16671 creativeEffect: { 16672 transformEl: null, 16673 limitProgress: 1, 16674 shadowPerProgress: false, 16675 progressMultiplier: 1, 16676 perspective: true, 16677 prev: { 16678 translate: [0, 0, 0], 16679 rotate: [0, 0, 0], 16680 opacity: 1, 16681 scale: 1 16682 }, 16683 next: { 16684 translate: [0, 0, 0], 16685 rotate: [0, 0, 0], 16686 opacity: 1, 16687 scale: 1 16688 } 16689 } 16690 }); 16691 16692 const getTranslateValue = value => { 16693 if (typeof value === 'string') return value; 16694 return `${value}px`; 16695 }; 16696 16697 const setTranslate = () => { 16698 const { 16699 slides, 16700 $wrapperEl, 16701 slidesSizesGrid 16702 } = swiper; 16703 const params = swiper.params.creativeEffect; 16704 const { 16705 progressMultiplier: multiplier 16706 } = params; 16707 const isCenteredSlides = swiper.params.centeredSlides; 16708 16709 if (isCenteredSlides) { 16710 const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0; 16711 $wrapperEl.transform(`translateX(calc(50% - ${margin}px))`); 16712 } 16713 16714 for (let i = 0; i < slides.length; i += 1) { 16715 const $slideEl = slides.eq(i); 16716 const slideProgress = $slideEl[0].progress; 16717 const progress = Math.min(Math.max($slideEl[0].progress, -params.limitProgress), params.limitProgress); 16718 let originalProgress = progress; 16719 16720 if (!isCenteredSlides) { 16721 originalProgress = Math.min(Math.max($slideEl[0].originalProgress, -params.limitProgress), params.limitProgress); 16722 } 16723 16724 const offset = $slideEl[0].swiperSlideOffset; 16725 const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0]; 16726 const r = [0, 0, 0]; 16727 let custom = false; 16728 16729 if (!swiper.isHorizontal()) { 16730 t[1] = t[0]; 16731 t[0] = 0; 16732 } 16733 16734 let data = { 16735 translate: [0, 0, 0], 16736 rotate: [0, 0, 0], 16737 scale: 1, 16738 opacity: 1 16739 }; 16740 16741 if (progress < 0) { 16742 data = params.next; 16743 custom = true; 16744 } else if (progress > 0) { 16745 data = params.prev; 16746 custom = true; 16747 } // set translate 16748 16749 16750 t.forEach((value, index) => { 16751 t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`; 16752 }); // set rotates 16753 16754 r.forEach((value, index) => { 16755 r[index] = data.rotate[index] * Math.abs(progress * multiplier); 16756 }); 16757 $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length; 16758 const translateString = t.join(', '); 16759 const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`; 16760 const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`; 16761 const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier; 16762 const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`; // Set shadows 16763 16764 if (custom && data.shadow || !custom) { 16765 let $shadowEl = $slideEl.children('.swiper-slide-shadow'); 16766 16767 if ($shadowEl.length === 0 && data.shadow) { 16768 $shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl); 16769 } 16770 16771 if ($shadowEl.length) { 16772 const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress; 16773 $shadowEl[0].style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1); 16774 } 16775 } 16776 16777 const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, $slideEl); 16778 $targetEl.transform(transform).css({ 16779 opacity: opacityString 16780 }); 16781 16782 if (data.origin) { 16783 $targetEl.css('transform-origin', data.origin); 16784 } 16785 } 16786 }; 16787 16788 const setTransition = duration => { 16789 const { 16790 transformEl 16791 } = swiper.params.creativeEffect; 16792 const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; 16793 $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration); 16794 (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__["default"])({ 16795 swiper, 16796 duration, 16797 transformEl, 16798 allSlides: true 16799 }); 16800 }; 16801 16802 (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({ 16803 effect: 'creative', 16804 swiper, 16805 on, 16806 setTranslate, 16807 setTransition, 16808 perspective: () => swiper.params.creativeEffect.perspective, 16809 overwriteParams: () => ({ 16810 watchSlidesProgress: true, 16811 virtualTranslate: !swiper.params.cssMode 16812 }) 16813 }); 16814} 16815 16816/***/ }), 16817
vendor: 7,419 bytes, lines 16818-17028
16818/***/ "./node_modules/swiper/modules/effect-cube/effect-cube.js": 16819/*!****************************************************************!*\ 16820 !*** ./node_modules/swiper/modules/effect-cube/effect-cube.js ***! 16821 \****************************************************************/ 16822/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 16823 16824__webpack_require__.r(__webpack_exports__); 16825/* harmony export */ __webpack_require__.d(__webpack_exports__, { 16826/* harmony export */ "default": function() { return /* binding */ EffectCube; } 16827/* harmony export */ }); 16828/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 16829/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js"); 16830 16831 16832function EffectCube(_ref) { 16833 let { 16834 swiper, 16835 extendParams, 16836 on 16837 } = _ref; 16838 extendParams({ 16839 cubeEffect: { 16840 slideShadows: true, 16841 shadow: true, 16842 shadowOffset: 20, 16843 shadowScale: 0.94 16844 } 16845 }); 16846 16847 const createSlideShadows = ($slideEl, progress, isHorizontal) => { 16848 let shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top'); 16849 let shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom'); 16850 16851 if (shadowBefore.length === 0) { 16852 shadowBefore = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(`<div class="swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}"></div>`); 16853 $slideEl.append(shadowBefore); 16854 } 16855 16856 if (shadowAfter.length === 0) { 16857 shadowAfter = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(`<div class="swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}"></div>`); 16858 $slideEl.append(shadowAfter); 16859 } 16860 16861 if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0); 16862 if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0); 16863 }; 16864 16865 const recreateShadows = () => { 16866 // create new ones 16867 const isHorizontal = swiper.isHorizontal(); 16868 swiper.slides.each(slideEl => { 16869 const progress = Math.max(Math.min(slideEl.progress, 1), -1); 16870 createSlideShadows((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(slideEl), progress, isHorizontal); 16871 }); 16872 }; 16873 16874 const setTranslate = () => { 16875 const { 16876 $el, 16877 $wrapperEl, 16878 slides, 16879 width: swiperWidth, 16880 height: swiperHeight, 16881 rtlTranslate: rtl, 16882 size: swiperSize, 16883 browser 16884 } = swiper; 16885 const params = swiper.params.cubeEffect; 16886 const isHorizontal = swiper.isHorizontal(); 16887 const isVirtual = swiper.virtual && swiper.params.virtual.enabled; 16888 let wrapperRotate = 0; 16889 let $cubeShadowEl; 16890 16891 if (params.shadow) { 16892 if (isHorizontal) { 16893 $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow'); 16894 16895 if ($cubeShadowEl.length === 0) { 16896 $cubeShadowEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])('<div class="swiper-cube-shadow"></div>'); 16897 $wrapperEl.append($cubeShadowEl); 16898 } 16899 16900 $cubeShadowEl.css({ 16901 height: `${swiperWidth}px` 16902 }); 16903 } else { 16904 $cubeShadowEl = $el.find('.swiper-cube-shadow'); 16905 16906 if ($cubeShadowEl.length === 0) { 16907 $cubeShadowEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])('<div class="swiper-cube-shadow"></div>'); 16908 $el.append($cubeShadowEl); 16909 } 16910 } 16911 } 16912 16913 for (let i = 0; i < slides.length; i += 1) { 16914 const $slideEl = slides.eq(i); 16915 let slideIndex = i; 16916 16917 if (isVirtual) { 16918 slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10); 16919 } 16920 16921 let slideAngle = slideIndex * 90; 16922 let round = Math.floor(slideAngle / 360); 16923 16924 if (rtl) { 16925 slideAngle = -slideAngle; 16926 round = Math.floor(-slideAngle / 360); 16927 } 16928 16929 const progress = Math.max(Math.min($slideEl[0].progress, 1), -1); 16930 let tx = 0; 16931 let ty = 0; 16932 let tz = 0; 16933 16934 if (slideIndex % 4 === 0) { 16935 tx = -round * 4 * swiperSize; 16936 tz = 0; 16937 } else if ((slideIndex - 1) % 4 === 0) { 16938 tx = 0; 16939 tz = -round * 4 * swiperSize; 16940 } else if ((slideIndex - 2) % 4 === 0) { 16941 tx = swiperSize + round * 4 * swiperSize; 16942 tz = swiperSize; 16943 } else if ((slideIndex - 3) % 4 === 0) { 16944 tx = -swiperSize; 16945 tz = 3 * swiperSize + swiperSize * 4 * round; 16946 } 16947 16948 if (rtl) { 16949 tx = -tx; 16950 } 16951 16952 if (!isHorizontal) { 16953 ty = tx; 16954 tx = 0; 16955 } 16956 16957 const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`; 16958 16959 if (progress <= 1 && progress > -1) { 16960 wrapperRotate = slideIndex * 90 + progress * 90; 16961 if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90; 16962 } 16963 16964 $slideEl.transform(transform); 16965 16966 if (params.slideShadows) { 16967 createSlideShadows($slideEl, progress, isHorizontal); 16968 } 16969 } 16970 16971 $wrapperEl.css({ 16972 '-webkit-transform-origin': `50% 50% -${swiperSize / 2}px`, 16973 'transform-origin': `50% 50% -${swiperSize / 2}px` 16974 }); 16975 16976 if (params.shadow) { 16977 if (isHorizontal) { 16978 $cubeShadowEl.transform(`translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(90deg) rotateZ(0deg) scale(${params.shadowScale})`); 16979 } else { 16980 const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90; 16981 const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2); 16982 const scale1 = params.shadowScale; 16983 const scale2 = params.shadowScale / multiplier; 16984 const offset = params.shadowOffset; 16985 $cubeShadowEl.transform(`scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-90deg)`); 16986 } 16987 } 16988 16989 const zFactor = browser.isSafari || browser.isWebView ? -swiperSize / 2 : 0; 16990 $wrapperEl.transform(`translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`); 16991 $wrapperEl[0].style.setProperty('--swiper-cube-translate-z', `${zFactor}px`); 16992 }; 16993 16994 const setTransition = duration => { 16995 const { 16996 $el, 16997 slides 16998 } = swiper; 16999 slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); 17000 17001 if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) { 17002 $el.find('.swiper-cube-shadow').transition(duration); 17003 } 17004 }; 17005 17006 (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({ 17007 effect: 'cube', 17008 swiper, 17009 on, 17010 setTranslate, 17011 setTransition, 17012 recreateShadows, 17013 getEffectParams: () => swiper.params.cubeEffect, 17014 perspective: () => true, 17015 overwriteParams: () => ({ 17016 slidesPerView: 1, 17017 slidesPerGroup: 1, 17018 watchSlidesProgress: true, 17019 resistanceRatio: 0, 17020 spaceBetween: 0, 17021 centeredSlides: false, 17022 virtualTranslate: true 17023 }) 17024 }); 17025} 17026 17027/***/ }), 17028
vendor: 3,008 bytes, lines 17029-17115
17029/***/ "./node_modules/swiper/modules/effect-fade/effect-fade.js": 17030/*!****************************************************************!*\ 17031 !*** ./node_modules/swiper/modules/effect-fade/effect-fade.js ***! 17032 \****************************************************************/ 17033/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 17034 17035__webpack_require__.r(__webpack_exports__); 17036/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17037/* harmony export */ "default": function() { return /* binding */ EffectFade; } 17038/* harmony export */ }); 17039/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js"); 17040/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js"); 17041/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js"); 17042 17043 17044 17045function EffectFade(_ref) { 17046 let { 17047 swiper, 17048 extendParams, 17049 on 17050 } = _ref; 17051 extendParams({ 17052 fadeEffect: { 17053 crossFade: false, 17054 transformEl: null 17055 } 17056 }); 17057 17058 const setTranslate = () => { 17059 const { 17060 slides 17061 } = swiper; 17062 const params = swiper.params.fadeEffect; 17063 17064 for (let i = 0; i < slides.length; i += 1) { 17065 const $slideEl = swiper.slides.eq(i); 17066 const offset = $slideEl[0].swiperSlideOffset; 17067 let tx = -offset; 17068 if (!swiper.params.virtualTranslate) tx -= swiper.translate; 17069 let ty = 0; 17070 17071 if (!swiper.isHorizontal()) { 17072 ty = tx; 17073 tx = 0; 17074 } 17075 17076 const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0); 17077 const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params, $slideEl); 17078 $targetEl.css({ 17079 opacity: slideOpacity 17080 }).transform(`translate3d(${tx}px, ${ty}px, 0px)`); 17081 } 17082 }; 17083 17084 const setTransition = duration => { 17085 const { 17086 transformEl 17087 } = swiper.params.fadeEffect; 17088 const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; 17089 $transitionElements.transition(duration); 17090 (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__["default"])({ 17091 swiper, 17092 duration, 17093 transformEl, 17094 allSlides: true 17095 }); 17096 }; 17097 17098 (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__["default"])({ 17099 effect: 'fade', 17100 swiper, 17101 on, 17102 setTranslate, 17103 setTransition, 17104 overwriteParams: () => ({ 17105 slidesPerView: 1, 17106 slidesPerGroup: 1, 17107 watchSlidesProgress: true, 17108 spaceBetween: 0, 17109 virtualTranslate: !swiper.params.cssMode 17110 }) 17111 }); 17112} 17113 17114/***/ }), 17115
vendor: 5,381 bytes, lines 17116-17257
17116/***/ "./node_modules/swiper/modules/effect-flip/effect-flip.js": 17117/*!****************************************************************!*\ 17118 !*** ./node_modules/swiper/modules/effect-flip/effect-flip.js ***! 17119 \****************************************************************/ 17120/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 17121 17122__webpack_require__.r(__webpack_exports__); 17123/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17124/* harmony export */ "default": function() { return /* binding */ EffectFlip; } 17125/* harmony export */ }); 17126/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 17127/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js"); 17128/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js"); 17129/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js"); 17130/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js"); 17131 17132 17133 17134 17135 17136function EffectFlip(_ref) { 17137 let { 17138 swiper, 17139 extendParams, 17140 on 17141 } = _ref; 17142 extendParams({ 17143 flipEffect: { 17144 slideShadows: true, 17145 limitRotation: true, 17146 transformEl: null 17147 } 17148 }); 17149 17150 const createSlideShadows = ($slideEl, progress, params) => { 17151 let shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top'); 17152 let shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom'); 17153 17154 if (shadowBefore.length === 0) { 17155 shadowBefore = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params, $slideEl, swiper.isHorizontal() ? 'left' : 'top'); 17156 } 17157 17158 if (shadowAfter.length === 0) { 17159 shadowAfter = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params, $slideEl, swiper.isHorizontal() ? 'right' : 'bottom'); 17160 } 17161 17162 if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0); 17163 if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0); 17164 }; 17165 17166 const recreateShadows = () => { 17167 // Set shadows 17168 const params = swiper.params.flipEffect; 17169 swiper.slides.each(slideEl => { 17170 const $slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(slideEl); 17171 let progress = $slideEl[0].progress; 17172 17173 if (swiper.params.flipEffect.limitRotation) { 17174 progress = Math.max(Math.min(slideEl.progress, 1), -1); 17175 } 17176 17177 createSlideShadows($slideEl, progress, params); 17178 }); 17179 }; 17180 17181 const setTranslate = () => { 17182 const { 17183 slides, 17184 rtlTranslate: rtl 17185 } = swiper; 17186 const params = swiper.params.flipEffect; 17187 17188 for (let i = 0; i < slides.length; i += 1) { 17189 const $slideEl = slides.eq(i); 17190 let progress = $slideEl[0].progress; 17191 17192 if (swiper.params.flipEffect.limitRotation) { 17193 progress = Math.max(Math.min($slideEl[0].progress, 1), -1); 17194 } 17195 17196 const offset = $slideEl[0].swiperSlideOffset; 17197 const rotate = -180 * progress; 17198 let rotateY = rotate; 17199 let rotateX = 0; 17200 let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset; 17201 let ty = 0; 17202 17203 if (!swiper.isHorizontal()) { 17204 ty = tx; 17205 tx = 0; 17206 rotateX = -rotateY; 17207 rotateY = 0; 17208 } else if (rtl) { 17209 rotateY = -rotateY; 17210 } 17211 17212 $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length; 17213 17214 if (params.slideShadows) { 17215 createSlideShadows($slideEl, progress, params); 17216 } 17217 17218 const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`; 17219 const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_3__["default"])(params, $slideEl); 17220 $targetEl.transform(transform); 17221 } 17222 }; 17223 17224 const setTransition = duration => { 17225 const { 17226 transformEl 17227 } = swiper.params.flipEffect; 17228 const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides; 17229 $transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); 17230 (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_4__["default"])({ 17231 swiper, 17232 duration, 17233 transformEl 17234 }); 17235 }; 17236 17237 (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_2__["default"])({ 17238 effect: 'flip', 17239 swiper, 17240 on, 17241 setTranslate, 17242 setTransition, 17243 recreateShadows, 17244 getEffectParams: () => swiper.params.flipEffect, 17245 perspective: () => true, 17246 overwriteParams: () => ({ 17247 slidesPerView: 1, 17248 slidesPerGroup: 1, 17249 watchSlidesProgress: true, 17250 spaceBetween: 0, 17251 virtualTranslate: !swiper.params.cssMode 17252 }) 17253 }); 17254} 17255 17256/***/ }), 17257
vendor: 9,021 bytes, lines 17258-17529
17258/***/ "./node_modules/swiper/modules/free-mode/free-mode.js": 17259/*!************************************************************!*\ 17260 !*** ./node_modules/swiper/modules/free-mode/free-mode.js ***! 17261 \************************************************************/ 17262/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 17263 17264__webpack_require__.r(__webpack_exports__); 17265/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17266/* harmony export */ "default": function() { return /* binding */ freeMode; } 17267/* harmony export */ }); 17268/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 17269 17270function freeMode(_ref) { 17271 let { 17272 swiper, 17273 extendParams, 17274 emit, 17275 once 17276 } = _ref; 17277 extendParams({ 17278 freeMode: { 17279 enabled: false, 17280 momentum: true, 17281 momentumRatio: 1, 17282 momentumBounce: true, 17283 momentumBounceRatio: 1, 17284 momentumVelocityRatio: 1, 17285 sticky: false, 17286 minimumVelocity: 0.02 17287 } 17288 }); 17289 17290 function onTouchStart() { 17291 const translate = swiper.getTranslate(); 17292 swiper.setTranslate(translate); 17293 swiper.setTransition(0); 17294 swiper.touchEventsData.velocities.length = 0; 17295 swiper.freeMode.onTouchEnd({ 17296 currentPos: swiper.rtl ? swiper.translate : -swiper.translate 17297 }); 17298 } 17299 17300 function onTouchMove() { 17301 const { 17302 touchEventsData: data, 17303 touches 17304 } = swiper; // Velocity 17305 17306 if (data.velocities.length === 0) { 17307 data.velocities.push({ 17308 position: touches[swiper.isHorizontal() ? 'startX' : 'startY'], 17309 time: data.touchStartTime 17310 }); 17311 } 17312 17313 data.velocities.push({ 17314 position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'], 17315 time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)() 17316 }); 17317 } 17318 17319 function onTouchEnd(_ref2) { 17320 let { 17321 currentPos 17322 } = _ref2; 17323 const { 17324 params, 17325 $wrapperEl, 17326 rtlTranslate: rtl, 17327 snapGrid, 17328 touchEventsData: data 17329 } = swiper; // Time diff 17330 17331 const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)(); 17332 const timeDiff = touchEndTime - data.touchStartTime; 17333 17334 if (currentPos < -swiper.minTranslate()) { 17335 swiper.slideTo(swiper.activeIndex); 17336 return; 17337 } 17338 17339 if (currentPos > -swiper.maxTranslate()) { 17340 if (swiper.slides.length < snapGrid.length) { 17341 swiper.slideTo(snapGrid.length - 1); 17342 } else { 17343 swiper.slideTo(swiper.slides.length - 1); 17344 } 17345 17346 return; 17347 } 17348 17349 if (params.freeMode.momentum) { 17350 if (data.velocities.length > 1) { 17351 const lastMoveEvent = data.velocities.pop(); 17352 const velocityEvent = data.velocities.pop(); 17353 const distance = lastMoveEvent.position - velocityEvent.position; 17354 const time = lastMoveEvent.time - velocityEvent.time; 17355 swiper.velocity = distance / time; 17356 swiper.velocity /= 2; 17357 17358 if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) { 17359 swiper.velocity = 0; 17360 } // this implies that the user stopped moving a finger then released. 17361 // There would be no events with distance zero, so the last event is stale. 17362 17363 17364 if (time > 150 || (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)() - lastMoveEvent.time > 300) { 17365 swiper.velocity = 0; 17366 } 17367 } else { 17368 swiper.velocity = 0; 17369 } 17370 17371 swiper.velocity *= params.freeMode.momentumVelocityRatio; 17372 data.velocities.length = 0; 17373 let momentumDuration = 1000 * params.freeMode.momentumRatio; 17374 const momentumDistance = swiper.velocity * momentumDuration; 17375 let newPosition = swiper.translate + momentumDistance; 17376 if (rtl) newPosition = -newPosition; 17377 let doBounce = false; 17378 let afterBouncePosition; 17379 const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio; 17380 let needsLoopFix; 17381 17382 if (newPosition < swiper.maxTranslate()) { 17383 if (params.freeMode.momentumBounce) { 17384 if (newPosition + swiper.maxTranslate() < -bounceAmount) { 17385 newPosition = swiper.maxTranslate() - bounceAmount; 17386 } 17387 17388 afterBouncePosition = swiper.maxTranslate(); 17389 doBounce = true; 17390 data.allowMomentumBounce = true; 17391 } else { 17392 newPosition = swiper.maxTranslate(); 17393 } 17394 17395 if (params.loop && params.centeredSlides) needsLoopFix = true; 17396 } else if (newPosition > swiper.minTranslate()) { 17397 if (params.freeMode.momentumBounce) { 17398 if (newPosition - swiper.minTranslate() > bounceAmount) { 17399 newPosition = swiper.minTranslate() + bounceAmount; 17400 } 17401 17402 afterBouncePosition = swiper.minTranslate(); 17403 doBounce = true; 17404 data.allowMomentumBounce = true; 17405 } else { 17406 newPosition = swiper.minTranslate(); 17407 } 17408 17409 if (params.loop && params.centeredSlides) needsLoopFix = true; 17410 } else if (params.freeMode.sticky) { 17411 let nextSlide; 17412 17413 for (let j = 0; j < snapGrid.length; j += 1) { 17414 if (snapGrid[j] > -newPosition) { 17415 nextSlide = j; 17416 break; 17417 } 17418 } 17419 17420 if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') { 17421 newPosition = snapGrid[nextSlide]; 17422 } else { 17423 newPosition = snapGrid[nextSlide - 1]; 17424 } 17425 17426 newPosition = -newPosition; 17427 } 17428 17429 if (needsLoopFix) { 17430 once('transitionEnd', () => { 17431 swiper.loopFix(); 17432 }); 17433 } // Fix duration 17434 17435 17436 if (swiper.velocity !== 0) { 17437 if (rtl) { 17438 momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity); 17439 } else { 17440 momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity); 17441 } 17442 17443 if (params.freeMode.sticky) { 17444 // If freeMode.sticky is active and the user ends a swipe with a slow-velocity 17445 // event, then durations can be 20+ seconds to slide one (or zero!) slides. 17446 // It's easy to see this when simulating touch with mouse events. To fix this, 17447 // limit single-slide swipes to the default slide duration. This also has the 17448 // nice side effect of matching slide speed if the user stopped moving before 17449 // lifting finger or mouse vs. moving slowly before lifting the finger/mouse. 17450 // For faster swipes, also apply limits (albeit higher ones). 17451 const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate); 17452 const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex]; 17453 17454 if (moveDistance < currentSlideSize) { 17455 momentumDuration = params.speed; 17456 } else if (moveDistance < 2 * currentSlideSize) { 17457 momentumDuration = params.speed * 1.5; 17458 } else { 17459 momentumDuration = params.speed * 2.5; 17460 } 17461 } 17462 } else if (params.freeMode.sticky) { 17463 swiper.slideToClosest(); 17464 return; 17465 } 17466 17467 if (params.freeMode.momentumBounce && doBounce) { 17468 swiper.updateProgress(afterBouncePosition); 17469 swiper.setTransition(momentumDuration); 17470 swiper.setTranslate(newPosition); 17471 swiper.transitionStart(true, swiper.swipeDirection); 17472 swiper.animating = true; 17473 $wrapperEl.transitionEnd(() => { 17474 if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return; 17475 emit('momentumBounce'); 17476 swiper.setTransition(params.speed); 17477 setTimeout(() => { 17478 swiper.setTranslate(afterBouncePosition); 17479 $wrapperEl.transitionEnd(() => { 17480 if (!swiper || swiper.destroyed) return; 17481 swiper.transitionEnd(); 17482 }); 17483 }, 0); 17484 }); 17485 } else if (swiper.velocity) { 17486 emit('_freeModeNoMomentumRelease'); 17487 swiper.updateProgress(newPosition); 17488 swiper.setTransition(momentumDuration); 17489 swiper.setTranslate(newPosition); 17490 swiper.transitionStart(true, swiper.swipeDirection); 17491 17492 if (!swiper.animating) { 17493 swiper.animating = true; 17494 $wrapperEl.transitionEnd(() => { 17495 if (!swiper || swiper.destroyed) return; 17496 swiper.transitionEnd(); 17497 }); 17498 } 17499 } else { 17500 swiper.updateProgress(newPosition); 17501 } 17502 17503 swiper.updateActiveIndex(); 17504 swiper.updateSlidesClasses(); 17505 } else if (params.freeMode.sticky) { 17506 swiper.slideToClosest(); 17507 return; 17508 } else if (params.freeMode) { 17509 emit('_freeModeNoMomentumRelease'); 17510 } 17511 17512 if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) { 17513 swiper.updateProgress(); 17514 swiper.updateActiveIndex(); 17515 swiper.updateSlidesClasses(); 17516 } 17517 } 17518 17519 Object.assign(swiper, { 17520 freeMode: { 17521 onTouchStart, 17522 onTouchMove, 17523 onTouchEnd 17524 } 17525 }); 17526} 17527 17528/***/ }), 17529
vendor: 3,843 bytes, lines 17530-17659
17530/***/ "./node_modules/swiper/modules/grid/grid.js": 17531/*!**************************************************!*\ 17532 !*** ./node_modules/swiper/modules/grid/grid.js ***! 17533 \**************************************************/ 17534/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 17535 17536__webpack_require__.r(__webpack_exports__); 17537/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17538/* harmony export */ "default": function() { return /* binding */ Grid; } 17539/* harmony export */ }); 17540function Grid(_ref) { 17541 let { 17542 swiper, 17543 extendParams 17544 } = _ref; 17545 extendParams({ 17546 grid: { 17547 rows: 1, 17548 fill: 'column' 17549 } 17550 }); 17551 let slidesNumberEvenToRows; 17552 let slidesPerRow; 17553 let numFullColumns; 17554 17555 const initSlides = slidesLength => { 17556 const { 17557 slidesPerView 17558 } = swiper.params; 17559 const { 17560 rows, 17561 fill 17562 } = swiper.params.grid; 17563 slidesPerRow = slidesNumberEvenToRows / rows; 17564 numFullColumns = Math.floor(slidesLength / rows); 17565 17566 if (Math.floor(slidesLength / rows) === slidesLength / rows) { 17567 slidesNumberEvenToRows = slidesLength; 17568 } else { 17569 slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows; 17570 } 17571 17572 if (slidesPerView !== 'auto' && fill === 'row') { 17573 slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows); 17574 } 17575 }; 17576 17577 const updateSlide = (i, slide, slidesLength, getDirectionLabel) => { 17578 const { 17579 slidesPerGroup, 17580 spaceBetween 17581 } = swiper.params; 17582 const { 17583 rows, 17584 fill 17585 } = swiper.params.grid; // Set slides order 17586 17587 let newSlideOrderIndex; 17588 let column; 17589 let row; 17590 17591 if (fill === 'row' && slidesPerGroup > 1) { 17592 const groupIndex = Math.floor(i / (slidesPerGroup * rows)); 17593 const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex; 17594 const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup); 17595 row = Math.floor(slideIndexInGroup / columnsInGroup); 17596 column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup; 17597 newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows; 17598 slide.css({ 17599 '-webkit-order': newSlideOrderIndex, 17600 order: newSlideOrderIndex 17601 }); 17602 } else if (fill === 'column') { 17603 column = Math.floor(i / rows); 17604 row = i - column * rows; 17605 17606 if (column > numFullColumns || column === numFullColumns && row === rows - 1) { 17607 row += 1; 17608 17609 if (row >= rows) { 17610 row = 0; 17611 column += 1; 17612 } 17613 } 17614 } else { 17615 row = Math.floor(i / slidesPerRow); 17616 column = i - row * slidesPerRow; 17617 } 17618 17619 slide.css(getDirectionLabel('margin-top'), row !== 0 ? spaceBetween && `${spaceBetween}px` : ''); 17620 }; 17621 17622 const updateWrapperSize = (slideSize, snapGrid, getDirectionLabel) => { 17623 const { 17624 spaceBetween, 17625 centeredSlides, 17626 roundLengths 17627 } = swiper.params; 17628 const { 17629 rows 17630 } = swiper.params.grid; 17631 swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows; 17632 swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween; 17633 swiper.$wrapperEl.css({ 17634 [getDirectionLabel('width')]: `${swiper.virtualSize + spaceBetween}px` 17635 }); 17636 17637 if (centeredSlides) { 17638 snapGrid.splice(0, snapGrid.length); 17639 const newSlidesGrid = []; 17640 17641 for (let i = 0; i < snapGrid.length; i += 1) { 17642 let slidesGridItem = snapGrid[i]; 17643 if (roundLengths) slidesGridItem = Math.floor(slidesGridItem); 17644 if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem); 17645 } 17646 17647 snapGrid.push(...newSlidesGrid); 17648 } 17649 }; 17650 17651 swiper.grid = { 17652 initSlides, 17653 updateSlide, 17654 updateWrapperSize 17655 }; 17656} 17657 17658/***/ }), 17659
vendor: 3,831 bytes, lines 17660-17771
17660/***/ "./node_modules/swiper/modules/hash-navigation/hash-navigation.js": 17661/*!************************************************************************!*\ 17662 !*** ./node_modules/swiper/modules/hash-navigation/hash-navigation.js ***! 17663 \************************************************************************/ 17664/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 17665 17666__webpack_require__.r(__webpack_exports__); 17667/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17668/* harmony export */ "default": function() { return /* binding */ HashNavigation; } 17669/* harmony export */ }); 17670/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 17671/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 17672 17673 17674function HashNavigation(_ref) { 17675 let { 17676 swiper, 17677 extendParams, 17678 emit, 17679 on 17680 } = _ref; 17681 let initialized = false; 17682 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 17683 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 17684 extendParams({ 17685 hashNavigation: { 17686 enabled: false, 17687 replaceState: false, 17688 watchState: false 17689 } 17690 }); 17691 17692 const onHashChange = () => { 17693 emit('hashChange'); 17694 const newHash = document.location.hash.replace('#', ''); 17695 const activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash'); 17696 17697 if (newHash !== activeSlideHash) { 17698 const newIndex = swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-hash="${newHash}"]`).index(); 17699 if (typeof newIndex === 'undefined') return; 17700 swiper.slideTo(newIndex); 17701 } 17702 }; 17703 17704 const setHash = () => { 17705 if (!initialized || !swiper.params.hashNavigation.enabled) return; 17706 17707 if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) { 17708 window.history.replaceState(null, null, `#${swiper.slides.eq(swiper.activeIndex).attr('data-hash')}` || ''); 17709 emit('hashSet'); 17710 } else { 17711 const slide = swiper.slides.eq(swiper.activeIndex); 17712 const hash = slide.attr('data-hash') || slide.attr('data-history'); 17713 document.location.hash = hash || ''; 17714 emit('hashSet'); 17715 } 17716 }; 17717 17718 const init = () => { 17719 if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return; 17720 initialized = true; 17721 const hash = document.location.hash.replace('#', ''); 17722 17723 if (hash) { 17724 const speed = 0; 17725 17726 for (let i = 0, length = swiper.slides.length; i < length; i += 1) { 17727 const slide = swiper.slides.eq(i); 17728 const slideHash = slide.attr('data-hash') || slide.attr('data-history'); 17729 17730 if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) { 17731 const index = slide.index(); 17732 swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true); 17733 } 17734 } 17735 } 17736 17737 if (swiper.params.hashNavigation.watchState) { 17738 (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(window).on('hashchange', onHashChange); 17739 } 17740 }; 17741 17742 const destroy = () => { 17743 if (swiper.params.hashNavigation.watchState) { 17744 (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(window).off('hashchange', onHashChange); 17745 } 17746 }; 17747 17748 on('init', () => { 17749 if (swiper.params.hashNavigation.enabled) { 17750 init(); 17751 } 17752 }); 17753 on('destroy', () => { 17754 if (swiper.params.hashNavigation.enabled) { 17755 destroy(); 17756 } 17757 }); 17758 on('transitionEnd _freeModeNoMomentumRelease', () => { 17759 if (initialized) { 17760 setHash(); 17761 } 17762 }); 17763 on('slideChange', () => { 17764 if (initialized && swiper.params.cssMode) { 17765 setHash(); 17766 } 17767 }); 17768} 17769 17770/***/ }), 17771
vendor: 4,846 bytes, lines 17772-17941
17772/***/ "./node_modules/swiper/modules/history/history.js": 17773/*!********************************************************!*\ 17774 !*** ./node_modules/swiper/modules/history/history.js ***! 17775 \********************************************************/ 17776/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 17777 17778__webpack_require__.r(__webpack_exports__); 17779/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17780/* harmony export */ "default": function() { return /* binding */ History; } 17781/* harmony export */ }); 17782/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 17783 17784function History(_ref) { 17785 let { 17786 swiper, 17787 extendParams, 17788 on 17789 } = _ref; 17790 extendParams({ 17791 history: { 17792 enabled: false, 17793 root: '', 17794 replaceState: false, 17795 key: 'slides', 17796 keepQuery: false 17797 } 17798 }); 17799 let initialized = false; 17800 let paths = {}; 17801 17802 const slugify = text => { 17803 return text.toString().replace(/\s+/g, '-').replace(/[^\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, ''); 17804 }; 17805 17806 const getPathValues = urlOverride => { 17807 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 17808 let location; 17809 17810 if (urlOverride) { 17811 location = new URL(urlOverride); 17812 } else { 17813 location = window.location; 17814 } 17815 17816 const pathArray = location.pathname.slice(1).split('/').filter(part => part !== ''); 17817 const total = pathArray.length; 17818 const key = pathArray[total - 2]; 17819 const value = pathArray[total - 1]; 17820 return { 17821 key, 17822 value 17823 }; 17824 }; 17825 17826 const setHistory = (key, index) => { 17827 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 17828 if (!initialized || !swiper.params.history.enabled) return; 17829 let location; 17830 17831 if (swiper.params.url) { 17832 location = new URL(swiper.params.url); 17833 } else { 17834 location = window.location; 17835 } 17836 17837 const slide = swiper.slides.eq(index); 17838 let value = slugify(slide.attr('data-history')); 17839 17840 if (swiper.params.history.root.length > 0) { 17841 let root = swiper.params.history.root; 17842 if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1); 17843 value = `${root}/${key}/${value}`; 17844 } else if (!location.pathname.includes(key)) { 17845 value = `${key}/${value}`; 17846 } 17847 17848 if (swiper.params.history.keepQuery) { 17849 value += location.search; 17850 } 17851 17852 const currentState = window.history.state; 17853 17854 if (currentState && currentState.value === value) { 17855 return; 17856 } 17857 17858 if (swiper.params.history.replaceState) { 17859 window.history.replaceState({ 17860 value 17861 }, null, value); 17862 } else { 17863 window.history.pushState({ 17864 value 17865 }, null, value); 17866 } 17867 }; 17868 17869 const scrollToSlide = (speed, value, runCallbacks) => { 17870 if (value) { 17871 for (let i = 0, length = swiper.slides.length; i < length; i += 1) { 17872 const slide = swiper.slides.eq(i); 17873 const slideHistory = slugify(slide.attr('data-history')); 17874 17875 if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) { 17876 const index = slide.index(); 17877 swiper.slideTo(index, speed, runCallbacks); 17878 } 17879 } 17880 } else { 17881 swiper.slideTo(0, speed, runCallbacks); 17882 } 17883 }; 17884 17885 const setHistoryPopState = () => { 17886 paths = getPathValues(swiper.params.url); 17887 scrollToSlide(swiper.params.speed, paths.value, false); 17888 }; 17889 17890 const init = () => { 17891 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 17892 if (!swiper.params.history) return; 17893 17894 if (!window.history || !window.history.pushState) { 17895 swiper.params.history.enabled = false; 17896 swiper.params.hashNavigation.enabled = true; 17897 return; 17898 } 17899 17900 initialized = true; 17901 paths = getPathValues(swiper.params.url); 17902 if (!paths.key && !paths.value) return; 17903 scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit); 17904 17905 if (!swiper.params.history.replaceState) { 17906 window.addEventListener('popstate', setHistoryPopState); 17907 } 17908 }; 17909 17910 const destroy = () => { 17911 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 17912 17913 if (!swiper.params.history.replaceState) { 17914 window.removeEventListener('popstate', setHistoryPopState); 17915 } 17916 }; 17917 17918 on('init', () => { 17919 if (swiper.params.history.enabled) { 17920 init(); 17921 } 17922 }); 17923 on('destroy', () => { 17924 if (swiper.params.history.enabled) { 17925 destroy(); 17926 } 17927 }); 17928 on('transitionEnd _freeModeNoMomentumRelease', () => { 17929 if (initialized) { 17930 setHistory(swiper.params.history.key, swiper.activeIndex); 17931 } 17932 }); 17933 on('slideChange', () => { 17934 if (initialized && swiper.params.cssMode) { 17935 setHistory(swiper.params.history.key, swiper.activeIndex); 17936 } 17937 }); 17938} 17939 17940/***/ }), 17941
vendor: 5,229 bytes, lines 17942-18088
17942/***/ "./node_modules/swiper/modules/keyboard/keyboard.js": 17943/*!**********************************************************!*\ 17944 !*** ./node_modules/swiper/modules/keyboard/keyboard.js ***! 17945 \**********************************************************/ 17946/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 17947 17948__webpack_require__.r(__webpack_exports__); 17949/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17950/* harmony export */ "default": function() { return /* binding */ Keyboard; } 17951/* harmony export */ }); 17952/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 17953/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 17954/* eslint-disable consistent-return */ 17955 17956 17957function Keyboard(_ref) { 17958 let { 17959 swiper, 17960 extendParams, 17961 on, 17962 emit 17963 } = _ref; 17964 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 17965 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 17966 swiper.keyboard = { 17967 enabled: false 17968 }; 17969 extendParams({ 17970 keyboard: { 17971 enabled: false, 17972 onlyInViewport: true, 17973 pageUpDown: true 17974 } 17975 }); 17976 17977 function handle(event) { 17978 if (!swiper.enabled) return; 17979 const { 17980 rtlTranslate: rtl 17981 } = swiper; 17982 let e = event; 17983 if (e.originalEvent) e = e.originalEvent; // jquery fix 17984 17985 const kc = e.keyCode || e.charCode; 17986 const pageUpDown = swiper.params.keyboard.pageUpDown; 17987 const isPageUp = pageUpDown && kc === 33; 17988 const isPageDown = pageUpDown && kc === 34; 17989 const isArrowLeft = kc === 37; 17990 const isArrowRight = kc === 39; 17991 const isArrowUp = kc === 38; 17992 const isArrowDown = kc === 40; // Directions locks 17993 17994 if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) { 17995 return false; 17996 } 17997 17998 if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) { 17999 return false; 18000 } 18001 18002 if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) { 18003 return undefined; 18004 } 18005 18006 if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) { 18007 return undefined; 18008 } 18009 18010 if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) { 18011 let inView = false; // Check that swiper should be inside of visible area of window 18012 18013 if (swiper.$el.parents(`.${swiper.params.slideClass}`).length > 0 && swiper.$el.parents(`.${swiper.params.slideActiveClass}`).length === 0) { 18014 return undefined; 18015 } 18016 18017 const $el = swiper.$el; 18018 const swiperWidth = $el[0].clientWidth; 18019 const swiperHeight = $el[0].clientHeight; 18020 const windowWidth = window.innerWidth; 18021 const windowHeight = window.innerHeight; 18022 const swiperOffset = swiper.$el.offset(); 18023 if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft; 18024 const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]]; 18025 18026 for (let i = 0; i < swiperCoord.length; i += 1) { 18027 const point = swiperCoord[i]; 18028 18029 if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) { 18030 if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line 18031 18032 inView = true; 18033 } 18034 } 18035 18036 if (!inView) return undefined; 18037 } 18038 18039 if (swiper.isHorizontal()) { 18040 if (isPageUp || isPageDown || isArrowLeft || isArrowRight) { 18041 if (e.preventDefault) e.preventDefault();else e.returnValue = false; 18042 } 18043 18044 if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext(); 18045 if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev(); 18046 } else { 18047 if (isPageUp || isPageDown || isArrowUp || isArrowDown) { 18048 if (e.preventDefault) e.preventDefault();else e.returnValue = false; 18049 } 18050 18051 if (isPageDown || isArrowDown) swiper.slideNext(); 18052 if (isPageUp || isArrowUp) swiper.slidePrev(); 18053 } 18054 18055 emit('keyPress', kc); 18056 return undefined; 18057 } 18058 18059 function enable() { 18060 if (swiper.keyboard.enabled) return; 18061 (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(document).on('keydown', handle); 18062 swiper.keyboard.enabled = true; 18063 } 18064 18065 function disable() { 18066 if (!swiper.keyboard.enabled) return; 18067 (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(document).off('keydown', handle); 18068 swiper.keyboard.enabled = false; 18069 } 18070 18071 on('init', () => { 18072 if (swiper.params.keyboard.enabled) { 18073 enable(); 18074 } 18075 }); 18076 on('destroy', () => { 18077 if (swiper.keyboard.enabled) { 18078 disable(); 18079 } 18080 }); 18081 Object.assign(swiper.keyboard, { 18082 enable, 18083 disable 18084 }); 18085} 18086 18087/***/ }), 18088
vendor: 11,052 bytes, lines 18089-18395
18089/***/ "./node_modules/swiper/modules/lazy/lazy.js": 18090/*!**************************************************!*\ 18091 !*** ./node_modules/swiper/modules/lazy/lazy.js ***! 18092 \**************************************************/ 18093/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18094 18095__webpack_require__.r(__webpack_exports__); 18096/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18097/* harmony export */ "default": function() { return /* binding */ Lazy; } 18098/* harmony export */ }); 18099/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 18100/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 18101 18102 18103function Lazy(_ref) { 18104 let { 18105 swiper, 18106 extendParams, 18107 on, 18108 emit 18109 } = _ref; 18110 extendParams({ 18111 lazy: { 18112 checkInView: false, 18113 enabled: false, 18114 loadPrevNext: false, 18115 loadPrevNextAmount: 1, 18116 loadOnTransitionStart: false, 18117 scrollingElement: '', 18118 elementClass: 'swiper-lazy', 18119 loadingClass: 'swiper-lazy-loading', 18120 loadedClass: 'swiper-lazy-loaded', 18121 preloaderClass: 'swiper-lazy-preloader' 18122 } 18123 }); 18124 swiper.lazy = {}; 18125 let scrollHandlerAttached = false; 18126 let initialImageLoaded = false; 18127 18128 function loadInSlide(index, loadInDuplicate) { 18129 if (loadInDuplicate === void 0) { 18130 loadInDuplicate = true; 18131 } 18132 18133 const params = swiper.params.lazy; 18134 if (typeof index === 'undefined') return; 18135 if (swiper.slides.length === 0) return; 18136 const isVirtual = swiper.virtual && swiper.params.virtual.enabled; 18137 const $slideEl = isVirtual ? swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-swiper-slide-index="${index}"]`) : swiper.slides.eq(index); 18138 const $images = $slideEl.find(`.${params.elementClass}:not(.${params.loadedClass}):not(.${params.loadingClass})`); 18139 18140 if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) { 18141 $images.push($slideEl[0]); 18142 } 18143 18144 if ($images.length === 0) return; 18145 $images.each(imageEl => { 18146 const $imageEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(imageEl); 18147 $imageEl.addClass(params.loadingClass); 18148 const background = $imageEl.attr('data-background'); 18149 const src = $imageEl.attr('data-src'); 18150 const srcset = $imageEl.attr('data-srcset'); 18151 const sizes = $imageEl.attr('data-sizes'); 18152 const $pictureEl = $imageEl.parent('picture'); 18153 swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, () => { 18154 if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return; 18155 18156 if (background) { 18157 $imageEl.css('background-image', `url("${background}")`); 18158 $imageEl.removeAttr('data-background'); 18159 } else { 18160 if (srcset) { 18161 $imageEl.attr('srcset', srcset); 18162 $imageEl.removeAttr('data-srcset'); 18163 } 18164 18165 if (sizes) { 18166 $imageEl.attr('sizes', sizes); 18167 $imageEl.removeAttr('data-sizes'); 18168 } 18169 18170 if ($pictureEl.length) { 18171 $pictureEl.children('source').each(sourceEl => { 18172 const $source = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(sourceEl); 18173 18174 if ($source.attr('data-srcset')) { 18175 $source.attr('srcset', $source.attr('data-srcset')); 18176 $source.removeAttr('data-srcset'); 18177 } 18178 }); 18179 } 18180 18181 if (src) { 18182 $imageEl.attr('src', src); 18183 $imageEl.removeAttr('data-src'); 18184 } 18185 } 18186 18187 $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass); 18188 $slideEl.find(`.${params.preloaderClass}`).remove(); 18189 18190 if (swiper.params.loop && loadInDuplicate) { 18191 const slideOriginalIndex = $slideEl.attr('data-swiper-slide-index'); 18192 18193 if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) { 18194 const originalSlide = swiper.$wrapperEl.children(`[data-swiper-slide-index="${slideOriginalIndex}"]:not(.${swiper.params.slideDuplicateClass})`); 18195 loadInSlide(originalSlide.index(), false); 18196 } else { 18197 const duplicatedSlide = swiper.$wrapperEl.children(`.${swiper.params.slideDuplicateClass}[data-swiper-slide-index="${slideOriginalIndex}"]`); 18198 loadInSlide(duplicatedSlide.index(), false); 18199 } 18200 } 18201 18202 emit('lazyImageReady', $slideEl[0], $imageEl[0]); 18203 18204 if (swiper.params.autoHeight) { 18205 swiper.updateAutoHeight(); 18206 } 18207 }); 18208 emit('lazyImageLoad', $slideEl[0], $imageEl[0]); 18209 }); 18210 } 18211 18212 function load() { 18213 const { 18214 $wrapperEl, 18215 params: swiperParams, 18216 slides, 18217 activeIndex 18218 } = swiper; 18219 const isVirtual = swiper.virtual && swiperParams.virtual.enabled; 18220 const params = swiperParams.lazy; 18221 let slidesPerView = swiperParams.slidesPerView; 18222 18223 if (slidesPerView === 'auto') { 18224 slidesPerView = 0; 18225 } 18226 18227 function slideExist(index) { 18228 if (isVirtual) { 18229 if ($wrapperEl.children(`.${swiperParams.slideClass}[data-swiper-slide-index="${index}"]`).length) { 18230 return true; 18231 } 18232 } else if (slides[index]) return true; 18233 18234 return false; 18235 } 18236 18237 function slideIndex(slideEl) { 18238 if (isVirtual) { 18239 return (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl).attr('data-swiper-slide-index'); 18240 } 18241 18242 return (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl).index(); 18243 } 18244 18245 if (!initialImageLoaded) initialImageLoaded = true; 18246 18247 if (swiper.params.watchSlidesProgress) { 18248 $wrapperEl.children(`.${swiperParams.slideVisibleClass}`).each(slideEl => { 18249 const index = isVirtual ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl).attr('data-swiper-slide-index') : (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl).index(); 18250 loadInSlide(index); 18251 }); 18252 } else if (slidesPerView > 1) { 18253 for (let i = activeIndex; i < activeIndex + slidesPerView; i += 1) { 18254 if (slideExist(i)) loadInSlide(i); 18255 } 18256 } else { 18257 loadInSlide(activeIndex); 18258 } 18259 18260 if (params.loadPrevNext) { 18261 if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) { 18262 const amount = params.loadPrevNextAmount; 18263 const spv = Math.ceil(slidesPerView); 18264 const maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length); 18265 const minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides 18266 18267 for (let i = activeIndex + spv; i < maxIndex; i += 1) { 18268 if (slideExist(i)) loadInSlide(i); 18269 } // Prev Slides 18270 18271 18272 for (let i = minIndex; i < activeIndex; i += 1) { 18273 if (slideExist(i)) loadInSlide(i); 18274 } 18275 } else { 18276 const nextSlide = $wrapperEl.children(`.${swiperParams.slideNextClass}`); 18277 if (nextSlide.length > 0) loadInSlide(slideIndex(nextSlide)); 18278 const prevSlide = $wrapperEl.children(`.${swiperParams.slidePrevClass}`); 18279 if (prevSlide.length > 0) loadInSlide(slideIndex(prevSlide)); 18280 } 18281 } 18282 } 18283 18284 function checkInViewOnLoad() { 18285 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 18286 if (!swiper || swiper.destroyed) return; 18287 const $scrollElement = swiper.params.lazy.scrollingElement ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.params.lazy.scrollingElement) : (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(window); 18288 const isWindow = $scrollElement[0] === window; 18289 const scrollElementWidth = isWindow ? window.innerWidth : $scrollElement[0].offsetWidth; 18290 const scrollElementHeight = isWindow ? window.innerHeight : $scrollElement[0].offsetHeight; 18291 const swiperOffset = swiper.$el.offset(); 18292 const { 18293 rtlTranslate: rtl 18294 } = swiper; 18295 let inView = false; 18296 if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft; 18297 const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiper.width, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiper.height], [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]]; 18298 18299 for (let i = 0; i < swiperCoord.length; i += 1) { 18300 const point = swiperCoord[i]; 18301 18302 if (point[0] >= 0 && point[0] <= scrollElementWidth && point[1] >= 0 && point[1] <= scrollElementHeight) { 18303 if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line 18304 18305 inView = true; 18306 } 18307 } 18308 18309 const passiveListener = swiper.touchEvents.start === 'touchstart' && swiper.support.passiveListener && swiper.params.passiveListeners ? { 18310 passive: true, 18311 capture: false 18312 } : false; 18313 18314 if (inView) { 18315 load(); 18316 $scrollElement.off('scroll', checkInViewOnLoad, passiveListener); 18317 } else if (!scrollHandlerAttached) { 18318 scrollHandlerAttached = true; 18319 $scrollElement.on('scroll', checkInViewOnLoad, passiveListener); 18320 } 18321 } 18322 18323 on('beforeInit', () => { 18324 if (swiper.params.lazy.enabled && swiper.params.preloadImages) { 18325 swiper.params.preloadImages = false; 18326 } 18327 }); 18328 on('init', () => { 18329 if (swiper.params.lazy.enabled) { 18330 if (swiper.params.lazy.checkInView) { 18331 checkInViewOnLoad(); 18332 } else { 18333 load(); 18334 } 18335 } 18336 }); 18337 on('scroll', () => { 18338 if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.freeMode.sticky) { 18339 load(); 18340 } 18341 }); 18342 on('scrollbarDragMove resize _freeModeNoMomentumRelease', () => { 18343 if (swiper.params.lazy.enabled) { 18344 if (swiper.params.lazy.checkInView) { 18345 checkInViewOnLoad(); 18346 } else { 18347 load(); 18348 } 18349 } 18350 }); 18351 on('transitionStart', () => { 18352 if (swiper.params.lazy.enabled) { 18353 if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !initialImageLoaded) { 18354 if (swiper.params.lazy.checkInView) { 18355 checkInViewOnLoad(); 18356 } else { 18357 load(); 18358 } 18359 } 18360 } 18361 }); 18362 on('transitionEnd', () => { 18363 if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) { 18364 if (swiper.params.lazy.checkInView) { 18365 checkInViewOnLoad(); 18366 } else { 18367 load(); 18368 } 18369 } 18370 }); 18371 on('slideChange', () => { 18372 const { 18373 lazy, 18374 cssMode, 18375 watchSlidesProgress, 18376 touchReleaseOnEdges, 18377 resistanceRatio 18378 } = swiper.params; 18379 18380 if (lazy.enabled && (cssMode || watchSlidesProgress && (touchReleaseOnEdges || resistanceRatio === 0))) { 18381 load(); 18382 } 18383 }); 18384 on('destroy', () => { 18385 if (!swiper.$el) return; 18386 swiper.$el.find(`.${swiper.params.lazy.loadingClass}`).removeClass(swiper.params.lazy.loadingClass); 18387 }); 18388 Object.assign(swiper.lazy, { 18389 load, 18390 loadInSlide 18391 }); 18392} 18393 18394/***/ }), 18395
vendor: 2,206 bytes, lines 18396-18430
18396/***/ "./node_modules/swiper/modules/manipulation/manipulation.js": 18397/*!******************************************************************!*\ 18398 !*** ./node_modules/swiper/modules/manipulation/manipulation.js ***! 18399 \******************************************************************/ 18400/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18401 18402__webpack_require__.r(__webpack_exports__); 18403/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18404/* harmony export */ "default": function() { return /* binding */ Manipulation; } 18405/* harmony export */ }); 18406/* harmony import */ var _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./methods/appendSlide.js */ "./node_modules/swiper/modules/manipulation/methods/appendSlide.js"); 18407/* harmony import */ var _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./methods/prependSlide.js */ "./node_modules/swiper/modules/manipulation/methods/prependSlide.js"); 18408/* harmony import */ var _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./methods/addSlide.js */ "./node_modules/swiper/modules/manipulation/methods/addSlide.js"); 18409/* harmony import */ var _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./methods/removeSlide.js */ "./node_modules/swiper/modules/manipulation/methods/removeSlide.js"); 18410/* harmony import */ var _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./methods/removeAllSlides.js */ "./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js"); 18411 18412 18413 18414 18415 18416function Manipulation(_ref) { 18417 let { 18418 swiper 18419 } = _ref; 18420 Object.assign(swiper, { 18421 appendSlide: _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__["default"].bind(swiper), 18422 prependSlide: _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__["default"].bind(swiper), 18423 addSlide: _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__["default"].bind(swiper), 18424 removeSlide: _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__["default"].bind(swiper), 18425 removeAllSlides: _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__["default"].bind(swiper) 18426 }); 18427} 18428 18429/***/ }), 18430
vendor: 2,108 bytes, lines 18431-18507
18431/***/ "./node_modules/swiper/modules/manipulation/methods/addSlide.js": 18432/*!**********************************************************************!*\ 18433 !*** ./node_modules/swiper/modules/manipulation/methods/addSlide.js ***! 18434 \**********************************************************************/ 18435/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18436 18437__webpack_require__.r(__webpack_exports__); 18438/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18439/* harmony export */ "default": function() { return /* binding */ addSlide; } 18440/* harmony export */ }); 18441function addSlide(index, slides) { 18442 const swiper = this; 18443 const { 18444 $wrapperEl, 18445 params, 18446 activeIndex 18447 } = swiper; 18448 let activeIndexBuffer = activeIndex; 18449 18450 if (params.loop) { 18451 activeIndexBuffer -= swiper.loopedSlides; 18452 swiper.loopDestroy(); 18453 swiper.slides = $wrapperEl.children(`.${params.slideClass}`); 18454 } 18455 18456 const baseLength = swiper.slides.length; 18457 18458 if (index <= 0) { 18459 swiper.prependSlide(slides); 18460 return; 18461 } 18462 18463 if (index >= baseLength) { 18464 swiper.appendSlide(slides); 18465 return; 18466 } 18467 18468 let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer; 18469 const slidesBuffer = []; 18470 18471 for (let i = baseLength - 1; i >= index; i -= 1) { 18472 const currentSlide = swiper.slides.eq(i); 18473 currentSlide.remove(); 18474 slidesBuffer.unshift(currentSlide); 18475 } 18476 18477 if (typeof slides === 'object' && 'length' in slides) { 18478 for (let i = 0; i < slides.length; i += 1) { 18479 if (slides[i]) $wrapperEl.append(slides[i]); 18480 } 18481 18482 newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer; 18483 } else { 18484 $wrapperEl.append(slides); 18485 } 18486 18487 for (let i = 0; i < slidesBuffer.length; i += 1) { 18488 $wrapperEl.append(slidesBuffer[i]); 18489 } 18490 18491 if (params.loop) { 18492 swiper.loopCreate(); 18493 } 18494 18495 if (!params.observer) { 18496 swiper.update(); 18497 } 18498 18499 if (params.loop) { 18500 swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); 18501 } else { 18502 swiper.slideTo(newActiveIndex, 0, false); 18503 } 18504} 18505 18506/***/ }), 18507
vendor: 1,112 bytes, lines 18508-18547
18508/***/ "./node_modules/swiper/modules/manipulation/methods/appendSlide.js": 18509/*!*************************************************************************!*\ 18510 !*** ./node_modules/swiper/modules/manipulation/methods/appendSlide.js ***! 18511 \*************************************************************************/ 18512/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18513 18514__webpack_require__.r(__webpack_exports__); 18515/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18516/* harmony export */ "default": function() { return /* binding */ appendSlide; } 18517/* harmony export */ }); 18518function appendSlide(slides) { 18519 const swiper = this; 18520 const { 18521 $wrapperEl, 18522 params 18523 } = swiper; 18524 18525 if (params.loop) { 18526 swiper.loopDestroy(); 18527 } 18528 18529 if (typeof slides === 'object' && 'length' in slides) { 18530 for (let i = 0; i < slides.length; i += 1) { 18531 if (slides[i]) $wrapperEl.append(slides[i]); 18532 } 18533 } else { 18534 $wrapperEl.append(slides); 18535 } 18536 18537 if (params.loop) { 18538 swiper.loopCreate(); 18539 } 18540 18541 if (!params.observer) { 18542 swiper.update(); 18543 } 18544} 18545 18546/***/ }), 18547
vendor: 1,274 bytes, lines 18548-18594
18548/***/ "./node_modules/swiper/modules/manipulation/methods/prependSlide.js": 18549/*!**************************************************************************!*\ 18550 !*** ./node_modules/swiper/modules/manipulation/methods/prependSlide.js ***! 18551 \**************************************************************************/ 18552/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18553 18554__webpack_require__.r(__webpack_exports__); 18555/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18556/* harmony export */ "default": function() { return /* binding */ prependSlide; } 18557/* harmony export */ }); 18558function prependSlide(slides) { 18559 const swiper = this; 18560 const { 18561 params, 18562 $wrapperEl, 18563 activeIndex 18564 } = swiper; 18565 18566 if (params.loop) { 18567 swiper.loopDestroy(); 18568 } 18569 18570 let newActiveIndex = activeIndex + 1; 18571 18572 if (typeof slides === 'object' && 'length' in slides) { 18573 for (let i = 0; i < slides.length; i += 1) { 18574 if (slides[i]) $wrapperEl.prepend(slides[i]); 18575 } 18576 18577 newActiveIndex = activeIndex + slides.length; 18578 } else { 18579 $wrapperEl.prepend(slides); 18580 } 18581 18582 if (params.loop) { 18583 swiper.loopCreate(); 18584 } 18585 18586 if (!params.observer) { 18587 swiper.update(); 18588 } 18589 18590 swiper.slideTo(newActiveIndex, 0, false); 18591} 18592 18593/***/ }), 18594
vendor: 865 bytes, lines 18595-18617
18595/***/ "./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js": 18596/*!*****************************************************************************!*\ 18597 !*** ./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js ***! 18598 \*****************************************************************************/ 18599/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18600 18601__webpack_require__.r(__webpack_exports__); 18602/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18603/* harmony export */ "default": function() { return /* binding */ removeAllSlides; } 18604/* harmony export */ }); 18605function removeAllSlides() { 18606 const swiper = this; 18607 const slidesIndexes = []; 18608 18609 for (let i = 0; i < swiper.slides.length; i += 1) { 18610 slidesIndexes.push(i); 18611 } 18612 18613 swiper.removeSlide(slidesIndexes); 18614} 18615 18616/***/ }), 18617
vendor: 1,903 bytes, lines 18618-18677
18618/***/ "./node_modules/swiper/modules/manipulation/methods/removeSlide.js": 18619/*!*************************************************************************!*\ 18620 !*** ./node_modules/swiper/modules/manipulation/methods/removeSlide.js ***! 18621 \*************************************************************************/ 18622/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18623 18624__webpack_require__.r(__webpack_exports__); 18625/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18626/* harmony export */ "default": function() { return /* binding */ removeSlide; } 18627/* harmony export */ }); 18628function removeSlide(slidesIndexes) { 18629 const swiper = this; 18630 const { 18631 params, 18632 $wrapperEl, 18633 activeIndex 18634 } = swiper; 18635 let activeIndexBuffer = activeIndex; 18636 18637 if (params.loop) { 18638 activeIndexBuffer -= swiper.loopedSlides; 18639 swiper.loopDestroy(); 18640 swiper.slides = $wrapperEl.children(`.${params.slideClass}`); 18641 } 18642 18643 let newActiveIndex = activeIndexBuffer; 18644 let indexToRemove; 18645 18646 if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) { 18647 for (let i = 0; i < slidesIndexes.length; i += 1) { 18648 indexToRemove = slidesIndexes[i]; 18649 if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove(); 18650 if (indexToRemove < newActiveIndex) newActiveIndex -= 1; 18651 } 18652 18653 newActiveIndex = Math.max(newActiveIndex, 0); 18654 } else { 18655 indexToRemove = slidesIndexes; 18656 if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove(); 18657 if (indexToRemove < newActiveIndex) newActiveIndex -= 1; 18658 newActiveIndex = Math.max(newActiveIndex, 0); 18659 } 18660 18661 if (params.loop) { 18662 swiper.loopCreate(); 18663 } 18664 18665 if (!params.observer) { 18666 swiper.update(); 18667 } 18668 18669 if (params.loop) { 18670 swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); 18671 } else { 18672 swiper.slideTo(newActiveIndex, 0, false); 18673 } 18674} 18675 18676/***/ }), 18677
vendor: 15,617 bytes, lines 18678-19116
18678/***/ "./node_modules/swiper/modules/mousewheel/mousewheel.js": 18679/*!**************************************************************!*\ 18680 !*** ./node_modules/swiper/modules/mousewheel/mousewheel.js ***! 18681 \**************************************************************/ 18682/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 18683 18684__webpack_require__.r(__webpack_exports__); 18685/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18686/* harmony export */ "default": function() { return /* binding */ Mousewheel; } 18687/* harmony export */ }); 18688/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 18689/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 18690/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 18691/* eslint-disable consistent-return */ 18692 18693 18694 18695function Mousewheel(_ref) { 18696 let { 18697 swiper, 18698 extendParams, 18699 on, 18700 emit 18701 } = _ref; 18702 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 18703 extendParams({ 18704 mousewheel: { 18705 enabled: false, 18706 releaseOnEdges: false, 18707 invert: false, 18708 forceToAxis: false, 18709 sensitivity: 1, 18710 eventsTarget: 'container', 18711 thresholdDelta: null, 18712 thresholdTime: null 18713 } 18714 }); 18715 swiper.mousewheel = { 18716 enabled: false 18717 }; 18718 let timeout; 18719 let lastScrollTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(); 18720 let lastEventBeforeSnap; 18721 const recentWheelEvents = []; 18722 18723 function normalize(e) { 18724 // Reasonable defaults 18725 const PIXEL_STEP = 10; 18726 const LINE_HEIGHT = 40; 18727 const PAGE_HEIGHT = 800; 18728 let sX = 0; 18729 let sY = 0; // spinX, spinY 18730 18731 let pX = 0; 18732 let pY = 0; // pixelX, pixelY 18733 // Legacy 18734 18735 if ('detail' in e) { 18736 sY = e.detail; 18737 } 18738 18739 if ('wheelDelta' in e) { 18740 sY = -e.wheelDelta / 120; 18741 } 18742 18743 if ('wheelDeltaY' in e) { 18744 sY = -e.wheelDeltaY / 120; 18745 } 18746 18747 if ('wheelDeltaX' in e) { 18748 sX = -e.wheelDeltaX / 120; 18749 } // side scrolling on FF with DOMMouseScroll 18750 18751 18752 if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) { 18753 sX = sY; 18754 sY = 0; 18755 } 18756 18757 pX = sX * PIXEL_STEP; 18758 pY = sY * PIXEL_STEP; 18759 18760 if ('deltaY' in e) { 18761 pY = e.deltaY; 18762 } 18763 18764 if ('deltaX' in e) { 18765 pX = e.deltaX; 18766 } 18767 18768 if (e.shiftKey && !pX) { 18769 // if user scrolls with shift he wants horizontal scroll 18770 pX = pY; 18771 pY = 0; 18772 } 18773 18774 if ((pX || pY) && e.deltaMode) { 18775 if (e.deltaMode === 1) { 18776 // delta in LINE units 18777 pX *= LINE_HEIGHT; 18778 pY *= LINE_HEIGHT; 18779 } else { 18780 // delta in PAGE units 18781 pX *= PAGE_HEIGHT; 18782 pY *= PAGE_HEIGHT; 18783 } 18784 } // Fall-back if spin cannot be determined 18785 18786 18787 if (pX && !sX) { 18788 sX = pX < 1 ? -1 : 1; 18789 } 18790 18791 if (pY && !sY) { 18792 sY = pY < 1 ? -1 : 1; 18793 } 18794 18795 return { 18796 spinX: sX, 18797 spinY: sY, 18798 pixelX: pX, 18799 pixelY: pY 18800 }; 18801 } 18802 18803 function handleMouseEnter() { 18804 if (!swiper.enabled) return; 18805 swiper.mouseEntered = true; 18806 } 18807 18808 function handleMouseLeave() { 18809 if (!swiper.enabled) return; 18810 swiper.mouseEntered = false; 18811 } 18812 18813 function animateSlider(newEvent) { 18814 if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) { 18815 // Prevent if delta of wheel scroll delta is below configured threshold 18816 return false; 18817 } 18818 18819 if (swiper.params.mousewheel.thresholdTime && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)() - lastScrollTime < swiper.params.mousewheel.thresholdTime) { 18820 // Prevent if time between scrolls is below configured threshold 18821 return false; 18822 } // If the movement is NOT big enough and 18823 // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider): 18824 // Don't go any further (avoid insignificant scroll movement). 18825 18826 18827 if (newEvent.delta >= 6 && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)() - lastScrollTime < 60) { 18828 // Return false as a default 18829 return true; 18830 } // If user is scrolling towards the end: 18831 // If the slider hasn't hit the latest slide or 18832 // if the slider is a loop and 18833 // if the slider isn't moving right now: 18834 // Go to next slide and 18835 // emit a scroll event. 18836 // Else (the user is scrolling towards the beginning) and 18837 // if the slider hasn't hit the first slide or 18838 // if the slider is a loop and 18839 // if the slider isn't moving right now: 18840 // Go to prev slide and 18841 // emit a scroll event. 18842 18843 18844 if (newEvent.direction < 0) { 18845 if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) { 18846 swiper.slideNext(); 18847 emit('scroll', newEvent.raw); 18848 } 18849 } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) { 18850 swiper.slidePrev(); 18851 emit('scroll', newEvent.raw); 18852 } // If you got here is because an animation has been triggered so store the current time 18853 18854 18855 lastScrollTime = new window.Date().getTime(); // Return false as a default 18856 18857 return false; 18858 } 18859 18860 function releaseScroll(newEvent) { 18861 const params = swiper.params.mousewheel; 18862 18863 if (newEvent.direction < 0) { 18864 if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) { 18865 // Return true to animate scroll on edges 18866 return true; 18867 } 18868 } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) { 18869 // Return true to animate scroll on edges 18870 return true; 18871 } 18872 18873 return false; 18874 } 18875 18876 function handle(event) { 18877 let e = event; 18878 let disableParentSwiper = true; 18879 if (!swiper.enabled) return; 18880 const params = swiper.params.mousewheel; 18881 18882 if (swiper.params.cssMode) { 18883 e.preventDefault(); 18884 } 18885 18886 let target = swiper.$el; 18887 18888 if (swiper.params.mousewheel.eventsTarget !== 'container') { 18889 target = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.params.mousewheel.eventsTarget); 18890 } 18891 18892 if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges) return true; 18893 if (e.originalEvent) e = e.originalEvent; // jquery fix 18894 18895 let delta = 0; 18896 const rtlFactor = swiper.rtlTranslate ? -1 : 1; 18897 const data = normalize(e); 18898 18899 if (params.forceToAxis) { 18900 if (swiper.isHorizontal()) { 18901 if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true; 18902 } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true; 18903 } else { 18904 delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY; 18905 } 18906 18907 if (delta === 0) return true; 18908 if (params.invert) delta = -delta; // Get the scroll positions 18909 18910 let positions = swiper.getTranslate() + delta * params.sensitivity; 18911 if (positions >= swiper.minTranslate()) positions = swiper.minTranslate(); 18912 if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); // When loop is true: 18913 // the disableParentSwiper will be true. 18914 // When loop is false: 18915 // if the scroll positions is not on edge, 18916 // then the disableParentSwiper will be true. 18917 // if the scroll on edge positions, 18918 // then the disableParentSwiper will be false. 18919 18920 disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate()); 18921 if (disableParentSwiper && swiper.params.nested) e.stopPropagation(); 18922 18923 if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) { 18924 // Register the new event in a variable which stores the relevant data 18925 const newEvent = { 18926 time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(), 18927 delta: Math.abs(delta), 18928 direction: Math.sign(delta), 18929 raw: event 18930 }; // Keep the most recent events 18931 18932 if (recentWheelEvents.length >= 2) { 18933 recentWheelEvents.shift(); // only store the last N events 18934 } 18935 18936 const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; 18937 recentWheelEvents.push(newEvent); // If there is at least one previous recorded event: 18938 // If direction has changed or 18939 // if the scroll is quicker than the previous one: 18940 // Animate the slider. 18941 // Else (this is the first time the wheel is moved): 18942 // Animate the slider. 18943 18944 if (prevEvent) { 18945 if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) { 18946 animateSlider(newEvent); 18947 } 18948 } else { 18949 animateSlider(newEvent); 18950 } // If it's time to release the scroll: 18951 // Return now so you don't hit the preventDefault. 18952 18953 18954 if (releaseScroll(newEvent)) { 18955 return true; 18956 } 18957 } else { 18958 // Freemode or scrollContainer: 18959 // If we recently snapped after a momentum scroll, then ignore wheel events 18960 // to give time for the deceleration to finish. Stop ignoring after 500 msecs 18961 // or if it's a new scroll (larger delta or inverse sign as last event before 18962 // an end-of-momentum snap). 18963 const newEvent = { 18964 time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(), 18965 delta: Math.abs(delta), 18966 direction: Math.sign(delta) 18967 }; 18968 const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction; 18969 18970 if (!ignoreWheelEvents) { 18971 lastEventBeforeSnap = undefined; 18972 18973 if (swiper.params.loop) { 18974 swiper.loopFix(); 18975 } 18976 18977 let position = swiper.getTranslate() + delta * params.sensitivity; 18978 const wasBeginning = swiper.isBeginning; 18979 const wasEnd = swiper.isEnd; 18980 if (position >= swiper.minTranslate()) position = swiper.minTranslate(); 18981 if (position <= swiper.maxTranslate()) position = swiper.maxTranslate(); 18982 swiper.setTransition(0); 18983 swiper.setTranslate(position); 18984 swiper.updateProgress(); 18985 swiper.updateActiveIndex(); 18986 swiper.updateSlidesClasses(); 18987 18988 if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) { 18989 swiper.updateSlidesClasses(); 18990 } 18991 18992 if (swiper.params.freeMode.sticky) { 18993 // When wheel scrolling starts with sticky (aka snap) enabled, then detect 18994 // the end of a momentum scroll by storing recent (N=15?) wheel events. 18995 // 1. do all N events have decreasing or same (absolute value) delta? 18996 // 2. did all N events arrive in the last M (M=500?) msecs? 18997 // 3. does the earliest event have an (absolute value) delta that's 18998 // at least P (P=1?) larger than the most recent event's delta? 18999 // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels? 19000 // If 1-4 are "yes" then we're near the end of a momentum scroll deceleration. 19001 // Snap immediately and ignore remaining wheel events in this scroll. 19002 // See comment above for "remaining wheel events in this scroll" determination. 19003 // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event. 19004 clearTimeout(timeout); 19005 timeout = undefined; 19006 19007 if (recentWheelEvents.length >= 15) { 19008 recentWheelEvents.shift(); // only store the last N events 19009 } 19010 19011 const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined; 19012 const firstEvent = recentWheelEvents[0]; 19013 recentWheelEvents.push(newEvent); 19014 19015 if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) { 19016 // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log. 19017 recentWheelEvents.splice(0); 19018 } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) { 19019 // We're at the end of the deceleration of a momentum scroll, so there's no need 19020 // to wait for more events. Snap ASAP on the next tick. 19021 // Also, because there's some remaining momentum we'll bias the snap in the 19022 // direction of the ongoing scroll because it's better UX for the scroll to snap 19023 // in the same direction as the scroll instead of reversing to snap. Therefore, 19024 // if it's already scrolled more than 20% in the current direction, keep going. 19025 const snapToThreshold = delta > 0 ? 0.8 : 0.2; 19026 lastEventBeforeSnap = newEvent; 19027 recentWheelEvents.splice(0); 19028 timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.nextTick)(() => { 19029 swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); 19030 }, 0); // no delay; move on next tick 19031 } 19032 19033 if (!timeout) { 19034 // if we get here, then we haven't detected the end of a momentum scroll, so 19035 // we'll consider a scroll "complete" when there haven't been any wheel events 19036 // for 500ms. 19037 timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.nextTick)(() => { 19038 const snapToThreshold = 0.5; 19039 lastEventBeforeSnap = newEvent; 19040 recentWheelEvents.splice(0); 19041 swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold); 19042 }, 500); 19043 } 19044 } // Emit event 19045 19046 19047 if (!ignoreWheelEvents) emit('scroll', e); // Stop autoplay 19048 19049 if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); // Return page scroll on edge positions 19050 19051 if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true; 19052 } 19053 } 19054 19055 if (e.preventDefault) e.preventDefault();else e.returnValue = false; 19056 return false; 19057 } 19058 19059 function events(method) { 19060 let target = swiper.$el; 19061 19062 if (swiper.params.mousewheel.eventsTarget !== 'container') { 19063 target = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.params.mousewheel.eventsTarget); 19064 } 19065 19066 target[method]('mouseenter', handleMouseEnter); 19067 target[method]('mouseleave', handleMouseLeave); 19068 target[method]('wheel', handle); 19069 } 19070 19071 function enable() { 19072 if (swiper.params.cssMode) { 19073 swiper.wrapperEl.removeEventListener('wheel', handle); 19074 return true; 19075 } 19076 19077 if (swiper.mousewheel.enabled) return false; 19078 events('on'); 19079 swiper.mousewheel.enabled = true; 19080 return true; 19081 } 19082 19083 function disable() { 19084 if (swiper.params.cssMode) { 19085 swiper.wrapperEl.addEventListener(event, handle); 19086 return true; 19087 } 19088 19089 if (!swiper.mousewheel.enabled) return false; 19090 events('off'); 19091 swiper.mousewheel.enabled = false; 19092 return true; 19093 } 19094 19095 on('init', () => { 19096 if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) { 19097 disable(); 19098 } 19099 19100 if (swiper.params.mousewheel.enabled) enable(); 19101 }); 19102 on('destroy', () => { 19103 if (swiper.params.cssMode) { 19104 enable(); 19105 } 19106 19107 if (swiper.mousewheel.enabled) disable(); 19108 }); 19109 Object.assign(swiper.mousewheel, { 19110 enable, 19111 disable 19112 }); 19113} 19114 19115/***/ }), 19116
vendor: 6,334 bytes, lines 19117-19339
19117/***/ "./node_modules/swiper/modules/navigation/navigation.js": 19118/*!**************************************************************!*\ 19119 !*** ./node_modules/swiper/modules/navigation/navigation.js ***! 19120 \**************************************************************/ 19121/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 19122 19123__webpack_require__.r(__webpack_exports__); 19124/* harmony export */ __webpack_require__.d(__webpack_exports__, { 19125/* harmony export */ "default": function() { return /* binding */ Navigation; } 19126/* harmony export */ }); 19127/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "./node_modules/swiper/shared/create-element-if-not-defined.js"); 19128/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 19129 19130 19131function Navigation(_ref) { 19132 let { 19133 swiper, 19134 extendParams, 19135 on, 19136 emit 19137 } = _ref; 19138 extendParams({ 19139 navigation: { 19140 nextEl: null, 19141 prevEl: null, 19142 hideOnClick: false, 19143 disabledClass: 'swiper-button-disabled', 19144 hiddenClass: 'swiper-button-hidden', 19145 lockClass: 'swiper-button-lock', 19146 navigationDisabledClass: 'swiper-navigation-disabled' 19147 } 19148 }); 19149 swiper.navigation = { 19150 nextEl: null, 19151 $nextEl: null, 19152 prevEl: null, 19153 $prevEl: null 19154 }; 19155 19156 function getEl(el) { 19157 let $el; 19158 19159 if (el) { 19160 $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(el); 19161 19162 if (swiper.params.uniqueNavElements && typeof el === 'string' && $el.length > 1 && swiper.$el.find(el).length === 1) { 19163 $el = swiper.$el.find(el); 19164 } 19165 } 19166 19167 return $el; 19168 } 19169 19170 function toggleEl($el, disabled) { 19171 const params = swiper.params.navigation; 19172 19173 if ($el && $el.length > 0) { 19174 $el[disabled ? 'addClass' : 'removeClass'](params.disabledClass); 19175 if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled; 19176 19177 if (swiper.params.watchOverflow && swiper.enabled) { 19178 $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass); 19179 } 19180 } 19181 } 19182 19183 function update() { 19184 // Update Navigation Buttons 19185 if (swiper.params.loop) return; 19186 const { 19187 $nextEl, 19188 $prevEl 19189 } = swiper.navigation; 19190 toggleEl($prevEl, swiper.isBeginning && !swiper.params.rewind); 19191 toggleEl($nextEl, swiper.isEnd && !swiper.params.rewind); 19192 } 19193 19194 function onPrevClick(e) { 19195 e.preventDefault(); 19196 if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return; 19197 swiper.slidePrev(); 19198 emit('navigationPrev'); 19199 } 19200 19201 function onNextClick(e) { 19202 e.preventDefault(); 19203 if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return; 19204 swiper.slideNext(); 19205 emit('navigationNext'); 19206 } 19207 19208 function init() { 19209 const params = swiper.params.navigation; 19210 swiper.params.navigation = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper, swiper.originalParams.navigation, swiper.params.navigation, { 19211 nextEl: 'swiper-button-next', 19212 prevEl: 'swiper-button-prev' 19213 }); 19214 if (!(params.nextEl || params.prevEl)) return; 19215 const $nextEl = getEl(params.nextEl); 19216 const $prevEl = getEl(params.prevEl); 19217 19218 if ($nextEl && $nextEl.length > 0) { 19219 $nextEl.on('click', onNextClick); 19220 } 19221 19222 if ($prevEl && $prevEl.length > 0) { 19223 $prevEl.on('click', onPrevClick); 19224 } 19225 19226 Object.assign(swiper.navigation, { 19227 $nextEl, 19228 nextEl: $nextEl && $nextEl[0], 19229 $prevEl, 19230 prevEl: $prevEl && $prevEl[0] 19231 }); 19232 19233 if (!swiper.enabled) { 19234 if ($nextEl) $nextEl.addClass(params.lockClass); 19235 if ($prevEl) $prevEl.addClass(params.lockClass); 19236 } 19237 } 19238 19239 function destroy() { 19240 const { 19241 $nextEl, 19242 $prevEl 19243 } = swiper.navigation; 19244 19245 if ($nextEl && $nextEl.length) { 19246 $nextEl.off('click', onNextClick); 19247 $nextEl.removeClass(swiper.params.navigation.disabledClass); 19248 } 19249 19250 if ($prevEl && $prevEl.length) { 19251 $prevEl.off('click', onPrevClick); 19252 $prevEl.removeClass(swiper.params.navigation.disabledClass); 19253 } 19254 } 19255 19256 on('init', () => { 19257 if (swiper.params.navigation.enabled === false) { 19258 // eslint-disable-next-line 19259 disable(); 19260 } else { 19261 init(); 19262 update(); 19263 } 19264 }); 19265 on('toEdge fromEdge lock unlock', () => { 19266 update(); 19267 }); 19268 on('destroy', () => { 19269 destroy(); 19270 }); 19271 on('enable disable', () => { 19272 const { 19273 $nextEl, 19274 $prevEl 19275 } = swiper.navigation; 19276 19277 if ($nextEl) { 19278 $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass); 19279 } 19280 19281 if ($prevEl) { 19282 $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass); 19283 } 19284 }); 19285 on('click', (_s, e) => { 19286 const { 19287 $nextEl, 19288 $prevEl 19289 } = swiper.navigation; 19290 const targetEl = e.target; 19291 19292 if (swiper.params.navigation.hideOnClick && !(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(targetEl).is($prevEl) && !(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(targetEl).is($nextEl)) { 19293 if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return; 19294 let isHidden; 19295 19296 if ($nextEl) { 19297 isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass); 19298 } else if ($prevEl) { 19299 isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass); 19300 } 19301 19302 if (isHidden === true) { 19303 emit('navigationShow'); 19304 } else { 19305 emit('navigationHide'); 19306 } 19307 19308 if ($nextEl) { 19309 $nextEl.toggleClass(swiper.params.navigation.hiddenClass); 19310 } 19311 19312 if ($prevEl) { 19313 $prevEl.toggleClass(swiper.params.navigation.hiddenClass); 19314 } 19315 } 19316 }); 19317 19318 const enable = () => { 19319 swiper.$el.removeClass(swiper.params.navigation.navigationDisabledClass); 19320 init(); 19321 update(); 19322 }; 19323 19324 const disable = () => { 19325 swiper.$el.addClass(swiper.params.navigation.navigationDisabledClass); 19326 destroy(); 19327 }; 19328 19329 Object.assign(swiper.navigation, { 19330 enable, 19331 disable, 19332 update, 19333 init, 19334 destroy 19335 }); 19336} 19337 19338/***/ }), 19339
vendor: 16,195 bytes, lines 19340-19797
19340/***/ "./node_modules/swiper/modules/pagination/pagination.js": 19341/*!**************************************************************!*\ 19342 !*** ./node_modules/swiper/modules/pagination/pagination.js ***! 19343 \**************************************************************/ 19344/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 19345 19346__webpack_require__.r(__webpack_exports__); 19347/* harmony export */ __webpack_require__.d(__webpack_exports__, { 19348/* harmony export */ "default": function() { return /* binding */ Pagination; } 19349/* harmony export */ }); 19350/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 19351/* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ "./node_modules/swiper/shared/classes-to-selector.js"); 19352/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "./node_modules/swiper/shared/create-element-if-not-defined.js"); 19353 19354 19355 19356function Pagination(_ref) { 19357 let { 19358 swiper, 19359 extendParams, 19360 on, 19361 emit 19362 } = _ref; 19363 const pfx = 'swiper-pagination'; 19364 extendParams({ 19365 pagination: { 19366 el: null, 19367 bulletElement: 'span', 19368 clickable: false, 19369 hideOnClick: false, 19370 renderBullet: null, 19371 renderProgressbar: null, 19372 renderFraction: null, 19373 renderCustom: null, 19374 progressbarOpposite: false, 19375 type: 'bullets', 19376 // 'bullets' or 'progressbar' or 'fraction' or 'custom' 19377 dynamicBullets: false, 19378 dynamicMainBullets: 1, 19379 formatFractionCurrent: number => number, 19380 formatFractionTotal: number => number, 19381 bulletClass: `${pfx}-bullet`, 19382 bulletActiveClass: `${pfx}-bullet-active`, 19383 modifierClass: `${pfx}-`, 19384 currentClass: `${pfx}-current`, 19385 totalClass: `${pfx}-total`, 19386 hiddenClass: `${pfx}-hidden`, 19387 progressbarFillClass: `${pfx}-progressbar-fill`, 19388 progressbarOppositeClass: `${pfx}-progressbar-opposite`, 19389 clickableClass: `${pfx}-clickable`, 19390 lockClass: `${pfx}-lock`, 19391 horizontalClass: `${pfx}-horizontal`, 19392 verticalClass: `${pfx}-vertical`, 19393 paginationDisabledClass: `${pfx}-disabled` 19394 } 19395 }); 19396 swiper.pagination = { 19397 el: null, 19398 $el: null, 19399 bullets: [] 19400 }; 19401 let bulletSize; 19402 let dynamicBulletIndex = 0; 19403 19404 function isPaginationDisabled() { 19405 return !swiper.params.pagination.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0; 19406 } 19407 19408 function setSideBullets($bulletEl, position) { 19409 const { 19410 bulletActiveClass 19411 } = swiper.params.pagination; 19412 $bulletEl[position]().addClass(`${bulletActiveClass}-${position}`)[position]().addClass(`${bulletActiveClass}-${position}-${position}`); 19413 } 19414 19415 function update() { 19416 // Render || Update Pagination bullets/items 19417 const rtl = swiper.rtl; 19418 const params = swiper.params.pagination; 19419 if (isPaginationDisabled()) return; 19420 const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length; 19421 const $el = swiper.pagination.$el; // Current/Total 19422 19423 let current; 19424 const total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length; 19425 19426 if (swiper.params.loop) { 19427 current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup); 19428 19429 if (current > slidesLength - 1 - swiper.loopedSlides * 2) { 19430 current -= slidesLength - swiper.loopedSlides * 2; 19431 } 19432 19433 if (current > total - 1) current -= total; 19434 if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current; 19435 } else if (typeof swiper.snapIndex !== 'undefined') { 19436 current = swiper.snapIndex; 19437 } else { 19438 current = swiper.activeIndex || 0; 19439 } // Types 19440 19441 19442 if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) { 19443 const bullets = swiper.pagination.bullets; 19444 let firstIndex; 19445 let lastIndex; 19446 let midIndex; 19447 19448 if (params.dynamicBullets) { 19449 bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true); 19450 $el.css(swiper.isHorizontal() ? 'width' : 'height', `${bulletSize * (params.dynamicMainBullets + 4)}px`); 19451 19452 if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) { 19453 dynamicBulletIndex += current - (swiper.previousIndex - swiper.loopedSlides || 0); 19454 19455 if (dynamicBulletIndex > params.dynamicMainBullets - 1) { 19456 dynamicBulletIndex = params.dynamicMainBullets - 1; 19457 } else if (dynamicBulletIndex < 0) { 19458 dynamicBulletIndex = 0; 19459 } 19460 } 19461 19462 firstIndex = Math.max(current - dynamicBulletIndex, 0); 19463 lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1); 19464 midIndex = (lastIndex + firstIndex) / 2; 19465 } 19466 19467 bullets.removeClass(['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`).join(' ')); 19468 19469 if ($el.length > 1) { 19470 bullets.each(bullet => { 19471 const $bullet = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(bullet); 19472 const bulletIndex = $bullet.index(); 19473 19474 if (bulletIndex === current) { 19475 $bullet.addClass(params.bulletActiveClass); 19476 } 19477 19478 if (params.dynamicBullets) { 19479 if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) { 19480 $bullet.addClass(`${params.bulletActiveClass}-main`); 19481 } 19482 19483 if (bulletIndex === firstIndex) { 19484 setSideBullets($bullet, 'prev'); 19485 } 19486 19487 if (bulletIndex === lastIndex) { 19488 setSideBullets($bullet, 'next'); 19489 } 19490 } 19491 }); 19492 } else { 19493 const $bullet = bullets.eq(current); 19494 const bulletIndex = $bullet.index(); 19495 $bullet.addClass(params.bulletActiveClass); 19496 19497 if (params.dynamicBullets) { 19498 const $firstDisplayedBullet = bullets.eq(firstIndex); 19499 const $lastDisplayedBullet = bullets.eq(lastIndex); 19500 19501 for (let i = firstIndex; i <= lastIndex; i += 1) { 19502 bullets.eq(i).addClass(`${params.bulletActiveClass}-main`); 19503 } 19504 19505 if (swiper.params.loop) { 19506 if (bulletIndex >= bullets.length) { 19507 for (let i = params.dynamicMainBullets; i >= 0; i -= 1) { 19508 bullets.eq(bullets.length - i).addClass(`${params.bulletActiveClass}-main`); 19509 } 19510 19511 bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(`${params.bulletActiveClass}-prev`); 19512 } else { 19513 setSideBullets($firstDisplayedBullet, 'prev'); 19514 setSideBullets($lastDisplayedBullet, 'next'); 19515 } 19516 } else { 19517 setSideBullets($firstDisplayedBullet, 'prev'); 19518 setSideBullets($lastDisplayedBullet, 'next'); 19519 } 19520 } 19521 } 19522 19523 if (params.dynamicBullets) { 19524 const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4); 19525 const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize; 19526 const offsetProp = rtl ? 'right' : 'left'; 19527 bullets.css(swiper.isHorizontal() ? offsetProp : 'top', `${bulletsOffset}px`); 19528 } 19529 } 19530 19531 if (params.type === 'fraction') { 19532 $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.currentClass)).text(params.formatFractionCurrent(current + 1)); 19533 $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.totalClass)).text(params.formatFractionTotal(total)); 19534 } 19535 19536 if (params.type === 'progressbar') { 19537 let progressbarDirection; 19538 19539 if (params.progressbarOpposite) { 19540 progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal'; 19541 } else { 19542 progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical'; 19543 } 19544 19545 const scale = (current + 1) / total; 19546 let scaleX = 1; 19547 let scaleY = 1; 19548 19549 if (progressbarDirection === 'horizontal') { 19550 scaleX = scale; 19551 } else { 19552 scaleY = scale; 19553 } 19554 19555 $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`).transition(swiper.params.speed); 19556 } 19557 19558 if (params.type === 'custom' && params.renderCustom) { 19559 $el.html(params.renderCustom(swiper, current + 1, total)); 19560 emit('paginationRender', $el[0]); 19561 } else { 19562 emit('paginationUpdate', $el[0]); 19563 } 19564 19565 if (swiper.params.watchOverflow && swiper.enabled) { 19566 $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass); 19567 } 19568 } 19569 19570 function render() { 19571 // Render Container 19572 const params = swiper.params.pagination; 19573 if (isPaginationDisabled()) return; 19574 const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length; 19575 const $el = swiper.pagination.$el; 19576 let paginationHTML = ''; 19577 19578 if (params.type === 'bullets') { 19579 let numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length; 19580 19581 if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.loop && numberOfBullets > slidesLength) { 19582 numberOfBullets = slidesLength; 19583 } 19584 19585 for (let i = 0; i < numberOfBullets; i += 1) { 19586 if (params.renderBullet) { 19587 paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass); 19588 } else { 19589 paginationHTML += `<${params.bulletElement} class="${params.bulletClass}"></${params.bulletElement}>`; 19590 } 19591 } 19592 19593 $el.html(paginationHTML); 19594 swiper.pagination.bullets = $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.bulletClass)); 19595 } 19596 19597 if (params.type === 'fraction') { 19598 if (params.renderFraction) { 19599 paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass); 19600 } else { 19601 paginationHTML = `<span class="${params.currentClass}"></span>` + ' / ' + `<span class="${params.totalClass}"></span>`; 19602 } 19603 19604 $el.html(paginationHTML); 19605 } 19606 19607 if (params.type === 'progressbar') { 19608 if (params.renderProgressbar) { 19609 paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass); 19610 } else { 19611 paginationHTML = `<span class="${params.progressbarFillClass}"></span>`; 19612 } 19613 19614 $el.html(paginationHTML); 19615 } 19616 19617 if (params.type !== 'custom') { 19618 emit('paginationRender', swiper.pagination.$el[0]); 19619 } 19620 } 19621 19622 function init() { 19623 swiper.params.pagination = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__["default"])(swiper, swiper.originalParams.pagination, swiper.params.pagination, { 19624 el: 'swiper-pagination' 19625 }); 19626 const params = swiper.params.pagination; 19627 if (!params.el) return; 19628 let $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.el); 19629 if ($el.length === 0) return; 19630 19631 if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) { 19632 $el = swiper.$el.find(params.el); // check if it belongs to another nested Swiper 19633 19634 if ($el.length > 1) { 19635 $el = $el.filter(el => { 19636 if ((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(el).parents('.swiper')[0] !== swiper.el) return false; 19637 return true; 19638 }); 19639 } 19640 } 19641 19642 if (params.type === 'bullets' && params.clickable) { 19643 $el.addClass(params.clickableClass); 19644 } 19645 19646 $el.addClass(params.modifierClass + params.type); 19647 $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); 19648 19649 if (params.type === 'bullets' && params.dynamicBullets) { 19650 $el.addClass(`${params.modifierClass}${params.type}-dynamic`); 19651 dynamicBulletIndex = 0; 19652 19653 if (params.dynamicMainBullets < 1) { 19654 params.dynamicMainBullets = 1; 19655 } 19656 } 19657 19658 if (params.type === 'progressbar' && params.progressbarOpposite) { 19659 $el.addClass(params.progressbarOppositeClass); 19660 } 19661 19662 if (params.clickable) { 19663 $el.on('click', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.bulletClass), function onClick(e) { 19664 e.preventDefault(); 19665 let index = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this).index() * swiper.params.slidesPerGroup; 19666 if (swiper.params.loop) index += swiper.loopedSlides; 19667 swiper.slideTo(index); 19668 }); 19669 } 19670 19671 Object.assign(swiper.pagination, { 19672 $el, 19673 el: $el[0] 19674 }); 19675 19676 if (!swiper.enabled) { 19677 $el.addClass(params.lockClass); 19678 } 19679 } 19680 19681 function destroy() { 19682 const params = swiper.params.pagination; 19683 if (isPaginationDisabled()) return; 19684 const $el = swiper.pagination.$el; 19685 $el.removeClass(params.hiddenClass); 19686 $el.removeClass(params.modifierClass + params.type); 19687 $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); 19688 if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass) swiper.pagination.bullets.removeClass(params.bulletActiveClass); 19689 19690 if (params.clickable) { 19691 $el.off('click', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.bulletClass)); 19692 } 19693 } 19694 19695 on('init', () => { 19696 if (swiper.params.pagination.enabled === false) { 19697 // eslint-disable-next-line 19698 disable(); 19699 } else { 19700 init(); 19701 render(); 19702 update(); 19703 } 19704 }); 19705 on('activeIndexChange', () => { 19706 if (swiper.params.loop) { 19707 update(); 19708 } else if (typeof swiper.snapIndex === 'undefined') { 19709 update(); 19710 } 19711 }); 19712 on('snapIndexChange', () => { 19713 if (!swiper.params.loop) { 19714 update(); 19715 } 19716 }); 19717 on('slidesLengthChange', () => { 19718 if (swiper.params.loop) { 19719 render(); 19720 update(); 19721 } 19722 }); 19723 on('snapGridLengthChange', () => { 19724 if (!swiper.params.loop) { 19725 render(); 19726 update(); 19727 } 19728 }); 19729 on('destroy', () => { 19730 destroy(); 19731 }); 19732 on('enable disable', () => { 19733 const { 19734 $el 19735 } = swiper.pagination; 19736 19737 if ($el) { 19738 $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass); 19739 } 19740 }); 19741 on('lock unlock', () => { 19742 update(); 19743 }); 19744 on('click', (_s, e) => { 19745 const targetEl = e.target; 19746 const { 19747 $el 19748 } = swiper.pagination; 19749 19750 if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && $el && $el.length > 0 && !(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(targetEl).hasClass(swiper.params.pagination.bulletClass)) { 19751 if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return; 19752 const isHidden = $el.hasClass(swiper.params.pagination.hiddenClass); 19753 19754 if (isHidden === true) { 19755 emit('paginationShow'); 19756 } else { 19757 emit('paginationHide'); 19758 } 19759 19760 $el.toggleClass(swiper.params.pagination.hiddenClass); 19761 } 19762 }); 19763 19764 const enable = () => { 19765 swiper.$el.removeClass(swiper.params.pagination.paginationDisabledClass); 19766 19767 if (swiper.pagination.$el) { 19768 swiper.pagination.$el.removeClass(swiper.params.pagination.paginationDisabledClass); 19769 } 19770 19771 init(); 19772 render(); 19773 update(); 19774 }; 19775 19776 const disable = () => { 19777 swiper.$el.addClass(swiper.params.pagination.paginationDisabledClass); 19778 19779 if (swiper.pagination.$el) { 19780 swiper.pagination.$el.addClass(swiper.params.pagination.paginationDisabledClass); 19781 } 19782 19783 destroy(); 19784 }; 19785 19786 Object.assign(swiper.pagination, { 19787 enable, 19788 disable, 19789 render, 19790 update, 19791 init, 19792 destroy 19793 }); 19794} 19795 19796/***/ }), 19797
vendor: 4,409 bytes, lines 19798-19930
19798/***/ "./node_modules/swiper/modules/parallax/parallax.js": 19799/*!**********************************************************!*\ 19800 !*** ./node_modules/swiper/modules/parallax/parallax.js ***! 19801 \**********************************************************/ 19802/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 19803 19804__webpack_require__.r(__webpack_exports__); 19805/* harmony export */ __webpack_require__.d(__webpack_exports__, { 19806/* harmony export */ "default": function() { return /* binding */ Parallax; } 19807/* harmony export */ }); 19808/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 19809 19810function Parallax(_ref) { 19811 let { 19812 swiper, 19813 extendParams, 19814 on 19815 } = _ref; 19816 extendParams({ 19817 parallax: { 19818 enabled: false 19819 } 19820 }); 19821 19822 const setTransform = (el, progress) => { 19823 const { 19824 rtl 19825 } = swiper; 19826 const $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(el); 19827 const rtlFactor = rtl ? -1 : 1; 19828 const p = $el.attr('data-swiper-parallax') || '0'; 19829 let x = $el.attr('data-swiper-parallax-x'); 19830 let y = $el.attr('data-swiper-parallax-y'); 19831 const scale = $el.attr('data-swiper-parallax-scale'); 19832 const opacity = $el.attr('data-swiper-parallax-opacity'); 19833 19834 if (x || y) { 19835 x = x || '0'; 19836 y = y || '0'; 19837 } else if (swiper.isHorizontal()) { 19838 x = p; 19839 y = '0'; 19840 } else { 19841 y = p; 19842 x = '0'; 19843 } 19844 19845 if (x.indexOf('%') >= 0) { 19846 x = `${parseInt(x, 10) * progress * rtlFactor}%`; 19847 } else { 19848 x = `${x * progress * rtlFactor}px`; 19849 } 19850 19851 if (y.indexOf('%') >= 0) { 19852 y = `${parseInt(y, 10) * progress}%`; 19853 } else { 19854 y = `${y * progress}px`; 19855 } 19856 19857 if (typeof opacity !== 'undefined' && opacity !== null) { 19858 const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress)); 19859 $el[0].style.opacity = currentOpacity; 19860 } 19861 19862 if (typeof scale === 'undefined' || scale === null) { 19863 $el.transform(`translate3d(${x}, ${y}, 0px)`); 19864 } else { 19865 const currentScale = scale - (scale - 1) * (1 - Math.abs(progress)); 19866 $el.transform(`translate3d(${x}, ${y}, 0px) scale(${currentScale})`); 19867 } 19868 }; 19869 19870 const setTranslate = () => { 19871 const { 19872 $el, 19873 slides, 19874 progress, 19875 snapGrid 19876 } = swiper; 19877 $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(el => { 19878 setTransform(el, progress); 19879 }); 19880 slides.each((slideEl, slideIndex) => { 19881 let slideProgress = slideEl.progress; 19882 19883 if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') { 19884 slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1); 19885 } 19886 19887 slideProgress = Math.min(Math.max(slideProgress, -1), 1); 19888 (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(el => { 19889 setTransform(el, slideProgress); 19890 }); 19891 }); 19892 }; 19893 19894 const setTransition = function (duration) { 19895 if (duration === void 0) { 19896 duration = swiper.params.speed; 19897 } 19898 19899 const { 19900 $el 19901 } = swiper; 19902 $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(parallaxEl => { 19903 const $parallaxEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(parallaxEl); 19904 let parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration; 19905 if (duration === 0) parallaxDuration = 0; 19906 $parallaxEl.transition(parallaxDuration); 19907 }); 19908 }; 19909 19910 on('beforeInit', () => { 19911 if (!swiper.params.parallax.enabled) return; 19912 swiper.params.watchSlidesProgress = true; 19913 swiper.originalParams.watchSlidesProgress = true; 19914 }); 19915 on('init', () => { 19916 if (!swiper.params.parallax.enabled) return; 19917 setTranslate(); 19918 }); 19919 on('setTranslate', () => { 19920 if (!swiper.params.parallax.enabled) return; 19921 setTranslate(); 19922 }); 19923 on('setTransition', (_swiper, duration) => { 19924 if (!swiper.params.parallax.enabled) return; 19925 setTransition(duration); 19926 }); 19927} 19928 19929/***/ }), 19930
vendor: 11,801 bytes, lines 19931-20351
19931/***/ "./node_modules/swiper/modules/scrollbar/scrollbar.js": 19932/*!************************************************************!*\ 19933 !*** ./node_modules/swiper/modules/scrollbar/scrollbar.js ***! 19934 \************************************************************/ 19935/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 19936 19937__webpack_require__.r(__webpack_exports__); 19938/* harmony export */ __webpack_require__.d(__webpack_exports__, { 19939/* harmony export */ "default": function() { return /* binding */ Scrollbar; } 19940/* harmony export */ }); 19941/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 19942/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 19943/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 19944/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "./node_modules/swiper/shared/create-element-if-not-defined.js"); 19945 19946 19947 19948 19949function Scrollbar(_ref) { 19950 let { 19951 swiper, 19952 extendParams, 19953 on, 19954 emit 19955 } = _ref; 19956 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 19957 let isTouched = false; 19958 let timeout = null; 19959 let dragTimeout = null; 19960 let dragStartPos; 19961 let dragSize; 19962 let trackSize; 19963 let divider; 19964 extendParams({ 19965 scrollbar: { 19966 el: null, 19967 dragSize: 'auto', 19968 hide: false, 19969 draggable: false, 19970 snapOnRelease: true, 19971 lockClass: 'swiper-scrollbar-lock', 19972 dragClass: 'swiper-scrollbar-drag', 19973 scrollbarDisabledClass: 'swiper-scrollbar-disabled', 19974 horizontalClass: `swiper-scrollbar-horizontal`, 19975 verticalClass: `swiper-scrollbar-vertical` 19976 } 19977 }); 19978 swiper.scrollbar = { 19979 el: null, 19980 dragEl: null, 19981 $el: null, 19982 $dragEl: null 19983 }; 19984 19985 function setTranslate() { 19986 if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; 19987 const { 19988 scrollbar, 19989 rtlTranslate: rtl, 19990 progress 19991 } = swiper; 19992 const { 19993 $dragEl, 19994 $el 19995 } = scrollbar; 19996 const params = swiper.params.scrollbar; 19997 let newSize = dragSize; 19998 let newPos = (trackSize - dragSize) * progress; 19999 20000 if (rtl) { 20001 newPos = -newPos; 20002 20003 if (newPos > 0) { 20004 newSize = dragSize - newPos; 20005 newPos = 0; 20006 } else if (-newPos + dragSize > trackSize) { 20007 newSize = trackSize + newPos; 20008 } 20009 } else if (newPos < 0) { 20010 newSize = dragSize + newPos; 20011 newPos = 0; 20012 } else if (newPos + dragSize > trackSize) { 20013 newSize = trackSize - newPos; 20014 } 20015 20016 if (swiper.isHorizontal()) { 20017 $dragEl.transform(`translate3d(${newPos}px, 0, 0)`); 20018 $dragEl[0].style.width = `${newSize}px`; 20019 } else { 20020 $dragEl.transform(`translate3d(0px, ${newPos}px, 0)`); 20021 $dragEl[0].style.height = `${newSize}px`; 20022 } 20023 20024 if (params.hide) { 20025 clearTimeout(timeout); 20026 $el[0].style.opacity = 1; 20027 timeout = setTimeout(() => { 20028 $el[0].style.opacity = 0; 20029 $el.transition(400); 20030 }, 1000); 20031 } 20032 } 20033 20034 function setTransition(duration) { 20035 if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; 20036 swiper.scrollbar.$dragEl.transition(duration); 20037 } 20038 20039 function updateSize() { 20040 if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; 20041 const { 20042 scrollbar 20043 } = swiper; 20044 const { 20045 $dragEl, 20046 $el 20047 } = scrollbar; 20048 $dragEl[0].style.width = ''; 20049 $dragEl[0].style.height = ''; 20050 trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight; 20051 divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0)); 20052 20053 if (swiper.params.scrollbar.dragSize === 'auto') { 20054 dragSize = trackSize * divider; 20055 } else { 20056 dragSize = parseInt(swiper.params.scrollbar.dragSize, 10); 20057 } 20058 20059 if (swiper.isHorizontal()) { 20060 $dragEl[0].style.width = `${dragSize}px`; 20061 } else { 20062 $dragEl[0].style.height = `${dragSize}px`; 20063 } 20064 20065 if (divider >= 1) { 20066 $el[0].style.display = 'none'; 20067 } else { 20068 $el[0].style.display = ''; 20069 } 20070 20071 if (swiper.params.scrollbar.hide) { 20072 $el[0].style.opacity = 0; 20073 } 20074 20075 if (swiper.params.watchOverflow && swiper.enabled) { 20076 scrollbar.$el[swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass); 20077 } 20078 } 20079 20080 function getPointerPosition(e) { 20081 if (swiper.isHorizontal()) { 20082 return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX; 20083 } 20084 20085 return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY; 20086 } 20087 20088 function setDragPosition(e) { 20089 const { 20090 scrollbar, 20091 rtlTranslate: rtl 20092 } = swiper; 20093 const { 20094 $el 20095 } = scrollbar; 20096 let positionRatio; 20097 positionRatio = (getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize); 20098 positionRatio = Math.max(Math.min(positionRatio, 1), 0); 20099 20100 if (rtl) { 20101 positionRatio = 1 - positionRatio; 20102 } 20103 20104 const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio; 20105 swiper.updateProgress(position); 20106 swiper.setTranslate(position); 20107 swiper.updateActiveIndex(); 20108 swiper.updateSlidesClasses(); 20109 } 20110 20111 function onDragStart(e) { 20112 const params = swiper.params.scrollbar; 20113 const { 20114 scrollbar, 20115 $wrapperEl 20116 } = swiper; 20117 const { 20118 $el, 20119 $dragEl 20120 } = scrollbar; 20121 isTouched = true; 20122 dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null; 20123 e.preventDefault(); 20124 e.stopPropagation(); 20125 $wrapperEl.transition(100); 20126 $dragEl.transition(100); 20127 setDragPosition(e); 20128 clearTimeout(dragTimeout); 20129 $el.transition(0); 20130 20131 if (params.hide) { 20132 $el.css('opacity', 1); 20133 } 20134 20135 if (swiper.params.cssMode) { 20136 swiper.$wrapperEl.css('scroll-snap-type', 'none'); 20137 } 20138 20139 emit('scrollbarDragStart', e); 20140 } 20141 20142 function onDragMove(e) { 20143 const { 20144 scrollbar, 20145 $wrapperEl 20146 } = swiper; 20147 const { 20148 $el, 20149 $dragEl 20150 } = scrollbar; 20151 if (!isTouched) return; 20152 if (e.preventDefault) e.preventDefault();else e.returnValue = false; 20153 setDragPosition(e); 20154 $wrapperEl.transition(0); 20155 $el.transition(0); 20156 $dragEl.transition(0); 20157 emit('scrollbarDragMove', e); 20158 } 20159 20160 function onDragEnd(e) { 20161 const params = swiper.params.scrollbar; 20162 const { 20163 scrollbar, 20164 $wrapperEl 20165 } = swiper; 20166 const { 20167 $el 20168 } = scrollbar; 20169 if (!isTouched) return; 20170 isTouched = false; 20171 20172 if (swiper.params.cssMode) { 20173 swiper.$wrapperEl.css('scroll-snap-type', ''); 20174 $wrapperEl.transition(''); 20175 } 20176 20177 if (params.hide) { 20178 clearTimeout(dragTimeout); 20179 dragTimeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.nextTick)(() => { 20180 $el.css('opacity', 0); 20181 $el.transition(400); 20182 }, 1000); 20183 } 20184 20185 emit('scrollbarDragEnd', e); 20186 20187 if (params.snapOnRelease) { 20188 swiper.slideToClosest(); 20189 } 20190 } 20191 20192 function events(method) { 20193 const { 20194 scrollbar, 20195 touchEventsTouch, 20196 touchEventsDesktop, 20197 params, 20198 support 20199 } = swiper; 20200 const $el = scrollbar.$el; 20201 if (!$el) return; 20202 const target = $el[0]; 20203 const activeListener = support.passiveListener && params.passiveListeners ? { 20204 passive: false, 20205 capture: false 20206 } : false; 20207 const passiveListener = support.passiveListener && params.passiveListeners ? { 20208 passive: true, 20209 capture: false 20210 } : false; 20211 if (!target) return; 20212 const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener'; 20213 20214 if (!support.touch) { 20215 target[eventMethod](touchEventsDesktop.start, onDragStart, activeListener); 20216 document[eventMethod](touchEventsDesktop.move, onDragMove, activeListener); 20217 document[eventMethod](touchEventsDesktop.end, onDragEnd, passiveListener); 20218 } else { 20219 target[eventMethod](touchEventsTouch.start, onDragStart, activeListener); 20220 target[eventMethod](touchEventsTouch.move, onDragMove, activeListener); 20221 target[eventMethod](touchEventsTouch.end, onDragEnd, passiveListener); 20222 } 20223 } 20224 20225 function enableDraggable() { 20226 if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; 20227 events('on'); 20228 } 20229 20230 function disableDraggable() { 20231 if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return; 20232 events('off'); 20233 } 20234 20235 function init() { 20236 const { 20237 scrollbar, 20238 $el: $swiperEl 20239 } = swiper; 20240 swiper.params.scrollbar = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_3__["default"])(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, { 20241 el: 'swiper-scrollbar' 20242 }); 20243 const params = swiper.params.scrollbar; 20244 if (!params.el) return; 20245 let $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.el); 20246 20247 if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) { 20248 $el = $swiperEl.find(params.el); 20249 } 20250 20251 $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); 20252 let $dragEl = $el.find(`.${swiper.params.scrollbar.dragClass}`); 20253 20254 if ($dragEl.length === 0) { 20255 $dragEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(`<div class="${swiper.params.scrollbar.dragClass}"></div>`); 20256 $el.append($dragEl); 20257 } 20258 20259 Object.assign(scrollbar, { 20260 $el, 20261 el: $el[0], 20262 $dragEl, 20263 dragEl: $dragEl[0] 20264 }); 20265 20266 if (params.draggable) { 20267 enableDraggable(); 20268 } 20269 20270 if ($el) { 20271 $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass); 20272 } 20273 } 20274 20275 function destroy() { 20276 const params = swiper.params.scrollbar; 20277 const $el = swiper.scrollbar.$el; 20278 20279 if ($el) { 20280 $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass); 20281 } 20282 20283 disableDraggable(); 20284 } 20285 20286 on('init', () => { 20287 if (swiper.params.scrollbar.enabled === false) { 20288 // eslint-disable-next-line 20289 disable(); 20290 } else { 20291 init(); 20292 updateSize(); 20293 setTranslate(); 20294 } 20295 }); 20296 on('update resize observerUpdate lock unlock', () => { 20297 updateSize(); 20298 }); 20299 on('setTranslate', () => { 20300 setTranslate(); 20301 }); 20302 on('setTransition', (_s, duration) => { 20303 setTransition(duration); 20304 }); 20305 on('enable disable', () => { 20306 const { 20307 $el 20308 } = swiper.scrollbar; 20309 20310 if ($el) { 20311 $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass); 20312 } 20313 }); 20314 on('destroy', () => { 20315 destroy(); 20316 }); 20317 20318 const enable = () => { 20319 swiper.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass); 20320 20321 if (swiper.scrollbar.$el) { 20322 swiper.scrollbar.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass); 20323 } 20324 20325 init(); 20326 updateSize(); 20327 setTranslate(); 20328 }; 20329 20330 const disable = () => { 20331 swiper.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass); 20332 20333 if (swiper.scrollbar.$el) { 20334 swiper.scrollbar.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass); 20335 } 20336 20337 destroy(); 20338 }; 20339 20340 Object.assign(swiper.scrollbar, { 20341 enable, 20342 disable, 20343 updateSize, 20344 setTranslate, 20345 init, 20346 destroy 20347 }); 20348} 20349 20350/***/ }), 20351
vendor: 8,542 bytes, lines 20352-20570
20352/***/ "./node_modules/swiper/modules/thumbs/thumbs.js": 20353/*!******************************************************!*\ 20354 !*** ./node_modules/swiper/modules/thumbs/thumbs.js ***! 20355 \******************************************************/ 20356/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20357 20358__webpack_require__.r(__webpack_exports__); 20359/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20360/* harmony export */ "default": function() { return /* binding */ Thumb; } 20361/* harmony export */ }); 20362/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 20363/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 20364 20365 20366function Thumb(_ref) { 20367 let { 20368 swiper, 20369 extendParams, 20370 on 20371 } = _ref; 20372 extendParams({ 20373 thumbs: { 20374 swiper: null, 20375 multipleActiveThumbs: true, 20376 autoScrollOffset: 0, 20377 slideThumbActiveClass: 'swiper-slide-thumb-active', 20378 thumbsContainerClass: 'swiper-thumbs' 20379 } 20380 }); 20381 let initialized = false; 20382 let swiperCreated = false; 20383 swiper.thumbs = { 20384 swiper: null 20385 }; 20386 20387 function onThumbClick() { 20388 const thumbsSwiper = swiper.thumbs.swiper; 20389 if (!thumbsSwiper || thumbsSwiper.destroyed) return; 20390 const clickedIndex = thumbsSwiper.clickedIndex; 20391 const clickedSlide = thumbsSwiper.clickedSlide; 20392 if (clickedSlide && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)) return; 20393 if (typeof clickedIndex === 'undefined' || clickedIndex === null) return; 20394 let slideToIndex; 20395 20396 if (thumbsSwiper.params.loop) { 20397 slideToIndex = parseInt((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10); 20398 } else { 20399 slideToIndex = clickedIndex; 20400 } 20401 20402 if (swiper.params.loop) { 20403 let currentIndex = swiper.activeIndex; 20404 20405 if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) { 20406 swiper.loopFix(); // eslint-disable-next-line 20407 20408 swiper._clientLeft = swiper.$wrapperEl[0].clientLeft; 20409 currentIndex = swiper.activeIndex; 20410 } 20411 20412 const prevIndex = swiper.slides.eq(currentIndex).prevAll(`[data-swiper-slide-index="${slideToIndex}"]`).eq(0).index(); 20413 const nextIndex = swiper.slides.eq(currentIndex).nextAll(`[data-swiper-slide-index="${slideToIndex}"]`).eq(0).index(); 20414 if (typeof prevIndex === 'undefined') slideToIndex = nextIndex;else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;else slideToIndex = prevIndex; 20415 } 20416 20417 swiper.slideTo(slideToIndex); 20418 } 20419 20420 function init() { 20421 const { 20422 thumbs: thumbsParams 20423 } = swiper.params; 20424 if (initialized) return false; 20425 initialized = true; 20426 const SwiperClass = swiper.constructor; 20427 20428 if (thumbsParams.swiper instanceof SwiperClass) { 20429 swiper.thumbs.swiper = thumbsParams.swiper; 20430 Object.assign(swiper.thumbs.swiper.originalParams, { 20431 watchSlidesProgress: true, 20432 slideToClickedSlide: false 20433 }); 20434 Object.assign(swiper.thumbs.swiper.params, { 20435 watchSlidesProgress: true, 20436 slideToClickedSlide: false 20437 }); 20438 } else if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(thumbsParams.swiper)) { 20439 const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper); 20440 Object.assign(thumbsSwiperParams, { 20441 watchSlidesProgress: true, 20442 slideToClickedSlide: false 20443 }); 20444 swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams); 20445 swiperCreated = true; 20446 } 20447 20448 swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass); 20449 swiper.thumbs.swiper.on('tap', onThumbClick); 20450 return true; 20451 } 20452 20453 function update(initial) { 20454 const thumbsSwiper = swiper.thumbs.swiper; 20455 if (!thumbsSwiper || thumbsSwiper.destroyed) return; 20456 const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView; // Activate thumbs 20457 20458 let thumbsToActivate = 1; 20459 const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass; 20460 20461 if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) { 20462 thumbsToActivate = swiper.params.slidesPerView; 20463 } 20464 20465 if (!swiper.params.thumbs.multipleActiveThumbs) { 20466 thumbsToActivate = 1; 20467 } 20468 20469 thumbsToActivate = Math.floor(thumbsToActivate); 20470 thumbsSwiper.slides.removeClass(thumbActiveClass); 20471 20472 if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) { 20473 for (let i = 0; i < thumbsToActivate; i += 1) { 20474 thumbsSwiper.$wrapperEl.children(`[data-swiper-slide-index="${swiper.realIndex + i}"]`).addClass(thumbActiveClass); 20475 } 20476 } else { 20477 for (let i = 0; i < thumbsToActivate; i += 1) { 20478 thumbsSwiper.slides.eq(swiper.realIndex + i).addClass(thumbActiveClass); 20479 } 20480 } 20481 20482 const autoScrollOffset = swiper.params.thumbs.autoScrollOffset; 20483 const useOffset = autoScrollOffset && !thumbsSwiper.params.loop; 20484 20485 if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) { 20486 let currentThumbsIndex = thumbsSwiper.activeIndex; 20487 let newThumbsIndex; 20488 let direction; 20489 20490 if (thumbsSwiper.params.loop) { 20491 if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) { 20492 thumbsSwiper.loopFix(); // eslint-disable-next-line 20493 20494 thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft; 20495 currentThumbsIndex = thumbsSwiper.activeIndex; 20496 } // Find actual thumbs index to slide to 20497 20498 20499 const prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(`[data-swiper-slide-index="${swiper.realIndex}"]`).eq(0).index(); 20500 const nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(`[data-swiper-slide-index="${swiper.realIndex}"]`).eq(0).index(); 20501 20502 if (typeof prevThumbsIndex === 'undefined') { 20503 newThumbsIndex = nextThumbsIndex; 20504 } else if (typeof nextThumbsIndex === 'undefined') { 20505 newThumbsIndex = prevThumbsIndex; 20506 } else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) { 20507 newThumbsIndex = thumbsSwiper.params.slidesPerGroup > 1 ? nextThumbsIndex : currentThumbsIndex; 20508 } else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) { 20509 newThumbsIndex = nextThumbsIndex; 20510 } else { 20511 newThumbsIndex = prevThumbsIndex; 20512 } 20513 20514 direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev'; 20515 } else { 20516 newThumbsIndex = swiper.realIndex; 20517 direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev'; 20518 } 20519 20520 if (useOffset) { 20521 newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset; 20522 } 20523 20524 if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) { 20525 if (thumbsSwiper.params.centeredSlides) { 20526 if (newThumbsIndex > currentThumbsIndex) { 20527 newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1; 20528 } else { 20529 newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1; 20530 } 20531 } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) {// newThumbsIndex = newThumbsIndex - slidesPerView + 1; 20532 } 20533 20534 thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined); 20535 } 20536 } 20537 } 20538 20539 on('beforeInit', () => { 20540 const { 20541 thumbs 20542 } = swiper.params; 20543 if (!thumbs || !thumbs.swiper) return; 20544 init(); 20545 update(true); 20546 }); 20547 on('slideChange update resize observerUpdate', () => { 20548 update(); 20549 }); 20550 on('setTransition', (_s, duration) => { 20551 const thumbsSwiper = swiper.thumbs.swiper; 20552 if (!thumbsSwiper || thumbsSwiper.destroyed) return; 20553 thumbsSwiper.setTransition(duration); 20554 }); 20555 on('beforeDestroy', () => { 20556 const thumbsSwiper = swiper.thumbs.swiper; 20557 if (!thumbsSwiper || thumbsSwiper.destroyed) return; 20558 20559 if (swiperCreated) { 20560 thumbsSwiper.destroy(); 20561 } 20562 }); 20563 Object.assign(swiper.thumbs, { 20564 init, 20565 update 20566 }); 20567} 20568 20569/***/ }), 20570
vendor: 9,104 bytes, lines 20571-20883
20571/***/ "./node_modules/swiper/modules/virtual/virtual.js": 20572/*!********************************************************!*\ 20573 !*** ./node_modules/swiper/modules/virtual/virtual.js ***! 20574 \********************************************************/ 20575/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20576 20577__webpack_require__.r(__webpack_exports__); 20578/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20579/* harmony export */ "default": function() { return /* binding */ Virtual; } 20580/* harmony export */ }); 20581/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 20582/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 20583 20584 20585function Virtual(_ref) { 20586 let { 20587 swiper, 20588 extendParams, 20589 on, 20590 emit 20591 } = _ref; 20592 extendParams({ 20593 virtual: { 20594 enabled: false, 20595 slides: [], 20596 cache: true, 20597 renderSlide: null, 20598 renderExternal: null, 20599 renderExternalUpdate: true, 20600 addSlidesBefore: 0, 20601 addSlidesAfter: 0 20602 } 20603 }); 20604 let cssModeTimeout; 20605 swiper.virtual = { 20606 cache: {}, 20607 from: undefined, 20608 to: undefined, 20609 slides: [], 20610 offset: 0, 20611 slidesGrid: [] 20612 }; 20613 20614 function renderSlide(slide, index) { 20615 const params = swiper.params.virtual; 20616 20617 if (params.cache && swiper.virtual.cache[index]) { 20618 return swiper.virtual.cache[index]; 20619 } 20620 20621 const $slideEl = params.renderSlide ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.renderSlide.call(swiper, slide, index)) : (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(`<div class="${swiper.params.slideClass}" data-swiper-slide-index="${index}">${slide}</div>`); 20622 if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index); 20623 if (params.cache) swiper.virtual.cache[index] = $slideEl; 20624 return $slideEl; 20625 } 20626 20627 function update(force) { 20628 const { 20629 slidesPerView, 20630 slidesPerGroup, 20631 centeredSlides 20632 } = swiper.params; 20633 const { 20634 addSlidesBefore, 20635 addSlidesAfter 20636 } = swiper.params.virtual; 20637 const { 20638 from: previousFrom, 20639 to: previousTo, 20640 slides, 20641 slidesGrid: previousSlidesGrid, 20642 offset: previousOffset 20643 } = swiper.virtual; 20644 20645 if (!swiper.params.cssMode) { 20646 swiper.updateActiveIndex(); 20647 } 20648 20649 const activeIndex = swiper.activeIndex || 0; 20650 let offsetProp; 20651 if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top'; 20652 let slidesAfter; 20653 let slidesBefore; 20654 20655 if (centeredSlides) { 20656 slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter; 20657 slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore; 20658 } else { 20659 slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter; 20660 slidesBefore = slidesPerGroup + addSlidesBefore; 20661 } 20662 20663 const from = Math.max((activeIndex || 0) - slidesBefore, 0); 20664 const to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1); 20665 const offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0); 20666 Object.assign(swiper.virtual, { 20667 from, 20668 to, 20669 offset, 20670 slidesGrid: swiper.slidesGrid 20671 }); 20672 20673 function onRendered() { 20674 swiper.updateSlides(); 20675 swiper.updateProgress(); 20676 swiper.updateSlidesClasses(); 20677 20678 if (swiper.lazy && swiper.params.lazy.enabled) { 20679 swiper.lazy.load(); 20680 } 20681 20682 emit('virtualUpdate'); 20683 } 20684 20685 if (previousFrom === from && previousTo === to && !force) { 20686 if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) { 20687 swiper.slides.css(offsetProp, `${offset}px`); 20688 } 20689 20690 swiper.updateProgress(); 20691 emit('virtualUpdate'); 20692 return; 20693 } 20694 20695 if (swiper.params.virtual.renderExternal) { 20696 swiper.params.virtual.renderExternal.call(swiper, { 20697 offset, 20698 from, 20699 to, 20700 slides: function getSlides() { 20701 const slidesToRender = []; 20702 20703 for (let i = from; i <= to; i += 1) { 20704 slidesToRender.push(slides[i]); 20705 } 20706 20707 return slidesToRender; 20708 }() 20709 }); 20710 20711 if (swiper.params.virtual.renderExternalUpdate) { 20712 onRendered(); 20713 } else { 20714 emit('virtualUpdate'); 20715 } 20716 20717 return; 20718 } 20719 20720 const prependIndexes = []; 20721 const appendIndexes = []; 20722 20723 if (force) { 20724 swiper.$wrapperEl.find(`.${swiper.params.slideClass}`).remove(); 20725 } else { 20726 for (let i = previousFrom; i <= previousTo; i += 1) { 20727 if (i < from || i > to) { 20728 swiper.$wrapperEl.find(`.${swiper.params.slideClass}[data-swiper-slide-index="${i}"]`).remove(); 20729 } 20730 } 20731 } 20732 20733 for (let i = 0; i < slides.length; i += 1) { 20734 if (i >= from && i <= to) { 20735 if (typeof previousTo === 'undefined' || force) { 20736 appendIndexes.push(i); 20737 } else { 20738 if (i > previousTo) appendIndexes.push(i); 20739 if (i < previousFrom) prependIndexes.push(i); 20740 } 20741 } 20742 } 20743 20744 appendIndexes.forEach(index => { 20745 swiper.$wrapperEl.append(renderSlide(slides[index], index)); 20746 }); 20747 prependIndexes.sort((a, b) => b - a).forEach(index => { 20748 swiper.$wrapperEl.prepend(renderSlide(slides[index], index)); 20749 }); 20750 swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, `${offset}px`); 20751 onRendered(); 20752 } 20753 20754 function appendSlide(slides) { 20755 if (typeof slides === 'object' && 'length' in slides) { 20756 for (let i = 0; i < slides.length; i += 1) { 20757 if (slides[i]) swiper.virtual.slides.push(slides[i]); 20758 } 20759 } else { 20760 swiper.virtual.slides.push(slides); 20761 } 20762 20763 update(true); 20764 } 20765 20766 function prependSlide(slides) { 20767 const activeIndex = swiper.activeIndex; 20768 let newActiveIndex = activeIndex + 1; 20769 let numberOfNewSlides = 1; 20770 20771 if (Array.isArray(slides)) { 20772 for (let i = 0; i < slides.length; i += 1) { 20773 if (slides[i]) swiper.virtual.slides.unshift(slides[i]); 20774 } 20775 20776 newActiveIndex = activeIndex + slides.length; 20777 numberOfNewSlides = slides.length; 20778 } else { 20779 swiper.virtual.slides.unshift(slides); 20780 } 20781 20782 if (swiper.params.virtual.cache) { 20783 const cache = swiper.virtual.cache; 20784 const newCache = {}; 20785 Object.keys(cache).forEach(cachedIndex => { 20786 const $cachedEl = cache[cachedIndex]; 20787 const cachedElIndex = $cachedEl.attr('data-swiper-slide-index'); 20788 20789 if (cachedElIndex) { 20790 $cachedEl.attr('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides); 20791 } 20792 20793 newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl; 20794 }); 20795 swiper.virtual.cache = newCache; 20796 } 20797 20798 update(true); 20799 swiper.slideTo(newActiveIndex, 0); 20800 } 20801 20802 function removeSlide(slidesIndexes) { 20803 if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return; 20804 let activeIndex = swiper.activeIndex; 20805 20806 if (Array.isArray(slidesIndexes)) { 20807 for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) { 20808 swiper.virtual.slides.splice(slidesIndexes[i], 1); 20809 20810 if (swiper.params.virtual.cache) { 20811 delete swiper.virtual.cache[slidesIndexes[i]]; 20812 } 20813 20814 if (slidesIndexes[i] < activeIndex) activeIndex -= 1; 20815 activeIndex = Math.max(activeIndex, 0); 20816 } 20817 } else { 20818 swiper.virtual.slides.splice(slidesIndexes, 1); 20819 20820 if (swiper.params.virtual.cache) { 20821 delete swiper.virtual.cache[slidesIndexes]; 20822 } 20823 20824 if (slidesIndexes < activeIndex) activeIndex -= 1; 20825 activeIndex = Math.max(activeIndex, 0); 20826 } 20827 20828 update(true); 20829 swiper.slideTo(activeIndex, 0); 20830 } 20831 20832 function removeAllSlides() { 20833 swiper.virtual.slides = []; 20834 20835 if (swiper.params.virtual.cache) { 20836 swiper.virtual.cache = {}; 20837 } 20838 20839 update(true); 20840 swiper.slideTo(0, 0); 20841 } 20842 20843 on('beforeInit', () => { 20844 if (!swiper.params.virtual.enabled) return; 20845 swiper.virtual.slides = swiper.params.virtual.slides; 20846 swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`); 20847 swiper.params.watchSlidesProgress = true; 20848 swiper.originalParams.watchSlidesProgress = true; 20849 20850 if (!swiper.params.initialSlide) { 20851 update(); 20852 } 20853 }); 20854 on('setTranslate', () => { 20855 if (!swiper.params.virtual.enabled) return; 20856 20857 if (swiper.params.cssMode && !swiper._immediateVirtual) { 20858 clearTimeout(cssModeTimeout); 20859 cssModeTimeout = setTimeout(() => { 20860 update(); 20861 }, 100); 20862 } else { 20863 update(); 20864 } 20865 }); 20866 on('init update resize', () => { 20867 if (!swiper.params.virtual.enabled) return; 20868 20869 if (swiper.params.cssMode) { 20870 (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.setCSSProperty)(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`); 20871 } 20872 }); 20873 Object.assign(swiper.virtual, { 20874 appendSlide, 20875 prependSlide, 20876 removeSlide, 20877 removeAllSlides, 20878 update 20879 }); 20880} 20881 20882/***/ }), 20883
vendor: 21,697 bytes, lines 20884-21512
20884/***/ "./node_modules/swiper/modules/zoom/zoom.js": 20885/*!**************************************************!*\ 20886 !*** ./node_modules/swiper/modules/zoom/zoom.js ***! 20887 \**************************************************/ 20888/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 20889 20890__webpack_require__.r(__webpack_exports__); 20891/* harmony export */ __webpack_require__.d(__webpack_exports__, { 20892/* harmony export */ "default": function() { return /* binding */ Zoom; } 20893/* harmony export */ }); 20894/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 20895/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js"); 20896/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js"); 20897 20898 20899 20900function Zoom(_ref) { 20901 let { 20902 swiper, 20903 extendParams, 20904 on, 20905 emit 20906 } = _ref; 20907 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 20908 extendParams({ 20909 zoom: { 20910 enabled: false, 20911 maxRatio: 3, 20912 minRatio: 1, 20913 toggle: true, 20914 containerClass: 'swiper-zoom-container', 20915 zoomedSlideClass: 'swiper-slide-zoomed' 20916 } 20917 }); 20918 swiper.zoom = { 20919 enabled: false 20920 }; 20921 let currentScale = 1; 20922 let isScaling = false; 20923 let gesturesEnabled; 20924 let fakeGestureTouched; 20925 let fakeGestureMoved; 20926 const gesture = { 20927 $slideEl: undefined, 20928 slideWidth: undefined, 20929 slideHeight: undefined, 20930 $imageEl: undefined, 20931 $imageWrapEl: undefined, 20932 maxRatio: 3 20933 }; 20934 const image = { 20935 isTouched: undefined, 20936 isMoved: undefined, 20937 currentX: undefined, 20938 currentY: undefined, 20939 minX: undefined, 20940 minY: undefined, 20941 maxX: undefined, 20942 maxY: undefined, 20943 width: undefined, 20944 height: undefined, 20945 startX: undefined, 20946 startY: undefined, 20947 touchesStart: {}, 20948 touchesCurrent: {} 20949 }; 20950 const velocity = { 20951 x: undefined, 20952 y: undefined, 20953 prevPositionX: undefined, 20954 prevPositionY: undefined, 20955 prevTime: undefined 20956 }; 20957 let scale = 1; 20958 Object.defineProperty(swiper.zoom, 'scale', { 20959 get() { 20960 return scale; 20961 }, 20962 20963 set(value) { 20964 if (scale !== value) { 20965 const imageEl = gesture.$imageEl ? gesture.$imageEl[0] : undefined; 20966 const slideEl = gesture.$slideEl ? gesture.$slideEl[0] : undefined; 20967 emit('zoomChange', value, imageEl, slideEl); 20968 } 20969 20970 scale = value; 20971 } 20972 20973 }); 20974 20975 function getDistanceBetweenTouches(e) { 20976 if (e.targetTouches.length < 2) return 1; 20977 const x1 = e.targetTouches[0].pageX; 20978 const y1 = e.targetTouches[0].pageY; 20979 const x2 = e.targetTouches[1].pageX; 20980 const y2 = e.targetTouches[1].pageY; 20981 const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2); 20982 return distance; 20983 } // Events 20984 20985 20986 function onGestureStart(e) { 20987 const support = swiper.support; 20988 const params = swiper.params.zoom; 20989 fakeGestureTouched = false; 20990 fakeGestureMoved = false; 20991 20992 if (!support.gestures) { 20993 if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) { 20994 return; 20995 } 20996 20997 fakeGestureTouched = true; 20998 gesture.scaleStart = getDistanceBetweenTouches(e); 20999 } 21000 21001 if (!gesture.$slideEl || !gesture.$slideEl.length) { 21002 gesture.$slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target).closest(`.${swiper.params.slideClass}`); 21003 if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex); 21004 gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0); 21005 gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`); 21006 gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio; 21007 21008 if (gesture.$imageWrapEl.length === 0) { 21009 gesture.$imageEl = undefined; 21010 return; 21011 } 21012 } 21013 21014 if (gesture.$imageEl) { 21015 gesture.$imageEl.transition(0); 21016 } 21017 21018 isScaling = true; 21019 } 21020 21021 function onGestureChange(e) { 21022 const support = swiper.support; 21023 const params = swiper.params.zoom; 21024 const zoom = swiper.zoom; 21025 21026 if (!support.gestures) { 21027 if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) { 21028 return; 21029 } 21030 21031 fakeGestureMoved = true; 21032 gesture.scaleMove = getDistanceBetweenTouches(e); 21033 } 21034 21035 if (!gesture.$imageEl || gesture.$imageEl.length === 0) { 21036 if (e.type === 'gesturechange') onGestureStart(e); 21037 return; 21038 } 21039 21040 if (support.gestures) { 21041 zoom.scale = e.scale * currentScale; 21042 } else { 21043 zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale; 21044 } 21045 21046 if (zoom.scale > gesture.maxRatio) { 21047 zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5; 21048 } 21049 21050 if (zoom.scale < params.minRatio) { 21051 zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5; 21052 } 21053 21054 gesture.$imageEl.transform(`translate3d(0,0,0) scale(${zoom.scale})`); 21055 } 21056 21057 function onGestureEnd(e) { 21058 const device = swiper.device; 21059 const support = swiper.support; 21060 const params = swiper.params.zoom; 21061 const zoom = swiper.zoom; 21062 21063 if (!support.gestures) { 21064 if (!fakeGestureTouched || !fakeGestureMoved) { 21065 return; 21066 } 21067 21068 if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2 && !device.android) { 21069 return; 21070 } 21071 21072 fakeGestureTouched = false; 21073 fakeGestureMoved = false; 21074 } 21075 21076 if (!gesture.$imageEl || gesture.$imageEl.length === 0) return; 21077 zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio); 21078 gesture.$imageEl.transition(swiper.params.speed).transform(`translate3d(0,0,0) scale(${zoom.scale})`); 21079 currentScale = zoom.scale; 21080 isScaling = false; 21081 if (zoom.scale === 1) gesture.$slideEl = undefined; 21082 } 21083 21084 function onTouchStart(e) { 21085 const device = swiper.device; 21086 if (!gesture.$imageEl || gesture.$imageEl.length === 0) return; 21087 if (image.isTouched) return; 21088 if (device.android && e.cancelable) e.preventDefault(); 21089 image.isTouched = true; 21090 image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; 21091 image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; 21092 } 21093 21094 function onTouchMove(e) { 21095 const zoom = swiper.zoom; 21096 if (!gesture.$imageEl || gesture.$imageEl.length === 0) return; 21097 swiper.allowClick = false; 21098 if (!image.isTouched || !gesture.$slideEl) return; 21099 21100 if (!image.isMoved) { 21101 image.width = gesture.$imageEl[0].offsetWidth; 21102 image.height = gesture.$imageEl[0].offsetHeight; 21103 image.startX = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.getTranslate)(gesture.$imageWrapEl[0], 'x') || 0; 21104 image.startY = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.getTranslate)(gesture.$imageWrapEl[0], 'y') || 0; 21105 gesture.slideWidth = gesture.$slideEl[0].offsetWidth; 21106 gesture.slideHeight = gesture.$slideEl[0].offsetHeight; 21107 gesture.$imageWrapEl.transition(0); 21108 } // Define if we need image drag 21109 21110 21111 const scaledWidth = image.width * zoom.scale; 21112 const scaledHeight = image.height * zoom.scale; 21113 if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return; 21114 image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); 21115 image.maxX = -image.minX; 21116 image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); 21117 image.maxY = -image.minY; 21118 image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; 21119 image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; 21120 21121 if (!image.isMoved && !isScaling) { 21122 if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) { 21123 image.isTouched = false; 21124 return; 21125 } 21126 21127 if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) { 21128 image.isTouched = false; 21129 return; 21130 } 21131 } 21132 21133 if (e.cancelable) { 21134 e.preventDefault(); 21135 } 21136 21137 e.stopPropagation(); 21138 image.isMoved = true; 21139 image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX; 21140 image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY; 21141 21142 if (image.currentX < image.minX) { 21143 image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8; 21144 } 21145 21146 if (image.currentX > image.maxX) { 21147 image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8; 21148 } 21149 21150 if (image.currentY < image.minY) { 21151 image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8; 21152 } 21153 21154 if (image.currentY > image.maxY) { 21155 image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8; 21156 } // Velocity 21157 21158 21159 if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x; 21160 if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y; 21161 if (!velocity.prevTime) velocity.prevTime = Date.now(); 21162 velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2; 21163 velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2; 21164 if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0; 21165 if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0; 21166 velocity.prevPositionX = image.touchesCurrent.x; 21167 velocity.prevPositionY = image.touchesCurrent.y; 21168 velocity.prevTime = Date.now(); 21169 gesture.$imageWrapEl.transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`); 21170 } 21171 21172 function onTouchEnd() { 21173 const zoom = swiper.zoom; 21174 if (!gesture.$imageEl || gesture.$imageEl.length === 0) return; 21175 21176 if (!image.isTouched || !image.isMoved) { 21177 image.isTouched = false; 21178 image.isMoved = false; 21179 return; 21180 } 21181 21182 image.isTouched = false; 21183 image.isMoved = false; 21184 let momentumDurationX = 300; 21185 let momentumDurationY = 300; 21186 const momentumDistanceX = velocity.x * momentumDurationX; 21187 const newPositionX = image.currentX + momentumDistanceX; 21188 const momentumDistanceY = velocity.y * momentumDurationY; 21189 const newPositionY = image.currentY + momentumDistanceY; // Fix duration 21190 21191 if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x); 21192 if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y); 21193 const momentumDuration = Math.max(momentumDurationX, momentumDurationY); 21194 image.currentX = newPositionX; 21195 image.currentY = newPositionY; // Define if we need image drag 21196 21197 const scaledWidth = image.width * zoom.scale; 21198 const scaledHeight = image.height * zoom.scale; 21199 image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0); 21200 image.maxX = -image.minX; 21201 image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0); 21202 image.maxY = -image.minY; 21203 image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX); 21204 image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY); 21205 gesture.$imageWrapEl.transition(momentumDuration).transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`); 21206 } 21207 21208 function onTransitionEnd() { 21209 const zoom = swiper.zoom; 21210 21211 if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) { 21212 if (gesture.$imageEl) { 21213 gesture.$imageEl.transform('translate3d(0,0,0) scale(1)'); 21214 } 21215 21216 if (gesture.$imageWrapEl) { 21217 gesture.$imageWrapEl.transform('translate3d(0,0,0)'); 21218 } 21219 21220 zoom.scale = 1; 21221 currentScale = 1; 21222 gesture.$slideEl = undefined; 21223 gesture.$imageEl = undefined; 21224 gesture.$imageWrapEl = undefined; 21225 } 21226 } 21227 21228 function zoomIn(e) { 21229 const zoom = swiper.zoom; 21230 const params = swiper.params.zoom; 21231 21232 if (!gesture.$slideEl) { 21233 if (e && e.target) { 21234 gesture.$slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target).closest(`.${swiper.params.slideClass}`); 21235 } 21236 21237 if (!gesture.$slideEl) { 21238 if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { 21239 gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`); 21240 } else { 21241 gesture.$slideEl = swiper.slides.eq(swiper.activeIndex); 21242 } 21243 } 21244 21245 gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0); 21246 gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`); 21247 } 21248 21249 if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return; 21250 21251 if (swiper.params.cssMode) { 21252 swiper.wrapperEl.style.overflow = 'hidden'; 21253 swiper.wrapperEl.style.touchAction = 'none'; 21254 } 21255 21256 gesture.$slideEl.addClass(`${params.zoomedSlideClass}`); 21257 let touchX; 21258 let touchY; 21259 let offsetX; 21260 let offsetY; 21261 let diffX; 21262 let diffY; 21263 let translateX; 21264 let translateY; 21265 let imageWidth; 21266 let imageHeight; 21267 let scaledWidth; 21268 let scaledHeight; 21269 let translateMinX; 21270 let translateMinY; 21271 let translateMaxX; 21272 let translateMaxY; 21273 let slideWidth; 21274 let slideHeight; 21275 21276 if (typeof image.touchesStart.x === 'undefined' && e) { 21277 touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX; 21278 touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY; 21279 } else { 21280 touchX = image.touchesStart.x; 21281 touchY = image.touchesStart.y; 21282 } 21283 21284 zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio; 21285 currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio; 21286 21287 if (e) { 21288 slideWidth = gesture.$slideEl[0].offsetWidth; 21289 slideHeight = gesture.$slideEl[0].offsetHeight; 21290 offsetX = gesture.$slideEl.offset().left + window.scrollX; 21291 offsetY = gesture.$slideEl.offset().top + window.scrollY; 21292 diffX = offsetX + slideWidth / 2 - touchX; 21293 diffY = offsetY + slideHeight / 2 - touchY; 21294 imageWidth = gesture.$imageEl[0].offsetWidth; 21295 imageHeight = gesture.$imageEl[0].offsetHeight; 21296 scaledWidth = imageWidth * zoom.scale; 21297 scaledHeight = imageHeight * zoom.scale; 21298 translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0); 21299 translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0); 21300 translateMaxX = -translateMinX; 21301 translateMaxY = -translateMinY; 21302 translateX = diffX * zoom.scale; 21303 translateY = diffY * zoom.scale; 21304 21305 if (translateX < translateMinX) { 21306 translateX = translateMinX; 21307 } 21308 21309 if (translateX > translateMaxX) { 21310 translateX = translateMaxX; 21311 } 21312 21313 if (translateY < translateMinY) { 21314 translateY = translateMinY; 21315 } 21316 21317 if (translateY > translateMaxY) { 21318 translateY = translateMaxY; 21319 } 21320 } else { 21321 translateX = 0; 21322 translateY = 0; 21323 } 21324 21325 gesture.$imageWrapEl.transition(300).transform(`translate3d(${translateX}px, ${translateY}px,0)`); 21326 gesture.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${zoom.scale})`); 21327 } 21328 21329 function zoomOut() { 21330 const zoom = swiper.zoom; 21331 const params = swiper.params.zoom; 21332 21333 if (!gesture.$slideEl) { 21334 if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) { 21335 gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`); 21336 } else { 21337 gesture.$slideEl = swiper.slides.eq(swiper.activeIndex); 21338 } 21339 21340 gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0); 21341 gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`); 21342 } 21343 21344 if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return; 21345 21346 if (swiper.params.cssMode) { 21347 swiper.wrapperEl.style.overflow = ''; 21348 swiper.wrapperEl.style.touchAction = ''; 21349 } 21350 21351 zoom.scale = 1; 21352 currentScale = 1; 21353 gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)'); 21354 gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)'); 21355 gesture.$slideEl.removeClass(`${params.zoomedSlideClass}`); 21356 gesture.$slideEl = undefined; 21357 } // Toggle Zoom 21358 21359 21360 function zoomToggle(e) { 21361 const zoom = swiper.zoom; 21362 21363 if (zoom.scale && zoom.scale !== 1) { 21364 // Zoom Out 21365 zoomOut(); 21366 } else { 21367 // Zoom In 21368 zoomIn(e); 21369 } 21370 } 21371 21372 function getListeners() { 21373 const support = swiper.support; 21374 const passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? { 21375 passive: true, 21376 capture: false 21377 } : false; 21378 const activeListenerWithCapture = support.passiveListener ? { 21379 passive: false, 21380 capture: true 21381 } : true; 21382 return { 21383 passiveListener, 21384 activeListenerWithCapture 21385 }; 21386 } 21387 21388 function getSlideSelector() { 21389 return `.${swiper.params.slideClass}`; 21390 } 21391 21392 function toggleGestures(method) { 21393 const { 21394 passiveListener 21395 } = getListeners(); 21396 const slideSelector = getSlideSelector(); 21397 swiper.$wrapperEl[method]('gesturestart', slideSelector, onGestureStart, passiveListener); 21398 swiper.$wrapperEl[method]('gesturechange', slideSelector, onGestureChange, passiveListener); 21399 swiper.$wrapperEl[method]('gestureend', slideSelector, onGestureEnd, passiveListener); 21400 } 21401 21402 function enableGestures() { 21403 if (gesturesEnabled) return; 21404 gesturesEnabled = true; 21405 toggleGestures('on'); 21406 } 21407 21408 function disableGestures() { 21409 if (!gesturesEnabled) return; 21410 gesturesEnabled = false; 21411 toggleGestures('off'); 21412 } // Attach/Detach Events 21413 21414 21415 function enable() { 21416 const zoom = swiper.zoom; 21417 if (zoom.enabled) return; 21418 zoom.enabled = true; 21419 const support = swiper.support; 21420 const { 21421 passiveListener, 21422 activeListenerWithCapture 21423 } = getListeners(); 21424 const slideSelector = getSlideSelector(); // Scale image 21425 21426 if (support.gestures) { 21427 swiper.$wrapperEl.on(swiper.touchEvents.start, enableGestures, passiveListener); 21428 swiper.$wrapperEl.on(swiper.touchEvents.end, disableGestures, passiveListener); 21429 } else if (swiper.touchEvents.start === 'touchstart') { 21430 swiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener); 21431 swiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture); 21432 swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener); 21433 21434 if (swiper.touchEvents.cancel) { 21435 swiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener); 21436 } 21437 } // Move image 21438 21439 21440 swiper.$wrapperEl.on(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, onTouchMove, activeListenerWithCapture); 21441 } 21442 21443 function disable() { 21444 const zoom = swiper.zoom; 21445 if (!zoom.enabled) return; 21446 const support = swiper.support; 21447 zoom.enabled = false; 21448 const { 21449 passiveListener, 21450 activeListenerWithCapture 21451 } = getListeners(); 21452 const slideSelector = getSlideSelector(); // Scale image 21453 21454 if (support.gestures) { 21455 swiper.$wrapperEl.off(swiper.touchEvents.start, enableGestures, passiveListener); 21456 swiper.$wrapperEl.off(swiper.touchEvents.end, disableGestures, passiveListener); 21457 } else if (swiper.touchEvents.start === 'touchstart') { 21458 swiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener); 21459 swiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture); 21460 swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener); 21461 21462 if (swiper.touchEvents.cancel) { 21463 swiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener); 21464 } 21465 } // Move image 21466 21467 21468 swiper.$wrapperEl.off(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, onTouchMove, activeListenerWithCapture); 21469 } 21470 21471 on('init', () => { 21472 if (swiper.params.zoom.enabled) { 21473 enable(); 21474 } 21475 }); 21476 on('destroy', () => { 21477 disable(); 21478 }); 21479 on('touchStart', (_s, e) => { 21480 if (!swiper.zoom.enabled) return; 21481 onTouchStart(e); 21482 }); 21483 on('touchEnd', (_s, e) => { 21484 if (!swiper.zoom.enabled) return; 21485 onTouchEnd(e); 21486 }); 21487 on('doubleTap', (_s, e) => { 21488 if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) { 21489 zoomToggle(e); 21490 } 21491 }); 21492 on('transitionEnd', () => { 21493 if (swiper.zoom.enabled && swiper.params.zoom.enabled) { 21494 onTransitionEnd(); 21495 } 21496 }); 21497 on('slideChange', () => { 21498 if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) { 21499 onTransitionEnd(); 21500 } 21501 }); 21502 Object.assign(swiper.zoom, { 21503 enable, 21504 disable, 21505 in: zoomIn, 21506 out: zoomOut, 21507 toggle: zoomToggle 21508 }); 21509} 21510 21511/***/ }), 21512
vendor: 787 bytes, lines 21513-21533
21513/***/ "./node_modules/swiper/shared/classes-to-selector.js": 21514/*!***********************************************************!*\ 21515 !*** ./node_modules/swiper/shared/classes-to-selector.js ***! 21516 \***********************************************************/ 21517/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21518 21519__webpack_require__.r(__webpack_exports__); 21520/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21521/* harmony export */ "default": function() { return /* binding */ classesToSelector; } 21522/* harmony export */ }); 21523function classesToSelector(classes) { 21524 if (classes === void 0) { 21525 classes = ''; 21526 } 21527 21528 return `.${classes.trim().replace(/([\.:!\/])/g, '\\$1') // eslint-disable-line 21529 .replace(/ /g, '.')}`; 21530} 21531 21532/***/ }), 21533
vendor: 1,435 bytes, lines 21534-21570
21534/***/ "./node_modules/swiper/shared/create-element-if-not-defined.js": 21535/*!*********************************************************************!*\ 21536 !*** ./node_modules/swiper/shared/create-element-if-not-defined.js ***! 21537 \*********************************************************************/ 21538/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21539 21540__webpack_require__.r(__webpack_exports__); 21541/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21542/* harmony export */ "default": function() { return /* binding */ createElementIfNotDefined; } 21543/* harmony export */ }); 21544/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 21545 21546function createElementIfNotDefined(swiper, originalParams, params, checkProps) { 21547 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 21548 21549 if (swiper.params.createElements) { 21550 Object.keys(checkProps).forEach(key => { 21551 if (!params[key] && params.auto === true) { 21552 let element = swiper.$el.children(`.${checkProps[key]}`)[0]; 21553 21554 if (!element) { 21555 element = document.createElement('div'); 21556 element.className = checkProps[key]; 21557 swiper.$el.append(element); 21558 } 21559 21560 params[key] = element; 21561 originalParams[key] = element; 21562 } 21563 }); 21564 } 21565 21566 return params; 21567} 21568 21569/***/ }), 21570
vendor: 1,209 bytes, lines 21571-21597
21571/***/ "./node_modules/swiper/shared/create-shadow.js": 21572/*!*****************************************************!*\ 21573 !*** ./node_modules/swiper/shared/create-shadow.js ***! 21574 \*****************************************************/ 21575/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21576 21577__webpack_require__.r(__webpack_exports__); 21578/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21579/* harmony export */ "default": function() { return /* binding */ createShadow; } 21580/* harmony export */ }); 21581/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom.js */ "./node_modules/swiper/shared/dom.js"); 21582 21583function createShadow(params, $slideEl, side) { 21584 const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}`; 21585 const $shadowContainer = params.transformEl ? $slideEl.find(params.transformEl) : $slideEl; 21586 let $shadowEl = $shadowContainer.children(`.${shadowClass}`); 21587 21588 if (!$shadowEl.length) { 21589 $shadowEl = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(`<div class="swiper-slide-shadow${side ? `-${side}` : ''}"></div>`); 21590 $shadowContainer.append($shadowEl); 21591 } 21592 21593 return $shadowEl; 21594} 21595 21596/***/ }), 21597
vendor: 2,684 bytes, lines 21598-21654
21598/***/ "./node_modules/swiper/shared/dom.js": 21599/*!*******************************************!*\ 21600 !*** ./node_modules/swiper/shared/dom.js ***! 21601 \*******************************************/ 21602/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21603 21604__webpack_require__.r(__webpack_exports__); 21605/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ "./node_modules/dom7/dom7.esm.js"); 21606 21607const Methods = { 21608 addClass: dom7__WEBPACK_IMPORTED_MODULE_0__.addClass, 21609 removeClass: dom7__WEBPACK_IMPORTED_MODULE_0__.removeClass, 21610 hasClass: dom7__WEBPACK_IMPORTED_MODULE_0__.hasClass, 21611 toggleClass: dom7__WEBPACK_IMPORTED_MODULE_0__.toggleClass, 21612 attr: dom7__WEBPACK_IMPORTED_MODULE_0__.attr, 21613 removeAttr: dom7__WEBPACK_IMPORTED_MODULE_0__.removeAttr, 21614 transform: dom7__WEBPACK_IMPORTED_MODULE_0__.transform, 21615 transition: dom7__WEBPACK_IMPORTED_MODULE_0__.transition, 21616 on: dom7__WEBPACK_IMPORTED_MODULE_0__.on, 21617 off: dom7__WEBPACK_IMPORTED_MODULE_0__.off, 21618 trigger: dom7__WEBPACK_IMPORTED_MODULE_0__.trigger, 21619 transitionEnd: dom7__WEBPACK_IMPORTED_MODULE_0__.transitionEnd, 21620 outerWidth: dom7__WEBPACK_IMPORTED_MODULE_0__.outerWidth, 21621 outerHeight: dom7__WEBPACK_IMPORTED_MODULE_0__.outerHeight, 21622 styles: dom7__WEBPACK_IMPORTED_MODULE_0__.styles, 21623 offset: dom7__WEBPACK_IMPORTED_MODULE_0__.offset, 21624 css: dom7__WEBPACK_IMPORTED_MODULE_0__.css, 21625 each: dom7__WEBPACK_IMPORTED_MODULE_0__.each, 21626 html: dom7__WEBPACK_IMPORTED_MODULE_0__.html, 21627 text: dom7__WEBPACK_IMPORTED_MODULE_0__.text, 21628 is: dom7__WEBPACK_IMPORTED_MODULE_0__.is, 21629 index: dom7__WEBPACK_IMPORTED_MODULE_0__.index, 21630 eq: dom7__WEBPACK_IMPORTED_MODULE_0__.eq, 21631 append: dom7__WEBPACK_IMPORTED_MODULE_0__.append, 21632 prepend: dom7__WEBPACK_IMPORTED_MODULE_0__.prepend, 21633 next: dom7__WEBPACK_IMPORTED_MODULE_0__.next, 21634 nextAll: dom7__WEBPACK_IMPORTED_MODULE_0__.nextAll, 21635 prev: dom7__WEBPACK_IMPORTED_MODULE_0__.prev, 21636 prevAll: dom7__WEBPACK_IMPORTED_MODULE_0__.prevAll, 21637 parent: dom7__WEBPACK_IMPORTED_MODULE_0__.parent, 21638 parents: dom7__WEBPACK_IMPORTED_MODULE_0__.parents, 21639 closest: dom7__WEBPACK_IMPORTED_MODULE_0__.closest, 21640 find: dom7__WEBPACK_IMPORTED_MODULE_0__.find, 21641 children: dom7__WEBPACK_IMPORTED_MODULE_0__.children, 21642 filter: dom7__WEBPACK_IMPORTED_MODULE_0__.filter, 21643 remove: dom7__WEBPACK_IMPORTED_MODULE_0__.remove 21644}; 21645Object.keys(Methods).forEach(methodName => { 21646 Object.defineProperty(dom7__WEBPACK_IMPORTED_MODULE_0__.$.fn, methodName, { 21647 value: Methods[methodName], 21648 writable: true 21649 }); 21650}); 21651/* harmony default export */ __webpack_exports__["default"] = (dom7__WEBPACK_IMPORTED_MODULE_0__.$); 21652 21653/***/ }), 21654
vendor: 2,340 bytes, lines 21655-21729
21655/***/ "./node_modules/swiper/shared/effect-init.js": 21656/*!***************************************************!*\ 21657 !*** ./node_modules/swiper/shared/effect-init.js ***! 21658 \***************************************************/ 21659/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21660 21661__webpack_require__.r(__webpack_exports__); 21662/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21663/* harmony export */ "default": function() { return /* binding */ effectInit; } 21664/* harmony export */ }); 21665function effectInit(params) { 21666 const { 21667 effect, 21668 swiper, 21669 on, 21670 setTranslate, 21671 setTransition, 21672 overwriteParams, 21673 perspective, 21674 recreateShadows, 21675 getEffectParams 21676 } = params; 21677 on('beforeInit', () => { 21678 if (swiper.params.effect !== effect) return; 21679 swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`); 21680 21681 if (perspective && perspective()) { 21682 swiper.classNames.push(`${swiper.params.containerModifierClass}3d`); 21683 } 21684 21685 const overwriteParamsResult = overwriteParams ? overwriteParams() : {}; 21686 Object.assign(swiper.params, overwriteParamsResult); 21687 Object.assign(swiper.originalParams, overwriteParamsResult); 21688 }); 21689 on('setTranslate', () => { 21690 if (swiper.params.effect !== effect) return; 21691 setTranslate(); 21692 }); 21693 on('setTransition', (_s, duration) => { 21694 if (swiper.params.effect !== effect) return; 21695 setTransition(duration); 21696 }); 21697 on('transitionEnd', () => { 21698 if (swiper.params.effect !== effect) return; 21699 21700 if (recreateShadows) { 21701 if (!getEffectParams || !getEffectParams().slideShadows) return; // remove shadows 21702 21703 swiper.slides.each(slideEl => { 21704 const $slideEl = swiper.$(slideEl); 21705 $slideEl.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').remove(); 21706 }); // create new one 21707 21708 recreateShadows(); 21709 } 21710 }); 21711 let requireUpdateOnVirtual; 21712 on('virtualUpdate', () => { 21713 if (swiper.params.effect !== effect) return; 21714 21715 if (!swiper.slides.length) { 21716 requireUpdateOnVirtual = true; 21717 } 21718 21719 requestAnimationFrame(() => { 21720 if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) { 21721 setTranslate(); 21722 requireUpdateOnVirtual = false; 21723 } 21724 }); 21725 }); 21726} 21727 21728/***/ }), 21729
vendor: 818 bytes, lines 21730-21752
21730/***/ "./node_modules/swiper/shared/effect-target.js": 21731/*!*****************************************************!*\ 21732 !*** ./node_modules/swiper/shared/effect-target.js ***! 21733 \*****************************************************/ 21734/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21735 21736__webpack_require__.r(__webpack_exports__); 21737/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21738/* harmony export */ "default": function() { return /* binding */ effectTarget; } 21739/* harmony export */ }); 21740function effectTarget(effectParams, $slideEl) { 21741 if (effectParams.transformEl) { 21742 return $slideEl.find(effectParams.transformEl).css({ 21743 'backface-visibility': 'hidden', 21744 '-webkit-backface-visibility': 'hidden' 21745 }); 21746 } 21747 21748 return $slideEl; 21749} 21750 21751/***/ }), 21752
vendor: 1,564 bytes, lines 21753-21801
21753/***/ "./node_modules/swiper/shared/effect-virtual-transition-end.js": 21754/*!*********************************************************************!*\ 21755 !*** ./node_modules/swiper/shared/effect-virtual-transition-end.js ***! 21756 \*********************************************************************/ 21757/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21758 21759__webpack_require__.r(__webpack_exports__); 21760/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21761/* harmony export */ "default": function() { return /* binding */ effectVirtualTransitionEnd; } 21762/* harmony export */ }); 21763function effectVirtualTransitionEnd(_ref) { 21764 let { 21765 swiper, 21766 duration, 21767 transformEl, 21768 allSlides 21769 } = _ref; 21770 const { 21771 slides, 21772 activeIndex, 21773 $wrapperEl 21774 } = swiper; 21775 21776 if (swiper.params.virtualTranslate && duration !== 0) { 21777 let eventTriggered = false; 21778 let $transitionEndTarget; 21779 21780 if (allSlides) { 21781 $transitionEndTarget = transformEl ? slides.find(transformEl) : slides; 21782 } else { 21783 $transitionEndTarget = transformEl ? slides.eq(activeIndex).find(transformEl) : slides.eq(activeIndex); 21784 } 21785 21786 $transitionEndTarget.transitionEnd(() => { 21787 if (eventTriggered) return; 21788 if (!swiper || swiper.destroyed) return; 21789 eventTriggered = true; 21790 swiper.animating = false; 21791 const triggerEvents = ['webkitTransitionEnd', 'transitionend']; 21792 21793 for (let i = 0; i < triggerEvents.length; i += 1) { 21794 $wrapperEl.trigger(triggerEvents[i]); 21795 } 21796 }); 21797 } 21798} 21799 21800/***/ }), 21801
vendor: 1,240 bytes, lines 21802-21841
21802/***/ "./node_modules/swiper/shared/get-browser.js": 21803/*!***************************************************!*\ 21804 !*** ./node_modules/swiper/shared/get-browser.js ***! 21805 \***************************************************/ 21806/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21807 21808__webpack_require__.r(__webpack_exports__); 21809/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21810/* harmony export */ "getBrowser": function() { return /* binding */ getBrowser; } 21811/* harmony export */ }); 21812/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 21813 21814let browser; 21815 21816function calcBrowser() { 21817 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 21818 21819 function isSafari() { 21820 const ua = window.navigator.userAgent.toLowerCase(); 21821 return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0; 21822 } 21823 21824 return { 21825 isSafari: isSafari(), 21826 isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent) 21827 }; 21828} 21829 21830function getBrowser() { 21831 if (!browser) { 21832 browser = calcBrowser(); 21833 } 21834 21835 return browser; 21836} 21837 21838 21839 21840/***/ }), 21841
vendor: 2,507 bytes, lines 21842-21918
21842/***/ "./node_modules/swiper/shared/get-device.js": 21843/*!**************************************************!*\ 21844 !*** ./node_modules/swiper/shared/get-device.js ***! 21845 \**************************************************/ 21846/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21847 21848__webpack_require__.r(__webpack_exports__); 21849/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21850/* harmony export */ "getDevice": function() { return /* binding */ getDevice; } 21851/* harmony export */ }); 21852/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 21853/* harmony import */ var _get_support_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-support.js */ "./node_modules/swiper/shared/get-support.js"); 21854 21855 21856let deviceCached; 21857 21858function calcDevice(_temp) { 21859 let { 21860 userAgent 21861 } = _temp === void 0 ? {} : _temp; 21862 const support = (0,_get_support_js__WEBPACK_IMPORTED_MODULE_1__.getSupport)(); 21863 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 21864 const platform = window.navigator.platform; 21865 const ua = userAgent || window.navigator.userAgent; 21866 const device = { 21867 ios: false, 21868 android: false 21869 }; 21870 const screenWidth = window.screen.width; 21871 const screenHeight = window.screen.height; 21872 const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line 21873 21874 let ipad = ua.match(/(iPad).*OS\s([\d_]+)/); 21875 const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); 21876 const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/); 21877 const windows = platform === 'Win32'; 21878 let macos = platform === 'MacIntel'; // iPadOs 13 fix 21879 21880 const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810']; 21881 21882 if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) { 21883 ipad = ua.match(/(Version)\/([\d.]+)/); 21884 if (!ipad) ipad = [0, 1, '13_0_0']; 21885 macos = false; 21886 } // Android 21887 21888 21889 if (android && !windows) { 21890 device.os = 'android'; 21891 device.android = true; 21892 } 21893 21894 if (ipad || iphone || ipod) { 21895 device.os = 'ios'; 21896 device.ios = true; 21897 } // Export object 21898 21899 21900 return device; 21901} 21902 21903function getDevice(overrides) { 21904 if (overrides === void 0) { 21905 overrides = {}; 21906 } 21907 21908 if (!deviceCached) { 21909 deviceCached = calcDevice(overrides); 21910 } 21911 21912 return deviceCached; 21913} 21914 21915 21916 21917/***/ }), 21918
vendor: 1,741 bytes, lines 21919-21973
21919/***/ "./node_modules/swiper/shared/get-support.js": 21920/*!***************************************************!*\ 21921 !*** ./node_modules/swiper/shared/get-support.js ***! 21922 \***************************************************/ 21923/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21924 21925__webpack_require__.r(__webpack_exports__); 21926/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21927/* harmony export */ "getSupport": function() { return /* binding */ getSupport; } 21928/* harmony export */ }); 21929/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 21930 21931let support; 21932 21933function calcSupport() { 21934 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 21935 const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)(); 21936 return { 21937 smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style, 21938 touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch), 21939 passiveListener: function checkPassiveListener() { 21940 let supportsPassive = false; 21941 21942 try { 21943 const opts = Object.defineProperty({}, 'passive', { 21944 // eslint-disable-next-line 21945 get() { 21946 supportsPassive = true; 21947 } 21948 21949 }); 21950 window.addEventListener('testPassiveListener', null, opts); 21951 } catch (e) {// No support 21952 } 21953 21954 return supportsPassive; 21955 }(), 21956 gestures: function checkGestures() { 21957 return 'ongesturestart' in window; 21958 }() 21959 }; 21960} 21961 21962function getSupport() { 21963 if (!support) { 21964 support = calcSupport(); 21965 } 21966 21967 return support; 21968} 21969 21970 21971 21972/***/ }), 21973
vendor: 7,299 bytes, lines 21974-22201
21974/***/ "./node_modules/swiper/shared/utils.js": 21975/*!*********************************************!*\ 21976 !*** ./node_modules/swiper/shared/utils.js ***! 21977 \*********************************************/ 21978/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 21979 21980__webpack_require__.r(__webpack_exports__); 21981/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21982/* harmony export */ "animateCSSModeScroll": function() { return /* binding */ animateCSSModeScroll; }, 21983/* harmony export */ "deleteProps": function() { return /* binding */ deleteProps; }, 21984/* harmony export */ "extend": function() { return /* binding */ extend; }, 21985/* harmony export */ "getComputedStyle": function() { return /* binding */ getComputedStyle; }, 21986/* harmony export */ "getTranslate": function() { return /* binding */ getTranslate; }, 21987/* harmony export */ "isObject": function() { return /* binding */ isObject; }, 21988/* harmony export */ "nextTick": function() { return /* binding */ nextTick; }, 21989/* harmony export */ "now": function() { return /* binding */ now; }, 21990/* harmony export */ "setCSSProperty": function() { return /* binding */ setCSSProperty; } 21991/* harmony export */ }); 21992/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js"); 21993 21994 21995function deleteProps(obj) { 21996 const object = obj; 21997 Object.keys(object).forEach(key => { 21998 try { 21999 object[key] = null; 22000 } catch (e) {// no getter for object 22001 } 22002 22003 try { 22004 delete object[key]; 22005 } catch (e) {// something got wrong 22006 } 22007 }); 22008} 22009 22010function nextTick(callback, delay) { 22011 if (delay === void 0) { 22012 delay = 0; 22013 } 22014 22015 return setTimeout(callback, delay); 22016} 22017 22018function now() { 22019 return Date.now(); 22020} 22021 22022function getComputedStyle(el) { 22023 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 22024 let style; 22025 22026 if (window.getComputedStyle) { 22027 style = window.getComputedStyle(el, null); 22028 } 22029 22030 if (!style && el.currentStyle) { 22031 style = el.currentStyle; 22032 } 22033 22034 if (!style) { 22035 style = el.style; 22036 } 22037 22038 return style; 22039} 22040 22041function getTranslate(el, axis) { 22042 if (axis === void 0) { 22043 axis = 'x'; 22044 } 22045 22046 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 22047 let matrix; 22048 let curTransform; 22049 let transformMatrix; 22050 const curStyle = getComputedStyle(el, null); 22051 22052 if (window.WebKitCSSMatrix) { 22053 curTransform = curStyle.transform || curStyle.webkitTransform; 22054 22055 if (curTransform.split(',').length > 6) { 22056 curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', '); 22057 } // Some old versions of Webkit choke when 'none' is passed; pass 22058 // empty string instead in this case 22059 22060 22061 transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); 22062 } else { 22063 transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); 22064 matrix = transformMatrix.toString().split(','); 22065 } 22066 22067 if (axis === 'x') { 22068 // Latest Chrome and webkits Fix 22069 if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix 22070 else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers 22071 else curTransform = parseFloat(matrix[4]); 22072 } 22073 22074 if (axis === 'y') { 22075 // Latest Chrome and webkits Fix 22076 if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix 22077 else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers 22078 else curTransform = parseFloat(matrix[5]); 22079 } 22080 22081 return curTransform || 0; 22082} 22083 22084function isObject(o) { 22085 return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object'; 22086} 22087 22088function isNode(node) { 22089 // eslint-disable-next-line 22090 if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') { 22091 return node instanceof HTMLElement; 22092 } 22093 22094 return node && (node.nodeType === 1 || node.nodeType === 11); 22095} 22096 22097function extend() { 22098 const to = Object(arguments.length <= 0 ? undefined : arguments[0]); 22099 const noExtend = ['__proto__', 'constructor', 'prototype']; 22100 22101 for (let i = 1; i < arguments.length; i += 1) { 22102 const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i]; 22103 22104 if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) { 22105 const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0); 22106 22107 for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) { 22108 const nextKey = keysArray[nextIndex]; 22109 const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); 22110 22111 if (desc !== undefined && desc.enumerable) { 22112 if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) { 22113 if (nextSource[nextKey].__swiper__) { 22114 to[nextKey] = nextSource[nextKey]; 22115 } else { 22116 extend(to[nextKey], nextSource[nextKey]); 22117 } 22118 } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) { 22119 to[nextKey] = {}; 22120 22121 if (nextSource[nextKey].__swiper__) { 22122 to[nextKey] = nextSource[nextKey]; 22123 } else { 22124 extend(to[nextKey], nextSource[nextKey]); 22125 } 22126 } else { 22127 to[nextKey] = nextSource[nextKey]; 22128 } 22129 } 22130 } 22131 } 22132 } 22133 22134 return to; 22135} 22136 22137function setCSSProperty(el, varName, varValue) { 22138 el.style.setProperty(varName, varValue); 22139} 22140 22141function animateCSSModeScroll(_ref) { 22142 let { 22143 swiper, 22144 targetPosition, 22145 side 22146 } = _ref; 22147 const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)(); 22148 const startPosition = -swiper.translate; 22149 let startTime = null; 22150 let time; 22151 const duration = swiper.params.speed; 22152 swiper.wrapperEl.style.scrollSnapType = 'none'; 22153 window.cancelAnimationFrame(swiper.cssModeFrameID); 22154 const dir = targetPosition > startPosition ? 'next' : 'prev'; 22155 22156 const isOutOfBound = (current, target) => { 22157 return dir === 'next' && current >= target || dir === 'prev' && current <= target; 22158 }; 22159 22160 const animate = () => { 22161 time = new Date().getTime(); 22162 22163 if (startTime === null) { 22164 startTime = time; 22165 } 22166 22167 const progress = Math.max(Math.min((time - startTime) / duration, 1), 0); 22168 const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2; 22169 let currentPosition = startPosition + easeProgress * (targetPosition - startPosition); 22170 22171 if (isOutOfBound(currentPosition, targetPosition)) { 22172 currentPosition = targetPosition; 22173 } 22174 22175 swiper.wrapperEl.scrollTo({ 22176 [side]: currentPosition 22177 }); 22178 22179 if (isOutOfBound(currentPosition, targetPosition)) { 22180 swiper.wrapperEl.style.overflow = 'hidden'; 22181 swiper.wrapperEl.style.scrollSnapType = ''; 22182 setTimeout(() => { 22183 swiper.wrapperEl.style.overflow = ''; 22184 swiper.wrapperEl.scrollTo({ 22185 [side]: currentPosition 22186 }); 22187 }); 22188 window.cancelAnimationFrame(swiper.cssModeFrameID); 22189 return; 22190 } 22191 22192 swiper.cssModeFrameID = window.requestAnimationFrame(animate); 22193 }; 22194 22195 animate(); 22196} 22197 22198 22199 22200/***/ }), 22201
vendor: 9,759 bytes, lines 22202-22300
22202/***/ "./node_modules/swiper/swiper.esm.js": 22203/*!*******************************************!*\ 22204 !*** ./node_modules/swiper/swiper.esm.js ***! 22205 \*******************************************/ 22206/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 22207 22208__webpack_require__.r(__webpack_exports__); 22209/* harmony export */ __webpack_require__.d(__webpack_exports__, { 22210/* harmony export */ "A11y": function() { return /* reexport safe */ _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_11__["default"]; }, 22211/* harmony export */ "Autoplay": function() { return /* reexport safe */ _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_14__["default"]; }, 22212/* harmony export */ "Controller": function() { return /* reexport safe */ _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_10__["default"]; }, 22213/* harmony export */ "EffectCards": function() { return /* reexport safe */ _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_24__["default"]; }, 22214/* harmony export */ "EffectCoverflow": function() { return /* reexport safe */ _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_22__["default"]; }, 22215/* harmony export */ "EffectCreative": function() { return /* reexport safe */ _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_23__["default"]; }, 22216/* harmony export */ "EffectCube": function() { return /* reexport safe */ _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_20__["default"]; }, 22217/* harmony export */ "EffectFade": function() { return /* reexport safe */ _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_19__["default"]; }, 22218/* harmony export */ "EffectFlip": function() { return /* reexport safe */ _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_21__["default"]; }, 22219/* harmony export */ "FreeMode": function() { return /* reexport safe */ _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_16__["default"]; }, 22220/* harmony export */ "Grid": function() { return /* reexport safe */ _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_17__["default"]; }, 22221/* harmony export */ "HashNavigation": function() { return /* reexport safe */ _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_13__["default"]; }, 22222/* harmony export */ "History": function() { return /* reexport safe */ _modules_history_history_js__WEBPACK_IMPORTED_MODULE_12__["default"]; }, 22223/* harmony export */ "Keyboard": function() { return /* reexport safe */ _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__["default"]; }, 22224/* harmony export */ "Lazy": function() { return /* reexport safe */ _modules_lazy_lazy_js__WEBPACK_IMPORTED_MODULE_9__["default"]; }, 22225/* harmony export */ "Manipulation": function() { return /* reexport safe */ _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_18__["default"]; }, 22226/* harmony export */ "Mousewheel": function() { return /* reexport safe */ _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__["default"]; }, 22227/* harmony export */ "Navigation": function() { return /* reexport safe */ _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__["default"]; }, 22228/* harmony export */ "Pagination": function() { return /* reexport safe */ _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__["default"]; }, 22229/* harmony export */ "Parallax": function() { return /* reexport safe */ _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__["default"]; }, 22230/* harmony export */ "Scrollbar": function() { return /* reexport safe */ _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__["default"]; }, 22231/* harmony export */ "Swiper": function() { return /* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__["default"]; }, 22232/* harmony export */ "Thumbs": function() { return /* reexport safe */ _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_15__["default"]; }, 22233/* harmony export */ "Virtual": function() { return /* reexport safe */ _modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__["default"]; }, 22234/* harmony export */ "Zoom": function() { return /* reexport safe */ _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__["default"]; }, 22235/* harmony export */ "default": function() { return /* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__["default"]; } 22236/* harmony export */ }); 22237/* harmony import */ var _core_core_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/core.js */ "./node_modules/swiper/core/core.js"); 22238/* harmony import */ var _modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/virtual/virtual.js */ "./node_modules/swiper/modules/virtual/virtual.js"); 22239/* harmony import */ var _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/keyboard/keyboard.js */ "./node_modules/swiper/modules/keyboard/keyboard.js"); 22240/* harmony import */ var _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/mousewheel/mousewheel.js */ "./node_modules/swiper/modules/mousewheel/mousewheel.js"); 22241/* harmony import */ var _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/navigation/navigation.js */ "./node_modules/swiper/modules/navigation/navigation.js"); 22242/* harmony import */ var _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/pagination/pagination.js */ "./node_modules/swiper/modules/pagination/pagination.js"); 22243/* harmony import */ var _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/scrollbar/scrollbar.js */ "./node_modules/swiper/modules/scrollbar/scrollbar.js"); 22244/* harmony import */ var _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/parallax/parallax.js */ "./node_modules/swiper/modules/parallax/parallax.js"); 22245/* harmony import */ var _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/zoom/zoom.js */ "./node_modules/swiper/modules/zoom/zoom.js"); 22246/* harmony import */ var _modules_lazy_lazy_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/lazy/lazy.js */ "./node_modules/swiper/modules/lazy/lazy.js"); 22247/* harmony import */ var _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/controller/controller.js */ "./node_modules/swiper/modules/controller/controller.js"); 22248/* harmony import */ var _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/a11y/a11y.js */ "./node_modules/swiper/modules/a11y/a11y.js"); 22249/* harmony import */ var _modules_history_history_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/history/history.js */ "./node_modules/swiper/modules/history/history.js"); 22250/* harmony import */ var _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./modules/hash-navigation/hash-navigation.js */ "./node_modules/swiper/modules/hash-navigation/hash-navigation.js"); 22251/* harmony import */ var _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modules/autoplay/autoplay.js */ "./node_modules/swiper/modules/autoplay/autoplay.js"); 22252/* harmony import */ var _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./modules/thumbs/thumbs.js */ "./node_modules/swiper/modules/thumbs/thumbs.js"); 22253/* harmony import */ var _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./modules/free-mode/free-mode.js */ "./node_modules/swiper/modules/free-mode/free-mode.js"); 22254/* harmony import */ var _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./modules/grid/grid.js */ "./node_modules/swiper/modules/grid/grid.js"); 22255/* harmony import */ var _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./modules/manipulation/manipulation.js */ "./node_modules/swiper/modules/manipulation/manipulation.js"); 22256/* harmony import */ var _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./modules/effect-fade/effect-fade.js */ "./node_modules/swiper/modules/effect-fade/effect-fade.js"); 22257/* harmony import */ var _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./modules/effect-cube/effect-cube.js */ "./node_modules/swiper/modules/effect-cube/effect-cube.js"); 22258/* harmony import */ var _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./modules/effect-flip/effect-flip.js */ "./node_modules/swiper/modules/effect-flip/effect-flip.js"); 22259/* harmony import */ var _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./modules/effect-coverflow/effect-coverflow.js */ "./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js"); 22260/* harmony import */ var _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./modules/effect-creative/effect-creative.js */ "./node_modules/swiper/modules/effect-creative/effect-creative.js"); 22261/* harmony import */ var _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./modules/effect-cards/effect-cards.js */ "./node_modules/swiper/modules/effect-cards/effect-cards.js"); 22262/** 22263 * Swiper 8.3.2 22264 * Most modern mobile touch slider and framework with hardware accelerated transitions 22265 * https://swiperjs.com 22266 * 22267 * Copyright 2014-2022 Vladimir Kharlampidi 22268 * 22269 * Released under the MIT License 22270 * 22271 * Released on: July 26, 2022 22272 */ 22273 22274 22275 22276 22277 22278 22279 22280 22281 22282 22283 22284 22285 22286 22287 22288 22289 22290 22291 22292 22293 22294 22295 22296 22297 22298 22299 22300/***/ })
22300 22301 22302}, 22303/******/ function(__webpack_require__) { // webpackRuntimeModules 22304/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } 22305/******/ __webpack_require__.O(0, ["js/vendor/jquery","css/templates/archive-product","css/templates/archive-krognytt","css/templates/archive-inspiration","css/templates/archive-cocktail","css/app","css/wp-dashboard/login","css/wp-dashboard/editor","css/wp-dashboard/colors","css/wp-dashboard/admin","css/layouts/test_layout","css/blocks/two-col","css/blocks/three-col","css/blocks/text-button","css/blocks/schedule","css/blocks/inspiration","css/blocks/home-hero","css/blocks/form","css/blocks/boxed-content","css/templates/taxonomy","css/templates/single-product","css/templates/single","css/templates/search","css/templates/page-white","css/templates/page-stoneleigh","css/templates/page-plymouth","css/templates/page-minttu","css/templates/page-malfy","css/templates/page-lillet","css/templates/page-kenwood","css/templates/page-kahlua","css/templates/page-jacobscreek","css/templates/page-italicus","css/templates/page-glenlivet","css/templates/page-campoviejo","css/templates/page-beefeater","css/templates/page-aberlour","css/templates/page","css/templates/archive-vin_champagne"], function() { return __webpack_exec__("./resources/js/app.js"), __webpack_exec__("./resources/scss/app.scss"), __webpack_exec__("./templates/archive-cocktail/archive-cocktail.scss"), __webpack_exec__("./templates/archive-inspiration/archive-inspiration.scss"), __webpack_exec__("./templates/archive-krognytt/archive-krognytt.scss"), __webpack_exec__("./templates/archive-product/archive-product.scss"), __webpack_exec__("./templates/archive-vin_champagne/archive-vin_champagne.scss"), __webpack_exec__("./templates/page/page.scss"), __webpack_exec__("./templates/page-aberlour/page-aberlour.scss"), __webpack_exec__("./templates/page-beefeater/page-beefeater.scss"), __webpack_exec__("./templates/page-campoviejo/page-campoviejo.scss"), __webpack_exec__("./templates/page-glenlivet/page-glenlivet.scss"), __webpack_exec__("./templates/page-italicus/page-italicus.scss"), __webpack_exec__("./templates/page-jacobscreek/page-jacobscreek.scss"), __webpack_exec__("./templates/page-kahlua/page-kahlua.scss"), __webpack_exec__("./templates/page-kenwood/page-kenwood.scss"), __webpack_exec__("./templates/page-lillet/page-lillet.scss"), __webpack_exec__("./templates/page-malfy/page-malfy.scss"), __webpack_exec__("./templates/page-minttu/page-minttu.scss"), __webpack_exec__("./templates/page-plymouth/page-plymouth.scss"), __webpack_exec__("./templates/page-stoneleigh/page-stoneleigh.scss"), __webpack_exec__("./templates/page-white/page-white.scss"), __webpack_exec__("./templates/search/search.scss"), __webpack_exec__("./templates/single/single.scss"), __webpack_exec__("./templates/single-product/single-product.scss"), __webpack_exec__("./templates/taxonomy/taxonomy.scss"), __webpack_exec__("./blocks/boxed-content/boxed-content.scss"), __webpack_exec__("./blocks/form/form.scss"), __webpack_exec__("./blocks/home-hero/home-hero.scss"), __webpack_exec__("./blocks/inspiration/inspiration.scss"), __webpack_exec__("./blocks/schedule/schedule.scss"), __webpack_exec__("./blocks/text-button/text-button.scss"), __webpack_exec__("./blocks/three-col/three-col.scss"), __webpack_exec__("./blocks/two-col/two-col.scss"), __webpack_exec__("./layouts/test_layout/test_layout.scss"), __webpack_exec__("./resources/scss/wp-dashboard/admin.scss"), __webpack_exec__("./resources/scss/wp-dashboard/colors.scss"), __webpack_exec__("./resources/scss/wp-dashboard/editor.scss"), __webpack_exec__("./resources/scss/wp-dashboard/login.scss"); }); 22306/******/ var __webpack_exports__ = __webpack_require__.O(); 22307/******/ } 22308]);
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.