1/******/ (() => { // webpackBootstrap 2/******/ var __webpack_modules__ = ({ 3
vendor: 13,566 bytes, lines 4-292
4/***/ "./node_modules/@popperjs/core/lib/createPopper.js": 5/*!*********************************************************!*\ 6 !*** ./node_modules/@popperjs/core/lib/createPopper.js ***! 7 \*********************************************************/ 8/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 9 10"use strict"; 11__webpack_require__.r(__webpack_exports__); 12/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13/* harmony export */ "createPopper": () => (/* binding */ createPopper), 14/* harmony export */ "detectOverflow": () => (/* reexport safe */ _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_13__["default"]), 15/* harmony export */ "popperGenerator": () => (/* binding */ popperGenerator) 16/* harmony export */ }); 17/* 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"); 18/* 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"); 19/* 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"); 20/* 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"); 21/* 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"); 22/* harmony import */ var _utils_orderModifiers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/orderModifiers.js */ "./node_modules/@popperjs/core/lib/utils/orderModifiers.js"); 23/* harmony import */ var _utils_debounce_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./utils/debounce.js */ "./node_modules/@popperjs/core/lib/utils/debounce.js"); 24/* harmony import */ var _utils_validateModifiers_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/validateModifiers.js */ "./node_modules/@popperjs/core/lib/utils/validateModifiers.js"); 25/* harmony import */ var _utils_uniqueBy_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/uniqueBy.js */ "./node_modules/@popperjs/core/lib/utils/uniqueBy.js"); 26/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 27/* harmony import */ var _utils_mergeByName_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/mergeByName.js */ "./node_modules/@popperjs/core/lib/utils/mergeByName.js"); 28/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 29/* 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"); 30/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45var INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.'; 46var INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.'; 47var DEFAULT_OPTIONS = { 48 placement: 'bottom', 49 modifiers: [], 50 strategy: 'absolute' 51}; 52 53function areValidElements() { 54 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 55 args[_key] = arguments[_key]; 56 } 57 58 return !args.some(function (element) { 59 return !(element && typeof element.getBoundingClientRect === 'function'); 60 }); 61} 62 63function popperGenerator(generatorOptions) { 64 if (generatorOptions === void 0) { 65 generatorOptions = {}; 66 } 67 68 var _generatorOptions = generatorOptions, 69 _generatorOptions$def = _generatorOptions.defaultModifiers, 70 defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, 71 _generatorOptions$def2 = _generatorOptions.defaultOptions, 72 defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; 73 return function createPopper(reference, popper, options) { 74 if (options === void 0) { 75 options = defaultOptions; 76 } 77 78 var state = { 79 placement: 'bottom', 80 orderedModifiers: [], 81 options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), 82 modifiersData: {}, 83 elements: { 84 reference: reference, 85 popper: popper 86 }, 87 attributes: {}, 88 styles: {} 89 }; 90 var effectCleanupFns = []; 91 var isDestroyed = false; 92 var instance = { 93 state: state, 94 setOptions: function setOptions(setOptionsAction) { 95 var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction; 96 cleanupModifierEffects(); 97 state.options = Object.assign({}, defaultOptions, state.options, options); 98 state.scrollParents = { 99 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) : [], 100 popper: (0,_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_1__["default"])(popper) 101 }; // Orders the modifiers based on their dependencies and `phase` 102 // properties 103 104 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 105 106 state.orderedModifiers = orderedModifiers.filter(function (m) { 107 return m.enabled; 108 }); // Validate the provided modifiers so that the consumer will get warned 109 // if one of the modifiers is invalid for any reason 110 111 if (true) { 112 var modifiers = (0,_utils_uniqueBy_js__WEBPACK_IMPORTED_MODULE_4__["default"])([].concat(orderedModifiers, state.options.modifiers), function (_ref) { 113 var name = _ref.name; 114 return name; 115 }); 116 (0,_utils_validateModifiers_js__WEBPACK_IMPORTED_MODULE_5__["default"])(modifiers); 117 118 if ((0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state.options.placement) === _enums_js__WEBPACK_IMPORTED_MODULE_7__.auto) { 119 var flipModifier = state.orderedModifiers.find(function (_ref2) { 120 var name = _ref2.name; 121 return name === 'flip'; 122 }); 123 124 if (!flipModifier) { 125 console.error(['Popper: "auto" placements require the "flip" modifier be', 'present and enabled to work.'].join(' ')); 126 } 127 } 128 129 var _getComputedStyle = (0,_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_8__["default"])(popper), 130 marginTop = _getComputedStyle.marginTop, 131 marginRight = _getComputedStyle.marginRight, 132 marginBottom = _getComputedStyle.marginBottom, 133 marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can 134 // cause bugs with positioning, so we'll warn the consumer 135 136 137 if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) { 138 return parseFloat(margin); 139 })) { 140 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(' ')); 141 } 142 } 143 144 runModifierEffects(); 145 return instance.update(); 146 }, 147 // Sync update â it will always be executed, even if not necessary. This 148 // is useful for low frequency updates where sync behavior simplifies the 149 // logic. 150 // For high frequency updates (e.g. `resize` and `scroll` events), always 151 // prefer the async Popper#update method 152 forceUpdate: function forceUpdate() { 153 if (isDestroyed) { 154 return; 155 } 156 157 var _state$elements = state.elements, 158 reference = _state$elements.reference, 159 popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements 160 // anymore 161 162 if (!areValidElements(reference, popper)) { 163 if (true) { 164 console.error(INVALID_ELEMENT_ERROR); 165 } 166 167 return; 168 } // Store the reference and popper rects to be read by modifiers 169 170 171 state.rects = { 172 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'), 173 popper: (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_11__["default"])(popper) 174 }; // Modifiers have the ability to reset the current update cycle. The 175 // most common use case for this is the `flip` modifier changing the 176 // placement, which then needs to re-run all the modifiers, because the 177 // logic was previously ran for the previous placement and is therefore 178 // stale/incorrect 179 180 state.reset = false; 181 state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier 182 // is filled with the initial data specified by the modifier. This means 183 // it doesn't persist and is fresh on each update. 184 // To ensure persistent data, use `${name}#persistent` 185 186 state.orderedModifiers.forEach(function (modifier) { 187 return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); 188 }); 189 var __debug_loops__ = 0; 190 191 for (var index = 0; index < state.orderedModifiers.length; index++) { 192 if (true) { 193 __debug_loops__ += 1; 194 195 if (__debug_loops__ > 100) { 196 console.error(INFINITE_LOOP_ERROR); 197 break; 198 } 199 } 200 201 if (state.reset === true) { 202 state.reset = false; 203 index = -1; 204 continue; 205 } 206 207 var _state$orderedModifie = state.orderedModifiers[index], 208 fn = _state$orderedModifie.fn, 209 _state$orderedModifie2 = _state$orderedModifie.options, 210 _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, 211 name = _state$orderedModifie.name; 212 213 if (typeof fn === 'function') { 214 state = fn({ 215 state: state, 216 options: _options, 217 name: name, 218 instance: instance 219 }) || state; 220 } 221 } 222 }, 223 // Async and optimistically optimized update â it will not be executed if 224 // not necessary (debounced to run at most once-per-tick) 225 update: (0,_utils_debounce_js__WEBPACK_IMPORTED_MODULE_12__["default"])(function () { 226 return new Promise(function (resolve) { 227 instance.forceUpdate(); 228 resolve(state); 229 }); 230 }), 231 destroy: function destroy() { 232 cleanupModifierEffects(); 233 isDestroyed = true; 234 } 235 }; 236 237 if (!areValidElements(reference, popper)) { 238 if (true) { 239 console.error(INVALID_ELEMENT_ERROR); 240 } 241 242 return instance; 243 } 244 245 instance.setOptions(options).then(function (state) { 246 if (!isDestroyed && options.onFirstUpdate) { 247 options.onFirstUpdate(state); 248 } 249 }); // Modifiers have the ability to execute arbitrary code before the first 250 // update cycle runs. They will be executed in the same order as the update 251 // cycle. This is useful when a modifier adds some persistent data that 252 // other modifiers need to use, but the modifier is run after the dependent 253 // one. 254 255 function runModifierEffects() { 256 state.orderedModifiers.forEach(function (_ref3) { 257 var name = _ref3.name, 258 _ref3$options = _ref3.options, 259 options = _ref3$options === void 0 ? {} : _ref3$options, 260 effect = _ref3.effect; 261 262 if (typeof effect === 'function') { 263 var cleanupFn = effect({ 264 state: state, 265 name: name, 266 instance: instance, 267 options: options 268 }); 269 270 var noopFn = function noopFn() {}; 271 272 effectCleanupFns.push(cleanupFn || noopFn); 273 } 274 }); 275 } 276 277 function cleanupModifierEffects() { 278 effectCleanupFns.forEach(function (fn) { 279 return fn(); 280 }); 281 effectCleanupFns = []; 282 } 283 284 return instance; 285 }; 286} 287var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules 288 289 290 291/***/ }), 292
vendor: 1,418 bytes, lines 293-330
293/***/ "./node_modules/@popperjs/core/lib/dom-utils/contains.js": 294/*!***************************************************************!*\ 295 !*** ./node_modules/@popperjs/core/lib/dom-utils/contains.js ***! 296 \***************************************************************/ 297/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 298 299"use strict"; 300__webpack_require__.r(__webpack_exports__); 301/* harmony export */ __webpack_require__.d(__webpack_exports__, { 302/* harmony export */ "default": () => (/* binding */ contains) 303/* harmony export */ }); 304/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 305 306function contains(parent, child) { 307 var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method 308 309 if (parent.contains(child)) { 310 return true; 311 } // then fallback to custom implementation with Shadow DOM support 312 else if (rootNode && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isShadowRoot)(rootNode)) { 313 var next = child; 314 315 do { 316 if (next && parent.isSameNode(next)) { 317 return true; 318 } // $FlowFixMe[prop-missing]: need a better way to handle this... 319 320 321 next = next.parentNode || next.host; 322 } while (next); 323 } // Give up, the result is false 324 325 326 return false; 327} 328 329/***/ }), 330
vendor: 2,806 bytes, lines 331-389
331/***/ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js": 332/*!****************************************************************************!*\ 333 !*** ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js ***! 334 \****************************************************************************/ 335/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 336 337"use strict"; 338__webpack_require__.r(__webpack_exports__); 339/* harmony export */ __webpack_require__.d(__webpack_exports__, { 340/* harmony export */ "default": () => (/* binding */ getBoundingClientRect) 341/* harmony export */ }); 342/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 343/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 344/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 345/* harmony import */ var _isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isLayoutViewport.js */ "./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js"); 346 347 348 349 350function getBoundingClientRect(element, includeScale, isFixedStrategy) { 351 if (includeScale === void 0) { 352 includeScale = false; 353 } 354 355 if (isFixedStrategy === void 0) { 356 isFixedStrategy = false; 357 } 358 359 var clientRect = element.getBoundingClientRect(); 360 var scaleX = 1; 361 var scaleY = 1; 362 363 if (includeScale && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element)) { 364 scaleX = element.offsetWidth > 0 ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_1__.round)(clientRect.width) / element.offsetWidth || 1 : 1; 365 scaleY = element.offsetHeight > 0 ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_1__.round)(clientRect.height) / element.offsetHeight || 1 : 1; 366 } 367 368 var _ref = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element) : window, 369 visualViewport = _ref.visualViewport; 370 371 var addVisualOffsets = !(0,_isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_3__["default"])() && isFixedStrategy; 372 var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; 373 var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; 374 var width = clientRect.width / scaleX; 375 var height = clientRect.height / scaleY; 376 return { 377 width: width, 378 height: height, 379 top: y, 380 right: x + width, 381 bottom: y + height, 382 left: x, 383 x: x, 384 y: y 385 }; 386} 387 388/***/ }), 389
vendor: 6,916 bytes, lines 390-487
390/***/ "./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js": 391/*!**********************************************************************!*\ 392 !*** ./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js ***! 393 \**********************************************************************/ 394/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 395 396"use strict"; 397__webpack_require__.r(__webpack_exports__); 398/* harmony export */ __webpack_require__.d(__webpack_exports__, { 399/* harmony export */ "default": () => (/* binding */ getClippingRect) 400/* harmony export */ }); 401/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 402/* harmony import */ var _getViewportRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getViewportRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js"); 403/* harmony import */ var _getDocumentRect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getDocumentRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js"); 404/* harmony import */ var _listScrollParents_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./listScrollParents.js */ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js"); 405/* harmony import */ var _getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js"); 406/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 407/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 408/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 409/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); 410/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); 411/* harmony import */ var _contains_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./contains.js */ "./node_modules/@popperjs/core/lib/dom-utils/contains.js"); 412/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 413/* harmony import */ var _utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/rectToClientRect.js */ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js"); 414/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430function getInnerBoundingClientRect(element, strategy) { 431 var rect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element, false, strategy === 'fixed'); 432 rect.top = rect.top + element.clientTop; 433 rect.left = rect.left + element.clientLeft; 434 rect.bottom = rect.top + element.clientHeight; 435 rect.right = rect.left + element.clientWidth; 436 rect.width = element.clientWidth; 437 rect.height = element.clientHeight; 438 rect.x = rect.left; 439 rect.y = rect.top; 440 return rect; 441} 442 443function getClientRectFromMixedType(element, clippingParent, strategy) { 444 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))); 445} // A "clipping parent" is an overflowable container with the characteristic of 446// clipping (or hiding) overflowing elements with a position different from 447// `initial` 448 449 450function getClippingParents(element) { 451 var clippingParents = (0,_listScrollParents_js__WEBPACK_IMPORTED_MODULE_7__["default"])((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_8__["default"])(element)); 452 var canEscapeClipping = ['absolute', 'fixed'].indexOf((0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_9__["default"])(element).position) >= 0; 453 var clipperElement = canEscapeClipping && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(element) ? (0,_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__["default"])(element) : element; 454 455 if (!(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(clipperElement)) { 456 return []; 457 } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414 458 459 460 return clippingParents.filter(function (clippingParent) { 461 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'; 462 }); 463} // Gets the maximum area that the element is visible in due to any number of 464// clipping parents 465 466 467function getClippingRect(element, boundary, rootBoundary, strategy) { 468 var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); 469 var clippingParents = [].concat(mainClippingParents, [rootBoundary]); 470 var firstClippingParent = clippingParents[0]; 471 var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { 472 var rect = getClientRectFromMixedType(element, clippingParent, strategy); 473 accRect.top = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.max)(rect.top, accRect.top); 474 accRect.right = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.min)(rect.right, accRect.right); 475 accRect.bottom = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.min)(rect.bottom, accRect.bottom); 476 accRect.left = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.max)(rect.left, accRect.left); 477 return accRect; 478 }, getClientRectFromMixedType(element, firstClippingParent, strategy)); 479 clippingRect.width = clippingRect.right - clippingRect.left; 480 clippingRect.height = clippingRect.bottom - clippingRect.top; 481 clippingRect.x = clippingRect.left; 482 clippingRect.y = clippingRect.top; 483 return clippingRect; 484} 485 486/***/ }), 487
vendor: 4,352 bytes, lines 488-567
488/***/ "./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js": 489/*!***********************************************************************!*\ 490 !*** ./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js ***! 491 \***********************************************************************/ 492/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 493 494"use strict"; 495__webpack_require__.r(__webpack_exports__); 496/* harmony export */ __webpack_require__.d(__webpack_exports__, { 497/* harmony export */ "default": () => (/* binding */ getCompositeRect) 498/* harmony export */ }); 499/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); 500/* harmony import */ var _getNodeScroll_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getNodeScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js"); 501/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 502/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 503/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js"); 504/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 505/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js"); 506/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 507 508 509 510 511 512 513 514 515 516function isElementScaled(element) { 517 var rect = element.getBoundingClientRect(); 518 var scaleX = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(rect.width) / element.offsetWidth || 1; 519 var scaleY = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(rect.height) / element.offsetHeight || 1; 520 return scaleX !== 1 || scaleY !== 1; 521} // Returns the composite rect of an element relative to its offsetParent. 522// Composite means it takes into account transforms as well as layout. 523 524 525function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { 526 if (isFixed === void 0) { 527 isFixed = false; 528 } 529 530 var isOffsetParentAnElement = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent); 531 var offsetParentIsScaled = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent) && isElementScaled(offsetParent); 532 var documentElement = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(offsetParent); 533 var rect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__["default"])(elementOrVirtualElement, offsetParentIsScaled, isFixed); 534 var scroll = { 535 scrollLeft: 0, 536 scrollTop: 0 537 }; 538 var offsets = { 539 x: 0, 540 y: 0 541 }; 542 543 if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { 544 if ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_4__["default"])(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078 545 (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_5__["default"])(documentElement)) { 546 scroll = (0,_getNodeScroll_js__WEBPACK_IMPORTED_MODULE_6__["default"])(offsetParent); 547 } 548 549 if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent)) { 550 offsets = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__["default"])(offsetParent, true); 551 offsets.x += offsetParent.clientLeft; 552 offsets.y += offsetParent.clientTop; 553 } else if (documentElement) { 554 offsets.x = (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_7__["default"])(documentElement); 555 } 556 } 557 558 return { 559 x: rect.left + scroll.scrollLeft - offsets.x, 560 y: rect.top + scroll.scrollTop - offsets.y, 561 width: rect.width, 562 height: rect.height 563 }; 564} 565 566/***/ }), 567
vendor: 934 bytes, lines 568-586
568/***/ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js": 569/*!***********************************************************************!*\ 570 !*** ./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js ***! 571 \***********************************************************************/ 572/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 573 574"use strict"; 575__webpack_require__.r(__webpack_exports__); 576/* harmony export */ __webpack_require__.d(__webpack_exports__, { 577/* harmony export */ "default": () => (/* binding */ getComputedStyle) 578/* harmony export */ }); 579/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 580 581function getComputedStyle(element) { 582 return (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element).getComputedStyle(element); 583} 584 585/***/ }), 586
vendor: 1,105 bytes, lines 587-607
587/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js": 588/*!*************************************************************************!*\ 589 !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js ***! 590 \*************************************************************************/ 591/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 592 593"use strict"; 594__webpack_require__.r(__webpack_exports__); 595/* harmony export */ __webpack_require__.d(__webpack_exports__, { 596/* harmony export */ "default": () => (/* binding */ getDocumentElement) 597/* harmony export */ }); 598/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 599 600function getDocumentElement(element) { 601 // $FlowFixMe[incompatible-return]: assume body is always available 602 return (((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? element.ownerDocument : // $FlowFixMe[prop-missing] 603 element.document) || window.document).documentElement; 604} 605 606/***/ }), 607
vendor: 2,858 bytes, lines 608-655
608/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js": 609/*!**********************************************************************!*\ 610 !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js ***! 611 \**********************************************************************/ 612/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 613 614"use strict"; 615__webpack_require__.r(__webpack_exports__); 616/* harmony export */ __webpack_require__.d(__webpack_exports__, { 617/* harmony export */ "default": () => (/* binding */ getDocumentRect) 618/* harmony export */ }); 619/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 620/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 621/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js"); 622/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js"); 623/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 624 625 626 627 628 // Gets the entire size of the scrollable document area, even extending outside 629// of the `<html>` and `<body>` rect bounds if horizontally scrollable 630 631function getDocumentRect(element) { 632 var _element$ownerDocumen; 633 634 var html = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); 635 var winScroll = (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element); 636 var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; 637 var width = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); 638 var height = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); 639 var x = -winScroll.scrollLeft + (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__["default"])(element); 640 var y = -winScroll.scrollTop; 641 642 if ((0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__["default"])(body || html).direction === 'rtl') { 643 x += (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.clientWidth, body ? body.clientWidth : 0) - width; 644 } 645 646 return { 647 width: width, 648 height: height, 649 x: x, 650 y: y 651 }; 652} 653 654/***/ }), 655
vendor: 766 bytes, lines 656-675
656/***/ "./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js": 657/*!***************************************************************************!*\ 658 !*** ./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js ***! 659 \***************************************************************************/ 660/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 661 662"use strict"; 663__webpack_require__.r(__webpack_exports__); 664/* harmony export */ __webpack_require__.d(__webpack_exports__, { 665/* harmony export */ "default": () => (/* binding */ getHTMLElementScroll) 666/* harmony export */ }); 667function getHTMLElementScroll(element) { 668 return { 669 scrollLeft: element.scrollLeft, 670 scrollTop: element.scrollTop 671 }; 672} 673 674/***/ }), 675
vendor: 1,550 bytes, lines 676-715
676/***/ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js": 677/*!********************************************************************!*\ 678 !*** ./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js ***! 679 \********************************************************************/ 680/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 681 682"use strict"; 683__webpack_require__.r(__webpack_exports__); 684/* harmony export */ __webpack_require__.d(__webpack_exports__, { 685/* harmony export */ "default": () => (/* binding */ getLayoutRect) 686/* harmony export */ }); 687/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); 688 // Returns the layout rect of an element relative to its offsetParent. Layout 689// means it doesn't take into account transforms. 690 691function getLayoutRect(element) { 692 var clientRect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); // Use the clientRect sizes if it's not been transformed. 693 // Fixes https://github.com/popperjs/popper-core/issues/1223 694 695 var width = element.offsetWidth; 696 var height = element.offsetHeight; 697 698 if (Math.abs(clientRect.width - width) <= 1) { 699 width = clientRect.width; 700 } 701 702 if (Math.abs(clientRect.height - height) <= 1) { 703 height = clientRect.height; 704 } 705 706 return { 707 x: element.offsetLeft, 708 y: element.offsetTop, 709 width: width, 710 height: height 711 }; 712} 713 714/***/ }), 715
vendor: 693 bytes, lines 716-732
716/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js": 717/*!******************************************************************!*\ 718 !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js ***! 719 \******************************************************************/ 720/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 721 722"use strict"; 723__webpack_require__.r(__webpack_exports__); 724/* harmony export */ __webpack_require__.d(__webpack_exports__, { 725/* harmony export */ "default": () => (/* binding */ getNodeName) 726/* harmony export */ }); 727function getNodeName(element) { 728 return element ? (element.nodeName || '').toLowerCase() : null; 729} 730 731/***/ }), 732
vendor: 1,724 bytes, lines 733-761
733/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js": 734/*!********************************************************************!*\ 735 !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js ***! 736 \********************************************************************/ 737/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 738 739"use strict"; 740__webpack_require__.r(__webpack_exports__); 741/* harmony export */ __webpack_require__.d(__webpack_exports__, { 742/* harmony export */ "default": () => (/* binding */ getNodeScroll) 743/* harmony export */ }); 744/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js"); 745/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 746/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 747/* harmony import */ var _getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getHTMLElementScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js"); 748 749 750 751 752function getNodeScroll(node) { 753 if (node === (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node) || !(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(node)) { 754 return (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__["default"])(node); 755 } else { 756 return (0,_getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__["default"])(node); 757 } 758} 759 760/***/ }), 761
vendor: 4,972 bytes, lines 762-851
762/***/ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js": 763/*!**********************************************************************!*\ 764 !*** ./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js ***! 765 \**********************************************************************/ 766/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 767 768"use strict"; 769__webpack_require__.r(__webpack_exports__); 770/* harmony export */ __webpack_require__.d(__webpack_exports__, { 771/* harmony export */ "default": () => (/* binding */ getOffsetParent) 772/* harmony export */ }); 773/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 774/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 775/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 776/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 777/* harmony import */ var _isTableElement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isTableElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js"); 778/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); 779/* harmony import */ var _utils_userAgent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/userAgent.js */ "./node_modules/@popperjs/core/lib/utils/userAgent.js"); 780 781 782 783 784 785 786 787 788function getTrueOffsetParent(element) { 789 if (!(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || // https://github.com/popperjs/popper-core/issues/837 790 (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element).position === 'fixed') { 791 return null; 792 } 793 794 return element.offsetParent; 795} // `.offsetParent` reports `null` for fixed elements, while absolute elements 796// return the containing block 797 798 799function getContainingBlock(element) { 800 var isFirefox = /firefox/i.test((0,_utils_userAgent_js__WEBPACK_IMPORTED_MODULE_2__["default"])()); 801 var isIE = /Trident/i.test((0,_utils_userAgent_js__WEBPACK_IMPORTED_MODULE_2__["default"])()); 802 803 if (isIE && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element)) { 804 // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport 805 var elementCss = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element); 806 807 if (elementCss.position === 'fixed') { 808 return null; 809 } 810 } 811 812 var currentNode = (0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_3__["default"])(element); 813 814 if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isShadowRoot)(currentNode)) { 815 currentNode = currentNode.host; 816 } 817 818 while ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(currentNode) && ['html', 'body'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_4__["default"])(currentNode)) < 0) { 819 var css = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(currentNode); // This is non-exhaustive but covers the most common CSS properties that 820 // create a containing block. 821 // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block 822 823 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') { 824 return currentNode; 825 } else { 826 currentNode = currentNode.parentNode; 827 } 828 } 829 830 return null; 831} // Gets the closest ancestor positioned element. Handles some edge cases, 832// such as table ancestors and cross browser bugs. 833 834 835function getOffsetParent(element) { 836 var window = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_5__["default"])(element); 837 var offsetParent = getTrueOffsetParent(element); 838 839 while (offsetParent && (0,_isTableElement_js__WEBPACK_IMPORTED_MODULE_6__["default"])(offsetParent) && (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(offsetParent).position === 'static') { 840 offsetParent = getTrueOffsetParent(offsetParent); 841 } 842 843 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')) { 844 return window; 845 } 846 847 return offsetParent || getContainingBlock(element) || window; 848} 849 850/***/ }), 851
vendor: 1,900 bytes, lines 852-887
852/***/ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js": 853/*!********************************************************************!*\ 854 !*** ./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js ***! 855 \********************************************************************/ 856/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 857 858"use strict"; 859__webpack_require__.r(__webpack_exports__); 860/* harmony export */ __webpack_require__.d(__webpack_exports__, { 861/* harmony export */ "default": () => (/* binding */ getParentNode) 862/* harmony export */ }); 863/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 864/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 865/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 866 867 868 869function getParentNode(element) { 870 if ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element) === 'html') { 871 return element; 872 } 873 874 return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle 875 // $FlowFixMe[incompatible-return] 876 // $FlowFixMe[prop-missing] 877 element.assignedSlot || // step into the shadow DOM of the parent of a slotted node 878 element.parentNode || ( // DOM Element detected 879 (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isShadowRoot)(element) ? element.host : null) || // ShadowRoot detected 880 // $FlowFixMe[incompatible-call]: HTMLElement is a Node 881 (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element) // fallback 882 883 ); 884} 885 886/***/ }), 887
vendor: 1,878 bytes, lines 888-921
888/***/ "./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js": 889/*!**********************************************************************!*\ 890 !*** ./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js ***! 891 \**********************************************************************/ 892/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 893 894"use strict"; 895__webpack_require__.r(__webpack_exports__); 896/* harmony export */ __webpack_require__.d(__webpack_exports__, { 897/* harmony export */ "default": () => (/* binding */ getScrollParent) 898/* harmony export */ }); 899/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); 900/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js"); 901/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 902/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 903 904 905 906 907function getScrollParent(node) { 908 if (['html', 'body', '#document'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node)) >= 0) { 909 // $FlowFixMe[incompatible-return]: assume body is always available 910 return node.ownerDocument.body; 911 } 912 913 if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(node) && (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(node)) { 914 return node; 915 } 916 917 return getScrollParent((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_3__["default"])(node)); 918} 919 920/***/ }), 921
vendor: 2,234 bytes, lines 922-970
922/***/ "./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js": 923/*!**********************************************************************!*\ 924 !*** ./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js ***! 925 \**********************************************************************/ 926/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 927 928"use strict"; 929__webpack_require__.r(__webpack_exports__); 930/* harmony export */ __webpack_require__.d(__webpack_exports__, { 931/* harmony export */ "default": () => (/* binding */ getViewportRect) 932/* harmony export */ }); 933/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 934/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 935/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js"); 936/* harmony import */ var _isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isLayoutViewport.js */ "./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js"); 937 938 939 940 941function getViewportRect(element, strategy) { 942 var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); 943 var html = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element); 944 var visualViewport = win.visualViewport; 945 var width = html.clientWidth; 946 var height = html.clientHeight; 947 var x = 0; 948 var y = 0; 949 950 if (visualViewport) { 951 width = visualViewport.width; 952 height = visualViewport.height; 953 var layoutViewport = (0,_isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_2__["default"])(); 954 955 if (layoutViewport || !layoutViewport && strategy === 'fixed') { 956 x = visualViewport.offsetLeft; 957 y = visualViewport.offsetTop; 958 } 959 } 960 961 return { 962 width: width, 963 height: height, 964 x: x + (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__["default"])(element), 965 y: y 966 }; 967} 968 969/***/ }), 970
vendor: 842 bytes, lines 971-996
971/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js": 972/*!****************************************************************!*\ 973 !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js ***! 974 \****************************************************************/ 975/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 976 977"use strict"; 978__webpack_require__.r(__webpack_exports__); 979/* harmony export */ __webpack_require__.d(__webpack_exports__, { 980/* harmony export */ "default": () => (/* binding */ getWindow) 981/* harmony export */ }); 982function getWindow(node) { 983 if (node == null) { 984 return window; 985 } 986 987 if (node.toString() !== '[object Window]') { 988 var ownerDocument = node.ownerDocument; 989 return ownerDocument ? ownerDocument.defaultView || window : window; 990 } 991 992 return node; 993} 994 995/***/ }), 996
vendor: 1,039 bytes, lines 997-1021
997/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js": 998/*!**********************************************************************!*\ 999 !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js ***! 1000 \**********************************************************************/ 1001/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1002 1003"use strict"; 1004__webpack_require__.r(__webpack_exports__); 1005/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1006/* harmony export */ "default": () => (/* binding */ getWindowScroll) 1007/* harmony export */ }); 1008/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 1009 1010function getWindowScroll(node) { 1011 var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node); 1012 var scrollLeft = win.pageXOffset; 1013 var scrollTop = win.pageYOffset; 1014 return { 1015 scrollLeft: scrollLeft, 1016 scrollTop: scrollTop 1017 }; 1018} 1019 1020/***/ }), 1021
vendor: 1,913 bytes, lines 1022-1051
1022/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js": 1023/*!**************************************************************************!*\ 1024 !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js ***! 1025 \**************************************************************************/ 1026/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1027 1028"use strict"; 1029__webpack_require__.r(__webpack_exports__); 1030/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1031/* harmony export */ "default": () => (/* binding */ getWindowScrollBarX) 1032/* harmony export */ }); 1033/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); 1034/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 1035/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js"); 1036 1037 1038 1039function getWindowScrollBarX(element) { 1040 // If <html> has a CSS width greater than the viewport, then this will be 1041 // incorrect for RTL. 1042 // Popper 1 is broken in this case and never had a bug report so let's assume 1043 // it's not an issue. I don't think anyone ever specifies width on <html> 1044 // anyway. 1045 // Browsers where the left scrollbar doesn't cause an issue report `0` for 1046 // this (e.g. Edge 2019, IE11, Safari) 1047 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; 1048} 1049 1050/***/ }), 1051
vendor: 1,591 bytes, lines 1052-1091
1052/***/ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js": 1053/*!*****************************************************************!*\ 1054 !*** ./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js ***! 1055 \*****************************************************************/ 1056/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1057 1058"use strict"; 1059__webpack_require__.r(__webpack_exports__); 1060/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1061/* harmony export */ "isElement": () => (/* binding */ isElement), 1062/* harmony export */ "isHTMLElement": () => (/* binding */ isHTMLElement), 1063/* harmony export */ "isShadowRoot": () => (/* binding */ isShadowRoot) 1064/* harmony export */ }); 1065/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 1066 1067 1068function isElement(node) { 1069 var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).Element; 1070 return node instanceof OwnElement || node instanceof Element; 1071} 1072 1073function isHTMLElement(node) { 1074 var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).HTMLElement; 1075 return node instanceof OwnElement || node instanceof HTMLElement; 1076} 1077 1078function isShadowRoot(node) { 1079 // IE 11 has no ShadowRoot 1080 if (typeof ShadowRoot === 'undefined') { 1081 return false; 1082 } 1083 1084 var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).ShadowRoot; 1085 return node instanceof OwnElement || node instanceof ShadowRoot; 1086} 1087 1088 1089 1090/***/ }), 1091
vendor: 949 bytes, lines 1092-1110
1092/***/ "./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js": 1093/*!***********************************************************************!*\ 1094 !*** ./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js ***! 1095 \***********************************************************************/ 1096/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1097 1098"use strict"; 1099__webpack_require__.r(__webpack_exports__); 1100/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1101/* harmony export */ "default": () => (/* binding */ isLayoutViewport) 1102/* harmony export */ }); 1103/* harmony import */ var _utils_userAgent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/userAgent.js */ "./node_modules/@popperjs/core/lib/utils/userAgent.js"); 1104 1105function isLayoutViewport() { 1106 return !/^((?!chrome|android).)*safari/i.test((0,_utils_userAgent_js__WEBPACK_IMPORTED_MODULE_0__["default"])()); 1107} 1108 1109/***/ }), 1110
vendor: 1,223 bytes, lines 1111-1135
1111/***/ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js": 1112/*!*********************************************************************!*\ 1113 !*** ./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js ***! 1114 \*********************************************************************/ 1115/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1116 1117"use strict"; 1118__webpack_require__.r(__webpack_exports__); 1119/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1120/* harmony export */ "default": () => (/* binding */ isScrollParent) 1121/* harmony export */ }); 1122/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 1123 1124function isScrollParent(element) { 1125 // Firefox wants us to check `-x` and `-y` variations as well 1126 var _getComputedStyle = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element), 1127 overflow = _getComputedStyle.overflow, 1128 overflowX = _getComputedStyle.overflowX, 1129 overflowY = _getComputedStyle.overflowY; 1130 1131 return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); 1132} 1133 1134/***/ }), 1135
vendor: 940 bytes, lines 1136-1154
1136/***/ "./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js": 1137/*!*********************************************************************!*\ 1138 !*** ./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js ***! 1139 \*********************************************************************/ 1140/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1141 1142"use strict"; 1143__webpack_require__.r(__webpack_exports__); 1144/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1145/* harmony export */ "default": () => (/* binding */ isTableElement) 1146/* harmony export */ }); 1147/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 1148 1149function isTableElement(element) { 1150 return ['table', 'td', 'th'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element)) >= 0; 1151} 1152 1153/***/ }), 1154
vendor: 2,529 bytes, lines 1155-1198
1155/***/ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js": 1156/*!************************************************************************!*\ 1157 !*** ./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js ***! 1158 \************************************************************************/ 1159/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1160 1161"use strict"; 1162__webpack_require__.r(__webpack_exports__); 1163/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1164/* harmony export */ "default": () => (/* binding */ listScrollParents) 1165/* harmony export */ }); 1166/* harmony import */ var _getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js"); 1167/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); 1168/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 1169/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js"); 1170 1171 1172 1173 1174/* 1175given a DOM element, return the list of all scroll parents, up the list of ancesors 1176until we get to the top window object. This list is what we attach scroll listeners 1177to, because if any of these parent elements scroll, we'll need to re-calculate the 1178reference element's position. 1179*/ 1180 1181function listScrollParents(element, list) { 1182 var _element$ownerDocumen; 1183 1184 if (list === void 0) { 1185 list = []; 1186 } 1187 1188 var scrollParent = (0,_getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); 1189 var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); 1190 var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(scrollParent); 1191 var target = isBody ? [win].concat(win.visualViewport || [], (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(scrollParent) ? scrollParent : []) : scrollParent; 1192 var updatedList = list.concat(target); 1193 return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here 1194 updatedList.concat(listScrollParents((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_3__["default"])(target))); 1195} 1196 1197/***/ }), 1198
vendor: 3,246 bytes, lines 1199-1266
1199/***/ "./node_modules/@popperjs/core/lib/enums.js": 1200/*!**************************************************!*\ 1201 !*** ./node_modules/@popperjs/core/lib/enums.js ***! 1202 \**************************************************/ 1203/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1204 1205"use strict"; 1206__webpack_require__.r(__webpack_exports__); 1207/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1208/* harmony export */ "afterMain": () => (/* binding */ afterMain), 1209/* harmony export */ "afterRead": () => (/* binding */ afterRead), 1210/* harmony export */ "afterWrite": () => (/* binding */ afterWrite), 1211/* harmony export */ "auto": () => (/* binding */ auto), 1212/* harmony export */ "basePlacements": () => (/* binding */ basePlacements), 1213/* harmony export */ "beforeMain": () => (/* binding */ beforeMain), 1214/* harmony export */ "beforeRead": () => (/* binding */ beforeRead), 1215/* harmony export */ "beforeWrite": () => (/* binding */ beforeWrite), 1216/* harmony export */ "bottom": () => (/* binding */ bottom), 1217/* harmony export */ "clippingParents": () => (/* binding */ clippingParents), 1218/* harmony export */ "end": () => (/* binding */ end), 1219/* harmony export */ "left": () => (/* binding */ left), 1220/* harmony export */ "main": () => (/* binding */ main), 1221/* harmony export */ "modifierPhases": () => (/* binding */ modifierPhases), 1222/* harmony export */ "placements": () => (/* binding */ placements), 1223/* harmony export */ "popper": () => (/* binding */ popper), 1224/* harmony export */ "read": () => (/* binding */ read), 1225/* harmony export */ "reference": () => (/* binding */ reference), 1226/* harmony export */ "right": () => (/* binding */ right), 1227/* harmony export */ "start": () => (/* binding */ start), 1228/* harmony export */ "top": () => (/* binding */ top), 1229/* harmony export */ "variationPlacements": () => (/* binding */ variationPlacements), 1230/* harmony export */ "viewport": () => (/* binding */ viewport), 1231/* harmony export */ "write": () => (/* binding */ write) 1232/* harmony export */ }); 1233var top = 'top'; 1234var bottom = 'bottom'; 1235var right = 'right'; 1236var left = 'left'; 1237var auto = 'auto'; 1238var basePlacements = [top, bottom, right, left]; 1239var start = 'start'; 1240var end = 'end'; 1241var clippingParents = 'clippingParents'; 1242var viewport = 'viewport'; 1243var popper = 'popper'; 1244var reference = 'reference'; 1245var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { 1246 return acc.concat([placement + "-" + start, placement + "-" + end]); 1247}, []); 1248var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { 1249 return acc.concat([placement, placement + "-" + start, placement + "-" + end]); 1250}, []); // modifiers that need to read the DOM 1251 1252var beforeRead = 'beforeRead'; 1253var read = 'read'; 1254var afterRead = 'afterRead'; // pure-logic modifiers 1255 1256var beforeMain = 'beforeMain'; 1257var main = 'main'; 1258var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state) 1259 1260var beforeWrite = 'beforeWrite'; 1261var write = 'write'; 1262var afterWrite = 'afterWrite'; 1263var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; 1264 1265/***/ }), 1266
vendor: 6,098 bytes, lines 1267-1331
1267/***/ "./node_modules/@popperjs/core/lib/index.js": 1268/*!**************************************************!*\ 1269 !*** ./node_modules/@popperjs/core/lib/index.js ***! 1270 \**************************************************/ 1271/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1272 1273"use strict"; 1274__webpack_require__.r(__webpack_exports__); 1275/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1276/* harmony export */ "afterMain": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterMain), 1277/* harmony export */ "afterRead": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterRead), 1278/* harmony export */ "afterWrite": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterWrite), 1279/* harmony export */ "applyStyles": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.applyStyles), 1280/* harmony export */ "arrow": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.arrow), 1281/* harmony export */ "auto": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.auto), 1282/* harmony export */ "basePlacements": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.basePlacements), 1283/* harmony export */ "beforeMain": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeMain), 1284/* harmony export */ "beforeRead": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeRead), 1285/* harmony export */ "beforeWrite": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeWrite), 1286/* harmony export */ "bottom": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom), 1287/* harmony export */ "clippingParents": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.clippingParents), 1288/* harmony export */ "computeStyles": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.computeStyles), 1289/* harmony export */ "createPopper": () => (/* reexport safe */ _popper_js__WEBPACK_IMPORTED_MODULE_4__.createPopper), 1290/* harmony export */ "createPopperBase": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_2__.createPopper), 1291/* harmony export */ "createPopperLite": () => (/* reexport safe */ _popper_lite_js__WEBPACK_IMPORTED_MODULE_5__.createPopper), 1292/* harmony export */ "detectOverflow": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_3__["default"]), 1293/* harmony export */ "end": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.end), 1294/* harmony export */ "eventListeners": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.eventListeners), 1295/* harmony export */ "flip": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.flip), 1296/* harmony export */ "hide": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.hide), 1297/* harmony export */ "left": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.left), 1298/* harmony export */ "main": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.main), 1299/* harmony export */ "modifierPhases": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.modifierPhases), 1300/* harmony export */ "offset": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.offset), 1301/* harmony export */ "placements": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.placements), 1302/* harmony export */ "popper": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper), 1303/* harmony export */ "popperGenerator": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_2__.popperGenerator), 1304/* harmony export */ "popperOffsets": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.popperOffsets), 1305/* harmony export */ "preventOverflow": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.preventOverflow), 1306/* harmony export */ "read": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.read), 1307/* harmony export */ "reference": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.reference), 1308/* harmony export */ "right": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.right), 1309/* harmony export */ "start": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.start), 1310/* harmony export */ "top": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.top), 1311/* harmony export */ "variationPlacements": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements), 1312/* harmony export */ "viewport": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.viewport), 1313/* harmony export */ "write": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.write) 1314/* harmony export */ }); 1315/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1316/* harmony import */ var _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/index.js */ "./node_modules/@popperjs/core/lib/modifiers/index.js"); 1317/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js"); 1318/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 1319/* harmony import */ var _popper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./popper.js */ "./node_modules/@popperjs/core/lib/popper.js"); 1320/* harmony import */ var _popper_lite_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./popper-lite.js */ "./node_modules/@popperjs/core/lib/popper-lite.js"); 1321 1322 // eslint-disable-next-line import/no-unused-modules 1323 1324 // eslint-disable-next-line import/no-unused-modules 1325 1326 // eslint-disable-next-line import/no-unused-modules 1327 1328 1329 1330/***/ }), 1331
vendor: 3,689 bytes, lines 1332-1431
1332/***/ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js": 1333/*!******************************************************************!*\ 1334 !*** ./node_modules/@popperjs/core/lib/modifiers/applyStyles.js ***! 1335 \******************************************************************/ 1336/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1337 1338"use strict"; 1339__webpack_require__.r(__webpack_exports__); 1340/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1341/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1342/* harmony export */ }); 1343/* 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"); 1344/* 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"); 1345 1346 // This modifier takes the styles prepared by the `computeStyles` modifier 1347// and applies them to the HTMLElements such as popper and arrow 1348 1349function applyStyles(_ref) { 1350 var state = _ref.state; 1351 Object.keys(state.elements).forEach(function (name) { 1352 var style = state.styles[name] || {}; 1353 var attributes = state.attributes[name] || {}; 1354 var element = state.elements[name]; // arrow is optional + virtual elements 1355 1356 if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || !(0,_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element)) { 1357 return; 1358 } // Flow doesn't support to extend this property, but it's the most 1359 // effective way to apply styles to an HTMLElement 1360 // $FlowFixMe[cannot-write] 1361 1362 1363 Object.assign(element.style, style); 1364 Object.keys(attributes).forEach(function (name) { 1365 var value = attributes[name]; 1366 1367 if (value === false) { 1368 element.removeAttribute(name); 1369 } else { 1370 element.setAttribute(name, value === true ? '' : value); 1371 } 1372 }); 1373 }); 1374} 1375 1376function effect(_ref2) { 1377 var state = _ref2.state; 1378 var initialStyles = { 1379 popper: { 1380 position: state.options.strategy, 1381 left: '0', 1382 top: '0', 1383 margin: '0' 1384 }, 1385 arrow: { 1386 position: 'absolute' 1387 }, 1388 reference: {} 1389 }; 1390 Object.assign(state.elements.popper.style, initialStyles.popper); 1391 state.styles = initialStyles; 1392 1393 if (state.elements.arrow) { 1394 Object.assign(state.elements.arrow.style, initialStyles.arrow); 1395 } 1396 1397 return function () { 1398 Object.keys(state.elements).forEach(function (name) { 1399 var element = state.elements[name]; 1400 var attributes = state.attributes[name] || {}; 1401 var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them 1402 1403 var style = styleProperties.reduce(function (style, property) { 1404 style[property] = ''; 1405 return style; 1406 }, {}); // arrow is optional + virtual elements 1407 1408 if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || !(0,_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element)) { 1409 return; 1410 } 1411 1412 Object.assign(element.style, style); 1413 Object.keys(attributes).forEach(function (attribute) { 1414 element.removeAttribute(attribute); 1415 }); 1416 }); 1417 }; 1418} // eslint-disable-next-line import/no-unused-modules 1419 1420 1421/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1422 name: 'applyStyles', 1423 enabled: true, 1424 phase: 'write', 1425 fn: applyStyles, 1426 effect: effect, 1427 requires: ['computeStyles'] 1428}); 1429 1430/***/ }), 1431
vendor: 6,639 bytes, lines 1432-1556
1432/***/ "./node_modules/@popperjs/core/lib/modifiers/arrow.js": 1433/*!************************************************************!*\ 1434 !*** ./node_modules/@popperjs/core/lib/modifiers/arrow.js ***! 1435 \************************************************************/ 1436/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1437 1438"use strict"; 1439__webpack_require__.r(__webpack_exports__); 1440/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1441/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1442/* harmony export */ }); 1443/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 1444/* 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"); 1445/* 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"); 1446/* 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"); 1447/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js"); 1448/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/within.js */ "./node_modules/@popperjs/core/lib/utils/within.js"); 1449/* harmony import */ var _utils_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/mergePaddingObject.js */ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js"); 1450/* harmony import */ var _utils_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/expandToHashMap.js */ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js"); 1451/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1452/* 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"); 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 // eslint-disable-next-line import/no-unused-modules 1463 1464var toPaddingObject = function toPaddingObject(padding, state) { 1465 padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { 1466 placement: state.placement 1467 })) : padding; 1468 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)); 1469}; 1470 1471function arrow(_ref) { 1472 var _state$modifiersData$; 1473 1474 var state = _ref.state, 1475 name = _ref.name, 1476 options = _ref.options; 1477 var arrowElement = state.elements.arrow; 1478 var popperOffsets = state.modifiersData.popperOffsets; 1479 var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(state.placement); 1480 var axis = (0,_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__["default"])(basePlacement); 1481 var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_2__.left, _enums_js__WEBPACK_IMPORTED_MODULE_2__.right].indexOf(basePlacement) >= 0; 1482 var len = isVertical ? 'height' : 'width'; 1483 1484 if (!arrowElement || !popperOffsets) { 1485 return; 1486 } 1487 1488 var paddingObject = toPaddingObject(options.padding, state); 1489 var arrowRect = (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_5__["default"])(arrowElement); 1490 var minProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_2__.top : _enums_js__WEBPACK_IMPORTED_MODULE_2__.left; 1491 var maxProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_2__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_2__.right; 1492 var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; 1493 var startDiff = popperOffsets[axis] - state.rects.reference[axis]; 1494 var arrowOffsetParent = (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_6__["default"])(arrowElement); 1495 var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; 1496 var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is 1497 // outside of the popper bounds 1498 1499 var min = paddingObject[minProp]; 1500 var max = clientSize - arrowRect[len] - paddingObject[maxProp]; 1501 var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; 1502 var offset = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_7__.within)(min, center, max); // Prevents breaking syntax highlighting... 1503 1504 var axisProp = axis; 1505 state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); 1506} 1507 1508function effect(_ref2) { 1509 var state = _ref2.state, 1510 options = _ref2.options; 1511 var _options$element = options.element, 1512 arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; 1513 1514 if (arrowElement == null) { 1515 return; 1516 } // CSS selector 1517 1518 1519 if (typeof arrowElement === 'string') { 1520 arrowElement = state.elements.popper.querySelector(arrowElement); 1521 1522 if (!arrowElement) { 1523 return; 1524 } 1525 } 1526 1527 if (true) { 1528 if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_8__.isHTMLElement)(arrowElement)) { 1529 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(' ')); 1530 } 1531 } 1532 1533 if (!(0,_dom_utils_contains_js__WEBPACK_IMPORTED_MODULE_9__["default"])(state.elements.popper, arrowElement)) { 1534 if (true) { 1535 console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper', 'element.'].join(' ')); 1536 } 1537 1538 return; 1539 } 1540 1541 state.elements.arrow = arrowElement; 1542} // eslint-disable-next-line import/no-unused-modules 1543 1544 1545/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1546 name: 'arrow', 1547 enabled: true, 1548 phase: 'main', 1549 fn: arrow, 1550 effect: effect, 1551 requires: ['popperOffsets'], 1552 requiresIfExists: ['preventOverflow'] 1553}); 1554 1555/***/ }), 1556
vendor: 9,407 bytes, lines 1557-1759
1557/***/ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js": 1558/*!********************************************************************!*\ 1559 !*** ./node_modules/@popperjs/core/lib/modifiers/computeStyles.js ***! 1560 \********************************************************************/ 1561/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1562 1563"use strict"; 1564__webpack_require__.r(__webpack_exports__); 1565/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1566/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), 1567/* harmony export */ "mapToStyles": () => (/* binding */ mapToStyles) 1568/* harmony export */ }); 1569/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1570/* 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"); 1571/* 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"); 1572/* 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"); 1573/* 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"); 1574/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 1575/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 1576/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 1577 1578 1579 1580 1581 1582 1583 1584 // eslint-disable-next-line import/no-unused-modules 1585 1586var unsetSides = { 1587 top: 'auto', 1588 right: 'auto', 1589 bottom: 'auto', 1590 left: 'auto' 1591}; // Round the offsets to the nearest suitable subpixel based on the DPR. 1592// Zooming can change the DPR, but it seems to report a value that will 1593// cleanly divide the values into the appropriate subpixels. 1594 1595function roundOffsetsByDPR(_ref, win) { 1596 var x = _ref.x, 1597 y = _ref.y; 1598 var dpr = win.devicePixelRatio || 1; 1599 return { 1600 x: (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(x * dpr) / dpr || 0, 1601 y: (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(y * dpr) / dpr || 0 1602 }; 1603} 1604 1605function mapToStyles(_ref2) { 1606 var _Object$assign2; 1607 1608 var popper = _ref2.popper, 1609 popperRect = _ref2.popperRect, 1610 placement = _ref2.placement, 1611 variation = _ref2.variation, 1612 offsets = _ref2.offsets, 1613 position = _ref2.position, 1614 gpuAcceleration = _ref2.gpuAcceleration, 1615 adaptive = _ref2.adaptive, 1616 roundOffsets = _ref2.roundOffsets, 1617 isFixed = _ref2.isFixed; 1618 var _offsets$x = offsets.x, 1619 x = _offsets$x === void 0 ? 0 : _offsets$x, 1620 _offsets$y = offsets.y, 1621 y = _offsets$y === void 0 ? 0 : _offsets$y; 1622 1623 var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({ 1624 x: x, 1625 y: y 1626 }) : { 1627 x: x, 1628 y: y 1629 }; 1630 1631 x = _ref3.x; 1632 y = _ref3.y; 1633 var hasX = offsets.hasOwnProperty('x'); 1634 var hasY = offsets.hasOwnProperty('y'); 1635 var sideX = _enums_js__WEBPACK_IMPORTED_MODULE_1__.left; 1636 var sideY = _enums_js__WEBPACK_IMPORTED_MODULE_1__.top; 1637 var win = window; 1638 1639 if (adaptive) { 1640 var offsetParent = (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(popper); 1641 var heightProp = 'clientHeight'; 1642 var widthProp = 'clientWidth'; 1643 1644 if (offsetParent === (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_3__["default"])(popper)) { 1645 offsetParent = (0,_dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_4__["default"])(popper); 1646 1647 if ((0,_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_5__["default"])(offsetParent).position !== 'static' && position === 'absolute') { 1648 heightProp = 'scrollHeight'; 1649 widthProp = 'scrollWidth'; 1650 } 1651 } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it 1652 1653 1654 offsetParent = offsetParent; 1655 1656 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) { 1657 sideY = _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom; 1658 var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing] 1659 offsetParent[heightProp]; 1660 y -= offsetY - popperRect.height; 1661 y *= gpuAcceleration ? 1 : -1; 1662 } 1663 1664 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) { 1665 sideX = _enums_js__WEBPACK_IMPORTED_MODULE_1__.right; 1666 var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing] 1667 offsetParent[widthProp]; 1668 x -= offsetX - popperRect.width; 1669 x *= gpuAcceleration ? 1 : -1; 1670 } 1671 } 1672 1673 var commonStyles = Object.assign({ 1674 position: position 1675 }, adaptive && unsetSides); 1676 1677 var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ 1678 x: x, 1679 y: y 1680 }, (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_3__["default"])(popper)) : { 1681 x: x, 1682 y: y 1683 }; 1684 1685 x = _ref4.x; 1686 y = _ref4.y; 1687 1688 if (gpuAcceleration) { 1689 var _Object$assign; 1690 1691 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)); 1692 } 1693 1694 return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); 1695} 1696 1697function computeStyles(_ref5) { 1698 var state = _ref5.state, 1699 options = _ref5.options; 1700 var _options$gpuAccelerat = options.gpuAcceleration, 1701 gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, 1702 _options$adaptive = options.adaptive, 1703 adaptive = _options$adaptive === void 0 ? true : _options$adaptive, 1704 _options$roundOffsets = options.roundOffsets, 1705 roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; 1706 1707 if (true) { 1708 var transitionProperty = (0,_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_5__["default"])(state.elements.popper).transitionProperty || ''; 1709 1710 if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) { 1711 return transitionProperty.indexOf(property) >= 0; 1712 })) { 1713 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(' ')); 1714 } 1715 } 1716 1717 var commonStyles = { 1718 placement: (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state.placement), 1719 variation: (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_7__["default"])(state.placement), 1720 popper: state.elements.popper, 1721 popperRect: state.rects.popper, 1722 gpuAcceleration: gpuAcceleration, 1723 isFixed: state.options.strategy === 'fixed' 1724 }; 1725 1726 if (state.modifiersData.popperOffsets != null) { 1727 state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { 1728 offsets: state.modifiersData.popperOffsets, 1729 position: state.options.strategy, 1730 adaptive: adaptive, 1731 roundOffsets: roundOffsets 1732 }))); 1733 } 1734 1735 if (state.modifiersData.arrow != null) { 1736 state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { 1737 offsets: state.modifiersData.arrow, 1738 position: 'absolute', 1739 adaptive: false, 1740 roundOffsets: roundOffsets 1741 }))); 1742 } 1743 1744 state.attributes.popper = Object.assign({}, state.attributes.popper, { 1745 'data-popper-placement': state.placement 1746 }); 1747} // eslint-disable-next-line import/no-unused-modules 1748 1749 1750/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1751 name: 'computeStyles', 1752 enabled: true, 1753 phase: 'beforeWrite', 1754 fn: computeStyles, 1755 data: {} 1756}); 1757 1758/***/ }), 1759
vendor: 2,190 bytes, lines 1760-1823
1760/***/ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js": 1761/*!*********************************************************************!*\ 1762 !*** ./node_modules/@popperjs/core/lib/modifiers/eventListeners.js ***! 1763 \*********************************************************************/ 1764/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1765 1766"use strict"; 1767__webpack_require__.r(__webpack_exports__); 1768/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1769/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1770/* harmony export */ }); 1771/* 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"); 1772 // eslint-disable-next-line import/no-unused-modules 1773 1774var passive = { 1775 passive: true 1776}; 1777 1778function effect(_ref) { 1779 var state = _ref.state, 1780 instance = _ref.instance, 1781 options = _ref.options; 1782 var _options$scroll = options.scroll, 1783 scroll = _options$scroll === void 0 ? true : _options$scroll, 1784 _options$resize = options.resize, 1785 resize = _options$resize === void 0 ? true : _options$resize; 1786 var window = (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(state.elements.popper); 1787 var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); 1788 1789 if (scroll) { 1790 scrollParents.forEach(function (scrollParent) { 1791 scrollParent.addEventListener('scroll', instance.update, passive); 1792 }); 1793 } 1794 1795 if (resize) { 1796 window.addEventListener('resize', instance.update, passive); 1797 } 1798 1799 return function () { 1800 if (scroll) { 1801 scrollParents.forEach(function (scrollParent) { 1802 scrollParent.removeEventListener('scroll', instance.update, passive); 1803 }); 1804 } 1805 1806 if (resize) { 1807 window.removeEventListener('resize', instance.update, passive); 1808 } 1809 }; 1810} // eslint-disable-next-line import/no-unused-modules 1811 1812 1813/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1814 name: 'eventListeners', 1815 enabled: true, 1816 phase: 'write', 1817 fn: function fn() {}, 1818 effect: effect, 1819 data: {} 1820}); 1821 1822/***/ }), 1823
vendor: 7,538 bytes, lines 1824-1991
1824/***/ "./node_modules/@popperjs/core/lib/modifiers/flip.js": 1825/*!***********************************************************!*\ 1826 !*** ./node_modules/@popperjs/core/lib/modifiers/flip.js ***! 1827 \***********************************************************/ 1828/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1829 1830"use strict"; 1831__webpack_require__.r(__webpack_exports__); 1832/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1833/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1834/* harmony export */ }); 1835/* harmony import */ var _utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getOppositePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js"); 1836/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 1837/* harmony import */ var _utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getOppositeVariationPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js"); 1838/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 1839/* harmony import */ var _utils_computeAutoPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/computeAutoPlacement.js */ "./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js"); 1840/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1841/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 1842 1843 1844 1845 1846 1847 1848 // eslint-disable-next-line import/no-unused-modules 1849 1850function getExpandedFallbackPlacements(placement) { 1851 if ((0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_1__.auto) { 1852 return []; 1853 } 1854 1855 var oppositePlacement = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(placement); 1856 return [(0,_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(placement), oppositePlacement, (0,_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(oppositePlacement)]; 1857} 1858 1859function flip(_ref) { 1860 var state = _ref.state, 1861 options = _ref.options, 1862 name = _ref.name; 1863 1864 if (state.modifiersData[name]._skip) { 1865 return; 1866 } 1867 1868 var _options$mainAxis = options.mainAxis, 1869 checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, 1870 _options$altAxis = options.altAxis, 1871 checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, 1872 specifiedFallbackPlacements = options.fallbackPlacements, 1873 padding = options.padding, 1874 boundary = options.boundary, 1875 rootBoundary = options.rootBoundary, 1876 altBoundary = options.altBoundary, 1877 _options$flipVariatio = options.flipVariations, 1878 flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, 1879 allowedAutoPlacements = options.allowedAutoPlacements; 1880 var preferredPlacement = state.options.placement; 1881 var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(preferredPlacement); 1882 var isBasePlacement = basePlacement === preferredPlacement; 1883 var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [(0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); 1884 var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { 1885 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, { 1886 placement: placement, 1887 boundary: boundary, 1888 rootBoundary: rootBoundary, 1889 padding: padding, 1890 flipVariations: flipVariations, 1891 allowedAutoPlacements: allowedAutoPlacements 1892 }) : placement); 1893 }, []); 1894 var referenceRect = state.rects.reference; 1895 var popperRect = state.rects.popper; 1896 var checksMap = new Map(); 1897 var makeFallbackChecks = true; 1898 var firstFittingPlacement = placements[0]; 1899 1900 for (var i = 0; i < placements.length; i++) { 1901 var placement = placements[i]; 1902 1903 var _basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement); 1904 1905 var isStartVariation = (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_5__["default"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_1__.start; 1906 var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_1__.top, _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom].indexOf(_basePlacement) >= 0; 1907 var len = isVertical ? 'width' : 'height'; 1908 var overflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state, { 1909 placement: placement, 1910 boundary: boundary, 1911 rootBoundary: rootBoundary, 1912 altBoundary: altBoundary, 1913 padding: padding 1914 }); 1915 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; 1916 1917 if (referenceRect[len] > popperRect[len]) { 1918 mainVariationSide = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(mainVariationSide); 1919 } 1920 1921 var altVariationSide = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(mainVariationSide); 1922 var checks = []; 1923 1924 if (checkMainAxis) { 1925 checks.push(overflow[_basePlacement] <= 0); 1926 } 1927 1928 if (checkAltAxis) { 1929 checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); 1930 } 1931 1932 if (checks.every(function (check) { 1933 return check; 1934 })) { 1935 firstFittingPlacement = placement; 1936 makeFallbackChecks = false; 1937 break; 1938 } 1939 1940 checksMap.set(placement, checks); 1941 } 1942 1943 if (makeFallbackChecks) { 1944 // `2` may be desired in some cases â research later 1945 var numberOfChecks = flipVariations ? 3 : 1; 1946 1947 var _loop = function _loop(_i) { 1948 var fittingPlacement = placements.find(function (placement) { 1949 var checks = checksMap.get(placement); 1950 1951 if (checks) { 1952 return checks.slice(0, _i).every(function (check) { 1953 return check; 1954 }); 1955 } 1956 }); 1957 1958 if (fittingPlacement) { 1959 firstFittingPlacement = fittingPlacement; 1960 return "break"; 1961 } 1962 }; 1963 1964 for (var _i = numberOfChecks; _i > 0; _i--) { 1965 var _ret = _loop(_i); 1966 1967 if (_ret === "break") break; 1968 } 1969 } 1970 1971 if (state.placement !== firstFittingPlacement) { 1972 state.modifiersData[name]._skip = true; 1973 state.placement = firstFittingPlacement; 1974 state.reset = true; 1975 } 1976} // eslint-disable-next-line import/no-unused-modules 1977 1978 1979/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1980 name: 'flip', 1981 enabled: true, 1982 phase: 'main', 1983 fn: flip, 1984 requiresIfExists: ['offset'], 1985 data: { 1986 _skip: false 1987 } 1988}); 1989 1990/***/ }), 1991
vendor: 3,074 bytes, lines 1992-2068
1992/***/ "./node_modules/@popperjs/core/lib/modifiers/hide.js": 1993/*!***********************************************************!*\ 1994 !*** ./node_modules/@popperjs/core/lib/modifiers/hide.js ***! 1995 \***********************************************************/ 1996/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1997 1998"use strict"; 1999__webpack_require__.r(__webpack_exports__); 2000/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2001/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2002/* harmony export */ }); 2003/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2004/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 2005 2006 2007 2008function getSideOffsets(overflow, rect, preventedOffsets) { 2009 if (preventedOffsets === void 0) { 2010 preventedOffsets = { 2011 x: 0, 2012 y: 0 2013 }; 2014 } 2015 2016 return { 2017 top: overflow.top - rect.height - preventedOffsets.y, 2018 right: overflow.right - rect.width + preventedOffsets.x, 2019 bottom: overflow.bottom - rect.height + preventedOffsets.y, 2020 left: overflow.left - rect.width - preventedOffsets.x 2021 }; 2022} 2023 2024function isAnySideFullyClipped(overflow) { 2025 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) { 2026 return overflow[side] >= 0; 2027 }); 2028} 2029 2030function hide(_ref) { 2031 var state = _ref.state, 2032 name = _ref.name; 2033 var referenceRect = state.rects.reference; 2034 var popperRect = state.rects.popper; 2035 var preventedOffsets = state.modifiersData.preventOverflow; 2036 var referenceOverflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state, { 2037 elementContext: 'reference' 2038 }); 2039 var popperAltOverflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state, { 2040 altBoundary: true 2041 }); 2042 var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); 2043 var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); 2044 var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); 2045 var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); 2046 state.modifiersData[name] = { 2047 referenceClippingOffsets: referenceClippingOffsets, 2048 popperEscapeOffsets: popperEscapeOffsets, 2049 isReferenceHidden: isReferenceHidden, 2050 hasPopperEscaped: hasPopperEscaped 2051 }; 2052 state.attributes.popper = Object.assign({}, state.attributes.popper, { 2053 'data-popper-reference-hidden': isReferenceHidden, 2054 'data-popper-escaped': hasPopperEscaped 2055 }); 2056} // eslint-disable-next-line import/no-unused-modules 2057 2058 2059/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2060 name: 'hide', 2061 enabled: true, 2062 phase: 'main', 2063 requiresIfExists: ['preventOverflow'], 2064 fn: hide 2065}); 2066 2067/***/ }), 2068
vendor: 3,157 bytes, lines 2069-2108
2069/***/ "./node_modules/@popperjs/core/lib/modifiers/index.js": 2070/*!************************************************************!*\ 2071 !*** ./node_modules/@popperjs/core/lib/modifiers/index.js ***! 2072 \************************************************************/ 2073/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2074 2075"use strict"; 2076__webpack_require__.r(__webpack_exports__); 2077/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2078/* harmony export */ "applyStyles": () => (/* reexport safe */ _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__["default"]), 2079/* harmony export */ "arrow": () => (/* reexport safe */ _arrow_js__WEBPACK_IMPORTED_MODULE_1__["default"]), 2080/* harmony export */ "computeStyles": () => (/* reexport safe */ _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__["default"]), 2081/* harmony export */ "eventListeners": () => (/* reexport safe */ _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__["default"]), 2082/* harmony export */ "flip": () => (/* reexport safe */ _flip_js__WEBPACK_IMPORTED_MODULE_4__["default"]), 2083/* harmony export */ "hide": () => (/* reexport safe */ _hide_js__WEBPACK_IMPORTED_MODULE_5__["default"]), 2084/* harmony export */ "offset": () => (/* reexport safe */ _offset_js__WEBPACK_IMPORTED_MODULE_6__["default"]), 2085/* harmony export */ "popperOffsets": () => (/* reexport safe */ _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__["default"]), 2086/* harmony export */ "preventOverflow": () => (/* reexport safe */ _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__["default"]) 2087/* harmony export */ }); 2088/* harmony import */ var _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js"); 2089/* harmony import */ var _arrow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arrow.js */ "./node_modules/@popperjs/core/lib/modifiers/arrow.js"); 2090/* harmony import */ var _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js"); 2091/* harmony import */ var _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js"); 2092/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./flip.js */ "./node_modules/@popperjs/core/lib/modifiers/flip.js"); 2093/* harmony import */ var _hide_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hide.js */ "./node_modules/@popperjs/core/lib/modifiers/hide.js"); 2094/* harmony import */ var _offset_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./offset.js */ "./node_modules/@popperjs/core/lib/modifiers/offset.js"); 2095/* harmony import */ var _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js"); 2096/* harmony import */ var _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./preventOverflow.js */ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js"); 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107/***/ }), 2108
vendor: 2,814 bytes, lines 2109-2179
2109/***/ "./node_modules/@popperjs/core/lib/modifiers/offset.js": 2110/*!*************************************************************!*\ 2111 !*** ./node_modules/@popperjs/core/lib/modifiers/offset.js ***! 2112 \*************************************************************/ 2113/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2114 2115"use strict"; 2116__webpack_require__.r(__webpack_exports__); 2117/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2118/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), 2119/* harmony export */ "distanceAndSkiddingToXY": () => (/* binding */ distanceAndSkiddingToXY) 2120/* harmony export */ }); 2121/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 2122/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2123 2124 // eslint-disable-next-line import/no-unused-modules 2125 2126function distanceAndSkiddingToXY(placement, rects, offset) { 2127 var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement); 2128 var invertDistance = [_enums_js__WEBPACK_IMPORTED_MODULE_1__.left, _enums_js__WEBPACK_IMPORTED_MODULE_1__.top].indexOf(basePlacement) >= 0 ? -1 : 1; 2129 2130 var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { 2131 placement: placement 2132 })) : offset, 2133 skidding = _ref[0], 2134 distance = _ref[1]; 2135 2136 skidding = skidding || 0; 2137 distance = (distance || 0) * invertDistance; 2138 return [_enums_js__WEBPACK_IMPORTED_MODULE_1__.left, _enums_js__WEBPACK_IMPORTED_MODULE_1__.right].indexOf(basePlacement) >= 0 ? { 2139 x: distance, 2140 y: skidding 2141 } : { 2142 x: skidding, 2143 y: distance 2144 }; 2145} 2146 2147function offset(_ref2) { 2148 var state = _ref2.state, 2149 options = _ref2.options, 2150 name = _ref2.name; 2151 var _options$offset = options.offset, 2152 offset = _options$offset === void 0 ? [0, 0] : _options$offset; 2153 var data = _enums_js__WEBPACK_IMPORTED_MODULE_1__.placements.reduce(function (acc, placement) { 2154 acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); 2155 return acc; 2156 }, {}); 2157 var _data$state$placement = data[state.placement], 2158 x = _data$state$placement.x, 2159 y = _data$state$placement.y; 2160 2161 if (state.modifiersData.popperOffsets != null) { 2162 state.modifiersData.popperOffsets.x += x; 2163 state.modifiersData.popperOffsets.y += y; 2164 } 2165 2166 state.modifiersData[name] = data; 2167} // eslint-disable-next-line import/no-unused-modules 2168 2169 2170/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2171 name: 'offset', 2172 enabled: true, 2173 phase: 'main', 2174 requires: ['popperOffsets'], 2175 fn: offset 2176}); 2177 2178/***/ }), 2179
vendor: 1,555 bytes, lines 2180-2219
2180/***/ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js": 2181/*!********************************************************************!*\ 2182 !*** ./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js ***! 2183 \********************************************************************/ 2184/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2185 2186"use strict"; 2187__webpack_require__.r(__webpack_exports__); 2188/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2189/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2190/* harmony export */ }); 2191/* harmony import */ var _utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/computeOffsets.js */ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js"); 2192 2193 2194function popperOffsets(_ref) { 2195 var state = _ref.state, 2196 name = _ref.name; 2197 // Offsets are the actual position the popper needs to have to be 2198 // properly positioned near its reference element 2199 // This is the most basic placement, and will be adjusted by 2200 // the modifiers in the next step 2201 state.modifiersData[name] = (0,_utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__["default"])({ 2202 reference: state.rects.reference, 2203 element: state.rects.popper, 2204 strategy: 'absolute', 2205 placement: state.placement 2206 }); 2207} // eslint-disable-next-line import/no-unused-modules 2208 2209 2210/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2211 name: 'popperOffsets', 2212 enabled: true, 2213 phase: 'read', 2214 fn: popperOffsets, 2215 data: {} 2216}); 2217 2218/***/ }), 2219
vendor: 9,904 bytes, lines 2220-2386
2220/***/ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js": 2221/*!**********************************************************************!*\ 2222 !*** ./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js ***! 2223 \**********************************************************************/ 2224/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2225 2226"use strict"; 2227__webpack_require__.r(__webpack_exports__); 2228/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2229/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2230/* harmony export */ }); 2231/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2232/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 2233/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js"); 2234/* harmony import */ var _utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/getAltAxis.js */ "./node_modules/@popperjs/core/lib/utils/getAltAxis.js"); 2235/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/within.js */ "./node_modules/@popperjs/core/lib/utils/within.js"); 2236/* 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"); 2237/* 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"); 2238/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 2239/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 2240/* harmony import */ var _utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/getFreshSideObject.js */ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js"); 2241/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254function preventOverflow(_ref) { 2255 var state = _ref.state, 2256 options = _ref.options, 2257 name = _ref.name; 2258 var _options$mainAxis = options.mainAxis, 2259 checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, 2260 _options$altAxis = options.altAxis, 2261 checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, 2262 boundary = options.boundary, 2263 rootBoundary = options.rootBoundary, 2264 altBoundary = options.altBoundary, 2265 padding = options.padding, 2266 _options$tether = options.tether, 2267 tether = _options$tether === void 0 ? true : _options$tether, 2268 _options$tetherOffset = options.tetherOffset, 2269 tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; 2270 var overflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(state, { 2271 boundary: boundary, 2272 rootBoundary: rootBoundary, 2273 padding: padding, 2274 altBoundary: altBoundary 2275 }); 2276 var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state.placement); 2277 var variation = (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_2__["default"])(state.placement); 2278 var isBasePlacement = !variation; 2279 var mainAxis = (0,_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(basePlacement); 2280 var altAxis = (0,_utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_4__["default"])(mainAxis); 2281 var popperOffsets = state.modifiersData.popperOffsets; 2282 var referenceRect = state.rects.reference; 2283 var popperRect = state.rects.popper; 2284 var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { 2285 placement: state.placement 2286 })) : tetherOffset; 2287 var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? { 2288 mainAxis: tetherOffsetValue, 2289 altAxis: tetherOffsetValue 2290 } : Object.assign({ 2291 mainAxis: 0, 2292 altAxis: 0 2293 }, tetherOffsetValue); 2294 var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; 2295 var data = { 2296 x: 0, 2297 y: 0 2298 }; 2299 2300 if (!popperOffsets) { 2301 return; 2302 } 2303 2304 if (checkMainAxis) { 2305 var _offsetModifierState$; 2306 2307 var mainSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.top : _enums_js__WEBPACK_IMPORTED_MODULE_5__.left; 2308 var altSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_5__.right; 2309 var len = mainAxis === 'y' ? 'height' : 'width'; 2310 var offset = popperOffsets[mainAxis]; 2311 var min = offset + overflow[mainSide]; 2312 var max = offset - overflow[altSide]; 2313 var additive = tether ? -popperRect[len] / 2 : 0; 2314 var minLen = variation === _enums_js__WEBPACK_IMPORTED_MODULE_5__.start ? referenceRect[len] : popperRect[len]; 2315 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 2316 // outside the reference bounds 2317 2318 var arrowElement = state.elements.arrow; 2319 var arrowRect = tether && arrowElement ? (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_6__["default"])(arrowElement) : { 2320 width: 0, 2321 height: 0 2322 }; 2323 var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : (0,_utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_7__["default"])(); 2324 var arrowPaddingMin = arrowPaddingObject[mainSide]; 2325 var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want 2326 // to include its full size in the calculation. If the reference is small 2327 // and near the edge of a boundary, the popper can overflow even if the 2328 // reference is not overflowing as well (e.g. virtual elements with no 2329 // width or height) 2330 2331 var arrowLen = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.within)(0, referenceRect[len], arrowRect[len]); 2332 var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; 2333 var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; 2334 var arrowOffsetParent = state.elements.arrow && (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_9__["default"])(state.elements.arrow); 2335 var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; 2336 var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; 2337 var tetherMin = offset + minOffset - offsetModifierValue - clientOffset; 2338 var tetherMax = offset + maxOffset - offsetModifierValue; 2339 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); 2340 popperOffsets[mainAxis] = preventedOffset; 2341 data[mainAxis] = preventedOffset - offset; 2342 } 2343 2344 if (checkAltAxis) { 2345 var _offsetModifierState$2; 2346 2347 var _mainSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.top : _enums_js__WEBPACK_IMPORTED_MODULE_5__.left; 2348 2349 var _altSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_5__.right; 2350 2351 var _offset = popperOffsets[altAxis]; 2352 2353 var _len = altAxis === 'y' ? 'height' : 'width'; 2354 2355 var _min = _offset + overflow[_mainSide]; 2356 2357 var _max = _offset - overflow[_altSide]; 2358 2359 var isOriginSide = [_enums_js__WEBPACK_IMPORTED_MODULE_5__.top, _enums_js__WEBPACK_IMPORTED_MODULE_5__.left].indexOf(basePlacement) !== -1; 2360 2361 var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; 2362 2363 var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; 2364 2365 var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; 2366 2367 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); 2368 2369 popperOffsets[altAxis] = _preventedOffset; 2370 data[altAxis] = _preventedOffset - _offset; 2371 } 2372 2373 state.modifiersData[name] = data; 2374} // eslint-disable-next-line import/no-unused-modules 2375 2376 2377/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2378 name: 'preventOverflow', 2379 enabled: true, 2380 phase: 'main', 2381 fn: preventOverflow, 2382 requiresIfExists: ['offset'] 2383}); 2384 2385/***/ }), 2386
vendor: 2,572 bytes, lines 2387-2420
2387/***/ "./node_modules/@popperjs/core/lib/popper-lite.js": 2388/*!********************************************************!*\ 2389 !*** ./node_modules/@popperjs/core/lib/popper-lite.js ***! 2390 \********************************************************/ 2391/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2392 2393"use strict"; 2394__webpack_require__.r(__webpack_exports__); 2395/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2396/* harmony export */ "createPopper": () => (/* binding */ createPopper), 2397/* harmony export */ "defaultModifiers": () => (/* binding */ defaultModifiers), 2398/* harmony export */ "detectOverflow": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_5__["default"]), 2399/* harmony export */ "popperGenerator": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_4__.popperGenerator) 2400/* harmony export */ }); 2401/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js"); 2402/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 2403/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js"); 2404/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js"); 2405/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js"); 2406/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js"); 2407 2408 2409 2410 2411 2412var 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"]]; 2413var createPopper = /*#__PURE__*/(0,_createPopper_js__WEBPACK_IMPORTED_MODULE_4__.popperGenerator)({ 2414 defaultModifiers: defaultModifiers 2415}); // eslint-disable-next-line import/no-unused-modules 2416 2417 2418 2419/***/ }), 2420
vendor: 5,531 bytes, lines 2421-2480
2421/***/ "./node_modules/@popperjs/core/lib/popper.js": 2422/*!***************************************************!*\ 2423 !*** ./node_modules/@popperjs/core/lib/popper.js ***! 2424 \***************************************************/ 2425/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2426 2427"use strict"; 2428__webpack_require__.r(__webpack_exports__); 2429/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2430/* harmony export */ "applyStyles": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.applyStyles), 2431/* harmony export */ "arrow": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.arrow), 2432/* harmony export */ "computeStyles": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.computeStyles), 2433/* harmony export */ "createPopper": () => (/* binding */ createPopper), 2434/* harmony export */ "createPopperLite": () => (/* reexport safe */ _popper_lite_js__WEBPACK_IMPORTED_MODULE_11__.createPopper), 2435/* harmony export */ "defaultModifiers": () => (/* binding */ defaultModifiers), 2436/* harmony export */ "detectOverflow": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_10__["default"]), 2437/* harmony export */ "eventListeners": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.eventListeners), 2438/* harmony export */ "flip": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.flip), 2439/* harmony export */ "hide": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.hide), 2440/* harmony export */ "offset": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.offset), 2441/* harmony export */ "popperGenerator": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_9__.popperGenerator), 2442/* harmony export */ "popperOffsets": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.popperOffsets), 2443/* harmony export */ "preventOverflow": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.preventOverflow) 2444/* harmony export */ }); 2445/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js"); 2446/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 2447/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js"); 2448/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js"); 2449/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js"); 2450/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js"); 2451/* harmony import */ var _modifiers_offset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modifiers/offset.js */ "./node_modules/@popperjs/core/lib/modifiers/offset.js"); 2452/* harmony import */ var _modifiers_flip_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modifiers/flip.js */ "./node_modules/@popperjs/core/lib/modifiers/flip.js"); 2453/* harmony import */ var _modifiers_preventOverflow_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modifiers/preventOverflow.js */ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js"); 2454/* harmony import */ var _modifiers_arrow_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modifiers/arrow.js */ "./node_modules/@popperjs/core/lib/modifiers/arrow.js"); 2455/* harmony import */ var _modifiers_hide_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modifiers/hide.js */ "./node_modules/@popperjs/core/lib/modifiers/hide.js"); 2456/* harmony import */ var _popper_lite_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./popper-lite.js */ "./node_modules/@popperjs/core/lib/popper-lite.js"); 2457/* harmony import */ var _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modifiers/index.js */ "./node_modules/@popperjs/core/lib/modifiers/index.js"); 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468var 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"]]; 2469var createPopper = /*#__PURE__*/(0,_createPopper_js__WEBPACK_IMPORTED_MODULE_9__.popperGenerator)({ 2470 defaultModifiers: defaultModifiers 2471}); // eslint-disable-next-line import/no-unused-modules 2472 2473 // eslint-disable-next-line import/no-unused-modules 2474 2475 // eslint-disable-next-line import/no-unused-modules 2476 2477 2478 2479/***/ }), 2480
vendor: 3,405 bytes, lines 2481-2545
2481/***/ "./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js": 2482/*!***********************************************************************!*\ 2483 !*** ./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js ***! 2484 \***********************************************************************/ 2485/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2486 2487"use strict"; 2488__webpack_require__.r(__webpack_exports__); 2489/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2490/* harmony export */ "default": () => (/* binding */ computeAutoPlacement) 2491/* harmony export */ }); 2492/* harmony import */ var _getVariation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 2493/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2494/* harmony import */ var _detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 2495/* harmony import */ var _getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 2496 2497 2498 2499 2500function computeAutoPlacement(state, options) { 2501 if (options === void 0) { 2502 options = {}; 2503 } 2504 2505 var _options = options, 2506 placement = _options.placement, 2507 boundary = _options.boundary, 2508 rootBoundary = _options.rootBoundary, 2509 padding = _options.padding, 2510 flipVariations = _options.flipVariations, 2511 _options$allowedAutoP = _options.allowedAutoPlacements, 2512 allowedAutoPlacements = _options$allowedAutoP === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.placements : _options$allowedAutoP; 2513 var variation = (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement); 2514 var placements = variation ? flipVariations ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements : _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements.filter(function (placement) { 2515 return (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement) === variation; 2516 }) : _enums_js__WEBPACK_IMPORTED_MODULE_0__.basePlacements; 2517 var allowedPlacements = placements.filter(function (placement) { 2518 return allowedAutoPlacements.indexOf(placement) >= 0; 2519 }); 2520 2521 if (allowedPlacements.length === 0) { 2522 allowedPlacements = placements; 2523 2524 if (true) { 2525 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(' ')); 2526 } 2527 } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions... 2528 2529 2530 var overflows = allowedPlacements.reduce(function (acc, placement) { 2531 acc[placement] = (0,_detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__["default"])(state, { 2532 placement: placement, 2533 boundary: boundary, 2534 rootBoundary: rootBoundary, 2535 padding: padding 2536 })[(0,_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(placement)]; 2537 return acc; 2538 }, {}); 2539 return Object.keys(overflows).sort(function (a, b) { 2540 return overflows[a] - overflows[b]; 2541 }); 2542} 2543 2544/***/ }), 2545
vendor: 3,194 bytes, lines 2546-2633
2546/***/ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js": 2547/*!*****************************************************************!*\ 2548 !*** ./node_modules/@popperjs/core/lib/utils/computeOffsets.js ***! 2549 \*****************************************************************/ 2550/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2551 2552"use strict"; 2553__webpack_require__.r(__webpack_exports__); 2554/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2555/* harmony export */ "default": () => (/* binding */ computeOffsets) 2556/* harmony export */ }); 2557/* harmony import */ var _getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 2558/* harmony import */ var _getVariation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 2559/* harmony import */ var _getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js"); 2560/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2561 2562 2563 2564 2565function computeOffsets(_ref) { 2566 var reference = _ref.reference, 2567 element = _ref.element, 2568 placement = _ref.placement; 2569 var basePlacement = placement ? (0,_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement) : null; 2570 var variation = placement ? (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement) : null; 2571 var commonX = reference.x + reference.width / 2 - element.width / 2; 2572 var commonY = reference.y + reference.height / 2 - element.height / 2; 2573 var offsets; 2574 2575 switch (basePlacement) { 2576 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.top: 2577 offsets = { 2578 x: commonX, 2579 y: reference.y - element.height 2580 }; 2581 break; 2582 2583 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.bottom: 2584 offsets = { 2585 x: commonX, 2586 y: reference.y + reference.height 2587 }; 2588 break; 2589 2590 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.right: 2591 offsets = { 2592 x: reference.x + reference.width, 2593 y: commonY 2594 }; 2595 break; 2596 2597 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.left: 2598 offsets = { 2599 x: reference.x - element.width, 2600 y: commonY 2601 }; 2602 break; 2603 2604 default: 2605 offsets = { 2606 x: reference.x, 2607 y: reference.y 2608 }; 2609 } 2610 2611 var mainAxis = basePlacement ? (0,_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(basePlacement) : null; 2612 2613 if (mainAxis != null) { 2614 var len = mainAxis === 'y' ? 'height' : 'width'; 2615 2616 switch (variation) { 2617 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.start: 2618 offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); 2619 break; 2620 2621 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.end: 2622 offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); 2623 break; 2624 2625 default: 2626 } 2627 } 2628 2629 return offsets; 2630} 2631 2632/***/ }), 2633
vendor: 850 bytes, lines 2634-2662
2634/***/ "./node_modules/@popperjs/core/lib/utils/debounce.js": 2635/*!***********************************************************!*\ 2636 !*** ./node_modules/@popperjs/core/lib/utils/debounce.js ***! 2637 \***********************************************************/ 2638/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2639 2640"use strict"; 2641__webpack_require__.r(__webpack_exports__); 2642/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2643/* harmony export */ "default": () => (/* binding */ debounce) 2644/* harmony export */ }); 2645function debounce(fn) { 2646 var pending; 2647 return function () { 2648 if (!pending) { 2649 pending = new Promise(function (resolve) { 2650 Promise.resolve().then(function () { 2651 pending = undefined; 2652 resolve(fn()); 2653 }); 2654 }); 2655 } 2656 2657 return pending; 2658 }; 2659} 2660 2661/***/ }), 2662
vendor: 6,226 bytes, lines 2663-2750
2663/***/ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js": 2664/*!*****************************************************************!*\ 2665 !*** ./node_modules/@popperjs/core/lib/utils/detectOverflow.js ***! 2666 \*****************************************************************/ 2667/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2668 2669"use strict"; 2670__webpack_require__.r(__webpack_exports__); 2671/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2672/* harmony export */ "default": () => (/* binding */ detectOverflow) 2673/* harmony export */ }); 2674/* 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"); 2675/* 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"); 2676/* 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"); 2677/* harmony import */ var _computeOffsets_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./computeOffsets.js */ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js"); 2678/* harmony import */ var _rectToClientRect_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./rectToClientRect.js */ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js"); 2679/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2680/* 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"); 2681/* harmony import */ var _mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergePaddingObject.js */ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js"); 2682/* harmony import */ var _expandToHashMap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./expandToHashMap.js */ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js"); 2683 2684 2685 2686 2687 2688 2689 2690 2691 // eslint-disable-next-line import/no-unused-modules 2692 2693function detectOverflow(state, options) { 2694 if (options === void 0) { 2695 options = {}; 2696 } 2697 2698 var _options = options, 2699 _options$placement = _options.placement, 2700 placement = _options$placement === void 0 ? state.placement : _options$placement, 2701 _options$strategy = _options.strategy, 2702 strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, 2703 _options$boundary = _options.boundary, 2704 boundary = _options$boundary === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.clippingParents : _options$boundary, 2705 _options$rootBoundary = _options.rootBoundary, 2706 rootBoundary = _options$rootBoundary === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.viewport : _options$rootBoundary, 2707 _options$elementConte = _options.elementContext, 2708 elementContext = _options$elementConte === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper : _options$elementConte, 2709 _options$altBoundary = _options.altBoundary, 2710 altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, 2711 _options$padding = _options.padding, 2712 padding = _options$padding === void 0 ? 0 : _options$padding; 2713 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)); 2714 var altContext = elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.reference : _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper; 2715 var popperRect = state.rects.popper; 2716 var element = state.elements[altBoundary ? altContext : elementContext]; 2717 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); 2718 var referenceClientRect = (0,_dom_utils_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state.elements.reference); 2719 var popperOffsets = (0,_computeOffsets_js__WEBPACK_IMPORTED_MODULE_7__["default"])({ 2720 reference: referenceClientRect, 2721 element: popperRect, 2722 strategy: 'absolute', 2723 placement: placement 2724 }); 2725 var popperClientRect = (0,_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_8__["default"])(Object.assign({}, popperRect, popperOffsets)); 2726 var elementClientRect = elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect 2727 // 0 or negative = within the clipping rect 2728 2729 var overflowOffsets = { 2730 top: clippingClientRect.top - elementClientRect.top + paddingObject.top, 2731 bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, 2732 left: clippingClientRect.left - elementClientRect.left + paddingObject.left, 2733 right: elementClientRect.right - clippingClientRect.right + paddingObject.right 2734 }; 2735 var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element 2736 2737 if (elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper && offsetData) { 2738 var offset = offsetData[placement]; 2739 Object.keys(overflowOffsets).forEach(function (key) { 2740 var multiply = [_enums_js__WEBPACK_IMPORTED_MODULE_0__.right, _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom].indexOf(key) >= 0 ? 1 : -1; 2741 var axis = [_enums_js__WEBPACK_IMPORTED_MODULE_0__.top, _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom].indexOf(key) >= 0 ? 'y' : 'x'; 2742 overflowOffsets[key] += offset[axis] * multiply; 2743 }); 2744 } 2745 2746 return overflowOffsets; 2747} 2748 2749/***/ }), 2750
vendor: 742 bytes, lines 2751-2770
2751/***/ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js": 2752/*!******************************************************************!*\ 2753 !*** ./node_modules/@popperjs/core/lib/utils/expandToHashMap.js ***! 2754 \******************************************************************/ 2755/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2756 2757"use strict"; 2758__webpack_require__.r(__webpack_exports__); 2759/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2760/* harmony export */ "default": () => (/* binding */ expandToHashMap) 2761/* harmony export */ }); 2762function expandToHashMap(value, keys) { 2763 return keys.reduce(function (hashMap, key) { 2764 hashMap[key] = value; 2765 return hashMap; 2766 }, {}); 2767} 2768 2769/***/ }), 2770
vendor: 824 bytes, lines 2771-2793
2771/***/ "./node_modules/@popperjs/core/lib/utils/format.js": 2772/*!*********************************************************!*\ 2773 !*** ./node_modules/@popperjs/core/lib/utils/format.js ***! 2774 \*********************************************************/ 2775/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2776 2777"use strict"; 2778__webpack_require__.r(__webpack_exports__); 2779/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2780/* harmony export */ "default": () => (/* binding */ format) 2781/* harmony export */ }); 2782function format(str) { 2783 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 2784 args[_key - 1] = arguments[_key]; 2785 } 2786 2787 return [].concat(args).reduce(function (p, c) { 2788 return p.replace(/%s/, c); 2789 }, str); 2790} 2791 2792/***/ }), 2793
vendor: 637 bytes, lines 2794-2810
2794/***/ "./node_modules/@popperjs/core/lib/utils/getAltAxis.js": 2795/*!*************************************************************!*\ 2796 !*** ./node_modules/@popperjs/core/lib/utils/getAltAxis.js ***! 2797 \*************************************************************/ 2798/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2799 2800"use strict"; 2801__webpack_require__.r(__webpack_exports__); 2802/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2803/* harmony export */ "default": () => (/* binding */ getAltAxis) 2804/* harmony export */ }); 2805function getAltAxis(axis) { 2806 return axis === 'x' ? 'y' : 'x'; 2807} 2808 2809/***/ }), 2810
vendor: 678 bytes, lines 2811-2828
2811/***/ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js": 2812/*!*******************************************************************!*\ 2813 !*** ./node_modules/@popperjs/core/lib/utils/getBasePlacement.js ***! 2814 \*******************************************************************/ 2815/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2816 2817"use strict"; 2818__webpack_require__.r(__webpack_exports__); 2819/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2820/* harmony export */ "default": () => (/* binding */ getBasePlacement) 2821/* harmony export */ }); 2822 2823function getBasePlacement(placement) { 2824 return placement.split('-')[0]; 2825} 2826 2827/***/ }), 2828
vendor: 715 bytes, lines 2829-2850
2829/***/ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js": 2830/*!*********************************************************************!*\ 2831 !*** ./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js ***! 2832 \*********************************************************************/ 2833/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2834 2835"use strict"; 2836__webpack_require__.r(__webpack_exports__); 2837/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2838/* harmony export */ "default": () => (/* binding */ getFreshSideObject) 2839/* harmony export */ }); 2840function getFreshSideObject() { 2841 return { 2842 top: 0, 2843 right: 0, 2844 bottom: 0, 2845 left: 0 2846 }; 2847} 2848 2849/***/ }), 2850
vendor: 755 bytes, lines 2851-2867
2851/***/ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js": 2852/*!***************************************************************************!*\ 2853 !*** ./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js ***! 2854 \***************************************************************************/ 2855/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2856 2857"use strict"; 2858__webpack_require__.r(__webpack_exports__); 2859/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2860/* harmony export */ "default": () => (/* binding */ getMainAxisFromPlacement) 2861/* harmony export */ }); 2862function getMainAxisFromPlacement(placement) { 2863 return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; 2864} 2865 2866/***/ }), 2867
vendor: 856 bytes, lines 2868-2892
2868/***/ "./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js": 2869/*!***********************************************************************!*\ 2870 !*** ./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js ***! 2871 \***********************************************************************/ 2872/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2873 2874"use strict"; 2875__webpack_require__.r(__webpack_exports__); 2876/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2877/* harmony export */ "default": () => (/* binding */ getOppositePlacement) 2878/* harmony export */ }); 2879var hash = { 2880 left: 'right', 2881 right: 'left', 2882 bottom: 'top', 2883 top: 'bottom' 2884}; 2885function getOppositePlacement(placement) { 2886 return placement.replace(/left|right|bottom|top/g, function (matched) { 2887 return hash[matched]; 2888 }); 2889} 2890 2891/***/ }), 2892
vendor: 862 bytes, lines 2893-2915
2893/***/ "./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js": 2894/*!********************************************************************************!*\ 2895 !*** ./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js ***! 2896 \********************************************************************************/ 2897/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2898 2899"use strict"; 2900__webpack_require__.r(__webpack_exports__); 2901/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2902/* harmony export */ "default": () => (/* binding */ getOppositeVariationPlacement) 2903/* harmony export */ }); 2904var hash = { 2905 start: 'end', 2906 end: 'start' 2907}; 2908function getOppositeVariationPlacement(placement) { 2909 return placement.replace(/start|end/g, function (matched) { 2910 return hash[matched]; 2911 }); 2912} 2913 2914/***/ }), 2915
vendor: 653 bytes, lines 2916-2932
2916/***/ "./node_modules/@popperjs/core/lib/utils/getVariation.js": 2917/*!***************************************************************!*\ 2918 !*** ./node_modules/@popperjs/core/lib/utils/getVariation.js ***! 2919 \***************************************************************/ 2920/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2921 2922"use strict"; 2923__webpack_require__.r(__webpack_exports__); 2924/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2925/* harmony export */ "default": () => (/* binding */ getVariation) 2926/* harmony export */ }); 2927function getVariation(placement) { 2928 return placement.split('-')[1]; 2929} 2930 2931/***/ }), 2932
vendor: 719 bytes, lines 2933-2951
2933/***/ "./node_modules/@popperjs/core/lib/utils/math.js": 2934/*!*******************************************************!*\ 2935 !*** ./node_modules/@popperjs/core/lib/utils/math.js ***! 2936 \*******************************************************/ 2937/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2938 2939"use strict"; 2940__webpack_require__.r(__webpack_exports__); 2941/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2942/* harmony export */ "max": () => (/* binding */ max), 2943/* harmony export */ "min": () => (/* binding */ min), 2944/* harmony export */ "round": () => (/* binding */ round) 2945/* harmony export */ }); 2946var max = Math.max; 2947var min = Math.min; 2948var round = Math.round; 2949 2950/***/ }), 2951
vendor: 1,087 bytes, lines 2952-2979
2952/***/ "./node_modules/@popperjs/core/lib/utils/mergeByName.js": 2953/*!**************************************************************!*\ 2954 !*** ./node_modules/@popperjs/core/lib/utils/mergeByName.js ***! 2955 \**************************************************************/ 2956/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2957 2958"use strict"; 2959__webpack_require__.r(__webpack_exports__); 2960/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2961/* harmony export */ "default": () => (/* binding */ mergeByName) 2962/* harmony export */ }); 2963function mergeByName(modifiers) { 2964 var merged = modifiers.reduce(function (merged, current) { 2965 var existing = merged[current.name]; 2966 merged[current.name] = existing ? Object.assign({}, existing, current, { 2967 options: Object.assign({}, existing.options, current.options), 2968 data: Object.assign({}, existing.data, current.data) 2969 }) : current; 2970 return merged; 2971 }, {}); // IE11 does not support Object.values 2972 2973 return Object.keys(merged).map(function (key) { 2974 return merged[key]; 2975 }); 2976} 2977 2978/***/ }), 2979
vendor: 969 bytes, lines 2980-2998
2980/***/ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js": 2981/*!*********************************************************************!*\ 2982 !*** ./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js ***! 2983 \*********************************************************************/ 2984/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2985 2986"use strict"; 2987__webpack_require__.r(__webpack_exports__); 2988/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2989/* harmony export */ "default": () => (/* binding */ mergePaddingObject) 2990/* harmony export */ }); 2991/* harmony import */ var _getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getFreshSideObject.js */ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js"); 2992 2993function mergePaddingObject(paddingObject) { 2994 return Object.assign({}, (0,_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(), paddingObject); 2995} 2996 2997/***/ }), 2998
vendor: 1,964 bytes, lines 2999-3057
2999/***/ "./node_modules/@popperjs/core/lib/utils/orderModifiers.js": 3000/*!*****************************************************************!*\ 3001 !*** ./node_modules/@popperjs/core/lib/utils/orderModifiers.js ***! 3002 \*****************************************************************/ 3003/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 3004 3005"use strict"; 3006__webpack_require__.r(__webpack_exports__); 3007/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3008/* harmony export */ "default": () => (/* binding */ orderModifiers) 3009/* harmony export */ }); 3010/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 3011 // source: https://stackoverflow.com/questions/49875255 3012 3013function order(modifiers) { 3014 var map = new Map(); 3015 var visited = new Set(); 3016 var result = []; 3017 modifiers.forEach(function (modifier) { 3018 map.set(modifier.name, modifier); 3019 }); // On visiting object, check for its dependencies and visit them recursively 3020 3021 function sort(modifier) { 3022 visited.add(modifier.name); 3023 var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); 3024 requires.forEach(function (dep) { 3025 if (!visited.has(dep)) { 3026 var depModifier = map.get(dep); 3027 3028 if (depModifier) { 3029 sort(depModifier); 3030 } 3031 } 3032 }); 3033 result.push(modifier); 3034 } 3035 3036 modifiers.forEach(function (modifier) { 3037 if (!visited.has(modifier.name)) { 3038 // check for visited object 3039 sort(modifier); 3040 } 3041 }); 3042 return result; 3043} 3044 3045function orderModifiers(modifiers) { 3046 // order based on dependencies 3047 var orderedModifiers = order(modifiers); // order based on phase 3048 3049 return _enums_js__WEBPACK_IMPORTED_MODULE_0__.modifierPhases.reduce(function (acc, phase) { 3050 return acc.concat(orderedModifiers.filter(function (modifier) { 3051 return modifier.phase === phase; 3052 })); 3053 }, []); 3054} 3055 3056/***/ }), 3057
vendor: 779 bytes, lines 3058-3079
3058/***/ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js": 3059/*!*******************************************************************!*\ 3060 !*** ./node_modules/@popperjs/core/lib/utils/rectToClientRect.js ***! 3061 \*******************************************************************/ 3062/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 3063 3064"use strict"; 3065__webpack_require__.r(__webpack_exports__); 3066/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3067/* harmony export */ "default": () => (/* binding */ rectToClientRect) 3068/* harmony export */ }); 3069function rectToClientRect(rect) { 3070 return Object.assign({}, rect, { 3071 left: rect.x, 3072 top: rect.y, 3073 right: rect.x + rect.width, 3074 bottom: rect.y + rect.height 3075 }); 3076} 3077 3078/***/ }), 3079
vendor: 800 bytes, lines 3080-3104
3080/***/ "./node_modules/@popperjs/core/lib/utils/uniqueBy.js": 3081/*!***********************************************************!*\ 3082 !*** ./node_modules/@popperjs/core/lib/utils/uniqueBy.js ***! 3083 \***********************************************************/ 3084/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 3085 3086"use strict"; 3087__webpack_require__.r(__webpack_exports__); 3088/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3089/* harmony export */ "default": () => (/* binding */ uniqueBy) 3090/* harmony export */ }); 3091function uniqueBy(arr, fn) { 3092 var identifiers = new Set(); 3093 return arr.filter(function (item) { 3094 var identifier = fn(item); 3095 3096 if (!identifiers.has(identifier)) { 3097 identifiers.add(identifier); 3098 return true; 3099 } 3100 }); 3101} 3102 3103/***/ }), 3104
vendor: 856 bytes, lines 3105-3129
3105/***/ "./node_modules/@popperjs/core/lib/utils/userAgent.js": 3106/*!************************************************************!*\ 3107 !*** ./node_modules/@popperjs/core/lib/utils/userAgent.js ***! 3108 \************************************************************/ 3109/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 3110 3111"use strict"; 3112__webpack_require__.r(__webpack_exports__); 3113/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3114/* harmony export */ "default": () => (/* binding */ getUAString) 3115/* harmony export */ }); 3116function getUAString() { 3117 var uaData = navigator.userAgentData; 3118 3119 if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) { 3120 return uaData.brands.map(function (item) { 3121 return item.brand + "/" + item.version; 3122 }).join(' '); 3123 } 3124 3125 return navigator.userAgent; 3126} 3127 3128/***/ }), 3129
vendor: 4,550 bytes, lines 3130-3226
3130/***/ "./node_modules/@popperjs/core/lib/utils/validateModifiers.js": 3131/*!********************************************************************!*\ 3132 !*** ./node_modules/@popperjs/core/lib/utils/validateModifiers.js ***! 3133 \********************************************************************/ 3134/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 3135 3136"use strict"; 3137__webpack_require__.r(__webpack_exports__); 3138/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3139/* harmony export */ "default": () => (/* binding */ validateModifiers) 3140/* harmony export */ }); 3141/* harmony import */ var _format_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./format.js */ "./node_modules/@popperjs/core/lib/utils/format.js"); 3142/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 3143 3144 3145var INVALID_MODIFIER_ERROR = 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s'; 3146var MISSING_DEPENDENCY_ERROR = 'Popper: modifier "%s" requires "%s", but "%s" modifier is not available'; 3147var VALID_PROPERTIES = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options']; 3148function validateModifiers(modifiers) { 3149 modifiers.forEach(function (modifier) { 3150 [].concat(Object.keys(modifier), VALID_PROPERTIES) // IE11-compatible replacement for `new Set(iterable)` 3151 .filter(function (value, index, self) { 3152 return self.indexOf(value) === index; 3153 }).forEach(function (key) { 3154 switch (key) { 3155 case 'name': 3156 if (typeof modifier.name !== 'string') { 3157 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, String(modifier.name), '"name"', '"string"', "\"" + String(modifier.name) + "\"")); 3158 } 3159 3160 break; 3161 3162 case 'enabled': 3163 if (typeof modifier.enabled !== 'boolean') { 3164 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"enabled"', '"boolean"', "\"" + String(modifier.enabled) + "\"")); 3165 } 3166 3167 break; 3168 3169 case 'phase': 3170 if (_enums_js__WEBPACK_IMPORTED_MODULE_1__.modifierPhases.indexOf(modifier.phase) < 0) { 3171 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) + "\"")); 3172 } 3173 3174 break; 3175 3176 case 'fn': 3177 if (typeof modifier.fn !== 'function') { 3178 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"fn"', '"function"', "\"" + String(modifier.fn) + "\"")); 3179 } 3180 3181 break; 3182 3183 case 'effect': 3184 if (modifier.effect != null && typeof modifier.effect !== 'function') { 3185 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"effect"', '"function"', "\"" + String(modifier.fn) + "\"")); 3186 } 3187 3188 break; 3189 3190 case 'requires': 3191 if (modifier.requires != null && !Array.isArray(modifier.requires)) { 3192 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"requires"', '"array"', "\"" + String(modifier.requires) + "\"")); 3193 } 3194 3195 break; 3196 3197 case 'requiresIfExists': 3198 if (!Array.isArray(modifier.requiresIfExists)) { 3199 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"requiresIfExists"', '"array"', "\"" + String(modifier.requiresIfExists) + "\"")); 3200 } 3201 3202 break; 3203 3204 case 'options': 3205 case 'data': 3206 break; 3207 3208 default: 3209 console.error("PopperJS: an invalid property has been provided to the \"" + modifier.name + "\" modifier, valid properties are " + VALID_PROPERTIES.map(function (s) { 3210 return "\"" + s + "\""; 3211 }).join(', ') + "; but \"" + key + "\" was provided."); 3212 } 3213 3214 modifier.requires && modifier.requires.forEach(function (requirement) { 3215 if (modifiers.find(function (mod) { 3216 return mod.name === requirement; 3217 }) == null) { 3218 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement)); 3219 } 3220 }); 3221 }); 3222 }); 3223} 3224 3225/***/ }), 3226
vendor: 1,050 bytes, lines 3227-3250
3227/***/ "./node_modules/@popperjs/core/lib/utils/within.js": 3228/*!*********************************************************!*\ 3229 !*** ./node_modules/@popperjs/core/lib/utils/within.js ***! 3230 \*********************************************************/ 3231/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 3232 3233"use strict"; 3234__webpack_require__.r(__webpack_exports__); 3235/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3236/* harmony export */ "within": () => (/* binding */ within), 3237/* harmony export */ "withinMaxClamp": () => (/* binding */ withinMaxClamp) 3238/* harmony export */ }); 3239/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 3240 3241function within(min, value, max) { 3242 return (0,_math_js__WEBPACK_IMPORTED_MODULE_0__.max)(min, (0,_math_js__WEBPACK_IMPORTED_MODULE_0__.min)(value, max)); 3243} 3244function withinMaxClamp(min, value, max) { 3245 var v = within(min, value, max); 3246 return v > max ? max : v; 3247} 3248 3249/***/ }), 3250
vendor: 13,985 bytes, lines 3251-3261
3251/***/ "./node_modules/aos/dist/aos.js": 3252/*!**************************************!*\ 3253 !*** ./node_modules/aos/dist/aos.js ***! 3254 \**************************************/ 3255/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3256 3257!function(e,t){ true?module.exports=t():0}(this,function(){"use strict";var e="undefined"!=typeof window?window:"undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:{},t="Expected a function",n=NaN,o="[object Symbol]",i=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,c=/^0o[0-7]+$/i,s=parseInt,u="object"==typeof e&&e&&e.Object===Object&&e,d="object"==typeof self&&self&&self.Object===Object&&self,l=u||d||Function("return this")(),f=Object.prototype.toString,m=Math.max,p=Math.min,b=function(){return l.Date.now()};function v(e,n,o){var i,a,r,c,s,u,d=0,l=!1,f=!1,v=!0;if("function"!=typeof e)throw new TypeError(t);function y(t){var n=i,o=a;return i=a=void 0,d=t,c=e.apply(o,n)}function h(e){var t=e-u;return void 0===u||t>=n||t<0||f&&e-d>=r}function k(){var e=b();if(h(e))return x(e);s=setTimeout(k,function(e){var t=n-(e-u);return f?p(t,r-(e-d)):t}(e))}function x(e){return s=void 0,v&&i?y(e):(i=a=void 0,c)}function O(){var e=b(),t=h(e);if(i=arguments,a=this,u=e,t){if(void 0===s)return function(e){return d=e,s=setTimeout(k,n),l?y(e):c}(u);if(f)return s=setTimeout(k,n),y(u)}return void 0===s&&(s=setTimeout(k,n)),c}return n=w(n)||0,g(o)&&(l=!!o.leading,r=(f="maxWait"in o)?m(w(o.maxWait)||0,n):r,v="trailing"in o?!!o.trailing:v),O.cancel=function(){void 0!==s&&clearTimeout(s),d=0,i=u=a=s=void 0},O.flush=function(){return void 0===s?c:x(b())},O}function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function w(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&f.call(e)==o}(e))return n;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var u=r.test(e);return u||c.test(e)?s(e.slice(2),u?2:8):a.test(e)?n:+e}var y=function(e,n,o){var i=!0,a=!0;if("function"!=typeof e)throw new TypeError(t);return g(o)&&(i="leading"in o?!!o.leading:i,a="trailing"in o?!!o.trailing:a),v(e,n,{leading:i,maxWait:n,trailing:a})},h="Expected a function",k=NaN,x="[object Symbol]",O=/^\s+|\s+$/g,j=/^[-+]0x[0-9a-f]+$/i,E=/^0b[01]+$/i,N=/^0o[0-7]+$/i,z=parseInt,C="object"==typeof e&&e&&e.Object===Object&&e,A="object"==typeof self&&self&&self.Object===Object&&self,q=C||A||Function("return this")(),L=Object.prototype.toString,T=Math.max,M=Math.min,S=function(){return q.Date.now()};function D(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function H(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&L.call(e)==x}(e))return k;if(D(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=D(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(O,"");var n=E.test(e);return n||N.test(e)?z(e.slice(2),n?2:8):j.test(e)?k:+e}var $=function(e,t,n){var o,i,a,r,c,s,u=0,d=!1,l=!1,f=!0;if("function"!=typeof e)throw new TypeError(h);function m(t){var n=o,a=i;return o=i=void 0,u=t,r=e.apply(a,n)}function p(e){var n=e-s;return void 0===s||n>=t||n<0||l&&e-u>=a}function b(){var e=S();if(p(e))return v(e);c=setTimeout(b,function(e){var n=t-(e-s);return l?M(n,a-(e-u)):n}(e))}function v(e){return c=void 0,f&&o?m(e):(o=i=void 0,r)}function g(){var e=S(),n=p(e);if(o=arguments,i=this,s=e,n){if(void 0===c)return function(e){return u=e,c=setTimeout(b,t),d?m(e):r}(s);if(l)return c=setTimeout(b,t),m(s)}return void 0===c&&(c=setTimeout(b,t)),r}return t=H(t)||0,D(n)&&(d=!!n.leading,a=(l="maxWait"in n)?T(H(n.maxWait)||0,t):a,f="trailing"in n?!!n.trailing:f),g.cancel=function(){void 0!==c&&clearTimeout(c),u=0,o=s=i=c=void 0},g.flush=function(){return void 0===c?r:v(S())},g},W=function(){};function P(e){e&&e.forEach(function(e){var t=Array.prototype.slice.call(e.addedNodes),n=Array.prototype.slice.call(e.removedNodes);if(function e(t){var n=void 0,o=void 0;for(n=0;n<t.length;n+=1){if((o=t[n]).dataset&&o.dataset.aos)return!0;if(o.children&&e(o.children))return!0}return!1}(t.concat(n)))return W()})}function Y(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}var _={isSupported:function(){return!!Y()},ready:function(e,t){var n=window.document,o=new(Y())(P);W=t,o.observe(n.documentElement,{childList:!0,subtree:!0,removedNodes:!0})}},B=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},F=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),I=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},K=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,G=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,J=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i,Q=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i;function R(){return navigator.userAgent||navigator.vendor||window.opera||""}var U=new(function(){function e(){B(this,e)}return F(e,[{key:"phone",value:function(){var e=R();return!(!K.test(e)&&!G.test(e.substr(0,4)))}},{key:"mobile",value:function(){var e=R();return!(!J.test(e)&&!Q.test(e.substr(0,4)))}},{key:"tablet",value:function(){return this.mobile()&&!this.phone()}},{key:"ie11",value:function(){return"-ms-scroll-limit"in document.documentElement.style&&"-ms-ime-align"in document.documentElement.style}}]),e}()),V=function(e,t){var n=void 0;return U.ie11()?(n=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,{detail:t}):n=new CustomEvent(e,{detail:t}),document.dispatchEvent(n)},X=function(e){return e.forEach(function(e,t){return function(e,t){var n=e.options,o=e.position,i=e.node,a=(e.data,function(){e.animated&&(function(e,t){t&&t.forEach(function(t){return e.classList.remove(t)})}(i,n.animatedClassNames),V("aos:out",i),e.options.id&&V("aos:in:"+e.options.id,i),e.animated=!1)});n.mirror&&t>=o.out&&!n.once?a():t>=o.in?e.animated||(function(e,t){t&&t.forEach(function(t){return e.classList.add(t)})}(i,n.animatedClassNames),V("aos:in",i),e.options.id&&V("aos:in:"+e.options.id,i),e.animated=!0):e.animated&&!n.once&&a()}(e,window.pageYOffset)})},Z=function(e){for(var t=0,n=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:n,left:t}},ee=function(e,t,n){var o=e.getAttribute("data-aos-"+t);if(void 0!==o){if("true"===o)return!0;if("false"===o)return!1}return o||n},te=function(e,t){return e.forEach(function(e,n){var o=ee(e.node,"mirror",t.mirror),i=ee(e.node,"once",t.once),a=ee(e.node,"id"),r=t.useClassNames&&e.node.getAttribute("data-aos"),c=[t.animatedClassName].concat(r?r.split(" "):[]).filter(function(e){return"string"==typeof e});t.initClassName&&e.node.classList.add(t.initClassName),e.position={in:function(e,t,n){var o=window.innerHeight,i=ee(e,"anchor"),a=ee(e,"anchor-placement"),r=Number(ee(e,"offset",a?0:t)),c=a||n,s=e;i&&document.querySelectorAll(i)&&(s=document.querySelectorAll(i)[0]);var u=Z(s).top-o;switch(c){case"top-bottom":break;case"center-bottom":u+=s.offsetHeight/2;break;case"bottom-bottom":u+=s.offsetHeight;break;case"top-center":u+=o/2;break;case"center-center":u+=o/2+s.offsetHeight/2;break;case"bottom-center":u+=o/2+s.offsetHeight;break;case"top-top":u+=o;break;case"bottom-top":u+=o+s.offsetHeight;break;case"center-top":u+=o+s.offsetHeight/2}return u+r}(e.node,t.offset,t.anchorPlacement),out:o&&function(e,t){window.innerHeight;var n=ee(e,"anchor"),o=ee(e,"offset",t),i=e;return n&&document.querySelectorAll(n)&&(i=document.querySelectorAll(n)[0]),Z(i).top+i.offsetHeight-o}(e.node,t.offset)},e.options={once:i,mirror:o,animatedClassNames:c,id:a}}),e},ne=function(){var e=document.querySelectorAll("[data-aos]");return Array.prototype.map.call(e,function(e){return{node:e}})},oe=[],ie=!1,ae={offset:120,delay:0,easing:"ease",duration:400,disable:!1,once:!1,mirror:!1,anchorPlacement:"top-bottom",startEvent:"DOMContentLoaded",animatedClassName:"aos-animate",initClassName:"aos-init",useClassNames:!1,disableMutationObserver:!1,throttleDelay:99,debounceDelay:50},re=function(){return document.all&&!window.atob},ce=function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&(ie=!0),ie&&(oe=te(oe,ae),X(oe),window.addEventListener("scroll",y(function(){X(oe,ae.once)},ae.throttleDelay)))},se=function(){if(oe=ne(),de(ae.disable)||re())return ue();ce()},ue=function(){oe.forEach(function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay"),ae.initClassName&&e.node.classList.remove(ae.initClassName),ae.animatedClassName&&e.node.classList.remove(ae.animatedClassName)})},de=function(e){return!0===e||"mobile"===e&&U.mobile()||"phone"===e&&U.phone()||"tablet"===e&&U.tablet()||"function"==typeof e&&!0===e()};return{init:function(e){return ae=I(ae,e),oe=ne(),ae.disableMutationObserver||_.isSupported()||(console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '),ae.disableMutationObserver=!0),ae.disableMutationObserver||_.ready("[data-aos]",se),de(ae.disable)||re()?ue():(document.querySelector("body").setAttribute("data-aos-easing",ae.easing),document.querySelector("body").setAttribute("data-aos-duration",ae.duration),document.querySelector("body").setAttribute("data-aos-delay",ae.delay),-1===["DOMContentLoaded","load"].indexOf(ae.startEvent)?document.addEventListener(ae.startEvent,function(){ce(!0)}):window.addEventListener("load",function(){ce(!0)}),"DOMContentLoaded"===ae.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1&&ce(!0),window.addEventListener("resize",$(ce,ae.debounceDelay,!0)),window.addEventListener("orientationchange",$(ce,ae.debounceDelay,!0)),oe)},refresh:ce,refreshHard:se}}); 3258 3259 3260/***/ }), 3261
3262/***/ "./src/scripts/component/BroesweDetect.js": 3263/*!************************************************!*\ 3264 !*** ./src/scripts/component/BroesweDetect.js ***! 3265 \************************************************/ 3266/***/ (() => { 3267 3268function browserDetect() { 3269 var browser_name = ''; 3270 isIE = /*@cc_on!@*/ false || !!document.documentMode; 3271 isEdge = !isIE && !!window.StyleMedia; 3272 if (navigator.userAgent.indexOf("Chrome") != -1 && !isEdge) { 3273 browser_name = 'chrome'; 3274 } else if (navigator.userAgent.indexOf("Safari") != -1 && !isEdge) { 3275 browser_name = 'safari'; 3276 } else if (navigator.userAgent.indexOf("Firefox") != -1) { 3277 browser_name = 'firefox'; 3278 } else if (navigator.userAgent.indexOf("MSIE") != -1 || !!document.documentMode == true) 3279 //IF IE > 10 3280 { 3281 browser_name = 'ie'; 3282 } else if (isEdge) { 3283 browser_name = 'edge'; 3284 } else { 3285 browser_name = 'other-browser'; 3286 } 3287 $('body').addClass(browser_name); 3288} 3289browserDetect(); 3290 3291/***/ }), 3292
3293/***/ "./src/scripts/component/animateSvgIcon.js": 3294/*!*************************************************!*\ 3295 !*** ./src/scripts/component/animateSvgIcon.js ***! 3296 \*************************************************/ 3297/***/ (() => { 3298 3299function animateImageWrapSvg() { 3300 const svg = document.querySelector('.image_wrap .svg'); 3301 const paths = document.querySelectorAll(".aos-animate .image_wrap svg path"); // Convert to an array using Array.from() 3302 3303 paths.forEach(path => { 3304 // Apply animation to each path 3305 path.style.animation = 'move 5s ease-in-out infinite'; 3306 }); 3307 3308 // Wait 5 seconds to change fill and remove stroke 3309 setTimeout(() => { 3310 paths.forEach(path => { 3311 // Change fill color and remove stroke 3312 path.style.fill = '#FF2B33'; 3313 path.style.stroke = 'none'; 3314 // Reset the stroke-dashoffset to prepare for the next animation 3315 path.style.strokeDashoffset = '1135px'; 3316 }); 3317 }, 3000); 3318} 3319 3320// animateImageWrapSvg(); 3321// setInterval( animateImageWrapSvg, 1000); 3322 3323// 3324function animateIconMetric() { 3325 const svg = document.querySelector('.blockcol__metrics-img .svg'); 3326 const paths = document.querySelectorAll(".aos-animate .blockcol__metrics-img svg path"); // Convert to an array using Array.from() 3327 3328 paths.forEach(path => { 3329 // Apply animation to each path 3330 path.style.animation = 'move 5s ease-in-out infinite'; 3331 }); 3332 3333 // Wait 5 seconds to change fill and remove stroke 3334 setTimeout(() => { 3335 paths.forEach(path => { 3336 // Change fill color and remove stroke 3337 path.style.fill = '#FF2B33'; 3338 path.style.stroke = 'none'; 3339 // Reset the stroke-dashoffset to prepare for the next animation 3340 path.style.strokeDashoffset = '1135px'; 3341 }); 3342 }, 3000); 3343} 3344// animateIconMetric(); 3345// setInterval( animateIconMetric, 1000); 3346 3347// star = new Vivus('star', { type: 'delayed', duration: 100, forceRender: true }); 3348 3349/***/ }), 3350
3351/***/ "./src/scripts/component/animatedCounter.js": 3352/*!**************************************************!*\ 3353 !*** ./src/scripts/component/animatedCounter.js ***! 3354 \**************************************************/ 3355/***/ (() => { 3356 3357// 3358// Animate numbers 3359jQuery('.counter_area-content, .target-block__image ').appear(function () { 3360 var target = $(this).find('span.counter-digit, .target-block__number span.counter-digit'); 3361 var toAnimate = $(this).find('span.counter-digit, .target-block__number span.counter-digit').attr('data-value'); 3362 target.each(function (i, elm) { 3363 anime({ 3364 targets: elm, 3365 innerHTML: [0, $(elm).data('value')], 3366 easing: 'easeInOutCirc', 3367 duration: 5000, 3368 round: 10 // Will round the animated value to 1 decimal 3369 }); 3370 }); 3371 3372 function commaSeparateNumber(val) { 3373 while (/(\d+)(\d{3})/.test(val.toString())) { 3374 val = val.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"); 3375 } 3376 return val; 3377 } 3378}); 3379 3380/***/ }), 3381
3382/***/ "./src/scripts/component/imgToSvg.js": 3383/*!*******************************************!*\ 3384 !*** ./src/scripts/component/imgToSvg.js ***! 3385 \*******************************************/ 3386/***/ (() => { 3387 3388function imgToSvg() { 3389 $("img.svg").each(function () { 3390 //console.log('gdg'); 3391 var $img = $(this); 3392 var imgID = $img.attr("id"); 3393 var imgClass = $img.attr("class"); 3394 var imgURL = $img.attr("src"); 3395 $.get(imgURL, function (data) { 3396 // Get the SVG tag, ignore the rest 3397 var $svg = $(data).find("svg"); 3398 // Add replaced image's ID to the new SVG 3399 if (typeof imgID !== "undefined") { 3400 $svg = $svg.attr("id", imgID); 3401 } 3402 // Add replaced image's classes to the new SVG 3403 if (typeof imgClass !== "undefined") { 3404 $svg = $svg.attr("class", imgClass + " replaced-svg"); 3405 } 3406 // Remove any invalid XML tags as per http://validator.w3.org 3407 $svg = $svg.removeAttr("xmlns:a"); 3408 // Replace image with new SVG 3409 $img.replaceWith($svg); 3410 }, "xml"); 3411 }); 3412} 3413imgToSvg(); 3414function accordion() { 3415 $('.section_accordian .accordion-button').each(function (e) { 3416 $(this).on("click", function () { 3417 // var boolKey = $(this).data('selected'); 3418 setTimeout(() => { 3419 var headerHeight = $('.site_header').outerHeight(); 3420 $('html, body').animate({ 3421 // scrollTop: $("#elementID").offset().top 3422 scrollTop: $(this).parents('.accordion-item').offset().top - headerHeight 3423 }, 100); 3424 }, 500); 3425 }); 3426 }); 3427} 3428accordion(); 3429 3430/***/ }), 3431
3432/***/ "./src/scripts/component/navbar.js": 3433/*!*****************************************!*\ 3434 !*** ./src/scripts/component/navbar.js ***! 3435 \*****************************************/ 3436/***/ (() => { 3437 3438function dropdownMenu() { 3439 var siteHeader = $(".site_header"); 3440 var siteHeaderHeight = siteHeader.height(); 3441 // console.log(siteHeaderHeight); 3442 3443 const $dropdownTopLevel = $(".dropdown"); 3444 const $dropdownTopLevelInside = $(".dropdown > a"); 3445 const $dropdown = $(".dropdown-menu > .dropdown"); 3446 const $dropdownInside = $(".dropdown-menu > li.nav-item > a.dropdown-item"); 3447 3448 // var bodyStyles = document.body.style; 3449 // bodyStyles.setProperty("--header-height", siteHeaderHeight +'px'); 3450 // bodyStyles.setProperty("--background-color", "black"); 3451 3452 $("li.dropdown").prepend('<div class="button_submenu"></div>'); 3453 var myDropdown = $(".dropdown > a"); 3454 myDropdown.on("show.bs.dropdown", function () { 3455 $(this).removeClass("show"); 3456 }); 3457 $dropdownTopLevel.click(function (e) { 3458 e.preventDefault(); 3459 }); 3460 $dropdownTopLevelInside.click(function (e) { 3461 // debugger; 3462 e.preventDefault(); 3463 const dropdownUrl = $(this).attr("href"); 3464 window.location.href = dropdownUrl; 3465 }); 3466 $dropdown.click(function (e) { 3467 e.preventDefault(); 3468 }); 3469 $dropdownInside.click(function (e) { 3470 e.preventDefault(); 3471 const dropdownUrl = $(this).attr("href"); 3472 window.location.href = dropdownUrl; 3473 }); 3474 $(".button_submenu").on("click", function (event) { 3475 event.preventDefault(); 3476 event.stopPropagation(); 3477 $(this).toggleClass("open"); 3478 if (window.matchMedia("(min-width: 1200px)").matches) { 3479 $(this).siblings(".dropdown-menu").slideToggle(300); 3480 } else { 3481 $(this).siblings(".dropdown-menu").toggleClass("open"); 3482 } 3483 }); 3484 $(window).scroll(function () { 3485 if ($(window).scrollTop() >= siteHeaderHeight) { 3486 $(".site_header").addClass("fixed-header"); 3487 $("#wrapper").addClass("visible_stickyheader"); 3488 } else { 3489 $(".site_header").removeClass("fixed-header"); 3490 $("#wrapper").removeClass("visible_stickyheader"); 3491 } 3492 }); 3493 $('.navbar-toggler').on('click', function () { 3494 $('body').toggleClass('menu_open'); 3495 }); 3496 $(".search_trigger").on("click", function (e) { 3497 e.stopPropagation(); 3498 $(".search_form-holder").toggleClass("open"); 3499 }); 3500 $(".search_triggerclose").on("click", function (e) { 3501 e.stopPropagation(); 3502 $(".search_form-holder").removeClass("open"); 3503 }); 3504 3505 // $(document).on("click", function (e) { 3506 // var container = $(".search_form-holder"); 3507 // if ($(e.target) != $(".search_trigger") && container.hasClass("open")) { 3508 // container.removeClass("open"); 3509 // } 3510 // }); 3511} 3512 3513dropdownMenu(); 3514 3515// $('.navbar-nav > li.dropdown').on({ 3516// mouseenter: function() { 3517// // mouseenter event handler code goes here 3518// console.log("mouseenter"); 3519// $(".site_header").addClass("site_header--dark"); 3520// }, 3521// mouseleave: function() { 3522// // mouseleave event handler code goes here 3523// console.log("mouseleave"); 3524// $(".site_header").removeClass("site_header--dark"); 3525// } 3526// }, "*"); 3527 3528$(document).ready(function () { 3529 $(".navbar-nav > li.dropdown").mouseenter(function () { 3530 $(this).closest(".site_header").addClass("site_header--dark"); 3531 $(this).addClass('current-dropdown-hover'); 3532 $(this).closest("body").addClass("enable-dark-menu"); 3533 // console.log("mouseenter"); 3534 }); 3535 3536 $(".navbar-nav > li.dropdown").mouseleave(function () { 3537 $(this).closest(".site_header").removeClass("site_header--dark"); 3538 $(this).removeClass("current-dropdown-hover"); 3539 $(this).closest("body").removeClass("enable-dark-menu"); 3540 // console.log("mouseleave"); 3541 }); 3542}); 3543 3544function handleNavbarToggler() { 3545 $('body').on('click', '.navbar-toggler', function () { 3546 $(this).toggleClass('active'); 3547 }); 3548} 3549function dropToggler() { 3550 $('.menu-item-has-children').prepend('<span class="drop-toggler"></span>'); 3551 $('body').on('click', '.drop-toggler', function () { 3552 $(this).parents('.menu-item-has-children').find('.dropdown-menu').slideToggle(); 3553 // $(this).parents('li').siblings('.menu-item-has-children').removeClass('open'); 3554 // $(this).parents('.menu-item-has-children').toggleClass('open'); 3555 $(this).toggleClass('open'); 3556 }); 3557} 3558function headerHeight() { 3559 var headerHeight = $('.site_header').height() + 'px'; 3560 $('#wrapper').css('padding-top', headerHeight); 3561} 3562headerHeight(); 3563$(window).resize(function () { 3564 headerHeight(); 3565}); 3566handleNavbarToggler(); 3567dropToggler(); 3568 3569/***/ }), 3570
3571/***/ "./src/scripts/component/networkCarousel.js": 3572/*!**************************************************!*\ 3573 !*** ./src/scripts/component/networkCarousel.js ***! 3574 \**************************************************/ 3575/***/ (() => { 3576 3577const elementLogoCarousel = $(".logo_carousel"); 3578const networkCarousel = () => { 3579 elementLogoCarousel.slick({ 3580 dots: false, 3581 infinite: true, 3582 speed: 8000, 3583 slidesToShow: 6, 3584 slidesToScroll: 1, 3585 arrows: false, 3586 autoplay: true, 3587 autoplaySpeed: 0, 3588 focusOnSelect: true, 3589 pauseOnHover: false, 3590 cssEase: 'linear', 3591 variableWidth: true, 3592 responsive: [{ 3593 breakpoint: 681, 3594 settings: { 3595 slidesToShow: 4 3596 } 3597 }, { 3598 breakpoint: 576, 3599 // settings: 'unslick', 3600 settings: { 3601 slidesToShow: 3 3602 } 3603 }] 3604 }); 3605}; 3606if (elementLogoCarousel.length > 0) { 3607 networkCarousel(); 3608} 3609 3610/***/ }), 3611
3612/***/ "./src/scripts/component/partnersSlider.js": 3613/*!*************************************************!*\ 3614 !*** ./src/scripts/component/partnersSlider.js ***! 3615 \*************************************************/ 3616/***/ (() => { 3617 3618$(".partner-slider").slick({ 3619 dots: false, 3620 infinite: true, 3621 speed: 8000, 3622 slidesToShow: 5, 3623 slidesToScroll: 1, 3624 arrows: false, 3625 autoplay: true, 3626 autoplaySpeed: 0, 3627 focusOnSelect: true, 3628 pauseOnHover: false, 3629 cssEase: 'linear', 3630 responsive: [{ 3631 breakpoint: 681, 3632 settings: { 3633 slidesToShow: 4 3634 } 3635 }, { 3636 breakpoint: 576, 3637 // settings: 'unslick', 3638 settings: { 3639 slidesToShow: 3 3640 } 3641 }] 3642}); 3643 3644/***/ }), 3645
3646/***/ "./src/scripts/component/showHideContent.js": 3647/*!**************************************************!*\ 3648 !*** ./src/scripts/component/showHideContent.js ***! 3649 \**************************************************/ 3650/***/ (() => { 3651 3652function showHideContent() { 3653 $(".btn_primary--dark").on("click", function () { 3654 $(this).parents(".team_block-content").toggleClass('open'); 3655 $(this).parents(".team_block-content").find(".team_block-info").slideToggle("slow", function () { 3656 // Animation complete. 3657 }); 3658 }); 3659 3660 // expandable content 3661 $("span.btn_secondary").on("click", function () { 3662 $(this).parents(".section_twocolumn-with-cards").toggleClass('list-content'); 3663 $(this).toggleClass('list-toggled'); 3664 $(this).parents(".section_twocolumn-with-cards").find(".expandable_content").slideToggle("1000", function () { 3665 // Animation complete. 3666 }); 3667 }); 3668} 3669showHideContent(); 3670 3671/***/ }), 3672
3673/***/ "./src/scripts/component/showHideForm.js": 3674/*!***********************************************!*\ 3675 !*** ./src/scripts/component/showHideForm.js ***! 3676 \***********************************************/ 3677/***/ (() => { 3678 3679function showHideForm() { 3680 $('body').on('click', '.brg-network-form-title', function () { 3681 var current_class = $(this).attr('id'); 3682 if (current_class != '') { 3683 $('.joinnetwork_form').hide(); 3684 $('.joinnetwork_desc').hide(); 3685 $('body').find("[data-formnname='" + current_class + "']").show(); 3686 $('body').find(".joinnetwork_desc[data-forminfo='" + current_class + "']").show(); 3687 } 3688 return; 3689 }); 3690} 3691showHideForm(); 3692 3693/***/ }), 3694
3695/***/ "./src/scripts/component/timelineSlider.js": 3696/*!*************************************************!*\ 3697 !*** ./src/scripts/component/timelineSlider.js ***! 3698 \*************************************************/ 3699/***/ (() => { 3700 3701$(".loading-bars").slick({ 3702 // centerMode: true, 3703 // centerPadding: "80px", 3704 lazyLoad: 'progressive', 3705 dots: false, 3706 infinite: false, 3707 speed: 500, 3708 slidesToShow: 9, 3709 slidesToScroll: 1, 3710 arrows: true, 3711 focusOnSelect: true, 3712 // centerMode: true, 3713 // centerPadding: '30px', 3714 prevArrow: "<button type='button' class='slick-prev'><i class='bi bi-arrow-left'></i></button>", 3715 nextArrow: "<button type='button' class='slick-next'><i class='fa fa-angle-right'></i></button>", 3716 asNavFor: ".timeline_slider", 3717 responsive: [{ 3718 breakpoint: 992, 3719 settings: { 3720 slidesToShow: 6 3721 } 3722 }, { 3723 breakpoint: 681, 3724 settings: { 3725 slidesToShow: 4 3726 } 3727 }, { 3728 breakpoint: 576, 3729 // settings: 'unslick', 3730 settings: { 3731 slidesToShow: 5 3732 } 3733 }] 3734}); 3735$(".timeline_slider").slick({ 3736 slidesToShow: 1, 3737 slidesToScroll: 1, 3738 arrows: false, 3739 fade: true, 3740 draggable: false, 3741 asNavFor: ".loading-bars" 3742}); 3743 3744/***/ }), 3745
3746/***/ "./src/scripts/index.js": 3747/*!******************************!*\ 3748 !*** ./src/scripts/index.js ***! 3749 \******************************/ 3750/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 3751 3752"use strict"; 3753__webpack_require__.r(__webpack_exports__); 3754/* harmony import */ var _component_navbar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component/navbar */ "./src/scripts/component/navbar.js"); 3755/* harmony import */ var _component_navbar__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_component_navbar__WEBPACK_IMPORTED_MODULE_0__); 3756/* harmony import */ var _component_imgToSvg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./component/imgToSvg */ "./src/scripts/component/imgToSvg.js"); 3757/* harmony import */ var _component_imgToSvg__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_component_imgToSvg__WEBPACK_IMPORTED_MODULE_1__); 3758/* harmony import */ var _component_animateSvgIcon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./component/animateSvgIcon */ "./src/scripts/component/animateSvgIcon.js"); 3759/* harmony import */ var _component_animateSvgIcon__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_component_animateSvgIcon__WEBPACK_IMPORTED_MODULE_2__); 3760/* harmony import */ var _component_animatedCounter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./component/animatedCounter */ "./src/scripts/component/animatedCounter.js"); 3761/* harmony import */ var _component_animatedCounter__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_component_animatedCounter__WEBPACK_IMPORTED_MODULE_3__); 3762/* harmony import */ var _component_timelineSlider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./component/timelineSlider */ "./src/scripts/component/timelineSlider.js"); 3763/* harmony import */ var _component_timelineSlider__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_component_timelineSlider__WEBPACK_IMPORTED_MODULE_4__); 3764/* harmony import */ var _component_showHideContent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./component/showHideContent */ "./src/scripts/component/showHideContent.js"); 3765/* harmony import */ var _component_showHideContent__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_component_showHideContent__WEBPACK_IMPORTED_MODULE_5__); 3766/* harmony import */ var _component_partnersSlider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./component/partnersSlider */ "./src/scripts/component/partnersSlider.js"); 3767/* harmony import */ var _component_partnersSlider__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_component_partnersSlider__WEBPACK_IMPORTED_MODULE_6__); 3768/* harmony import */ var _component_networkCarousel__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./component/networkCarousel */ "./src/scripts/component/networkCarousel.js"); 3769/* harmony import */ var _component_networkCarousel__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_component_networkCarousel__WEBPACK_IMPORTED_MODULE_7__); 3770/* harmony import */ var _component_showHideForm__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./component/showHideForm */ "./src/scripts/component/showHideForm.js"); 3771/* harmony import */ var _component_showHideForm__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_component_showHideForm__WEBPACK_IMPORTED_MODULE_8__); 3772/* harmony import */ var _component_BroesweDetect__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./component/BroesweDetect */ "./src/scripts/component/BroesweDetect.js"); 3773/* harmony import */ var _component_BroesweDetect__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_component_BroesweDetect__WEBPACK_IMPORTED_MODULE_9__); 3774 3775// import './component/heroSlider'; 3776// import './component/sameHeight'; 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786// import './component/playVideo'; 3787 3788/***/ }), 3789
vendor: 137,790 bytes, lines 3790-9019
3790/***/ "./node_modules/bootstrap/dist/js/bootstrap.esm.js": 3791/*!*********************************************************!*\ 3792 !*** ./node_modules/bootstrap/dist/js/bootstrap.esm.js ***! 3793 \*********************************************************/ 3794/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 3795 3796"use strict"; 3797__webpack_require__.r(__webpack_exports__); 3798/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3799/* harmony export */ "Alert": () => (/* binding */ Alert), 3800/* harmony export */ "Button": () => (/* binding */ Button), 3801/* harmony export */ "Carousel": () => (/* binding */ Carousel), 3802/* harmony export */ "Collapse": () => (/* binding */ Collapse), 3803/* harmony export */ "Dropdown": () => (/* binding */ Dropdown), 3804/* harmony export */ "Modal": () => (/* binding */ Modal), 3805/* harmony export */ "Offcanvas": () => (/* binding */ Offcanvas), 3806/* harmony export */ "Popover": () => (/* binding */ Popover), 3807/* harmony export */ "ScrollSpy": () => (/* binding */ ScrollSpy), 3808/* harmony export */ "Tab": () => (/* binding */ Tab), 3809/* harmony export */ "Toast": () => (/* binding */ Toast), 3810/* harmony export */ "Tooltip": () => (/* binding */ Tooltip) 3811/* harmony export */ }); 3812/* harmony import */ var _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @popperjs/core */ "./node_modules/@popperjs/core/lib/index.js"); 3813/* harmony import */ var _popperjs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @popperjs/core */ "./node_modules/@popperjs/core/lib/popper.js"); 3814/*! 3815 * Bootstrap v5.2.3 (https://getbootstrap.com/) 3816 * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 3817 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 3818 */ 3819 3820 3821/** 3822 * -------------------------------------------------------------------------- 3823 * Bootstrap (v5.2.3): util/index.js 3824 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 3825 * -------------------------------------------------------------------------- 3826 */ 3827const MAX_UID = 1000000; 3828const MILLISECONDS_MULTIPLIER = 1000; 3829const TRANSITION_END = 'transitionend'; // Shout-out Angus Croll (https://goo.gl/pxwQGp) 3830 3831const toType = object => { 3832 if (object === null || object === undefined) { 3833 return `${object}`; 3834 } 3835 3836 return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase(); 3837}; 3838/** 3839 * Public Util API 3840 */ 3841 3842 3843const getUID = prefix => { 3844 do { 3845 prefix += Math.floor(Math.random() * MAX_UID); 3846 } while (document.getElementById(prefix)); 3847 3848 return prefix; 3849}; 3850 3851const getSelector = element => { 3852 let selector = element.getAttribute('data-bs-target'); 3853 3854 if (!selector || selector === '#') { 3855 let hrefAttribute = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, 3856 // so everything starting with `#` or `.`. If a "real" URL is used as the selector, 3857 // `document.querySelector` will rightfully complain it is invalid. 3858 // See https://github.com/twbs/bootstrap/issues/32273 3859 3860 if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) { 3861 return null; 3862 } // Just in case some CMS puts out a full URL with the anchor appended 3863 3864 3865 if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) { 3866 hrefAttribute = `#${hrefAttribute.split('#')[1]}`; 3867 } 3868 3869 selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null; 3870 } 3871 3872 return selector; 3873}; 3874 3875const getSelectorFromElement = element => { 3876 const selector = getSelector(element); 3877 3878 if (selector) { 3879 return document.querySelector(selector) ? selector : null; 3880 } 3881 3882 return null; 3883}; 3884 3885const getElementFromSelector = element => { 3886 const selector = getSelector(element); 3887 return selector ? document.querySelector(selector) : null; 3888}; 3889 3890const getTransitionDurationFromElement = element => { 3891 if (!element) { 3892 return 0; 3893 } // Get transition-duration of the element 3894 3895 3896 let { 3897 transitionDuration, 3898 transitionDelay 3899 } = window.getComputedStyle(element); 3900 const floatTransitionDuration = Number.parseFloat(transitionDuration); 3901 const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found 3902 3903 if (!floatTransitionDuration && !floatTransitionDelay) { 3904 return 0; 3905 } // If multiple durations are defined, take the first 3906 3907 3908 transitionDuration = transitionDuration.split(',')[0]; 3909 transitionDelay = transitionDelay.split(',')[0]; 3910 return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; 3911}; 3912 3913const triggerTransitionEnd = element => { 3914 element.dispatchEvent(new Event(TRANSITION_END)); 3915}; 3916 3917const isElement = object => { 3918 if (!object || typeof object !== 'object') { 3919 return false; 3920 } 3921 3922 if (typeof object.jquery !== 'undefined') { 3923 object = object[0]; 3924 } 3925 3926 return typeof object.nodeType !== 'undefined'; 3927}; 3928 3929const getElement = object => { 3930 // it's a jQuery object or a node element 3931 if (isElement(object)) { 3932 return object.jquery ? object[0] : object; 3933 } 3934 3935 if (typeof object === 'string' && object.length > 0) { 3936 return document.querySelector(object); 3937 } 3938 3939 return null; 3940}; 3941 3942const isVisible = element => { 3943 if (!isElement(element) || element.getClientRects().length === 0) { 3944 return false; 3945 } 3946 3947 const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; // Handle `details` element as its content may falsie appear visible when it is closed 3948 3949 const closedDetails = element.closest('details:not([open])'); 3950 3951 if (!closedDetails) { 3952 return elementIsVisible; 3953 } 3954 3955 if (closedDetails !== element) { 3956 const summary = element.closest('summary'); 3957 3958 if (summary && summary.parentNode !== closedDetails) { 3959 return false; 3960 } 3961 3962 if (summary === null) { 3963 return false; 3964 } 3965 } 3966 3967 return elementIsVisible; 3968}; 3969 3970const isDisabled = element => { 3971 if (!element || element.nodeType !== Node.ELEMENT_NODE) { 3972 return true; 3973 } 3974 3975 if (element.classList.contains('disabled')) { 3976 return true; 3977 } 3978 3979 if (typeof element.disabled !== 'undefined') { 3980 return element.disabled; 3981 } 3982 3983 return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; 3984}; 3985 3986const findShadowRoot = element => { 3987 if (!document.documentElement.attachShadow) { 3988 return null; 3989 } // Can find the shadow root otherwise it'll return the document 3990 3991 3992 if (typeof element.getRootNode === 'function') { 3993 const root = element.getRootNode(); 3994 return root instanceof ShadowRoot ? root : null; 3995 } 3996 3997 if (element instanceof ShadowRoot) { 3998 return element; 3999 } // when we don't find a shadow root 4000 4001 4002 if (!element.parentNode) { 4003 return null; 4004 } 4005 4006 return findShadowRoot(element.parentNode); 4007}; 4008 4009const noop = () => {}; 4010/** 4011 * Trick to restart an element's animation 4012 * 4013 * @param {HTMLElement} element 4014 * @return void 4015 * 4016 * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation 4017 */ 4018 4019 4020const reflow = element => { 4021 element.offsetHeight; // eslint-disable-line no-unused-expressions 4022}; 4023 4024const getjQuery = () => { 4025 if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { 4026 return window.jQuery; 4027 } 4028 4029 return null; 4030}; 4031 4032const DOMContentLoadedCallbacks = []; 4033 4034const onDOMContentLoaded = callback => { 4035 if (document.readyState === 'loading') { 4036 // add listener on the first call when the document is in loading state 4037 if (!DOMContentLoadedCallbacks.length) { 4038 document.addEventListener('DOMContentLoaded', () => { 4039 for (const callback of DOMContentLoadedCallbacks) { 4040 callback(); 4041 } 4042 }); 4043 } 4044 4045 DOMContentLoadedCallbacks.push(callback); 4046 } else { 4047 callback(); 4048 } 4049}; 4050 4051const isRTL = () => document.documentElement.dir === 'rtl'; 4052 4053const defineJQueryPlugin = plugin => { 4054 onDOMContentLoaded(() => { 4055 const $ = getjQuery(); 4056 /* istanbul ignore if */ 4057 4058 if ($) { 4059 const name = plugin.NAME; 4060 const JQUERY_NO_CONFLICT = $.fn[name]; 4061 $.fn[name] = plugin.jQueryInterface; 4062 $.fn[name].Constructor = plugin; 4063 4064 $.fn[name].noConflict = () => { 4065 $.fn[name] = JQUERY_NO_CONFLICT; 4066 return plugin.jQueryInterface; 4067 }; 4068 } 4069 }); 4070}; 4071 4072const execute = callback => { 4073 if (typeof callback === 'function') { 4074 callback(); 4075 } 4076}; 4077 4078const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { 4079 if (!waitForTransition) { 4080 execute(callback); 4081 return; 4082 } 4083 4084 const durationPadding = 5; 4085 const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; 4086 let called = false; 4087 4088 const handler = ({ 4089 target 4090 }) => { 4091 if (target !== transitionElement) { 4092 return; 4093 } 4094 4095 called = true; 4096 transitionElement.removeEventListener(TRANSITION_END, handler); 4097 execute(callback); 4098 }; 4099 4100 transitionElement.addEventListener(TRANSITION_END, handler); 4101 setTimeout(() => { 4102 if (!called) { 4103 triggerTransitionEnd(transitionElement); 4104 } 4105 }, emulatedDuration); 4106}; 4107/** 4108 * Return the previous/next element of a list. 4109 * 4110 * @param {array} list The list of elements 4111 * @param activeElement The active element 4112 * @param shouldGetNext Choose to get next or previous element 4113 * @param isCycleAllowed 4114 * @return {Element|elem} The proper element 4115 */ 4116 4117 4118const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { 4119 const listLength = list.length; 4120 let index = list.indexOf(activeElement); // if the element does not exist in the list return an element 4121 // depending on the direction and if cycle is allowed 4122 4123 if (index === -1) { 4124 return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]; 4125 } 4126 4127 index += shouldGetNext ? 1 : -1; 4128 4129 if (isCycleAllowed) { 4130 index = (index + listLength) % listLength; 4131 } 4132 4133 return list[Math.max(0, Math.min(index, listLength - 1))]; 4134}; 4135 4136/** 4137 * -------------------------------------------------------------------------- 4138 * Bootstrap (v5.2.3): dom/event-handler.js 4139 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4140 * -------------------------------------------------------------------------- 4141 */ 4142/** 4143 * Constants 4144 */ 4145 4146const namespaceRegex = /[^.]*(?=\..*)\.|.*/; 4147const stripNameRegex = /\..*/; 4148const stripUidRegex = /::\d+$/; 4149const eventRegistry = {}; // Events storage 4150 4151let uidEvent = 1; 4152const customEvents = { 4153 mouseenter: 'mouseover', 4154 mouseleave: 'mouseout' 4155}; 4156const 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']); 4157/** 4158 * Private methods 4159 */ 4160 4161function makeEventUid(element, uid) { 4162 return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; 4163} 4164 4165function getElementEvents(element) { 4166 const uid = makeEventUid(element); 4167 element.uidEvent = uid; 4168 eventRegistry[uid] = eventRegistry[uid] || {}; 4169 return eventRegistry[uid]; 4170} 4171 4172function bootstrapHandler(element, fn) { 4173 return function handler(event) { 4174 hydrateObj(event, { 4175 delegateTarget: element 4176 }); 4177 4178 if (handler.oneOff) { 4179 EventHandler.off(element, event.type, fn); 4180 } 4181 4182 return fn.apply(element, [event]); 4183 }; 4184} 4185 4186function bootstrapDelegationHandler(element, selector, fn) { 4187 return function handler(event) { 4188 const domElements = element.querySelectorAll(selector); 4189 4190 for (let { 4191 target 4192 } = event; target && target !== this; target = target.parentNode) { 4193 for (const domElement of domElements) { 4194 if (domElement !== target) { 4195 continue; 4196 } 4197 4198 hydrateObj(event, { 4199 delegateTarget: target 4200 }); 4201 4202 if (handler.oneOff) { 4203 EventHandler.off(element, event.type, selector, fn); 4204 } 4205 4206 return fn.apply(target, [event]); 4207 } 4208 } 4209 }; 4210} 4211 4212function findHandler(events, callable, delegationSelector = null) { 4213 return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector); 4214} 4215 4216function normalizeParameters(originalTypeEvent, handler, delegationFunction) { 4217 const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check 4218 4219 const callable = isDelegated ? delegationFunction : handler || delegationFunction; 4220 let typeEvent = getTypeEvent(originalTypeEvent); 4221 4222 if (!nativeEvents.has(typeEvent)) { 4223 typeEvent = originalTypeEvent; 4224 } 4225 4226 return [isDelegated, callable, typeEvent]; 4227} 4228 4229function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { 4230 if (typeof originalTypeEvent !== 'string' || !element) { 4231 return; 4232 } 4233 4234 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 4235 // this prevents the handler from being dispatched the same way as mouseover or mouseout does 4236 4237 if (originalTypeEvent in customEvents) { 4238 const wrapFunction = fn => { 4239 return function (event) { 4240 if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { 4241 return fn.call(this, event); 4242 } 4243 }; 4244 }; 4245 4246 callable = wrapFunction(callable); 4247 } 4248 4249 const events = getElementEvents(element); 4250 const handlers = events[typeEvent] || (events[typeEvent] = {}); 4251 const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null); 4252 4253 if (previousFunction) { 4254 previousFunction.oneOff = previousFunction.oneOff && oneOff; 4255 return; 4256 } 4257 4258 const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, '')); 4259 const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable); 4260 fn.delegationSelector = isDelegated ? handler : null; 4261 fn.callable = callable; 4262 fn.oneOff = oneOff; 4263 fn.uidEvent = uid; 4264 handlers[uid] = fn; 4265 element.addEventListener(typeEvent, fn, isDelegated); 4266} 4267 4268function removeHandler(element, events, typeEvent, handler, delegationSelector) { 4269 const fn = findHandler(events[typeEvent], handler, delegationSelector); 4270 4271 if (!fn) { 4272 return; 4273 } 4274 4275 element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); 4276 delete events[typeEvent][fn.uidEvent]; 4277} 4278 4279function removeNamespacedHandlers(element, events, typeEvent, namespace) { 4280 const storeElementEvent = events[typeEvent] || {}; 4281 4282 for (const handlerKey of Object.keys(storeElementEvent)) { 4283 if (handlerKey.includes(namespace)) { 4284 const event = storeElementEvent[handlerKey]; 4285 removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); 4286 } 4287 } 4288} 4289 4290function getTypeEvent(event) { 4291 // allow to get the native events from namespaced events ('click.bs.button' --> 'click') 4292 event = event.replace(stripNameRegex, ''); 4293 return customEvents[event] || event; 4294} 4295 4296const EventHandler = { 4297 on(element, event, handler, delegationFunction) { 4298 addHandler(element, event, handler, delegationFunction, false); 4299 }, 4300 4301 one(element, event, handler, delegationFunction) { 4302 addHandler(element, event, handler, delegationFunction, true); 4303 }, 4304 4305 off(element, originalTypeEvent, handler, delegationFunction) { 4306 if (typeof originalTypeEvent !== 'string' || !element) { 4307 return; 4308 } 4309 4310 const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); 4311 const inNamespace = typeEvent !== originalTypeEvent; 4312 const events = getElementEvents(element); 4313 const storeElementEvent = events[typeEvent] || {}; 4314 const isNamespace = originalTypeEvent.startsWith('.'); 4315 4316 if (typeof callable !== 'undefined') { 4317 // Simplest case: handler is passed, remove that listener ONLY. 4318 if (!Object.keys(storeElementEvent).length) { 4319 return; 4320 } 4321 4322 removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null); 4323 return; 4324 } 4325 4326 if (isNamespace) { 4327 for (const elementEvent of Object.keys(events)) { 4328 removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); 4329 } 4330 } 4331 4332 for (const keyHandlers of Object.keys(storeElementEvent)) { 4333 const handlerKey = keyHandlers.replace(stripUidRegex, ''); 4334 4335 if (!inNamespace || originalTypeEvent.includes(handlerKey)) { 4336 const event = storeElementEvent[keyHandlers]; 4337 removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); 4338 } 4339 } 4340 }, 4341 4342 trigger(element, event, args) { 4343 if (typeof event !== 'string' || !element) { 4344 return null; 4345 } 4346 4347 const $ = getjQuery(); 4348 const typeEvent = getTypeEvent(event); 4349 const inNamespace = event !== typeEvent; 4350 let jQueryEvent = null; 4351 let bubbles = true; 4352 let nativeDispatch = true; 4353 let defaultPrevented = false; 4354 4355 if (inNamespace && $) { 4356 jQueryEvent = $.Event(event, args); 4357 $(element).trigger(jQueryEvent); 4358 bubbles = !jQueryEvent.isPropagationStopped(); 4359 nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); 4360 defaultPrevented = jQueryEvent.isDefaultPrevented(); 4361 } 4362 4363 let evt = new Event(event, { 4364 bubbles, 4365 cancelable: true 4366 }); 4367 evt = hydrateObj(evt, args); 4368 4369 if (defaultPrevented) { 4370 evt.preventDefault(); 4371 } 4372 4373 if (nativeDispatch) { 4374 element.dispatchEvent(evt); 4375 } 4376 4377 if (evt.defaultPrevented && jQueryEvent) { 4378 jQueryEvent.preventDefault(); 4379 } 4380 4381 return evt; 4382 } 4383 4384}; 4385 4386function hydrateObj(obj, meta) { 4387 for (const [key, value] of Object.entries(meta || {})) { 4388 try { 4389 obj[key] = value; 4390 } catch (_unused) { 4391 Object.defineProperty(obj, key, { 4392 configurable: true, 4393 4394 get() { 4395 return value; 4396 } 4397 4398 }); 4399 } 4400 } 4401 4402 return obj; 4403} 4404 4405/** 4406 * -------------------------------------------------------------------------- 4407 * Bootstrap (v5.2.3): dom/data.js 4408 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4409 * -------------------------------------------------------------------------- 4410 */ 4411 4412/** 4413 * Constants 4414 */ 4415const elementMap = new Map(); 4416const Data = { 4417 set(element, key, instance) { 4418 if (!elementMap.has(element)) { 4419 elementMap.set(element, new Map()); 4420 } 4421 4422 const instanceMap = elementMap.get(element); // make it clear we only want one instance per element 4423 // can be removed later when multiple key/instances are fine to be used 4424 4425 if (!instanceMap.has(key) && instanceMap.size !== 0) { 4426 // eslint-disable-next-line no-console 4427 console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); 4428 return; 4429 } 4430 4431 instanceMap.set(key, instance); 4432 }, 4433 4434 get(element, key) { 4435 if (elementMap.has(element)) { 4436 return elementMap.get(element).get(key) || null; 4437 } 4438 4439 return null; 4440 }, 4441 4442 remove(element, key) { 4443 if (!elementMap.has(element)) { 4444 return; 4445 } 4446 4447 const instanceMap = elementMap.get(element); 4448 instanceMap.delete(key); // free up element references if there are no instances left for an element 4449 4450 if (instanceMap.size === 0) { 4451 elementMap.delete(element); 4452 } 4453 } 4454 4455}; 4456 4457/** 4458 * -------------------------------------------------------------------------- 4459 * Bootstrap (v5.2.3): dom/manipulator.js 4460 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4461 * -------------------------------------------------------------------------- 4462 */ 4463function normalizeData(value) { 4464 if (value === 'true') { 4465 return true; 4466 } 4467 4468 if (value === 'false') { 4469 return false; 4470 } 4471 4472 if (value === Number(value).toString()) { 4473 return Number(value); 4474 } 4475 4476 if (value === '' || value === 'null') { 4477 return null; 4478 } 4479 4480 if (typeof value !== 'string') { 4481 return value; 4482 } 4483 4484 try { 4485 return JSON.parse(decodeURIComponent(value)); 4486 } catch (_unused) { 4487 return value; 4488 } 4489} 4490 4491function normalizeDataKey(key) { 4492 return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`); 4493} 4494 4495const Manipulator = { 4496 setDataAttribute(element, key, value) { 4497 element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value); 4498 }, 4499 4500 removeDataAttribute(element, key) { 4501 element.removeAttribute(`data-bs-${normalizeDataKey(key)}`); 4502 }, 4503 4504 getDataAttributes(element) { 4505 if (!element) { 4506 return {}; 4507 } 4508 4509 const attributes = {}; 4510 const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig')); 4511 4512 for (const key of bsKeys) { 4513 let pureKey = key.replace(/^bs/, ''); 4514 pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length); 4515 attributes[pureKey] = normalizeData(element.dataset[key]); 4516 } 4517 4518 return attributes; 4519 }, 4520 4521 getDataAttribute(element, key) { 4522 return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`)); 4523 } 4524 4525}; 4526 4527/** 4528 * -------------------------------------------------------------------------- 4529 * Bootstrap (v5.2.3): util/config.js 4530 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4531 * -------------------------------------------------------------------------- 4532 */ 4533/** 4534 * Class definition 4535 */ 4536 4537class Config { 4538 // Getters 4539 static get Default() { 4540 return {}; 4541 } 4542 4543 static get DefaultType() { 4544 return {}; 4545 } 4546 4547 static get NAME() { 4548 throw new Error('You have to implement the static method "NAME", for each component!'); 4549 } 4550 4551 _getConfig(config) { 4552 config = this._mergeConfigObj(config); 4553 config = this._configAfterMerge(config); 4554 4555 this._typeCheckConfig(config); 4556 4557 return config; 4558 } 4559 4560 _configAfterMerge(config) { 4561 return config; 4562 } 4563 4564 _mergeConfigObj(config, element) { 4565 const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse 4566 4567 return { ...this.constructor.Default, 4568 ...(typeof jsonConfig === 'object' ? jsonConfig : {}), 4569 ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}), 4570 ...(typeof config === 'object' ? config : {}) 4571 }; 4572 } 4573 4574 _typeCheckConfig(config, configTypes = this.constructor.DefaultType) { 4575 for (const property of Object.keys(configTypes)) { 4576 const expectedTypes = configTypes[property]; 4577 const value = config[property]; 4578 const valueType = isElement(value) ? 'element' : toType(value); 4579 4580 if (!new RegExp(expectedTypes).test(valueType)) { 4581 throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); 4582 } 4583 } 4584 } 4585 4586} 4587 4588/** 4589 * -------------------------------------------------------------------------- 4590 * Bootstrap (v5.2.3): base-component.js 4591 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4592 * -------------------------------------------------------------------------- 4593 */ 4594/** 4595 * Constants 4596 */ 4597 4598const VERSION = '5.2.3'; 4599/** 4600 * Class definition 4601 */ 4602 4603class BaseComponent extends Config { 4604 constructor(element, config) { 4605 super(); 4606 element = getElement(element); 4607 4608 if (!element) { 4609 return; 4610 } 4611 4612 this._element = element; 4613 this._config = this._getConfig(config); 4614 Data.set(this._element, this.constructor.DATA_KEY, this); 4615 } // Public 4616 4617 4618 dispose() { 4619 Data.remove(this._element, this.constructor.DATA_KEY); 4620 EventHandler.off(this._element, this.constructor.EVENT_KEY); 4621 4622 for (const propertyName of Object.getOwnPropertyNames(this)) { 4623 this[propertyName] = null; 4624 } 4625 } 4626 4627 _queueCallback(callback, element, isAnimated = true) { 4628 executeAfterTransition(callback, element, isAnimated); 4629 } 4630 4631 _getConfig(config) { 4632 config = this._mergeConfigObj(config, this._element); 4633 config = this._configAfterMerge(config); 4634 4635 this._typeCheckConfig(config); 4636 4637 return config; 4638 } // Static 4639 4640 4641 static getInstance(element) { 4642 return Data.get(getElement(element), this.DATA_KEY); 4643 } 4644 4645 static getOrCreateInstance(element, config = {}) { 4646 return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null); 4647 } 4648 4649 static get VERSION() { 4650 return VERSION; 4651 } 4652 4653 static get DATA_KEY() { 4654 return `bs.${this.NAME}`; 4655 } 4656 4657 static get EVENT_KEY() { 4658 return `.${this.DATA_KEY}`; 4659 } 4660 4661 static eventName(name) { 4662 return `${name}${this.EVENT_KEY}`; 4663 } 4664 4665} 4666 4667/** 4668 * -------------------------------------------------------------------------- 4669 * Bootstrap (v5.2.3): util/component-functions.js 4670 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4671 * -------------------------------------------------------------------------- 4672 */ 4673 4674const enableDismissTrigger = (component, method = 'hide') => { 4675 const clickEvent = `click.dismiss${component.EVENT_KEY}`; 4676 const name = component.NAME; 4677 EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { 4678 if (['A', 'AREA'].includes(this.tagName)) { 4679 event.preventDefault(); 4680 } 4681 4682 if (isDisabled(this)) { 4683 return; 4684 } 4685 4686 const target = getElementFromSelector(this) || this.closest(`.${name}`); 4687 const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method 4688 4689 instance[method](); 4690 }); 4691}; 4692 4693/** 4694 * -------------------------------------------------------------------------- 4695 * Bootstrap (v5.2.3): alert.js 4696 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4697 * -------------------------------------------------------------------------- 4698 */ 4699/** 4700 * Constants 4701 */ 4702 4703const NAME$f = 'alert'; 4704const DATA_KEY$a = 'bs.alert'; 4705const EVENT_KEY$b = `.${DATA_KEY$a}`; 4706const EVENT_CLOSE = `close${EVENT_KEY$b}`; 4707const EVENT_CLOSED = `closed${EVENT_KEY$b}`; 4708const CLASS_NAME_FADE$5 = 'fade'; 4709const CLASS_NAME_SHOW$8 = 'show'; 4710/** 4711 * Class definition 4712 */ 4713 4714class Alert extends BaseComponent { 4715 // Getters 4716 static get NAME() { 4717 return NAME$f; 4718 } // Public 4719 4720 4721 close() { 4722 const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); 4723 4724 if (closeEvent.defaultPrevented) { 4725 return; 4726 } 4727 4728 this._element.classList.remove(CLASS_NAME_SHOW$8); 4729 4730 const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); 4731 4732 this._queueCallback(() => this._destroyElement(), this._element, isAnimated); 4733 } // Private 4734 4735 4736 _destroyElement() { 4737 this._element.remove(); 4738 4739 EventHandler.trigger(this._element, EVENT_CLOSED); 4740 this.dispose(); 4741 } // Static 4742 4743 4744 static jQueryInterface(config) { 4745 return this.each(function () { 4746 const data = Alert.getOrCreateInstance(this); 4747 4748 if (typeof config !== 'string') { 4749 return; 4750 } 4751 4752 if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { 4753 throw new TypeError(`No method named "${config}"`); 4754 } 4755 4756 data[config](this); 4757 }); 4758 } 4759 4760} 4761/** 4762 * Data API implementation 4763 */ 4764 4765 4766enableDismissTrigger(Alert, 'close'); 4767/** 4768 * jQuery 4769 */ 4770 4771defineJQueryPlugin(Alert); 4772 4773/** 4774 * -------------------------------------------------------------------------- 4775 * Bootstrap (v5.2.3): button.js 4776 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4777 * -------------------------------------------------------------------------- 4778 */ 4779/** 4780 * Constants 4781 */ 4782 4783const NAME$e = 'button'; 4784const DATA_KEY$9 = 'bs.button'; 4785const EVENT_KEY$a = `.${DATA_KEY$9}`; 4786const DATA_API_KEY$6 = '.data-api'; 4787const CLASS_NAME_ACTIVE$3 = 'active'; 4788const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]'; 4789const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; 4790/** 4791 * Class definition 4792 */ 4793 4794class Button extends BaseComponent { 4795 // Getters 4796 static get NAME() { 4797 return NAME$e; 4798 } // Public 4799 4800 4801 toggle() { 4802 // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method 4803 this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3)); 4804 } // Static 4805 4806 4807 static jQueryInterface(config) { 4808 return this.each(function () { 4809 const data = Button.getOrCreateInstance(this); 4810 4811 if (config === 'toggle') { 4812 data[config](); 4813 } 4814 }); 4815 } 4816 4817} 4818/** 4819 * Data API implementation 4820 */ 4821 4822 4823EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => { 4824 event.preventDefault(); 4825 const button = event.target.closest(SELECTOR_DATA_TOGGLE$5); 4826 const data = Button.getOrCreateInstance(button); 4827 data.toggle(); 4828}); 4829/** 4830 * jQuery 4831 */ 4832 4833defineJQueryPlugin(Button); 4834 4835/** 4836 * -------------------------------------------------------------------------- 4837 * Bootstrap (v5.2.3): dom/selector-engine.js 4838 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4839 * -------------------------------------------------------------------------- 4840 */ 4841/** 4842 * Constants 4843 */ 4844 4845const SelectorEngine = { 4846 find(selector, element = document.documentElement) { 4847 return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); 4848 }, 4849 4850 findOne(selector, element = document.documentElement) { 4851 return Element.prototype.querySelector.call(element, selector); 4852 }, 4853 4854 children(element, selector) { 4855 return [].concat(...element.children).filter(child => child.matches(selector)); 4856 }, 4857 4858 parents(element, selector) { 4859 const parents = []; 4860 let ancestor = element.parentNode.closest(selector); 4861 4862 while (ancestor) { 4863 parents.push(ancestor); 4864 ancestor = ancestor.parentNode.closest(selector); 4865 } 4866 4867 return parents; 4868 }, 4869 4870 prev(element, selector) { 4871 let previous = element.previousElementSibling; 4872 4873 while (previous) { 4874 if (previous.matches(selector)) { 4875 return [previous]; 4876 } 4877 4878 previous = previous.previousElementSibling; 4879 } 4880 4881 return []; 4882 }, 4883 4884 // TODO: this is now unused; remove later along with prev() 4885 next(element, selector) { 4886 let next = element.nextElementSibling; 4887 4888 while (next) { 4889 if (next.matches(selector)) { 4890 return [next]; 4891 } 4892 4893 next = next.nextElementSibling; 4894 } 4895 4896 return []; 4897 }, 4898 4899 focusableChildren(element) { 4900 const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(','); 4901 return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el)); 4902 } 4903 4904}; 4905 4906/** 4907 * -------------------------------------------------------------------------- 4908 * Bootstrap (v5.2.3): util/swipe.js 4909 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4910 * -------------------------------------------------------------------------- 4911 */ 4912/** 4913 * Constants 4914 */ 4915 4916const NAME$d = 'swipe'; 4917const EVENT_KEY$9 = '.bs.swipe'; 4918const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`; 4919const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`; 4920const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`; 4921const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`; 4922const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`; 4923const POINTER_TYPE_TOUCH = 'touch'; 4924const POINTER_TYPE_PEN = 'pen'; 4925const CLASS_NAME_POINTER_EVENT = 'pointer-event'; 4926const SWIPE_THRESHOLD = 40; 4927const Default$c = { 4928 endCallback: null, 4929 leftCallback: null, 4930 rightCallback: null 4931}; 4932const DefaultType$c = { 4933 endCallback: '(function|null)', 4934 leftCallback: '(function|null)', 4935 rightCallback: '(function|null)' 4936}; 4937/** 4938 * Class definition 4939 */ 4940 4941class Swipe extends Config { 4942 constructor(element, config) { 4943 super(); 4944 this._element = element; 4945 4946 if (!element || !Swipe.isSupported()) { 4947 return; 4948 } 4949 4950 this._config = this._getConfig(config); 4951 this._deltaX = 0; 4952 this._supportPointerEvents = Boolean(window.PointerEvent); 4953 4954 this._initEvents(); 4955 } // Getters 4956 4957 4958 static get Default() { 4959 return Default$c; 4960 } 4961 4962 static get DefaultType() { 4963 return DefaultType$c; 4964 } 4965 4966 static get NAME() { 4967 return NAME$d; 4968 } // Public 4969 4970 4971 dispose() { 4972 EventHandler.off(this._element, EVENT_KEY$9); 4973 } // Private 4974 4975 4976 _start(event) { 4977 if (!this._supportPointerEvents) { 4978 this._deltaX = event.touches[0].clientX; 4979 return; 4980 } 4981 4982 if (this._eventIsPointerPenTouch(event)) { 4983 this._deltaX = event.clientX; 4984 } 4985 } 4986 4987 _end(event) { 4988 if (this._eventIsPointerPenTouch(event)) { 4989 this._deltaX = event.clientX - this._deltaX; 4990 } 4991 4992 this._handleSwipe(); 4993 4994 execute(this._config.endCallback); 4995 } 4996 4997 _move(event) { 4998 this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX; 4999 } 5000 5001 _handleSwipe() { 5002 const absDeltaX = Math.abs(this._deltaX); 5003 5004 if (absDeltaX <= SWIPE_THRESHOLD) { 5005 return; 5006 } 5007 5008 const direction = absDeltaX / this._deltaX; 5009 this._deltaX = 0; 5010 5011 if (!direction) { 5012 return; 5013 } 5014 5015 execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback); 5016 } 5017 5018 _initEvents() { 5019 if (this._supportPointerEvents) { 5020 EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event)); 5021 EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event)); 5022 5023 this._element.classList.add(CLASS_NAME_POINTER_EVENT); 5024 } else { 5025 EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event)); 5026 EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event)); 5027 EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event)); 5028 } 5029 } 5030 5031 _eventIsPointerPenTouch(event) { 5032 return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); 5033 } // Static 5034 5035 5036 static isSupported() { 5037 return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; 5038 } 5039 5040} 5041 5042/** 5043 * -------------------------------------------------------------------------- 5044 * Bootstrap (v5.2.3): carousel.js 5045 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5046 * -------------------------------------------------------------------------- 5047 */ 5048/** 5049 * Constants 5050 */ 5051 5052const NAME$c = 'carousel'; 5053const DATA_KEY$8 = 'bs.carousel'; 5054const EVENT_KEY$8 = `.${DATA_KEY$8}`; 5055const DATA_API_KEY$5 = '.data-api'; 5056const ARROW_LEFT_KEY$1 = 'ArrowLeft'; 5057const ARROW_RIGHT_KEY$1 = 'ArrowRight'; 5058const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch 5059 5060const ORDER_NEXT = 'next'; 5061const ORDER_PREV = 'prev'; 5062const DIRECTION_LEFT = 'left'; 5063const DIRECTION_RIGHT = 'right'; 5064const EVENT_SLIDE = `slide${EVENT_KEY$8}`; 5065const EVENT_SLID = `slid${EVENT_KEY$8}`; 5066const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`; 5067const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`; 5068const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`; 5069const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`; 5070const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`; 5071const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`; 5072const CLASS_NAME_CAROUSEL = 'carousel'; 5073const CLASS_NAME_ACTIVE$2 = 'active'; 5074const CLASS_NAME_SLIDE = 'slide'; 5075const CLASS_NAME_END = 'carousel-item-end'; 5076const CLASS_NAME_START = 'carousel-item-start'; 5077const CLASS_NAME_NEXT = 'carousel-item-next'; 5078const CLASS_NAME_PREV = 'carousel-item-prev'; 5079const SELECTOR_ACTIVE = '.active'; 5080const SELECTOR_ITEM = '.carousel-item'; 5081const SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM; 5082const SELECTOR_ITEM_IMG = '.carousel-item img'; 5083const SELECTOR_INDICATORS = '.carousel-indicators'; 5084const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'; 5085const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]'; 5086const KEY_TO_DIRECTION = { 5087 [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT, 5088 [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT 5089}; 5090const Default$b = { 5091 interval: 5000, 5092 keyboard: true, 5093 pause: 'hover', 5094 ride: false, 5095 touch: true, 5096 wrap: true 5097}; 5098const DefaultType$b = { 5099 interval: '(number|boolean)', 5100 // TODO:v6 remove boolean support 5101 keyboard: 'boolean', 5102 pause: '(string|boolean)', 5103 ride: '(boolean|string)', 5104 touch: 'boolean', 5105 wrap: 'boolean' 5106}; 5107/** 5108 * Class definition 5109 */ 5110 5111class Carousel extends BaseComponent { 5112 constructor(element, config) { 5113 super(element, config); 5114 this._interval = null; 5115 this._activeElement = null; 5116 this._isSliding = false; 5117 this.touchTimeout = null; 5118 this._swipeHelper = null; 5119 this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); 5120 5121 this._addEventListeners(); 5122 5123 if (this._config.ride === CLASS_NAME_CAROUSEL) { 5124 this.cycle(); 5125 } 5126 } // Getters 5127 5128 5129 static get Default() { 5130 return Default$b; 5131 } 5132 5133 static get DefaultType() { 5134 return DefaultType$b; 5135 } 5136 5137 static get NAME() { 5138 return NAME$c; 5139 } // Public 5140 5141 5142 next() { 5143 this._slide(ORDER_NEXT); 5144 } 5145 5146 nextWhenVisible() { 5147 // FIXME TODO use `document.visibilityState` 5148 // Don't call next when the page isn't visible 5149 // or the carousel or its parent isn't visible 5150 if (!document.hidden && isVisible(this._element)) { 5151 this.next(); 5152 } 5153 } 5154 5155 prev() { 5156 this._slide(ORDER_PREV); 5157 } 5158 5159 pause() { 5160 if (this._isSliding) { 5161 triggerTransitionEnd(this._element); 5162 } 5163 5164 this._clearInterval(); 5165 } 5166 5167 cycle() { 5168 this._clearInterval(); 5169 5170 this._updateInterval(); 5171 5172 this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval); 5173 } 5174 5175 _maybeEnableCycle() { 5176 if (!this._config.ride) { 5177 return; 5178 } 5179 5180 if (this._isSliding) { 5181 EventHandler.one(this._element, EVENT_SLID, () => this.cycle()); 5182 return; 5183 } 5184 5185 this.cycle(); 5186 } 5187 5188 to(index) { 5189 const items = this._getItems(); 5190 5191 if (index > items.length - 1 || index < 0) { 5192 return; 5193 } 5194 5195 if (this._isSliding) { 5196 EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); 5197 return; 5198 } 5199 5200 const activeIndex = this._getItemIndex(this._getActive()); 5201 5202 if (activeIndex === index) { 5203 return; 5204 } 5205 5206 const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV; 5207 5208 this._slide(order, items[index]); 5209 } 5210 5211 dispose() { 5212 if (this._swipeHelper) { 5213 this._swipeHelper.dispose(); 5214 } 5215 5216 super.dispose(); 5217 } // Private 5218 5219 5220 _configAfterMerge(config) { 5221 config.defaultInterval = config.interval; 5222 return config; 5223 } 5224 5225 _addEventListeners() { 5226 if (this._config.keyboard) { 5227 EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event)); 5228 } 5229 5230 if (this._config.pause === 'hover') { 5231 EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause()); 5232 EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle()); 5233 } 5234 5235 if (this._config.touch && Swipe.isSupported()) { 5236 this._addTouchEventListeners(); 5237 } 5238 } 5239 5240 _addTouchEventListeners() { 5241 for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) { 5242 EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault()); 5243 } 5244 5245 const endCallBack = () => { 5246 if (this._config.pause !== 'hover') { 5247 return; 5248 } // If it's a touch-enabled device, mouseenter/leave are fired as 5249 // part of the mouse compatibility events on first tap - the carousel 5250 // would stop cycling until user tapped out of it; 5251 // here, we listen for touchend, explicitly pause the carousel 5252 // (as if it's the second time we tap on it, mouseenter compat event 5253 // is NOT fired) and after a timeout (to allow for mouse compatibility 5254 // events to fire) we explicitly restart cycling 5255 5256 5257 this.pause(); 5258 5259 if (this.touchTimeout) { 5260 clearTimeout(this.touchTimeout); 5261 } 5262 5263 this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval); 5264 }; 5265 5266 const swipeConfig = { 5267 leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)), 5268 rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)), 5269 endCallback: endCallBack 5270 }; 5271 this._swipeHelper = new Swipe(this._element, swipeConfig); 5272 } 5273 5274 _keydown(event) { 5275 if (/input|textarea/i.test(event.target.tagName)) { 5276 return; 5277 } 5278 5279 const direction = KEY_TO_DIRECTION[event.key]; 5280 5281 if (direction) { 5282 event.preventDefault(); 5283 5284 this._slide(this._directionToOrder(direction)); 5285 } 5286 } 5287 5288 _getItemIndex(element) { 5289 return this._getItems().indexOf(element); 5290 } 5291 5292 _setActiveIndicatorElement(index) { 5293 if (!this._indicatorsElement) { 5294 return; 5295 } 5296 5297 const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement); 5298 activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); 5299 activeIndicator.removeAttribute('aria-current'); 5300 const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement); 5301 5302 if (newActiveIndicator) { 5303 newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2); 5304 newActiveIndicator.setAttribute('aria-current', 'true'); 5305 } 5306 } 5307 5308 _updateInterval() { 5309 const element = this._activeElement || this._getActive(); 5310 5311 if (!element) { 5312 return; 5313 } 5314 5315 const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10); 5316 this._config.interval = elementInterval || this._config.defaultInterval; 5317 } 5318 5319 _slide(order, element = null) { 5320 if (this._isSliding) { 5321 return; 5322 } 5323 5324 const activeElement = this._getActive(); 5325 5326 const isNext = order === ORDER_NEXT; 5327 const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap); 5328 5329 if (nextElement === activeElement) { 5330 return; 5331 } 5332 5333 const nextElementIndex = this._getItemIndex(nextElement); 5334 5335 const triggerEvent = eventName => { 5336 return EventHandler.trigger(this._element, eventName, { 5337 relatedTarget: nextElement, 5338 direction: this._orderToDirection(order), 5339 from: this._getItemIndex(activeElement), 5340 to: nextElementIndex 5341 }); 5342 }; 5343 5344 const slideEvent = triggerEvent(EVENT_SLIDE); 5345 5346 if (slideEvent.defaultPrevented) { 5347 return; 5348 } 5349 5350 if (!activeElement || !nextElement) { 5351 // Some weirdness is happening, so we bail 5352 // todo: change tests that use empty divs to avoid this check 5353 return; 5354 } 5355 5356 const isCycling = Boolean(this._interval); 5357 this.pause(); 5358 this._isSliding = true; 5359 5360 this._setActiveIndicatorElement(nextElementIndex); 5361 5362 this._activeElement = nextElement; 5363 const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; 5364 const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; 5365 nextElement.classList.add(orderClassName); 5366 reflow(nextElement); 5367 activeElement.classList.add(directionalClassName); 5368 nextElement.classList.add(directionalClassName); 5369 5370 const completeCallBack = () => { 5371 nextElement.classList.remove(directionalClassName, orderClassName); 5372 nextElement.classList.add(CLASS_NAME_ACTIVE$2); 5373 activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); 5374 this._isSliding = false; 5375 triggerEvent(EVENT_SLID); 5376 }; 5377 5378 this._queueCallback(completeCallBack, activeElement, this._isAnimated()); 5379 5380 if (isCycling) { 5381 this.cycle(); 5382 } 5383 } 5384 5385 _isAnimated() { 5386 return this._element.classList.contains(CLASS_NAME_SLIDE); 5387 } 5388 5389 _getActive() { 5390 return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); 5391 } 5392 5393 _getItems() { 5394 return SelectorEngine.find(SELECTOR_ITEM, this._element); 5395 } 5396 5397 _clearInterval() { 5398 if (this._interval) { 5399 clearInterval(this._interval); 5400 this._interval = null; 5401 } 5402 } 5403 5404 _directionToOrder(direction) { 5405 if (isRTL()) { 5406 return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; 5407 } 5408 5409 return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; 5410 } 5411 5412 _orderToDirection(order) { 5413 if (isRTL()) { 5414 return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; 5415 } 5416 5417 return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; 5418 } // Static 5419 5420 5421 static jQueryInterface(config) { 5422 return this.each(function () { 5423 const data = Carousel.getOrCreateInstance(this, config); 5424 5425 if (typeof config === 'number') { 5426 data.to(config); 5427 return; 5428 } 5429 5430 if (typeof config === 'string') { 5431 if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { 5432 throw new TypeError(`No method named "${config}"`); 5433 } 5434 5435 data[config](); 5436 } 5437 }); 5438 } 5439 5440} 5441/** 5442 * Data API implementation 5443 */ 5444 5445 5446EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) { 5447 const target = getElementFromSelector(this); 5448 5449 if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { 5450 return; 5451 } 5452 5453 event.preventDefault(); 5454 const carousel = Carousel.getOrCreateInstance(target); 5455 const slideIndex = this.getAttribute('data-bs-slide-to'); 5456 5457 if (slideIndex) { 5458 carousel.to(slideIndex); 5459 5460 carousel._maybeEnableCycle(); 5461 5462 return; 5463 } 5464 5465 if (Manipulator.getDataAttribute(this, 'slide') === 'next') { 5466 carousel.next(); 5467 5468 carousel._maybeEnableCycle(); 5469 5470 return; 5471 } 5472 5473 carousel.prev(); 5474 5475 carousel._maybeEnableCycle(); 5476}); 5477EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => { 5478 const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); 5479 5480 for (const carousel of carousels) { 5481 Carousel.getOrCreateInstance(carousel); 5482 } 5483}); 5484/** 5485 * jQuery 5486 */ 5487 5488defineJQueryPlugin(Carousel); 5489 5490/** 5491 * -------------------------------------------------------------------------- 5492 * Bootstrap (v5.2.3): collapse.js 5493 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5494 * -------------------------------------------------------------------------- 5495 */ 5496/** 5497 * Constants 5498 */ 5499 5500const NAME$b = 'collapse'; 5501const DATA_KEY$7 = 'bs.collapse'; 5502const EVENT_KEY$7 = `.${DATA_KEY$7}`; 5503const DATA_API_KEY$4 = '.data-api'; 5504const EVENT_SHOW$6 = `show${EVENT_KEY$7}`; 5505const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`; 5506const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`; 5507const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`; 5508const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`; 5509const CLASS_NAME_SHOW$7 = 'show'; 5510const CLASS_NAME_COLLAPSE = 'collapse'; 5511const CLASS_NAME_COLLAPSING = 'collapsing'; 5512const CLASS_NAME_COLLAPSED = 'collapsed'; 5513const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; 5514const CLASS_NAME_HORIZONTAL = 'collapse-horizontal'; 5515const WIDTH = 'width'; 5516const HEIGHT = 'height'; 5517const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; 5518const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; 5519const Default$a = { 5520 parent: null, 5521 toggle: true 5522}; 5523const DefaultType$a = { 5524 parent: '(null|element)', 5525 toggle: 'boolean' 5526}; 5527/** 5528 * Class definition 5529 */ 5530 5531class Collapse extends BaseComponent { 5532 constructor(element, config) { 5533 super(element, config); 5534 this._isTransitioning = false; 5535 this._triggerArray = []; 5536 const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); 5537 5538 for (const elem of toggleList) { 5539 const selector = getSelectorFromElement(elem); 5540 const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element); 5541 5542 if (selector !== null && filterElement.length) { 5543 this._triggerArray.push(elem); 5544 } 5545 } 5546 5547 this._initializeChildren(); 5548 5549 if (!this._config.parent) { 5550 this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); 5551 } 5552 5553 if (this._config.toggle) { 5554 this.toggle(); 5555 } 5556 } // Getters 5557 5558 5559 static get Default() { 5560 return Default$a; 5561 } 5562 5563 static get DefaultType() { 5564 return DefaultType$a; 5565 } 5566 5567 static get NAME() { 5568 return NAME$b; 5569 } // Public 5570 5571 5572 toggle() { 5573 if (this._isShown()) { 5574 this.hide(); 5575 } else { 5576 this.show(); 5577 } 5578 } 5579 5580 show() { 5581 if (this._isTransitioning || this._isShown()) { 5582 return; 5583 } 5584 5585 let activeChildren = []; // find active children 5586 5587 if (this._config.parent) { 5588 activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, { 5589 toggle: false 5590 })); 5591 } 5592 5593 if (activeChildren.length && activeChildren[0]._isTransitioning) { 5594 return; 5595 } 5596 5597 const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); 5598 5599 if (startEvent.defaultPrevented) { 5600 return; 5601 } 5602 5603 for (const activeInstance of activeChildren) { 5604 activeInstance.hide(); 5605 } 5606 5607 const dimension = this._getDimension(); 5608 5609 this._element.classList.remove(CLASS_NAME_COLLAPSE); 5610 5611 this._element.classList.add(CLASS_NAME_COLLAPSING); 5612 5613 this._element.style[dimension] = 0; 5614 5615 this._addAriaAndCollapsedClass(this._triggerArray, true); 5616 5617 this._isTransitioning = true; 5618 5619 const complete = () => { 5620 this._isTransitioning = false; 5621 5622 this._element.classList.remove(CLASS_NAME_COLLAPSING); 5623 5624 this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); 5625 5626 this._element.style[dimension] = ''; 5627 EventHandler.trigger(this._element, EVENT_SHOWN$6); 5628 }; 5629 5630 const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); 5631 const scrollSize = `scroll${capitalizedDimension}`; 5632 5633 this._queueCallback(complete, this._element, true); 5634 5635 this._element.style[dimension] = `${this._element[scrollSize]}px`; 5636 } 5637 5638 hide() { 5639 if (this._isTransitioning || !this._isShown()) { 5640 return; 5641 } 5642 5643 const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); 5644 5645 if (startEvent.defaultPrevented) { 5646 return; 5647 } 5648 5649 const dimension = this._getDimension(); 5650 5651 this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; 5652 reflow(this._element); 5653 5654 this._element.classList.add(CLASS_NAME_COLLAPSING); 5655 5656 this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); 5657 5658 for (const trigger of this._triggerArray) { 5659 const element = getElementFromSelector(trigger); 5660 5661 if (element && !this._isShown(element)) { 5662 this._addAriaAndCollapsedClass([trigger], false); 5663 } 5664 } 5665 5666 this._isTransitioning = true; 5667 5668 const complete = () => { 5669 this._isTransitioning = false; 5670 5671 this._element.classList.remove(CLASS_NAME_COLLAPSING); 5672 5673 this._element.classList.add(CLASS_NAME_COLLAPSE); 5674 5675 EventHandler.trigger(this._element, EVENT_HIDDEN$6); 5676 }; 5677 5678 this._element.style[dimension] = ''; 5679 5680 this._queueCallback(complete, this._element, true); 5681 } 5682 5683 _isShown(element = this._element) { 5684 return element.classList.contains(CLASS_NAME_SHOW$7); 5685 } // Private 5686 5687 5688 _configAfterMerge(config) { 5689 config.toggle = Boolean(config.toggle); // Coerce string values 5690 5691 config.parent = getElement(config.parent); 5692 return config; 5693 } 5694 5695 _getDimension() { 5696 return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; 5697 } 5698 5699 _initializeChildren() { 5700 if (!this._config.parent) { 5701 return; 5702 } 5703 5704 const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4); 5705 5706 for (const element of children) { 5707 const selected = getElementFromSelector(element); 5708 5709 if (selected) { 5710 this._addAriaAndCollapsedClass([element], this._isShown(selected)); 5711 } 5712 } 5713 } 5714 5715 _getFirstLevelChildren(selector) { 5716 const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); // remove children if greater depth 5717 5718 return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element)); 5719 } 5720 5721 _addAriaAndCollapsedClass(triggerArray, isOpen) { 5722 if (!triggerArray.length) { 5723 return; 5724 } 5725 5726 for (const element of triggerArray) { 5727 element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen); 5728 element.setAttribute('aria-expanded', isOpen); 5729 } 5730 } // Static 5731 5732 5733 static jQueryInterface(config) { 5734 const _config = {}; 5735 5736 if (typeof config === 'string' && /show|hide/.test(config)) { 5737 _config.toggle = false; 5738 } 5739 5740 return this.each(function () { 5741 const data = Collapse.getOrCreateInstance(this, _config); 5742 5743 if (typeof config === 'string') { 5744 if (typeof data[config] === 'undefined') { 5745 throw new TypeError(`No method named "${config}"`); 5746 } 5747 5748 data[config](); 5749 } 5750 }); 5751 } 5752 5753} 5754/** 5755 * Data API implementation 5756 */ 5757 5758 5759EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) { 5760 // preventDefault only for <a> elements (which change the URL) not inside the collapsible element 5761 if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') { 5762 event.preventDefault(); 5763 } 5764 5765 const selector = getSelectorFromElement(this); 5766 const selectorElements = SelectorEngine.find(selector); 5767 5768 for (const element of selectorElements) { 5769 Collapse.getOrCreateInstance(element, { 5770 toggle: false 5771 }).toggle(); 5772 } 5773}); 5774/** 5775 * jQuery 5776 */ 5777 5778defineJQueryPlugin(Collapse); 5779 5780/** 5781 * -------------------------------------------------------------------------- 5782 * Bootstrap (v5.2.3): dropdown.js 5783 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5784 * -------------------------------------------------------------------------- 5785 */ 5786/** 5787 * Constants 5788 */ 5789 5790const NAME$a = 'dropdown'; 5791const DATA_KEY$6 = 'bs.dropdown'; 5792const EVENT_KEY$6 = `.${DATA_KEY$6}`; 5793const DATA_API_KEY$3 = '.data-api'; 5794const ESCAPE_KEY$2 = 'Escape'; 5795const TAB_KEY$1 = 'Tab'; 5796const ARROW_UP_KEY$1 = 'ArrowUp'; 5797const ARROW_DOWN_KEY$1 = 'ArrowDown'; 5798const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button 5799 5800const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`; 5801const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`; 5802const EVENT_SHOW$5 = `show${EVENT_KEY$6}`; 5803const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`; 5804const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; 5805const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`; 5806const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`; 5807const CLASS_NAME_SHOW$6 = 'show'; 5808const CLASS_NAME_DROPUP = 'dropup'; 5809const CLASS_NAME_DROPEND = 'dropend'; 5810const CLASS_NAME_DROPSTART = 'dropstart'; 5811const CLASS_NAME_DROPUP_CENTER = 'dropup-center'; 5812const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'; 5813const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)'; 5814const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`; 5815const SELECTOR_MENU = '.dropdown-menu'; 5816const SELECTOR_NAVBAR = '.navbar'; 5817const SELECTOR_NAVBAR_NAV = '.navbar-nav'; 5818const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; 5819const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'; 5820const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'; 5821const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'; 5822const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'; 5823const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'; 5824const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'; 5825const PLACEMENT_TOPCENTER = 'top'; 5826const PLACEMENT_BOTTOMCENTER = 'bottom'; 5827const Default$9 = { 5828 autoClose: true, 5829 boundary: 'clippingParents', 5830 display: 'dynamic', 5831 offset: [0, 2], 5832 popperConfig: null, 5833 reference: 'toggle' 5834}; 5835const DefaultType$9 = { 5836 autoClose: '(boolean|string)', 5837 boundary: '(string|element)', 5838 display: 'string', 5839 offset: '(array|string|function)', 5840 popperConfig: '(null|object|function)', 5841 reference: '(string|element|object)' 5842}; 5843/** 5844 * Class definition 5845 */ 5846 5847class Dropdown extends BaseComponent { 5848 constructor(element, config) { 5849 super(element, config); 5850 this._popper = null; 5851 this._parent = this._element.parentNode; // dropdown wrapper 5852 // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/ 5853 5854 this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); 5855 this._inNavbar = this._detectNavbar(); 5856 } // Getters 5857 5858 5859 static get Default() { 5860 return Default$9; 5861 } 5862 5863 static get DefaultType() { 5864 return DefaultType$9; 5865 } 5866 5867 static get NAME() { 5868 return NAME$a; 5869 } // Public 5870 5871 5872 toggle() { 5873 return this._isShown() ? this.hide() : this.show(); 5874 } 5875 5876 show() { 5877 if (isDisabled(this._element) || this._isShown()) { 5878 return; 5879 } 5880 5881 const relatedTarget = { 5882 relatedTarget: this._element 5883 }; 5884 const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget); 5885 5886 if (showEvent.defaultPrevented) { 5887 return; 5888 } 5889 5890 this._createPopper(); // If this is a touch-enabled device we add extra 5891 // empty mouseover listeners to the body's immediate children; 5892 // only needed because of broken event delegation on iOS 5893 // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html 5894 5895 5896 if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) { 5897 for (const element of [].concat(...document.body.children)) { 5898 EventHandler.on(element, 'mouseover', noop); 5899 } 5900 } 5901 5902 this._element.focus(); 5903 5904 this._element.setAttribute('aria-expanded', true); 5905 5906 this._menu.classList.add(CLASS_NAME_SHOW$6); 5907 5908 this._element.classList.add(CLASS_NAME_SHOW$6); 5909 5910 EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget); 5911 } 5912 5913 hide() { 5914 if (isDisabled(this._element) || !this._isShown()) { 5915 return; 5916 } 5917 5918 const relatedTarget = { 5919 relatedTarget: this._element 5920 }; 5921 5922 this._completeHide(relatedTarget); 5923 } 5924 5925 dispose() { 5926 if (this._popper) { 5927 this._popper.destroy(); 5928 } 5929 5930 super.dispose(); 5931 } 5932 5933 update() { 5934 this._inNavbar = this._detectNavbar(); 5935 5936 if (this._popper) { 5937 this._popper.update(); 5938 } 5939 } // Private 5940 5941 5942 _completeHide(relatedTarget) { 5943 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget); 5944 5945 if (hideEvent.defaultPrevented) { 5946 return; 5947 } // If this is a touch-enabled device we remove the extra 5948 // empty mouseover listeners we added for iOS support 5949 5950 5951 if ('ontouchstart' in document.documentElement) { 5952 for (const element of [].concat(...document.body.children)) { 5953 EventHandler.off(element, 'mouseover', noop); 5954 } 5955 } 5956 5957 if (this._popper) { 5958 this._popper.destroy(); 5959 } 5960 5961 this._menu.classList.remove(CLASS_NAME_SHOW$6); 5962 5963 this._element.classList.remove(CLASS_NAME_SHOW$6); 5964 5965 this._element.setAttribute('aria-expanded', 'false'); 5966 5967 Manipulator.removeDataAttribute(this._menu, 'popper'); 5968 EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget); 5969 } 5970 5971 _getConfig(config) { 5972 config = super._getConfig(config); 5973 5974 if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') { 5975 // Popper virtual elements require a getBoundingClientRect method 5976 throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); 5977 } 5978 5979 return config; 5980 } 5981 5982 _createPopper() { 5983 if (typeof _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ === 'undefined') { 5984 throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); 5985 } 5986 5987 let referenceElement = this._element; 5988 5989 if (this._config.reference === 'parent') { 5990 referenceElement = this._parent; 5991 } else if (isElement(this._config.reference)) { 5992 referenceElement = getElement(this._config.reference); 5993 } else if (typeof this._config.reference === 'object') { 5994 referenceElement = this._config.reference; 5995 } 5996 5997 const popperConfig = this._getPopperConfig(); 5998 5999 this._popper = _popperjs_core__WEBPACK_IMPORTED_MODULE_1__.createPopper(referenceElement, this._menu, popperConfig); 6000 } 6001 6002 _isShown() { 6003 return this._menu.classList.contains(CLASS_NAME_SHOW$6); 6004 } 6005 6006 _getPlacement() { 6007 const parentDropdown = this._parent; 6008 6009 if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { 6010 return PLACEMENT_RIGHT; 6011 } 6012 6013 if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { 6014 return PLACEMENT_LEFT; 6015 } 6016 6017 if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) { 6018 return PLACEMENT_TOPCENTER; 6019 } 6020 6021 if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) { 6022 return PLACEMENT_BOTTOMCENTER; 6023 } // We need to trim the value because custom properties can also include spaces 6024 6025 6026 const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'; 6027 6028 if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { 6029 return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; 6030 } 6031 6032 return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; 6033 } 6034 6035 _detectNavbar() { 6036 return this._element.closest(SELECTOR_NAVBAR) !== null; 6037 } 6038 6039 _getOffset() { 6040 const { 6041 offset 6042 } = this._config; 6043 6044 if (typeof offset === 'string') { 6045 return offset.split(',').map(value => Number.parseInt(value, 10)); 6046 } 6047 6048 if (typeof offset === 'function') { 6049 return popperData => offset(popperData, this._element); 6050 } 6051 6052 return offset; 6053 } 6054 6055 _getPopperConfig() { 6056 const defaultBsPopperConfig = { 6057 placement: this._getPlacement(), 6058 modifiers: [{ 6059 name: 'preventOverflow', 6060 options: { 6061 boundary: this._config.boundary 6062 } 6063 }, { 6064 name: 'offset', 6065 options: { 6066 offset: this._getOffset() 6067 } 6068 }] 6069 }; // Disable Popper if we have a static display or Dropdown is in Navbar 6070 6071 if (this._inNavbar || this._config.display === 'static') { 6072 Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove 6073 6074 defaultBsPopperConfig.modifiers = [{ 6075 name: 'applyStyles', 6076 enabled: false 6077 }]; 6078 } 6079 6080 return { ...defaultBsPopperConfig, 6081 ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) 6082 }; 6083 } 6084 6085 _selectMenuItem({ 6086 key, 6087 target 6088 }) { 6089 const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element)); 6090 6091 if (!items.length) { 6092 return; 6093 } // if target isn't included in items (e.g. when expanding the dropdown) 6094 // allow cycling to get the last item in case key equals ARROW_UP_KEY 6095 6096 6097 getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus(); 6098 } // Static 6099 6100 6101 static jQueryInterface(config) { 6102 return this.each(function () { 6103 const data = Dropdown.getOrCreateInstance(this, config); 6104 6105 if (typeof config !== 'string') { 6106 return; 6107 } 6108 6109 if (typeof data[config] === 'undefined') { 6110 throw new TypeError(`No method named "${config}"`); 6111 } 6112 6113 data[config](); 6114 }); 6115 } 6116 6117 static clearMenus(event) { 6118 if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) { 6119 return; 6120 } 6121 6122 const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN); 6123 6124 for (const toggle of openToggles) { 6125 const context = Dropdown.getInstance(toggle); 6126 6127 if (!context || context._config.autoClose === false) { 6128 continue; 6129 } 6130 6131 const composedPath = event.composedPath(); 6132 const isMenuTarget = composedPath.includes(context._menu); 6133 6134 if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) { 6135 continue; 6136 } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu 6137 6138 6139 if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { 6140 continue; 6141 } 6142 6143 const relatedTarget = { 6144 relatedTarget: context._element 6145 }; 6146 6147 if (event.type === 'click') { 6148 relatedTarget.clickEvent = event; 6149 } 6150 6151 context._completeHide(relatedTarget); 6152 } 6153 } 6154 6155 static dataApiKeydownHandler(event) { 6156 // If not an UP | DOWN | ESCAPE key => not a dropdown command 6157 // If input/textarea && if key is other than ESCAPE => not a dropdown command 6158 const isInput = /input|textarea/i.test(event.target.tagName); 6159 const isEscapeEvent = event.key === ESCAPE_KEY$2; 6160 const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key); 6161 6162 if (!isUpOrDownEvent && !isEscapeEvent) { 6163 return; 6164 } 6165 6166 if (isInput && !isEscapeEvent) { 6167 return; 6168 } 6169 6170 event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/ 6171 6172 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] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); 6173 const instance = Dropdown.getOrCreateInstance(getToggleButton); 6174 6175 if (isUpOrDownEvent) { 6176 event.stopPropagation(); 6177 instance.show(); 6178 6179 instance._selectMenuItem(event); 6180 6181 return; 6182 } 6183 6184 if (instance._isShown()) { 6185 // else is escape and we check if it is shown 6186 event.stopPropagation(); 6187 instance.hide(); 6188 getToggleButton.focus(); 6189 } 6190 } 6191 6192} 6193/** 6194 * Data API implementation 6195 */ 6196 6197 6198EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); 6199EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); 6200EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); 6201EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); 6202EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) { 6203 event.preventDefault(); 6204 Dropdown.getOrCreateInstance(this).toggle(); 6205}); 6206/** 6207 * jQuery 6208 */ 6209 6210defineJQueryPlugin(Dropdown); 6211 6212/** 6213 * -------------------------------------------------------------------------- 6214 * Bootstrap (v5.2.3): util/scrollBar.js 6215 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6216 * -------------------------------------------------------------------------- 6217 */ 6218/** 6219 * Constants 6220 */ 6221 6222const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; 6223const SELECTOR_STICKY_CONTENT = '.sticky-top'; 6224const PROPERTY_PADDING = 'padding-right'; 6225const PROPERTY_MARGIN = 'margin-right'; 6226/** 6227 * Class definition 6228 */ 6229 6230class ScrollBarHelper { 6231 constructor() { 6232 this._element = document.body; 6233 } // Public 6234 6235 6236 getWidth() { 6237 // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes 6238 const documentWidth = document.documentElement.clientWidth; 6239 return Math.abs(window.innerWidth - documentWidth); 6240 } 6241 6242 hide() { 6243 const width = this.getWidth(); 6244 6245 this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width 6246 6247 6248 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 6249 6250 6251 this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width); 6252 6253 this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width); 6254 } 6255 6256 reset() { 6257 this._resetElementAttributes(this._element, 'overflow'); 6258 6259 this._resetElementAttributes(this._element, PROPERTY_PADDING); 6260 6261 this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING); 6262 6263 this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN); 6264 } 6265 6266 isOverflowing() { 6267 return this.getWidth() > 0; 6268 } // Private 6269 6270 6271 _disableOverFlow() { 6272 this._saveInitialAttribute(this._element, 'overflow'); 6273 6274 this._element.style.overflow = 'hidden'; 6275 } 6276 6277 _setElementAttributes(selector, styleProperty, callback) { 6278 const scrollbarWidth = this.getWidth(); 6279 6280 const manipulationCallBack = element => { 6281 if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { 6282 return; 6283 } 6284 6285 this._saveInitialAttribute(element, styleProperty); 6286 6287 const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty); 6288 element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`); 6289 }; 6290 6291 this._applyManipulationCallback(selector, manipulationCallBack); 6292 } 6293 6294 _saveInitialAttribute(element, styleProperty) { 6295 const actualValue = element.style.getPropertyValue(styleProperty); 6296 6297 if (actualValue) { 6298 Manipulator.setDataAttribute(element, styleProperty, actualValue); 6299 } 6300 } 6301 6302 _resetElementAttributes(selector, styleProperty) { 6303 const manipulationCallBack = element => { 6304 const value = Manipulator.getDataAttribute(element, styleProperty); // We only want to remove the property if the value is `null`; the value can also be zero 6305 6306 if (value === null) { 6307 element.style.removeProperty(styleProperty); 6308 return; 6309 } 6310 6311 Manipulator.removeDataAttribute(element, styleProperty); 6312 element.style.setProperty(styleProperty, value); 6313 }; 6314 6315 this._applyManipulationCallback(selector, manipulationCallBack); 6316 } 6317 6318 _applyManipulationCallback(selector, callBack) { 6319 if (isElement(selector)) { 6320 callBack(selector); 6321 return; 6322 } 6323 6324 for (const sel of SelectorEngine.find(selector, this._element)) { 6325 callBack(sel); 6326 } 6327 } 6328 6329} 6330 6331/** 6332 * -------------------------------------------------------------------------- 6333 * Bootstrap (v5.2.3): util/backdrop.js 6334 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6335 * -------------------------------------------------------------------------- 6336 */ 6337/** 6338 * Constants 6339 */ 6340 6341const NAME$9 = 'backdrop'; 6342const CLASS_NAME_FADE$4 = 'fade'; 6343const CLASS_NAME_SHOW$5 = 'show'; 6344const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; 6345const Default$8 = { 6346 className: 'modal-backdrop', 6347 clickCallback: null, 6348 isAnimated: false, 6349 isVisible: true, 6350 // if false, we use the backdrop helper without adding any element to the dom 6351 rootElement: 'body' // give the choice to place backdrop under different elements 6352 6353}; 6354const DefaultType$8 = { 6355 className: 'string', 6356 clickCallback: '(function|null)', 6357 isAnimated: 'boolean', 6358 isVisible: 'boolean', 6359 rootElement: '(element|string)' 6360}; 6361/** 6362 * Class definition 6363 */ 6364 6365class Backdrop extends Config { 6366 constructor(config) { 6367 super(); 6368 this._config = this._getConfig(config); 6369 this._isAppended = false; 6370 this._element = null; 6371 } // Getters 6372 6373 6374 static get Default() { 6375 return Default$8; 6376 } 6377 6378 static get DefaultType() { 6379 return DefaultType$8; 6380 } 6381 6382 static get NAME() { 6383 return NAME$9; 6384 } // Public 6385 6386 6387 show(callback) { 6388 if (!this._config.isVisible) { 6389 execute(callback); 6390 return; 6391 } 6392 6393 this._append(); 6394 6395 const element = this._getElement(); 6396 6397 if (this._config.isAnimated) { 6398 reflow(element); 6399 } 6400 6401 element.classList.add(CLASS_NAME_SHOW$5); 6402 6403 this._emulateAnimation(() => { 6404 execute(callback); 6405 }); 6406 } 6407 6408 hide(callback) { 6409 if (!this._config.isVisible) { 6410 execute(callback); 6411 return; 6412 } 6413 6414 this._getElement().classList.remove(CLASS_NAME_SHOW$5); 6415 6416 this._emulateAnimation(() => { 6417 this.dispose(); 6418 execute(callback); 6419 }); 6420 } 6421 6422 dispose() { 6423 if (!this._isAppended) { 6424 return; 6425 } 6426 6427 EventHandler.off(this._element, EVENT_MOUSEDOWN); 6428 6429 this._element.remove(); 6430 6431 this._isAppended = false; 6432 } // Private 6433 6434 6435 _getElement() { 6436 if (!this._element) { 6437 const backdrop = document.createElement('div'); 6438 backdrop.className = this._config.className; 6439 6440 if (this._config.isAnimated) { 6441 backdrop.classList.add(CLASS_NAME_FADE$4); 6442 } 6443 6444 this._element = backdrop; 6445 } 6446 6447 return this._element; 6448 } 6449 6450 _configAfterMerge(config) { 6451 // use getElement() with the default "body" to get a fresh Element on each instantiation 6452 config.rootElement = getElement(config.rootElement); 6453 return config; 6454 } 6455 6456 _append() { 6457 if (this._isAppended) { 6458 return; 6459 } 6460 6461 const element = this._getElement(); 6462 6463 this._config.rootElement.append(element); 6464 6465 EventHandler.on(element, EVENT_MOUSEDOWN, () => { 6466 execute(this._config.clickCallback); 6467 }); 6468 this._isAppended = true; 6469 } 6470 6471 _emulateAnimation(callback) { 6472 executeAfterTransition(callback, this._getElement(), this._config.isAnimated); 6473 } 6474 6475} 6476 6477/** 6478 * -------------------------------------------------------------------------- 6479 * Bootstrap (v5.2.3): util/focustrap.js 6480 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6481 * -------------------------------------------------------------------------- 6482 */ 6483/** 6484 * Constants 6485 */ 6486 6487const NAME$8 = 'focustrap'; 6488const DATA_KEY$5 = 'bs.focustrap'; 6489const EVENT_KEY$5 = `.${DATA_KEY$5}`; 6490const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`; 6491const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; 6492const TAB_KEY = 'Tab'; 6493const TAB_NAV_FORWARD = 'forward'; 6494const TAB_NAV_BACKWARD = 'backward'; 6495const Default$7 = { 6496 autofocus: true, 6497 trapElement: null // The element to trap focus inside of 6498 6499}; 6500const DefaultType$7 = { 6501 autofocus: 'boolean', 6502 trapElement: 'element' 6503}; 6504/** 6505 * Class definition 6506 */ 6507 6508class FocusTrap extends Config { 6509 constructor(config) { 6510 super(); 6511 this._config = this._getConfig(config); 6512 this._isActive = false; 6513 this._lastTabNavDirection = null; 6514 } // Getters 6515 6516 6517 static get Default() { 6518 return Default$7; 6519 } 6520 6521 static get DefaultType() { 6522 return DefaultType$7; 6523 } 6524 6525 static get NAME() { 6526 return NAME$8; 6527 } // Public 6528 6529 6530 activate() { 6531 if (this._isActive) { 6532 return; 6533 } 6534 6535 if (this._config.autofocus) { 6536 this._config.trapElement.focus(); 6537 } 6538 6539 EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop 6540 6541 EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event)); 6542 EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event)); 6543 this._isActive = true; 6544 } 6545 6546 deactivate() { 6547 if (!this._isActive) { 6548 return; 6549 } 6550 6551 this._isActive = false; 6552 EventHandler.off(document, EVENT_KEY$5); 6553 } // Private 6554 6555 6556 _handleFocusin(event) { 6557 const { 6558 trapElement 6559 } = this._config; 6560 6561 if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) { 6562 return; 6563 } 6564 6565 const elements = SelectorEngine.focusableChildren(trapElement); 6566 6567 if (elements.length === 0) { 6568 trapElement.focus(); 6569 } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { 6570 elements[elements.length - 1].focus(); 6571 } else { 6572 elements[0].focus(); 6573 } 6574 } 6575 6576 _handleKeydown(event) { 6577 if (event.key !== TAB_KEY) { 6578 return; 6579 } 6580 6581 this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; 6582 } 6583 6584} 6585 6586/** 6587 * -------------------------------------------------------------------------- 6588 * Bootstrap (v5.2.3): modal.js 6589 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6590 * -------------------------------------------------------------------------- 6591 */ 6592/** 6593 * Constants 6594 */ 6595 6596const NAME$7 = 'modal'; 6597const DATA_KEY$4 = 'bs.modal'; 6598const EVENT_KEY$4 = `.${DATA_KEY$4}`; 6599const DATA_API_KEY$2 = '.data-api'; 6600const ESCAPE_KEY$1 = 'Escape'; 6601const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`; 6602const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; 6603const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; 6604const EVENT_SHOW$4 = `show${EVENT_KEY$4}`; 6605const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; 6606const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; 6607const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`; 6608const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`; 6609const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; 6610const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; 6611const CLASS_NAME_OPEN = 'modal-open'; 6612const CLASS_NAME_FADE$3 = 'fade'; 6613const CLASS_NAME_SHOW$4 = 'show'; 6614const CLASS_NAME_STATIC = 'modal-static'; 6615const OPEN_SELECTOR$1 = '.modal.show'; 6616const SELECTOR_DIALOG = '.modal-dialog'; 6617const SELECTOR_MODAL_BODY = '.modal-body'; 6618const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; 6619const Default$6 = { 6620 backdrop: true, 6621 focus: true, 6622 keyboard: true 6623}; 6624const DefaultType$6 = { 6625 backdrop: '(boolean|string)', 6626 focus: 'boolean', 6627 keyboard: 'boolean' 6628}; 6629/** 6630 * Class definition 6631 */ 6632 6633class Modal extends BaseComponent { 6634 constructor(element, config) { 6635 super(element, config); 6636 this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); 6637 this._backdrop = this._initializeBackDrop(); 6638 this._focustrap = this._initializeFocusTrap(); 6639 this._isShown = false; 6640 this._isTransitioning = false; 6641 this._scrollBar = new ScrollBarHelper(); 6642 6643 this._addEventListeners(); 6644 } // Getters 6645 6646 6647 static get Default() { 6648 return Default$6; 6649 } 6650 6651 static get DefaultType() { 6652 return DefaultType$6; 6653 } 6654 6655 static get NAME() { 6656 return NAME$7; 6657 } // Public 6658 6659 6660 toggle(relatedTarget) { 6661 return this._isShown ? this.hide() : this.show(relatedTarget); 6662 } 6663 6664 show(relatedTarget) { 6665 if (this._isShown || this._isTransitioning) { 6666 return; 6667 } 6668 6669 const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, { 6670 relatedTarget 6671 }); 6672 6673 if (showEvent.defaultPrevented) { 6674 return; 6675 } 6676 6677 this._isShown = true; 6678 this._isTransitioning = true; 6679 6680 this._scrollBar.hide(); 6681 6682 document.body.classList.add(CLASS_NAME_OPEN); 6683 6684 this._adjustDialog(); 6685 6686 this._backdrop.show(() => this._showElement(relatedTarget)); 6687 } 6688 6689 hide() { 6690 if (!this._isShown || this._isTransitioning) { 6691 return; 6692 } 6693 6694 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4); 6695 6696 if (hideEvent.defaultPrevented) { 6697 return; 6698 } 6699 6700 this._isShown = false; 6701 this._isTransitioning = true; 6702 6703 this._focustrap.deactivate(); 6704 6705 this._element.classList.remove(CLASS_NAME_SHOW$4); 6706 6707 this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); 6708 } 6709 6710 dispose() { 6711 for (const htmlElement of [window, this._dialog]) { 6712 EventHandler.off(htmlElement, EVENT_KEY$4); 6713 } 6714 6715 this._backdrop.dispose(); 6716 6717 this._focustrap.deactivate(); 6718 6719 super.dispose(); 6720 } 6721 6722 handleUpdate() { 6723 this._adjustDialog(); 6724 } // Private 6725 6726 6727 _initializeBackDrop() { 6728 return new Backdrop({ 6729 isVisible: Boolean(this._config.backdrop), 6730 // 'static' option will be translated to true, and booleans will keep their value, 6731 isAnimated: this._isAnimated() 6732 }); 6733 } 6734 6735 _initializeFocusTrap() { 6736 return new FocusTrap({ 6737 trapElement: this._element 6738 }); 6739 } 6740 6741 _showElement(relatedTarget) { 6742 // try to append dynamic modal 6743 if (!document.body.contains(this._element)) { 6744 document.body.append(this._element); 6745 } 6746 6747 this._element.style.display = 'block'; 6748 6749 this._element.removeAttribute('aria-hidden'); 6750 6751 this._element.setAttribute('aria-modal', true); 6752 6753 this._element.setAttribute('role', 'dialog'); 6754 6755 this._element.scrollTop = 0; 6756 const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); 6757 6758 if (modalBody) { 6759 modalBody.scrollTop = 0; 6760 } 6761 6762 reflow(this._element); 6763 6764 this._element.classList.add(CLASS_NAME_SHOW$4); 6765 6766 const transitionComplete = () => { 6767 if (this._config.focus) { 6768 this._focustrap.activate(); 6769 } 6770 6771 this._isTransitioning = false; 6772 EventHandler.trigger(this._element, EVENT_SHOWN$4, { 6773 relatedTarget 6774 }); 6775 }; 6776 6777 this._queueCallback(transitionComplete, this._dialog, this._isAnimated()); 6778 } 6779 6780 _addEventListeners() { 6781 EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => { 6782 if (event.key !== ESCAPE_KEY$1) { 6783 return; 6784 } 6785 6786 if (this._config.keyboard) { 6787 event.preventDefault(); 6788 this.hide(); 6789 return; 6790 } 6791 6792 this._triggerBackdropTransition(); 6793 }); 6794 EventHandler.on(window, EVENT_RESIZE$1, () => { 6795 if (this._isShown && !this._isTransitioning) { 6796 this._adjustDialog(); 6797 } 6798 }); 6799 EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => { 6800 // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks 6801 EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => { 6802 if (this._element !== event.target || this._element !== event2.target) { 6803 return; 6804 } 6805 6806 if (this._config.backdrop === 'static') { 6807 this._triggerBackdropTransition(); 6808 6809 return; 6810 } 6811 6812 if (this._config.backdrop) { 6813 this.hide(); 6814 } 6815 }); 6816 }); 6817 } 6818 6819 _hideModal() { 6820 this._element.style.display = 'none'; 6821 6822 this._element.setAttribute('aria-hidden', true); 6823 6824 this._element.removeAttribute('aria-modal'); 6825 6826 this._element.removeAttribute('role'); 6827 6828 this._isTransitioning = false; 6829 6830 this._backdrop.hide(() => { 6831 document.body.classList.remove(CLASS_NAME_OPEN); 6832 6833 this._resetAdjustments(); 6834 6835 this._scrollBar.reset(); 6836 6837 EventHandler.trigger(this._element, EVENT_HIDDEN$4); 6838 }); 6839 } 6840 6841 _isAnimated() { 6842 return this._element.classList.contains(CLASS_NAME_FADE$3); 6843 } 6844 6845 _triggerBackdropTransition() { 6846 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); 6847 6848 if (hideEvent.defaultPrevented) { 6849 return; 6850 } 6851 6852 const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; 6853 const initialOverflowY = this._element.style.overflowY; // return if the following background transition hasn't yet completed 6854 6855 if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) { 6856 return; 6857 } 6858 6859 if (!isModalOverflowing) { 6860 this._element.style.overflowY = 'hidden'; 6861 } 6862 6863 this._element.classList.add(CLASS_NAME_STATIC); 6864 6865 this._queueCallback(() => { 6866 this._element.classList.remove(CLASS_NAME_STATIC); 6867 6868 this._queueCallback(() => { 6869 this._element.style.overflowY = initialOverflowY; 6870 }, this._dialog); 6871 }, this._dialog); 6872 6873 this._element.focus(); 6874 } 6875 /** 6876 * The following methods are used to handle overflowing modals 6877 */ 6878 6879 6880 _adjustDialog() { 6881 const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; 6882 6883 const scrollbarWidth = this._scrollBar.getWidth(); 6884 6885 const isBodyOverflowing = scrollbarWidth > 0; 6886 6887 if (isBodyOverflowing && !isModalOverflowing) { 6888 const property = isRTL() ? 'paddingLeft' : 'paddingRight'; 6889 this._element.style[property] = `${scrollbarWidth}px`; 6890 } 6891 6892 if (!isBodyOverflowing && isModalOverflowing) { 6893 const property = isRTL() ? 'paddingRight' : 'paddingLeft'; 6894 this._element.style[property] = `${scrollbarWidth}px`; 6895 } 6896 } 6897 6898 _resetAdjustments() { 6899 this._element.style.paddingLeft = ''; 6900 this._element.style.paddingRight = ''; 6901 } // Static 6902 6903 6904 static jQueryInterface(config, relatedTarget) { 6905 return this.each(function () { 6906 const data = Modal.getOrCreateInstance(this, config); 6907 6908 if (typeof config !== 'string') { 6909 return; 6910 } 6911 6912 if (typeof data[config] === 'undefined') { 6913 throw new TypeError(`No method named "${config}"`); 6914 } 6915 6916 data[config](relatedTarget); 6917 }); 6918 } 6919 6920} 6921/** 6922 * Data API implementation 6923 */ 6924 6925 6926EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) { 6927 const target = getElementFromSelector(this); 6928 6929 if (['A', 'AREA'].includes(this.tagName)) { 6930 event.preventDefault(); 6931 } 6932 6933 EventHandler.one(target, EVENT_SHOW$4, showEvent => { 6934 if (showEvent.defaultPrevented) { 6935 // only register focus restorer if modal will actually get shown 6936 return; 6937 } 6938 6939 EventHandler.one(target, EVENT_HIDDEN$4, () => { 6940 if (isVisible(this)) { 6941 this.focus(); 6942 } 6943 }); 6944 }); // avoid conflict when clicking modal toggler while another one is open 6945 6946 const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); 6947 6948 if (alreadyOpen) { 6949 Modal.getInstance(alreadyOpen).hide(); 6950 } 6951 6952 const data = Modal.getOrCreateInstance(target); 6953 data.toggle(this); 6954}); 6955enableDismissTrigger(Modal); 6956/** 6957 * jQuery 6958 */ 6959 6960defineJQueryPlugin(Modal); 6961 6962/** 6963 * -------------------------------------------------------------------------- 6964 * Bootstrap (v5.2.3): offcanvas.js 6965 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6966 * -------------------------------------------------------------------------- 6967 */ 6968/** 6969 * Constants 6970 */ 6971 6972const NAME$6 = 'offcanvas'; 6973const DATA_KEY$3 = 'bs.offcanvas'; 6974const EVENT_KEY$3 = `.${DATA_KEY$3}`; 6975const DATA_API_KEY$1 = '.data-api'; 6976const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`; 6977const ESCAPE_KEY = 'Escape'; 6978const CLASS_NAME_SHOW$3 = 'show'; 6979const CLASS_NAME_SHOWING$1 = 'showing'; 6980const CLASS_NAME_HIDING = 'hiding'; 6981const CLASS_NAME_BACKDROP = 'offcanvas-backdrop'; 6982const OPEN_SELECTOR = '.offcanvas.show'; 6983const EVENT_SHOW$3 = `show${EVENT_KEY$3}`; 6984const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`; 6985const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`; 6986const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`; 6987const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`; 6988const EVENT_RESIZE = `resize${EVENT_KEY$3}`; 6989const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`; 6990const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`; 6991const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]'; 6992const Default$5 = { 6993 backdrop: true, 6994 keyboard: true, 6995 scroll: false 6996}; 6997const DefaultType$5 = { 6998 backdrop: '(boolean|string)', 6999 keyboard: 'boolean', 7000 scroll: 'boolean' 7001}; 7002/** 7003 * Class definition 7004 */ 7005 7006class Offcanvas extends BaseComponent { 7007 constructor(element, config) { 7008 super(element, config); 7009 this._isShown = false; 7010 this._backdrop = this._initializeBackDrop(); 7011 this._focustrap = this._initializeFocusTrap(); 7012 7013 this._addEventListeners(); 7014 } // Getters 7015 7016 7017 static get Default() { 7018 return Default$5; 7019 } 7020 7021 static get DefaultType() { 7022 return DefaultType$5; 7023 } 7024 7025 static get NAME() { 7026 return NAME$6; 7027 } // Public 7028 7029 7030 toggle(relatedTarget) { 7031 return this._isShown ? this.hide() : this.show(relatedTarget); 7032 } 7033 7034 show(relatedTarget) { 7035 if (this._isShown) { 7036 return; 7037 } 7038 7039 const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { 7040 relatedTarget 7041 }); 7042 7043 if (showEvent.defaultPrevented) { 7044 return; 7045 } 7046 7047 this._isShown = true; 7048 7049 this._backdrop.show(); 7050 7051 if (!this._config.scroll) { 7052 new ScrollBarHelper().hide(); 7053 } 7054 7055 this._element.setAttribute('aria-modal', true); 7056 7057 this._element.setAttribute('role', 'dialog'); 7058 7059 this._element.classList.add(CLASS_NAME_SHOWING$1); 7060 7061 const completeCallBack = () => { 7062 if (!this._config.scroll || this._config.backdrop) { 7063 this._focustrap.activate(); 7064 } 7065 7066 this._element.classList.add(CLASS_NAME_SHOW$3); 7067 7068 this._element.classList.remove(CLASS_NAME_SHOWING$1); 7069 7070 EventHandler.trigger(this._element, EVENT_SHOWN$3, { 7071 relatedTarget 7072 }); 7073 }; 7074 7075 this._queueCallback(completeCallBack, this._element, true); 7076 } 7077 7078 hide() { 7079 if (!this._isShown) { 7080 return; 7081 } 7082 7083 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); 7084 7085 if (hideEvent.defaultPrevented) { 7086 return; 7087 } 7088 7089 this._focustrap.deactivate(); 7090 7091 this._element.blur(); 7092 7093 this._isShown = false; 7094 7095 this._element.classList.add(CLASS_NAME_HIDING); 7096 7097 this._backdrop.hide(); 7098 7099 const completeCallback = () => { 7100 this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING); 7101 7102 this._element.removeAttribute('aria-modal'); 7103 7104 this._element.removeAttribute('role'); 7105 7106 if (!this._config.scroll) { 7107 new ScrollBarHelper().reset(); 7108 } 7109 7110 EventHandler.trigger(this._element, EVENT_HIDDEN$3); 7111 }; 7112 7113 this._queueCallback(completeCallback, this._element, true); 7114 } 7115 7116 dispose() { 7117 this._backdrop.dispose(); 7118 7119 this._focustrap.deactivate(); 7120 7121 super.dispose(); 7122 } // Private 7123 7124 7125 _initializeBackDrop() { 7126 const clickCallback = () => { 7127 if (this._config.backdrop === 'static') { 7128 EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); 7129 return; 7130 } 7131 7132 this.hide(); 7133 }; // 'static' option will be translated to true, and booleans will keep their value 7134 7135 7136 const isVisible = Boolean(this._config.backdrop); 7137 return new Backdrop({ 7138 className: CLASS_NAME_BACKDROP, 7139 isVisible, 7140 isAnimated: true, 7141 rootElement: this._element.parentNode, 7142 clickCallback: isVisible ? clickCallback : null 7143 }); 7144 } 7145 7146 _initializeFocusTrap() { 7147 return new FocusTrap({ 7148 trapElement: this._element 7149 }); 7150 } 7151 7152 _addEventListeners() { 7153 EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => { 7154 if (event.key !== ESCAPE_KEY) { 7155 return; 7156 } 7157 7158 if (!this._config.keyboard) { 7159 EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); 7160 return; 7161 } 7162 7163 this.hide(); 7164 }); 7165 } // Static 7166 7167 7168 static jQueryInterface(config) { 7169 return this.each(function () { 7170 const data = Offcanvas.getOrCreateInstance(this, config); 7171 7172 if (typeof config !== 'string') { 7173 return; 7174 } 7175 7176 if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { 7177 throw new TypeError(`No method named "${config}"`); 7178 } 7179 7180 data[config](this); 7181 }); 7182 } 7183 7184} 7185/** 7186 * Data API implementation 7187 */ 7188 7189 7190EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) { 7191 const target = getElementFromSelector(this); 7192 7193 if (['A', 'AREA'].includes(this.tagName)) { 7194 event.preventDefault(); 7195 } 7196 7197 if (isDisabled(this)) { 7198 return; 7199 } 7200 7201 EventHandler.one(target, EVENT_HIDDEN$3, () => { 7202 // focus on trigger when it is closed 7203 if (isVisible(this)) { 7204 this.focus(); 7205 } 7206 }); // avoid conflict when clicking a toggler of an offcanvas, while another is open 7207 7208 const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); 7209 7210 if (alreadyOpen && alreadyOpen !== target) { 7211 Offcanvas.getInstance(alreadyOpen).hide(); 7212 } 7213 7214 const data = Offcanvas.getOrCreateInstance(target); 7215 data.toggle(this); 7216}); 7217EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { 7218 for (const selector of SelectorEngine.find(OPEN_SELECTOR)) { 7219 Offcanvas.getOrCreateInstance(selector).show(); 7220 } 7221}); 7222EventHandler.on(window, EVENT_RESIZE, () => { 7223 for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) { 7224 if (getComputedStyle(element).position !== 'fixed') { 7225 Offcanvas.getOrCreateInstance(element).hide(); 7226 } 7227 } 7228}); 7229enableDismissTrigger(Offcanvas); 7230/** 7231 * jQuery 7232 */ 7233 7234defineJQueryPlugin(Offcanvas); 7235 7236/** 7237 * -------------------------------------------------------------------------- 7238 * Bootstrap (v5.2.3): util/sanitizer.js 7239 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 7240 * -------------------------------------------------------------------------- 7241 */ 7242const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); 7243const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; 7244/** 7245 * A pattern that recognizes a commonly useful subset of URLs that are safe. 7246 * 7247 * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts 7248 */ 7249 7250const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; 7251/** 7252 * A pattern that matches safe data URLs. Only matches image, video and audio types. 7253 * 7254 * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts 7255 */ 7256 7257const 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; 7258 7259const allowedAttribute = (attribute, allowedAttributeList) => { 7260 const attributeName = attribute.nodeName.toLowerCase(); 7261 7262 if (allowedAttributeList.includes(attributeName)) { 7263 if (uriAttributes.has(attributeName)) { 7264 return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue)); 7265 } 7266 7267 return true; 7268 } // Check if a regular expression validates the attribute. 7269 7270 7271 return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName)); 7272}; 7273 7274const DefaultAllowlist = { 7275 // Global attributes allowed on any supplied element below. 7276 '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], 7277 a: ['target', 'href', 'title', 'rel'], 7278 area: [], 7279 b: [], 7280 br: [], 7281 col: [], 7282 code: [], 7283 div: [], 7284 em: [], 7285 hr: [], 7286 h1: [], 7287 h2: [], 7288 h3: [], 7289 h4: [], 7290 h5: [], 7291 h6: [], 7292 i: [], 7293 img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], 7294 li: [], 7295 ol: [], 7296 p: [], 7297 pre: [], 7298 s: [], 7299 small: [], 7300 span: [], 7301 sub: [], 7302 sup: [], 7303 strong: [], 7304 u: [], 7305 ul: [] 7306}; 7307function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { 7308 if (!unsafeHtml.length) { 7309 return unsafeHtml; 7310 } 7311 7312 if (sanitizeFunction && typeof sanitizeFunction === 'function') { 7313 return sanitizeFunction(unsafeHtml); 7314 } 7315 7316 const domParser = new window.DOMParser(); 7317 const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); 7318 const elements = [].concat(...createdDocument.body.querySelectorAll('*')); 7319 7320 for (const element of elements) { 7321 const elementName = element.nodeName.toLowerCase(); 7322 7323 if (!Object.keys(allowList).includes(elementName)) { 7324 element.remove(); 7325 continue; 7326 } 7327 7328 const attributeList = [].concat(...element.attributes); 7329 const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []); 7330 7331 for (const attribute of attributeList) { 7332 if (!allowedAttribute(attribute, allowedAttributes)) { 7333 element.removeAttribute(attribute.nodeName); 7334 } 7335 } 7336 } 7337 7338 return createdDocument.body.innerHTML; 7339} 7340 7341/** 7342 * -------------------------------------------------------------------------- 7343 * Bootstrap (v5.2.3): util/template-factory.js 7344 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 7345 * -------------------------------------------------------------------------- 7346 */ 7347/** 7348 * Constants 7349 */ 7350 7351const NAME$5 = 'TemplateFactory'; 7352const Default$4 = { 7353 allowList: DefaultAllowlist, 7354 content: {}, 7355 // { selector : text , selector2 : text2 , } 7356 extraClass: '', 7357 html: false, 7358 sanitize: true, 7359 sanitizeFn: null, 7360 template: '<div></div>' 7361}; 7362const DefaultType$4 = { 7363 allowList: 'object', 7364 content: 'object', 7365 extraClass: '(string|function)', 7366 html: 'boolean', 7367 sanitize: 'boolean', 7368 sanitizeFn: '(null|function)', 7369 template: 'string' 7370}; 7371const DefaultContentType = { 7372 entry: '(string|element|function|null)', 7373 selector: '(string|element)' 7374}; 7375/** 7376 * Class definition 7377 */ 7378 7379class TemplateFactory extends Config { 7380 constructor(config) { 7381 super(); 7382 this._config = this._getConfig(config); 7383 } // Getters 7384 7385 7386 static get Default() { 7387 return Default$4; 7388 } 7389 7390 static get DefaultType() { 7391 return DefaultType$4; 7392 } 7393 7394 static get NAME() { 7395 return NAME$5; 7396 } // Public 7397 7398 7399 getContent() { 7400 return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean); 7401 } 7402 7403 hasContent() { 7404 return this.getContent().length > 0; 7405 } 7406 7407 changeContent(content) { 7408 this._checkContent(content); 7409 7410 this._config.content = { ...this._config.content, 7411 ...content 7412 }; 7413 return this; 7414 } 7415 7416 toHtml() { 7417 const templateWrapper = document.createElement('div'); 7418 templateWrapper.innerHTML = this._maybeSanitize(this._config.template); 7419 7420 for (const [selector, text] of Object.entries(this._config.content)) { 7421 this._setContent(templateWrapper, text, selector); 7422 } 7423 7424 const template = templateWrapper.children[0]; 7425 7426 const extraClass = this._resolvePossibleFunction(this._config.extraClass); 7427 7428 if (extraClass) { 7429 template.classList.add(...extraClass.split(' ')); 7430 } 7431 7432 return template; 7433 } // Private 7434 7435 7436 _typeCheckConfig(config) { 7437 super._typeCheckConfig(config); 7438 7439 this._checkContent(config.content); 7440 } 7441 7442 _checkContent(arg) { 7443 for (const [selector, content] of Object.entries(arg)) { 7444 super._typeCheckConfig({ 7445 selector, 7446 entry: content 7447 }, DefaultContentType); 7448 } 7449 } 7450 7451 _setContent(template, content, selector) { 7452 const templateElement = SelectorEngine.findOne(selector, template); 7453 7454 if (!templateElement) { 7455 return; 7456 } 7457 7458 content = this._resolvePossibleFunction(content); 7459 7460 if (!content) { 7461 templateElement.remove(); 7462 return; 7463 } 7464 7465 if (isElement(content)) { 7466 this._putElementInTemplate(getElement(content), templateElement); 7467 7468 return; 7469 } 7470 7471 if (this._config.html) { 7472 templateElement.innerHTML = this._maybeSanitize(content); 7473 return; 7474 } 7475 7476 templateElement.textContent = content; 7477 } 7478 7479 _maybeSanitize(arg) { 7480 return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg; 7481 } 7482 7483 _resolvePossibleFunction(arg) { 7484 return typeof arg === 'function' ? arg(this) : arg; 7485 } 7486 7487 _putElementInTemplate(element, templateElement) { 7488 if (this._config.html) { 7489 templateElement.innerHTML = ''; 7490 templateElement.append(element); 7491 return; 7492 } 7493 7494 templateElement.textContent = element.textContent; 7495 } 7496 7497} 7498 7499/** 7500 * -------------------------------------------------------------------------- 7501 * Bootstrap (v5.2.3): tooltip.js 7502 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 7503 * -------------------------------------------------------------------------- 7504 */ 7505/** 7506 * Constants 7507 */ 7508 7509const NAME$4 = 'tooltip'; 7510const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']); 7511const CLASS_NAME_FADE$2 = 'fade'; 7512const CLASS_NAME_MODAL = 'modal'; 7513const CLASS_NAME_SHOW$2 = 'show'; 7514const SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; 7515const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; 7516const EVENT_MODAL_HIDE = 'hide.bs.modal'; 7517const TRIGGER_HOVER = 'hover'; 7518const TRIGGER_FOCUS = 'focus'; 7519const TRIGGER_CLICK = 'click'; 7520const TRIGGER_MANUAL = 'manual'; 7521const EVENT_HIDE$2 = 'hide'; 7522const EVENT_HIDDEN$2 = 'hidden'; 7523const EVENT_SHOW$2 = 'show'; 7524const EVENT_SHOWN$2 = 'shown'; 7525const EVENT_INSERTED = 'inserted'; 7526const EVENT_CLICK$1 = 'click'; 7527const EVENT_FOCUSIN$1 = 'focusin'; 7528const EVENT_FOCUSOUT$1 = 'focusout'; 7529const EVENT_MOUSEENTER = 'mouseenter'; 7530const EVENT_MOUSELEAVE = 'mouseleave'; 7531const AttachmentMap = { 7532 AUTO: 'auto', 7533 TOP: 'top', 7534 RIGHT: isRTL() ? 'left' : 'right', 7535 BOTTOM: 'bottom', 7536 LEFT: isRTL() ? 'right' : 'left' 7537}; 7538const Default$3 = { 7539 allowList: DefaultAllowlist, 7540 animation: true, 7541 boundary: 'clippingParents', 7542 container: false, 7543 customClass: '', 7544 delay: 0, 7545 fallbackPlacements: ['top', 'right', 'bottom', 'left'], 7546 html: false, 7547 offset: [0, 0], 7548 placement: 'top', 7549 popperConfig: null, 7550 sanitize: true, 7551 sanitizeFn: null, 7552 selector: false, 7553 template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>', 7554 title: '', 7555 trigger: 'hover focus' 7556}; 7557const DefaultType$3 = { 7558 allowList: 'object', 7559 animation: 'boolean', 7560 boundary: '(string|element)', 7561 container: '(string|element|boolean)', 7562 customClass: '(string|function)', 7563 delay: '(number|object)', 7564 fallbackPlacements: 'array', 7565 html: 'boolean', 7566 offset: '(array|string|function)', 7567 placement: '(string|function)', 7568 popperConfig: '(null|object|function)', 7569 sanitize: 'boolean', 7570 sanitizeFn: '(null|function)', 7571 selector: '(string|boolean)', 7572 template: 'string', 7573 title: '(string|element|function)', 7574 trigger: 'string' 7575}; 7576/** 7577 * Class definition 7578 */ 7579 7580class Tooltip extends BaseComponent { 7581 constructor(element, config) { 7582 if (typeof _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ === 'undefined') { 7583 throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); 7584 } 7585 7586 super(element, config); // Private 7587 7588 this._isEnabled = true; 7589 this._timeout = 0; 7590 this._isHovered = null; 7591 this._activeTrigger = {}; 7592 this._popper = null; 7593 this._templateFactory = null; 7594 this._newContent = null; // Protected 7595 7596 this.tip = null; 7597 7598 this._setListeners(); 7599 7600 if (!this._config.selector) { 7601 this._fixTitle(); 7602 } 7603 } // Getters 7604 7605 7606 static get Default() { 7607 return Default$3; 7608 } 7609 7610 static get DefaultType() { 7611 return DefaultType$3; 7612 } 7613 7614 static get NAME() { 7615 return NAME$4; 7616 } // Public 7617 7618 7619 enable() { 7620 this._isEnabled = true; 7621 } 7622 7623 disable() { 7624 this._isEnabled = false; 7625 } 7626 7627 toggleEnabled() { 7628 this._isEnabled = !this._isEnabled; 7629 } 7630 7631 toggle() { 7632 if (!this._isEnabled) { 7633 return; 7634 } 7635 7636 this._activeTrigger.click = !this._activeTrigger.click; 7637 7638 if (this._isShown()) { 7639 this._leave(); 7640 7641 return; 7642 } 7643 7644 this._enter(); 7645 } 7646 7647 dispose() { 7648 clearTimeout(this._timeout); 7649 EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); 7650 7651 if (this._element.getAttribute('data-bs-original-title')) { 7652 this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title')); 7653 } 7654 7655 this._disposePopper(); 7656 7657 super.dispose(); 7658 } 7659 7660 show() { 7661 if (this._element.style.display === 'none') { 7662 throw new Error('Please use show on visible elements'); 7663 } 7664 7665 if (!(this._isWithContent() && this._isEnabled)) { 7666 return; 7667 } 7668 7669 const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2)); 7670 const shadowRoot = findShadowRoot(this._element); 7671 7672 const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); 7673 7674 if (showEvent.defaultPrevented || !isInTheDom) { 7675 return; 7676 } // todo v6 remove this OR make it optional 7677 7678 7679 this._disposePopper(); 7680 7681 const tip = this._getTipElement(); 7682 7683 this._element.setAttribute('aria-describedby', tip.getAttribute('id')); 7684 7685 const { 7686 container 7687 } = this._config; 7688 7689 if (!this._element.ownerDocument.documentElement.contains(this.tip)) { 7690 container.append(tip); 7691 EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED)); 7692 } 7693 7694 this._popper = this._createPopper(tip); 7695 tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra 7696 // empty mouseover listeners to the body's immediate children; 7697 // only needed because of broken event delegation on iOS 7698 // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html 7699 7700 if ('ontouchstart' in document.documentElement) { 7701 for (const element of [].concat(...document.body.children)) { 7702 EventHandler.on(element, 'mouseover', noop); 7703 } 7704 } 7705 7706 const complete = () => { 7707 EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2)); 7708 7709 if (this._isHovered === false) { 7710 this._leave(); 7711 } 7712 7713 this._isHovered = false; 7714 }; 7715 7716 this._queueCallback(complete, this.tip, this._isAnimated()); 7717 } 7718 7719 hide() { 7720 if (!this._isShown()) { 7721 return; 7722 } 7723 7724 const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2)); 7725 7726 if (hideEvent.defaultPrevented) { 7727 return; 7728 } 7729 7730 const tip = this._getTipElement(); 7731 7732 tip.classList.remove(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we remove the extra 7733 // empty mouseover listeners we added for iOS support 7734 7735 if ('ontouchstart' in document.documentElement) { 7736 for (const element of [].concat(...document.body.children)) { 7737 EventHandler.off(element, 'mouseover', noop); 7738 } 7739 } 7740 7741 this._activeTrigger[TRIGGER_CLICK] = false; 7742 this._activeTrigger[TRIGGER_FOCUS] = false; 7743 this._activeTrigger[TRIGGER_HOVER] = false; 7744 this._isHovered = null; // it is a trick to support manual triggering 7745 7746 const complete = () => { 7747 if (this._isWithActiveTrigger()) { 7748 return; 7749 } 7750 7751 if (!this._isHovered) { 7752 this._disposePopper(); 7753 } 7754 7755 this._element.removeAttribute('aria-describedby'); 7756 7757 EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2)); 7758 }; 7759 7760 this._queueCallback(complete, this.tip, this._isAnimated()); 7761 } 7762 7763 update() { 7764 if (this._popper) { 7765 this._popper.update(); 7766 } 7767 } // Protected 7768 7769 7770 _isWithContent() { 7771 return Boolean(this._getTitle()); 7772 } 7773 7774 _getTipElement() { 7775 if (!this.tip) { 7776 this.tip = this._createTipElement(this._newContent || this._getContentForTemplate()); 7777 } 7778 7779 return this.tip; 7780 } 7781 7782 _createTipElement(content) { 7783 const tip = this._getTemplateFactory(content).toHtml(); // todo: remove this check on v6 7784 7785 7786 if (!tip) { 7787 return null; 7788 } 7789 7790 tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); // todo: on v6 the following can be achieved with CSS only 7791 7792 tip.classList.add(`bs-${this.constructor.NAME}-auto`); 7793 const tipId = getUID(this.constructor.NAME).toString(); 7794 tip.setAttribute('id', tipId); 7795 7796 if (this._isAnimated()) { 7797 tip.classList.add(CLASS_NAME_FADE$2); 7798 } 7799 7800 return tip; 7801 } 7802 7803 setContent(content) { 7804 this._newContent = content; 7805 7806 if (this._isShown()) { 7807 this._disposePopper(); 7808 7809 this.show(); 7810 } 7811 } 7812 7813 _getTemplateFactory(content) { 7814 if (this._templateFactory) { 7815 this._templateFactory.changeContent(content); 7816 } else { 7817 this._templateFactory = new TemplateFactory({ ...this._config, 7818 // the `content` var has to be after `this._config` 7819 // to override config.content in case of popover 7820 content, 7821 extraClass: this._resolvePossibleFunction(this._config.customClass) 7822 }); 7823 } 7824 7825 return this._templateFactory; 7826 } 7827 7828 _getContentForTemplate() { 7829 return { 7830 [SELECTOR_TOOLTIP_INNER]: this._getTitle() 7831 }; 7832 } 7833 7834 _getTitle() { 7835 return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title'); 7836 } // Private 7837 7838 7839 _initializeOnDelegatedTarget(event) { 7840 return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); 7841 } 7842 7843 _isAnimated() { 7844 return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2); 7845 } 7846 7847 _isShown() { 7848 return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2); 7849 } 7850 7851 _createPopper(tip) { 7852 const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement; 7853 const attachment = AttachmentMap[placement.toUpperCase()]; 7854 return _popperjs_core__WEBPACK_IMPORTED_MODULE_1__.createPopper(this._element, tip, this._getPopperConfig(attachment)); 7855 } 7856 7857 _getOffset() { 7858 const { 7859 offset 7860 } = this._config; 7861 7862 if (typeof offset === 'string') { 7863 return offset.split(',').map(value => Number.parseInt(value, 10)); 7864 } 7865 7866 if (typeof offset === 'function') { 7867 return popperData => offset(popperData, this._element); 7868 } 7869 7870 return offset; 7871 } 7872 7873 _resolvePossibleFunction(arg) { 7874 return typeof arg === 'function' ? arg.call(this._element) : arg; 7875 } 7876 7877 _getPopperConfig(attachment) { 7878 const defaultBsPopperConfig = { 7879 placement: attachment, 7880 modifiers: [{ 7881 name: 'flip', 7882 options: { 7883 fallbackPlacements: this._config.fallbackPlacements 7884 } 7885 }, { 7886 name: 'offset', 7887 options: { 7888 offset: this._getOffset() 7889 } 7890 }, { 7891 name: 'preventOverflow', 7892 options: { 7893 boundary: this._config.boundary 7894 } 7895 }, { 7896 name: 'arrow', 7897 options: { 7898 element: `.${this.constructor.NAME}-arrow` 7899 } 7900 }, { 7901 name: 'preSetPlacement', 7902 enabled: true, 7903 phase: 'beforeMain', 7904 fn: data => { 7905 // Pre-set Popper's placement attribute in order to read the arrow sizes properly. 7906 // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement 7907 this._getTipElement().setAttribute('data-popper-placement', data.state.placement); 7908 } 7909 }] 7910 }; 7911 return { ...defaultBsPopperConfig, 7912 ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) 7913 }; 7914 } 7915 7916 _setListeners() { 7917 const triggers = this._config.trigger.split(' '); 7918 7919 for (const trigger of triggers) { 7920 if (trigger === 'click') { 7921 EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => { 7922 const context = this._initializeOnDelegatedTarget(event); 7923 7924 context.toggle(); 7925 }); 7926 } else if (trigger !== TRIGGER_MANUAL) { 7927 const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1); 7928 const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1); 7929 EventHandler.on(this._element, eventIn, this._config.selector, event => { 7930 const context = this._initializeOnDelegatedTarget(event); 7931 7932 context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; 7933 7934 context._enter(); 7935 }); 7936 EventHandler.on(this._element, eventOut, this._config.selector, event => { 7937 const context = this._initializeOnDelegatedTarget(event); 7938 7939 context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); 7940 7941 context._leave(); 7942 }); 7943 } 7944 } 7945 7946 this._hideModalHandler = () => { 7947 if (this._element) { 7948 this.hide(); 7949 } 7950 }; 7951 7952 EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); 7953 } 7954 7955 _fixTitle() { 7956 const title = this._element.getAttribute('title'); 7957 7958 if (!title) { 7959 return; 7960 } 7961 7962 if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) { 7963 this._element.setAttribute('aria-label', title); 7964 } 7965 7966 this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility 7967 7968 7969 this._element.removeAttribute('title'); 7970 } 7971 7972 _enter() { 7973 if (this._isShown() || this._isHovered) { 7974 this._isHovered = true; 7975 return; 7976 } 7977 7978 this._isHovered = true; 7979 7980 this._setTimeout(() => { 7981 if (this._isHovered) { 7982 this.show(); 7983 } 7984 }, this._config.delay.show); 7985 } 7986 7987 _leave() { 7988 if (this._isWithActiveTrigger()) { 7989 return; 7990 } 7991 7992 this._isHovered = false; 7993 7994 this._setTimeout(() => { 7995 if (!this._isHovered) { 7996 this.hide(); 7997 } 7998 }, this._config.delay.hide); 7999 } 8000 8001 _setTimeout(handler, timeout) { 8002 clearTimeout(this._timeout); 8003 this._timeout = setTimeout(handler, timeout); 8004 } 8005 8006 _isWithActiveTrigger() { 8007 return Object.values(this._activeTrigger).includes(true); 8008 } 8009 8010 _getConfig(config) { 8011 const dataAttributes = Manipulator.getDataAttributes(this._element); 8012 8013 for (const dataAttribute of Object.keys(dataAttributes)) { 8014 if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) { 8015 delete dataAttributes[dataAttribute]; 8016 } 8017 } 8018 8019 config = { ...dataAttributes, 8020 ...(typeof config === 'object' && config ? config : {}) 8021 }; 8022 config = this._mergeConfigObj(config); 8023 config = this._configAfterMerge(config); 8024 8025 this._typeCheckConfig(config); 8026 8027 return config; 8028 } 8029 8030 _configAfterMerge(config) { 8031 config.container = config.container === false ? document.body : getElement(config.container); 8032 8033 if (typeof config.delay === 'number') { 8034 config.delay = { 8035 show: config.delay, 8036 hide: config.delay 8037 }; 8038 } 8039 8040 if (typeof config.title === 'number') { 8041 config.title = config.title.toString(); 8042 } 8043 8044 if (typeof config.content === 'number') { 8045 config.content = config.content.toString(); 8046 } 8047 8048 return config; 8049 } 8050 8051 _getDelegateConfig() { 8052 const config = {}; 8053 8054 for (const key in this._config) { 8055 if (this.constructor.Default[key] !== this._config[key]) { 8056 config[key] = this._config[key]; 8057 } 8058 } 8059 8060 config.selector = false; 8061 config.trigger = 'manual'; // In the future can be replaced with: 8062 // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]]) 8063 // `Object.fromEntries(keysWithDifferentValues)` 8064 8065 return config; 8066 } 8067 8068 _disposePopper() { 8069 if (this._popper) { 8070 this._popper.destroy(); 8071 8072 this._popper = null; 8073 } 8074 8075 if (this.tip) { 8076 this.tip.remove(); 8077 this.tip = null; 8078 } 8079 } // Static 8080 8081 8082 static jQueryInterface(config) { 8083 return this.each(function () { 8084 const data = Tooltip.getOrCreateInstance(this, config); 8085 8086 if (typeof config !== 'string') { 8087 return; 8088 } 8089 8090 if (typeof data[config] === 'undefined') { 8091 throw new TypeError(`No method named "${config}"`); 8092 } 8093 8094 data[config](); 8095 }); 8096 } 8097 8098} 8099/** 8100 * jQuery 8101 */ 8102 8103 8104defineJQueryPlugin(Tooltip); 8105 8106/** 8107 * -------------------------------------------------------------------------- 8108 * Bootstrap (v5.2.3): popover.js 8109 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 8110 * -------------------------------------------------------------------------- 8111 */ 8112/** 8113 * Constants 8114 */ 8115 8116const NAME$3 = 'popover'; 8117const SELECTOR_TITLE = '.popover-header'; 8118const SELECTOR_CONTENT = '.popover-body'; 8119const Default$2 = { ...Tooltip.Default, 8120 content: '', 8121 offset: [0, 8], 8122 placement: 'right', 8123 template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>', 8124 trigger: 'click' 8125}; 8126const DefaultType$2 = { ...Tooltip.DefaultType, 8127 content: '(null|string|element|function)' 8128}; 8129/** 8130 * Class definition 8131 */ 8132 8133class Popover extends Tooltip { 8134 // Getters 8135 static get Default() { 8136 return Default$2; 8137 } 8138 8139 static get DefaultType() { 8140 return DefaultType$2; 8141 } 8142 8143 static get NAME() { 8144 return NAME$3; 8145 } // Overrides 8146 8147 8148 _isWithContent() { 8149 return this._getTitle() || this._getContent(); 8150 } // Private 8151 8152 8153 _getContentForTemplate() { 8154 return { 8155 [SELECTOR_TITLE]: this._getTitle(), 8156 [SELECTOR_CONTENT]: this._getContent() 8157 }; 8158 } 8159 8160 _getContent() { 8161 return this._resolvePossibleFunction(this._config.content); 8162 } // Static 8163 8164 8165 static jQueryInterface(config) { 8166 return this.each(function () { 8167 const data = Popover.getOrCreateInstance(this, config); 8168 8169 if (typeof config !== 'string') { 8170 return; 8171 } 8172 8173 if (typeof data[config] === 'undefined') { 8174 throw new TypeError(`No method named "${config}"`); 8175 } 8176 8177 data[config](); 8178 }); 8179 } 8180 8181} 8182/** 8183 * jQuery 8184 */ 8185 8186 8187defineJQueryPlugin(Popover); 8188 8189/** 8190 * -------------------------------------------------------------------------- 8191 * Bootstrap (v5.2.3): scrollspy.js 8192 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 8193 * -------------------------------------------------------------------------- 8194 */ 8195/** 8196 * Constants 8197 */ 8198 8199const NAME$2 = 'scrollspy'; 8200const DATA_KEY$2 = 'bs.scrollspy'; 8201const EVENT_KEY$2 = `.${DATA_KEY$2}`; 8202const DATA_API_KEY = '.data-api'; 8203const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; 8204const EVENT_CLICK = `click${EVENT_KEY$2}`; 8205const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`; 8206const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; 8207const CLASS_NAME_ACTIVE$1 = 'active'; 8208const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; 8209const SELECTOR_TARGET_LINKS = '[href]'; 8210const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; 8211const SELECTOR_NAV_LINKS = '.nav-link'; 8212const SELECTOR_NAV_ITEMS = '.nav-item'; 8213const SELECTOR_LIST_ITEMS = '.list-group-item'; 8214const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`; 8215const SELECTOR_DROPDOWN = '.dropdown'; 8216const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle'; 8217const Default$1 = { 8218 offset: null, 8219 // TODO: v6 @deprecated, keep it for backwards compatibility reasons 8220 rootMargin: '0px 0px -25%', 8221 smoothScroll: false, 8222 target: null, 8223 threshold: [0.1, 0.5, 1] 8224}; 8225const DefaultType$1 = { 8226 offset: '(number|null)', 8227 // TODO v6 @deprecated, keep it for backwards compatibility reasons 8228 rootMargin: 'string', 8229 smoothScroll: 'boolean', 8230 target: 'element', 8231 threshold: 'array' 8232}; 8233/** 8234 * Class definition 8235 */ 8236 8237class ScrollSpy extends BaseComponent { 8238 constructor(element, config) { 8239 super(element, config); // this._element is the observablesContainer and config.target the menu links wrapper 8240 8241 this._targetLinks = new Map(); 8242 this._observableSections = new Map(); 8243 this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element; 8244 this._activeTarget = null; 8245 this._observer = null; 8246 this._previousScrollData = { 8247 visibleEntryTop: 0, 8248 parentScrollTop: 0 8249 }; 8250 this.refresh(); // initialize 8251 } // Getters 8252 8253 8254 static get Default() { 8255 return Default$1; 8256 } 8257 8258 static get DefaultType() { 8259 return DefaultType$1; 8260 } 8261 8262 static get NAME() { 8263 return NAME$2; 8264 } // Public 8265 8266 8267 refresh() { 8268 this._initializeTargetsAndObservables(); 8269 8270 this._maybeEnableSmoothScroll(); 8271 8272 if (this._observer) { 8273 this._observer.disconnect(); 8274 } else { 8275 this._observer = this._getNewObserver(); 8276 } 8277 8278 for (const section of this._observableSections.values()) { 8279 this._observer.observe(section); 8280 } 8281 } 8282 8283 dispose() { 8284 this._observer.disconnect(); 8285 8286 super.dispose(); 8287 } // Private 8288 8289 8290 _configAfterMerge(config) { 8291 // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case 8292 config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only 8293 8294 config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin; 8295 8296 if (typeof config.threshold === 'string') { 8297 config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value)); 8298 } 8299 8300 return config; 8301 } 8302 8303 _maybeEnableSmoothScroll() { 8304 if (!this._config.smoothScroll) { 8305 return; 8306 } // unregister any previous listeners 8307 8308 8309 EventHandler.off(this._config.target, EVENT_CLICK); 8310 EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => { 8311 const observableSection = this._observableSections.get(event.target.hash); 8312 8313 if (observableSection) { 8314 event.preventDefault(); 8315 const root = this._rootElement || window; 8316 const height = observableSection.offsetTop - this._element.offsetTop; 8317 8318 if (root.scrollTo) { 8319 root.scrollTo({ 8320 top: height, 8321 behavior: 'smooth' 8322 }); 8323 return; 8324 } // Chrome 60 doesn't support `scrollTo` 8325 8326 8327 root.scrollTop = height; 8328 } 8329 }); 8330 } 8331 8332 _getNewObserver() { 8333 const options = { 8334 root: this._rootElement, 8335 threshold: this._config.threshold, 8336 rootMargin: this._config.rootMargin 8337 }; 8338 return new IntersectionObserver(entries => this._observerCallback(entries), options); 8339 } // The logic of selection 8340 8341 8342 _observerCallback(entries) { 8343 const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`); 8344 8345 const activate = entry => { 8346 this._previousScrollData.visibleEntryTop = entry.target.offsetTop; 8347 8348 this._process(targetElement(entry)); 8349 }; 8350 8351 const parentScrollTop = (this._rootElement || document.documentElement).scrollTop; 8352 const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop; 8353 this._previousScrollData.parentScrollTop = parentScrollTop; 8354 8355 for (const entry of entries) { 8356 if (!entry.isIntersecting) { 8357 this._activeTarget = null; 8358 8359 this._clearActiveClass(targetElement(entry)); 8360 8361 continue; 8362 } 8363 8364 const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; // if we are scrolling down, pick the bigger offsetTop 8365 8366 if (userScrollsDown && entryIsLowerThanPrevious) { 8367 activate(entry); // if parent isn't scrolled, let's keep the first visible item, breaking the iteration 8368 8369 if (!parentScrollTop) { 8370 return; 8371 } 8372 8373 continue; 8374 } // if we are scrolling up, pick the smallest offsetTop 8375 8376 8377 if (!userScrollsDown && !entryIsLowerThanPrevious) { 8378 activate(entry); 8379 } 8380 } 8381 } 8382 8383 _initializeTargetsAndObservables() { 8384 this._targetLinks = new Map(); 8385 this._observableSections = new Map(); 8386 const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target); 8387 8388 for (const anchor of targetLinks) { 8389 // ensure that the anchor has an id and is not disabled 8390 if (!anchor.hash || isDisabled(anchor)) { 8391 continue; 8392 } 8393 8394 const observableSection = SelectorEngine.findOne(anchor.hash, this._element); // ensure that the observableSection exists & is visible 8395 8396 if (isVisible(observableSection)) { 8397 this._targetLinks.set(anchor.hash, anchor); 8398 8399 this._observableSections.set(anchor.hash, observableSection); 8400 } 8401 } 8402 } 8403 8404 _process(target) { 8405 if (this._activeTarget === target) { 8406 return; 8407 } 8408 8409 this._clearActiveClass(this._config.target); 8410 8411 this._activeTarget = target; 8412 target.classList.add(CLASS_NAME_ACTIVE$1); 8413 8414 this._activateParents(target); 8415 8416 EventHandler.trigger(this._element, EVENT_ACTIVATE, { 8417 relatedTarget: target 8418 }); 8419 } 8420 8421 _activateParents(target) { 8422 // Activate dropdown parents 8423 if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { 8424 SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1); 8425 return; 8426 } 8427 8428 for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) { 8429 // Set triggered links parents as active 8430 // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor 8431 for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) { 8432 item.classList.add(CLASS_NAME_ACTIVE$1); 8433 } 8434 } 8435 } 8436 8437 _clearActiveClass(parent) { 8438 parent.classList.remove(CLASS_NAME_ACTIVE$1); 8439 const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent); 8440 8441 for (const node of activeNodes) { 8442 node.classList.remove(CLASS_NAME_ACTIVE$1); 8443 } 8444 } // Static 8445 8446 8447 static jQueryInterface(config) { 8448 return this.each(function () { 8449 const data = ScrollSpy.getOrCreateInstance(this, config); 8450 8451 if (typeof config !== 'string') { 8452 return; 8453 } 8454 8455 if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { 8456 throw new TypeError(`No method named "${config}"`); 8457 } 8458 8459 data[config](); 8460 }); 8461 } 8462 8463} 8464/** 8465 * Data API implementation 8466 */ 8467 8468 8469EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => { 8470 for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) { 8471 ScrollSpy.getOrCreateInstance(spy); 8472 } 8473}); 8474/** 8475 * jQuery 8476 */ 8477 8478defineJQueryPlugin(ScrollSpy); 8479 8480/** 8481 * -------------------------------------------------------------------------- 8482 * Bootstrap (v5.2.3): tab.js 8483 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 8484 * -------------------------------------------------------------------------- 8485 */ 8486/** 8487 * Constants 8488 */ 8489 8490const NAME$1 = 'tab'; 8491const DATA_KEY$1 = 'bs.tab'; 8492const EVENT_KEY$1 = `.${DATA_KEY$1}`; 8493const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`; 8494const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`; 8495const EVENT_SHOW$1 = `show${EVENT_KEY$1}`; 8496const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`; 8497const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`; 8498const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`; 8499const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`; 8500const ARROW_LEFT_KEY = 'ArrowLeft'; 8501const ARROW_RIGHT_KEY = 'ArrowRight'; 8502const ARROW_UP_KEY = 'ArrowUp'; 8503const ARROW_DOWN_KEY = 'ArrowDown'; 8504const CLASS_NAME_ACTIVE = 'active'; 8505const CLASS_NAME_FADE$1 = 'fade'; 8506const CLASS_NAME_SHOW$1 = 'show'; 8507const CLASS_DROPDOWN = 'dropdown'; 8508const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; 8509const SELECTOR_DROPDOWN_MENU = '.dropdown-menu'; 8510const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)'; 8511const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; 8512const SELECTOR_OUTER = '.nav-item, .list-group-item'; 8513const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`; 8514const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // todo:v6: could be only `tab` 8515 8516const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`; 8517const 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"]`; 8518/** 8519 * Class definition 8520 */ 8521 8522class Tab extends BaseComponent { 8523 constructor(element) { 8524 super(element); 8525 this._parent = this._element.closest(SELECTOR_TAB_PANEL); 8526 8527 if (!this._parent) { 8528 return; // todo: should Throw exception on v6 8529 // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`) 8530 } // Set up initial aria attributes 8531 8532 8533 this._setInitialAttributes(this._parent, this._getChildren()); 8534 8535 EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event)); 8536 } // Getters 8537 8538 8539 static get NAME() { 8540 return NAME$1; 8541 } // Public 8542 8543 8544 show() { 8545 // Shows this elem and deactivate the active sibling if exists 8546 const innerElem = this._element; 8547 8548 if (this._elemIsActive(innerElem)) { 8549 return; 8550 } // Search for active tab on same parent to deactivate it 8551 8552 8553 const active = this._getActiveElem(); 8554 8555 const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, { 8556 relatedTarget: innerElem 8557 }) : null; 8558 const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, { 8559 relatedTarget: active 8560 }); 8561 8562 if (showEvent.defaultPrevented || hideEvent && hideEvent.defaultPrevented) { 8563 return; 8564 } 8565 8566 this._deactivate(active, innerElem); 8567 8568 this._activate(innerElem, active); 8569 } // Private 8570 8571 8572 _activate(element, relatedElem) { 8573 if (!element) { 8574 return; 8575 } 8576 8577 element.classList.add(CLASS_NAME_ACTIVE); 8578 8579 this._activate(getElementFromSelector(element)); // Search and activate/show the proper section 8580 8581 8582 const complete = () => { 8583 if (element.getAttribute('role') !== 'tab') { 8584 element.classList.add(CLASS_NAME_SHOW$1); 8585 return; 8586 } 8587 8588 element.removeAttribute('tabindex'); 8589 element.setAttribute('aria-selected', true); 8590 8591 this._toggleDropDown(element, true); 8592 8593 EventHandler.trigger(element, EVENT_SHOWN$1, { 8594 relatedTarget: relatedElem 8595 }); 8596 }; 8597 8598 this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); 8599 } 8600 8601 _deactivate(element, relatedElem) { 8602 if (!element) { 8603 return; 8604 } 8605 8606 element.classList.remove(CLASS_NAME_ACTIVE); 8607 element.blur(); 8608 8609 this._deactivate(getElementFromSelector(element)); // Search and deactivate the shown section too 8610 8611 8612 const complete = () => { 8613 if (element.getAttribute('role') !== 'tab') { 8614 element.classList.remove(CLASS_NAME_SHOW$1); 8615 return; 8616 } 8617 8618 element.setAttribute('aria-selected', false); 8619 element.setAttribute('tabindex', '-1'); 8620 8621 this._toggleDropDown(element, false); 8622 8623 EventHandler.trigger(element, EVENT_HIDDEN$1, { 8624 relatedTarget: relatedElem 8625 }); 8626 }; 8627 8628 this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); 8629 } 8630 8631 _keydown(event) { 8632 if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) { 8633 return; 8634 } 8635 8636 event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page 8637 8638 event.preventDefault(); 8639 const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key); 8640 const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true); 8641 8642 if (nextActiveElement) { 8643 nextActiveElement.focus({ 8644 preventScroll: true 8645 }); 8646 Tab.getOrCreateInstance(nextActiveElement).show(); 8647 } 8648 } 8649 8650 _getChildren() { 8651 // collection of inner elements 8652 return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent); 8653 } 8654 8655 _getActiveElem() { 8656 return this._getChildren().find(child => this._elemIsActive(child)) || null; 8657 } 8658 8659 _setInitialAttributes(parent, children) { 8660 this._setAttributeIfNotExists(parent, 'role', 'tablist'); 8661 8662 for (const child of children) { 8663 this._setInitialAttributesOnChild(child); 8664 } 8665 } 8666 8667 _setInitialAttributesOnChild(child) { 8668 child = this._getInnerElement(child); 8669 8670 const isActive = this._elemIsActive(child); 8671 8672 const outerElem = this._getOuterElement(child); 8673 8674 child.setAttribute('aria-selected', isActive); 8675 8676 if (outerElem !== child) { 8677 this._setAttributeIfNotExists(outerElem, 'role', 'presentation'); 8678 } 8679 8680 if (!isActive) { 8681 child.setAttribute('tabindex', '-1'); 8682 } 8683 8684 this._setAttributeIfNotExists(child, 'role', 'tab'); // set attributes to the related panel too 8685 8686 8687 this._setInitialAttributesOnTargetPanel(child); 8688 } 8689 8690 _setInitialAttributesOnTargetPanel(child) { 8691 const target = getElementFromSelector(child); 8692 8693 if (!target) { 8694 return; 8695 } 8696 8697 this._setAttributeIfNotExists(target, 'role', 'tabpanel'); 8698 8699 if (child.id) { 8700 this._setAttributeIfNotExists(target, 'aria-labelledby', `#${child.id}`); 8701 } 8702 } 8703 8704 _toggleDropDown(element, open) { 8705 const outerElem = this._getOuterElement(element); 8706 8707 if (!outerElem.classList.contains(CLASS_DROPDOWN)) { 8708 return; 8709 } 8710 8711 const toggle = (selector, className) => { 8712 const element = SelectorEngine.findOne(selector, outerElem); 8713 8714 if (element) { 8715 element.classList.toggle(className, open); 8716 } 8717 }; 8718 8719 toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE); 8720 toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1); 8721 outerElem.setAttribute('aria-expanded', open); 8722 } 8723 8724 _setAttributeIfNotExists(element, attribute, value) { 8725 if (!element.hasAttribute(attribute)) { 8726 element.setAttribute(attribute, value); 8727 } 8728 } 8729 8730 _elemIsActive(elem) { 8731 return elem.classList.contains(CLASS_NAME_ACTIVE); 8732 } // Try to get the inner element (usually the .nav-link) 8733 8734 8735 _getInnerElement(elem) { 8736 return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem); 8737 } // Try to get the outer element (usually the .nav-item) 8738 8739 8740 _getOuterElement(elem) { 8741 return elem.closest(SELECTOR_OUTER) || elem; 8742 } // Static 8743 8744 8745 static jQueryInterface(config) { 8746 return this.each(function () { 8747 const data = Tab.getOrCreateInstance(this); 8748 8749 if (typeof config !== 'string') { 8750 return; 8751 } 8752 8753 if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { 8754 throw new TypeError(`No method named "${config}"`); 8755 } 8756 8757 data[config](); 8758 }); 8759 } 8760 8761} 8762/** 8763 * Data API implementation 8764 */ 8765 8766 8767EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { 8768 if (['A', 'AREA'].includes(this.tagName)) { 8769 event.preventDefault(); 8770 } 8771 8772 if (isDisabled(this)) { 8773 return; 8774 } 8775 8776 Tab.getOrCreateInstance(this).show(); 8777}); 8778/** 8779 * Initialize on focus 8780 */ 8781 8782EventHandler.on(window, EVENT_LOAD_DATA_API, () => { 8783 for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) { 8784 Tab.getOrCreateInstance(element); 8785 } 8786}); 8787/** 8788 * jQuery 8789 */ 8790 8791defineJQueryPlugin(Tab); 8792 8793/** 8794 * -------------------------------------------------------------------------- 8795 * Bootstrap (v5.2.3): toast.js 8796 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 8797 * -------------------------------------------------------------------------- 8798 */ 8799/** 8800 * Constants 8801 */ 8802 8803const NAME = 'toast'; 8804const DATA_KEY = 'bs.toast'; 8805const EVENT_KEY = `.${DATA_KEY}`; 8806const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`; 8807const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`; 8808const EVENT_FOCUSIN = `focusin${EVENT_KEY}`; 8809const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`; 8810const EVENT_HIDE = `hide${EVENT_KEY}`; 8811const EVENT_HIDDEN = `hidden${EVENT_KEY}`; 8812const EVENT_SHOW = `show${EVENT_KEY}`; 8813const EVENT_SHOWN = `shown${EVENT_KEY}`; 8814const CLASS_NAME_FADE = 'fade'; 8815const CLASS_NAME_HIDE = 'hide'; // @deprecated - kept here only for backwards compatibility 8816 8817const CLASS_NAME_SHOW = 'show'; 8818const CLASS_NAME_SHOWING = 'showing'; 8819const DefaultType = { 8820 animation: 'boolean', 8821 autohide: 'boolean', 8822 delay: 'number' 8823}; 8824const Default = { 8825 animation: true, 8826 autohide: true, 8827 delay: 5000 8828}; 8829/** 8830 * Class definition 8831 */ 8832 8833class Toast extends BaseComponent { 8834 constructor(element, config) { 8835 super(element, config); 8836 this._timeout = null; 8837 this._hasMouseInteraction = false; 8838 this._hasKeyboardInteraction = false; 8839 8840 this._setListeners(); 8841 } // Getters 8842 8843 8844 static get Default() { 8845 return Default; 8846 } 8847 8848 static get DefaultType() { 8849 return DefaultType; 8850 } 8851 8852 static get NAME() { 8853 return NAME; 8854 } // Public 8855 8856 8857 show() { 8858 const showEvent = EventHandler.trigger(this._element, EVENT_SHOW); 8859 8860 if (showEvent.defaultPrevented) { 8861 return; 8862 } 8863 8864 this._clearTimeout(); 8865 8866 if (this._config.animation) { 8867 this._element.classList.add(CLASS_NAME_FADE); 8868 } 8869 8870 const complete = () => { 8871 this._element.classList.remove(CLASS_NAME_SHOWING); 8872 8873 EventHandler.trigger(this._element, EVENT_SHOWN); 8874 8875 this._maybeScheduleHide(); 8876 }; 8877 8878 this._element.classList.remove(CLASS_NAME_HIDE); // @deprecated 8879 8880 8881 reflow(this._element); 8882 8883 this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING); 8884 8885 this._queueCallback(complete, this._element, this._config.animation); 8886 } 8887 8888 hide() { 8889 if (!this.isShown()) { 8890 return; 8891 } 8892 8893 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE); 8894 8895 if (hideEvent.defaultPrevented) { 8896 return; 8897 } 8898 8899 const complete = () => { 8900 this._element.classList.add(CLASS_NAME_HIDE); // @deprecated 8901 8902 8903 this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW); 8904 8905 EventHandler.trigger(this._element, EVENT_HIDDEN); 8906 }; 8907 8908 this._element.classList.add(CLASS_NAME_SHOWING); 8909 8910 this._queueCallback(complete, this._element, this._config.animation); 8911 } 8912 8913 dispose() { 8914 this._clearTimeout(); 8915 8916 if (this.isShown()) { 8917 this._element.classList.remove(CLASS_NAME_SHOW); 8918 } 8919 8920 super.dispose(); 8921 } 8922 8923 isShown() { 8924 return this._element.classList.contains(CLASS_NAME_SHOW); 8925 } // Private 8926 8927 8928 _maybeScheduleHide() { 8929 if (!this._config.autohide) { 8930 return; 8931 } 8932 8933 if (this._hasMouseInteraction || this._hasKeyboardInteraction) { 8934 return; 8935 } 8936 8937 this._timeout = setTimeout(() => { 8938 this.hide(); 8939 }, this._config.delay); 8940 } 8941 8942 _onInteraction(event, isInteracting) { 8943 switch (event.type) { 8944 case 'mouseover': 8945 case 'mouseout': 8946 { 8947 this._hasMouseInteraction = isInteracting; 8948 break; 8949 } 8950 8951 case 'focusin': 8952 case 'focusout': 8953 { 8954 this._hasKeyboardInteraction = isInteracting; 8955 break; 8956 } 8957 } 8958 8959 if (isInteracting) { 8960 this._clearTimeout(); 8961 8962 return; 8963 } 8964 8965 const nextElement = event.relatedTarget; 8966 8967 if (this._element === nextElement || this._element.contains(nextElement)) { 8968 return; 8969 } 8970 8971 this._maybeScheduleHide(); 8972 } 8973 8974 _setListeners() { 8975 EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true)); 8976 EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false)); 8977 EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true)); 8978 EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false)); 8979 } 8980 8981 _clearTimeout() { 8982 clearTimeout(this._timeout); 8983 this._timeout = null; 8984 } // Static 8985 8986 8987 static jQueryInterface(config) { 8988 return this.each(function () { 8989 const data = Toast.getOrCreateInstance(this, config); 8990 8991 if (typeof config === 'string') { 8992 if (typeof data[config] === 'undefined') { 8993 throw new TypeError(`No method named "${config}"`); 8994 } 8995 8996 data[config](this); 8997 } 8998 }); 8999 } 9000 9001} 9002/** 9003 * Data API implementation 9004 */ 9005 9006 9007enableDismissTrigger(Toast); 9008/** 9009 * jQuery 9010 */ 9011 9012defineJQueryPlugin(Toast); 9013 9014 9015//# sourceMappingURL=bootstrap.esm.js.map 9016 9017 9018/***/ }), 9019
vendor: 12,407 bytes, lines 9020-9414
9020/***/ "./node_modules/jquery-match-height/dist/jquery.matchHeight.js": 9021/*!*********************************************************************!*\ 9022 !*** ./node_modules/jquery-match-height/dist/jquery.matchHeight.js ***! 9023 \*********************************************************************/ 9024/***/ ((module, exports, __webpack_require__) => { 9025 9026var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/** 9027* jquery-match-height 0.7.2 by @liabru 9028* http://brm.io/jquery-match-height/ 9029* License: MIT 9030*/ 9031 9032;(function(factory) { // eslint-disable-line no-extra-semi 9033 'use strict'; 9034 if (true) { 9035 // AMD 9036 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ "jquery")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), 9037 __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? 9038 (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), 9039 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 9040 } else {} 9041})(function($) { 9042 /* 9043 * internal 9044 */ 9045 9046 var _previousResizeWidth = -1, 9047 _updateTimeout = -1; 9048 9049 /* 9050 * _parse 9051 * value parse utility function 9052 */ 9053 9054 var _parse = function(value) { 9055 // parse value and convert NaN to 0 9056 return parseFloat(value) || 0; 9057 }; 9058 9059 /* 9060 * _rows 9061 * utility function returns array of jQuery selections representing each row 9062 * (as displayed after float wrapping applied by browser) 9063 */ 9064 9065 var _rows = function(elements) { 9066 var tolerance = 1, 9067 $elements = $(elements), 9068 lastTop = null, 9069 rows = []; 9070 9071 // group elements by their top position 9072 $elements.each(function(){ 9073 var $that = $(this), 9074 top = $that.offset().top - _parse($that.css('margin-top')), 9075 lastRow = rows.length > 0 ? rows[rows.length - 1] : null; 9076 9077 if (lastRow === null) { 9078 // first item on the row, so just push it 9079 rows.push($that); 9080 } else { 9081 // if the row top is the same, add to the row group 9082 if (Math.floor(Math.abs(lastTop - top)) <= tolerance) { 9083 rows[rows.length - 1] = lastRow.add($that); 9084 } else { 9085 // otherwise start a new row group 9086 rows.push($that); 9087 } 9088 } 9089 9090 // keep track of the last row top 9091 lastTop = top; 9092 }); 9093 9094 return rows; 9095 }; 9096 9097 /* 9098 * _parseOptions 9099 * handle plugin options 9100 */ 9101 9102 var _parseOptions = function(options) { 9103 var opts = { 9104 byRow: true, 9105 property: 'height', 9106 target: null, 9107 remove: false 9108 }; 9109 9110 if (typeof options === 'object') { 9111 return $.extend(opts, options); 9112 } 9113 9114 if (typeof options === 'boolean') { 9115 opts.byRow = options; 9116 } else if (options === 'remove') { 9117 opts.remove = true; 9118 } 9119 9120 return opts; 9121 }; 9122 9123 /* 9124 * matchHeight 9125 * plugin definition 9126 */ 9127 9128 var matchHeight = $.fn.matchHeight = function(options) { 9129 var opts = _parseOptions(options); 9130 9131 // handle remove 9132 if (opts.remove) { 9133 var that = this; 9134 9135 // remove fixed height from all selected elements 9136 this.css(opts.property, ''); 9137 9138 // remove selected elements from all groups 9139 $.each(matchHeight._groups, function(key, group) { 9140 group.elements = group.elements.not(that); 9141 }); 9142 9143 // TODO: cleanup empty groups 9144 9145 return this; 9146 } 9147 9148 if (this.length <= 1 && !opts.target) { 9149 return this; 9150 } 9151 9152 // keep track of this group so we can re-apply later on load and resize events 9153 matchHeight._groups.push({ 9154 elements: this, 9155 options: opts 9156 }); 9157 9158 // match each element's height to the tallest element in the selection 9159 matchHeight._apply(this, opts); 9160 9161 return this; 9162 }; 9163 9164 /* 9165 * plugin global options 9166 */ 9167 9168 matchHeight.version = '0.7.2'; 9169 matchHeight._groups = []; 9170 matchHeight._throttle = 80; 9171 matchHeight._maintainScroll = false; 9172 matchHeight._beforeUpdate = null; 9173 matchHeight._afterUpdate = null; 9174 matchHeight._rows = _rows; 9175 matchHeight._parse = _parse; 9176 matchHeight._parseOptions = _parseOptions; 9177 9178 /* 9179 * matchHeight._apply 9180 * apply matchHeight to given elements 9181 */ 9182 9183 matchHeight._apply = function(elements, options) { 9184 var opts = _parseOptions(options), 9185 $elements = $(elements), 9186 rows = [$elements]; 9187 9188 // take note of scroll position 9189 var scrollTop = $(window).scrollTop(), 9190 htmlHeight = $('html').outerHeight(true); 9191 9192 // get hidden parents 9193 var $hiddenParents = $elements.parents().filter(':hidden'); 9194 9195 // cache the original inline style 9196 $hiddenParents.each(function() { 9197 var $that = $(this); 9198 $that.data('style-cache', $that.attr('style')); 9199 }); 9200 9201 // temporarily must force hidden parents visible 9202 $hiddenParents.css('display', 'block'); 9203 9204 // get rows if using byRow, otherwise assume one row 9205 if (opts.byRow && !opts.target) { 9206 9207 // must first force an arbitrary equal height so floating elements break evenly 9208 $elements.each(function() { 9209 var $that = $(this), 9210 display = $that.css('display'); 9211 9212 // temporarily force a usable display value 9213 if (display !== 'inline-block' && display !== 'flex' && display !== 'inline-flex') { 9214 display = 'block'; 9215 } 9216 9217 // cache the original inline style 9218 $that.data('style-cache', $that.attr('style')); 9219 9220 $that.css({ 9221 'display': display, 9222 'padding-top': '0', 9223 'padding-bottom': '0', 9224 'margin-top': '0', 9225 'margin-bottom': '0', 9226 'border-top-width': '0', 9227 'border-bottom-width': '0', 9228 'height': '100px', 9229 'overflow': 'hidden' 9230 }); 9231 }); 9232 9233 // get the array of rows (based on element top position) 9234 rows = _rows($elements); 9235 9236 // revert original inline styles 9237 $elements.each(function() { 9238 var $that = $(this); 9239 $that.attr('style', $that.data('style-cache') || ''); 9240 }); 9241 } 9242 9243 $.each(rows, function(key, row) { 9244 var $row = $(row), 9245 targetHeight = 0; 9246 9247 if (!opts.target) { 9248 // skip apply to rows with only one item 9249 if (opts.byRow && $row.length <= 1) { 9250 $row.css(opts.property, ''); 9251 return; 9252 } 9253 9254 // iterate the row and find the max height 9255 $row.each(function(){ 9256 var $that = $(this), 9257 style = $that.attr('style'), 9258 display = $that.css('display'); 9259 9260 // temporarily force a usable display value 9261 if (display !== 'inline-block' && display !== 'flex' && display !== 'inline-flex') { 9262 display = 'block'; 9263 } 9264 9265 // ensure we get the correct actual height (and not a previously set height value) 9266 var css = { 'display': display }; 9267 css[opts.property] = ''; 9268 $that.css(css); 9269 9270 // find the max height (including padding, but not margin) 9271 if ($that.outerHeight(false) > targetHeight) { 9272 targetHeight = $that.outerHeight(false); 9273 } 9274 9275 // revert styles 9276 if (style) { 9277 $that.attr('style', style); 9278 } else { 9279 $that.css('display', ''); 9280 } 9281 }); 9282 } else { 9283 // if target set, use the height of the target element 9284 targetHeight = opts.target.outerHeight(false); 9285 } 9286 9287 // iterate the row and apply the height to all elements 9288 $row.each(function(){ 9289 var $that = $(this), 9290 verticalPadding = 0; 9291 9292 // don't apply to a target 9293 if (opts.target && $that.is(opts.target)) { 9294 return; 9295 } 9296 9297 // handle padding and border correctly (required when not using border-box) 9298 if ($that.css('box-sizing') !== 'border-box') { 9299 verticalPadding += _parse($that.css('border-top-width')) + _parse($that.css('border-bottom-width')); 9300 verticalPadding += _parse($that.css('padding-top')) + _parse($that.css('padding-bottom')); 9301 } 9302 9303 // set the height (accounting for padding and border) 9304 $that.css(opts.property, (targetHeight - verticalPadding) + 'px'); 9305 }); 9306 }); 9307 9308 // revert hidden parents 9309 $hiddenParents.each(function() { 9310 var $that = $(this); 9311 $that.attr('style', $that.data('style-cache') || null); 9312 }); 9313 9314 // restore scroll position if enabled 9315 if (matchHeight._maintainScroll) { 9316 $(window).scrollTop((scrollTop / htmlHeight) * $('html').outerHeight(true)); 9317 } 9318 9319 return this; 9320 }; 9321 9322 /* 9323 * matchHeight._applyDataApi 9324 * applies matchHeight to all elements with a data-match-height attribute 9325 */ 9326 9327 matchHeight._applyDataApi = function() { 9328 var groups = {}; 9329 9330 // generate groups by their groupId set by elements using data-match-height 9331 $('[data-match-height], [data-mh]').each(function() { 9332 var $this = $(this), 9333 groupId = $this.attr('data-mh') || $this.attr('data-match-height'); 9334 9335 if (groupId in groups) { 9336 groups[groupId] = groups[groupId].add($this); 9337 } else { 9338 groups[groupId] = $this; 9339 } 9340 }); 9341 9342 // apply matchHeight to each group 9343 $.each(groups, function() { 9344 this.matchHeight(true); 9345 }); 9346 }; 9347 9348 /* 9349 * matchHeight._update 9350 * updates matchHeight on all current groups with their correct options 9351 */ 9352 9353 var _update = function(event) { 9354 if (matchHeight._beforeUpdate) { 9355 matchHeight._beforeUpdate(event, matchHeight._groups); 9356 } 9357 9358 $.each(matchHeight._groups, function() { 9359 matchHeight._apply(this.elements, this.options); 9360 }); 9361 9362 if (matchHeight._afterUpdate) { 9363 matchHeight._afterUpdate(event, matchHeight._groups); 9364 } 9365 }; 9366 9367 matchHeight._update = function(throttle, event) { 9368 // prevent update if fired from a resize event 9369 // where the viewport width hasn't actually changed 9370 // fixes an event looping bug in IE8 9371 if (event && event.type === 'resize') { 9372 var windowWidth = $(window).width(); 9373 if (windowWidth === _previousResizeWidth) { 9374 return; 9375 } 9376 _previousResizeWidth = windowWidth; 9377 } 9378 9379 // throttle updates 9380 if (!throttle) { 9381 _update(event); 9382 } else if (_updateTimeout === -1) { 9383 _updateTimeout = setTimeout(function() { 9384 _update(event); 9385 _updateTimeout = -1; 9386 }, matchHeight._throttle); 9387 } 9388 }; 9389 9390 /* 9391 * bind events 9392 */ 9393 9394 // apply on DOM ready event 9395 $(matchHeight._applyDataApi); 9396 9397 // use on or bind where supported 9398 var on = $.fn.on ? 'on' : 'bind'; 9399 9400 // update heights on load and resize events 9401 $(window)[on]('load', function(event) { 9402 matchHeight._update(false, event); 9403 }); 9404 9405 // throttled update heights on resize events 9406 $(window)[on]('resize orientationchange', function(event) { 9407 matchHeight._update(true, event); 9408 }); 9409 9410}); 9411 9412 9413/***/ }), 9414
9415/***/ "./src/styles/main.scss": 9416/*!******************************!*\ 9417 !*** ./src/styles/main.scss ***! 9418 \******************************/ 9419/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 9420 9421"use strict"; 9422__webpack_require__.r(__webpack_exports__); 9423// extracted by mini-css-extract-plugin 9424 9425 9426/***/ }), 9427
vendor: 89,570 bytes, lines 9428-12446
9428/***/ "./node_modules/slick-carousel/slick/slick.js": 9429/*!****************************************************!*\ 9430 !*** ./node_modules/slick-carousel/slick/slick.js ***! 9431 \****************************************************/ 9432/***/ ((module, exports, __webpack_require__) => { 9433 9434var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* 9435 _ _ _ _ 9436 ___| (_) ___| | __ (_)___ 9437/ __| | |/ __| |/ / | / __| 9438\__ \ | | (__| < _ | \__ \ 9439|___/_|_|\___|_|\_(_)/ |___/ 9440 |__/ 9441 9442 Version: 1.8.1 9443 Author: Ken Wheeler 9444 Website: http://kenwheeler.github.io 9445 Docs: http://kenwheeler.github.io/slick 9446 Repo: http://github.com/kenwheeler/slick 9447 Issues: http://github.com/kenwheeler/slick/issues 9448 9449 */ 9450/* global window, document, define, jQuery, setInterval, clearInterval */ 9451;(function(factory) { 9452 'use strict'; 9453 if (true) { 9454 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ "jquery")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), 9455 __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? 9456 (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), 9457 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 9458 } else {} 9459 9460}(function($) { 9461 'use strict'; 9462 var Slick = window.Slick || {}; 9463 9464 Slick = (function() { 9465 9466 var instanceUid = 0; 9467 9468 function Slick(element, settings) { 9469 9470 var _ = this, dataSettings; 9471 9472 _.defaults = { 9473 accessibility: true, 9474 adaptiveHeight: false, 9475 appendArrows: $(element), 9476 appendDots: $(element), 9477 arrows: true, 9478 asNavFor: null, 9479 prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>', 9480 nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>', 9481 autoplay: false, 9482 autoplaySpeed: 3000, 9483 centerMode: false, 9484 centerPadding: '50px', 9485 cssEase: 'ease', 9486 customPaging: function(slider, i) { 9487 return $('<button type="button" />').text(i + 1); 9488 }, 9489 dots: false, 9490 dotsClass: 'slick-dots', 9491 draggable: true, 9492 easing: 'linear', 9493 edgeFriction: 0.35, 9494 fade: false, 9495 focusOnSelect: false, 9496 focusOnChange: false, 9497 infinite: true, 9498 initialSlide: 0, 9499 lazyLoad: 'ondemand', 9500 mobileFirst: false, 9501 pauseOnHover: true, 9502 pauseOnFocus: true, 9503 pauseOnDotsHover: false, 9504 respondTo: 'window', 9505 responsive: null, 9506 rows: 1, 9507 rtl: false, 9508 slide: '', 9509 slidesPerRow: 1, 9510 slidesToShow: 1, 9511 slidesToScroll: 1, 9512 speed: 500, 9513 swipe: true, 9514 swipeToSlide: false, 9515 touchMove: true, 9516 touchThreshold: 5, 9517 useCSS: true, 9518 useTransform: true, 9519 variableWidth: false, 9520 vertical: false, 9521 verticalSwiping: false, 9522 waitForAnimate: true, 9523 zIndex: 1000 9524 }; 9525 9526 _.initials = { 9527 animating: false, 9528 dragging: false, 9529 autoPlayTimer: null, 9530 currentDirection: 0, 9531 currentLeft: null, 9532 currentSlide: 0, 9533 direction: 1, 9534 $dots: null, 9535 listWidth: null, 9536 listHeight: null, 9537 loadIndex: 0, 9538 $nextArrow: null, 9539 $prevArrow: null, 9540 scrolling: false, 9541 slideCount: null, 9542 slideWidth: null, 9543 $slideTrack: null, 9544 $slides: null, 9545 sliding: false, 9546 slideOffset: 0, 9547 swipeLeft: null, 9548 swiping: false, 9549 $list: null, 9550 touchObject: {}, 9551 transformsEnabled: false, 9552 unslicked: false 9553 }; 9554 9555 $.extend(_, _.initials); 9556 9557 _.activeBreakpoint = null; 9558 _.animType = null; 9559 _.animProp = null; 9560 _.breakpoints = []; 9561 _.breakpointSettings = []; 9562 _.cssTransitions = false; 9563 _.focussed = false; 9564 _.interrupted = false; 9565 _.hidden = 'hidden'; 9566 _.paused = true; 9567 _.positionProp = null; 9568 _.respondTo = null; 9569 _.rowCount = 1; 9570 _.shouldClick = true; 9571 _.$slider = $(element); 9572 _.$slidesCache = null; 9573 _.transformType = null; 9574 _.transitionType = null; 9575 _.visibilityChange = 'visibilitychange'; 9576 _.windowWidth = 0; 9577 _.windowTimer = null; 9578 9579 dataSettings = $(element).data('slick') || {}; 9580 9581 _.options = $.extend({}, _.defaults, settings, dataSettings); 9582 9583 _.currentSlide = _.options.initialSlide; 9584 9585 _.originalSettings = _.options; 9586 9587 if (typeof document.mozHidden !== 'undefined') { 9588 _.hidden = 'mozHidden'; 9589 _.visibilityChange = 'mozvisibilitychange'; 9590 } else if (typeof document.webkitHidden !== 'undefined') { 9591 _.hidden = 'webkitHidden'; 9592 _.visibilityChange = 'webkitvisibilitychange'; 9593 } 9594 9595 _.autoPlay = $.proxy(_.autoPlay, _); 9596 _.autoPlayClear = $.proxy(_.autoPlayClear, _); 9597 _.autoPlayIterator = $.proxy(_.autoPlayIterator, _); 9598 _.changeSlide = $.proxy(_.changeSlide, _); 9599 _.clickHandler = $.proxy(_.clickHandler, _); 9600 _.selectHandler = $.proxy(_.selectHandler, _); 9601 _.setPosition = $.proxy(_.setPosition, _); 9602 _.swipeHandler = $.proxy(_.swipeHandler, _); 9603 _.dragHandler = $.proxy(_.dragHandler, _); 9604 _.keyHandler = $.proxy(_.keyHandler, _); 9605 9606 _.instanceUid = instanceUid++; 9607 9608 // A simple way to check for HTML strings 9609 // Strict HTML recognition (must start with <) 9610 // Extracted from jQuery v1.11 source 9611 _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/; 9612 9613 9614 _.registerBreakpoints(); 9615 _.init(true); 9616 9617 } 9618 9619 return Slick; 9620 9621 }()); 9622 9623 Slick.prototype.activateADA = function() { 9624 var _ = this; 9625 9626 _.$slideTrack.find('.slick-active').attr({ 9627 'aria-hidden': 'false' 9628 }).find('a, input, button, select').attr({ 9629 'tabindex': '0' 9630 }); 9631 9632 }; 9633 9634 Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) { 9635 9636 var _ = this; 9637 9638 if (typeof(index) === 'boolean') { 9639 addBefore = index; 9640 index = null; 9641 } else if (index < 0 || (index >= _.slideCount)) { 9642 return false; 9643 } 9644 9645 _.unload(); 9646 9647 if (typeof(index) === 'number') { 9648 if (index === 0 && _.$slides.length === 0) { 9649 $(markup).appendTo(_.$slideTrack); 9650 } else if (addBefore) { 9651 $(markup).insertBefore(_.$slides.eq(index)); 9652 } else { 9653 $(markup).insertAfter(_.$slides.eq(index)); 9654 } 9655 } else { 9656 if (addBefore === true) { 9657 $(markup).prependTo(_.$slideTrack); 9658 } else { 9659 $(markup).appendTo(_.$slideTrack); 9660 } 9661 } 9662 9663 _.$slides = _.$slideTrack.children(this.options.slide); 9664 9665 _.$slideTrack.children(this.options.slide).detach(); 9666 9667 _.$slideTrack.append(_.$slides); 9668 9669 _.$slides.each(function(index, element) { 9670 $(element).attr('data-slick-index', index); 9671 }); 9672 9673 _.$slidesCache = _.$slides; 9674 9675 _.reinit(); 9676 9677 }; 9678 9679 Slick.prototype.animateHeight = function() { 9680 var _ = this; 9681 if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { 9682 var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); 9683 _.$list.animate({ 9684 height: targetHeight 9685 }, _.options.speed); 9686 } 9687 }; 9688 9689 Slick.prototype.animateSlide = function(targetLeft, callback) { 9690 9691 var animProps = {}, 9692 _ = this; 9693 9694 _.animateHeight(); 9695 9696 if (_.options.rtl === true && _.options.vertical === false) { 9697 targetLeft = -targetLeft; 9698 } 9699 if (_.transformsEnabled === false) { 9700 if (_.options.vertical === false) { 9701 _.$slideTrack.animate({ 9702 left: targetLeft 9703 }, _.options.speed, _.options.easing, callback); 9704 } else { 9705 _.$slideTrack.animate({ 9706 top: targetLeft 9707 }, _.options.speed, _.options.easing, callback); 9708 } 9709 9710 } else { 9711 9712 if (_.cssTransitions === false) { 9713 if (_.options.rtl === true) { 9714 _.currentLeft = -(_.currentLeft); 9715 } 9716 $({ 9717 animStart: _.currentLeft 9718 }).animate({ 9719 animStart: targetLeft 9720 }, { 9721 duration: _.options.speed, 9722 easing: _.options.easing, 9723 step: function(now) { 9724 now = Math.ceil(now); 9725 if (_.options.vertical === false) { 9726 animProps[_.animType] = 'translate(' + 9727 now + 'px, 0px)'; 9728 _.$slideTrack.css(animProps); 9729 } else { 9730 animProps[_.animType] = 'translate(0px,' + 9731 now + 'px)'; 9732 _.$slideTrack.css(animProps); 9733 } 9734 }, 9735 complete: function() { 9736 if (callback) { 9737 callback.call(); 9738 } 9739 } 9740 }); 9741 9742 } else { 9743 9744 _.applyTransition(); 9745 targetLeft = Math.ceil(targetLeft); 9746 9747 if (_.options.vertical === false) { 9748 animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)'; 9749 } else { 9750 animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)'; 9751 } 9752 _.$slideTrack.css(animProps); 9753 9754 if (callback) { 9755 setTimeout(function() { 9756 9757 _.disableTransition(); 9758 9759 callback.call(); 9760 }, _.options.speed); 9761 } 9762 9763 } 9764 9765 } 9766 9767 }; 9768 9769 Slick.prototype.getNavTarget = function() { 9770 9771 var _ = this, 9772 asNavFor = _.options.asNavFor; 9773 9774 if ( asNavFor && asNavFor !== null ) { 9775 asNavFor = $(asNavFor).not(_.$slider); 9776 } 9777 9778 return asNavFor; 9779 9780 }; 9781 9782 Slick.prototype.asNavFor = function(index) { 9783 9784 var _ = this, 9785 asNavFor = _.getNavTarget(); 9786 9787 if ( asNavFor !== null && typeof asNavFor === 'object' ) { 9788 asNavFor.each(function() { 9789 var target = $(this).slick('getSlick'); 9790 if(!target.unslicked) { 9791 target.slideHandler(index, true); 9792 } 9793 }); 9794 } 9795 9796 }; 9797 9798 Slick.prototype.applyTransition = function(slide) { 9799 9800 var _ = this, 9801 transition = {}; 9802 9803 if (_.options.fade === false) { 9804 transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase; 9805 } else { 9806 transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase; 9807 } 9808 9809 if (_.options.fade === false) { 9810 _.$slideTrack.css(transition); 9811 } else { 9812 _.$slides.eq(slide).css(transition); 9813 } 9814 9815 }; 9816 9817 Slick.prototype.autoPlay = function() { 9818 9819 var _ = this; 9820 9821 _.autoPlayClear(); 9822 9823 if ( _.slideCount > _.options.slidesToShow ) { 9824 _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed ); 9825 } 9826 9827 }; 9828 9829 Slick.prototype.autoPlayClear = function() { 9830 9831 var _ = this; 9832 9833 if (_.autoPlayTimer) { 9834 clearInterval(_.autoPlayTimer); 9835 } 9836 9837 }; 9838 9839 Slick.prototype.autoPlayIterator = function() { 9840 9841 var _ = this, 9842 slideTo = _.currentSlide + _.options.slidesToScroll; 9843 9844 if ( !_.paused && !_.interrupted && !_.focussed ) { 9845 9846 if ( _.options.infinite === false ) { 9847 9848 if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) { 9849 _.direction = 0; 9850 } 9851 9852 else if ( _.direction === 0 ) { 9853 9854 slideTo = _.currentSlide - _.options.slidesToScroll; 9855 9856 if ( _.currentSlide - 1 === 0 ) { 9857 _.direction = 1; 9858 } 9859 9860 } 9861 9862 } 9863 9864 _.slideHandler( slideTo ); 9865 9866 } 9867 9868 }; 9869 9870 Slick.prototype.buildArrows = function() { 9871 9872 var _ = this; 9873 9874 if (_.options.arrows === true ) { 9875 9876 _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow'); 9877 _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow'); 9878 9879 if( _.slideCount > _.options.slidesToShow ) { 9880 9881 _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); 9882 _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); 9883 9884 if (_.htmlExpr.test(_.options.prevArrow)) { 9885 _.$prevArrow.prependTo(_.options.appendArrows); 9886 } 9887 9888 if (_.htmlExpr.test(_.options.nextArrow)) { 9889 _.$nextArrow.appendTo(_.options.appendArrows); 9890 } 9891 9892 if (_.options.infinite !== true) { 9893 _.$prevArrow 9894 .addClass('slick-disabled') 9895 .attr('aria-disabled', 'true'); 9896 } 9897 9898 } else { 9899 9900 _.$prevArrow.add( _.$nextArrow ) 9901 9902 .addClass('slick-hidden') 9903 .attr({ 9904 'aria-disabled': 'true', 9905 'tabindex': '-1' 9906 }); 9907 9908 } 9909 9910 } 9911 9912 }; 9913 9914 Slick.prototype.buildDots = function() { 9915 9916 var _ = this, 9917 i, dot; 9918 9919 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 9920 9921 _.$slider.addClass('slick-dotted'); 9922 9923 dot = $('<ul />').addClass(_.options.dotsClass); 9924 9925 for (i = 0; i <= _.getDotCount(); i += 1) { 9926 dot.append($('<li />').append(_.options.customPaging.call(this, _, i))); 9927 } 9928 9929 _.$dots = dot.appendTo(_.options.appendDots); 9930 9931 _.$dots.find('li').first().addClass('slick-active'); 9932 9933 } 9934 9935 }; 9936 9937 Slick.prototype.buildOut = function() { 9938 9939 var _ = this; 9940 9941 _.$slides = 9942 _.$slider 9943 .children( _.options.slide + ':not(.slick-cloned)') 9944 .addClass('slick-slide'); 9945 9946 _.slideCount = _.$slides.length; 9947 9948 _.$slides.each(function(index, element) { 9949 $(element) 9950 .attr('data-slick-index', index) 9951 .data('originalStyling', $(element).attr('style') || ''); 9952 }); 9953 9954 _.$slider.addClass('slick-slider'); 9955 9956 _.$slideTrack = (_.slideCount === 0) ? 9957 $('<div class="slick-track"/>').appendTo(_.$slider) : 9958 _.$slides.wrapAll('<div class="slick-track"/>').parent(); 9959 9960 _.$list = _.$slideTrack.wrap( 9961 '<div class="slick-list"/>').parent(); 9962 _.$slideTrack.css('opacity', 0); 9963 9964 if (_.options.centerMode === true || _.options.swipeToSlide === true) { 9965 _.options.slidesToScroll = 1; 9966 } 9967 9968 $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading'); 9969 9970 _.setupInfinite(); 9971 9972 _.buildArrows(); 9973 9974 _.buildDots(); 9975 9976 _.updateDots(); 9977 9978 9979 _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0); 9980 9981 if (_.options.draggable === true) { 9982 _.$list.addClass('draggable'); 9983 } 9984 9985 }; 9986 9987 Slick.prototype.buildRows = function() { 9988 9989 var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection; 9990 9991 newSlides = document.createDocumentFragment(); 9992 originalSlides = _.$slider.children(); 9993 9994 if(_.options.rows > 0) { 9995 9996 slidesPerSection = _.options.slidesPerRow * _.options.rows; 9997 numOfSlides = Math.ceil( 9998 originalSlides.length / slidesPerSection 9999 ); 10000 10001 for(a = 0; a < numOfSlides; a++){ 10002 var slide = document.createElement('div'); 10003 for(b = 0; b < _.options.rows; b++) { 10004 var row = document.createElement('div'); 10005 for(c = 0; c < _.options.slidesPerRow; c++) { 10006 var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c)); 10007 if (originalSlides.get(target)) { 10008 row.appendChild(originalSlides.get(target)); 10009 } 10010 } 10011 slide.appendChild(row); 10012 } 10013 newSlides.appendChild(slide); 10014 } 10015 10016 _.$slider.empty().append(newSlides); 10017 _.$slider.children().children().children() 10018 .css({ 10019 'width':(100 / _.options.slidesPerRow) + '%', 10020 'display': 'inline-block' 10021 }); 10022 10023 } 10024 10025 }; 10026 10027 Slick.prototype.checkResponsive = function(initial, forceUpdate) { 10028 10029 var _ = this, 10030 breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false; 10031 var sliderWidth = _.$slider.width(); 10032 var windowWidth = window.innerWidth || $(window).width(); 10033 10034 if (_.respondTo === 'window') { 10035 respondToWidth = windowWidth; 10036 } else if (_.respondTo === 'slider') { 10037 respondToWidth = sliderWidth; 10038 } else if (_.respondTo === 'min') { 10039 respondToWidth = Math.min(windowWidth, sliderWidth); 10040 } 10041 10042 if ( _.options.responsive && 10043 _.options.responsive.length && 10044 _.options.responsive !== null) { 10045 10046 targetBreakpoint = null; 10047 10048 for (breakpoint in _.breakpoints) { 10049 if (_.breakpoints.hasOwnProperty(breakpoint)) { 10050 if (_.originalSettings.mobileFirst === false) { 10051 if (respondToWidth < _.breakpoints[breakpoint]) { 10052 targetBreakpoint = _.breakpoints[breakpoint]; 10053 } 10054 } else { 10055 if (respondToWidth > _.breakpoints[breakpoint]) { 10056 targetBreakpoint = _.breakpoints[breakpoint]; 10057 } 10058 } 10059 } 10060 } 10061 10062 if (targetBreakpoint !== null) { 10063 if (_.activeBreakpoint !== null) { 10064 if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) { 10065 _.activeBreakpoint = 10066 targetBreakpoint; 10067 if (_.breakpointSettings[targetBreakpoint] === 'unslick') { 10068 _.unslick(targetBreakpoint); 10069 } else { 10070 _.options = $.extend({}, _.originalSettings, 10071 _.breakpointSettings[ 10072 targetBreakpoint]); 10073 if (initial === true) { 10074 _.currentSlide = _.options.initialSlide; 10075 } 10076 _.refresh(initial); 10077 } 10078 triggerBreakpoint = targetBreakpoint; 10079 } 10080 } else { 10081 _.activeBreakpoint = targetBreakpoint; 10082 if (_.breakpointSettings[targetBreakpoint] === 'unslick') { 10083 _.unslick(targetBreakpoint); 10084 } else { 10085 _.options = $.extend({}, _.originalSettings, 10086 _.breakpointSettings[ 10087 targetBreakpoint]); 10088 if (initial === true) { 10089 _.currentSlide = _.options.initialSlide; 10090 } 10091 _.refresh(initial); 10092 } 10093 triggerBreakpoint = targetBreakpoint; 10094 } 10095 } else { 10096 if (_.activeBreakpoint !== null) { 10097 _.activeBreakpoint = null; 10098 _.options = _.originalSettings; 10099 if (initial === true) { 10100 _.currentSlide = _.options.initialSlide; 10101 } 10102 _.refresh(initial); 10103 triggerBreakpoint = targetBreakpoint; 10104 } 10105 } 10106 10107 // only trigger breakpoints during an actual break. not on initialize. 10108 if( !initial && triggerBreakpoint !== false ) { 10109 _.$slider.trigger('breakpoint', [_, triggerBreakpoint]); 10110 } 10111 } 10112 10113 }; 10114 10115 Slick.prototype.changeSlide = function(event, dontAnimate) { 10116 10117 var _ = this, 10118 $target = $(event.currentTarget), 10119 indexOffset, slideOffset, unevenOffset; 10120 10121 // If target is a link, prevent default action. 10122 if($target.is('a')) { 10123 event.preventDefault(); 10124 } 10125 10126 // If target is not the <li> element (ie: a child), find the <li>. 10127 if(!$target.is('li')) { 10128 $target = $target.closest('li'); 10129 } 10130 10131 unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0); 10132 indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll; 10133 10134 switch (event.data.message) { 10135 10136 case 'previous': 10137 slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset; 10138 if (_.slideCount > _.options.slidesToShow) { 10139 _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate); 10140 } 10141 break; 10142 10143 case 'next': 10144 slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset; 10145 if (_.slideCount > _.options.slidesToShow) { 10146 _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate); 10147 } 10148 break; 10149 10150 case 'index': 10151 var index = event.data.index === 0 ? 0 : 10152 event.data.index || $target.index() * _.options.slidesToScroll; 10153 10154 _.slideHandler(_.checkNavigable(index), false, dontAnimate); 10155 $target.children().trigger('focus'); 10156 break; 10157 10158 default: 10159 return; 10160 } 10161 10162 }; 10163 10164 Slick.prototype.checkNavigable = function(index) { 10165 10166 var _ = this, 10167 navigables, prevNavigable; 10168 10169 navigables = _.getNavigableIndexes(); 10170 prevNavigable = 0; 10171 if (index > navigables[navigables.length - 1]) { 10172 index = navigables[navigables.length - 1]; 10173 } else { 10174 for (var n in navigables) { 10175 if (index < navigables[n]) { 10176 index = prevNavigable; 10177 break; 10178 } 10179 prevNavigable = navigables[n]; 10180 } 10181 } 10182 10183 return index; 10184 }; 10185 10186 Slick.prototype.cleanUpEvents = function() { 10187 10188 var _ = this; 10189 10190 if (_.options.dots && _.$dots !== null) { 10191 10192 $('li', _.$dots) 10193 .off('click.slick', _.changeSlide) 10194 .off('mouseenter.slick', $.proxy(_.interrupt, _, true)) 10195 .off('mouseleave.slick', $.proxy(_.interrupt, _, false)); 10196 10197 if (_.options.accessibility === true) { 10198 _.$dots.off('keydown.slick', _.keyHandler); 10199 } 10200 } 10201 10202 _.$slider.off('focus.slick blur.slick'); 10203 10204 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 10205 _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide); 10206 _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide); 10207 10208 if (_.options.accessibility === true) { 10209 _.$prevArrow && _.$prevArrow.off('keydown.slick', _.keyHandler); 10210 _.$nextArrow && _.$nextArrow.off('keydown.slick', _.keyHandler); 10211 } 10212 } 10213 10214 _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler); 10215 _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler); 10216 _.$list.off('touchend.slick mouseup.slick', _.swipeHandler); 10217 _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler); 10218 10219 _.$list.off('click.slick', _.clickHandler); 10220 10221 $(document).off(_.visibilityChange, _.visibility); 10222 10223 _.cleanUpSlideEvents(); 10224 10225 if (_.options.accessibility === true) { 10226 _.$list.off('keydown.slick', _.keyHandler); 10227 } 10228 10229 if (_.options.focusOnSelect === true) { 10230 $(_.$slideTrack).children().off('click.slick', _.selectHandler); 10231 } 10232 10233 $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange); 10234 10235 $(window).off('resize.slick.slick-' + _.instanceUid, _.resize); 10236 10237 $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault); 10238 10239 $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition); 10240 10241 }; 10242 10243 Slick.prototype.cleanUpSlideEvents = function() { 10244 10245 var _ = this; 10246 10247 _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true)); 10248 _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false)); 10249 10250 }; 10251 10252 Slick.prototype.cleanUpRows = function() { 10253 10254 var _ = this, originalSlides; 10255 10256 if(_.options.rows > 0) { 10257 originalSlides = _.$slides.children().children(); 10258 originalSlides.removeAttr('style'); 10259 _.$slider.empty().append(originalSlides); 10260 } 10261 10262 }; 10263 10264 Slick.prototype.clickHandler = function(event) { 10265 10266 var _ = this; 10267 10268 if (_.shouldClick === false) { 10269 event.stopImmediatePropagation(); 10270 event.stopPropagation(); 10271 event.preventDefault(); 10272 } 10273 10274 }; 10275 10276 Slick.prototype.destroy = function(refresh) { 10277 10278 var _ = this; 10279 10280 _.autoPlayClear(); 10281 10282 _.touchObject = {}; 10283 10284 _.cleanUpEvents(); 10285 10286 $('.slick-cloned', _.$slider).detach(); 10287 10288 if (_.$dots) { 10289 _.$dots.remove(); 10290 } 10291 10292 if ( _.$prevArrow && _.$prevArrow.length ) { 10293 10294 _.$prevArrow 10295 .removeClass('slick-disabled slick-arrow slick-hidden') 10296 .removeAttr('aria-hidden aria-disabled tabindex') 10297 .css('display',''); 10298 10299 if ( _.htmlExpr.test( _.options.prevArrow )) { 10300 _.$prevArrow.remove(); 10301 } 10302 } 10303 10304 if ( _.$nextArrow && _.$nextArrow.length ) { 10305 10306 _.$nextArrow 10307 .removeClass('slick-disabled slick-arrow slick-hidden') 10308 .removeAttr('aria-hidden aria-disabled tabindex') 10309 .css('display',''); 10310 10311 if ( _.htmlExpr.test( _.options.nextArrow )) { 10312 _.$nextArrow.remove(); 10313 } 10314 } 10315 10316 10317 if (_.$slides) { 10318 10319 _.$slides 10320 .removeClass('slick-slide slick-active slick-center slick-visible slick-current') 10321 .removeAttr('aria-hidden') 10322 .removeAttr('data-slick-index') 10323 .each(function(){ 10324 $(this).attr('style', $(this).data('originalStyling')); 10325 }); 10326 10327 _.$slideTrack.children(this.options.slide).detach(); 10328 10329 _.$slideTrack.detach(); 10330 10331 _.$list.detach(); 10332 10333 _.$slider.append(_.$slides); 10334 } 10335 10336 _.cleanUpRows(); 10337 10338 _.$slider.removeClass('slick-slider'); 10339 _.$slider.removeClass('slick-initialized'); 10340 _.$slider.removeClass('slick-dotted'); 10341 10342 _.unslicked = true; 10343 10344 if(!refresh) { 10345 _.$slider.trigger('destroy', [_]); 10346 } 10347 10348 }; 10349 10350 Slick.prototype.disableTransition = function(slide) { 10351 10352 var _ = this, 10353 transition = {}; 10354 10355 transition[_.transitionType] = ''; 10356 10357 if (_.options.fade === false) { 10358 _.$slideTrack.css(transition); 10359 } else { 10360 _.$slides.eq(slide).css(transition); 10361 } 10362 10363 }; 10364 10365 Slick.prototype.fadeSlide = function(slideIndex, callback) { 10366 10367 var _ = this; 10368 10369 if (_.cssTransitions === false) { 10370 10371 _.$slides.eq(slideIndex).css({ 10372 zIndex: _.options.zIndex 10373 }); 10374 10375 _.$slides.eq(slideIndex).animate({ 10376 opacity: 1 10377 }, _.options.speed, _.options.easing, callback); 10378 10379 } else { 10380 10381 _.applyTransition(slideIndex); 10382 10383 _.$slides.eq(slideIndex).css({ 10384 opacity: 1, 10385 zIndex: _.options.zIndex 10386 }); 10387 10388 if (callback) { 10389 setTimeout(function() { 10390 10391 _.disableTransition(slideIndex); 10392 10393 callback.call(); 10394 }, _.options.speed); 10395 } 10396 10397 } 10398 10399 }; 10400 10401 Slick.prototype.fadeSlideOut = function(slideIndex) { 10402 10403 var _ = this; 10404 10405 if (_.cssTransitions === false) { 10406 10407 _.$slides.eq(slideIndex).animate({ 10408 opacity: 0, 10409 zIndex: _.options.zIndex - 2 10410 }, _.options.speed, _.options.easing); 10411 10412 } else { 10413 10414 _.applyTransition(slideIndex); 10415 10416 _.$slides.eq(slideIndex).css({ 10417 opacity: 0, 10418 zIndex: _.options.zIndex - 2 10419 }); 10420 10421 } 10422 10423 }; 10424 10425 Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) { 10426 10427 var _ = this; 10428 10429 if (filter !== null) { 10430 10431 _.$slidesCache = _.$slides; 10432 10433 _.unload(); 10434 10435 _.$slideTrack.children(this.options.slide).detach(); 10436 10437 _.$slidesCache.filter(filter).appendTo(_.$slideTrack); 10438 10439 _.reinit(); 10440 10441 } 10442 10443 }; 10444 10445 Slick.prototype.focusHandler = function() { 10446 10447 var _ = this; 10448 10449 _.$slider 10450 .off('focus.slick blur.slick') 10451 .on('focus.slick blur.slick', '*', function(event) { 10452 10453 event.stopImmediatePropagation(); 10454 var $sf = $(this); 10455 10456 setTimeout(function() { 10457 10458 if( _.options.pauseOnFocus ) { 10459 _.focussed = $sf.is(':focus'); 10460 _.autoPlay(); 10461 } 10462 10463 }, 0); 10464 10465 }); 10466 }; 10467 10468 Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() { 10469 10470 var _ = this; 10471 return _.currentSlide; 10472 10473 }; 10474 10475 Slick.prototype.getDotCount = function() { 10476 10477 var _ = this; 10478 10479 var breakPoint = 0; 10480 var counter = 0; 10481 var pagerQty = 0; 10482 10483 if (_.options.infinite === true) { 10484 if (_.slideCount <= _.options.slidesToShow) { 10485 ++pagerQty; 10486 } else { 10487 while (breakPoint < _.slideCount) { 10488 ++pagerQty; 10489 breakPoint = counter + _.options.slidesToScroll; 10490 counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; 10491 } 10492 } 10493 } else if (_.options.centerMode === true) { 10494 pagerQty = _.slideCount; 10495 } else if(!_.options.asNavFor) { 10496 pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll); 10497 }else { 10498 while (breakPoint < _.slideCount) { 10499 ++pagerQty; 10500 breakPoint = counter + _.options.slidesToScroll; 10501 counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; 10502 } 10503 } 10504 10505 return pagerQty - 1; 10506 10507 }; 10508 10509 Slick.prototype.getLeft = function(slideIndex) { 10510 10511 var _ = this, 10512 targetLeft, 10513 verticalHeight, 10514 verticalOffset = 0, 10515 targetSlide, 10516 coef; 10517 10518 _.slideOffset = 0; 10519 verticalHeight = _.$slides.first().outerHeight(true); 10520 10521 if (_.options.infinite === true) { 10522 if (_.slideCount > _.options.slidesToShow) { 10523 _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1; 10524 coef = -1 10525 10526 if (_.options.vertical === true && _.options.centerMode === true) { 10527 if (_.options.slidesToShow === 2) { 10528 coef = -1.5; 10529 } else if (_.options.slidesToShow === 1) { 10530 coef = -2 10531 } 10532 } 10533 verticalOffset = (verticalHeight * _.options.slidesToShow) * coef; 10534 } 10535 if (_.slideCount % _.options.slidesToScroll !== 0) { 10536 if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) { 10537 if (slideIndex > _.slideCount) { 10538 _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1; 10539 verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1; 10540 } else { 10541 _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1; 10542 verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1; 10543 } 10544 } 10545 } 10546 } else { 10547 if (slideIndex + _.options.slidesToShow > _.slideCount) { 10548 _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth; 10549 verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight; 10550 } 10551 } 10552 10553 if (_.slideCount <= _.options.slidesToShow) { 10554 _.slideOffset = 0; 10555 verticalOffset = 0; 10556 } 10557 10558 if (_.options.centerMode === true && _.slideCount <= _.options.slidesToShow) { 10559 _.slideOffset = ((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2); 10560 } else if (_.options.centerMode === true && _.options.infinite === true) { 10561 _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth; 10562 } else if (_.options.centerMode === true) { 10563 _.slideOffset = 0; 10564 _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2); 10565 } 10566 10567 if (_.options.vertical === false) { 10568 targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset; 10569 } else { 10570 targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset; 10571 } 10572 10573 if (_.options.variableWidth === true) { 10574 10575 if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { 10576 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); 10577 } else { 10578 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow); 10579 } 10580 10581 if (_.options.rtl === true) { 10582 if (targetSlide[0]) { 10583 targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; 10584 } else { 10585 targetLeft = 0; 10586 } 10587 } else { 10588 targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; 10589 } 10590 10591 if (_.options.centerMode === true) { 10592 if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { 10593 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); 10594 } else { 10595 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1); 10596 } 10597 10598 if (_.options.rtl === true) { 10599 if (targetSlide[0]) { 10600 targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; 10601 } else { 10602 targetLeft = 0; 10603 } 10604 } else { 10605 targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; 10606 } 10607 10608 targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2; 10609 } 10610 } 10611 10612 return targetLeft; 10613 10614 }; 10615 10616 Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) { 10617 10618 var _ = this; 10619 10620 return _.options[option]; 10621 10622 }; 10623 10624 Slick.prototype.getNavigableIndexes = function() { 10625 10626 var _ = this, 10627 breakPoint = 0, 10628 counter = 0, 10629 indexes = [], 10630 max; 10631 10632 if (_.options.infinite === false) { 10633 max = _.slideCount; 10634 } else { 10635 breakPoint = _.options.slidesToScroll * -1; 10636 counter = _.options.slidesToScroll * -1; 10637 max = _.slideCount * 2; 10638 } 10639 10640 while (breakPoint < max) { 10641 indexes.push(breakPoint); 10642 breakPoint = counter + _.options.slidesToScroll; 10643 counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; 10644 } 10645 10646 return indexes; 10647 10648 }; 10649 10650 Slick.prototype.getSlick = function() { 10651 10652 return this; 10653 10654 }; 10655 10656 Slick.prototype.getSlideCount = function() { 10657 10658 var _ = this, 10659 slidesTraversed, swipedSlide, centerOffset; 10660 10661 centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0; 10662 10663 if (_.options.swipeToSlide === true) { 10664 _.$slideTrack.find('.slick-slide').each(function(index, slide) { 10665 if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) { 10666 swipedSlide = slide; 10667 return false; 10668 } 10669 }); 10670 10671 slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1; 10672 10673 return slidesTraversed; 10674 10675 } else { 10676 return _.options.slidesToScroll; 10677 } 10678 10679 }; 10680 10681 Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) { 10682 10683 var _ = this; 10684 10685 _.changeSlide({ 10686 data: { 10687 message: 'index', 10688 index: parseInt(slide) 10689 } 10690 }, dontAnimate); 10691 10692 }; 10693 10694 Slick.prototype.init = function(creation) { 10695 10696 var _ = this; 10697 10698 if (!$(_.$slider).hasClass('slick-initialized')) { 10699 10700 $(_.$slider).addClass('slick-initialized'); 10701 10702 _.buildRows(); 10703 _.buildOut(); 10704 _.setProps(); 10705 _.startLoad(); 10706 _.loadSlider(); 10707 _.initializeEvents(); 10708 _.updateArrows(); 10709 _.updateDots(); 10710 _.checkResponsive(true); 10711 _.focusHandler(); 10712 10713 } 10714 10715 if (creation) { 10716 _.$slider.trigger('init', [_]); 10717 } 10718 10719 if (_.options.accessibility === true) { 10720 _.initADA(); 10721 } 10722 10723 if ( _.options.autoplay ) { 10724 10725 _.paused = false; 10726 _.autoPlay(); 10727 10728 } 10729 10730 }; 10731 10732 Slick.prototype.initADA = function() { 10733 var _ = this, 10734 numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow), 10735 tabControlIndexes = _.getNavigableIndexes().filter(function(val) { 10736 return (val >= 0) && (val < _.slideCount); 10737 }); 10738 10739 _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({ 10740 'aria-hidden': 'true', 10741 'tabindex': '-1' 10742 }).find('a, input, button, select').attr({ 10743 'tabindex': '-1' 10744 }); 10745 10746 if (_.$dots !== null) { 10747 _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) { 10748 var slideControlIndex = tabControlIndexes.indexOf(i); 10749 10750 $(this).attr({ 10751 'role': 'tabpanel', 10752 'id': 'slick-slide' + _.instanceUid + i, 10753 'tabindex': -1 10754 }); 10755 10756 if (slideControlIndex !== -1) { 10757 var ariaButtonControl = 'slick-slide-control' + _.instanceUid + slideControlIndex 10758 if ($('#' + ariaButtonControl).length) { 10759 $(this).attr({ 10760 'aria-describedby': ariaButtonControl 10761 }); 10762 } 10763 } 10764 }); 10765 10766 _.$dots.attr('role', 'tablist').find('li').each(function(i) { 10767 var mappedSlideIndex = tabControlIndexes[i]; 10768 10769 $(this).attr({ 10770 'role': 'presentation' 10771 }); 10772 10773 $(this).find('button').first().attr({ 10774 'role': 'tab', 10775 'id': 'slick-slide-control' + _.instanceUid + i, 10776 'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex, 10777 'aria-label': (i + 1) + ' of ' + numDotGroups, 10778 'aria-selected': null, 10779 'tabindex': '-1' 10780 }); 10781 10782 }).eq(_.currentSlide).find('button').attr({ 10783 'aria-selected': 'true', 10784 'tabindex': '0' 10785 }).end(); 10786 } 10787 10788 for (var i=_.currentSlide, max=i+_.options.slidesToShow; i < max; i++) { 10789 if (_.options.focusOnChange) { 10790 _.$slides.eq(i).attr({'tabindex': '0'}); 10791 } else { 10792 _.$slides.eq(i).removeAttr('tabindex'); 10793 } 10794 } 10795 10796 _.activateADA(); 10797 10798 }; 10799 10800 Slick.prototype.initArrowEvents = function() { 10801 10802 var _ = this; 10803 10804 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 10805 _.$prevArrow 10806 .off('click.slick') 10807 .on('click.slick', { 10808 message: 'previous' 10809 }, _.changeSlide); 10810 _.$nextArrow 10811 .off('click.slick') 10812 .on('click.slick', { 10813 message: 'next' 10814 }, _.changeSlide); 10815 10816 if (_.options.accessibility === true) { 10817 _.$prevArrow.on('keydown.slick', _.keyHandler); 10818 _.$nextArrow.on('keydown.slick', _.keyHandler); 10819 } 10820 } 10821 10822 }; 10823 10824 Slick.prototype.initDotEvents = function() { 10825 10826 var _ = this; 10827 10828 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 10829 $('li', _.$dots).on('click.slick', { 10830 message: 'index' 10831 }, _.changeSlide); 10832 10833 if (_.options.accessibility === true) { 10834 _.$dots.on('keydown.slick', _.keyHandler); 10835 } 10836 } 10837 10838 if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.slideCount > _.options.slidesToShow) { 10839 10840 $('li', _.$dots) 10841 .on('mouseenter.slick', $.proxy(_.interrupt, _, true)) 10842 .on('mouseleave.slick', $.proxy(_.interrupt, _, false)); 10843 10844 } 10845 10846 }; 10847 10848 Slick.prototype.initSlideEvents = function() { 10849 10850 var _ = this; 10851 10852 if ( _.options.pauseOnHover ) { 10853 10854 _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true)); 10855 _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false)); 10856 10857 } 10858 10859 }; 10860 10861 Slick.prototype.initializeEvents = function() { 10862 10863 var _ = this; 10864 10865 _.initArrowEvents(); 10866 10867 _.initDotEvents(); 10868 _.initSlideEvents(); 10869 10870 _.$list.on('touchstart.slick mousedown.slick', { 10871 action: 'start' 10872 }, _.swipeHandler); 10873 _.$list.on('touchmove.slick mousemove.slick', { 10874 action: 'move' 10875 }, _.swipeHandler); 10876 _.$list.on('touchend.slick mouseup.slick', { 10877 action: 'end' 10878 }, _.swipeHandler); 10879 _.$list.on('touchcancel.slick mouseleave.slick', { 10880 action: 'end' 10881 }, _.swipeHandler); 10882 10883 _.$list.on('click.slick', _.clickHandler); 10884 10885 $(document).on(_.visibilityChange, $.proxy(_.visibility, _)); 10886 10887 if (_.options.accessibility === true) { 10888 _.$list.on('keydown.slick', _.keyHandler); 10889 } 10890 10891 if (_.options.focusOnSelect === true) { 10892 $(_.$slideTrack).children().on('click.slick', _.selectHandler); 10893 } 10894 10895 $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _)); 10896 10897 $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _)); 10898 10899 $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault); 10900 10901 $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition); 10902 $(_.setPosition); 10903 10904 }; 10905 10906 Slick.prototype.initUI = function() { 10907 10908 var _ = this; 10909 10910 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 10911 10912 _.$prevArrow.show(); 10913 _.$nextArrow.show(); 10914 10915 } 10916 10917 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 10918 10919 _.$dots.show(); 10920 10921 } 10922 10923 }; 10924 10925 Slick.prototype.keyHandler = function(event) { 10926 10927 var _ = this; 10928 //Dont slide if the cursor is inside the form fields and arrow keys are pressed 10929 if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) { 10930 if (event.keyCode === 37 && _.options.accessibility === true) { 10931 _.changeSlide({ 10932 data: { 10933 message: _.options.rtl === true ? 'next' : 'previous' 10934 } 10935 }); 10936 } else if (event.keyCode === 39 && _.options.accessibility === true) { 10937 _.changeSlide({ 10938 data: { 10939 message: _.options.rtl === true ? 'previous' : 'next' 10940 } 10941 }); 10942 } 10943 } 10944 10945 }; 10946 10947 Slick.prototype.lazyLoad = function() { 10948 10949 var _ = this, 10950 loadRange, cloneRange, rangeStart, rangeEnd; 10951 10952 function loadImages(imagesScope) { 10953 10954 $('img[data-lazy]', imagesScope).each(function() { 10955 10956 var image = $(this), 10957 imageSource = $(this).attr('data-lazy'), 10958 imageSrcSet = $(this).attr('data-srcset'), 10959 imageSizes = $(this).attr('data-sizes') || _.$slider.attr('data-sizes'), 10960 imageToLoad = document.createElement('img'); 10961 10962 imageToLoad.onload = function() { 10963 10964 image 10965 .animate({ opacity: 0 }, 100, function() { 10966 10967 if (imageSrcSet) { 10968 image 10969 .attr('srcset', imageSrcSet ); 10970 10971 if (imageSizes) { 10972 image 10973 .attr('sizes', imageSizes ); 10974 } 10975 } 10976 10977 image 10978 .attr('src', imageSource) 10979 .animate({ opacity: 1 }, 200, function() { 10980 image 10981 .removeAttr('data-lazy data-srcset data-sizes') 10982 .removeClass('slick-loading'); 10983 }); 10984 _.$slider.trigger('lazyLoaded', [_, image, imageSource]); 10985 }); 10986 10987 }; 10988 10989 imageToLoad.onerror = function() { 10990 10991 image 10992 .removeAttr( 'data-lazy' ) 10993 .removeClass( 'slick-loading' ) 10994 .addClass( 'slick-lazyload-error' ); 10995 10996 _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]); 10997 10998 }; 10999 11000 imageToLoad.src = imageSource; 11001 11002 }); 11003 11004 } 11005 11006 if (_.options.centerMode === true) { 11007 if (_.options.infinite === true) { 11008 rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1); 11009 rangeEnd = rangeStart + _.options.slidesToShow + 2; 11010 } else { 11011 rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1)); 11012 rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide; 11013 } 11014 } else { 11015 rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide; 11016 rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow); 11017 if (_.options.fade === true) { 11018 if (rangeStart > 0) rangeStart--; 11019 if (rangeEnd <= _.slideCount) rangeEnd++; 11020 } 11021 } 11022 11023 loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd); 11024 11025 if (_.options.lazyLoad === 'anticipated') { 11026 var prevSlide = rangeStart - 1, 11027 nextSlide = rangeEnd, 11028 $slides = _.$slider.find('.slick-slide'); 11029 11030 for (var i = 0; i < _.options.slidesToScroll; i++) { 11031 if (prevSlide < 0) prevSlide = _.slideCount - 1; 11032 loadRange = loadRange.add($slides.eq(prevSlide)); 11033 loadRange = loadRange.add($slides.eq(nextSlide)); 11034 prevSlide--; 11035 nextSlide++; 11036 } 11037 } 11038 11039 loadImages(loadRange); 11040 11041 if (_.slideCount <= _.options.slidesToShow) { 11042 cloneRange = _.$slider.find('.slick-slide'); 11043 loadImages(cloneRange); 11044 } else 11045 if (_.currentSlide >= _.slideCount - _.options.slidesToShow) { 11046 cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow); 11047 loadImages(cloneRange); 11048 } else if (_.currentSlide === 0) { 11049 cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1); 11050 loadImages(cloneRange); 11051 } 11052 11053 }; 11054 11055 Slick.prototype.loadSlider = function() { 11056 11057 var _ = this; 11058 11059 _.setPosition(); 11060 11061 _.$slideTrack.css({ 11062 opacity: 1 11063 }); 11064 11065 _.$slider.removeClass('slick-loading'); 11066 11067 _.initUI(); 11068 11069 if (_.options.lazyLoad === 'progressive') { 11070 _.progressiveLazyLoad(); 11071 } 11072 11073 }; 11074 11075 Slick.prototype.next = Slick.prototype.slickNext = function() { 11076 11077 var _ = this; 11078 11079 _.changeSlide({ 11080 data: { 11081 message: 'next' 11082 } 11083 }); 11084 11085 }; 11086 11087 Slick.prototype.orientationChange = function() { 11088 11089 var _ = this; 11090 11091 _.checkResponsive(); 11092 _.setPosition(); 11093 11094 }; 11095 11096 Slick.prototype.pause = Slick.prototype.slickPause = function() { 11097 11098 var _ = this; 11099 11100 _.autoPlayClear(); 11101 _.paused = true; 11102 11103 }; 11104 11105 Slick.prototype.play = Slick.prototype.slickPlay = function() { 11106 11107 var _ = this; 11108 11109 _.autoPlay(); 11110 _.options.autoplay = true; 11111 _.paused = false; 11112 _.focussed = false; 11113 _.interrupted = false; 11114 11115 }; 11116 11117 Slick.prototype.postSlide = function(index) { 11118 11119 var _ = this; 11120 11121 if( !_.unslicked ) { 11122 11123 _.$slider.trigger('afterChange', [_, index]); 11124 11125 _.animating = false; 11126 11127 if (_.slideCount > _.options.slidesToShow) { 11128 _.setPosition(); 11129 } 11130 11131 _.swipeLeft = null; 11132 11133 if ( _.options.autoplay ) { 11134 _.autoPlay(); 11135 } 11136 11137 if (_.options.accessibility === true) { 11138 _.initADA(); 11139 11140 if (_.options.focusOnChange) { 11141 var $currentSlide = $(_.$slides.get(_.currentSlide)); 11142 $currentSlide.attr('tabindex', 0).focus(); 11143 } 11144 } 11145 11146 } 11147 11148 }; 11149 11150 Slick.prototype.prev = Slick.prototype.slickPrev = function() { 11151 11152 var _ = this; 11153 11154 _.changeSlide({ 11155 data: { 11156 message: 'previous' 11157 } 11158 }); 11159 11160 }; 11161 11162 Slick.prototype.preventDefault = function(event) { 11163 11164 event.preventDefault(); 11165 11166 }; 11167 11168 Slick.prototype.progressiveLazyLoad = function( tryCount ) { 11169 11170 tryCount = tryCount || 1; 11171 11172 var _ = this, 11173 $imgsToLoad = $( 'img[data-lazy]', _.$slider ), 11174 image, 11175 imageSource, 11176 imageSrcSet, 11177 imageSizes, 11178 imageToLoad; 11179 11180 if ( $imgsToLoad.length ) { 11181 11182 image = $imgsToLoad.first(); 11183 imageSource = image.attr('data-lazy'); 11184 imageSrcSet = image.attr('data-srcset'); 11185 imageSizes = image.attr('data-sizes') || _.$slider.attr('data-sizes'); 11186 imageToLoad = document.createElement('img'); 11187 11188 imageToLoad.onload = function() { 11189 11190 if (imageSrcSet) { 11191 image 11192 .attr('srcset', imageSrcSet ); 11193 11194 if (imageSizes) { 11195 image 11196 .attr('sizes', imageSizes ); 11197 } 11198 } 11199 11200 image 11201 .attr( 'src', imageSource ) 11202 .removeAttr('data-lazy data-srcset data-sizes') 11203 .removeClass('slick-loading'); 11204 11205 if ( _.options.adaptiveHeight === true ) { 11206 _.setPosition(); 11207 } 11208 11209 _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]); 11210 _.progressiveLazyLoad(); 11211 11212 }; 11213 11214 imageToLoad.onerror = function() { 11215 11216 if ( tryCount < 3 ) { 11217 11218 /** 11219 * try to load the image 3 times, 11220 * leave a slight delay so we don't get 11221 * servers blocking the request. 11222 */ 11223 setTimeout( function() { 11224 _.progressiveLazyLoad( tryCount + 1 ); 11225 }, 500 ); 11226 11227 } else { 11228 11229 image 11230 .removeAttr( 'data-lazy' ) 11231 .removeClass( 'slick-loading' ) 11232 .addClass( 'slick-lazyload-error' ); 11233 11234 _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]); 11235 11236 _.progressiveLazyLoad(); 11237 11238 } 11239 11240 }; 11241 11242 imageToLoad.src = imageSource; 11243 11244 } else { 11245 11246 _.$slider.trigger('allImagesLoaded', [ _ ]); 11247 11248 } 11249 11250 }; 11251 11252 Slick.prototype.refresh = function( initializing ) { 11253 11254 var _ = this, currentSlide, lastVisibleIndex; 11255 11256 lastVisibleIndex = _.slideCount - _.options.slidesToShow; 11257 11258 // in non-infinite sliders, we don't want to go past the 11259 // last visible index. 11260 if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) { 11261 _.currentSlide = lastVisibleIndex; 11262 } 11263 11264 // if less slides than to show, go to start. 11265 if ( _.slideCount <= _.options.slidesToShow ) { 11266 _.currentSlide = 0; 11267 11268 } 11269 11270 currentSlide = _.currentSlide; 11271 11272 _.destroy(true); 11273 11274 $.extend(_, _.initials, { currentSlide: currentSlide }); 11275 11276 _.init(); 11277 11278 if( !initializing ) { 11279 11280 _.changeSlide({ 11281 data: { 11282 message: 'index', 11283 index: currentSlide 11284 } 11285 }, false); 11286 11287 } 11288 11289 }; 11290 11291 Slick.prototype.registerBreakpoints = function() { 11292 11293 var _ = this, breakpoint, currentBreakpoint, l, 11294 responsiveSettings = _.options.responsive || null; 11295 11296 if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) { 11297 11298 _.respondTo = _.options.respondTo || 'window'; 11299 11300 for ( breakpoint in responsiveSettings ) { 11301 11302 l = _.breakpoints.length-1; 11303 11304 if (responsiveSettings.hasOwnProperty(breakpoint)) { 11305 currentBreakpoint = responsiveSettings[breakpoint].breakpoint; 11306 11307 // loop through the breakpoints and cut out any existing 11308 // ones with the same breakpoint number, we don't want dupes. 11309 while( l >= 0 ) { 11310 if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) { 11311 _.breakpoints.splice(l,1); 11312 } 11313 l--; 11314 } 11315 11316 _.breakpoints.push(currentBreakpoint); 11317 _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings; 11318 11319 } 11320 11321 } 11322 11323 _.breakpoints.sort(function(a, b) { 11324 return ( _.options.mobileFirst ) ? a-b : b-a; 11325 }); 11326 11327 } 11328 11329 }; 11330 11331 Slick.prototype.reinit = function() { 11332 11333 var _ = this; 11334 11335 _.$slides = 11336 _.$slideTrack 11337 .children(_.options.slide) 11338 .addClass('slick-slide'); 11339 11340 _.slideCount = _.$slides.length; 11341 11342 if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) { 11343 _.currentSlide = _.currentSlide - _.options.slidesToScroll; 11344 } 11345 11346 if (_.slideCount <= _.options.slidesToShow) { 11347 _.currentSlide = 0; 11348 } 11349 11350 _.registerBreakpoints(); 11351 11352 _.setProps(); 11353 _.setupInfinite(); 11354 _.buildArrows(); 11355 _.updateArrows(); 11356 _.initArrowEvents(); 11357 _.buildDots(); 11358 _.updateDots(); 11359 _.initDotEvents(); 11360 _.cleanUpSlideEvents(); 11361 _.initSlideEvents(); 11362 11363 _.checkResponsive(false, true); 11364 11365 if (_.options.focusOnSelect === true) { 11366 $(_.$slideTrack).children().on('click.slick', _.selectHandler); 11367 } 11368 11369 _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0); 11370 11371 _.setPosition(); 11372 _.focusHandler(); 11373 11374 _.paused = !_.options.autoplay; 11375 _.autoPlay(); 11376 11377 _.$slider.trigger('reInit', [_]); 11378 11379 }; 11380 11381 Slick.prototype.resize = function() { 11382 11383 var _ = this; 11384 11385 if ($(window).width() !== _.windowWidth) { 11386 clearTimeout(_.windowDelay); 11387 _.windowDelay = window.setTimeout(function() { 11388 _.windowWidth = $(window).width(); 11389 _.checkResponsive(); 11390 if( !_.unslicked ) { _.setPosition(); } 11391 }, 50); 11392 } 11393 }; 11394 11395 Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) { 11396 11397 var _ = this; 11398 11399 if (typeof(index) === 'boolean') { 11400 removeBefore = index; 11401 index = removeBefore === true ? 0 : _.slideCount - 1; 11402 } else { 11403 index = removeBefore === true ? --index : index; 11404 } 11405 11406 if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) { 11407 return false; 11408 } 11409 11410 _.unload(); 11411 11412 if (removeAll === true) { 11413 _.$slideTrack.children().remove(); 11414 } else { 11415 _.$slideTrack.children(this.options.slide).eq(index).remove(); 11416 } 11417 11418 _.$slides = _.$slideTrack.children(this.options.slide); 11419 11420 _.$slideTrack.children(this.options.slide).detach(); 11421 11422 _.$slideTrack.append(_.$slides); 11423 11424 _.$slidesCache = _.$slides; 11425 11426 _.reinit(); 11427 11428 }; 11429 11430 Slick.prototype.setCSS = function(position) { 11431 11432 var _ = this, 11433 positionProps = {}, 11434 x, y; 11435 11436 if (_.options.rtl === true) { 11437 position = -position; 11438 } 11439 x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px'; 11440 y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px'; 11441 11442 positionProps[_.positionProp] = position; 11443 11444 if (_.transformsEnabled === false) { 11445 _.$slideTrack.css(positionProps); 11446 } else { 11447 positionProps = {}; 11448 if (_.cssTransitions === false) { 11449 positionProps[_.animType] = 'translate(' + x + ', ' + y + ')'; 11450 _.$slideTrack.css(positionProps); 11451 } else { 11452 positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)'; 11453 _.$slideTrack.css(positionProps); 11454 } 11455 } 11456 11457 }; 11458 11459 Slick.prototype.setDimensions = function() { 11460 11461 var _ = this; 11462 11463 if (_.options.vertical === false) { 11464 if (_.options.centerMode === true) { 11465 _.$list.css({ 11466 padding: ('0px ' + _.options.centerPadding) 11467 }); 11468 } 11469 } else { 11470 _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow); 11471 if (_.options.centerMode === true) { 11472 _.$list.css({ 11473 padding: (_.options.centerPadding + ' 0px') 11474 }); 11475 } 11476 } 11477 11478 _.listWidth = _.$list.width(); 11479 _.listHeight = _.$list.height(); 11480 11481 11482 if (_.options.vertical === false && _.options.variableWidth === false) { 11483 _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow); 11484 _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length))); 11485 11486 } else if (_.options.variableWidth === true) { 11487 _.$slideTrack.width(5000 * _.slideCount); 11488 } else { 11489 _.slideWidth = Math.ceil(_.listWidth); 11490 _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length))); 11491 } 11492 11493 var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width(); 11494 if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset); 11495 11496 }; 11497 11498 Slick.prototype.setFade = function() { 11499 11500 var _ = this, 11501 targetLeft; 11502 11503 _.$slides.each(function(index, element) { 11504 targetLeft = (_.slideWidth * index) * -1; 11505 if (_.options.rtl === true) { 11506 $(element).css({ 11507 position: 'relative', 11508 right: targetLeft, 11509 top: 0, 11510 zIndex: _.options.zIndex - 2, 11511 opacity: 0 11512 }); 11513 } else { 11514 $(element).css({ 11515 position: 'relative', 11516 left: targetLeft, 11517 top: 0, 11518 zIndex: _.options.zIndex - 2, 11519 opacity: 0 11520 }); 11521 } 11522 }); 11523 11524 _.$slides.eq(_.currentSlide).css({ 11525 zIndex: _.options.zIndex - 1, 11526 opacity: 1 11527 }); 11528 11529 }; 11530 11531 Slick.prototype.setHeight = function() { 11532 11533 var _ = this; 11534 11535 if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { 11536 var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); 11537 _.$list.css('height', targetHeight); 11538 } 11539 11540 }; 11541 11542 Slick.prototype.setOption = 11543 Slick.prototype.slickSetOption = function() { 11544 11545 /** 11546 * accepts arguments in format of: 11547 * 11548 * - for changing a single option's value: 11549 * .slick("setOption", option, value, refresh ) 11550 * 11551 * - for changing a set of responsive options: 11552 * .slick("setOption", 'responsive', [{}, ...], refresh ) 11553 * 11554 * - for updating multiple values at once (not responsive) 11555 * .slick("setOption", { 'option': value, ... }, refresh ) 11556 */ 11557 11558 var _ = this, l, item, option, value, refresh = false, type; 11559 11560 if( $.type( arguments[0] ) === 'object' ) { 11561 11562 option = arguments[0]; 11563 refresh = arguments[1]; 11564 type = 'multiple'; 11565 11566 } else if ( $.type( arguments[0] ) === 'string' ) { 11567 11568 option = arguments[0]; 11569 value = arguments[1]; 11570 refresh = arguments[2]; 11571 11572 if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) { 11573 11574 type = 'responsive'; 11575 11576 } else if ( typeof arguments[1] !== 'undefined' ) { 11577 11578 type = 'single'; 11579 11580 } 11581 11582 } 11583 11584 if ( type === 'single' ) { 11585 11586 _.options[option] = value; 11587 11588 11589 } else if ( type === 'multiple' ) { 11590 11591 $.each( option , function( opt, val ) { 11592 11593 _.options[opt] = val; 11594 11595 }); 11596 11597 11598 } else if ( type === 'responsive' ) { 11599 11600 for ( item in value ) { 11601 11602 if( $.type( _.options.responsive ) !== 'array' ) { 11603 11604 _.options.responsive = [ value[item] ]; 11605 11606 } else { 11607 11608 l = _.options.responsive.length-1; 11609 11610 // loop through the responsive object and splice out duplicates. 11611 while( l >= 0 ) { 11612 11613 if( _.options.responsive[l].breakpoint === value[item].breakpoint ) { 11614 11615 _.options.responsive.splice(l,1); 11616 11617 } 11618 11619 l--; 11620 11621 } 11622 11623 _.options.responsive.push( value[item] ); 11624 11625 } 11626 11627 } 11628 11629 } 11630 11631 if ( refresh ) { 11632 11633 _.unload(); 11634 _.reinit(); 11635 11636 } 11637 11638 }; 11639 11640 Slick.prototype.setPosition = function() { 11641 11642 var _ = this; 11643 11644 _.setDimensions(); 11645 11646 _.setHeight(); 11647 11648 if (_.options.fade === false) { 11649 _.setCSS(_.getLeft(_.currentSlide)); 11650 } else { 11651 _.setFade(); 11652 } 11653 11654 _.$slider.trigger('setPosition', [_]); 11655 11656 }; 11657 11658 Slick.prototype.setProps = function() { 11659 11660 var _ = this, 11661 bodyStyle = document.body.style; 11662 11663 _.positionProp = _.options.vertical === true ? 'top' : 'left'; 11664 11665 if (_.positionProp === 'top') { 11666 _.$slider.addClass('slick-vertical'); 11667 } else { 11668 _.$slider.removeClass('slick-vertical'); 11669 } 11670 11671 if (bodyStyle.WebkitTransition !== undefined || 11672 bodyStyle.MozTransition !== undefined || 11673 bodyStyle.msTransition !== undefined) { 11674 if (_.options.useCSS === true) { 11675 _.cssTransitions = true; 11676 } 11677 } 11678 11679 if ( _.options.fade ) { 11680 if ( typeof _.options.zIndex === 'number' ) { 11681 if( _.options.zIndex < 3 ) { 11682 _.options.zIndex = 3; 11683 } 11684 } else { 11685 _.options.zIndex = _.defaults.zIndex; 11686 } 11687 } 11688 11689 if (bodyStyle.OTransform !== undefined) { 11690 _.animType = 'OTransform'; 11691 _.transformType = '-o-transform'; 11692 _.transitionType = 'OTransition'; 11693 if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; 11694 } 11695 if (bodyStyle.MozTransform !== undefined) { 11696 _.animType = 'MozTransform'; 11697 _.transformType = '-moz-transform'; 11698 _.transitionType = 'MozTransition'; 11699 if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false; 11700 } 11701 if (bodyStyle.webkitTransform !== undefined) { 11702 _.animType = 'webkitTransform'; 11703 _.transformType = '-webkit-transform'; 11704 _.transitionType = 'webkitTransition'; 11705 if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; 11706 } 11707 if (bodyStyle.msTransform !== undefined) { 11708 _.animType = 'msTransform'; 11709 _.transformType = '-ms-transform'; 11710 _.transitionType = 'msTransition'; 11711 if (bodyStyle.msTransform === undefined) _.animType = false; 11712 } 11713 if (bodyStyle.transform !== undefined && _.animType !== false) { 11714 _.animType = 'transform'; 11715 _.transformType = 'transform'; 11716 _.transitionType = 'transition'; 11717 } 11718 _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false); 11719 }; 11720 11721 11722 Slick.prototype.setSlideClasses = function(index) { 11723 11724 var _ = this, 11725 centerOffset, allSlides, indexOffset, remainder; 11726 11727 allSlides = _.$slider 11728 .find('.slick-slide') 11729 .removeClass('slick-active slick-center slick-current') 11730 .attr('aria-hidden', 'true'); 11731 11732 _.$slides 11733 .eq(index) 11734 .addClass('slick-current'); 11735 11736 if (_.options.centerMode === true) { 11737 11738 var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0; 11739 11740 centerOffset = Math.floor(_.options.slidesToShow / 2); 11741 11742 if (_.options.infinite === true) { 11743 11744 if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) { 11745 _.$slides 11746 .slice(index - centerOffset + evenCoef, index + centerOffset + 1) 11747 .addClass('slick-active') 11748 .attr('aria-hidden', 'false'); 11749 11750 } else { 11751 11752 indexOffset = _.options.slidesToShow + index; 11753 allSlides 11754 .slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2) 11755 .addClass('slick-active') 11756 .attr('aria-hidden', 'false'); 11757 11758 } 11759 11760 if (index === 0) { 11761 11762 allSlides 11763 .eq(allSlides.length - 1 - _.options.slidesToShow) 11764 .addClass('slick-center'); 11765 11766 } else if (index === _.slideCount - 1) { 11767 11768 allSlides 11769 .eq(_.options.slidesToShow) 11770 .addClass('slick-center'); 11771 11772 } 11773 11774 } 11775 11776 _.$slides 11777 .eq(index) 11778 .addClass('slick-center'); 11779 11780 } else { 11781 11782 if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) { 11783 11784 _.$slides 11785 .slice(index, index + _.options.slidesToShow) 11786 .addClass('slick-active') 11787 .attr('aria-hidden', 'false'); 11788 11789 } else if (allSlides.length <= _.options.slidesToShow) { 11790 11791 allSlides 11792 .addClass('slick-active') 11793 .attr('aria-hidden', 'false'); 11794 11795 } else { 11796 11797 remainder = _.slideCount % _.options.slidesToShow; 11798 indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index; 11799 11800 if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) { 11801 11802 allSlides 11803 .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder) 11804 .addClass('slick-active') 11805 .attr('aria-hidden', 'false'); 11806 11807 } else { 11808 11809 allSlides 11810 .slice(indexOffset, indexOffset + _.options.slidesToShow) 11811 .addClass('slick-active') 11812 .attr('aria-hidden', 'false'); 11813 11814 } 11815 11816 } 11817 11818 } 11819 11820 if (_.options.lazyLoad === 'ondemand' || _.options.lazyLoad === 'anticipated') { 11821 _.lazyLoad(); 11822 } 11823 }; 11824 11825 Slick.prototype.setupInfinite = function() { 11826 11827 var _ = this, 11828 i, slideIndex, infiniteCount; 11829 11830 if (_.options.fade === true) { 11831 _.options.centerMode = false; 11832 } 11833 11834 if (_.options.infinite === true && _.options.fade === false) { 11835 11836 slideIndex = null; 11837 11838 if (_.slideCount > _.options.slidesToShow) { 11839 11840 if (_.options.centerMode === true) { 11841 infiniteCount = _.options.slidesToShow + 1; 11842 } else { 11843 infiniteCount = _.options.slidesToShow; 11844 } 11845 11846 for (i = _.slideCount; i > (_.slideCount - 11847 infiniteCount); i -= 1) { 11848 slideIndex = i - 1; 11849 $(_.$slides[slideIndex]).clone(true).attr('id', '') 11850 .attr('data-slick-index', slideIndex - _.slideCount) 11851 .prependTo(_.$slideTrack).addClass('slick-cloned'); 11852 } 11853 for (i = 0; i < infiniteCount + _.slideCount; i += 1) { 11854 slideIndex = i; 11855 $(_.$slides[slideIndex]).clone(true).attr('id', '') 11856 .attr('data-slick-index', slideIndex + _.slideCount) 11857 .appendTo(_.$slideTrack).addClass('slick-cloned'); 11858 } 11859 _.$slideTrack.find('.slick-cloned').find('[id]').each(function() { 11860 $(this).attr('id', ''); 11861 }); 11862 11863 } 11864 11865 } 11866 11867 }; 11868 11869 Slick.prototype.interrupt = function( toggle ) { 11870 11871 var _ = this; 11872 11873 if( !toggle ) { 11874 _.autoPlay(); 11875 } 11876 _.interrupted = toggle; 11877 11878 }; 11879 11880 Slick.prototype.selectHandler = function(event) { 11881 11882 var _ = this; 11883 11884 var targetElement = 11885 $(event.target).is('.slick-slide') ? 11886 $(event.target) : 11887 $(event.target).parents('.slick-slide'); 11888 11889 var index = parseInt(targetElement.attr('data-slick-index')); 11890 11891 if (!index) index = 0; 11892 11893 if (_.slideCount <= _.options.slidesToShow) { 11894 11895 _.slideHandler(index, false, true); 11896 return; 11897 11898 } 11899 11900 _.slideHandler(index); 11901 11902 }; 11903 11904 Slick.prototype.slideHandler = function(index, sync, dontAnimate) { 11905 11906 var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null, 11907 _ = this, navTarget; 11908 11909 sync = sync || false; 11910 11911 if (_.animating === true && _.options.waitForAnimate === true) { 11912 return; 11913 } 11914 11915 if (_.options.fade === true && _.currentSlide === index) { 11916 return; 11917 } 11918 11919 if (sync === false) { 11920 _.asNavFor(index); 11921 } 11922 11923 targetSlide = index; 11924 targetLeft = _.getLeft(targetSlide); 11925 slideLeft = _.getLeft(_.currentSlide); 11926 11927 _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft; 11928 11929 if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) { 11930 if (_.options.fade === false) { 11931 targetSlide = _.currentSlide; 11932 if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { 11933 _.animateSlide(slideLeft, function() { 11934 _.postSlide(targetSlide); 11935 }); 11936 } else { 11937 _.postSlide(targetSlide); 11938 } 11939 } 11940 return; 11941 } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) { 11942 if (_.options.fade === false) { 11943 targetSlide = _.currentSlide; 11944 if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { 11945 _.animateSlide(slideLeft, function() { 11946 _.postSlide(targetSlide); 11947 }); 11948 } else { 11949 _.postSlide(targetSlide); 11950 } 11951 } 11952 return; 11953 } 11954 11955 if ( _.options.autoplay ) { 11956 clearInterval(_.autoPlayTimer); 11957 } 11958 11959 if (targetSlide < 0) { 11960 if (_.slideCount % _.options.slidesToScroll !== 0) { 11961 animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll); 11962 } else { 11963 animSlide = _.slideCount + targetSlide; 11964 } 11965 } else if (targetSlide >= _.slideCount) { 11966 if (_.slideCount % _.options.slidesToScroll !== 0) { 11967 animSlide = 0; 11968 } else { 11969 animSlide = targetSlide - _.slideCount; 11970 } 11971 } else { 11972 animSlide = targetSlide; 11973 } 11974 11975 _.animating = true; 11976 11977 _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]); 11978 11979 oldSlide = _.currentSlide; 11980 _.currentSlide = animSlide; 11981 11982 _.setSlideClasses(_.currentSlide); 11983 11984 if ( _.options.asNavFor ) { 11985 11986 navTarget = _.getNavTarget(); 11987 navTarget = navTarget.slick('getSlick'); 11988 11989 if ( navTarget.slideCount <= navTarget.options.slidesToShow ) { 11990 navTarget.setSlideClasses(_.currentSlide); 11991 } 11992 11993 } 11994 11995 _.updateDots(); 11996 _.updateArrows(); 11997 11998 if (_.options.fade === true) { 11999 if (dontAnimate !== true) { 12000 12001 _.fadeSlideOut(oldSlide); 12002 12003 _.fadeSlide(animSlide, function() { 12004 _.postSlide(animSlide); 12005 }); 12006 12007 } else { 12008 _.postSlide(animSlide); 12009 } 12010 _.animateHeight(); 12011 return; 12012 } 12013 12014 if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { 12015 _.animateSlide(targetLeft, function() { 12016 _.postSlide(animSlide); 12017 }); 12018 } else { 12019 _.postSlide(animSlide); 12020 } 12021 12022 }; 12023 12024 Slick.prototype.startLoad = function() { 12025 12026 var _ = this; 12027 12028 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 12029 12030 _.$prevArrow.hide(); 12031 _.$nextArrow.hide(); 12032 12033 } 12034 12035 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 12036 12037 _.$dots.hide(); 12038 12039 } 12040 12041 _.$slider.addClass('slick-loading'); 12042 12043 }; 12044 12045 Slick.prototype.swipeDirection = function() { 12046 12047 var xDist, yDist, r, swipeAngle, _ = this; 12048 12049 xDist = _.touchObject.startX - _.touchObject.curX; 12050 yDist = _.touchObject.startY - _.touchObject.curY; 12051 r = Math.atan2(yDist, xDist); 12052 12053 swipeAngle = Math.round(r * 180 / Math.PI); 12054 if (swipeAngle < 0) { 12055 swipeAngle = 360 - Math.abs(swipeAngle); 12056 } 12057 12058 if ((swipeAngle <= 45) && (swipeAngle >= 0)) { 12059 return (_.options.rtl === false ? 'left' : 'right'); 12060 } 12061 if ((swipeAngle <= 360) && (swipeAngle >= 315)) { 12062 return (_.options.rtl === false ? 'left' : 'right'); 12063 } 12064 if ((swipeAngle >= 135) && (swipeAngle <= 225)) { 12065 return (_.options.rtl === false ? 'right' : 'left'); 12066 } 12067 if (_.options.verticalSwiping === true) { 12068 if ((swipeAngle >= 35) && (swipeAngle <= 135)) { 12069 return 'down'; 12070 } else { 12071 return 'up'; 12072 } 12073 } 12074 12075 return 'vertical'; 12076 12077 }; 12078 12079 Slick.prototype.swipeEnd = function(event) { 12080 12081 var _ = this, 12082 slideCount, 12083 direction; 12084 12085 _.dragging = false; 12086 _.swiping = false; 12087 12088 if (_.scrolling) { 12089 _.scrolling = false; 12090 return false; 12091 } 12092 12093 _.interrupted = false; 12094 _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true; 12095 12096 if ( _.touchObject.curX === undefined ) { 12097 return false; 12098 } 12099 12100 if ( _.touchObject.edgeHit === true ) { 12101 _.$slider.trigger('edge', [_, _.swipeDirection() ]); 12102 } 12103 12104 if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) { 12105 12106 direction = _.swipeDirection(); 12107 12108 switch ( direction ) { 12109 12110 case 'left': 12111 case 'down': 12112 12113 slideCount = 12114 _.options.swipeToSlide ? 12115 _.checkNavigable( _.currentSlide + _.getSlideCount() ) : 12116 _.currentSlide + _.getSlideCount(); 12117 12118 _.currentDirection = 0; 12119 12120 break; 12121 12122 case 'right': 12123 case 'up': 12124 12125 slideCount = 12126 _.options.swipeToSlide ? 12127 _.checkNavigable( _.currentSlide - _.getSlideCount() ) : 12128 _.currentSlide - _.getSlideCount(); 12129 12130 _.currentDirection = 1; 12131 12132 break; 12133 12134 default: 12135 12136 12137 } 12138 12139 if( direction != 'vertical' ) { 12140 12141 _.slideHandler( slideCount ); 12142 _.touchObject = {}; 12143 _.$slider.trigger('swipe', [_, direction ]); 12144 12145 } 12146 12147 } else { 12148 12149 if ( _.touchObject.startX !== _.touchObject.curX ) { 12150 12151 _.slideHandler( _.currentSlide ); 12152 _.touchObject = {}; 12153 12154 } 12155 12156 } 12157 12158 }; 12159 12160 Slick.prototype.swipeHandler = function(event) { 12161 12162 var _ = this; 12163 12164 if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) { 12165 return; 12166 } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) { 12167 return; 12168 } 12169 12170 _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ? 12171 event.originalEvent.touches.length : 1; 12172 12173 _.touchObject.minSwipe = _.listWidth / _.options 12174 .touchThreshold; 12175 12176 if (_.options.verticalSwiping === true) { 12177 _.touchObject.minSwipe = _.listHeight / _.options 12178 .touchThreshold; 12179 } 12180 12181 switch (event.data.action) { 12182 12183 case 'start': 12184 _.swipeStart(event); 12185 break; 12186 12187 case 'move': 12188 _.swipeMove(event); 12189 break; 12190 12191 case 'end': 12192 _.swipeEnd(event); 12193 break; 12194 12195 } 12196 12197 }; 12198 12199 Slick.prototype.swipeMove = function(event) { 12200 12201 var _ = this, 12202 edgeWasHit = false, 12203 curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength; 12204 12205 touches = event.originalEvent !== undefined ? event.originalEvent.touches : null; 12206 12207 if (!_.dragging || _.scrolling || touches && touches.length !== 1) { 12208 return false; 12209 } 12210 12211 curLeft = _.getLeft(_.currentSlide); 12212 12213 _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX; 12214 _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY; 12215 12216 _.touchObject.swipeLength = Math.round(Math.sqrt( 12217 Math.pow(_.touchObject.curX - _.touchObject.startX, 2))); 12218 12219 verticalSwipeLength = Math.round(Math.sqrt( 12220 Math.pow(_.touchObject.curY - _.touchObject.startY, 2))); 12221 12222 if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) { 12223 _.scrolling = true; 12224 return false; 12225 } 12226 12227 if (_.options.verticalSwiping === true) { 12228 _.touchObject.swipeLength = verticalSwipeLength; 12229 } 12230 12231 swipeDirection = _.swipeDirection(); 12232 12233 if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) { 12234 _.swiping = true; 12235 event.preventDefault(); 12236 } 12237 12238 positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1); 12239 if (_.options.verticalSwiping === true) { 12240 positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1; 12241 } 12242 12243 12244 swipeLength = _.touchObject.swipeLength; 12245 12246 _.touchObject.edgeHit = false; 12247 12248 if (_.options.infinite === false) { 12249 if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) { 12250 swipeLength = _.touchObject.swipeLength * _.options.edgeFriction; 12251 _.touchObject.edgeHit = true; 12252 } 12253 } 12254 12255 if (_.options.vertical === false) { 12256 _.swipeLeft = curLeft + swipeLength * positionOffset; 12257 } else { 12258 _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset; 12259 } 12260 if (_.options.verticalSwiping === true) { 12261 _.swipeLeft = curLeft + swipeLength * positionOffset; 12262 } 12263 12264 if (_.options.fade === true || _.options.touchMove === false) { 12265 return false; 12266 } 12267 12268 if (_.animating === true) { 12269 _.swipeLeft = null; 12270 return false; 12271 } 12272 12273 _.setCSS(_.swipeLeft); 12274 12275 }; 12276 12277 Slick.prototype.swipeStart = function(event) { 12278 12279 var _ = this, 12280 touches; 12281 12282 _.interrupted = true; 12283 12284 if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) { 12285 _.touchObject = {}; 12286 return false; 12287 } 12288 12289 if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) { 12290 touches = event.originalEvent.touches[0]; 12291 } 12292 12293 _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX; 12294 _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY; 12295 12296 _.dragging = true; 12297 12298 }; 12299 12300 Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() { 12301 12302 var _ = this; 12303 12304 if (_.$slidesCache !== null) { 12305 12306 _.unload(); 12307 12308 _.$slideTrack.children(this.options.slide).detach(); 12309 12310 _.$slidesCache.appendTo(_.$slideTrack); 12311 12312 _.reinit(); 12313 12314 } 12315 12316 }; 12317 12318 Slick.prototype.unload = function() { 12319 12320 var _ = this; 12321 12322 $('.slick-cloned', _.$slider).remove(); 12323 12324 if (_.$dots) { 12325 _.$dots.remove(); 12326 } 12327 12328 if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) { 12329 _.$prevArrow.remove(); 12330 } 12331 12332 if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) { 12333 _.$nextArrow.remove(); 12334 } 12335 12336 _.$slides 12337 .removeClass('slick-slide slick-active slick-visible slick-current') 12338 .attr('aria-hidden', 'true') 12339 .css('width', ''); 12340 12341 }; 12342 12343 Slick.prototype.unslick = function(fromBreakpoint) { 12344 12345 var _ = this; 12346 _.$slider.trigger('unslick', [_, fromBreakpoint]); 12347 _.destroy(); 12348 12349 }; 12350 12351 Slick.prototype.updateArrows = function() { 12352 12353 var _ = this, 12354 centerOffset; 12355 12356 centerOffset = Math.floor(_.options.slidesToShow / 2); 12357 12358 if ( _.options.arrows === true && 12359 _.slideCount > _.options.slidesToShow && 12360 !_.options.infinite ) { 12361 12362 _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 12363 _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 12364 12365 if (_.currentSlide === 0) { 12366 12367 _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); 12368 _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 12369 12370 } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) { 12371 12372 _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); 12373 _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 12374 12375 } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) { 12376 12377 _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); 12378 _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 12379 12380 } 12381 12382 } 12383 12384 }; 12385 12386 Slick.prototype.updateDots = function() { 12387 12388 var _ = this; 12389 12390 if (_.$dots !== null) { 12391 12392 _.$dots 12393 .find('li') 12394 .removeClass('slick-active') 12395 .end(); 12396 12397 _.$dots 12398 .find('li') 12399 .eq(Math.floor(_.currentSlide / _.options.slidesToScroll)) 12400 .addClass('slick-active'); 12401 12402 } 12403 12404 }; 12405 12406 Slick.prototype.visibility = function() { 12407 12408 var _ = this; 12409 12410 if ( _.options.autoplay ) { 12411 12412 if ( document[_.hidden] ) { 12413 12414 _.interrupted = true; 12415 12416 } else { 12417 12418 _.interrupted = false; 12419 12420 } 12421 12422 } 12423 12424 }; 12425 12426 $.fn.slick = function() { 12427 var _ = this, 12428 opt = arguments[0], 12429 args = Array.prototype.slice.call(arguments, 1), 12430 l = _.length, 12431 i, 12432 ret; 12433 for (i = 0; i < l; i++) { 12434 if (typeof opt == 'object' || typeof opt == 'undefined') 12435 _[i].slick = new Slick(_[i], opt); 12436 else 12437 ret = _[i].slick[opt].apply(_[i].slick, args); 12438 if (typeof ret != 'undefined') return ret; 12439 } 12440 return _; 12441 }; 12442 12443})); 12444 12445 12446/***/ })
vendor: 5,127 bytes, lines 12446-12569
12446, 12447 12448/***/ "jquery": 12449/*!*************************!*\ 12450 !*** external "jQuery" ***! 12451 \*************************/ 12452/***/ ((module) => { 12453 12454"use strict"; 12455module.exports = window["jQuery"]; 12456 12457/***/ }) 12458 12459/******/ }); 12460/************************************************************************/ 12461/******/ // The module cache 12462/******/ var __webpack_module_cache__ = {}; 12463/******/ 12464/******/ // The require function 12465/******/ function __webpack_require__(moduleId) { 12466/******/ // Check if module is in cache 12467/******/ var cachedModule = __webpack_module_cache__[moduleId]; 12468/******/ if (cachedModule !== undefined) { 12469/******/ return cachedModule.exports; 12470/******/ } 12471/******/ // Create a new module (and put it into the cache) 12472/******/ var module = __webpack_module_cache__[moduleId] = { 12473/******/ // no module.id needed 12474/******/ // no module.loaded needed 12475/******/ exports: {} 12476/******/ }; 12477/******/ 12478/******/ // Execute the module function 12479/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); 12480/******/ 12481/******/ // Return the exports of the module 12482/******/ return module.exports; 12483/******/ } 12484/******/ 12485/************************************************************************/ 12486/******/ /* webpack/runtime/compat get default export */ 12487/******/ (() => { 12488/******/ // getDefaultExport function for compatibility with non-harmony modules 12489/******/ __webpack_require__.n = (module) => { 12490/******/ var getter = module && module.__esModule ? 12491/******/ () => (module['default']) : 12492/******/ () => (module); 12493/******/ __webpack_require__.d(getter, { a: getter }); 12494/******/ return getter; 12495/******/ }; 12496/******/ })(); 12497/******/ 12498/******/ /* webpack/runtime/define property getters */ 12499/******/ (() => { 12500/******/ // define getter functions for harmony exports 12501/******/ __webpack_require__.d = (exports, definition) => { 12502/******/ for(var key in definition) { 12503/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { 12504/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); 12505/******/ } 12506/******/ } 12507/******/ }; 12508/******/ })(); 12509/******/ 12510/******/ /* webpack/runtime/global */ 12511/******/ (() => { 12512/******/ __webpack_require__.g = (function() { 12513/******/ if (typeof globalThis === 'object') return globalThis; 12514/******/ try { 12515/******/ return this || new Function('return this')(); 12516/******/ } catch (e) { 12517/******/ if (typeof window === 'object') return window; 12518/******/ } 12519/******/ })(); 12520/******/ })(); 12521/******/ 12522/******/ /* webpack/runtime/hasOwnProperty shorthand */ 12523/******/ (() => { 12524/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) 12525/******/ })(); 12526/******/ 12527/******/ /* webpack/runtime/make namespace object */ 12528/******/ (() => { 12529/******/ // define __esModule on exports 12530/******/ __webpack_require__.r = (exports) => { 12531/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 12532/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 12533/******/ } 12534/******/ Object.defineProperty(exports, '__esModule', { value: true }); 12535/******/ }; 12536/******/ })(); 12537/******/ 12538/************************************************************************/ 12539var __webpack_exports__ = {}; 12540// This entry need to be wrapped in an IIFE because it need to be in strict mode. 12541(() => { 12542"use strict"; 12543/*!**********************!*\ 12544 !*** ./src/index.js ***! 12545 \**********************/ 12546__webpack_require__.r(__webpack_exports__); 12547/* harmony import */ var _styles_main_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./styles/main.scss */ "./src/styles/main.scss"); 12548/* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.esm.js"); 12549/* harmony import */ var aos__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! aos */ "./node_modules/aos/dist/aos.js"); 12550/* harmony import */ var aos__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(aos__WEBPACK_IMPORTED_MODULE_2__); 12551/* harmony import */ var slick_carousel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! slick-carousel */ "./node_modules/slick-carousel/slick/slick.js"); 12552/* harmony import */ var slick_carousel__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(slick_carousel__WEBPACK_IMPORTED_MODULE_3__); 12553/* harmony import */ var jquery_match_height__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! jquery-match-height */ "./node_modules/jquery-match-height/dist/jquery.matchHeight.js"); 12554/* harmony import */ var jquery_match_height__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(jquery_match_height__WEBPACK_IMPORTED_MODULE_4__); 12555/* harmony import */ var _scripts_index__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./scripts/index */ "./src/scripts/index.js"); 12556 12557 12558 12559 12560 12561 12562 12563 12564 12565// import React from 'react' 12566// import ReactDOM from 'react-dom'; 12567 12568aos__WEBPACK_IMPORTED_MODULE_2___default().init({ 12569 duration: 600,
12570 once: true 12571}); 12572window.jQuery = $; 12573window.$ = $; 12574window.$ = window.jQuery = __webpack_require__(/*! jquery */ "jquery"); 12575})(); 12576 12577/******/ })() 12578; 12579//# sourceMappingURL=index.js.map
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.