1/******/ (function() { // webpackBootstrap 2/******/ var __webpack_modules__ = ({ 3
vendor: 13,616 bytes, lines 4-292
4/***/ "./node_modules/@popperjs/core/lib/createPopper.js": 5/*!*********************************************************!*\ 6 !*** ./node_modules/@popperjs/core/lib/createPopper.js ***! 7 \*********************************************************/ 8/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9 10"use strict"; 11__webpack_require__.r(__webpack_exports__); 12/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13/* harmony export */ "createPopper": function() { return /* binding */ createPopper; }, 14/* harmony export */ "detectOverflow": function() { return /* reexport safe */ _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_13__["default"]; }, 15/* harmony export */ "popperGenerator": function() { return /* 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,438 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/***/ (function(__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": function() { return /* 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,053 bytes, lines 331-382
331/***/ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js": 332/*!****************************************************************************!*\ 333 !*** ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js ***! 334 \****************************************************************************/ 335/***/ (function(__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": function() { return /* 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 345 346function getBoundingClientRect(element, includeScale) { 347 if (includeScale === void 0) { 348 includeScale = false; 349 } 350 351 var rect = element.getBoundingClientRect(); 352 var scaleX = 1; 353 var scaleY = 1; 354 355 if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) && includeScale) { 356 var offsetHeight = element.offsetHeight; 357 var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale 358 // Fallback to 1 in case both values are `0` 359 360 if (offsetWidth > 0) { 361 scaleX = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_1__.round)(rect.width) / offsetWidth || 1; 362 } 363 364 if (offsetHeight > 0) { 365 scaleY = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_1__.round)(rect.height) / offsetHeight || 1; 366 } 367 } 368 369 return { 370 width: rect.width / scaleX, 371 height: rect.height / scaleY, 372 top: rect.top / scaleY, 373 right: rect.right / scaleX, 374 bottom: rect.bottom / scaleY, 375 left: rect.left / scaleX, 376 x: rect.left / scaleX, 377 y: rect.top / scaleY 378 }; 379} 380 381/***/ }), 382
vendor: 6,837 bytes, lines 383-480
383/***/ "./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js": 384/*!**********************************************************************!*\ 385 !*** ./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js ***! 386 \**********************************************************************/ 387/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 388 389"use strict"; 390__webpack_require__.r(__webpack_exports__); 391/* harmony export */ __webpack_require__.d(__webpack_exports__, { 392/* harmony export */ "default": function() { return /* binding */ getClippingRect; } 393/* harmony export */ }); 394/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 395/* harmony import */ var _getViewportRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getViewportRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js"); 396/* harmony import */ var _getDocumentRect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getDocumentRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js"); 397/* harmony import */ var _listScrollParents_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./listScrollParents.js */ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js"); 398/* harmony import */ var _getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js"); 399/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 400/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 401/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 402/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); 403/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); 404/* harmony import */ var _contains_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./contains.js */ "./node_modules/@popperjs/core/lib/dom-utils/contains.js"); 405/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 406/* harmony import */ var _utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/rectToClientRect.js */ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js"); 407/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423function getInnerBoundingClientRect(element) { 424 var rect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); 425 rect.top = rect.top + element.clientTop; 426 rect.left = rect.left + element.clientLeft; 427 rect.bottom = rect.top + element.clientHeight; 428 rect.right = rect.left + element.clientWidth; 429 rect.width = element.clientWidth; 430 rect.height = element.clientHeight; 431 rect.x = rect.left; 432 rect.y = rect.top; 433 return rect; 434} 435 436function getClientRectFromMixedType(element, clippingParent) { 437 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)) : (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(clippingParent) ? getInnerBoundingClientRect(clippingParent) : (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))); 438} // A "clipping parent" is an overflowable container with the characteristic of 439// clipping (or hiding) overflowing elements with a position different from 440// `initial` 441 442 443function getClippingParents(element) { 444 var clippingParents = (0,_listScrollParents_js__WEBPACK_IMPORTED_MODULE_7__["default"])((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_8__["default"])(element)); 445 var canEscapeClipping = ['absolute', 'fixed'].indexOf((0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_9__["default"])(element).position) >= 0; 446 var clipperElement = canEscapeClipping && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(element) ? (0,_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__["default"])(element) : element; 447 448 if (!(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(clipperElement)) { 449 return []; 450 } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414 451 452 453 return clippingParents.filter(function (clippingParent) { 454 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'; 455 }); 456} // Gets the maximum area that the element is visible in due to any number of 457// clipping parents 458 459 460function getClippingRect(element, boundary, rootBoundary) { 461 var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); 462 var clippingParents = [].concat(mainClippingParents, [rootBoundary]); 463 var firstClippingParent = clippingParents[0]; 464 var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { 465 var rect = getClientRectFromMixedType(element, clippingParent); 466 accRect.top = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.max)(rect.top, accRect.top); 467 accRect.right = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.min)(rect.right, accRect.right); 468 accRect.bottom = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.min)(rect.bottom, accRect.bottom); 469 accRect.left = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.max)(rect.left, accRect.left); 470 return accRect; 471 }, getClientRectFromMixedType(element, firstClippingParent)); 472 clippingRect.width = clippingRect.right - clippingRect.left; 473 clippingRect.height = clippingRect.bottom - clippingRect.top; 474 clippingRect.x = clippingRect.left; 475 clippingRect.y = clippingRect.top; 476 return clippingRect; 477} 478 479/***/ }), 480
vendor: 4,363 bytes, lines 481-560
481/***/ "./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js": 482/*!***********************************************************************!*\ 483 !*** ./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js ***! 484 \***********************************************************************/ 485/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 486 487"use strict"; 488__webpack_require__.r(__webpack_exports__); 489/* harmony export */ __webpack_require__.d(__webpack_exports__, { 490/* harmony export */ "default": function() { return /* binding */ getCompositeRect; } 491/* harmony export */ }); 492/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); 493/* harmony import */ var _getNodeScroll_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getNodeScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js"); 494/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 495/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 496/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js"); 497/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 498/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js"); 499/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 500 501 502 503 504 505 506 507 508 509function isElementScaled(element) { 510 var rect = element.getBoundingClientRect(); 511 var scaleX = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(rect.width) / element.offsetWidth || 1; 512 var scaleY = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(rect.height) / element.offsetHeight || 1; 513 return scaleX !== 1 || scaleY !== 1; 514} // Returns the composite rect of an element relative to its offsetParent. 515// Composite means it takes into account transforms as well as layout. 516 517 518function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { 519 if (isFixed === void 0) { 520 isFixed = false; 521 } 522 523 var isOffsetParentAnElement = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent); 524 var offsetParentIsScaled = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent) && isElementScaled(offsetParent); 525 var documentElement = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(offsetParent); 526 var rect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__["default"])(elementOrVirtualElement, offsetParentIsScaled); 527 var scroll = { 528 scrollLeft: 0, 529 scrollTop: 0 530 }; 531 var offsets = { 532 x: 0, 533 y: 0 534 }; 535 536 if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { 537 if ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_4__["default"])(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078 538 (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_5__["default"])(documentElement)) { 539 scroll = (0,_getNodeScroll_js__WEBPACK_IMPORTED_MODULE_6__["default"])(offsetParent); 540 } 541 542 if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent)) { 543 offsets = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__["default"])(offsetParent, true); 544 offsets.x += offsetParent.clientLeft; 545 offsets.y += offsetParent.clientTop; 546 } else if (documentElement) { 547 offsets.x = (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_7__["default"])(documentElement); 548 } 549 } 550 551 return { 552 x: rect.left + scroll.scrollLeft - offsets.x, 553 y: rect.top + scroll.scrollTop - offsets.y, 554 width: rect.width, 555 height: rect.height 556 }; 557} 558 559/***/ }), 560
vendor: 954 bytes, lines 561-579
561/***/ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js": 562/*!***********************************************************************!*\ 563 !*** ./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js ***! 564 \***********************************************************************/ 565/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 566 567"use strict"; 568__webpack_require__.r(__webpack_exports__); 569/* harmony export */ __webpack_require__.d(__webpack_exports__, { 570/* harmony export */ "default": function() { return /* binding */ getComputedStyle; } 571/* harmony export */ }); 572/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 573 574function getComputedStyle(element) { 575 return (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element).getComputedStyle(element); 576} 577 578/***/ }), 579
vendor: 1,125 bytes, lines 580-600
580/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js": 581/*!*************************************************************************!*\ 582 !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js ***! 583 \*************************************************************************/ 584/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 585 586"use strict"; 587__webpack_require__.r(__webpack_exports__); 588/* harmony export */ __webpack_require__.d(__webpack_exports__, { 589/* harmony export */ "default": function() { return /* binding */ getDocumentElement; } 590/* harmony export */ }); 591/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 592 593function getDocumentElement(element) { 594 // $FlowFixMe[incompatible-return]: assume body is always available 595 return (((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? element.ownerDocument : // $FlowFixMe[prop-missing] 596 element.document) || window.document).documentElement; 597} 598 599/***/ }), 600
vendor: 2,878 bytes, lines 601-648
601/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js": 602/*!**********************************************************************!*\ 603 !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js ***! 604 \**********************************************************************/ 605/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 606 607"use strict"; 608__webpack_require__.r(__webpack_exports__); 609/* harmony export */ __webpack_require__.d(__webpack_exports__, { 610/* harmony export */ "default": function() { return /* binding */ getDocumentRect; } 611/* harmony export */ }); 612/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 613/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 614/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js"); 615/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js"); 616/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 617 618 619 620 621 // Gets the entire size of the scrollable document area, even extending outside 622// of the `<html>` and `<body>` rect bounds if horizontally scrollable 623 624function getDocumentRect(element) { 625 var _element$ownerDocumen; 626 627 var html = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); 628 var winScroll = (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element); 629 var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; 630 var width = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); 631 var height = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); 632 var x = -winScroll.scrollLeft + (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__["default"])(element); 633 var y = -winScroll.scrollTop; 634 635 if ((0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__["default"])(body || html).direction === 'rtl') { 636 x += (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.clientWidth, body ? body.clientWidth : 0) - width; 637 } 638 639 return { 640 width: width, 641 height: height, 642 x: x, 643 y: y 644 }; 645} 646 647/***/ }), 648
vendor: 786 bytes, lines 649-668
649/***/ "./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js": 650/*!***************************************************************************!*\ 651 !*** ./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js ***! 652 \***************************************************************************/ 653/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 654 655"use strict"; 656__webpack_require__.r(__webpack_exports__); 657/* harmony export */ __webpack_require__.d(__webpack_exports__, { 658/* harmony export */ "default": function() { return /* binding */ getHTMLElementScroll; } 659/* harmony export */ }); 660function getHTMLElementScroll(element) { 661 return { 662 scrollLeft: element.scrollLeft, 663 scrollTop: element.scrollTop 664 }; 665} 666 667/***/ }), 668
vendor: 1,570 bytes, lines 669-708
669/***/ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js": 670/*!********************************************************************!*\ 671 !*** ./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js ***! 672 \********************************************************************/ 673/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 674 675"use strict"; 676__webpack_require__.r(__webpack_exports__); 677/* harmony export */ __webpack_require__.d(__webpack_exports__, { 678/* harmony export */ "default": function() { return /* binding */ getLayoutRect; } 679/* harmony export */ }); 680/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); 681 // Returns the layout rect of an element relative to its offsetParent. Layout 682// means it doesn't take into account transforms. 683 684function getLayoutRect(element) { 685 var clientRect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); // Use the clientRect sizes if it's not been transformed. 686 // Fixes https://github.com/popperjs/popper-core/issues/1223 687 688 var width = element.offsetWidth; 689 var height = element.offsetHeight; 690 691 if (Math.abs(clientRect.width - width) <= 1) { 692 width = clientRect.width; 693 } 694 695 if (Math.abs(clientRect.height - height) <= 1) { 696 height = clientRect.height; 697 } 698 699 return { 700 x: element.offsetLeft, 701 y: element.offsetTop, 702 width: width, 703 height: height 704 }; 705} 706 707/***/ }), 708
vendor: 713 bytes, lines 709-725
709/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js": 710/*!******************************************************************!*\ 711 !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js ***! 712 \******************************************************************/ 713/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 714 715"use strict"; 716__webpack_require__.r(__webpack_exports__); 717/* harmony export */ __webpack_require__.d(__webpack_exports__, { 718/* harmony export */ "default": function() { return /* binding */ getNodeName; } 719/* harmony export */ }); 720function getNodeName(element) { 721 return element ? (element.nodeName || '').toLowerCase() : null; 722} 723 724/***/ }), 725
vendor: 1,744 bytes, lines 726-754
726/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js": 727/*!********************************************************************!*\ 728 !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js ***! 729 \********************************************************************/ 730/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 731 732"use strict"; 733__webpack_require__.r(__webpack_exports__); 734/* harmony export */ __webpack_require__.d(__webpack_exports__, { 735/* harmony export */ "default": function() { return /* binding */ getNodeScroll; } 736/* harmony export */ }); 737/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js"); 738/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 739/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 740/* harmony import */ var _getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getHTMLElementScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js"); 741 742 743 744 745function getNodeScroll(node) { 746 if (node === (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node) || !(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(node)) { 747 return (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__["default"])(node); 748 } else { 749 return (0,_getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__["default"])(node); 750 } 751} 752 753/***/ }), 754
vendor: 4,749 bytes, lines 755-842
755/***/ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js": 756/*!**********************************************************************!*\ 757 !*** ./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js ***! 758 \**********************************************************************/ 759/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 760 761"use strict"; 762__webpack_require__.r(__webpack_exports__); 763/* harmony export */ __webpack_require__.d(__webpack_exports__, { 764/* harmony export */ "default": function() { return /* binding */ getOffsetParent; } 765/* harmony export */ }); 766/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 767/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 768/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 769/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 770/* harmony import */ var _isTableElement_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isTableElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js"); 771/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); 772 773 774 775 776 777 778 779function getTrueOffsetParent(element) { 780 if (!(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || // https://github.com/popperjs/popper-core/issues/837 781 (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element).position === 'fixed') { 782 return null; 783 } 784 785 return element.offsetParent; 786} // `.offsetParent` reports `null` for fixed elements, while absolute elements 787// return the containing block 788 789 790function getContainingBlock(element) { 791 var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1; 792 var isIE = navigator.userAgent.indexOf('Trident') !== -1; 793 794 if (isIE && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element)) { 795 // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport 796 var elementCss = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element); 797 798 if (elementCss.position === 'fixed') { 799 return null; 800 } 801 } 802 803 var currentNode = (0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element); 804 805 if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isShadowRoot)(currentNode)) { 806 currentNode = currentNode.host; 807 } 808 809 while ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(currentNode) && ['html', 'body'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_3__["default"])(currentNode)) < 0) { 810 var css = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(currentNode); // This is non-exhaustive but covers the most common CSS properties that 811 // create a containing block. 812 // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block 813 814 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') { 815 return currentNode; 816 } else { 817 currentNode = currentNode.parentNode; 818 } 819 } 820 821 return null; 822} // Gets the closest ancestor positioned element. Handles some edge cases, 823// such as table ancestors and cross browser bugs. 824 825 826function getOffsetParent(element) { 827 var window = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_4__["default"])(element); 828 var offsetParent = getTrueOffsetParent(element); 829 830 while (offsetParent && (0,_isTableElement_js__WEBPACK_IMPORTED_MODULE_5__["default"])(offsetParent) && (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(offsetParent).position === 'static') { 831 offsetParent = getTrueOffsetParent(offsetParent); 832 } 833 834 if (offsetParent && ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_3__["default"])(offsetParent) === 'html' || (0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_3__["default"])(offsetParent) === 'body' && (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(offsetParent).position === 'static')) { 835 return window; 836 } 837 838 return offsetParent || getContainingBlock(element) || window; 839} 840 841/***/ }), 842
vendor: 1,920 bytes, lines 843-878
843/***/ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js": 844/*!********************************************************************!*\ 845 !*** ./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js ***! 846 \********************************************************************/ 847/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 848 849"use strict"; 850__webpack_require__.r(__webpack_exports__); 851/* harmony export */ __webpack_require__.d(__webpack_exports__, { 852/* harmony export */ "default": function() { return /* binding */ getParentNode; } 853/* harmony export */ }); 854/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 855/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 856/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 857 858 859 860function getParentNode(element) { 861 if ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element) === 'html') { 862 return element; 863 } 864 865 return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle 866 // $FlowFixMe[incompatible-return] 867 // $FlowFixMe[prop-missing] 868 element.assignedSlot || // step into the shadow DOM of the parent of a slotted node 869 element.parentNode || ( // DOM Element detected 870 (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isShadowRoot)(element) ? element.host : null) || // ShadowRoot detected 871 // $FlowFixMe[incompatible-call]: HTMLElement is a Node 872 (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element) // fallback 873 874 ); 875} 876 877/***/ }), 878
vendor: 1,898 bytes, lines 879-912
879/***/ "./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js": 880/*!**********************************************************************!*\ 881 !*** ./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js ***! 882 \**********************************************************************/ 883/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 884 885"use strict"; 886__webpack_require__.r(__webpack_exports__); 887/* harmony export */ __webpack_require__.d(__webpack_exports__, { 888/* harmony export */ "default": function() { return /* binding */ getScrollParent; } 889/* harmony export */ }); 890/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); 891/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js"); 892/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 893/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); 894 895 896 897 898function getScrollParent(node) { 899 if (['html', 'body', '#document'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node)) >= 0) { 900 // $FlowFixMe[incompatible-return]: assume body is always available 901 return node.ownerDocument.body; 902 } 903 904 if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(node) && (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(node)) { 905 return node; 906 } 907 908 return getScrollParent((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_3__["default"])(node)); 909} 910 911/***/ }), 912
vendor: 2,777 bytes, lines 913-969
913/***/ "./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js": 914/*!**********************************************************************!*\ 915 !*** ./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js ***! 916 \**********************************************************************/ 917/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 918 919"use strict"; 920__webpack_require__.r(__webpack_exports__); 921/* harmony export */ __webpack_require__.d(__webpack_exports__, { 922/* harmony export */ "default": function() { return /* binding */ getViewportRect; } 923/* harmony export */ }); 924/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 925/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 926/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js"); 927 928 929 930function getViewportRect(element) { 931 var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); 932 var html = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element); 933 var visualViewport = win.visualViewport; 934 var width = html.clientWidth; 935 var height = html.clientHeight; 936 var x = 0; 937 var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper 938 // can be obscured underneath it. 939 // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even 940 // if it isn't open, so if this isn't available, the popper will be detected 941 // to overflow the bottom of the screen too early. 942 943 if (visualViewport) { 944 width = visualViewport.width; 945 height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently) 946 // In Chrome, it returns a value very close to 0 (+/-) but contains rounding 947 // errors due to floating point numbers, so we need to check precision. 948 // Safari returns a number <= 0, usually < -1 when pinch-zoomed 949 // Feature detection fails in mobile emulation mode in Chrome. 950 // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < 951 // 0.001 952 // Fallback here: "Not Safari" userAgent 953 954 if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) { 955 x = visualViewport.offsetLeft; 956 y = visualViewport.offsetTop; 957 } 958 } 959 960 return { 961 width: width, 962 height: height, 963 x: x + (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element), 964 y: y 965 }; 966} 967 968/***/ }), 969
vendor: 862 bytes, lines 970-995
970/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js": 971/*!****************************************************************!*\ 972 !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js ***! 973 \****************************************************************/ 974/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 975 976"use strict"; 977__webpack_require__.r(__webpack_exports__); 978/* harmony export */ __webpack_require__.d(__webpack_exports__, { 979/* harmony export */ "default": function() { return /* binding */ getWindow; } 980/* harmony export */ }); 981function getWindow(node) { 982 if (node == null) { 983 return window; 984 } 985 986 if (node.toString() !== '[object Window]') { 987 var ownerDocument = node.ownerDocument; 988 return ownerDocument ? ownerDocument.defaultView || window : window; 989 } 990 991 return node; 992} 993 994/***/ }), 995
vendor: 1,059 bytes, lines 996-1020
996/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js": 997/*!**********************************************************************!*\ 998 !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js ***! 999 \**********************************************************************/ 1000/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1001 1002"use strict"; 1003__webpack_require__.r(__webpack_exports__); 1004/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1005/* harmony export */ "default": function() { return /* binding */ getWindowScroll; } 1006/* harmony export */ }); 1007/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 1008 1009function getWindowScroll(node) { 1010 var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node); 1011 var scrollLeft = win.pageXOffset; 1012 var scrollTop = win.pageYOffset; 1013 return { 1014 scrollLeft: scrollLeft, 1015 scrollTop: scrollTop 1016 }; 1017} 1018 1019/***/ }), 1020
vendor: 1,933 bytes, lines 1021-1050
1021/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js": 1022/*!**************************************************************************!*\ 1023 !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js ***! 1024 \**************************************************************************/ 1025/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1026 1027"use strict"; 1028__webpack_require__.r(__webpack_exports__); 1029/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1030/* harmony export */ "default": function() { return /* binding */ getWindowScrollBarX; } 1031/* harmony export */ }); 1032/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); 1033/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); 1034/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js"); 1035 1036 1037 1038function getWindowScrollBarX(element) { 1039 // If <html> has a CSS width greater than the viewport, then this will be 1040 // incorrect for RTL. 1041 // Popper 1 is broken in this case and never had a bug report so let's assume 1042 // it's not an issue. I don't think anyone ever specifies width on <html> 1043 // anyway. 1044 // Browsers where the left scrollbar doesn't cause an issue report `0` for 1045 // this (e.g. Edge 2019, IE11, Safari) 1046 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; 1047} 1048 1049/***/ }), 1050
vendor: 1,641 bytes, lines 1051-1090
1051/***/ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js": 1052/*!*****************************************************************!*\ 1053 !*** ./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js ***! 1054 \*****************************************************************/ 1055/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1056 1057"use strict"; 1058__webpack_require__.r(__webpack_exports__); 1059/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1060/* harmony export */ "isElement": function() { return /* binding */ isElement; }, 1061/* harmony export */ "isHTMLElement": function() { return /* binding */ isHTMLElement; }, 1062/* harmony export */ "isShadowRoot": function() { return /* binding */ isShadowRoot; } 1063/* harmony export */ }); 1064/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 1065 1066 1067function isElement(node) { 1068 var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).Element; 1069 return node instanceof OwnElement || node instanceof Element; 1070} 1071 1072function isHTMLElement(node) { 1073 var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).HTMLElement; 1074 return node instanceof OwnElement || node instanceof HTMLElement; 1075} 1076 1077function isShadowRoot(node) { 1078 // IE 11 has no ShadowRoot 1079 if (typeof ShadowRoot === 'undefined') { 1080 return false; 1081 } 1082 1083 var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).ShadowRoot; 1084 return node instanceof OwnElement || node instanceof ShadowRoot; 1085} 1086 1087 1088 1089/***/ }), 1090
vendor: 1,243 bytes, lines 1091-1115
1091/***/ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js": 1092/*!*********************************************************************!*\ 1093 !*** ./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js ***! 1094 \*********************************************************************/ 1095/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1096 1097"use strict"; 1098__webpack_require__.r(__webpack_exports__); 1099/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1100/* harmony export */ "default": function() { return /* binding */ isScrollParent; } 1101/* harmony export */ }); 1102/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); 1103 1104function isScrollParent(element) { 1105 // Firefox wants us to check `-x` and `-y` variations as well 1106 var _getComputedStyle = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element), 1107 overflow = _getComputedStyle.overflow, 1108 overflowX = _getComputedStyle.overflowX, 1109 overflowY = _getComputedStyle.overflowY; 1110 1111 return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); 1112} 1113 1114/***/ }), 1115
vendor: 960 bytes, lines 1116-1134
1116/***/ "./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js": 1117/*!*********************************************************************!*\ 1118 !*** ./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js ***! 1119 \*********************************************************************/ 1120/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1121 1122"use strict"; 1123__webpack_require__.r(__webpack_exports__); 1124/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1125/* harmony export */ "default": function() { return /* binding */ isTableElement; } 1126/* harmony export */ }); 1127/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); 1128 1129function isTableElement(element) { 1130 return ['table', 'td', 'th'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element)) >= 0; 1131} 1132 1133/***/ }), 1134
vendor: 2,549 bytes, lines 1135-1178
1135/***/ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js": 1136/*!************************************************************************!*\ 1137 !*** ./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js ***! 1138 \************************************************************************/ 1139/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1140 1141"use strict"; 1142__webpack_require__.r(__webpack_exports__); 1143/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1144/* harmony export */ "default": function() { return /* binding */ listScrollParents; } 1145/* harmony export */ }); 1146/* harmony import */ var _getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js"); 1147/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); 1148/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); 1149/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js"); 1150 1151 1152 1153 1154/* 1155given a DOM element, return the list of all scroll parents, up the list of ancesors 1156until we get to the top window object. This list is what we attach scroll listeners 1157to, because if any of these parent elements scroll, we'll need to re-calculate the 1158reference element's position. 1159*/ 1160 1161function listScrollParents(element, list) { 1162 var _element$ownerDocumen; 1163 1164 if (list === void 0) { 1165 list = []; 1166 } 1167 1168 var scrollParent = (0,_getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); 1169 var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); 1170 var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(scrollParent); 1171 var target = isBody ? [win].concat(win.visualViewport || [], (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(scrollParent) ? scrollParent : []) : scrollParent; 1172 var updatedList = list.concat(target); 1173 return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here 1174 updatedList.concat(listScrollParents((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_3__["default"])(target))); 1175} 1176 1177/***/ }), 1178
vendor: 3,611 bytes, lines 1179-1246
1179/***/ "./node_modules/@popperjs/core/lib/enums.js": 1180/*!**************************************************!*\ 1181 !*** ./node_modules/@popperjs/core/lib/enums.js ***! 1182 \**************************************************/ 1183/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1184 1185"use strict"; 1186__webpack_require__.r(__webpack_exports__); 1187/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1188/* harmony export */ "afterMain": function() { return /* binding */ afterMain; }, 1189/* harmony export */ "afterRead": function() { return /* binding */ afterRead; }, 1190/* harmony export */ "afterWrite": function() { return /* binding */ afterWrite; }, 1191/* harmony export */ "auto": function() { return /* binding */ auto; }, 1192/* harmony export */ "basePlacements": function() { return /* binding */ basePlacements; }, 1193/* harmony export */ "beforeMain": function() { return /* binding */ beforeMain; }, 1194/* harmony export */ "beforeRead": function() { return /* binding */ beforeRead; }, 1195/* harmony export */ "beforeWrite": function() { return /* binding */ beforeWrite; }, 1196/* harmony export */ "bottom": function() { return /* binding */ bottom; }, 1197/* harmony export */ "clippingParents": function() { return /* binding */ clippingParents; }, 1198/* harmony export */ "end": function() { return /* binding */ end; }, 1199/* harmony export */ "left": function() { return /* binding */ left; }, 1200/* harmony export */ "main": function() { return /* binding */ main; }, 1201/* harmony export */ "modifierPhases": function() { return /* binding */ modifierPhases; }, 1202/* harmony export */ "placements": function() { return /* binding */ placements; }, 1203/* harmony export */ "popper": function() { return /* binding */ popper; }, 1204/* harmony export */ "read": function() { return /* binding */ read; }, 1205/* harmony export */ "reference": function() { return /* binding */ reference; }, 1206/* harmony export */ "right": function() { return /* binding */ right; }, 1207/* harmony export */ "start": function() { return /* binding */ start; }, 1208/* harmony export */ "top": function() { return /* binding */ top; }, 1209/* harmony export */ "variationPlacements": function() { return /* binding */ variationPlacements; }, 1210/* harmony export */ "viewport": function() { return /* binding */ viewport; }, 1211/* harmony export */ "write": function() { return /* binding */ write; } 1212/* harmony export */ }); 1213var top = 'top'; 1214var bottom = 'bottom'; 1215var right = 'right'; 1216var left = 'left'; 1217var auto = 'auto'; 1218var basePlacements = [top, bottom, right, left]; 1219var start = 'start'; 1220var end = 'end'; 1221var clippingParents = 'clippingParents'; 1222var viewport = 'viewport'; 1223var popper = 'popper'; 1224var reference = 'reference'; 1225var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { 1226 return acc.concat([placement + "-" + start, placement + "-" + end]); 1227}, []); 1228var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { 1229 return acc.concat([placement, placement + "-" + start, placement + "-" + end]); 1230}, []); // modifiers that need to read the DOM 1231 1232var beforeRead = 'beforeRead'; 1233var read = 'read'; 1234var afterRead = 'afterRead'; // pure-logic modifiers 1235 1236var beforeMain = 'beforeMain'; 1237var main = 'main'; 1238var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state) 1239 1240var beforeWrite = 'beforeWrite'; 1241var write = 'write'; 1242var afterWrite = 'afterWrite'; 1243var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; 1244 1245/***/ }), 1246
vendor: 6,673 bytes, lines 1247-1311
1247/***/ "./node_modules/@popperjs/core/lib/index.js": 1248/*!**************************************************!*\ 1249 !*** ./node_modules/@popperjs/core/lib/index.js ***! 1250 \**************************************************/ 1251/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1252 1253"use strict"; 1254__webpack_require__.r(__webpack_exports__); 1255/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1256/* harmony export */ "afterMain": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterMain; }, 1257/* harmony export */ "afterRead": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterRead; }, 1258/* harmony export */ "afterWrite": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterWrite; }, 1259/* harmony export */ "applyStyles": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.applyStyles; }, 1260/* harmony export */ "arrow": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.arrow; }, 1261/* harmony export */ "auto": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.auto; }, 1262/* harmony export */ "basePlacements": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.basePlacements; }, 1263/* harmony export */ "beforeMain": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeMain; }, 1264/* harmony export */ "beforeRead": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeRead; }, 1265/* harmony export */ "beforeWrite": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeWrite; }, 1266/* harmony export */ "bottom": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom; }, 1267/* harmony export */ "clippingParents": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.clippingParents; }, 1268/* harmony export */ "computeStyles": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.computeStyles; }, 1269/* harmony export */ "createPopper": function() { return /* reexport safe */ _popper_js__WEBPACK_IMPORTED_MODULE_4__.createPopper; }, 1270/* harmony export */ "createPopperBase": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_2__.createPopper; }, 1271/* harmony export */ "createPopperLite": function() { return /* reexport safe */ _popper_lite_js__WEBPACK_IMPORTED_MODULE_5__.createPopper; }, 1272/* harmony export */ "detectOverflow": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_3__["default"]; }, 1273/* harmony export */ "end": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.end; }, 1274/* harmony export */ "eventListeners": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.eventListeners; }, 1275/* harmony export */ "flip": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.flip; }, 1276/* harmony export */ "hide": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.hide; }, 1277/* harmony export */ "left": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.left; }, 1278/* harmony export */ "main": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.main; }, 1279/* harmony export */ "modifierPhases": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.modifierPhases; }, 1280/* harmony export */ "offset": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.offset; }, 1281/* harmony export */ "placements": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.placements; }, 1282/* harmony export */ "popper": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper; }, 1283/* harmony export */ "popperGenerator": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_2__.popperGenerator; }, 1284/* harmony export */ "popperOffsets": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.popperOffsets; }, 1285/* harmony export */ "preventOverflow": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.preventOverflow; }, 1286/* harmony export */ "read": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.read; }, 1287/* harmony export */ "reference": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.reference; }, 1288/* harmony export */ "right": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.right; }, 1289/* harmony export */ "start": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.start; }, 1290/* harmony export */ "top": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.top; }, 1291/* harmony export */ "variationPlacements": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements; }, 1292/* harmony export */ "viewport": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.viewport; }, 1293/* harmony export */ "write": function() { return /* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.write; } 1294/* harmony export */ }); 1295/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1296/* harmony import */ var _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/index.js */ "./node_modules/@popperjs/core/lib/modifiers/index.js"); 1297/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js"); 1298/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 1299/* harmony import */ var _popper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./popper.js */ "./node_modules/@popperjs/core/lib/popper.js"); 1300/* harmony import */ var _popper_lite_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./popper-lite.js */ "./node_modules/@popperjs/core/lib/popper-lite.js"); 1301 1302 // eslint-disable-next-line import/no-unused-modules 1303 1304 // eslint-disable-next-line import/no-unused-modules 1305 1306 // eslint-disable-next-line import/no-unused-modules 1307 1308 1309 1310/***/ }), 1311
vendor: 3,532 bytes, lines 1312-1408
1312/***/ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js": 1313/*!******************************************************************!*\ 1314 !*** ./node_modules/@popperjs/core/lib/modifiers/applyStyles.js ***! 1315 \******************************************************************/ 1316/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1317 1318"use strict"; 1319__webpack_require__.r(__webpack_exports__); 1320/* 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"); 1321/* 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"); 1322 1323 // This modifier takes the styles prepared by the `computeStyles` modifier 1324// and applies them to the HTMLElements such as popper and arrow 1325 1326function applyStyles(_ref) { 1327 var state = _ref.state; 1328 Object.keys(state.elements).forEach(function (name) { 1329 var style = state.styles[name] || {}; 1330 var attributes = state.attributes[name] || {}; 1331 var element = state.elements[name]; // arrow is optional + virtual elements 1332 1333 if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || !(0,_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element)) { 1334 return; 1335 } // Flow doesn't support to extend this property, but it's the most 1336 // effective way to apply styles to an HTMLElement 1337 // $FlowFixMe[cannot-write] 1338 1339 1340 Object.assign(element.style, style); 1341 Object.keys(attributes).forEach(function (name) { 1342 var value = attributes[name]; 1343 1344 if (value === false) { 1345 element.removeAttribute(name); 1346 } else { 1347 element.setAttribute(name, value === true ? '' : value); 1348 } 1349 }); 1350 }); 1351} 1352 1353function effect(_ref2) { 1354 var state = _ref2.state; 1355 var initialStyles = { 1356 popper: { 1357 position: state.options.strategy, 1358 left: '0', 1359 top: '0', 1360 margin: '0' 1361 }, 1362 arrow: { 1363 position: 'absolute' 1364 }, 1365 reference: {} 1366 }; 1367 Object.assign(state.elements.popper.style, initialStyles.popper); 1368 state.styles = initialStyles; 1369 1370 if (state.elements.arrow) { 1371 Object.assign(state.elements.arrow.style, initialStyles.arrow); 1372 } 1373 1374 return function () { 1375 Object.keys(state.elements).forEach(function (name) { 1376 var element = state.elements[name]; 1377 var attributes = state.attributes[name] || {}; 1378 var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them 1379 1380 var style = styleProperties.reduce(function (style, property) { 1381 style[property] = ''; 1382 return style; 1383 }, {}); // arrow is optional + virtual elements 1384 1385 if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || !(0,_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element)) { 1386 return; 1387 } 1388 1389 Object.assign(element.style, style); 1390 Object.keys(attributes).forEach(function (attribute) { 1391 element.removeAttribute(attribute); 1392 }); 1393 }); 1394 }; 1395} // eslint-disable-next-line import/no-unused-modules 1396 1397 1398/* harmony default export */ __webpack_exports__["default"] = ({ 1399 name: 'applyStyles', 1400 enabled: true, 1401 phase: 'write', 1402 fn: applyStyles, 1403 effect: effect, 1404 requires: ['computeStyles'] 1405}); 1406 1407/***/ }), 1408
vendor: 6,482 bytes, lines 1409-1530
1409/***/ "./node_modules/@popperjs/core/lib/modifiers/arrow.js": 1410/*!************************************************************!*\ 1411 !*** ./node_modules/@popperjs/core/lib/modifiers/arrow.js ***! 1412 \************************************************************/ 1413/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1414 1415"use strict"; 1416__webpack_require__.r(__webpack_exports__); 1417/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 1418/* 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"); 1419/* 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"); 1420/* 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"); 1421/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js"); 1422/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/within.js */ "./node_modules/@popperjs/core/lib/utils/within.js"); 1423/* harmony import */ var _utils_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/mergePaddingObject.js */ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js"); 1424/* harmony import */ var _utils_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/expandToHashMap.js */ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js"); 1425/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1426/* 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"); 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 // eslint-disable-next-line import/no-unused-modules 1437 1438var toPaddingObject = function toPaddingObject(padding, state) { 1439 padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { 1440 placement: state.placement 1441 })) : padding; 1442 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)); 1443}; 1444 1445function arrow(_ref) { 1446 var _state$modifiersData$; 1447 1448 var state = _ref.state, 1449 name = _ref.name, 1450 options = _ref.options; 1451 var arrowElement = state.elements.arrow; 1452 var popperOffsets = state.modifiersData.popperOffsets; 1453 var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(state.placement); 1454 var axis = (0,_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__["default"])(basePlacement); 1455 var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_2__.left, _enums_js__WEBPACK_IMPORTED_MODULE_2__.right].indexOf(basePlacement) >= 0; 1456 var len = isVertical ? 'height' : 'width'; 1457 1458 if (!arrowElement || !popperOffsets) { 1459 return; 1460 } 1461 1462 var paddingObject = toPaddingObject(options.padding, state); 1463 var arrowRect = (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_5__["default"])(arrowElement); 1464 var minProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_2__.top : _enums_js__WEBPACK_IMPORTED_MODULE_2__.left; 1465 var maxProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_2__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_2__.right; 1466 var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; 1467 var startDiff = popperOffsets[axis] - state.rects.reference[axis]; 1468 var arrowOffsetParent = (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_6__["default"])(arrowElement); 1469 var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; 1470 var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is 1471 // outside of the popper bounds 1472 1473 var min = paddingObject[minProp]; 1474 var max = clientSize - arrowRect[len] - paddingObject[maxProp]; 1475 var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; 1476 var offset = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_7__.within)(min, center, max); // Prevents breaking syntax highlighting... 1477 1478 var axisProp = axis; 1479 state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); 1480} 1481 1482function effect(_ref2) { 1483 var state = _ref2.state, 1484 options = _ref2.options; 1485 var _options$element = options.element, 1486 arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; 1487 1488 if (arrowElement == null) { 1489 return; 1490 } // CSS selector 1491 1492 1493 if (typeof arrowElement === 'string') { 1494 arrowElement = state.elements.popper.querySelector(arrowElement); 1495 1496 if (!arrowElement) { 1497 return; 1498 } 1499 } 1500 1501 if (true) { 1502 if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_8__.isHTMLElement)(arrowElement)) { 1503 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(' ')); 1504 } 1505 } 1506 1507 if (!(0,_dom_utils_contains_js__WEBPACK_IMPORTED_MODULE_9__["default"])(state.elements.popper, arrowElement)) { 1508 if (true) { 1509 console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper', 'element.'].join(' ')); 1510 } 1511 1512 return; 1513 } 1514 1515 state.elements.arrow = arrowElement; 1516} // eslint-disable-next-line import/no-unused-modules 1517 1518 1519/* harmony default export */ __webpack_exports__["default"] = ({ 1520 name: 'arrow', 1521 enabled: true, 1522 phase: 'main', 1523 fn: arrow, 1524 effect: effect, 1525 requires: ['popperOffsets'], 1526 requiresIfExists: ['preventOverflow'] 1527}); 1528 1529/***/ }), 1530
vendor: 9,293 bytes, lines 1531-1733
1531/***/ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js": 1532/*!********************************************************************!*\ 1533 !*** ./node_modules/@popperjs/core/lib/modifiers/computeStyles.js ***! 1534 \********************************************************************/ 1535/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1536 1537"use strict"; 1538__webpack_require__.r(__webpack_exports__); 1539/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1540/* harmony export */ "mapToStyles": function() { return /* binding */ mapToStyles; } 1541/* harmony export */ }); 1542/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1543/* 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"); 1544/* 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"); 1545/* 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"); 1546/* 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"); 1547/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 1548/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 1549/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 1550 1551 1552 1553 1554 1555 1556 1557 // eslint-disable-next-line import/no-unused-modules 1558 1559var unsetSides = { 1560 top: 'auto', 1561 right: 'auto', 1562 bottom: 'auto', 1563 left: 'auto' 1564}; // Round the offsets to the nearest suitable subpixel based on the DPR. 1565// Zooming can change the DPR, but it seems to report a value that will 1566// cleanly divide the values into the appropriate subpixels. 1567 1568function roundOffsetsByDPR(_ref) { 1569 var x = _ref.x, 1570 y = _ref.y; 1571 var win = window; 1572 var dpr = win.devicePixelRatio || 1; 1573 return { 1574 x: (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(x * dpr) / dpr || 0, 1575 y: (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(y * dpr) / dpr || 0 1576 }; 1577} 1578 1579function mapToStyles(_ref2) { 1580 var _Object$assign2; 1581 1582 var popper = _ref2.popper, 1583 popperRect = _ref2.popperRect, 1584 placement = _ref2.placement, 1585 variation = _ref2.variation, 1586 offsets = _ref2.offsets, 1587 position = _ref2.position, 1588 gpuAcceleration = _ref2.gpuAcceleration, 1589 adaptive = _ref2.adaptive, 1590 roundOffsets = _ref2.roundOffsets, 1591 isFixed = _ref2.isFixed; 1592 var _offsets$x = offsets.x, 1593 x = _offsets$x === void 0 ? 0 : _offsets$x, 1594 _offsets$y = offsets.y, 1595 y = _offsets$y === void 0 ? 0 : _offsets$y; 1596 1597 var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({ 1598 x: x, 1599 y: y 1600 }) : { 1601 x: x, 1602 y: y 1603 }; 1604 1605 x = _ref3.x; 1606 y = _ref3.y; 1607 var hasX = offsets.hasOwnProperty('x'); 1608 var hasY = offsets.hasOwnProperty('y'); 1609 var sideX = _enums_js__WEBPACK_IMPORTED_MODULE_1__.left; 1610 var sideY = _enums_js__WEBPACK_IMPORTED_MODULE_1__.top; 1611 var win = window; 1612 1613 if (adaptive) { 1614 var offsetParent = (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(popper); 1615 var heightProp = 'clientHeight'; 1616 var widthProp = 'clientWidth'; 1617 1618 if (offsetParent === (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_3__["default"])(popper)) { 1619 offsetParent = (0,_dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_4__["default"])(popper); 1620 1621 if ((0,_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_5__["default"])(offsetParent).position !== 'static' && position === 'absolute') { 1622 heightProp = 'scrollHeight'; 1623 widthProp = 'scrollWidth'; 1624 } 1625 } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it 1626 1627 1628 offsetParent = offsetParent; 1629 1630 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) { 1631 sideY = _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom; 1632 var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing] 1633 offsetParent[heightProp]; 1634 y -= offsetY - popperRect.height; 1635 y *= gpuAcceleration ? 1 : -1; 1636 } 1637 1638 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) { 1639 sideX = _enums_js__WEBPACK_IMPORTED_MODULE_1__.right; 1640 var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing] 1641 offsetParent[widthProp]; 1642 x -= offsetX - popperRect.width; 1643 x *= gpuAcceleration ? 1 : -1; 1644 } 1645 } 1646 1647 var commonStyles = Object.assign({ 1648 position: position 1649 }, adaptive && unsetSides); 1650 1651 var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ 1652 x: x, 1653 y: y 1654 }) : { 1655 x: x, 1656 y: y 1657 }; 1658 1659 x = _ref4.x; 1660 y = _ref4.y; 1661 1662 if (gpuAcceleration) { 1663 var _Object$assign; 1664 1665 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)); 1666 } 1667 1668 return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); 1669} 1670 1671function computeStyles(_ref5) { 1672 var state = _ref5.state, 1673 options = _ref5.options; 1674 var _options$gpuAccelerat = options.gpuAcceleration, 1675 gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, 1676 _options$adaptive = options.adaptive, 1677 adaptive = _options$adaptive === void 0 ? true : _options$adaptive, 1678 _options$roundOffsets = options.roundOffsets, 1679 roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; 1680 1681 if (true) { 1682 var transitionProperty = (0,_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_5__["default"])(state.elements.popper).transitionProperty || ''; 1683 1684 if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) { 1685 return transitionProperty.indexOf(property) >= 0; 1686 })) { 1687 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(' ')); 1688 } 1689 } 1690 1691 var commonStyles = { 1692 placement: (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state.placement), 1693 variation: (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_7__["default"])(state.placement), 1694 popper: state.elements.popper, 1695 popperRect: state.rects.popper, 1696 gpuAcceleration: gpuAcceleration, 1697 isFixed: state.options.strategy === 'fixed' 1698 }; 1699 1700 if (state.modifiersData.popperOffsets != null) { 1701 state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { 1702 offsets: state.modifiersData.popperOffsets, 1703 position: state.options.strategy, 1704 adaptive: adaptive, 1705 roundOffsets: roundOffsets 1706 }))); 1707 } 1708 1709 if (state.modifiersData.arrow != null) { 1710 state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { 1711 offsets: state.modifiersData.arrow, 1712 position: 'absolute', 1713 adaptive: false, 1714 roundOffsets: roundOffsets 1715 }))); 1716 } 1717 1718 state.attributes.popper = Object.assign({}, state.attributes.popper, { 1719 'data-popper-placement': state.placement 1720 }); 1721} // eslint-disable-next-line import/no-unused-modules 1722 1723 1724/* harmony default export */ __webpack_exports__["default"] = ({ 1725 name: 'computeStyles', 1726 enabled: true, 1727 phase: 'beforeWrite', 1728 fn: computeStyles, 1729 data: {} 1730}); 1731 1732/***/ }), 1733
vendor: 2,033 bytes, lines 1734-1794
1734/***/ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js": 1735/*!*********************************************************************!*\ 1736 !*** ./node_modules/@popperjs/core/lib/modifiers/eventListeners.js ***! 1737 \*********************************************************************/ 1738/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1739 1740"use strict"; 1741__webpack_require__.r(__webpack_exports__); 1742/* 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"); 1743 // eslint-disable-next-line import/no-unused-modules 1744 1745var passive = { 1746 passive: true 1747}; 1748 1749function effect(_ref) { 1750 var state = _ref.state, 1751 instance = _ref.instance, 1752 options = _ref.options; 1753 var _options$scroll = options.scroll, 1754 scroll = _options$scroll === void 0 ? true : _options$scroll, 1755 _options$resize = options.resize, 1756 resize = _options$resize === void 0 ? true : _options$resize; 1757 var window = (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(state.elements.popper); 1758 var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); 1759 1760 if (scroll) { 1761 scrollParents.forEach(function (scrollParent) { 1762 scrollParent.addEventListener('scroll', instance.update, passive); 1763 }); 1764 } 1765 1766 if (resize) { 1767 window.addEventListener('resize', instance.update, passive); 1768 } 1769 1770 return function () { 1771 if (scroll) { 1772 scrollParents.forEach(function (scrollParent) { 1773 scrollParent.removeEventListener('scroll', instance.update, passive); 1774 }); 1775 } 1776 1777 if (resize) { 1778 window.removeEventListener('resize', instance.update, passive); 1779 } 1780 }; 1781} // eslint-disable-next-line import/no-unused-modules 1782 1783 1784/* harmony default export */ __webpack_exports__["default"] = ({ 1785 name: 'eventListeners', 1786 enabled: true, 1787 phase: 'write', 1788 fn: function fn() {}, 1789 effect: effect, 1790 data: {} 1791}); 1792 1793/***/ }), 1794
vendor: 7,381 bytes, lines 1795-1959
1795/***/ "./node_modules/@popperjs/core/lib/modifiers/flip.js": 1796/*!***********************************************************!*\ 1797 !*** ./node_modules/@popperjs/core/lib/modifiers/flip.js ***! 1798 \***********************************************************/ 1799/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1800 1801"use strict"; 1802__webpack_require__.r(__webpack_exports__); 1803/* harmony import */ var _utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getOppositePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js"); 1804/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 1805/* harmony import */ var _utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getOppositeVariationPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js"); 1806/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 1807/* harmony import */ var _utils_computeAutoPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/computeAutoPlacement.js */ "./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js"); 1808/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1809/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 1810 1811 1812 1813 1814 1815 1816 // eslint-disable-next-line import/no-unused-modules 1817 1818function getExpandedFallbackPlacements(placement) { 1819 if ((0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_1__.auto) { 1820 return []; 1821 } 1822 1823 var oppositePlacement = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(placement); 1824 return [(0,_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(placement), oppositePlacement, (0,_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(oppositePlacement)]; 1825} 1826 1827function flip(_ref) { 1828 var state = _ref.state, 1829 options = _ref.options, 1830 name = _ref.name; 1831 1832 if (state.modifiersData[name]._skip) { 1833 return; 1834 } 1835 1836 var _options$mainAxis = options.mainAxis, 1837 checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, 1838 _options$altAxis = options.altAxis, 1839 checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, 1840 specifiedFallbackPlacements = options.fallbackPlacements, 1841 padding = options.padding, 1842 boundary = options.boundary, 1843 rootBoundary = options.rootBoundary, 1844 altBoundary = options.altBoundary, 1845 _options$flipVariatio = options.flipVariations, 1846 flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, 1847 allowedAutoPlacements = options.allowedAutoPlacements; 1848 var preferredPlacement = state.options.placement; 1849 var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(preferredPlacement); 1850 var isBasePlacement = basePlacement === preferredPlacement; 1851 var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [(0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); 1852 var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { 1853 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, { 1854 placement: placement, 1855 boundary: boundary, 1856 rootBoundary: rootBoundary, 1857 padding: padding, 1858 flipVariations: flipVariations, 1859 allowedAutoPlacements: allowedAutoPlacements 1860 }) : placement); 1861 }, []); 1862 var referenceRect = state.rects.reference; 1863 var popperRect = state.rects.popper; 1864 var checksMap = new Map(); 1865 var makeFallbackChecks = true; 1866 var firstFittingPlacement = placements[0]; 1867 1868 for (var i = 0; i < placements.length; i++) { 1869 var placement = placements[i]; 1870 1871 var _basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement); 1872 1873 var isStartVariation = (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_5__["default"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_1__.start; 1874 var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_1__.top, _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom].indexOf(_basePlacement) >= 0; 1875 var len = isVertical ? 'width' : 'height'; 1876 var overflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state, { 1877 placement: placement, 1878 boundary: boundary, 1879 rootBoundary: rootBoundary, 1880 altBoundary: altBoundary, 1881 padding: padding 1882 }); 1883 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; 1884 1885 if (referenceRect[len] > popperRect[len]) { 1886 mainVariationSide = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(mainVariationSide); 1887 } 1888 1889 var altVariationSide = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(mainVariationSide); 1890 var checks = []; 1891 1892 if (checkMainAxis) { 1893 checks.push(overflow[_basePlacement] <= 0); 1894 } 1895 1896 if (checkAltAxis) { 1897 checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); 1898 } 1899 1900 if (checks.every(function (check) { 1901 return check; 1902 })) { 1903 firstFittingPlacement = placement; 1904 makeFallbackChecks = false; 1905 break; 1906 } 1907 1908 checksMap.set(placement, checks); 1909 } 1910 1911 if (makeFallbackChecks) { 1912 // `2` may be desired in some cases â research later 1913 var numberOfChecks = flipVariations ? 3 : 1; 1914 1915 var _loop = function _loop(_i) { 1916 var fittingPlacement = placements.find(function (placement) { 1917 var checks = checksMap.get(placement); 1918 1919 if (checks) { 1920 return checks.slice(0, _i).every(function (check) { 1921 return check; 1922 }); 1923 } 1924 }); 1925 1926 if (fittingPlacement) { 1927 firstFittingPlacement = fittingPlacement; 1928 return "break"; 1929 } 1930 }; 1931 1932 for (var _i = numberOfChecks; _i > 0; _i--) { 1933 var _ret = _loop(_i); 1934 1935 if (_ret === "break") break; 1936 } 1937 } 1938 1939 if (state.placement !== firstFittingPlacement) { 1940 state.modifiersData[name]._skip = true; 1941 state.placement = firstFittingPlacement; 1942 state.reset = true; 1943 } 1944} // eslint-disable-next-line import/no-unused-modules 1945 1946 1947/* harmony default export */ __webpack_exports__["default"] = ({ 1948 name: 'flip', 1949 enabled: true, 1950 phase: 'main', 1951 fn: flip, 1952 requiresIfExists: ['offset'], 1953 data: { 1954 _skip: false 1955 } 1956}); 1957 1958/***/ }), 1959
vendor: 2,917 bytes, lines 1960-2033
1960/***/ "./node_modules/@popperjs/core/lib/modifiers/hide.js": 1961/*!***********************************************************!*\ 1962 !*** ./node_modules/@popperjs/core/lib/modifiers/hide.js ***! 1963 \***********************************************************/ 1964/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1965 1966"use strict"; 1967__webpack_require__.r(__webpack_exports__); 1968/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 1969/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 1970 1971 1972 1973function getSideOffsets(overflow, rect, preventedOffsets) { 1974 if (preventedOffsets === void 0) { 1975 preventedOffsets = { 1976 x: 0, 1977 y: 0 1978 }; 1979 } 1980 1981 return { 1982 top: overflow.top - rect.height - preventedOffsets.y, 1983 right: overflow.right - rect.width + preventedOffsets.x, 1984 bottom: overflow.bottom - rect.height + preventedOffsets.y, 1985 left: overflow.left - rect.width - preventedOffsets.x 1986 }; 1987} 1988 1989function isAnySideFullyClipped(overflow) { 1990 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) { 1991 return overflow[side] >= 0; 1992 }); 1993} 1994 1995function hide(_ref) { 1996 var state = _ref.state, 1997 name = _ref.name; 1998 var referenceRect = state.rects.reference; 1999 var popperRect = state.rects.popper; 2000 var preventedOffsets = state.modifiersData.preventOverflow; 2001 var referenceOverflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state, { 2002 elementContext: 'reference' 2003 }); 2004 var popperAltOverflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state, { 2005 altBoundary: true 2006 }); 2007 var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); 2008 var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); 2009 var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); 2010 var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); 2011 state.modifiersData[name] = { 2012 referenceClippingOffsets: referenceClippingOffsets, 2013 popperEscapeOffsets: popperEscapeOffsets, 2014 isReferenceHidden: isReferenceHidden, 2015 hasPopperEscaped: hasPopperEscaped 2016 }; 2017 state.attributes.popper = Object.assign({}, state.attributes.popper, { 2018 'data-popper-reference-hidden': isReferenceHidden, 2019 'data-popper-escaped': hasPopperEscaped 2020 }); 2021} // eslint-disable-next-line import/no-unused-modules 2022 2023 2024/* harmony default export */ __webpack_exports__["default"] = ({ 2025 name: 'hide', 2026 enabled: true, 2027 phase: 'main', 2028 requiresIfExists: ['preventOverflow'], 2029 fn: hide 2030}); 2031 2032/***/ }), 2033
vendor: 3,297 bytes, lines 2034-2073
2034/***/ "./node_modules/@popperjs/core/lib/modifiers/index.js": 2035/*!************************************************************!*\ 2036 !*** ./node_modules/@popperjs/core/lib/modifiers/index.js ***! 2037 \************************************************************/ 2038/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2039 2040"use strict"; 2041__webpack_require__.r(__webpack_exports__); 2042/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2043/* harmony export */ "applyStyles": function() { return /* reexport safe */ _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__["default"]; }, 2044/* harmony export */ "arrow": function() { return /* reexport safe */ _arrow_js__WEBPACK_IMPORTED_MODULE_1__["default"]; }, 2045/* harmony export */ "computeStyles": function() { return /* reexport safe */ _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__["default"]; }, 2046/* harmony export */ "eventListeners": function() { return /* reexport safe */ _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__["default"]; }, 2047/* harmony export */ "flip": function() { return /* reexport safe */ _flip_js__WEBPACK_IMPORTED_MODULE_4__["default"]; }, 2048/* harmony export */ "hide": function() { return /* reexport safe */ _hide_js__WEBPACK_IMPORTED_MODULE_5__["default"]; }, 2049/* harmony export */ "offset": function() { return /* reexport safe */ _offset_js__WEBPACK_IMPORTED_MODULE_6__["default"]; }, 2050/* harmony export */ "popperOffsets": function() { return /* reexport safe */ _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__["default"]; }, 2051/* harmony export */ "preventOverflow": function() { return /* reexport safe */ _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__["default"]; } 2052/* harmony export */ }); 2053/* harmony import */ var _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js"); 2054/* harmony import */ var _arrow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arrow.js */ "./node_modules/@popperjs/core/lib/modifiers/arrow.js"); 2055/* harmony import */ var _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js"); 2056/* harmony import */ var _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js"); 2057/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./flip.js */ "./node_modules/@popperjs/core/lib/modifiers/flip.js"); 2058/* harmony import */ var _hide_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hide.js */ "./node_modules/@popperjs/core/lib/modifiers/hide.js"); 2059/* harmony import */ var _offset_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./offset.js */ "./node_modules/@popperjs/core/lib/modifiers/offset.js"); 2060/* harmony import */ var _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js"); 2061/* harmony import */ var _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./preventOverflow.js */ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js"); 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072/***/ }), 2073
vendor: 2,762 bytes, lines 2074-2143
2074/***/ "./node_modules/@popperjs/core/lib/modifiers/offset.js": 2075/*!*************************************************************!*\ 2076 !*** ./node_modules/@popperjs/core/lib/modifiers/offset.js ***! 2077 \*************************************************************/ 2078/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2079 2080"use strict"; 2081__webpack_require__.r(__webpack_exports__); 2082/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2083/* harmony export */ "distanceAndSkiddingToXY": function() { return /* binding */ distanceAndSkiddingToXY; } 2084/* harmony export */ }); 2085/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 2086/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2087 2088 // eslint-disable-next-line import/no-unused-modules 2089 2090function distanceAndSkiddingToXY(placement, rects, offset) { 2091 var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement); 2092 var invertDistance = [_enums_js__WEBPACK_IMPORTED_MODULE_1__.left, _enums_js__WEBPACK_IMPORTED_MODULE_1__.top].indexOf(basePlacement) >= 0 ? -1 : 1; 2093 2094 var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { 2095 placement: placement 2096 })) : offset, 2097 skidding = _ref[0], 2098 distance = _ref[1]; 2099 2100 skidding = skidding || 0; 2101 distance = (distance || 0) * invertDistance; 2102 return [_enums_js__WEBPACK_IMPORTED_MODULE_1__.left, _enums_js__WEBPACK_IMPORTED_MODULE_1__.right].indexOf(basePlacement) >= 0 ? { 2103 x: distance, 2104 y: skidding 2105 } : { 2106 x: skidding, 2107 y: distance 2108 }; 2109} 2110 2111function offset(_ref2) { 2112 var state = _ref2.state, 2113 options = _ref2.options, 2114 name = _ref2.name; 2115 var _options$offset = options.offset, 2116 offset = _options$offset === void 0 ? [0, 0] : _options$offset; 2117 var data = _enums_js__WEBPACK_IMPORTED_MODULE_1__.placements.reduce(function (acc, placement) { 2118 acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); 2119 return acc; 2120 }, {}); 2121 var _data$state$placement = data[state.placement], 2122 x = _data$state$placement.x, 2123 y = _data$state$placement.y; 2124 2125 if (state.modifiersData.popperOffsets != null) { 2126 state.modifiersData.popperOffsets.x += x; 2127 state.modifiersData.popperOffsets.y += y; 2128 } 2129 2130 state.modifiersData[name] = data; 2131} // eslint-disable-next-line import/no-unused-modules 2132 2133 2134/* harmony default export */ __webpack_exports__["default"] = ({ 2135 name: 'offset', 2136 enabled: true, 2137 phase: 'main', 2138 requires: ['popperOffsets'], 2139 fn: offset 2140}); 2141 2142/***/ }), 2143
vendor: 1,398 bytes, lines 2144-2180
2144/***/ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js": 2145/*!********************************************************************!*\ 2146 !*** ./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js ***! 2147 \********************************************************************/ 2148/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2149 2150"use strict"; 2151__webpack_require__.r(__webpack_exports__); 2152/* harmony import */ var _utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/computeOffsets.js */ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js"); 2153 2154 2155function popperOffsets(_ref) { 2156 var state = _ref.state, 2157 name = _ref.name; 2158 // Offsets are the actual position the popper needs to have to be 2159 // properly positioned near its reference element 2160 // This is the most basic placement, and will be adjusted by 2161 // the modifiers in the next step 2162 state.modifiersData[name] = (0,_utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__["default"])({ 2163 reference: state.rects.reference, 2164 element: state.rects.popper, 2165 strategy: 'absolute', 2166 placement: state.placement 2167 }); 2168} // eslint-disable-next-line import/no-unused-modules 2169 2170 2171/* harmony default export */ __webpack_exports__["default"] = ({ 2172 name: 'popperOffsets', 2173 enabled: true, 2174 phase: 'read', 2175 fn: popperOffsets, 2176 data: {} 2177}); 2178 2179/***/ }), 2180
vendor: 9,747 bytes, lines 2181-2344
2181/***/ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js": 2182/*!**********************************************************************!*\ 2183 !*** ./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js ***! 2184 \**********************************************************************/ 2185/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2186 2187"use strict"; 2188__webpack_require__.r(__webpack_exports__); 2189/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2190/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 2191/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js"); 2192/* harmony import */ var _utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/getAltAxis.js */ "./node_modules/@popperjs/core/lib/utils/getAltAxis.js"); 2193/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/within.js */ "./node_modules/@popperjs/core/lib/utils/within.js"); 2194/* 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"); 2195/* 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"); 2196/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 2197/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 2198/* harmony import */ var _utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/getFreshSideObject.js */ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js"); 2199/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212function preventOverflow(_ref) { 2213 var state = _ref.state, 2214 options = _ref.options, 2215 name = _ref.name; 2216 var _options$mainAxis = options.mainAxis, 2217 checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, 2218 _options$altAxis = options.altAxis, 2219 checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, 2220 boundary = options.boundary, 2221 rootBoundary = options.rootBoundary, 2222 altBoundary = options.altBoundary, 2223 padding = options.padding, 2224 _options$tether = options.tether, 2225 tether = _options$tether === void 0 ? true : _options$tether, 2226 _options$tetherOffset = options.tetherOffset, 2227 tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; 2228 var overflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(state, { 2229 boundary: boundary, 2230 rootBoundary: rootBoundary, 2231 padding: padding, 2232 altBoundary: altBoundary 2233 }); 2234 var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state.placement); 2235 var variation = (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_2__["default"])(state.placement); 2236 var isBasePlacement = !variation; 2237 var mainAxis = (0,_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(basePlacement); 2238 var altAxis = (0,_utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_4__["default"])(mainAxis); 2239 var popperOffsets = state.modifiersData.popperOffsets; 2240 var referenceRect = state.rects.reference; 2241 var popperRect = state.rects.popper; 2242 var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { 2243 placement: state.placement 2244 })) : tetherOffset; 2245 var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? { 2246 mainAxis: tetherOffsetValue, 2247 altAxis: tetherOffsetValue 2248 } : Object.assign({ 2249 mainAxis: 0, 2250 altAxis: 0 2251 }, tetherOffsetValue); 2252 var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; 2253 var data = { 2254 x: 0, 2255 y: 0 2256 }; 2257 2258 if (!popperOffsets) { 2259 return; 2260 } 2261 2262 if (checkMainAxis) { 2263 var _offsetModifierState$; 2264 2265 var mainSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.top : _enums_js__WEBPACK_IMPORTED_MODULE_5__.left; 2266 var altSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_5__.right; 2267 var len = mainAxis === 'y' ? 'height' : 'width'; 2268 var offset = popperOffsets[mainAxis]; 2269 var min = offset + overflow[mainSide]; 2270 var max = offset - overflow[altSide]; 2271 var additive = tether ? -popperRect[len] / 2 : 0; 2272 var minLen = variation === _enums_js__WEBPACK_IMPORTED_MODULE_5__.start ? referenceRect[len] : popperRect[len]; 2273 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 2274 // outside the reference bounds 2275 2276 var arrowElement = state.elements.arrow; 2277 var arrowRect = tether && arrowElement ? (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_6__["default"])(arrowElement) : { 2278 width: 0, 2279 height: 0 2280 }; 2281 var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : (0,_utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_7__["default"])(); 2282 var arrowPaddingMin = arrowPaddingObject[mainSide]; 2283 var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want 2284 // to include its full size in the calculation. If the reference is small 2285 // and near the edge of a boundary, the popper can overflow even if the 2286 // reference is not overflowing as well (e.g. virtual elements with no 2287 // width or height) 2288 2289 var arrowLen = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.within)(0, referenceRect[len], arrowRect[len]); 2290 var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; 2291 var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; 2292 var arrowOffsetParent = state.elements.arrow && (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_9__["default"])(state.elements.arrow); 2293 var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; 2294 var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; 2295 var tetherMin = offset + minOffset - offsetModifierValue - clientOffset; 2296 var tetherMax = offset + maxOffset - offsetModifierValue; 2297 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); 2298 popperOffsets[mainAxis] = preventedOffset; 2299 data[mainAxis] = preventedOffset - offset; 2300 } 2301 2302 if (checkAltAxis) { 2303 var _offsetModifierState$2; 2304 2305 var _mainSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.top : _enums_js__WEBPACK_IMPORTED_MODULE_5__.left; 2306 2307 var _altSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_5__.right; 2308 2309 var _offset = popperOffsets[altAxis]; 2310 2311 var _len = altAxis === 'y' ? 'height' : 'width'; 2312 2313 var _min = _offset + overflow[_mainSide]; 2314 2315 var _max = _offset - overflow[_altSide]; 2316 2317 var isOriginSide = [_enums_js__WEBPACK_IMPORTED_MODULE_5__.top, _enums_js__WEBPACK_IMPORTED_MODULE_5__.left].indexOf(basePlacement) !== -1; 2318 2319 var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; 2320 2321 var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; 2322 2323 var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; 2324 2325 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); 2326 2327 popperOffsets[altAxis] = _preventedOffset; 2328 data[altAxis] = _preventedOffset - _offset; 2329 } 2330 2331 state.modifiersData[name] = data; 2332} // eslint-disable-next-line import/no-unused-modules 2333 2334 2335/* harmony default export */ __webpack_exports__["default"] = ({ 2336 name: 'preventOverflow', 2337 enabled: true, 2338 phase: 'main', 2339 fn: preventOverflow, 2340 requiresIfExists: ['offset'] 2341}); 2342 2343/***/ }), 2344
vendor: 2,637 bytes, lines 2345-2378
2345/***/ "./node_modules/@popperjs/core/lib/popper-lite.js": 2346/*!********************************************************!*\ 2347 !*** ./node_modules/@popperjs/core/lib/popper-lite.js ***! 2348 \********************************************************/ 2349/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2350 2351"use strict"; 2352__webpack_require__.r(__webpack_exports__); 2353/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2354/* harmony export */ "createPopper": function() { return /* binding */ createPopper; }, 2355/* harmony export */ "defaultModifiers": function() { return /* binding */ defaultModifiers; }, 2356/* harmony export */ "detectOverflow": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_5__["default"]; }, 2357/* harmony export */ "popperGenerator": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_4__.popperGenerator; } 2358/* harmony export */ }); 2359/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js"); 2360/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 2361/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js"); 2362/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js"); 2363/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js"); 2364/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js"); 2365 2366 2367 2368 2369 2370var 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"]]; 2371var createPopper = /*#__PURE__*/(0,_createPopper_js__WEBPACK_IMPORTED_MODULE_4__.popperGenerator)({ 2372 defaultModifiers: defaultModifiers 2373}); // eslint-disable-next-line import/no-unused-modules 2374 2375 2376 2377/***/ }), 2378
vendor: 5,746 bytes, lines 2379-2438
2379/***/ "./node_modules/@popperjs/core/lib/popper.js": 2380/*!***************************************************!*\ 2381 !*** ./node_modules/@popperjs/core/lib/popper.js ***! 2382 \***************************************************/ 2383/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2384 2385"use strict"; 2386__webpack_require__.r(__webpack_exports__); 2387/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2388/* harmony export */ "applyStyles": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.applyStyles; }, 2389/* harmony export */ "arrow": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.arrow; }, 2390/* harmony export */ "computeStyles": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.computeStyles; }, 2391/* harmony export */ "createPopper": function() { return /* binding */ createPopper; }, 2392/* harmony export */ "createPopperLite": function() { return /* reexport safe */ _popper_lite_js__WEBPACK_IMPORTED_MODULE_11__.createPopper; }, 2393/* harmony export */ "defaultModifiers": function() { return /* binding */ defaultModifiers; }, 2394/* harmony export */ "detectOverflow": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_10__["default"]; }, 2395/* harmony export */ "eventListeners": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.eventListeners; }, 2396/* harmony export */ "flip": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.flip; }, 2397/* harmony export */ "hide": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.hide; }, 2398/* harmony export */ "offset": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.offset; }, 2399/* harmony export */ "popperGenerator": function() { return /* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_9__.popperGenerator; }, 2400/* harmony export */ "popperOffsets": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.popperOffsets; }, 2401/* harmony export */ "preventOverflow": function() { return /* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.preventOverflow; } 2402/* harmony export */ }); 2403/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js"); 2404/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 2405/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js"); 2406/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js"); 2407/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js"); 2408/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js"); 2409/* harmony import */ var _modifiers_offset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modifiers/offset.js */ "./node_modules/@popperjs/core/lib/modifiers/offset.js"); 2410/* harmony import */ var _modifiers_flip_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modifiers/flip.js */ "./node_modules/@popperjs/core/lib/modifiers/flip.js"); 2411/* harmony import */ var _modifiers_preventOverflow_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modifiers/preventOverflow.js */ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js"); 2412/* harmony import */ var _modifiers_arrow_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modifiers/arrow.js */ "./node_modules/@popperjs/core/lib/modifiers/arrow.js"); 2413/* harmony import */ var _modifiers_hide_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modifiers/hide.js */ "./node_modules/@popperjs/core/lib/modifiers/hide.js"); 2414/* harmony import */ var _popper_lite_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./popper-lite.js */ "./node_modules/@popperjs/core/lib/popper-lite.js"); 2415/* harmony import */ var _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modifiers/index.js */ "./node_modules/@popperjs/core/lib/modifiers/index.js"); 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426var 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"]]; 2427var createPopper = /*#__PURE__*/(0,_createPopper_js__WEBPACK_IMPORTED_MODULE_9__.popperGenerator)({ 2428 defaultModifiers: defaultModifiers 2429}); // eslint-disable-next-line import/no-unused-modules 2430 2431 // eslint-disable-next-line import/no-unused-modules 2432 2433 // eslint-disable-next-line import/no-unused-modules 2434 2435 2436 2437/***/ }), 2438
vendor: 3,425 bytes, lines 2439-2503
2439/***/ "./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js": 2440/*!***********************************************************************!*\ 2441 !*** ./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js ***! 2442 \***********************************************************************/ 2443/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2444 2445"use strict"; 2446__webpack_require__.r(__webpack_exports__); 2447/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2448/* harmony export */ "default": function() { return /* binding */ computeAutoPlacement; } 2449/* harmony export */ }); 2450/* harmony import */ var _getVariation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 2451/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2452/* harmony import */ var _detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); 2453/* harmony import */ var _getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 2454 2455 2456 2457 2458function computeAutoPlacement(state, options) { 2459 if (options === void 0) { 2460 options = {}; 2461 } 2462 2463 var _options = options, 2464 placement = _options.placement, 2465 boundary = _options.boundary, 2466 rootBoundary = _options.rootBoundary, 2467 padding = _options.padding, 2468 flipVariations = _options.flipVariations, 2469 _options$allowedAutoP = _options.allowedAutoPlacements, 2470 allowedAutoPlacements = _options$allowedAutoP === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.placements : _options$allowedAutoP; 2471 var variation = (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement); 2472 var placements = variation ? flipVariations ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements : _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements.filter(function (placement) { 2473 return (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement) === variation; 2474 }) : _enums_js__WEBPACK_IMPORTED_MODULE_0__.basePlacements; 2475 var allowedPlacements = placements.filter(function (placement) { 2476 return allowedAutoPlacements.indexOf(placement) >= 0; 2477 }); 2478 2479 if (allowedPlacements.length === 0) { 2480 allowedPlacements = placements; 2481 2482 if (true) { 2483 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(' ')); 2484 } 2485 } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions... 2486 2487 2488 var overflows = allowedPlacements.reduce(function (acc, placement) { 2489 acc[placement] = (0,_detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__["default"])(state, { 2490 placement: placement, 2491 boundary: boundary, 2492 rootBoundary: rootBoundary, 2493 padding: padding 2494 })[(0,_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(placement)]; 2495 return acc; 2496 }, {}); 2497 return Object.keys(overflows).sort(function (a, b) { 2498 return overflows[a] - overflows[b]; 2499 }); 2500} 2501 2502/***/ }), 2503
vendor: 3,214 bytes, lines 2504-2591
2504/***/ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js": 2505/*!*****************************************************************!*\ 2506 !*** ./node_modules/@popperjs/core/lib/utils/computeOffsets.js ***! 2507 \*****************************************************************/ 2508/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2509 2510"use strict"; 2511__webpack_require__.r(__webpack_exports__); 2512/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2513/* harmony export */ "default": function() { return /* binding */ computeOffsets; } 2514/* harmony export */ }); 2515/* harmony import */ var _getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); 2516/* harmony import */ var _getVariation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); 2517/* harmony import */ var _getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js"); 2518/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2519 2520 2521 2522 2523function computeOffsets(_ref) { 2524 var reference = _ref.reference, 2525 element = _ref.element, 2526 placement = _ref.placement; 2527 var basePlacement = placement ? (0,_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement) : null; 2528 var variation = placement ? (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement) : null; 2529 var commonX = reference.x + reference.width / 2 - element.width / 2; 2530 var commonY = reference.y + reference.height / 2 - element.height / 2; 2531 var offsets; 2532 2533 switch (basePlacement) { 2534 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.top: 2535 offsets = { 2536 x: commonX, 2537 y: reference.y - element.height 2538 }; 2539 break; 2540 2541 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.bottom: 2542 offsets = { 2543 x: commonX, 2544 y: reference.y + reference.height 2545 }; 2546 break; 2547 2548 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.right: 2549 offsets = { 2550 x: reference.x + reference.width, 2551 y: commonY 2552 }; 2553 break; 2554 2555 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.left: 2556 offsets = { 2557 x: reference.x - element.width, 2558 y: commonY 2559 }; 2560 break; 2561 2562 default: 2563 offsets = { 2564 x: reference.x, 2565 y: reference.y 2566 }; 2567 } 2568 2569 var mainAxis = basePlacement ? (0,_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(basePlacement) : null; 2570 2571 if (mainAxis != null) { 2572 var len = mainAxis === 'y' ? 'height' : 'width'; 2573 2574 switch (variation) { 2575 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.start: 2576 offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); 2577 break; 2578 2579 case _enums_js__WEBPACK_IMPORTED_MODULE_2__.end: 2580 offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); 2581 break; 2582 2583 default: 2584 } 2585 } 2586 2587 return offsets; 2588} 2589 2590/***/ }), 2591
vendor: 870 bytes, lines 2592-2620
2592/***/ "./node_modules/@popperjs/core/lib/utils/debounce.js": 2593/*!***********************************************************!*\ 2594 !*** ./node_modules/@popperjs/core/lib/utils/debounce.js ***! 2595 \***********************************************************/ 2596/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2597 2598"use strict"; 2599__webpack_require__.r(__webpack_exports__); 2600/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2601/* harmony export */ "default": function() { return /* binding */ debounce; } 2602/* harmony export */ }); 2603function debounce(fn) { 2604 var pending; 2605 return function () { 2606 if (!pending) { 2607 pending = new Promise(function (resolve) { 2608 Promise.resolve().then(function () { 2609 pending = undefined; 2610 resolve(fn()); 2611 }); 2612 }); 2613 } 2614 2615 return pending; 2616 }; 2617} 2618 2619/***/ }), 2620
vendor: 6,107 bytes, lines 2621-2706
2621/***/ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js": 2622/*!*****************************************************************!*\ 2623 !*** ./node_modules/@popperjs/core/lib/utils/detectOverflow.js ***! 2624 \*****************************************************************/ 2625/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2626 2627"use strict"; 2628__webpack_require__.r(__webpack_exports__); 2629/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2630/* harmony export */ "default": function() { return /* binding */ detectOverflow; } 2631/* harmony export */ }); 2632/* 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"); 2633/* 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"); 2634/* 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"); 2635/* harmony import */ var _computeOffsets_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./computeOffsets.js */ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js"); 2636/* harmony import */ var _rectToClientRect_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./rectToClientRect.js */ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js"); 2637/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2638/* 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"); 2639/* harmony import */ var _mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergePaddingObject.js */ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js"); 2640/* harmony import */ var _expandToHashMap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./expandToHashMap.js */ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js"); 2641 2642 2643 2644 2645 2646 2647 2648 2649 // eslint-disable-next-line import/no-unused-modules 2650 2651function detectOverflow(state, options) { 2652 if (options === void 0) { 2653 options = {}; 2654 } 2655 2656 var _options = options, 2657 _options$placement = _options.placement, 2658 placement = _options$placement === void 0 ? state.placement : _options$placement, 2659 _options$boundary = _options.boundary, 2660 boundary = _options$boundary === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.clippingParents : _options$boundary, 2661 _options$rootBoundary = _options.rootBoundary, 2662 rootBoundary = _options$rootBoundary === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.viewport : _options$rootBoundary, 2663 _options$elementConte = _options.elementContext, 2664 elementContext = _options$elementConte === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper : _options$elementConte, 2665 _options$altBoundary = _options.altBoundary, 2666 altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, 2667 _options$padding = _options.padding, 2668 padding = _options$padding === void 0 ? 0 : _options$padding; 2669 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)); 2670 var altContext = elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.reference : _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper; 2671 var popperRect = state.rects.popper; 2672 var element = state.elements[altBoundary ? altContext : elementContext]; 2673 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); 2674 var referenceClientRect = (0,_dom_utils_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state.elements.reference); 2675 var popperOffsets = (0,_computeOffsets_js__WEBPACK_IMPORTED_MODULE_7__["default"])({ 2676 reference: referenceClientRect, 2677 element: popperRect, 2678 strategy: 'absolute', 2679 placement: placement 2680 }); 2681 var popperClientRect = (0,_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_8__["default"])(Object.assign({}, popperRect, popperOffsets)); 2682 var elementClientRect = elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect 2683 // 0 or negative = within the clipping rect 2684 2685 var overflowOffsets = { 2686 top: clippingClientRect.top - elementClientRect.top + paddingObject.top, 2687 bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, 2688 left: clippingClientRect.left - elementClientRect.left + paddingObject.left, 2689 right: elementClientRect.right - clippingClientRect.right + paddingObject.right 2690 }; 2691 var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element 2692 2693 if (elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper && offsetData) { 2694 var offset = offsetData[placement]; 2695 Object.keys(overflowOffsets).forEach(function (key) { 2696 var multiply = [_enums_js__WEBPACK_IMPORTED_MODULE_0__.right, _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom].indexOf(key) >= 0 ? 1 : -1; 2697 var axis = [_enums_js__WEBPACK_IMPORTED_MODULE_0__.top, _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom].indexOf(key) >= 0 ? 'y' : 'x'; 2698 overflowOffsets[key] += offset[axis] * multiply; 2699 }); 2700 } 2701 2702 return overflowOffsets; 2703} 2704 2705/***/ }), 2706
vendor: 762 bytes, lines 2707-2726
2707/***/ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js": 2708/*!******************************************************************!*\ 2709 !*** ./node_modules/@popperjs/core/lib/utils/expandToHashMap.js ***! 2710 \******************************************************************/ 2711/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2712 2713"use strict"; 2714__webpack_require__.r(__webpack_exports__); 2715/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2716/* harmony export */ "default": function() { return /* binding */ expandToHashMap; } 2717/* harmony export */ }); 2718function expandToHashMap(value, keys) { 2719 return keys.reduce(function (hashMap, key) { 2720 hashMap[key] = value; 2721 return hashMap; 2722 }, {}); 2723} 2724 2725/***/ }), 2726
vendor: 844 bytes, lines 2727-2749
2727/***/ "./node_modules/@popperjs/core/lib/utils/format.js": 2728/*!*********************************************************!*\ 2729 !*** ./node_modules/@popperjs/core/lib/utils/format.js ***! 2730 \*********************************************************/ 2731/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2732 2733"use strict"; 2734__webpack_require__.r(__webpack_exports__); 2735/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2736/* harmony export */ "default": function() { return /* binding */ format; } 2737/* harmony export */ }); 2738function format(str) { 2739 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 2740 args[_key - 1] = arguments[_key]; 2741 } 2742 2743 return [].concat(args).reduce(function (p, c) { 2744 return p.replace(/%s/, c); 2745 }, str); 2746} 2747 2748/***/ }), 2749
vendor: 657 bytes, lines 2750-2766
2750/***/ "./node_modules/@popperjs/core/lib/utils/getAltAxis.js": 2751/*!*************************************************************!*\ 2752 !*** ./node_modules/@popperjs/core/lib/utils/getAltAxis.js ***! 2753 \*************************************************************/ 2754/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2755 2756"use strict"; 2757__webpack_require__.r(__webpack_exports__); 2758/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2759/* harmony export */ "default": function() { return /* binding */ getAltAxis; } 2760/* harmony export */ }); 2761function getAltAxis(axis) { 2762 return axis === 'x' ? 'y' : 'x'; 2763} 2764 2765/***/ }), 2766
vendor: 698 bytes, lines 2767-2784
2767/***/ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js": 2768/*!*******************************************************************!*\ 2769 !*** ./node_modules/@popperjs/core/lib/utils/getBasePlacement.js ***! 2770 \*******************************************************************/ 2771/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2772 2773"use strict"; 2774__webpack_require__.r(__webpack_exports__); 2775/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2776/* harmony export */ "default": function() { return /* binding */ getBasePlacement; } 2777/* harmony export */ }); 2778 2779function getBasePlacement(placement) { 2780 return placement.split('-')[0]; 2781} 2782 2783/***/ }), 2784
vendor: 735 bytes, lines 2785-2806
2785/***/ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js": 2786/*!*********************************************************************!*\ 2787 !*** ./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js ***! 2788 \*********************************************************************/ 2789/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2790 2791"use strict"; 2792__webpack_require__.r(__webpack_exports__); 2793/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2794/* harmony export */ "default": function() { return /* binding */ getFreshSideObject; } 2795/* harmony export */ }); 2796function getFreshSideObject() { 2797 return { 2798 top: 0, 2799 right: 0, 2800 bottom: 0, 2801 left: 0 2802 }; 2803} 2804 2805/***/ }), 2806
vendor: 775 bytes, lines 2807-2823
2807/***/ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js": 2808/*!***************************************************************************!*\ 2809 !*** ./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js ***! 2810 \***************************************************************************/ 2811/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2812 2813"use strict"; 2814__webpack_require__.r(__webpack_exports__); 2815/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2816/* harmony export */ "default": function() { return /* binding */ getMainAxisFromPlacement; } 2817/* harmony export */ }); 2818function getMainAxisFromPlacement(placement) { 2819 return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; 2820} 2821 2822/***/ }), 2823
vendor: 876 bytes, lines 2824-2848
2824/***/ "./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js": 2825/*!***********************************************************************!*\ 2826 !*** ./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js ***! 2827 \***********************************************************************/ 2828/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2829 2830"use strict"; 2831__webpack_require__.r(__webpack_exports__); 2832/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2833/* harmony export */ "default": function() { return /* binding */ getOppositePlacement; } 2834/* harmony export */ }); 2835var hash = { 2836 left: 'right', 2837 right: 'left', 2838 bottom: 'top', 2839 top: 'bottom' 2840}; 2841function getOppositePlacement(placement) { 2842 return placement.replace(/left|right|bottom|top/g, function (matched) { 2843 return hash[matched]; 2844 }); 2845} 2846 2847/***/ }), 2848
vendor: 882 bytes, lines 2849-2871
2849/***/ "./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js": 2850/*!********************************************************************************!*\ 2851 !*** ./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js ***! 2852 \********************************************************************************/ 2853/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2854 2855"use strict"; 2856__webpack_require__.r(__webpack_exports__); 2857/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2858/* harmony export */ "default": function() { return /* binding */ getOppositeVariationPlacement; } 2859/* harmony export */ }); 2860var hash = { 2861 start: 'end', 2862 end: 'start' 2863}; 2864function getOppositeVariationPlacement(placement) { 2865 return placement.replace(/start|end/g, function (matched) { 2866 return hash[matched]; 2867 }); 2868} 2869 2870/***/ }), 2871
vendor: 673 bytes, lines 2872-2888
2872/***/ "./node_modules/@popperjs/core/lib/utils/getVariation.js": 2873/*!***************************************************************!*\ 2874 !*** ./node_modules/@popperjs/core/lib/utils/getVariation.js ***! 2875 \***************************************************************/ 2876/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2877 2878"use strict"; 2879__webpack_require__.r(__webpack_exports__); 2880/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2881/* harmony export */ "default": function() { return /* binding */ getVariation; } 2882/* harmony export */ }); 2883function getVariation(placement) { 2884 return placement.split('-')[1]; 2885} 2886 2887/***/ }), 2888
vendor: 769 bytes, lines 2889-2907
2889/***/ "./node_modules/@popperjs/core/lib/utils/math.js": 2890/*!*******************************************************!*\ 2891 !*** ./node_modules/@popperjs/core/lib/utils/math.js ***! 2892 \*******************************************************/ 2893/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2894 2895"use strict"; 2896__webpack_require__.r(__webpack_exports__); 2897/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2898/* harmony export */ "max": function() { return /* binding */ max; }, 2899/* harmony export */ "min": function() { return /* binding */ min; }, 2900/* harmony export */ "round": function() { return /* binding */ round; } 2901/* harmony export */ }); 2902var max = Math.max; 2903var min = Math.min; 2904var round = Math.round; 2905 2906/***/ }), 2907
vendor: 1,107 bytes, lines 2908-2935
2908/***/ "./node_modules/@popperjs/core/lib/utils/mergeByName.js": 2909/*!**************************************************************!*\ 2910 !*** ./node_modules/@popperjs/core/lib/utils/mergeByName.js ***! 2911 \**************************************************************/ 2912/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2913 2914"use strict"; 2915__webpack_require__.r(__webpack_exports__); 2916/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2917/* harmony export */ "default": function() { return /* binding */ mergeByName; } 2918/* harmony export */ }); 2919function mergeByName(modifiers) { 2920 var merged = modifiers.reduce(function (merged, current) { 2921 var existing = merged[current.name]; 2922 merged[current.name] = existing ? Object.assign({}, existing, current, { 2923 options: Object.assign({}, existing.options, current.options), 2924 data: Object.assign({}, existing.data, current.data) 2925 }) : current; 2926 return merged; 2927 }, {}); // IE11 does not support Object.values 2928 2929 return Object.keys(merged).map(function (key) { 2930 return merged[key]; 2931 }); 2932} 2933 2934/***/ }), 2935
vendor: 989 bytes, lines 2936-2954
2936/***/ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js": 2937/*!*********************************************************************!*\ 2938 !*** ./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js ***! 2939 \*********************************************************************/ 2940/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2941 2942"use strict"; 2943__webpack_require__.r(__webpack_exports__); 2944/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2945/* harmony export */ "default": function() { return /* binding */ mergePaddingObject; } 2946/* harmony export */ }); 2947/* harmony import */ var _getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getFreshSideObject.js */ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js"); 2948 2949function mergePaddingObject(paddingObject) { 2950 return Object.assign({}, (0,_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(), paddingObject); 2951} 2952 2953/***/ }), 2954
vendor: 1,984 bytes, lines 2955-3013
2955/***/ "./node_modules/@popperjs/core/lib/utils/orderModifiers.js": 2956/*!*****************************************************************!*\ 2957 !*** ./node_modules/@popperjs/core/lib/utils/orderModifiers.js ***! 2958 \*****************************************************************/ 2959/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2960 2961"use strict"; 2962__webpack_require__.r(__webpack_exports__); 2963/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2964/* harmony export */ "default": function() { return /* binding */ orderModifiers; } 2965/* harmony export */ }); 2966/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 2967 // source: https://stackoverflow.com/questions/49875255 2968 2969function order(modifiers) { 2970 var map = new Map(); 2971 var visited = new Set(); 2972 var result = []; 2973 modifiers.forEach(function (modifier) { 2974 map.set(modifier.name, modifier); 2975 }); // On visiting object, check for its dependencies and visit them recursively 2976 2977 function sort(modifier) { 2978 visited.add(modifier.name); 2979 var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); 2980 requires.forEach(function (dep) { 2981 if (!visited.has(dep)) { 2982 var depModifier = map.get(dep); 2983 2984 if (depModifier) { 2985 sort(depModifier); 2986 } 2987 } 2988 }); 2989 result.push(modifier); 2990 } 2991 2992 modifiers.forEach(function (modifier) { 2993 if (!visited.has(modifier.name)) { 2994 // check for visited object 2995 sort(modifier); 2996 } 2997 }); 2998 return result; 2999} 3000 3001function orderModifiers(modifiers) { 3002 // order based on dependencies 3003 var orderedModifiers = order(modifiers); // order based on phase 3004 3005 return _enums_js__WEBPACK_IMPORTED_MODULE_0__.modifierPhases.reduce(function (acc, phase) { 3006 return acc.concat(orderedModifiers.filter(function (modifier) { 3007 return modifier.phase === phase; 3008 })); 3009 }, []); 3010} 3011 3012/***/ }), 3013
vendor: 799 bytes, lines 3014-3035
3014/***/ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js": 3015/*!*******************************************************************!*\ 3016 !*** ./node_modules/@popperjs/core/lib/utils/rectToClientRect.js ***! 3017 \*******************************************************************/ 3018/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3019 3020"use strict"; 3021__webpack_require__.r(__webpack_exports__); 3022/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3023/* harmony export */ "default": function() { return /* binding */ rectToClientRect; } 3024/* harmony export */ }); 3025function rectToClientRect(rect) { 3026 return Object.assign({}, rect, { 3027 left: rect.x, 3028 top: rect.y, 3029 right: rect.x + rect.width, 3030 bottom: rect.y + rect.height 3031 }); 3032} 3033 3034/***/ }), 3035
vendor: 820 bytes, lines 3036-3060
3036/***/ "./node_modules/@popperjs/core/lib/utils/uniqueBy.js": 3037/*!***********************************************************!*\ 3038 !*** ./node_modules/@popperjs/core/lib/utils/uniqueBy.js ***! 3039 \***********************************************************/ 3040/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3041 3042"use strict"; 3043__webpack_require__.r(__webpack_exports__); 3044/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3045/* harmony export */ "default": function() { return /* binding */ uniqueBy; } 3046/* harmony export */ }); 3047function uniqueBy(arr, fn) { 3048 var identifiers = new Set(); 3049 return arr.filter(function (item) { 3050 var identifier = fn(item); 3051 3052 if (!identifiers.has(identifier)) { 3053 identifiers.add(identifier); 3054 return true; 3055 } 3056 }); 3057} 3058 3059/***/ }), 3060
vendor: 4,570 bytes, lines 3061-3157
3061/***/ "./node_modules/@popperjs/core/lib/utils/validateModifiers.js": 3062/*!********************************************************************!*\ 3063 !*** ./node_modules/@popperjs/core/lib/utils/validateModifiers.js ***! 3064 \********************************************************************/ 3065/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3066 3067"use strict"; 3068__webpack_require__.r(__webpack_exports__); 3069/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3070/* harmony export */ "default": function() { return /* binding */ validateModifiers; } 3071/* harmony export */ }); 3072/* harmony import */ var _format_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./format.js */ "./node_modules/@popperjs/core/lib/utils/format.js"); 3073/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); 3074 3075 3076var INVALID_MODIFIER_ERROR = 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s'; 3077var MISSING_DEPENDENCY_ERROR = 'Popper: modifier "%s" requires "%s", but "%s" modifier is not available'; 3078var VALID_PROPERTIES = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options']; 3079function validateModifiers(modifiers) { 3080 modifiers.forEach(function (modifier) { 3081 [].concat(Object.keys(modifier), VALID_PROPERTIES) // IE11-compatible replacement for `new Set(iterable)` 3082 .filter(function (value, index, self) { 3083 return self.indexOf(value) === index; 3084 }).forEach(function (key) { 3085 switch (key) { 3086 case 'name': 3087 if (typeof modifier.name !== 'string') { 3088 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, String(modifier.name), '"name"', '"string"', "\"" + String(modifier.name) + "\"")); 3089 } 3090 3091 break; 3092 3093 case 'enabled': 3094 if (typeof modifier.enabled !== 'boolean') { 3095 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"enabled"', '"boolean"', "\"" + String(modifier.enabled) + "\"")); 3096 } 3097 3098 break; 3099 3100 case 'phase': 3101 if (_enums_js__WEBPACK_IMPORTED_MODULE_1__.modifierPhases.indexOf(modifier.phase) < 0) { 3102 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) + "\"")); 3103 } 3104 3105 break; 3106 3107 case 'fn': 3108 if (typeof modifier.fn !== 'function') { 3109 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"fn"', '"function"', "\"" + String(modifier.fn) + "\"")); 3110 } 3111 3112 break; 3113 3114 case 'effect': 3115 if (modifier.effect != null && typeof modifier.effect !== 'function') { 3116 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"effect"', '"function"', "\"" + String(modifier.fn) + "\"")); 3117 } 3118 3119 break; 3120 3121 case 'requires': 3122 if (modifier.requires != null && !Array.isArray(modifier.requires)) { 3123 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"requires"', '"array"', "\"" + String(modifier.requires) + "\"")); 3124 } 3125 3126 break; 3127 3128 case 'requiresIfExists': 3129 if (!Array.isArray(modifier.requiresIfExists)) { 3130 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"requiresIfExists"', '"array"', "\"" + String(modifier.requiresIfExists) + "\"")); 3131 } 3132 3133 break; 3134 3135 case 'options': 3136 case 'data': 3137 break; 3138 3139 default: 3140 console.error("PopperJS: an invalid property has been provided to the \"" + modifier.name + "\" modifier, valid properties are " + VALID_PROPERTIES.map(function (s) { 3141 return "\"" + s + "\""; 3142 }).join(', ') + "; but \"" + key + "\" was provided."); 3143 } 3144 3145 modifier.requires && modifier.requires.forEach(function (requirement) { 3146 if (modifiers.find(function (mod) { 3147 return mod.name === requirement; 3148 }) == null) { 3149 console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement)); 3150 } 3151 }); 3152 }); 3153 }); 3154} 3155 3156/***/ }), 3157
vendor: 1,085 bytes, lines 3158-3181
3158/***/ "./node_modules/@popperjs/core/lib/utils/within.js": 3159/*!*********************************************************!*\ 3160 !*** ./node_modules/@popperjs/core/lib/utils/within.js ***! 3161 \*********************************************************/ 3162/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3163 3164"use strict"; 3165__webpack_require__.r(__webpack_exports__); 3166/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3167/* harmony export */ "within": function() { return /* binding */ within; }, 3168/* harmony export */ "withinMaxClamp": function() { return /* binding */ withinMaxClamp; } 3169/* harmony export */ }); 3170/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); 3171 3172function within(min, value, max) { 3173 return (0,_math_js__WEBPACK_IMPORTED_MODULE_0__.max)(min, (0,_math_js__WEBPACK_IMPORTED_MODULE_0__.min)(value, max)); 3174} 3175function withinMaxClamp(min, value, max) { 3176 var v = within(min, value, max); 3177 return v > max ? max : v; 3178} 3179 3180/***/ }), 3181
3182/***/ "./src/js/components/off-canvas.js": 3183/*!*****************************************!*\ 3184 !*** ./src/js/components/off-canvas.js ***! 3185 \*****************************************/ 3186/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3187 3188"use strict"; 3189__webpack_require__.r(__webpack_exports__); 3190/* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.esm.js"); 3191 3192 3193window.onload = function () { 3194 //Animate Hamburger on menu open/close 3195 var ocNav = document.querySelector('#co-offcanvas'); 3196 var ocBtn = document.querySelector('#navbarOffCanvas'); 3197 ocNav.addEventListener('show.bs.offcanvas', function () { 3198 ocBtn.classList.add('menu-open'); 3199 ocBtn.classList.remove('menu-closed'); 3200 }); 3201 ocNav.addEventListener('hide.bs.offcanvas', function () { 3202 ocBtn.classList.remove('menu-open'); 3203 ocBtn.classList.add('menu-closed'); 3204 }); 3205}; 3206 3207/***/ }), 3208
3209/***/ "./src/js/components/sticky-header.js": 3210/*!********************************************!*\ 3211 !*** ./src/js/components/sticky-header.js ***! 3212 \********************************************/ 3213/***/ (function() { 3214 3215jQuery(document).ready(function (jQuery) { 3216 var sticky = jQuery('.sticky-top'); 3217 jQuery(window).scroll(function () { 3218 var scroll = jQuery(window).scrollTop(); 3219 3220 if (scroll >= 60) { 3221 sticky.addClass('stuck'); 3222 } else { 3223 sticky.removeClass('stuck'); 3224 } 3225 }); 3226}); 3227 3228/***/ }), 3229
vendor: 141,533 bytes, lines 3230-8256
3230/***/ "./node_modules/bootstrap/dist/js/bootstrap.esm.js": 3231/*!*********************************************************!*\ 3232 !*** ./node_modules/bootstrap/dist/js/bootstrap.esm.js ***! 3233 \*********************************************************/ 3234/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3235 3236"use strict"; 3237__webpack_require__.r(__webpack_exports__); 3238/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3239/* harmony export */ "Alert": function() { return /* binding */ Alert; }, 3240/* harmony export */ "Button": function() { return /* binding */ Button; }, 3241/* harmony export */ "Carousel": function() { return /* binding */ Carousel; }, 3242/* harmony export */ "Collapse": function() { return /* binding */ Collapse; }, 3243/* harmony export */ "Dropdown": function() { return /* binding */ Dropdown; }, 3244/* harmony export */ "Modal": function() { return /* binding */ Modal; }, 3245/* harmony export */ "Offcanvas": function() { return /* binding */ Offcanvas; }, 3246/* harmony export */ "Popover": function() { return /* binding */ Popover; }, 3247/* harmony export */ "ScrollSpy": function() { return /* binding */ ScrollSpy; }, 3248/* harmony export */ "Tab": function() { return /* binding */ Tab; }, 3249/* harmony export */ "Toast": function() { return /* binding */ Toast; }, 3250/* harmony export */ "Tooltip": function() { return /* binding */ Tooltip; } 3251/* harmony export */ }); 3252/* harmony import */ var _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @popperjs/core */ "./node_modules/@popperjs/core/lib/index.js"); 3253/* harmony import */ var _popperjs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @popperjs/core */ "./node_modules/@popperjs/core/lib/popper.js"); 3254/*! 3255 * Bootstrap v5.1.3 (https://getbootstrap.com/) 3256 * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 3257 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 3258 */ 3259 3260 3261/** 3262 * -------------------------------------------------------------------------- 3263 * Bootstrap (v5.1.3): util/index.js 3264 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 3265 * -------------------------------------------------------------------------- 3266 */ 3267const MAX_UID = 1000000; 3268const MILLISECONDS_MULTIPLIER = 1000; 3269const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) 3270 3271const toType = obj => { 3272 if (obj === null || obj === undefined) { 3273 return `${obj}`; 3274 } 3275 3276 return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); 3277}; 3278/** 3279 * -------------------------------------------------------------------------- 3280 * Public Util Api 3281 * -------------------------------------------------------------------------- 3282 */ 3283 3284 3285const getUID = prefix => { 3286 do { 3287 prefix += Math.floor(Math.random() * MAX_UID); 3288 } while (document.getElementById(prefix)); 3289 3290 return prefix; 3291}; 3292 3293const getSelector = element => { 3294 let selector = element.getAttribute('data-bs-target'); 3295 3296 if (!selector || selector === '#') { 3297 let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, 3298 // so everything starting with `#` or `.`. If a "real" URL is used as the selector, 3299 // `document.querySelector` will rightfully complain it is invalid. 3300 // See https://github.com/twbs/bootstrap/issues/32273 3301 3302 if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) { 3303 return null; 3304 } // Just in case some CMS puts out a full URL with the anchor appended 3305 3306 3307 if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) { 3308 hrefAttr = `#${hrefAttr.split('#')[1]}`; 3309 } 3310 3311 selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null; 3312 } 3313 3314 return selector; 3315}; 3316 3317const getSelectorFromElement = element => { 3318 const selector = getSelector(element); 3319 3320 if (selector) { 3321 return document.querySelector(selector) ? selector : null; 3322 } 3323 3324 return null; 3325}; 3326 3327const getElementFromSelector = element => { 3328 const selector = getSelector(element); 3329 return selector ? document.querySelector(selector) : null; 3330}; 3331 3332const getTransitionDurationFromElement = element => { 3333 if (!element) { 3334 return 0; 3335 } // Get transition-duration of the element 3336 3337 3338 let { 3339 transitionDuration, 3340 transitionDelay 3341 } = window.getComputedStyle(element); 3342 const floatTransitionDuration = Number.parseFloat(transitionDuration); 3343 const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found 3344 3345 if (!floatTransitionDuration && !floatTransitionDelay) { 3346 return 0; 3347 } // If multiple durations are defined, take the first 3348 3349 3350 transitionDuration = transitionDuration.split(',')[0]; 3351 transitionDelay = transitionDelay.split(',')[0]; 3352 return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; 3353}; 3354 3355const triggerTransitionEnd = element => { 3356 element.dispatchEvent(new Event(TRANSITION_END)); 3357}; 3358 3359const isElement = obj => { 3360 if (!obj || typeof obj !== 'object') { 3361 return false; 3362 } 3363 3364 if (typeof obj.jquery !== 'undefined') { 3365 obj = obj[0]; 3366 } 3367 3368 return typeof obj.nodeType !== 'undefined'; 3369}; 3370 3371const getElement = obj => { 3372 if (isElement(obj)) { 3373 // it's a jQuery object or a node element 3374 return obj.jquery ? obj[0] : obj; 3375 } 3376 3377 if (typeof obj === 'string' && obj.length > 0) { 3378 return document.querySelector(obj); 3379 } 3380 3381 return null; 3382}; 3383 3384const typeCheckConfig = (componentName, config, configTypes) => { 3385 Object.keys(configTypes).forEach(property => { 3386 const expectedTypes = configTypes[property]; 3387 const value = config[property]; 3388 const valueType = value && isElement(value) ? 'element' : toType(value); 3389 3390 if (!new RegExp(expectedTypes).test(valueType)) { 3391 throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); 3392 } 3393 }); 3394}; 3395 3396const isVisible = element => { 3397 if (!isElement(element) || element.getClientRects().length === 0) { 3398 return false; 3399 } 3400 3401 return getComputedStyle(element).getPropertyValue('visibility') === 'visible'; 3402}; 3403 3404const isDisabled = element => { 3405 if (!element || element.nodeType !== Node.ELEMENT_NODE) { 3406 return true; 3407 } 3408 3409 if (element.classList.contains('disabled')) { 3410 return true; 3411 } 3412 3413 if (typeof element.disabled !== 'undefined') { 3414 return element.disabled; 3415 } 3416 3417 return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; 3418}; 3419 3420const findShadowRoot = element => { 3421 if (!document.documentElement.attachShadow) { 3422 return null; 3423 } // Can find the shadow root otherwise it'll return the document 3424 3425 3426 if (typeof element.getRootNode === 'function') { 3427 const root = element.getRootNode(); 3428 return root instanceof ShadowRoot ? root : null; 3429 } 3430 3431 if (element instanceof ShadowRoot) { 3432 return element; 3433 } // when we don't find a shadow root 3434 3435 3436 if (!element.parentNode) { 3437 return null; 3438 } 3439 3440 return findShadowRoot(element.parentNode); 3441}; 3442 3443const noop = () => {}; 3444/** 3445 * Trick to restart an element's animation 3446 * 3447 * @param {HTMLElement} element 3448 * @return void 3449 * 3450 * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation 3451 */ 3452 3453 3454const reflow = element => { 3455 // eslint-disable-next-line no-unused-expressions 3456 element.offsetHeight; 3457}; 3458 3459const getjQuery = () => { 3460 const { 3461 jQuery 3462 } = window; 3463 3464 if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { 3465 return jQuery; 3466 } 3467 3468 return null; 3469}; 3470 3471const DOMContentLoadedCallbacks = []; 3472 3473const onDOMContentLoaded = callback => { 3474 if (document.readyState === 'loading') { 3475 // add listener on the first call when the document is in loading state 3476 if (!DOMContentLoadedCallbacks.length) { 3477 document.addEventListener('DOMContentLoaded', () => { 3478 DOMContentLoadedCallbacks.forEach(callback => callback()); 3479 }); 3480 } 3481 3482 DOMContentLoadedCallbacks.push(callback); 3483 } else { 3484 callback(); 3485 } 3486}; 3487 3488const isRTL = () => document.documentElement.dir === 'rtl'; 3489 3490const defineJQueryPlugin = plugin => { 3491 onDOMContentLoaded(() => { 3492 const $ = getjQuery(); 3493 /* istanbul ignore if */ 3494 3495 if ($) { 3496 const name = plugin.NAME; 3497 const JQUERY_NO_CONFLICT = $.fn[name]; 3498 $.fn[name] = plugin.jQueryInterface; 3499 $.fn[name].Constructor = plugin; 3500 3501 $.fn[name].noConflict = () => { 3502 $.fn[name] = JQUERY_NO_CONFLICT; 3503 return plugin.jQueryInterface; 3504 }; 3505 } 3506 }); 3507}; 3508 3509const execute = callback => { 3510 if (typeof callback === 'function') { 3511 callback(); 3512 } 3513}; 3514 3515const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { 3516 if (!waitForTransition) { 3517 execute(callback); 3518 return; 3519 } 3520 3521 const durationPadding = 5; 3522 const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; 3523 let called = false; 3524 3525 const handler = ({ 3526 target 3527 }) => { 3528 if (target !== transitionElement) { 3529 return; 3530 } 3531 3532 called = true; 3533 transitionElement.removeEventListener(TRANSITION_END, handler); 3534 execute(callback); 3535 }; 3536 3537 transitionElement.addEventListener(TRANSITION_END, handler); 3538 setTimeout(() => { 3539 if (!called) { 3540 triggerTransitionEnd(transitionElement); 3541 } 3542 }, emulatedDuration); 3543}; 3544/** 3545 * Return the previous/next element of a list. 3546 * 3547 * @param {array} list The list of elements 3548 * @param activeElement The active element 3549 * @param shouldGetNext Choose to get next or previous element 3550 * @param isCycleAllowed 3551 * @return {Element|elem} The proper element 3552 */ 3553 3554 3555const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { 3556 let index = list.indexOf(activeElement); // if the element does not exist in the list return an element depending on the direction and if cycle is allowed 3557 3558 if (index === -1) { 3559 return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]; 3560 } 3561 3562 const listLength = list.length; 3563 index += shouldGetNext ? 1 : -1; 3564 3565 if (isCycleAllowed) { 3566 index = (index + listLength) % listLength; 3567 } 3568 3569 return list[Math.max(0, Math.min(index, listLength - 1))]; 3570}; 3571 3572/** 3573 * -------------------------------------------------------------------------- 3574 * Bootstrap (v5.1.3): dom/event-handler.js 3575 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 3576 * -------------------------------------------------------------------------- 3577 */ 3578/** 3579 * ------------------------------------------------------------------------ 3580 * Constants 3581 * ------------------------------------------------------------------------ 3582 */ 3583 3584const namespaceRegex = /[^.]*(?=\..*)\.|.*/; 3585const stripNameRegex = /\..*/; 3586const stripUidRegex = /::\d+$/; 3587const eventRegistry = {}; // Events storage 3588 3589let uidEvent = 1; 3590const customEvents = { 3591 mouseenter: 'mouseover', 3592 mouseleave: 'mouseout' 3593}; 3594const customEventsRegex = /^(mouseenter|mouseleave)/i; 3595const 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']); 3596/** 3597 * ------------------------------------------------------------------------ 3598 * Private methods 3599 * ------------------------------------------------------------------------ 3600 */ 3601 3602function getUidEvent(element, uid) { 3603 return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; 3604} 3605 3606function getEvent(element) { 3607 const uid = getUidEvent(element); 3608 element.uidEvent = uid; 3609 eventRegistry[uid] = eventRegistry[uid] || {}; 3610 return eventRegistry[uid]; 3611} 3612 3613function bootstrapHandler(element, fn) { 3614 return function handler(event) { 3615 event.delegateTarget = element; 3616 3617 if (handler.oneOff) { 3618 EventHandler.off(element, event.type, fn); 3619 } 3620 3621 return fn.apply(element, [event]); 3622 }; 3623} 3624 3625function bootstrapDelegationHandler(element, selector, fn) { 3626 return function handler(event) { 3627 const domElements = element.querySelectorAll(selector); 3628 3629 for (let { 3630 target 3631 } = event; target && target !== this; target = target.parentNode) { 3632 for (let i = domElements.length; i--;) { 3633 if (domElements[i] === target) { 3634 event.delegateTarget = target; 3635 3636 if (handler.oneOff) { 3637 EventHandler.off(element, event.type, selector, fn); 3638 } 3639 3640 return fn.apply(target, [event]); 3641 } 3642 } 3643 } // To please ESLint 3644 3645 3646 return null; 3647 }; 3648} 3649 3650function findHandler(events, handler, delegationSelector = null) { 3651 const uidEventList = Object.keys(events); 3652 3653 for (let i = 0, len = uidEventList.length; i < len; i++) { 3654 const event = events[uidEventList[i]]; 3655 3656 if (event.originalHandler === handler && event.delegationSelector === delegationSelector) { 3657 return event; 3658 } 3659 } 3660 3661 return null; 3662} 3663 3664function normalizeParams(originalTypeEvent, handler, delegationFn) { 3665 const delegation = typeof handler === 'string'; 3666 const originalHandler = delegation ? delegationFn : handler; 3667 let typeEvent = getTypeEvent(originalTypeEvent); 3668 const isNative = nativeEvents.has(typeEvent); 3669 3670 if (!isNative) { 3671 typeEvent = originalTypeEvent; 3672 } 3673 3674 return [delegation, originalHandler, typeEvent]; 3675} 3676 3677function addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) { 3678 if (typeof originalTypeEvent !== 'string' || !element) { 3679 return; 3680 } 3681 3682 if (!handler) { 3683 handler = delegationFn; 3684 delegationFn = null; 3685 } // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position 3686 // this prevents the handler from being dispatched the same way as mouseover or mouseout does 3687 3688 3689 if (customEventsRegex.test(originalTypeEvent)) { 3690 const wrapFn = fn => { 3691 return function (event) { 3692 if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { 3693 return fn.call(this, event); 3694 } 3695 }; 3696 }; 3697 3698 if (delegationFn) { 3699 delegationFn = wrapFn(delegationFn); 3700 } else { 3701 handler = wrapFn(handler); 3702 } 3703 } 3704 3705 const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn); 3706 const events = getEvent(element); 3707 const handlers = events[typeEvent] || (events[typeEvent] = {}); 3708 const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null); 3709 3710 if (previousFn) { 3711 previousFn.oneOff = previousFn.oneOff && oneOff; 3712 return; 3713 } 3714 3715 const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, '')); 3716 const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler); 3717 fn.delegationSelector = delegation ? handler : null; 3718 fn.originalHandler = originalHandler; 3719 fn.oneOff = oneOff; 3720 fn.uidEvent = uid; 3721 handlers[uid] = fn; 3722 element.addEventListener(typeEvent, fn, delegation); 3723} 3724 3725function removeHandler(element, events, typeEvent, handler, delegationSelector) { 3726 const fn = findHandler(events[typeEvent], handler, delegationSelector); 3727 3728 if (!fn) { 3729 return; 3730 } 3731 3732 element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); 3733 delete events[typeEvent][fn.uidEvent]; 3734} 3735 3736function removeNamespacedHandlers(element, events, typeEvent, namespace) { 3737 const storeElementEvent = events[typeEvent] || {}; 3738 Object.keys(storeElementEvent).forEach(handlerKey => { 3739 if (handlerKey.includes(namespace)) { 3740 const event = storeElementEvent[handlerKey]; 3741 removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); 3742 } 3743 }); 3744} 3745 3746function getTypeEvent(event) { 3747 // allow to get the native events from namespaced events ('click.bs.button' --> 'click') 3748 event = event.replace(stripNameRegex, ''); 3749 return customEvents[event] || event; 3750} 3751 3752const EventHandler = { 3753 on(element, event, handler, delegationFn) { 3754 addHandler(element, event, handler, delegationFn, false); 3755 }, 3756 3757 one(element, event, handler, delegationFn) { 3758 addHandler(element, event, handler, delegationFn, true); 3759 }, 3760 3761 off(element, originalTypeEvent, handler, delegationFn) { 3762 if (typeof originalTypeEvent !== 'string' || !element) { 3763 return; 3764 } 3765 3766 const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn); 3767 const inNamespace = typeEvent !== originalTypeEvent; 3768 const events = getEvent(element); 3769 const isNamespace = originalTypeEvent.startsWith('.'); 3770 3771 if (typeof originalHandler !== 'undefined') { 3772 // Simplest case: handler is passed, remove that listener ONLY. 3773 if (!events || !events[typeEvent]) { 3774 return; 3775 } 3776 3777 removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null); 3778 return; 3779 } 3780 3781 if (isNamespace) { 3782 Object.keys(events).forEach(elementEvent => { 3783 removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); 3784 }); 3785 } 3786 3787 const storeElementEvent = events[typeEvent] || {}; 3788 Object.keys(storeElementEvent).forEach(keyHandlers => { 3789 const handlerKey = keyHandlers.replace(stripUidRegex, ''); 3790 3791 if (!inNamespace || originalTypeEvent.includes(handlerKey)) { 3792 const event = storeElementEvent[keyHandlers]; 3793 removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); 3794 } 3795 }); 3796 }, 3797 3798 trigger(element, event, args) { 3799 if (typeof event !== 'string' || !element) { 3800 return null; 3801 } 3802 3803 const $ = getjQuery(); 3804 const typeEvent = getTypeEvent(event); 3805 const inNamespace = event !== typeEvent; 3806 const isNative = nativeEvents.has(typeEvent); 3807 let jQueryEvent; 3808 let bubbles = true; 3809 let nativeDispatch = true; 3810 let defaultPrevented = false; 3811 let evt = null; 3812 3813 if (inNamespace && $) { 3814 jQueryEvent = $.Event(event, args); 3815 $(element).trigger(jQueryEvent); 3816 bubbles = !jQueryEvent.isPropagationStopped(); 3817 nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); 3818 defaultPrevented = jQueryEvent.isDefaultPrevented(); 3819 } 3820 3821 if (isNative) { 3822 evt = document.createEvent('HTMLEvents'); 3823 evt.initEvent(typeEvent, bubbles, true); 3824 } else { 3825 evt = new CustomEvent(event, { 3826 bubbles, 3827 cancelable: true 3828 }); 3829 } // merge custom information in our event 3830 3831 3832 if (typeof args !== 'undefined') { 3833 Object.keys(args).forEach(key => { 3834 Object.defineProperty(evt, key, { 3835 get() { 3836 return args[key]; 3837 } 3838 3839 }); 3840 }); 3841 } 3842 3843 if (defaultPrevented) { 3844 evt.preventDefault(); 3845 } 3846 3847 if (nativeDispatch) { 3848 element.dispatchEvent(evt); 3849 } 3850 3851 if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') { 3852 jQueryEvent.preventDefault(); 3853 } 3854 3855 return evt; 3856 } 3857 3858}; 3859 3860/** 3861 * -------------------------------------------------------------------------- 3862 * Bootstrap (v5.1.3): dom/data.js 3863 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 3864 * -------------------------------------------------------------------------- 3865 */ 3866 3867/** 3868 * ------------------------------------------------------------------------ 3869 * Constants 3870 * ------------------------------------------------------------------------ 3871 */ 3872const elementMap = new Map(); 3873const Data = { 3874 set(element, key, instance) { 3875 if (!elementMap.has(element)) { 3876 elementMap.set(element, new Map()); 3877 } 3878 3879 const instanceMap = elementMap.get(element); // make it clear we only want one instance per element 3880 // can be removed later when multiple key/instances are fine to be used 3881 3882 if (!instanceMap.has(key) && instanceMap.size !== 0) { 3883 // eslint-disable-next-line no-console 3884 console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); 3885 return; 3886 } 3887 3888 instanceMap.set(key, instance); 3889 }, 3890 3891 get(element, key) { 3892 if (elementMap.has(element)) { 3893 return elementMap.get(element).get(key) || null; 3894 } 3895 3896 return null; 3897 }, 3898 3899 remove(element, key) { 3900 if (!elementMap.has(element)) { 3901 return; 3902 } 3903 3904 const instanceMap = elementMap.get(element); 3905 instanceMap.delete(key); // free up element references if there are no instances left for an element 3906 3907 if (instanceMap.size === 0) { 3908 elementMap.delete(element); 3909 } 3910 } 3911 3912}; 3913 3914/** 3915 * -------------------------------------------------------------------------- 3916 * Bootstrap (v5.1.3): base-component.js 3917 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 3918 * -------------------------------------------------------------------------- 3919 */ 3920/** 3921 * ------------------------------------------------------------------------ 3922 * Constants 3923 * ------------------------------------------------------------------------ 3924 */ 3925 3926const VERSION = '5.1.3'; 3927 3928class BaseComponent { 3929 constructor(element) { 3930 element = getElement(element); 3931 3932 if (!element) { 3933 return; 3934 } 3935 3936 this._element = element; 3937 Data.set(this._element, this.constructor.DATA_KEY, this); 3938 } 3939 3940 dispose() { 3941 Data.remove(this._element, this.constructor.DATA_KEY); 3942 EventHandler.off(this._element, this.constructor.EVENT_KEY); 3943 Object.getOwnPropertyNames(this).forEach(propertyName => { 3944 this[propertyName] = null; 3945 }); 3946 } 3947 3948 _queueCallback(callback, element, isAnimated = true) { 3949 executeAfterTransition(callback, element, isAnimated); 3950 } 3951 /** Static */ 3952 3953 3954 static getInstance(element) { 3955 return Data.get(getElement(element), this.DATA_KEY); 3956 } 3957 3958 static getOrCreateInstance(element, config = {}) { 3959 return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null); 3960 } 3961 3962 static get VERSION() { 3963 return VERSION; 3964 } 3965 3966 static get NAME() { 3967 throw new Error('You have to implement the static method "NAME", for each component!'); 3968 } 3969 3970 static get DATA_KEY() { 3971 return `bs.${this.NAME}`; 3972 } 3973 3974 static get EVENT_KEY() { 3975 return `.${this.DATA_KEY}`; 3976 } 3977 3978} 3979 3980/** 3981 * -------------------------------------------------------------------------- 3982 * Bootstrap (v5.1.3): util/component-functions.js 3983 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 3984 * -------------------------------------------------------------------------- 3985 */ 3986 3987const enableDismissTrigger = (component, method = 'hide') => { 3988 const clickEvent = `click.dismiss${component.EVENT_KEY}`; 3989 const name = component.NAME; 3990 EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { 3991 if (['A', 'AREA'].includes(this.tagName)) { 3992 event.preventDefault(); 3993 } 3994 3995 if (isDisabled(this)) { 3996 return; 3997 } 3998 3999 const target = getElementFromSelector(this) || this.closest(`.${name}`); 4000 const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method 4001 4002 instance[method](); 4003 }); 4004}; 4005 4006/** 4007 * -------------------------------------------------------------------------- 4008 * Bootstrap (v5.1.3): alert.js 4009 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4010 * -------------------------------------------------------------------------- 4011 */ 4012/** 4013 * ------------------------------------------------------------------------ 4014 * Constants 4015 * ------------------------------------------------------------------------ 4016 */ 4017 4018const NAME$d = 'alert'; 4019const DATA_KEY$c = 'bs.alert'; 4020const EVENT_KEY$c = `.${DATA_KEY$c}`; 4021const EVENT_CLOSE = `close${EVENT_KEY$c}`; 4022const EVENT_CLOSED = `closed${EVENT_KEY$c}`; 4023const CLASS_NAME_FADE$5 = 'fade'; 4024const CLASS_NAME_SHOW$8 = 'show'; 4025/** 4026 * ------------------------------------------------------------------------ 4027 * Class Definition 4028 * ------------------------------------------------------------------------ 4029 */ 4030 4031class Alert extends BaseComponent { 4032 // Getters 4033 static get NAME() { 4034 return NAME$d; 4035 } // Public 4036 4037 4038 close() { 4039 const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); 4040 4041 if (closeEvent.defaultPrevented) { 4042 return; 4043 } 4044 4045 this._element.classList.remove(CLASS_NAME_SHOW$8); 4046 4047 const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); 4048 4049 this._queueCallback(() => this._destroyElement(), this._element, isAnimated); 4050 } // Private 4051 4052 4053 _destroyElement() { 4054 this._element.remove(); 4055 4056 EventHandler.trigger(this._element, EVENT_CLOSED); 4057 this.dispose(); 4058 } // Static 4059 4060 4061 static jQueryInterface(config) { 4062 return this.each(function () { 4063 const data = Alert.getOrCreateInstance(this); 4064 4065 if (typeof config !== 'string') { 4066 return; 4067 } 4068 4069 if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { 4070 throw new TypeError(`No method named "${config}"`); 4071 } 4072 4073 data[config](this); 4074 }); 4075 } 4076 4077} 4078/** 4079 * ------------------------------------------------------------------------ 4080 * Data Api implementation 4081 * ------------------------------------------------------------------------ 4082 */ 4083 4084 4085enableDismissTrigger(Alert, 'close'); 4086/** 4087 * ------------------------------------------------------------------------ 4088 * jQuery 4089 * ------------------------------------------------------------------------ 4090 * add .Alert to jQuery only if jQuery is present 4091 */ 4092 4093defineJQueryPlugin(Alert); 4094 4095/** 4096 * -------------------------------------------------------------------------- 4097 * Bootstrap (v5.1.3): button.js 4098 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4099 * -------------------------------------------------------------------------- 4100 */ 4101/** 4102 * ------------------------------------------------------------------------ 4103 * Constants 4104 * ------------------------------------------------------------------------ 4105 */ 4106 4107const NAME$c = 'button'; 4108const DATA_KEY$b = 'bs.button'; 4109const EVENT_KEY$b = `.${DATA_KEY$b}`; 4110const DATA_API_KEY$7 = '.data-api'; 4111const CLASS_NAME_ACTIVE$3 = 'active'; 4112const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]'; 4113const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`; 4114/** 4115 * ------------------------------------------------------------------------ 4116 * Class Definition 4117 * ------------------------------------------------------------------------ 4118 */ 4119 4120class Button extends BaseComponent { 4121 // Getters 4122 static get NAME() { 4123 return NAME$c; 4124 } // Public 4125 4126 4127 toggle() { 4128 // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method 4129 this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3)); 4130 } // Static 4131 4132 4133 static jQueryInterface(config) { 4134 return this.each(function () { 4135 const data = Button.getOrCreateInstance(this); 4136 4137 if (config === 'toggle') { 4138 data[config](); 4139 } 4140 }); 4141 } 4142 4143} 4144/** 4145 * ------------------------------------------------------------------------ 4146 * Data Api implementation 4147 * ------------------------------------------------------------------------ 4148 */ 4149 4150 4151EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => { 4152 event.preventDefault(); 4153 const button = event.target.closest(SELECTOR_DATA_TOGGLE$5); 4154 const data = Button.getOrCreateInstance(button); 4155 data.toggle(); 4156}); 4157/** 4158 * ------------------------------------------------------------------------ 4159 * jQuery 4160 * ------------------------------------------------------------------------ 4161 * add .Button to jQuery only if jQuery is present 4162 */ 4163 4164defineJQueryPlugin(Button); 4165 4166/** 4167 * -------------------------------------------------------------------------- 4168 * Bootstrap (v5.1.3): dom/manipulator.js 4169 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4170 * -------------------------------------------------------------------------- 4171 */ 4172function normalizeData(val) { 4173 if (val === 'true') { 4174 return true; 4175 } 4176 4177 if (val === 'false') { 4178 return false; 4179 } 4180 4181 if (val === Number(val).toString()) { 4182 return Number(val); 4183 } 4184 4185 if (val === '' || val === 'null') { 4186 return null; 4187 } 4188 4189 return val; 4190} 4191 4192function normalizeDataKey(key) { 4193 return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`); 4194} 4195 4196const Manipulator = { 4197 setDataAttribute(element, key, value) { 4198 element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value); 4199 }, 4200 4201 removeDataAttribute(element, key) { 4202 element.removeAttribute(`data-bs-${normalizeDataKey(key)}`); 4203 }, 4204 4205 getDataAttributes(element) { 4206 if (!element) { 4207 return {}; 4208 } 4209 4210 const attributes = {}; 4211 Object.keys(element.dataset).filter(key => key.startsWith('bs')).forEach(key => { 4212 let pureKey = key.replace(/^bs/, ''); 4213 pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length); 4214 attributes[pureKey] = normalizeData(element.dataset[key]); 4215 }); 4216 return attributes; 4217 }, 4218 4219 getDataAttribute(element, key) { 4220 return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`)); 4221 }, 4222 4223 offset(element) { 4224 const rect = element.getBoundingClientRect(); 4225 return { 4226 top: rect.top + window.pageYOffset, 4227 left: rect.left + window.pageXOffset 4228 }; 4229 }, 4230 4231 position(element) { 4232 return { 4233 top: element.offsetTop, 4234 left: element.offsetLeft 4235 }; 4236 } 4237 4238}; 4239 4240/** 4241 * -------------------------------------------------------------------------- 4242 * Bootstrap (v5.1.3): dom/selector-engine.js 4243 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4244 * -------------------------------------------------------------------------- 4245 */ 4246const NODE_TEXT = 3; 4247const SelectorEngine = { 4248 find(selector, element = document.documentElement) { 4249 return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); 4250 }, 4251 4252 findOne(selector, element = document.documentElement) { 4253 return Element.prototype.querySelector.call(element, selector); 4254 }, 4255 4256 children(element, selector) { 4257 return [].concat(...element.children).filter(child => child.matches(selector)); 4258 }, 4259 4260 parents(element, selector) { 4261 const parents = []; 4262 let ancestor = element.parentNode; 4263 4264 while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) { 4265 if (ancestor.matches(selector)) { 4266 parents.push(ancestor); 4267 } 4268 4269 ancestor = ancestor.parentNode; 4270 } 4271 4272 return parents; 4273 }, 4274 4275 prev(element, selector) { 4276 let previous = element.previousElementSibling; 4277 4278 while (previous) { 4279 if (previous.matches(selector)) { 4280 return [previous]; 4281 } 4282 4283 previous = previous.previousElementSibling; 4284 } 4285 4286 return []; 4287 }, 4288 4289 next(element, selector) { 4290 let next = element.nextElementSibling; 4291 4292 while (next) { 4293 if (next.matches(selector)) { 4294 return [next]; 4295 } 4296 4297 next = next.nextElementSibling; 4298 } 4299 4300 return []; 4301 }, 4302 4303 focusableChildren(element) { 4304 const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(', '); 4305 return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el)); 4306 } 4307 4308}; 4309 4310/** 4311 * -------------------------------------------------------------------------- 4312 * Bootstrap (v5.1.3): carousel.js 4313 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4314 * -------------------------------------------------------------------------- 4315 */ 4316/** 4317 * ------------------------------------------------------------------------ 4318 * Constants 4319 * ------------------------------------------------------------------------ 4320 */ 4321 4322const NAME$b = 'carousel'; 4323const DATA_KEY$a = 'bs.carousel'; 4324const EVENT_KEY$a = `.${DATA_KEY$a}`; 4325const DATA_API_KEY$6 = '.data-api'; 4326const ARROW_LEFT_KEY = 'ArrowLeft'; 4327const ARROW_RIGHT_KEY = 'ArrowRight'; 4328const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch 4329 4330const SWIPE_THRESHOLD = 40; 4331const Default$a = { 4332 interval: 5000, 4333 keyboard: true, 4334 slide: false, 4335 pause: 'hover', 4336 wrap: true, 4337 touch: true 4338}; 4339const DefaultType$a = { 4340 interval: '(number|boolean)', 4341 keyboard: 'boolean', 4342 slide: '(boolean|string)', 4343 pause: '(string|boolean)', 4344 wrap: 'boolean', 4345 touch: 'boolean' 4346}; 4347const ORDER_NEXT = 'next'; 4348const ORDER_PREV = 'prev'; 4349const DIRECTION_LEFT = 'left'; 4350const DIRECTION_RIGHT = 'right'; 4351const KEY_TO_DIRECTION = { 4352 [ARROW_LEFT_KEY]: DIRECTION_RIGHT, 4353 [ARROW_RIGHT_KEY]: DIRECTION_LEFT 4354}; 4355const EVENT_SLIDE = `slide${EVENT_KEY$a}`; 4356const EVENT_SLID = `slid${EVENT_KEY$a}`; 4357const EVENT_KEYDOWN = `keydown${EVENT_KEY$a}`; 4358const EVENT_MOUSEENTER = `mouseenter${EVENT_KEY$a}`; 4359const EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY$a}`; 4360const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$a}`; 4361const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$a}`; 4362const EVENT_TOUCHEND = `touchend${EVENT_KEY$a}`; 4363const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$a}`; 4364const EVENT_POINTERUP = `pointerup${EVENT_KEY$a}`; 4365const EVENT_DRAG_START = `dragstart${EVENT_KEY$a}`; 4366const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$a}${DATA_API_KEY$6}`; 4367const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; 4368const CLASS_NAME_CAROUSEL = 'carousel'; 4369const CLASS_NAME_ACTIVE$2 = 'active'; 4370const CLASS_NAME_SLIDE = 'slide'; 4371const CLASS_NAME_END = 'carousel-item-end'; 4372const CLASS_NAME_START = 'carousel-item-start'; 4373const CLASS_NAME_NEXT = 'carousel-item-next'; 4374const CLASS_NAME_PREV = 'carousel-item-prev'; 4375const CLASS_NAME_POINTER_EVENT = 'pointer-event'; 4376const SELECTOR_ACTIVE$1 = '.active'; 4377const SELECTOR_ACTIVE_ITEM = '.active.carousel-item'; 4378const SELECTOR_ITEM = '.carousel-item'; 4379const SELECTOR_ITEM_IMG = '.carousel-item img'; 4380const SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'; 4381const SELECTOR_INDICATORS = '.carousel-indicators'; 4382const SELECTOR_INDICATOR = '[data-bs-target]'; 4383const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'; 4384const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]'; 4385const POINTER_TYPE_TOUCH = 'touch'; 4386const POINTER_TYPE_PEN = 'pen'; 4387/** 4388 * ------------------------------------------------------------------------ 4389 * Class Definition 4390 * ------------------------------------------------------------------------ 4391 */ 4392 4393class Carousel extends BaseComponent { 4394 constructor(element, config) { 4395 super(element); 4396 this._items = null; 4397 this._interval = null; 4398 this._activeElement = null; 4399 this._isPaused = false; 4400 this._isSliding = false; 4401 this.touchTimeout = null; 4402 this.touchStartX = 0; 4403 this.touchDeltaX = 0; 4404 this._config = this._getConfig(config); 4405 this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); 4406 this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; 4407 this._pointerEvent = Boolean(window.PointerEvent); 4408 4409 this._addEventListeners(); 4410 } // Getters 4411 4412 4413 static get Default() { 4414 return Default$a; 4415 } 4416 4417 static get NAME() { 4418 return NAME$b; 4419 } // Public 4420 4421 4422 next() { 4423 this._slide(ORDER_NEXT); 4424 } 4425 4426 nextWhenVisible() { 4427 // Don't call next when the page isn't visible 4428 // or the carousel or its parent isn't visible 4429 if (!document.hidden && isVisible(this._element)) { 4430 this.next(); 4431 } 4432 } 4433 4434 prev() { 4435 this._slide(ORDER_PREV); 4436 } 4437 4438 pause(event) { 4439 if (!event) { 4440 this._isPaused = true; 4441 } 4442 4443 if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) { 4444 triggerTransitionEnd(this._element); 4445 this.cycle(true); 4446 } 4447 4448 clearInterval(this._interval); 4449 this._interval = null; 4450 } 4451 4452 cycle(event) { 4453 if (!event) { 4454 this._isPaused = false; 4455 } 4456 4457 if (this._interval) { 4458 clearInterval(this._interval); 4459 this._interval = null; 4460 } 4461 4462 if (this._config && this._config.interval && !this._isPaused) { 4463 this._updateInterval(); 4464 4465 this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); 4466 } 4467 } 4468 4469 to(index) { 4470 this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); 4471 4472 const activeIndex = this._getItemIndex(this._activeElement); 4473 4474 if (index > this._items.length - 1 || index < 0) { 4475 return; 4476 } 4477 4478 if (this._isSliding) { 4479 EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); 4480 return; 4481 } 4482 4483 if (activeIndex === index) { 4484 this.pause(); 4485 this.cycle(); 4486 return; 4487 } 4488 4489 const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV; 4490 4491 this._slide(order, this._items[index]); 4492 } // Private 4493 4494 4495 _getConfig(config) { 4496 config = { ...Default$a, 4497 ...Manipulator.getDataAttributes(this._element), 4498 ...(typeof config === 'object' ? config : {}) 4499 }; 4500 typeCheckConfig(NAME$b, config, DefaultType$a); 4501 return config; 4502 } 4503 4504 _handleSwipe() { 4505 const absDeltax = Math.abs(this.touchDeltaX); 4506 4507 if (absDeltax <= SWIPE_THRESHOLD) { 4508 return; 4509 } 4510 4511 const direction = absDeltax / this.touchDeltaX; 4512 this.touchDeltaX = 0; 4513 4514 if (!direction) { 4515 return; 4516 } 4517 4518 this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT); 4519 } 4520 4521 _addEventListeners() { 4522 if (this._config.keyboard) { 4523 EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event)); 4524 } 4525 4526 if (this._config.pause === 'hover') { 4527 EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event)); 4528 EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event)); 4529 } 4530 4531 if (this._config.touch && this._touchSupported) { 4532 this._addTouchEventListeners(); 4533 } 4534 } 4535 4536 _addTouchEventListeners() { 4537 const hasPointerPenTouch = event => { 4538 return this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); 4539 }; 4540 4541 const start = event => { 4542 if (hasPointerPenTouch(event)) { 4543 this.touchStartX = event.clientX; 4544 } else if (!this._pointerEvent) { 4545 this.touchStartX = event.touches[0].clientX; 4546 } 4547 }; 4548 4549 const move = event => { 4550 // ensure swiping with one touch and not pinching 4551 this.touchDeltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this.touchStartX; 4552 }; 4553 4554 const end = event => { 4555 if (hasPointerPenTouch(event)) { 4556 this.touchDeltaX = event.clientX - this.touchStartX; 4557 } 4558 4559 this._handleSwipe(); 4560 4561 if (this._config.pause === 'hover') { 4562 // If it's a touch-enabled device, mouseenter/leave are fired as 4563 // part of the mouse compatibility events on first tap - the carousel 4564 // would stop cycling until user tapped out of it; 4565 // here, we listen for touchend, explicitly pause the carousel 4566 // (as if it's the second time we tap on it, mouseenter compat event 4567 // is NOT fired) and after a timeout (to allow for mouse compatibility 4568 // events to fire) we explicitly restart cycling 4569 this.pause(); 4570 4571 if (this.touchTimeout) { 4572 clearTimeout(this.touchTimeout); 4573 } 4574 4575 this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval); 4576 } 4577 }; 4578 4579 SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => { 4580 EventHandler.on(itemImg, EVENT_DRAG_START, event => event.preventDefault()); 4581 }); 4582 4583 if (this._pointerEvent) { 4584 EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event)); 4585 EventHandler.on(this._element, EVENT_POINTERUP, event => end(event)); 4586 4587 this._element.classList.add(CLASS_NAME_POINTER_EVENT); 4588 } else { 4589 EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event)); 4590 EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event)); 4591 EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event)); 4592 } 4593 } 4594 4595 _keydown(event) { 4596 if (/input|textarea/i.test(event.target.tagName)) { 4597 return; 4598 } 4599 4600 const direction = KEY_TO_DIRECTION[event.key]; 4601 4602 if (direction) { 4603 event.preventDefault(); 4604 4605 this._slide(direction); 4606 } 4607 } 4608 4609 _getItemIndex(element) { 4610 this._items = element && element.parentNode ? SelectorEngine.find(SELECTOR_ITEM, element.parentNode) : []; 4611 return this._items.indexOf(element); 4612 } 4613 4614 _getItemByOrder(order, activeElement) { 4615 const isNext = order === ORDER_NEXT; 4616 return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap); 4617 } 4618 4619 _triggerSlideEvent(relatedTarget, eventDirectionName) { 4620 const targetIndex = this._getItemIndex(relatedTarget); 4621 4622 const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)); 4623 4624 return EventHandler.trigger(this._element, EVENT_SLIDE, { 4625 relatedTarget, 4626 direction: eventDirectionName, 4627 from: fromIndex, 4628 to: targetIndex 4629 }); 4630 } 4631 4632 _setActiveIndicatorElement(element) { 4633 if (this._indicatorsElement) { 4634 const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE$1, this._indicatorsElement); 4635 activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); 4636 activeIndicator.removeAttribute('aria-current'); 4637 const indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement); 4638 4639 for (let i = 0; i < indicators.length; i++) { 4640 if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) { 4641 indicators[i].classList.add(CLASS_NAME_ACTIVE$2); 4642 indicators[i].setAttribute('aria-current', 'true'); 4643 break; 4644 } 4645 } 4646 } 4647 } 4648 4649 _updateInterval() { 4650 const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); 4651 4652 if (!element) { 4653 return; 4654 } 4655 4656 const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10); 4657 4658 if (elementInterval) { 4659 this._config.defaultInterval = this._config.defaultInterval || this._config.interval; 4660 this._config.interval = elementInterval; 4661 } else { 4662 this._config.interval = this._config.defaultInterval || this._config.interval; 4663 } 4664 } 4665 4666 _slide(directionOrOrder, element) { 4667 const order = this._directionToOrder(directionOrOrder); 4668 4669 const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); 4670 4671 const activeElementIndex = this._getItemIndex(activeElement); 4672 4673 const nextElement = element || this._getItemByOrder(order, activeElement); 4674 4675 const nextElementIndex = this._getItemIndex(nextElement); 4676 4677 const isCycling = Boolean(this._interval); 4678 const isNext = order === ORDER_NEXT; 4679 const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; 4680 const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; 4681 4682 const eventDirectionName = this._orderToDirection(order); 4683 4684 if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE$2)) { 4685 this._isSliding = false; 4686 return; 4687 } 4688 4689 if (this._isSliding) { 4690 return; 4691 } 4692 4693 const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); 4694 4695 if (slideEvent.defaultPrevented) { 4696 return; 4697 } 4698 4699 if (!activeElement || !nextElement) { 4700 // Some weirdness is happening, so we bail 4701 return; 4702 } 4703 4704 this._isSliding = true; 4705 4706 if (isCycling) { 4707 this.pause(); 4708 } 4709 4710 this._setActiveIndicatorElement(nextElement); 4711 4712 this._activeElement = nextElement; 4713 4714 const triggerSlidEvent = () => { 4715 EventHandler.trigger(this._element, EVENT_SLID, { 4716 relatedTarget: nextElement, 4717 direction: eventDirectionName, 4718 from: activeElementIndex, 4719 to: nextElementIndex 4720 }); 4721 }; 4722 4723 if (this._element.classList.contains(CLASS_NAME_SLIDE)) { 4724 nextElement.classList.add(orderClassName); 4725 reflow(nextElement); 4726 activeElement.classList.add(directionalClassName); 4727 nextElement.classList.add(directionalClassName); 4728 4729 const completeCallBack = () => { 4730 nextElement.classList.remove(directionalClassName, orderClassName); 4731 nextElement.classList.add(CLASS_NAME_ACTIVE$2); 4732 activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); 4733 this._isSliding = false; 4734 setTimeout(triggerSlidEvent, 0); 4735 }; 4736 4737 this._queueCallback(completeCallBack, activeElement, true); 4738 } else { 4739 activeElement.classList.remove(CLASS_NAME_ACTIVE$2); 4740 nextElement.classList.add(CLASS_NAME_ACTIVE$2); 4741 this._isSliding = false; 4742 triggerSlidEvent(); 4743 } 4744 4745 if (isCycling) { 4746 this.cycle(); 4747 } 4748 } 4749 4750 _directionToOrder(direction) { 4751 if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) { 4752 return direction; 4753 } 4754 4755 if (isRTL()) { 4756 return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; 4757 } 4758 4759 return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; 4760 } 4761 4762 _orderToDirection(order) { 4763 if (![ORDER_NEXT, ORDER_PREV].includes(order)) { 4764 return order; 4765 } 4766 4767 if (isRTL()) { 4768 return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; 4769 } 4770 4771 return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; 4772 } // Static 4773 4774 4775 static carouselInterface(element, config) { 4776 const data = Carousel.getOrCreateInstance(element, config); 4777 let { 4778 _config 4779 } = data; 4780 4781 if (typeof config === 'object') { 4782 _config = { ..._config, 4783 ...config 4784 }; 4785 } 4786 4787 const action = typeof config === 'string' ? config : _config.slide; 4788 4789 if (typeof config === 'number') { 4790 data.to(config); 4791 } else if (typeof action === 'string') { 4792 if (typeof data[action] === 'undefined') { 4793 throw new TypeError(`No method named "${action}"`); 4794 } 4795 4796 data[action](); 4797 } else if (_config.interval && _config.ride) { 4798 data.pause(); 4799 data.cycle(); 4800 } 4801 } 4802 4803 static jQueryInterface(config) { 4804 return this.each(function () { 4805 Carousel.carouselInterface(this, config); 4806 }); 4807 } 4808 4809 static dataApiClickHandler(event) { 4810 const target = getElementFromSelector(this); 4811 4812 if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { 4813 return; 4814 } 4815 4816 const config = { ...Manipulator.getDataAttributes(target), 4817 ...Manipulator.getDataAttributes(this) 4818 }; 4819 const slideIndex = this.getAttribute('data-bs-slide-to'); 4820 4821 if (slideIndex) { 4822 config.interval = false; 4823 } 4824 4825 Carousel.carouselInterface(target, config); 4826 4827 if (slideIndex) { 4828 Carousel.getInstance(target).to(slideIndex); 4829 } 4830 4831 event.preventDefault(); 4832 } 4833 4834} 4835/** 4836 * ------------------------------------------------------------------------ 4837 * Data Api implementation 4838 * ------------------------------------------------------------------------ 4839 */ 4840 4841 4842EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler); 4843EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { 4844 const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); 4845 4846 for (let i = 0, len = carousels.length; i < len; i++) { 4847 Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i])); 4848 } 4849}); 4850/** 4851 * ------------------------------------------------------------------------ 4852 * jQuery 4853 * ------------------------------------------------------------------------ 4854 * add .Carousel to jQuery only if jQuery is present 4855 */ 4856 4857defineJQueryPlugin(Carousel); 4858 4859/** 4860 * -------------------------------------------------------------------------- 4861 * Bootstrap (v5.1.3): collapse.js 4862 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 4863 * -------------------------------------------------------------------------- 4864 */ 4865/** 4866 * ------------------------------------------------------------------------ 4867 * Constants 4868 * ------------------------------------------------------------------------ 4869 */ 4870 4871const NAME$a = 'collapse'; 4872const DATA_KEY$9 = 'bs.collapse'; 4873const EVENT_KEY$9 = `.${DATA_KEY$9}`; 4874const DATA_API_KEY$5 = '.data-api'; 4875const Default$9 = { 4876 toggle: true, 4877 parent: null 4878}; 4879const DefaultType$9 = { 4880 toggle: 'boolean', 4881 parent: '(null|element)' 4882}; 4883const EVENT_SHOW$5 = `show${EVENT_KEY$9}`; 4884const EVENT_SHOWN$5 = `shown${EVENT_KEY$9}`; 4885const EVENT_HIDE$5 = `hide${EVENT_KEY$9}`; 4886const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$9}`; 4887const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$9}${DATA_API_KEY$5}`; 4888const CLASS_NAME_SHOW$7 = 'show'; 4889const CLASS_NAME_COLLAPSE = 'collapse'; 4890const CLASS_NAME_COLLAPSING = 'collapsing'; 4891const CLASS_NAME_COLLAPSED = 'collapsed'; 4892const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; 4893const CLASS_NAME_HORIZONTAL = 'collapse-horizontal'; 4894const WIDTH = 'width'; 4895const HEIGHT = 'height'; 4896const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; 4897const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; 4898/** 4899 * ------------------------------------------------------------------------ 4900 * Class Definition 4901 * ------------------------------------------------------------------------ 4902 */ 4903 4904class Collapse extends BaseComponent { 4905 constructor(element, config) { 4906 super(element); 4907 this._isTransitioning = false; 4908 this._config = this._getConfig(config); 4909 this._triggerArray = []; 4910 const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); 4911 4912 for (let i = 0, len = toggleList.length; i < len; i++) { 4913 const elem = toggleList[i]; 4914 const selector = getSelectorFromElement(elem); 4915 const filterElement = SelectorEngine.find(selector).filter(foundElem => foundElem === this._element); 4916 4917 if (selector !== null && filterElement.length) { 4918 this._selector = selector; 4919 4920 this._triggerArray.push(elem); 4921 } 4922 } 4923 4924 this._initializeChildren(); 4925 4926 if (!this._config.parent) { 4927 this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); 4928 } 4929 4930 if (this._config.toggle) { 4931 this.toggle(); 4932 } 4933 } // Getters 4934 4935 4936 static get Default() { 4937 return Default$9; 4938 } 4939 4940 static get NAME() { 4941 return NAME$a; 4942 } // Public 4943 4944 4945 toggle() { 4946 if (this._isShown()) { 4947 this.hide(); 4948 } else { 4949 this.show(); 4950 } 4951 } 4952 4953 show() { 4954 if (this._isTransitioning || this._isShown()) { 4955 return; 4956 } 4957 4958 let actives = []; 4959 let activesData; 4960 4961 if (this._config.parent) { 4962 const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); 4963 actives = SelectorEngine.find(SELECTOR_ACTIVES, this._config.parent).filter(elem => !children.includes(elem)); // remove children if greater depth 4964 } 4965 4966 const container = SelectorEngine.findOne(this._selector); 4967 4968 if (actives.length) { 4969 const tempActiveData = actives.find(elem => container !== elem); 4970 activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null; 4971 4972 if (activesData && activesData._isTransitioning) { 4973 return; 4974 } 4975 } 4976 4977 const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$5); 4978 4979 if (startEvent.defaultPrevented) { 4980 return; 4981 } 4982 4983 actives.forEach(elemActive => { 4984 if (container !== elemActive) { 4985 Collapse.getOrCreateInstance(elemActive, { 4986 toggle: false 4987 }).hide(); 4988 } 4989 4990 if (!activesData) { 4991 Data.set(elemActive, DATA_KEY$9, null); 4992 } 4993 }); 4994 4995 const dimension = this._getDimension(); 4996 4997 this._element.classList.remove(CLASS_NAME_COLLAPSE); 4998 4999 this._element.classList.add(CLASS_NAME_COLLAPSING); 5000 5001 this._element.style[dimension] = 0; 5002 5003 this._addAriaAndCollapsedClass(this._triggerArray, true); 5004 5005 this._isTransitioning = true; 5006 5007 const complete = () => { 5008 this._isTransitioning = false; 5009 5010 this._element.classList.remove(CLASS_NAME_COLLAPSING); 5011 5012 this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); 5013 5014 this._element.style[dimension] = ''; 5015 EventHandler.trigger(this._element, EVENT_SHOWN$5); 5016 }; 5017 5018 const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); 5019 const scrollSize = `scroll${capitalizedDimension}`; 5020 5021 this._queueCallback(complete, this._element, true); 5022 5023 this._element.style[dimension] = `${this._element[scrollSize]}px`; 5024 } 5025 5026 hide() { 5027 if (this._isTransitioning || !this._isShown()) { 5028 return; 5029 } 5030 5031 const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$5); 5032 5033 if (startEvent.defaultPrevented) { 5034 return; 5035 } 5036 5037 const dimension = this._getDimension(); 5038 5039 this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; 5040 reflow(this._element); 5041 5042 this._element.classList.add(CLASS_NAME_COLLAPSING); 5043 5044 this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); 5045 5046 const triggerArrayLength = this._triggerArray.length; 5047 5048 for (let i = 0; i < triggerArrayLength; i++) { 5049 const trigger = this._triggerArray[i]; 5050 const elem = getElementFromSelector(trigger); 5051 5052 if (elem && !this._isShown(elem)) { 5053 this._addAriaAndCollapsedClass([trigger], false); 5054 } 5055 } 5056 5057 this._isTransitioning = true; 5058 5059 const complete = () => { 5060 this._isTransitioning = false; 5061 5062 this._element.classList.remove(CLASS_NAME_COLLAPSING); 5063 5064 this._element.classList.add(CLASS_NAME_COLLAPSE); 5065 5066 EventHandler.trigger(this._element, EVENT_HIDDEN$5); 5067 }; 5068 5069 this._element.style[dimension] = ''; 5070 5071 this._queueCallback(complete, this._element, true); 5072 } 5073 5074 _isShown(element = this._element) { 5075 return element.classList.contains(CLASS_NAME_SHOW$7); 5076 } // Private 5077 5078 5079 _getConfig(config) { 5080 config = { ...Default$9, 5081 ...Manipulator.getDataAttributes(this._element), 5082 ...config 5083 }; 5084 config.toggle = Boolean(config.toggle); // Coerce string values 5085 5086 config.parent = getElement(config.parent); 5087 typeCheckConfig(NAME$a, config, DefaultType$9); 5088 return config; 5089 } 5090 5091 _getDimension() { 5092 return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; 5093 } 5094 5095 _initializeChildren() { 5096 if (!this._config.parent) { 5097 return; 5098 } 5099 5100 const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); 5101 SelectorEngine.find(SELECTOR_DATA_TOGGLE$4, this._config.parent).filter(elem => !children.includes(elem)).forEach(element => { 5102 const selected = getElementFromSelector(element); 5103 5104 if (selected) { 5105 this._addAriaAndCollapsedClass([element], this._isShown(selected)); 5106 } 5107 }); 5108 } 5109 5110 _addAriaAndCollapsedClass(triggerArray, isOpen) { 5111 if (!triggerArray.length) { 5112 return; 5113 } 5114 5115 triggerArray.forEach(elem => { 5116 if (isOpen) { 5117 elem.classList.remove(CLASS_NAME_COLLAPSED); 5118 } else { 5119 elem.classList.add(CLASS_NAME_COLLAPSED); 5120 } 5121 5122 elem.setAttribute('aria-expanded', isOpen); 5123 }); 5124 } // Static 5125 5126 5127 static jQueryInterface(config) { 5128 return this.each(function () { 5129 const _config = {}; 5130 5131 if (typeof config === 'string' && /show|hide/.test(config)) { 5132 _config.toggle = false; 5133 } 5134 5135 const data = Collapse.getOrCreateInstance(this, _config); 5136 5137 if (typeof config === 'string') { 5138 if (typeof data[config] === 'undefined') { 5139 throw new TypeError(`No method named "${config}"`); 5140 } 5141 5142 data[config](); 5143 } 5144 }); 5145 } 5146 5147} 5148/** 5149 * ------------------------------------------------------------------------ 5150 * Data Api implementation 5151 * ------------------------------------------------------------------------ 5152 */ 5153 5154 5155EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) { 5156 // preventDefault only for <a> elements (which change the URL) not inside the collapsible element 5157 if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') { 5158 event.preventDefault(); 5159 } 5160 5161 const selector = getSelectorFromElement(this); 5162 const selectorElements = SelectorEngine.find(selector); 5163 selectorElements.forEach(element => { 5164 Collapse.getOrCreateInstance(element, { 5165 toggle: false 5166 }).toggle(); 5167 }); 5168}); 5169/** 5170 * ------------------------------------------------------------------------ 5171 * jQuery 5172 * ------------------------------------------------------------------------ 5173 * add .Collapse to jQuery only if jQuery is present 5174 */ 5175 5176defineJQueryPlugin(Collapse); 5177 5178/** 5179 * -------------------------------------------------------------------------- 5180 * Bootstrap (v5.1.3): dropdown.js 5181 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5182 * -------------------------------------------------------------------------- 5183 */ 5184/** 5185 * ------------------------------------------------------------------------ 5186 * Constants 5187 * ------------------------------------------------------------------------ 5188 */ 5189 5190const NAME$9 = 'dropdown'; 5191const DATA_KEY$8 = 'bs.dropdown'; 5192const EVENT_KEY$8 = `.${DATA_KEY$8}`; 5193const DATA_API_KEY$4 = '.data-api'; 5194const ESCAPE_KEY$2 = 'Escape'; 5195const SPACE_KEY = 'Space'; 5196const TAB_KEY$1 = 'Tab'; 5197const ARROW_UP_KEY = 'ArrowUp'; 5198const ARROW_DOWN_KEY = 'ArrowDown'; 5199const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button 5200 5201const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY$2}`); 5202const EVENT_HIDE$4 = `hide${EVENT_KEY$8}`; 5203const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$8}`; 5204const EVENT_SHOW$4 = `show${EVENT_KEY$8}`; 5205const EVENT_SHOWN$4 = `shown${EVENT_KEY$8}`; 5206const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$8}${DATA_API_KEY$4}`; 5207const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$4}`; 5208const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$4}`; 5209const CLASS_NAME_SHOW$6 = 'show'; 5210const CLASS_NAME_DROPUP = 'dropup'; 5211const CLASS_NAME_DROPEND = 'dropend'; 5212const CLASS_NAME_DROPSTART = 'dropstart'; 5213const CLASS_NAME_NAVBAR = 'navbar'; 5214const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]'; 5215const SELECTOR_MENU = '.dropdown-menu'; 5216const SELECTOR_NAVBAR_NAV = '.navbar-nav'; 5217const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; 5218const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'; 5219const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'; 5220const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'; 5221const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'; 5222const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'; 5223const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'; 5224const Default$8 = { 5225 offset: [0, 2], 5226 boundary: 'clippingParents', 5227 reference: 'toggle', 5228 display: 'dynamic', 5229 popperConfig: null, 5230 autoClose: true 5231}; 5232const DefaultType$8 = { 5233 offset: '(array|string|function)', 5234 boundary: '(string|element)', 5235 reference: '(string|element|object)', 5236 display: 'string', 5237 popperConfig: '(null|object|function)', 5238 autoClose: '(boolean|string)' 5239}; 5240/** 5241 * ------------------------------------------------------------------------ 5242 * Class Definition 5243 * ------------------------------------------------------------------------ 5244 */ 5245 5246class Dropdown extends BaseComponent { 5247 constructor(element, config) { 5248 super(element); 5249 this._popper = null; 5250 this._config = this._getConfig(config); 5251 this._menu = this._getMenuElement(); 5252 this._inNavbar = this._detectNavbar(); 5253 } // Getters 5254 5255 5256 static get Default() { 5257 return Default$8; 5258 } 5259 5260 static get DefaultType() { 5261 return DefaultType$8; 5262 } 5263 5264 static get NAME() { 5265 return NAME$9; 5266 } // Public 5267 5268 5269 toggle() { 5270 return this._isShown() ? this.hide() : this.show(); 5271 } 5272 5273 show() { 5274 if (isDisabled(this._element) || this._isShown(this._menu)) { 5275 return; 5276 } 5277 5278 const relatedTarget = { 5279 relatedTarget: this._element 5280 }; 5281 const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, relatedTarget); 5282 5283 if (showEvent.defaultPrevented) { 5284 return; 5285 } 5286 5287 const parent = Dropdown.getParentFromElement(this._element); // Totally disable Popper for Dropdowns in Navbar 5288 5289 if (this._inNavbar) { 5290 Manipulator.setDataAttribute(this._menu, 'popper', 'none'); 5291 } else { 5292 this._createPopper(parent); 5293 } // If this is a touch-enabled device we add extra 5294 // empty mouseover listeners to the body's immediate children; 5295 // only needed because of broken event delegation on iOS 5296 // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html 5297 5298 5299 if ('ontouchstart' in document.documentElement && !parent.closest(SELECTOR_NAVBAR_NAV)) { 5300 [].concat(...document.body.children).forEach(elem => EventHandler.on(elem, 'mouseover', noop)); 5301 } 5302 5303 this._element.focus(); 5304 5305 this._element.setAttribute('aria-expanded', true); 5306 5307 this._menu.classList.add(CLASS_NAME_SHOW$6); 5308 5309 this._element.classList.add(CLASS_NAME_SHOW$6); 5310 5311 EventHandler.trigger(this._element, EVENT_SHOWN$4, relatedTarget); 5312 } 5313 5314 hide() { 5315 if (isDisabled(this._element) || !this._isShown(this._menu)) { 5316 return; 5317 } 5318 5319 const relatedTarget = { 5320 relatedTarget: this._element 5321 }; 5322 5323 this._completeHide(relatedTarget); 5324 } 5325 5326 dispose() { 5327 if (this._popper) { 5328 this._popper.destroy(); 5329 } 5330 5331 super.dispose(); 5332 } 5333 5334 update() { 5335 this._inNavbar = this._detectNavbar(); 5336 5337 if (this._popper) { 5338 this._popper.update(); 5339 } 5340 } // Private 5341 5342 5343 _completeHide(relatedTarget) { 5344 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4, relatedTarget); 5345 5346 if (hideEvent.defaultPrevented) { 5347 return; 5348 } // If this is a touch-enabled device we remove the extra 5349 // empty mouseover listeners we added for iOS support 5350 5351 5352 if ('ontouchstart' in document.documentElement) { 5353 [].concat(...document.body.children).forEach(elem => EventHandler.off(elem, 'mouseover', noop)); 5354 } 5355 5356 if (this._popper) { 5357 this._popper.destroy(); 5358 } 5359 5360 this._menu.classList.remove(CLASS_NAME_SHOW$6); 5361 5362 this._element.classList.remove(CLASS_NAME_SHOW$6); 5363 5364 this._element.setAttribute('aria-expanded', 'false'); 5365 5366 Manipulator.removeDataAttribute(this._menu, 'popper'); 5367 EventHandler.trigger(this._element, EVENT_HIDDEN$4, relatedTarget); 5368 } 5369 5370 _getConfig(config) { 5371 config = { ...this.constructor.Default, 5372 ...Manipulator.getDataAttributes(this._element), 5373 ...config 5374 }; 5375 typeCheckConfig(NAME$9, config, this.constructor.DefaultType); 5376 5377 if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') { 5378 // Popper virtual elements require a getBoundingClientRect method 5379 throw new TypeError(`${NAME$9.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); 5380 } 5381 5382 return config; 5383 } 5384 5385 _createPopper(parent) { 5386 if (typeof _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ === 'undefined') { 5387 throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); 5388 } 5389 5390 let referenceElement = this._element; 5391 5392 if (this._config.reference === 'parent') { 5393 referenceElement = parent; 5394 } else if (isElement(this._config.reference)) { 5395 referenceElement = getElement(this._config.reference); 5396 } else if (typeof this._config.reference === 'object') { 5397 referenceElement = this._config.reference; 5398 } 5399 5400 const popperConfig = this._getPopperConfig(); 5401 5402 const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false); 5403 this._popper = _popperjs_core__WEBPACK_IMPORTED_MODULE_1__.createPopper(referenceElement, this._menu, popperConfig); 5404 5405 if (isDisplayStatic) { 5406 Manipulator.setDataAttribute(this._menu, 'popper', 'static'); 5407 } 5408 } 5409 5410 _isShown(element = this._element) { 5411 return element.classList.contains(CLASS_NAME_SHOW$6); 5412 } 5413 5414 _getMenuElement() { 5415 return SelectorEngine.next(this._element, SELECTOR_MENU)[0]; 5416 } 5417 5418 _getPlacement() { 5419 const parentDropdown = this._element.parentNode; 5420 5421 if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { 5422 return PLACEMENT_RIGHT; 5423 } 5424 5425 if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { 5426 return PLACEMENT_LEFT; 5427 } // We need to trim the value because custom properties can also include spaces 5428 5429 5430 const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'; 5431 5432 if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { 5433 return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; 5434 } 5435 5436 return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; 5437 } 5438 5439 _detectNavbar() { 5440 return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null; 5441 } 5442 5443 _getOffset() { 5444 const { 5445 offset 5446 } = this._config; 5447 5448 if (typeof offset === 'string') { 5449 return offset.split(',').map(val => Number.parseInt(val, 10)); 5450 } 5451 5452 if (typeof offset === 'function') { 5453 return popperData => offset(popperData, this._element); 5454 } 5455 5456 return offset; 5457 } 5458 5459 _getPopperConfig() { 5460 const defaultBsPopperConfig = { 5461 placement: this._getPlacement(), 5462 modifiers: [{ 5463 name: 'preventOverflow', 5464 options: { 5465 boundary: this._config.boundary 5466 } 5467 }, { 5468 name: 'offset', 5469 options: { 5470 offset: this._getOffset() 5471 } 5472 }] 5473 }; // Disable Popper if we have a static display 5474 5475 if (this._config.display === 'static') { 5476 defaultBsPopperConfig.modifiers = [{ 5477 name: 'applyStyles', 5478 enabled: false 5479 }]; 5480 } 5481 5482 return { ...defaultBsPopperConfig, 5483 ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) 5484 }; 5485 } 5486 5487 _selectMenuItem({ 5488 key, 5489 target 5490 }) { 5491 const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible); 5492 5493 if (!items.length) { 5494 return; 5495 } // if target isn't included in items (e.g. when expanding the dropdown) 5496 // allow cycling to get the last item in case key equals ARROW_UP_KEY 5497 5498 5499 getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus(); 5500 } // Static 5501 5502 5503 static jQueryInterface(config) { 5504 return this.each(function () { 5505 const data = Dropdown.getOrCreateInstance(this, config); 5506 5507 if (typeof config !== 'string') { 5508 return; 5509 } 5510 5511 if (typeof data[config] === 'undefined') { 5512 throw new TypeError(`No method named "${config}"`); 5513 } 5514 5515 data[config](); 5516 }); 5517 } 5518 5519 static clearMenus(event) { 5520 if (event && (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1)) { 5521 return; 5522 } 5523 5524 const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$3); 5525 5526 for (let i = 0, len = toggles.length; i < len; i++) { 5527 const context = Dropdown.getInstance(toggles[i]); 5528 5529 if (!context || context._config.autoClose === false) { 5530 continue; 5531 } 5532 5533 if (!context._isShown()) { 5534 continue; 5535 } 5536 5537 const relatedTarget = { 5538 relatedTarget: context._element 5539 }; 5540 5541 if (event) { 5542 const composedPath = event.composedPath(); 5543 const isMenuTarget = composedPath.includes(context._menu); 5544 5545 if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) { 5546 continue; 5547 } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu 5548 5549 5550 if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { 5551 continue; 5552 } 5553 5554 if (event.type === 'click') { 5555 relatedTarget.clickEvent = event; 5556 } 5557 } 5558 5559 context._completeHide(relatedTarget); 5560 } 5561 } 5562 5563 static getParentFromElement(element) { 5564 return getElementFromSelector(element) || element.parentNode; 5565 } 5566 5567 static dataApiKeydownHandler(event) { 5568 // If not input/textarea: 5569 // - And not a key in REGEXP_KEYDOWN => not a dropdown command 5570 // If input/textarea: 5571 // - If space key => not a dropdown command 5572 // - If key is other than escape 5573 // - If key is not up or down => not a dropdown command 5574 // - If trigger inside the menu => not a dropdown command 5575 if (/input|textarea/i.test(event.target.tagName) ? event.key === SPACE_KEY || event.key !== ESCAPE_KEY$2 && (event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY || event.target.closest(SELECTOR_MENU)) : !REGEXP_KEYDOWN.test(event.key)) { 5576 return; 5577 } 5578 5579 const isActive = this.classList.contains(CLASS_NAME_SHOW$6); 5580 5581 if (!isActive && event.key === ESCAPE_KEY$2) { 5582 return; 5583 } 5584 5585 event.preventDefault(); 5586 event.stopPropagation(); 5587 5588 if (isDisabled(this)) { 5589 return; 5590 } 5591 5592 const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0]; 5593 const instance = Dropdown.getOrCreateInstance(getToggleButton); 5594 5595 if (event.key === ESCAPE_KEY$2) { 5596 instance.hide(); 5597 return; 5598 } 5599 5600 if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) { 5601 if (!isActive) { 5602 instance.show(); 5603 } 5604 5605 instance._selectMenuItem(event); 5606 5607 return; 5608 } 5609 5610 if (!isActive || event.key === SPACE_KEY) { 5611 Dropdown.clearMenus(); 5612 } 5613 } 5614 5615} 5616/** 5617 * ------------------------------------------------------------------------ 5618 * Data Api implementation 5619 * ------------------------------------------------------------------------ 5620 */ 5621 5622 5623EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); 5624EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); 5625EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); 5626EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); 5627EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) { 5628 event.preventDefault(); 5629 Dropdown.getOrCreateInstance(this).toggle(); 5630}); 5631/** 5632 * ------------------------------------------------------------------------ 5633 * jQuery 5634 * ------------------------------------------------------------------------ 5635 * add .Dropdown to jQuery only if jQuery is present 5636 */ 5637 5638defineJQueryPlugin(Dropdown); 5639 5640/** 5641 * -------------------------------------------------------------------------- 5642 * Bootstrap (v5.1.3): util/scrollBar.js 5643 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5644 * -------------------------------------------------------------------------- 5645 */ 5646const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; 5647const SELECTOR_STICKY_CONTENT = '.sticky-top'; 5648 5649class ScrollBarHelper { 5650 constructor() { 5651 this._element = document.body; 5652 } 5653 5654 getWidth() { 5655 // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes 5656 const documentWidth = document.documentElement.clientWidth; 5657 return Math.abs(window.innerWidth - documentWidth); 5658 } 5659 5660 hide() { 5661 const width = this.getWidth(); 5662 5663 this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width 5664 5665 5666 this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth 5667 5668 5669 this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width); 5670 5671 this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width); 5672 } 5673 5674 _disableOverFlow() { 5675 this._saveInitialAttribute(this._element, 'overflow'); 5676 5677 this._element.style.overflow = 'hidden'; 5678 } 5679 5680 _setElementAttributes(selector, styleProp, callback) { 5681 const scrollbarWidth = this.getWidth(); 5682 5683 const manipulationCallBack = element => { 5684 if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { 5685 return; 5686 } 5687 5688 this._saveInitialAttribute(element, styleProp); 5689 5690 const calculatedValue = window.getComputedStyle(element)[styleProp]; 5691 element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`; 5692 }; 5693 5694 this._applyManipulationCallback(selector, manipulationCallBack); 5695 } 5696 5697 reset() { 5698 this._resetElementAttributes(this._element, 'overflow'); 5699 5700 this._resetElementAttributes(this._element, 'paddingRight'); 5701 5702 this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight'); 5703 5704 this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight'); 5705 } 5706 5707 _saveInitialAttribute(element, styleProp) { 5708 const actualValue = element.style[styleProp]; 5709 5710 if (actualValue) { 5711 Manipulator.setDataAttribute(element, styleProp, actualValue); 5712 } 5713 } 5714 5715 _resetElementAttributes(selector, styleProp) { 5716 const manipulationCallBack = element => { 5717 const value = Manipulator.getDataAttribute(element, styleProp); 5718 5719 if (typeof value === 'undefined') { 5720 element.style.removeProperty(styleProp); 5721 } else { 5722 Manipulator.removeDataAttribute(element, styleProp); 5723 element.style[styleProp] = value; 5724 } 5725 }; 5726 5727 this._applyManipulationCallback(selector, manipulationCallBack); 5728 } 5729 5730 _applyManipulationCallback(selector, callBack) { 5731 if (isElement(selector)) { 5732 callBack(selector); 5733 } else { 5734 SelectorEngine.find(selector, this._element).forEach(callBack); 5735 } 5736 } 5737 5738 isOverflowing() { 5739 return this.getWidth() > 0; 5740 } 5741 5742} 5743 5744/** 5745 * -------------------------------------------------------------------------- 5746 * Bootstrap (v5.1.3): util/backdrop.js 5747 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5748 * -------------------------------------------------------------------------- 5749 */ 5750const Default$7 = { 5751 className: 'modal-backdrop', 5752 isVisible: true, 5753 // if false, we use the backdrop helper without adding any element to the dom 5754 isAnimated: false, 5755 rootElement: 'body', 5756 // give the choice to place backdrop under different elements 5757 clickCallback: null 5758}; 5759const DefaultType$7 = { 5760 className: 'string', 5761 isVisible: 'boolean', 5762 isAnimated: 'boolean', 5763 rootElement: '(element|string)', 5764 clickCallback: '(function|null)' 5765}; 5766const NAME$8 = 'backdrop'; 5767const CLASS_NAME_FADE$4 = 'fade'; 5768const CLASS_NAME_SHOW$5 = 'show'; 5769const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$8}`; 5770 5771class Backdrop { 5772 constructor(config) { 5773 this._config = this._getConfig(config); 5774 this._isAppended = false; 5775 this._element = null; 5776 } 5777 5778 show(callback) { 5779 if (!this._config.isVisible) { 5780 execute(callback); 5781 return; 5782 } 5783 5784 this._append(); 5785 5786 if (this._config.isAnimated) { 5787 reflow(this._getElement()); 5788 } 5789 5790 this._getElement().classList.add(CLASS_NAME_SHOW$5); 5791 5792 this._emulateAnimation(() => { 5793 execute(callback); 5794 }); 5795 } 5796 5797 hide(callback) { 5798 if (!this._config.isVisible) { 5799 execute(callback); 5800 return; 5801 } 5802 5803 this._getElement().classList.remove(CLASS_NAME_SHOW$5); 5804 5805 this._emulateAnimation(() => { 5806 this.dispose(); 5807 execute(callback); 5808 }); 5809 } // Private 5810 5811 5812 _getElement() { 5813 if (!this._element) { 5814 const backdrop = document.createElement('div'); 5815 backdrop.className = this._config.className; 5816 5817 if (this._config.isAnimated) { 5818 backdrop.classList.add(CLASS_NAME_FADE$4); 5819 } 5820 5821 this._element = backdrop; 5822 } 5823 5824 return this._element; 5825 } 5826 5827 _getConfig(config) { 5828 config = { ...Default$7, 5829 ...(typeof config === 'object' ? config : {}) 5830 }; // use getElement() with the default "body" to get a fresh Element on each instantiation 5831 5832 config.rootElement = getElement(config.rootElement); 5833 typeCheckConfig(NAME$8, config, DefaultType$7); 5834 return config; 5835 } 5836 5837 _append() { 5838 if (this._isAppended) { 5839 return; 5840 } 5841 5842 this._config.rootElement.append(this._getElement()); 5843 5844 EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => { 5845 execute(this._config.clickCallback); 5846 }); 5847 this._isAppended = true; 5848 } 5849 5850 dispose() { 5851 if (!this._isAppended) { 5852 return; 5853 } 5854 5855 EventHandler.off(this._element, EVENT_MOUSEDOWN); 5856 5857 this._element.remove(); 5858 5859 this._isAppended = false; 5860 } 5861 5862 _emulateAnimation(callback) { 5863 executeAfterTransition(callback, this._getElement(), this._config.isAnimated); 5864 } 5865 5866} 5867 5868/** 5869 * -------------------------------------------------------------------------- 5870 * Bootstrap (v5.1.3): util/focustrap.js 5871 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5872 * -------------------------------------------------------------------------- 5873 */ 5874const Default$6 = { 5875 trapElement: null, 5876 // The element to trap focus inside of 5877 autofocus: true 5878}; 5879const DefaultType$6 = { 5880 trapElement: 'element', 5881 autofocus: 'boolean' 5882}; 5883const NAME$7 = 'focustrap'; 5884const DATA_KEY$7 = 'bs.focustrap'; 5885const EVENT_KEY$7 = `.${DATA_KEY$7}`; 5886const EVENT_FOCUSIN$1 = `focusin${EVENT_KEY$7}`; 5887const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$7}`; 5888const TAB_KEY = 'Tab'; 5889const TAB_NAV_FORWARD = 'forward'; 5890const TAB_NAV_BACKWARD = 'backward'; 5891 5892class FocusTrap { 5893 constructor(config) { 5894 this._config = this._getConfig(config); 5895 this._isActive = false; 5896 this._lastTabNavDirection = null; 5897 } 5898 5899 activate() { 5900 const { 5901 trapElement, 5902 autofocus 5903 } = this._config; 5904 5905 if (this._isActive) { 5906 return; 5907 } 5908 5909 if (autofocus) { 5910 trapElement.focus(); 5911 } 5912 5913 EventHandler.off(document, EVENT_KEY$7); // guard against infinite focus loop 5914 5915 EventHandler.on(document, EVENT_FOCUSIN$1, event => this._handleFocusin(event)); 5916 EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event)); 5917 this._isActive = true; 5918 } 5919 5920 deactivate() { 5921 if (!this._isActive) { 5922 return; 5923 } 5924 5925 this._isActive = false; 5926 EventHandler.off(document, EVENT_KEY$7); 5927 } // Private 5928 5929 5930 _handleFocusin(event) { 5931 const { 5932 target 5933 } = event; 5934 const { 5935 trapElement 5936 } = this._config; 5937 5938 if (target === document || target === trapElement || trapElement.contains(target)) { 5939 return; 5940 } 5941 5942 const elements = SelectorEngine.focusableChildren(trapElement); 5943 5944 if (elements.length === 0) { 5945 trapElement.focus(); 5946 } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { 5947 elements[elements.length - 1].focus(); 5948 } else { 5949 elements[0].focus(); 5950 } 5951 } 5952 5953 _handleKeydown(event) { 5954 if (event.key !== TAB_KEY) { 5955 return; 5956 } 5957 5958 this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; 5959 } 5960 5961 _getConfig(config) { 5962 config = { ...Default$6, 5963 ...(typeof config === 'object' ? config : {}) 5964 }; 5965 typeCheckConfig(NAME$7, config, DefaultType$6); 5966 return config; 5967 } 5968 5969} 5970 5971/** 5972 * -------------------------------------------------------------------------- 5973 * Bootstrap (v5.1.3): modal.js 5974 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5975 * -------------------------------------------------------------------------- 5976 */ 5977/** 5978 * ------------------------------------------------------------------------ 5979 * Constants 5980 * ------------------------------------------------------------------------ 5981 */ 5982 5983const NAME$6 = 'modal'; 5984const DATA_KEY$6 = 'bs.modal'; 5985const EVENT_KEY$6 = `.${DATA_KEY$6}`; 5986const DATA_API_KEY$3 = '.data-api'; 5987const ESCAPE_KEY$1 = 'Escape'; 5988const Default$5 = { 5989 backdrop: true, 5990 keyboard: true, 5991 focus: true 5992}; 5993const DefaultType$5 = { 5994 backdrop: '(boolean|string)', 5995 keyboard: 'boolean', 5996 focus: 'boolean' 5997}; 5998const EVENT_HIDE$3 = `hide${EVENT_KEY$6}`; 5999const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$6}`; 6000const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$6}`; 6001const EVENT_SHOW$3 = `show${EVENT_KEY$6}`; 6002const EVENT_SHOWN$3 = `shown${EVENT_KEY$6}`; 6003const EVENT_RESIZE = `resize${EVENT_KEY$6}`; 6004const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$6}`; 6005const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$6}`; 6006const EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY$6}`; 6007const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$6}`; 6008const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; 6009const CLASS_NAME_OPEN = 'modal-open'; 6010const CLASS_NAME_FADE$3 = 'fade'; 6011const CLASS_NAME_SHOW$4 = 'show'; 6012const CLASS_NAME_STATIC = 'modal-static'; 6013const OPEN_SELECTOR$1 = '.modal.show'; 6014const SELECTOR_DIALOG = '.modal-dialog'; 6015const SELECTOR_MODAL_BODY = '.modal-body'; 6016const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; 6017/** 6018 * ------------------------------------------------------------------------ 6019 * Class Definition 6020 * ------------------------------------------------------------------------ 6021 */ 6022 6023class Modal extends BaseComponent { 6024 constructor(element, config) { 6025 super(element); 6026 this._config = this._getConfig(config); 6027 this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); 6028 this._backdrop = this._initializeBackDrop(); 6029 this._focustrap = this._initializeFocusTrap(); 6030 this._isShown = false; 6031 this._ignoreBackdropClick = false; 6032 this._isTransitioning = false; 6033 this._scrollBar = new ScrollBarHelper(); 6034 } // Getters 6035 6036 6037 static get Default() { 6038 return Default$5; 6039 } 6040 6041 static get NAME() { 6042 return NAME$6; 6043 } // Public 6044 6045 6046 toggle(relatedTarget) { 6047 return this._isShown ? this.hide() : this.show(relatedTarget); 6048 } 6049 6050 show(relatedTarget) { 6051 if (this._isShown || this._isTransitioning) { 6052 return; 6053 } 6054 6055 const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { 6056 relatedTarget 6057 }); 6058 6059 if (showEvent.defaultPrevented) { 6060 return; 6061 } 6062 6063 this._isShown = true; 6064 6065 if (this._isAnimated()) { 6066 this._isTransitioning = true; 6067 } 6068 6069 this._scrollBar.hide(); 6070 6071 document.body.classList.add(CLASS_NAME_OPEN); 6072 6073 this._adjustDialog(); 6074 6075 this._setEscapeEvent(); 6076 6077 this._setResizeEvent(); 6078 6079 EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => { 6080 EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => { 6081 if (event.target === this._element) { 6082 this._ignoreBackdropClick = true; 6083 } 6084 }); 6085 }); 6086 6087 this._showBackdrop(() => this._showElement(relatedTarget)); 6088 } 6089 6090 hide() { 6091 if (!this._isShown || this._isTransitioning) { 6092 return; 6093 } 6094 6095 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); 6096 6097 if (hideEvent.defaultPrevented) { 6098 return; 6099 } 6100 6101 this._isShown = false; 6102 6103 const isAnimated = this._isAnimated(); 6104 6105 if (isAnimated) { 6106 this._isTransitioning = true; 6107 } 6108 6109 this._setEscapeEvent(); 6110 6111 this._setResizeEvent(); 6112 6113 this._focustrap.deactivate(); 6114 6115 this._element.classList.remove(CLASS_NAME_SHOW$4); 6116 6117 EventHandler.off(this._element, EVENT_CLICK_DISMISS); 6118 EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS); 6119 6120 this._queueCallback(() => this._hideModal(), this._element, isAnimated); 6121 } 6122 6123 dispose() { 6124 [window, this._dialog].forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY$6)); 6125 6126 this._backdrop.dispose(); 6127 6128 this._focustrap.deactivate(); 6129 6130 super.dispose(); 6131 } 6132 6133 handleUpdate() { 6134 this._adjustDialog(); 6135 } // Private 6136 6137 6138 _initializeBackDrop() { 6139 return new Backdrop({ 6140 isVisible: Boolean(this._config.backdrop), 6141 // 'static' option will be translated to true, and booleans will keep their value 6142 isAnimated: this._isAnimated() 6143 }); 6144 } 6145 6146 _initializeFocusTrap() { 6147 return new FocusTrap({ 6148 trapElement: this._element 6149 }); 6150 } 6151 6152 _getConfig(config) { 6153 config = { ...Default$5, 6154 ...Manipulator.getDataAttributes(this._element), 6155 ...(typeof config === 'object' ? config : {}) 6156 }; 6157 typeCheckConfig(NAME$6, config, DefaultType$5); 6158 return config; 6159 } 6160 6161 _showElement(relatedTarget) { 6162 const isAnimated = this._isAnimated(); 6163 6164 const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); 6165 6166 if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { 6167 // Don't move modal's DOM position 6168 document.body.append(this._element); 6169 } 6170 6171 this._element.style.display = 'block'; 6172 6173 this._element.removeAttribute('aria-hidden'); 6174 6175 this._element.setAttribute('aria-modal', true); 6176 6177 this._element.setAttribute('role', 'dialog'); 6178 6179 this._element.scrollTop = 0; 6180 6181 if (modalBody) { 6182 modalBody.scrollTop = 0; 6183 } 6184 6185 if (isAnimated) { 6186 reflow(this._element); 6187 } 6188 6189 this._element.classList.add(CLASS_NAME_SHOW$4); 6190 6191 const transitionComplete = () => { 6192 if (this._config.focus) { 6193 this._focustrap.activate(); 6194 } 6195 6196 this._isTransitioning = false; 6197 EventHandler.trigger(this._element, EVENT_SHOWN$3, { 6198 relatedTarget 6199 }); 6200 }; 6201 6202 this._queueCallback(transitionComplete, this._dialog, isAnimated); 6203 } 6204 6205 _setEscapeEvent() { 6206 if (this._isShown) { 6207 EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => { 6208 if (this._config.keyboard && event.key === ESCAPE_KEY$1) { 6209 event.preventDefault(); 6210 this.hide(); 6211 } else if (!this._config.keyboard && event.key === ESCAPE_KEY$1) { 6212 this._triggerBackdropTransition(); 6213 } 6214 }); 6215 } else { 6216 EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS$1); 6217 } 6218 } 6219 6220 _setResizeEvent() { 6221 if (this._isShown) { 6222 EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog()); 6223 } else { 6224 EventHandler.off(window, EVENT_RESIZE); 6225 } 6226 } 6227 6228 _hideModal() { 6229 this._element.style.display = 'none'; 6230 6231 this._element.setAttribute('aria-hidden', true); 6232 6233 this._element.removeAttribute('aria-modal'); 6234 6235 this._element.removeAttribute('role'); 6236 6237 this._isTransitioning = false; 6238 6239 this._backdrop.hide(() => { 6240 document.body.classList.remove(CLASS_NAME_OPEN); 6241 6242 this._resetAdjustments(); 6243 6244 this._scrollBar.reset(); 6245 6246 EventHandler.trigger(this._element, EVENT_HIDDEN$3); 6247 }); 6248 } 6249 6250 _showBackdrop(callback) { 6251 EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => { 6252 if (this._ignoreBackdropClick) { 6253 this._ignoreBackdropClick = false; 6254 return; 6255 } 6256 6257 if (event.target !== event.currentTarget) { 6258 return; 6259 } 6260 6261 if (this._config.backdrop === true) { 6262 this.hide(); 6263 } else if (this._config.backdrop === 'static') { 6264 this._triggerBackdropTransition(); 6265 } 6266 }); 6267 6268 this._backdrop.show(callback); 6269 } 6270 6271 _isAnimated() { 6272 return this._element.classList.contains(CLASS_NAME_FADE$3); 6273 } 6274 6275 _triggerBackdropTransition() { 6276 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); 6277 6278 if (hideEvent.defaultPrevented) { 6279 return; 6280 } 6281 6282 const { 6283 classList, 6284 scrollHeight, 6285 style 6286 } = this._element; 6287 const isModalOverflowing = scrollHeight > document.documentElement.clientHeight; // return if the following background transition hasn't yet completed 6288 6289 if (!isModalOverflowing && style.overflowY === 'hidden' || classList.contains(CLASS_NAME_STATIC)) { 6290 return; 6291 } 6292 6293 if (!isModalOverflowing) { 6294 style.overflowY = 'hidden'; 6295 } 6296 6297 classList.add(CLASS_NAME_STATIC); 6298 6299 this._queueCallback(() => { 6300 classList.remove(CLASS_NAME_STATIC); 6301 6302 if (!isModalOverflowing) { 6303 this._queueCallback(() => { 6304 style.overflowY = ''; 6305 }, this._dialog); 6306 } 6307 }, this._dialog); 6308 6309 this._element.focus(); 6310 } // ---------------------------------------------------------------------- 6311 // the following methods are used to handle overflowing modals 6312 // ---------------------------------------------------------------------- 6313 6314 6315 _adjustDialog() { 6316 const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; 6317 6318 const scrollbarWidth = this._scrollBar.getWidth(); 6319 6320 const isBodyOverflowing = scrollbarWidth > 0; 6321 6322 if (!isBodyOverflowing && isModalOverflowing && !isRTL() || isBodyOverflowing && !isModalOverflowing && isRTL()) { 6323 this._element.style.paddingLeft = `${scrollbarWidth}px`; 6324 } 6325 6326 if (isBodyOverflowing && !isModalOverflowing && !isRTL() || !isBodyOverflowing && isModalOverflowing && isRTL()) { 6327 this._element.style.paddingRight = `${scrollbarWidth}px`; 6328 } 6329 } 6330 6331 _resetAdjustments() { 6332 this._element.style.paddingLeft = ''; 6333 this._element.style.paddingRight = ''; 6334 } // Static 6335 6336 6337 static jQueryInterface(config, relatedTarget) { 6338 return this.each(function () { 6339 const data = Modal.getOrCreateInstance(this, config); 6340 6341 if (typeof config !== 'string') { 6342 return; 6343 } 6344 6345 if (typeof data[config] === 'undefined') { 6346 throw new TypeError(`No method named "${config}"`); 6347 } 6348 6349 data[config](relatedTarget); 6350 }); 6351 } 6352 6353} 6354/** 6355 * ------------------------------------------------------------------------ 6356 * Data Api implementation 6357 * ------------------------------------------------------------------------ 6358 */ 6359 6360 6361EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) { 6362 const target = getElementFromSelector(this); 6363 6364 if (['A', 'AREA'].includes(this.tagName)) { 6365 event.preventDefault(); 6366 } 6367 6368 EventHandler.one(target, EVENT_SHOW$3, showEvent => { 6369 if (showEvent.defaultPrevented) { 6370 // only register focus restorer if modal will actually get shown 6371 return; 6372 } 6373 6374 EventHandler.one(target, EVENT_HIDDEN$3, () => { 6375 if (isVisible(this)) { 6376 this.focus(); 6377 } 6378 }); 6379 }); // avoid conflict when clicking moddal toggler while another one is open 6380 6381 const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); 6382 6383 if (allReadyOpen) { 6384 Modal.getInstance(allReadyOpen).hide(); 6385 } 6386 6387 const data = Modal.getOrCreateInstance(target); 6388 data.toggle(this); 6389}); 6390enableDismissTrigger(Modal); 6391/** 6392 * ------------------------------------------------------------------------ 6393 * jQuery 6394 * ------------------------------------------------------------------------ 6395 * add .Modal to jQuery only if jQuery is present 6396 */ 6397 6398defineJQueryPlugin(Modal); 6399 6400/** 6401 * -------------------------------------------------------------------------- 6402 * Bootstrap (v5.1.3): offcanvas.js 6403 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6404 * -------------------------------------------------------------------------- 6405 */ 6406/** 6407 * ------------------------------------------------------------------------ 6408 * Constants 6409 * ------------------------------------------------------------------------ 6410 */ 6411 6412const NAME$5 = 'offcanvas'; 6413const DATA_KEY$5 = 'bs.offcanvas'; 6414const EVENT_KEY$5 = `.${DATA_KEY$5}`; 6415const DATA_API_KEY$2 = '.data-api'; 6416const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$5}${DATA_API_KEY$2}`; 6417const ESCAPE_KEY = 'Escape'; 6418const Default$4 = { 6419 backdrop: true, 6420 keyboard: true, 6421 scroll: false 6422}; 6423const DefaultType$4 = { 6424 backdrop: 'boolean', 6425 keyboard: 'boolean', 6426 scroll: 'boolean' 6427}; 6428const CLASS_NAME_SHOW$3 = 'show'; 6429const CLASS_NAME_BACKDROP = 'offcanvas-backdrop'; 6430const OPEN_SELECTOR = '.offcanvas.show'; 6431const EVENT_SHOW$2 = `show${EVENT_KEY$5}`; 6432const EVENT_SHOWN$2 = `shown${EVENT_KEY$5}`; 6433const EVENT_HIDE$2 = `hide${EVENT_KEY$5}`; 6434const EVENT_HIDDEN$2 = `hidden${EVENT_KEY$5}`; 6435const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$5}${DATA_API_KEY$2}`; 6436const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$5}`; 6437const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]'; 6438/** 6439 * ------------------------------------------------------------------------ 6440 * Class Definition 6441 * ------------------------------------------------------------------------ 6442 */ 6443 6444class Offcanvas extends BaseComponent { 6445 constructor(element, config) { 6446 super(element); 6447 this._config = this._getConfig(config); 6448 this._isShown = false; 6449 this._backdrop = this._initializeBackDrop(); 6450 this._focustrap = this._initializeFocusTrap(); 6451 6452 this._addEventListeners(); 6453 } // Getters 6454 6455 6456 static get NAME() { 6457 return NAME$5; 6458 } 6459 6460 static get Default() { 6461 return Default$4; 6462 } // Public 6463 6464 6465 toggle(relatedTarget) { 6466 return this._isShown ? this.hide() : this.show(relatedTarget); 6467 } 6468 6469 show(relatedTarget) { 6470 if (this._isShown) { 6471 return; 6472 } 6473 6474 const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$2, { 6475 relatedTarget 6476 }); 6477 6478 if (showEvent.defaultPrevented) { 6479 return; 6480 } 6481 6482 this._isShown = true; 6483 this._element.style.visibility = 'visible'; 6484 6485 this._backdrop.show(); 6486 6487 if (!this._config.scroll) { 6488 new ScrollBarHelper().hide(); 6489 } 6490 6491 this._element.removeAttribute('aria-hidden'); 6492 6493 this._element.setAttribute('aria-modal', true); 6494 6495 this._element.setAttribute('role', 'dialog'); 6496 6497 this._element.classList.add(CLASS_NAME_SHOW$3); 6498 6499 const completeCallBack = () => { 6500 if (!this._config.scroll) { 6501 this._focustrap.activate(); 6502 } 6503 6504 EventHandler.trigger(this._element, EVENT_SHOWN$2, { 6505 relatedTarget 6506 }); 6507 }; 6508 6509 this._queueCallback(completeCallBack, this._element, true); 6510 } 6511 6512 hide() { 6513 if (!this._isShown) { 6514 return; 6515 } 6516 6517 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$2); 6518 6519 if (hideEvent.defaultPrevented) { 6520 return; 6521 } 6522 6523 this._focustrap.deactivate(); 6524 6525 this._element.blur(); 6526 6527 this._isShown = false; 6528 6529 this._element.classList.remove(CLASS_NAME_SHOW$3); 6530 6531 this._backdrop.hide(); 6532 6533 const completeCallback = () => { 6534 this._element.setAttribute('aria-hidden', true); 6535 6536 this._element.removeAttribute('aria-modal'); 6537 6538 this._element.removeAttribute('role'); 6539 6540 this._element.style.visibility = 'hidden'; 6541 6542 if (!this._config.scroll) { 6543 new ScrollBarHelper().reset(); 6544 } 6545 6546 EventHandler.trigger(this._element, EVENT_HIDDEN$2); 6547 }; 6548 6549 this._queueCallback(completeCallback, this._element, true); 6550 } 6551 6552 dispose() { 6553 this._backdrop.dispose(); 6554 6555 this._focustrap.deactivate(); 6556 6557 super.dispose(); 6558 } // Private 6559 6560 6561 _getConfig(config) { 6562 config = { ...Default$4, 6563 ...Manipulator.getDataAttributes(this._element), 6564 ...(typeof config === 'object' ? config : {}) 6565 }; 6566 typeCheckConfig(NAME$5, config, DefaultType$4); 6567 return config; 6568 } 6569 6570 _initializeBackDrop() { 6571 return new Backdrop({ 6572 className: CLASS_NAME_BACKDROP, 6573 isVisible: this._config.backdrop, 6574 isAnimated: true, 6575 rootElement: this._element.parentNode, 6576 clickCallback: () => this.hide() 6577 }); 6578 } 6579 6580 _initializeFocusTrap() { 6581 return new FocusTrap({ 6582 trapElement: this._element 6583 }); 6584 } 6585 6586 _addEventListeners() { 6587 EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => { 6588 if (this._config.keyboard && event.key === ESCAPE_KEY) { 6589 this.hide(); 6590 } 6591 }); 6592 } // Static 6593 6594 6595 static jQueryInterface(config) { 6596 return this.each(function () { 6597 const data = Offcanvas.getOrCreateInstance(this, config); 6598 6599 if (typeof config !== 'string') { 6600 return; 6601 } 6602 6603 if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { 6604 throw new TypeError(`No method named "${config}"`); 6605 } 6606 6607 data[config](this); 6608 }); 6609 } 6610 6611} 6612/** 6613 * ------------------------------------------------------------------------ 6614 * Data Api implementation 6615 * ------------------------------------------------------------------------ 6616 */ 6617 6618 6619EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) { 6620 const target = getElementFromSelector(this); 6621 6622 if (['A', 'AREA'].includes(this.tagName)) { 6623 event.preventDefault(); 6624 } 6625 6626 if (isDisabled(this)) { 6627 return; 6628 } 6629 6630 EventHandler.one(target, EVENT_HIDDEN$2, () => { 6631 // focus on trigger when it is closed 6632 if (isVisible(this)) { 6633 this.focus(); 6634 } 6635 }); // avoid conflict when clicking a toggler of an offcanvas, while another is open 6636 6637 const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); 6638 6639 if (allReadyOpen && allReadyOpen !== target) { 6640 Offcanvas.getInstance(allReadyOpen).hide(); 6641 } 6642 6643 const data = Offcanvas.getOrCreateInstance(target); 6644 data.toggle(this); 6645}); 6646EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => SelectorEngine.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show())); 6647enableDismissTrigger(Offcanvas); 6648/** 6649 * ------------------------------------------------------------------------ 6650 * jQuery 6651 * ------------------------------------------------------------------------ 6652 */ 6653 6654defineJQueryPlugin(Offcanvas); 6655 6656/** 6657 * -------------------------------------------------------------------------- 6658 * Bootstrap (v5.1.3): util/sanitizer.js 6659 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6660 * -------------------------------------------------------------------------- 6661 */ 6662const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); 6663const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; 6664/** 6665 * A pattern that recognizes a commonly useful subset of URLs that are safe. 6666 * 6667 * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts 6668 */ 6669 6670const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; 6671/** 6672 * A pattern that matches safe data URLs. Only matches image, video and audio types. 6673 * 6674 * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts 6675 */ 6676 6677const 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; 6678 6679const allowedAttribute = (attribute, allowedAttributeList) => { 6680 const attributeName = attribute.nodeName.toLowerCase(); 6681 6682 if (allowedAttributeList.includes(attributeName)) { 6683 if (uriAttributes.has(attributeName)) { 6684 return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue)); 6685 } 6686 6687 return true; 6688 } 6689 6690 const regExp = allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp); // Check if a regular expression validates the attribute. 6691 6692 for (let i = 0, len = regExp.length; i < len; i++) { 6693 if (regExp[i].test(attributeName)) { 6694 return true; 6695 } 6696 } 6697 6698 return false; 6699}; 6700 6701const DefaultAllowlist = { 6702 // Global attributes allowed on any supplied element below. 6703 '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], 6704 a: ['target', 'href', 'title', 'rel'], 6705 area: [], 6706 b: [], 6707 br: [], 6708 col: [], 6709 code: [], 6710 div: [], 6711 em: [], 6712 hr: [], 6713 h1: [], 6714 h2: [], 6715 h3: [], 6716 h4: [], 6717 h5: [], 6718 h6: [], 6719 i: [], 6720 img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], 6721 li: [], 6722 ol: [], 6723 p: [], 6724 pre: [], 6725 s: [], 6726 small: [], 6727 span: [], 6728 sub: [], 6729 sup: [], 6730 strong: [], 6731 u: [], 6732 ul: [] 6733}; 6734function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) { 6735 if (!unsafeHtml.length) { 6736 return unsafeHtml; 6737 } 6738 6739 if (sanitizeFn && typeof sanitizeFn === 'function') { 6740 return sanitizeFn(unsafeHtml); 6741 } 6742 6743 const domParser = new window.DOMParser(); 6744 const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); 6745 const elements = [].concat(...createdDocument.body.querySelectorAll('*')); 6746 6747 for (let i = 0, len = elements.length; i < len; i++) { 6748 const element = elements[i]; 6749 const elementName = element.nodeName.toLowerCase(); 6750 6751 if (!Object.keys(allowList).includes(elementName)) { 6752 element.remove(); 6753 continue; 6754 } 6755 6756 const attributeList = [].concat(...element.attributes); 6757 const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []); 6758 attributeList.forEach(attribute => { 6759 if (!allowedAttribute(attribute, allowedAttributes)) { 6760 element.removeAttribute(attribute.nodeName); 6761 } 6762 }); 6763 } 6764 6765 return createdDocument.body.innerHTML; 6766} 6767 6768/** 6769 * -------------------------------------------------------------------------- 6770 * Bootstrap (v5.1.3): tooltip.js 6771 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6772 * -------------------------------------------------------------------------- 6773 */ 6774/** 6775 * ------------------------------------------------------------------------ 6776 * Constants 6777 * ------------------------------------------------------------------------ 6778 */ 6779 6780const NAME$4 = 'tooltip'; 6781const DATA_KEY$4 = 'bs.tooltip'; 6782const EVENT_KEY$4 = `.${DATA_KEY$4}`; 6783const CLASS_PREFIX$1 = 'bs-tooltip'; 6784const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']); 6785const DefaultType$3 = { 6786 animation: 'boolean', 6787 template: 'string', 6788 title: '(string|element|function)', 6789 trigger: 'string', 6790 delay: '(number|object)', 6791 html: 'boolean', 6792 selector: '(string|boolean)', 6793 placement: '(string|function)', 6794 offset: '(array|string|function)', 6795 container: '(string|element|boolean)', 6796 fallbackPlacements: 'array', 6797 boundary: '(string|element)', 6798 customClass: '(string|function)', 6799 sanitize: 'boolean', 6800 sanitizeFn: '(null|function)', 6801 allowList: 'object', 6802 popperConfig: '(null|object|function)' 6803}; 6804const AttachmentMap = { 6805 AUTO: 'auto', 6806 TOP: 'top', 6807 RIGHT: isRTL() ? 'left' : 'right', 6808 BOTTOM: 'bottom', 6809 LEFT: isRTL() ? 'right' : 'left' 6810}; 6811const Default$3 = { 6812 animation: true, 6813 template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>', 6814 trigger: 'hover focus', 6815 title: '', 6816 delay: 0, 6817 html: false, 6818 selector: false, 6819 placement: 'top', 6820 offset: [0, 0], 6821 container: false, 6822 fallbackPlacements: ['top', 'right', 'bottom', 'left'], 6823 boundary: 'clippingParents', 6824 customClass: '', 6825 sanitize: true, 6826 sanitizeFn: null, 6827 allowList: DefaultAllowlist, 6828 popperConfig: null 6829}; 6830const Event$2 = { 6831 HIDE: `hide${EVENT_KEY$4}`, 6832 HIDDEN: `hidden${EVENT_KEY$4}`, 6833 SHOW: `show${EVENT_KEY$4}`, 6834 SHOWN: `shown${EVENT_KEY$4}`, 6835 INSERTED: `inserted${EVENT_KEY$4}`, 6836 CLICK: `click${EVENT_KEY$4}`, 6837 FOCUSIN: `focusin${EVENT_KEY$4}`, 6838 FOCUSOUT: `focusout${EVENT_KEY$4}`, 6839 MOUSEENTER: `mouseenter${EVENT_KEY$4}`, 6840 MOUSELEAVE: `mouseleave${EVENT_KEY$4}` 6841}; 6842const CLASS_NAME_FADE$2 = 'fade'; 6843const CLASS_NAME_MODAL = 'modal'; 6844const CLASS_NAME_SHOW$2 = 'show'; 6845const HOVER_STATE_SHOW = 'show'; 6846const HOVER_STATE_OUT = 'out'; 6847const SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; 6848const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; 6849const EVENT_MODAL_HIDE = 'hide.bs.modal'; 6850const TRIGGER_HOVER = 'hover'; 6851const TRIGGER_FOCUS = 'focus'; 6852const TRIGGER_CLICK = 'click'; 6853const TRIGGER_MANUAL = 'manual'; 6854/** 6855 * ------------------------------------------------------------------------ 6856 * Class Definition 6857 * ------------------------------------------------------------------------ 6858 */ 6859 6860class Tooltip extends BaseComponent { 6861 constructor(element, config) { 6862 if (typeof _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ === 'undefined') { 6863 throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); 6864 } 6865 6866 super(element); // private 6867 6868 this._isEnabled = true; 6869 this._timeout = 0; 6870 this._hoverState = ''; 6871 this._activeTrigger = {}; 6872 this._popper = null; // Protected 6873 6874 this._config = this._getConfig(config); 6875 this.tip = null; 6876 6877 this._setListeners(); 6878 } // Getters 6879 6880 6881 static get Default() { 6882 return Default$3; 6883 } 6884 6885 static get NAME() { 6886 return NAME$4; 6887 } 6888 6889 static get Event() { 6890 return Event$2; 6891 } 6892 6893 static get DefaultType() { 6894 return DefaultType$3; 6895 } // Public 6896 6897 6898 enable() { 6899 this._isEnabled = true; 6900 } 6901 6902 disable() { 6903 this._isEnabled = false; 6904 } 6905 6906 toggleEnabled() { 6907 this._isEnabled = !this._isEnabled; 6908 } 6909 6910 toggle(event) { 6911 if (!this._isEnabled) { 6912 return; 6913 } 6914 6915 if (event) { 6916 const context = this._initializeOnDelegatedTarget(event); 6917 6918 context._activeTrigger.click = !context._activeTrigger.click; 6919 6920 if (context._isWithActiveTrigger()) { 6921 context._enter(null, context); 6922 } else { 6923 context._leave(null, context); 6924 } 6925 } else { 6926 if (this.getTipElement().classList.contains(CLASS_NAME_SHOW$2)) { 6927 this._leave(null, this); 6928 6929 return; 6930 } 6931 6932 this._enter(null, this); 6933 } 6934 } 6935 6936 dispose() { 6937 clearTimeout(this._timeout); 6938 EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); 6939 6940 if (this.tip) { 6941 this.tip.remove(); 6942 } 6943 6944 this._disposePopper(); 6945 6946 super.dispose(); 6947 } 6948 6949 show() { 6950 if (this._element.style.display === 'none') { 6951 throw new Error('Please use show on visible elements'); 6952 } 6953 6954 if (!(this.isWithContent() && this._isEnabled)) { 6955 return; 6956 } 6957 6958 const showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW); 6959 const shadowRoot = findShadowRoot(this._element); 6960 const isInTheDom = shadowRoot === null ? this._element.ownerDocument.documentElement.contains(this._element) : shadowRoot.contains(this._element); 6961 6962 if (showEvent.defaultPrevented || !isInTheDom) { 6963 return; 6964 } // A trick to recreate a tooltip in case a new title is given by using the NOT documented `data-bs-original-title` 6965 // This will be removed later in favor of a `setContent` method 6966 6967 6968 if (this.constructor.NAME === 'tooltip' && this.tip && this.getTitle() !== this.tip.querySelector(SELECTOR_TOOLTIP_INNER).innerHTML) { 6969 this._disposePopper(); 6970 6971 this.tip.remove(); 6972 this.tip = null; 6973 } 6974 6975 const tip = this.getTipElement(); 6976 const tipId = getUID(this.constructor.NAME); 6977 tip.setAttribute('id', tipId); 6978 6979 this._element.setAttribute('aria-describedby', tipId); 6980 6981 if (this._config.animation) { 6982 tip.classList.add(CLASS_NAME_FADE$2); 6983 } 6984 6985 const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement; 6986 6987 const attachment = this._getAttachment(placement); 6988 6989 this._addAttachmentClass(attachment); 6990 6991 const { 6992 container 6993 } = this._config; 6994 Data.set(tip, this.constructor.DATA_KEY, this); 6995 6996 if (!this._element.ownerDocument.documentElement.contains(this.tip)) { 6997 container.append(tip); 6998 EventHandler.trigger(this._element, this.constructor.Event.INSERTED); 6999 } 7000 7001 if (this._popper) { 7002 this._popper.update(); 7003 } else { 7004 this._popper = _popperjs_core__WEBPACK_IMPORTED_MODULE_1__.createPopper(this._element, tip, this._getPopperConfig(attachment)); 7005 } 7006 7007 tip.classList.add(CLASS_NAME_SHOW$2); 7008 7009 const customClass = this._resolvePossibleFunction(this._config.customClass); 7010 7011 if (customClass) { 7012 tip.classList.add(...customClass.split(' ')); 7013 } // If this is a touch-enabled device we add extra 7014 // empty mouseover listeners to the body's immediate children; 7015 // only needed because of broken event delegation on iOS 7016 // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html 7017 7018 7019 if ('ontouchstart' in document.documentElement) { 7020 [].concat(...document.body.children).forEach(element => { 7021 EventHandler.on(element, 'mouseover', noop); 7022 }); 7023 } 7024 7025 const complete = () => { 7026 const prevHoverState = this._hoverState; 7027 this._hoverState = null; 7028 EventHandler.trigger(this._element, this.constructor.Event.SHOWN); 7029 7030 if (prevHoverState === HOVER_STATE_OUT) { 7031 this._leave(null, this); 7032 } 7033 }; 7034 7035 const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE$2); 7036 7037 this._queueCallback(complete, this.tip, isAnimated); 7038 } 7039 7040 hide() { 7041 if (!this._popper) { 7042 return; 7043 } 7044 7045 const tip = this.getTipElement(); 7046 7047 const complete = () => { 7048 if (this._isWithActiveTrigger()) { 7049 return; 7050 } 7051 7052 if (this._hoverState !== HOVER_STATE_SHOW) { 7053 tip.remove(); 7054 } 7055 7056 this._cleanTipClass(); 7057 7058 this._element.removeAttribute('aria-describedby'); 7059 7060 EventHandler.trigger(this._element, this.constructor.Event.HIDDEN); 7061 7062 this._disposePopper(); 7063 }; 7064 7065 const hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE); 7066 7067 if (hideEvent.defaultPrevented) { 7068 return; 7069 } 7070 7071 tip.classList.remove(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we remove the extra 7072 // empty mouseover listeners we added for iOS support 7073 7074 if ('ontouchstart' in document.documentElement) { 7075 [].concat(...document.body.children).forEach(element => EventHandler.off(element, 'mouseover', noop)); 7076 } 7077 7078 this._activeTrigger[TRIGGER_CLICK] = false; 7079 this._activeTrigger[TRIGGER_FOCUS] = false; 7080 this._activeTrigger[TRIGGER_HOVER] = false; 7081 const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE$2); 7082 7083 this._queueCallback(complete, this.tip, isAnimated); 7084 7085 this._hoverState = ''; 7086 } 7087 7088 update() { 7089 if (this._popper !== null) { 7090 this._popper.update(); 7091 } 7092 } // Protected 7093 7094 7095 isWithContent() { 7096 return Boolean(this.getTitle()); 7097 } 7098 7099 getTipElement() { 7100 if (this.tip) { 7101 return this.tip; 7102 } 7103 7104 const element = document.createElement('div'); 7105 element.innerHTML = this._config.template; 7106 const tip = element.children[0]; 7107 this.setContent(tip); 7108 tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); 7109 this.tip = tip; 7110 return this.tip; 7111 } 7112 7113 setContent(tip) { 7114 this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TOOLTIP_INNER); 7115 } 7116 7117 _sanitizeAndSetContent(template, content, selector) { 7118 const templateElement = SelectorEngine.findOne(selector, template); 7119 7120 if (!content && templateElement) { 7121 templateElement.remove(); 7122 return; 7123 } // we use append for html objects to maintain js events 7124 7125 7126 this.setElementContent(templateElement, content); 7127 } 7128 7129 setElementContent(element, content) { 7130 if (element === null) { 7131 return; 7132 } 7133 7134 if (isElement(content)) { 7135 content = getElement(content); // content is a DOM node or a jQuery 7136 7137 if (this._config.html) { 7138 if (content.parentNode !== element) { 7139 element.innerHTML = ''; 7140 element.append(content); 7141 } 7142 } else { 7143 element.textContent = content.textContent; 7144 } 7145 7146 return; 7147 } 7148 7149 if (this._config.html) { 7150 if (this._config.sanitize) { 7151 content = sanitizeHtml(content, this._config.allowList, this._config.sanitizeFn); 7152 } 7153 7154 element.innerHTML = content; 7155 } else { 7156 element.textContent = content; 7157 } 7158 } 7159 7160 getTitle() { 7161 const title = this._element.getAttribute('data-bs-original-title') || this._config.title; 7162 7163 return this._resolvePossibleFunction(title); 7164 } 7165 7166 updateAttachment(attachment) { 7167 if (attachment === 'right') { 7168 return 'end'; 7169 } 7170 7171 if (attachment === 'left') { 7172 return 'start'; 7173 } 7174 7175 return attachment; 7176 } // Private 7177 7178 7179 _initializeOnDelegatedTarget(event, context) { 7180 return context || this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); 7181 } 7182 7183 _getOffset() { 7184 const { 7185 offset 7186 } = this._config; 7187 7188 if (typeof offset === 'string') { 7189 return offset.split(',').map(val => Number.parseInt(val, 10)); 7190 } 7191 7192 if (typeof offset === 'function') { 7193 return popperData => offset(popperData, this._element); 7194 } 7195 7196 return offset; 7197 } 7198 7199 _resolvePossibleFunction(content) { 7200 return typeof content === 'function' ? content.call(this._element) : content; 7201 } 7202 7203 _getPopperConfig(attachment) { 7204 const defaultBsPopperConfig = { 7205 placement: attachment, 7206 modifiers: [{ 7207 name: 'flip', 7208 options: { 7209 fallbackPlacements: this._config.fallbackPlacements 7210 } 7211 }, { 7212 name: 'offset', 7213 options: { 7214 offset: this._getOffset() 7215 } 7216 }, { 7217 name: 'preventOverflow', 7218 options: { 7219 boundary: this._config.boundary 7220 } 7221 }, { 7222 name: 'arrow', 7223 options: { 7224 element: `.${this.constructor.NAME}-arrow` 7225 } 7226 }, { 7227 name: 'onChange', 7228 enabled: true, 7229 phase: 'afterWrite', 7230 fn: data => this._handlePopperPlacementChange(data) 7231 }], 7232 onFirstUpdate: data => { 7233 if (data.options.placement !== data.placement) { 7234 this._handlePopperPlacementChange(data); 7235 } 7236 } 7237 }; 7238 return { ...defaultBsPopperConfig, 7239 ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) 7240 }; 7241 } 7242 7243 _addAttachmentClass(attachment) { 7244 this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(attachment)}`); 7245 } 7246 7247 _getAttachment(placement) { 7248 return AttachmentMap[placement.toUpperCase()]; 7249 } 7250 7251 _setListeners() { 7252 const triggers = this._config.trigger.split(' '); 7253 7254 triggers.forEach(trigger => { 7255 if (trigger === 'click') { 7256 EventHandler.on(this._element, this.constructor.Event.CLICK, this._config.selector, event => this.toggle(event)); 7257 } else if (trigger !== TRIGGER_MANUAL) { 7258 const eventIn = trigger === TRIGGER_HOVER ? this.constructor.Event.MOUSEENTER : this.constructor.Event.FOCUSIN; 7259 const eventOut = trigger === TRIGGER_HOVER ? this.constructor.Event.MOUSELEAVE : this.constructor.Event.FOCUSOUT; 7260 EventHandler.on(this._element, eventIn, this._config.selector, event => this._enter(event)); 7261 EventHandler.on(this._element, eventOut, this._config.selector, event => this._leave(event)); 7262 } 7263 }); 7264 7265 this._hideModalHandler = () => { 7266 if (this._element) { 7267 this.hide(); 7268 } 7269 }; 7270 7271 EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); 7272 7273 if (this._config.selector) { 7274 this._config = { ...this._config, 7275 trigger: 'manual', 7276 selector: '' 7277 }; 7278 } else { 7279 this._fixTitle(); 7280 } 7281 } 7282 7283 _fixTitle() { 7284 const title = this._element.getAttribute('title'); 7285 7286 const originalTitleType = typeof this._element.getAttribute('data-bs-original-title'); 7287 7288 if (title || originalTitleType !== 'string') { 7289 this._element.setAttribute('data-bs-original-title', title || ''); 7290 7291 if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) { 7292 this._element.setAttribute('aria-label', title); 7293 } 7294 7295 this._element.setAttribute('title', ''); 7296 } 7297 } 7298 7299 _enter(event, context) { 7300 context = this._initializeOnDelegatedTarget(event, context); 7301 7302 if (event) { 7303 context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; 7304 } 7305 7306 if (context.getTipElement().classList.contains(CLASS_NAME_SHOW$2) || context._hoverState === HOVER_STATE_SHOW) { 7307 context._hoverState = HOVER_STATE_SHOW; 7308 return; 7309 } 7310 7311 clearTimeout(context._timeout); 7312 context._hoverState = HOVER_STATE_SHOW; 7313 7314 if (!context._config.delay || !context._config.delay.show) { 7315 context.show(); 7316 return; 7317 } 7318 7319 context._timeout = setTimeout(() => { 7320 if (context._hoverState === HOVER_STATE_SHOW) { 7321 context.show(); 7322 } 7323 }, context._config.delay.show); 7324 } 7325 7326 _leave(event, context) { 7327 context = this._initializeOnDelegatedTarget(event, context); 7328 7329 if (event) { 7330 context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); 7331 } 7332 7333 if (context._isWithActiveTrigger()) { 7334 return; 7335 } 7336 7337 clearTimeout(context._timeout); 7338 context._hoverState = HOVER_STATE_OUT; 7339 7340 if (!context._config.delay || !context._config.delay.hide) { 7341 context.hide(); 7342 return; 7343 } 7344 7345 context._timeout = setTimeout(() => { 7346 if (context._hoverState === HOVER_STATE_OUT) { 7347 context.hide(); 7348 } 7349 }, context._config.delay.hide); 7350 } 7351 7352 _isWithActiveTrigger() { 7353 for (const trigger in this._activeTrigger) { 7354 if (this._activeTrigger[trigger]) { 7355 return true; 7356 } 7357 } 7358 7359 return false; 7360 } 7361 7362 _getConfig(config) { 7363 const dataAttributes = Manipulator.getDataAttributes(this._element); 7364 Object.keys(dataAttributes).forEach(dataAttr => { 7365 if (DISALLOWED_ATTRIBUTES.has(dataAttr)) { 7366 delete dataAttributes[dataAttr]; 7367 } 7368 }); 7369 config = { ...this.constructor.Default, 7370 ...dataAttributes, 7371 ...(typeof config === 'object' && config ? config : {}) 7372 }; 7373 config.container = config.container === false ? document.body : getElement(config.container); 7374 7375 if (typeof config.delay === 'number') { 7376 config.delay = { 7377 show: config.delay, 7378 hide: config.delay 7379 }; 7380 } 7381 7382 if (typeof config.title === 'number') { 7383 config.title = config.title.toString(); 7384 } 7385 7386 if (typeof config.content === 'number') { 7387 config.content = config.content.toString(); 7388 } 7389 7390 typeCheckConfig(NAME$4, config, this.constructor.DefaultType); 7391 7392 if (config.sanitize) { 7393 config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn); 7394 } 7395 7396 return config; 7397 } 7398 7399 _getDelegateConfig() { 7400 const config = {}; 7401 7402 for (const key in this._config) { 7403 if (this.constructor.Default[key] !== this._config[key]) { 7404 config[key] = this._config[key]; 7405 } 7406 } // In the future can be replaced with: 7407 // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]]) 7408 // `Object.fromEntries(keysWithDifferentValues)` 7409 7410 7411 return config; 7412 } 7413 7414 _cleanTipClass() { 7415 const tip = this.getTipElement(); 7416 const basicClassPrefixRegex = new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`, 'g'); 7417 const tabClass = tip.getAttribute('class').match(basicClassPrefixRegex); 7418 7419 if (tabClass !== null && tabClass.length > 0) { 7420 tabClass.map(token => token.trim()).forEach(tClass => tip.classList.remove(tClass)); 7421 } 7422 } 7423 7424 _getBasicClassPrefix() { 7425 return CLASS_PREFIX$1; 7426 } 7427 7428 _handlePopperPlacementChange(popperData) { 7429 const { 7430 state 7431 } = popperData; 7432 7433 if (!state) { 7434 return; 7435 } 7436 7437 this.tip = state.elements.popper; 7438 7439 this._cleanTipClass(); 7440 7441 this._addAttachmentClass(this._getAttachment(state.placement)); 7442 } 7443 7444 _disposePopper() { 7445 if (this._popper) { 7446 this._popper.destroy(); 7447 7448 this._popper = null; 7449 } 7450 } // Static 7451 7452 7453 static jQueryInterface(config) { 7454 return this.each(function () { 7455 const data = Tooltip.getOrCreateInstance(this, config); 7456 7457 if (typeof config === 'string') { 7458 if (typeof data[config] === 'undefined') { 7459 throw new TypeError(`No method named "${config}"`); 7460 } 7461 7462 data[config](); 7463 } 7464 }); 7465 } 7466 7467} 7468/** 7469 * ------------------------------------------------------------------------ 7470 * jQuery 7471 * ------------------------------------------------------------------------ 7472 * add .Tooltip to jQuery only if jQuery is present 7473 */ 7474 7475 7476defineJQueryPlugin(Tooltip); 7477 7478/** 7479 * -------------------------------------------------------------------------- 7480 * Bootstrap (v5.1.3): popover.js 7481 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 7482 * -------------------------------------------------------------------------- 7483 */ 7484/** 7485 * ------------------------------------------------------------------------ 7486 * Constants 7487 * ------------------------------------------------------------------------ 7488 */ 7489 7490const NAME$3 = 'popover'; 7491const DATA_KEY$3 = 'bs.popover'; 7492const EVENT_KEY$3 = `.${DATA_KEY$3}`; 7493const CLASS_PREFIX = 'bs-popover'; 7494const Default$2 = { ...Tooltip.Default, 7495 placement: 'right', 7496 offset: [0, 8], 7497 trigger: 'click', 7498 content: '', 7499 template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>' 7500}; 7501const DefaultType$2 = { ...Tooltip.DefaultType, 7502 content: '(string|element|function)' 7503}; 7504const Event$1 = { 7505 HIDE: `hide${EVENT_KEY$3}`, 7506 HIDDEN: `hidden${EVENT_KEY$3}`, 7507 SHOW: `show${EVENT_KEY$3}`, 7508 SHOWN: `shown${EVENT_KEY$3}`, 7509 INSERTED: `inserted${EVENT_KEY$3}`, 7510 CLICK: `click${EVENT_KEY$3}`, 7511 FOCUSIN: `focusin${EVENT_KEY$3}`, 7512 FOCUSOUT: `focusout${EVENT_KEY$3}`, 7513 MOUSEENTER: `mouseenter${EVENT_KEY$3}`, 7514 MOUSELEAVE: `mouseleave${EVENT_KEY$3}` 7515}; 7516const SELECTOR_TITLE = '.popover-header'; 7517const SELECTOR_CONTENT = '.popover-body'; 7518/** 7519 * ------------------------------------------------------------------------ 7520 * Class Definition 7521 * ------------------------------------------------------------------------ 7522 */ 7523 7524class Popover extends Tooltip { 7525 // Getters 7526 static get Default() { 7527 return Default$2; 7528 } 7529 7530 static get NAME() { 7531 return NAME$3; 7532 } 7533 7534 static get Event() { 7535 return Event$1; 7536 } 7537 7538 static get DefaultType() { 7539 return DefaultType$2; 7540 } // Overrides 7541 7542 7543 isWithContent() { 7544 return this.getTitle() || this._getContent(); 7545 } 7546 7547 setContent(tip) { 7548 this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TITLE); 7549 7550 this._sanitizeAndSetContent(tip, this._getContent(), SELECTOR_CONTENT); 7551 } // Private 7552 7553 7554 _getContent() { 7555 return this._resolvePossibleFunction(this._config.content); 7556 } 7557 7558 _getBasicClassPrefix() { 7559 return CLASS_PREFIX; 7560 } // Static 7561 7562 7563 static jQueryInterface(config) { 7564 return this.each(function () { 7565 const data = Popover.getOrCreateInstance(this, config); 7566 7567 if (typeof config === 'string') { 7568 if (typeof data[config] === 'undefined') { 7569 throw new TypeError(`No method named "${config}"`); 7570 } 7571 7572 data[config](); 7573 } 7574 }); 7575 } 7576 7577} 7578/** 7579 * ------------------------------------------------------------------------ 7580 * jQuery 7581 * ------------------------------------------------------------------------ 7582 * add .Popover to jQuery only if jQuery is present 7583 */ 7584 7585 7586defineJQueryPlugin(Popover); 7587 7588/** 7589 * -------------------------------------------------------------------------- 7590 * Bootstrap (v5.1.3): scrollspy.js 7591 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 7592 * -------------------------------------------------------------------------- 7593 */ 7594/** 7595 * ------------------------------------------------------------------------ 7596 * Constants 7597 * ------------------------------------------------------------------------ 7598 */ 7599 7600const NAME$2 = 'scrollspy'; 7601const DATA_KEY$2 = 'bs.scrollspy'; 7602const EVENT_KEY$2 = `.${DATA_KEY$2}`; 7603const DATA_API_KEY$1 = '.data-api'; 7604const Default$1 = { 7605 offset: 10, 7606 method: 'auto', 7607 target: '' 7608}; 7609const DefaultType$1 = { 7610 offset: 'number', 7611 method: 'string', 7612 target: '(string|element)' 7613}; 7614const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; 7615const EVENT_SCROLL = `scroll${EVENT_KEY$2}`; 7616const EVENT_LOAD_DATA_API = `load${EVENT_KEY$2}${DATA_API_KEY$1}`; 7617const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; 7618const CLASS_NAME_ACTIVE$1 = 'active'; 7619const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; 7620const SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group'; 7621const SELECTOR_NAV_LINKS = '.nav-link'; 7622const SELECTOR_NAV_ITEMS = '.nav-item'; 7623const SELECTOR_LIST_ITEMS = '.list-group-item'; 7624const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}, .${CLASS_NAME_DROPDOWN_ITEM}`; 7625const SELECTOR_DROPDOWN$1 = '.dropdown'; 7626const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle'; 7627const METHOD_OFFSET = 'offset'; 7628const METHOD_POSITION = 'position'; 7629/** 7630 * ------------------------------------------------------------------------ 7631 * Class Definition 7632 * ------------------------------------------------------------------------ 7633 */ 7634 7635class ScrollSpy extends BaseComponent { 7636 constructor(element, config) { 7637 super(element); 7638 this._scrollElement = this._element.tagName === 'BODY' ? window : this._element; 7639 this._config = this._getConfig(config); 7640 this._offsets = []; 7641 this._targets = []; 7642 this._activeTarget = null; 7643 this._scrollHeight = 0; 7644 EventHandler.on(this._scrollElement, EVENT_SCROLL, () => this._process()); 7645 this.refresh(); 7646 7647 this._process(); 7648 } // Getters 7649 7650 7651 static get Default() { 7652 return Default$1; 7653 } 7654 7655 static get NAME() { 7656 return NAME$2; 7657 } // Public 7658 7659 7660 refresh() { 7661 const autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION; 7662 const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; 7663 const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0; 7664 this._offsets = []; 7665 this._targets = []; 7666 this._scrollHeight = this._getScrollHeight(); 7667 const targets = SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target); 7668 targets.map(element => { 7669 const targetSelector = getSelectorFromElement(element); 7670 const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null; 7671 7672 if (target) { 7673 const targetBCR = target.getBoundingClientRect(); 7674 7675 if (targetBCR.width || targetBCR.height) { 7676 return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector]; 7677 } 7678 } 7679 7680 return null; 7681 }).filter(item => item).sort((a, b) => a[0] - b[0]).forEach(item => { 7682 this._offsets.push(item[0]); 7683 7684 this._targets.push(item[1]); 7685 }); 7686 } 7687 7688 dispose() { 7689 EventHandler.off(this._scrollElement, EVENT_KEY$2); 7690 super.dispose(); 7691 } // Private 7692 7693 7694 _getConfig(config) { 7695 config = { ...Default$1, 7696 ...Manipulator.getDataAttributes(this._element), 7697 ...(typeof config === 'object' && config ? config : {}) 7698 }; 7699 config.target = getElement(config.target) || document.documentElement; 7700 typeCheckConfig(NAME$2, config, DefaultType$1); 7701 return config; 7702 } 7703 7704 _getScrollTop() { 7705 return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; 7706 } 7707 7708 _getScrollHeight() { 7709 return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); 7710 } 7711 7712 _getOffsetHeight() { 7713 return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; 7714 } 7715 7716 _process() { 7717 const scrollTop = this._getScrollTop() + this._config.offset; 7718 7719 const scrollHeight = this._getScrollHeight(); 7720 7721 const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); 7722 7723 if (this._scrollHeight !== scrollHeight) { 7724 this.refresh(); 7725 } 7726 7727 if (scrollTop >= maxScroll) { 7728 const target = this._targets[this._targets.length - 1]; 7729 7730 if (this._activeTarget !== target) { 7731 this._activate(target); 7732 } 7733 7734 return; 7735 } 7736 7737 if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { 7738 this._activeTarget = null; 7739 7740 this._clear(); 7741 7742 return; 7743 } 7744 7745 for (let i = this._offsets.length; i--;) { 7746 const isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); 7747 7748 if (isActiveTarget) { 7749 this._activate(this._targets[i]); 7750 } 7751 } 7752 } 7753 7754 _activate(target) { 7755 this._activeTarget = target; 7756 7757 this._clear(); 7758 7759 const queries = SELECTOR_LINK_ITEMS.split(',').map(selector => `${selector}[data-bs-target="${target}"],${selector}[href="${target}"]`); 7760 const link = SelectorEngine.findOne(queries.join(','), this._config.target); 7761 link.classList.add(CLASS_NAME_ACTIVE$1); 7762 7763 if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { 7764 SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, link.closest(SELECTOR_DROPDOWN$1)).classList.add(CLASS_NAME_ACTIVE$1); 7765 } else { 7766 SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP$1).forEach(listGroup => { 7767 // Set triggered links parents as active 7768 // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor 7769 SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`).forEach(item => item.classList.add(CLASS_NAME_ACTIVE$1)); // Handle special case when .nav-link is inside .nav-item 7770 7771 SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(navItem => { 7772 SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(item => item.classList.add(CLASS_NAME_ACTIVE$1)); 7773 }); 7774 }); 7775 } 7776 7777 EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, { 7778 relatedTarget: target 7779 }); 7780 } 7781 7782 _clear() { 7783 SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target).filter(node => node.classList.contains(CLASS_NAME_ACTIVE$1)).forEach(node => node.classList.remove(CLASS_NAME_ACTIVE$1)); 7784 } // Static 7785 7786 7787 static jQueryInterface(config) { 7788 return this.each(function () { 7789 const data = ScrollSpy.getOrCreateInstance(this, config); 7790 7791 if (typeof config !== 'string') { 7792 return; 7793 } 7794 7795 if (typeof data[config] === 'undefined') { 7796 throw new TypeError(`No method named "${config}"`); 7797 } 7798 7799 data[config](); 7800 }); 7801 } 7802 7803} 7804/** 7805 * ------------------------------------------------------------------------ 7806 * Data Api implementation 7807 * ------------------------------------------------------------------------ 7808 */ 7809 7810 7811EventHandler.on(window, EVENT_LOAD_DATA_API, () => { 7812 SelectorEngine.find(SELECTOR_DATA_SPY).forEach(spy => new ScrollSpy(spy)); 7813}); 7814/** 7815 * ------------------------------------------------------------------------ 7816 * jQuery 7817 * ------------------------------------------------------------------------ 7818 * add .ScrollSpy to jQuery only if jQuery is present 7819 */ 7820 7821defineJQueryPlugin(ScrollSpy); 7822 7823/** 7824 * -------------------------------------------------------------------------- 7825 * Bootstrap (v5.1.3): tab.js 7826 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 7827 * -------------------------------------------------------------------------- 7828 */ 7829/** 7830 * ------------------------------------------------------------------------ 7831 * Constants 7832 * ------------------------------------------------------------------------ 7833 */ 7834 7835const NAME$1 = 'tab'; 7836const DATA_KEY$1 = 'bs.tab'; 7837const EVENT_KEY$1 = `.${DATA_KEY$1}`; 7838const DATA_API_KEY = '.data-api'; 7839const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`; 7840const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`; 7841const EVENT_SHOW$1 = `show${EVENT_KEY$1}`; 7842const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`; 7843const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}${DATA_API_KEY}`; 7844const CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'; 7845const CLASS_NAME_ACTIVE = 'active'; 7846const CLASS_NAME_FADE$1 = 'fade'; 7847const CLASS_NAME_SHOW$1 = 'show'; 7848const SELECTOR_DROPDOWN = '.dropdown'; 7849const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; 7850const SELECTOR_ACTIVE = '.active'; 7851const SELECTOR_ACTIVE_UL = ':scope > li > .active'; 7852const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; 7853const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; 7854const SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'; 7855/** 7856 * ------------------------------------------------------------------------ 7857 * Class Definition 7858 * ------------------------------------------------------------------------ 7859 */ 7860 7861class Tab extends BaseComponent { 7862 // Getters 7863 static get NAME() { 7864 return NAME$1; 7865 } // Public 7866 7867 7868 show() { 7869 if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(CLASS_NAME_ACTIVE)) { 7870 return; 7871 } 7872 7873 let previous; 7874 const target = getElementFromSelector(this._element); 7875 7876 const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP); 7877 7878 if (listElement) { 7879 const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE; 7880 previous = SelectorEngine.find(itemSelector, listElement); 7881 previous = previous[previous.length - 1]; 7882 } 7883 7884 const hideEvent = previous ? EventHandler.trigger(previous, EVENT_HIDE$1, { 7885 relatedTarget: this._element 7886 }) : null; 7887 const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$1, { 7888 relatedTarget: previous 7889 }); 7890 7891 if (showEvent.defaultPrevented || hideEvent !== null && hideEvent.defaultPrevented) { 7892 return; 7893 } 7894 7895 this._activate(this._element, listElement); 7896 7897 const complete = () => { 7898 EventHandler.trigger(previous, EVENT_HIDDEN$1, { 7899 relatedTarget: this._element 7900 }); 7901 EventHandler.trigger(this._element, EVENT_SHOWN$1, { 7902 relatedTarget: previous 7903 }); 7904 }; 7905 7906 if (target) { 7907 this._activate(target, target.parentNode, complete); 7908 } else { 7909 complete(); 7910 } 7911 } // Private 7912 7913 7914 _activate(element, container, callback) { 7915 const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE); 7916 const active = activeElements[0]; 7917 const isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE$1); 7918 7919 const complete = () => this._transitionComplete(element, active, callback); 7920 7921 if (active && isTransitioning) { 7922 active.classList.remove(CLASS_NAME_SHOW$1); 7923 7924 this._queueCallback(complete, element, true); 7925 } else { 7926 complete(); 7927 } 7928 } 7929 7930 _transitionComplete(element, active, callback) { 7931 if (active) { 7932 active.classList.remove(CLASS_NAME_ACTIVE); 7933 const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode); 7934 7935 if (dropdownChild) { 7936 dropdownChild.classList.remove(CLASS_NAME_ACTIVE); 7937 } 7938 7939 if (active.getAttribute('role') === 'tab') { 7940 active.setAttribute('aria-selected', false); 7941 } 7942 } 7943 7944 element.classList.add(CLASS_NAME_ACTIVE); 7945 7946 if (element.getAttribute('role') === 'tab') { 7947 element.setAttribute('aria-selected', true); 7948 } 7949 7950 reflow(element); 7951 7952 if (element.classList.contains(CLASS_NAME_FADE$1)) { 7953 element.classList.add(CLASS_NAME_SHOW$1); 7954 } 7955 7956 let parent = element.parentNode; 7957 7958 if (parent && parent.nodeName === 'LI') { 7959 parent = parent.parentNode; 7960 } 7961 7962 if (parent && parent.classList.contains(CLASS_NAME_DROPDOWN_MENU)) { 7963 const dropdownElement = element.closest(SELECTOR_DROPDOWN); 7964 7965 if (dropdownElement) { 7966 SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE, dropdownElement).forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE)); 7967 } 7968 7969 element.setAttribute('aria-expanded', true); 7970 } 7971 7972 if (callback) { 7973 callback(); 7974 } 7975 } // Static 7976 7977 7978 static jQueryInterface(config) { 7979 return this.each(function () { 7980 const data = Tab.getOrCreateInstance(this); 7981 7982 if (typeof config === 'string') { 7983 if (typeof data[config] === 'undefined') { 7984 throw new TypeError(`No method named "${config}"`); 7985 } 7986 7987 data[config](); 7988 } 7989 }); 7990 } 7991 7992} 7993/** 7994 * ------------------------------------------------------------------------ 7995 * Data Api implementation 7996 * ------------------------------------------------------------------------ 7997 */ 7998 7999 8000EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { 8001 if (['A', 'AREA'].includes(this.tagName)) { 8002 event.preventDefault(); 8003 } 8004 8005 if (isDisabled(this)) { 8006 return; 8007 } 8008 8009 const data = Tab.getOrCreateInstance(this); 8010 data.show(); 8011}); 8012/** 8013 * ------------------------------------------------------------------------ 8014 * jQuery 8015 * ------------------------------------------------------------------------ 8016 * add .Tab to jQuery only if jQuery is present 8017 */ 8018 8019defineJQueryPlugin(Tab); 8020 8021/** 8022 * -------------------------------------------------------------------------- 8023 * Bootstrap (v5.1.3): toast.js 8024 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 8025 * -------------------------------------------------------------------------- 8026 */ 8027/** 8028 * ------------------------------------------------------------------------ 8029 * Constants 8030 * ------------------------------------------------------------------------ 8031 */ 8032 8033const NAME = 'toast'; 8034const DATA_KEY = 'bs.toast'; 8035const EVENT_KEY = `.${DATA_KEY}`; 8036const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`; 8037const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`; 8038const EVENT_FOCUSIN = `focusin${EVENT_KEY}`; 8039const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`; 8040const EVENT_HIDE = `hide${EVENT_KEY}`; 8041const EVENT_HIDDEN = `hidden${EVENT_KEY}`; 8042const EVENT_SHOW = `show${EVENT_KEY}`; 8043const EVENT_SHOWN = `shown${EVENT_KEY}`; 8044const CLASS_NAME_FADE = 'fade'; 8045const CLASS_NAME_HIDE = 'hide'; // @deprecated - kept here only for backwards compatibility 8046 8047const CLASS_NAME_SHOW = 'show'; 8048const CLASS_NAME_SHOWING = 'showing'; 8049const DefaultType = { 8050 animation: 'boolean', 8051 autohide: 'boolean', 8052 delay: 'number' 8053}; 8054const Default = { 8055 animation: true, 8056 autohide: true, 8057 delay: 5000 8058}; 8059/** 8060 * ------------------------------------------------------------------------ 8061 * Class Definition 8062 * ------------------------------------------------------------------------ 8063 */ 8064 8065class Toast extends BaseComponent { 8066 constructor(element, config) { 8067 super(element); 8068 this._config = this._getConfig(config); 8069 this._timeout = null; 8070 this._hasMouseInteraction = false; 8071 this._hasKeyboardInteraction = false; 8072 8073 this._setListeners(); 8074 } // Getters 8075 8076 8077 static get DefaultType() { 8078 return DefaultType; 8079 } 8080 8081 static get Default() { 8082 return Default; 8083 } 8084 8085 static get NAME() { 8086 return NAME; 8087 } // Public 8088 8089 8090 show() { 8091 const showEvent = EventHandler.trigger(this._element, EVENT_SHOW); 8092 8093 if (showEvent.defaultPrevented) { 8094 return; 8095 } 8096 8097 this._clearTimeout(); 8098 8099 if (this._config.animation) { 8100 this._element.classList.add(CLASS_NAME_FADE); 8101 } 8102 8103 const complete = () => { 8104 this._element.classList.remove(CLASS_NAME_SHOWING); 8105 8106 EventHandler.trigger(this._element, EVENT_SHOWN); 8107 8108 this._maybeScheduleHide(); 8109 }; 8110 8111 this._element.classList.remove(CLASS_NAME_HIDE); // @deprecated 8112 8113 8114 reflow(this._element); 8115 8116 this._element.classList.add(CLASS_NAME_SHOW); 8117 8118 this._element.classList.add(CLASS_NAME_SHOWING); 8119 8120 this._queueCallback(complete, this._element, this._config.animation); 8121 } 8122 8123 hide() { 8124 if (!this._element.classList.contains(CLASS_NAME_SHOW)) { 8125 return; 8126 } 8127 8128 const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE); 8129 8130 if (hideEvent.defaultPrevented) { 8131 return; 8132 } 8133 8134 const complete = () => { 8135 this._element.classList.add(CLASS_NAME_HIDE); // @deprecated 8136 8137 8138 this._element.classList.remove(CLASS_NAME_SHOWING); 8139 8140 this._element.classList.remove(CLASS_NAME_SHOW); 8141 8142 EventHandler.trigger(this._element, EVENT_HIDDEN); 8143 }; 8144 8145 this._element.classList.add(CLASS_NAME_SHOWING); 8146 8147 this._queueCallback(complete, this._element, this._config.animation); 8148 } 8149 8150 dispose() { 8151 this._clearTimeout(); 8152 8153 if (this._element.classList.contains(CLASS_NAME_SHOW)) { 8154 this._element.classList.remove(CLASS_NAME_SHOW); 8155 } 8156 8157 super.dispose(); 8158 } // Private 8159 8160 8161 _getConfig(config) { 8162 config = { ...Default, 8163 ...Manipulator.getDataAttributes(this._element), 8164 ...(typeof config === 'object' && config ? config : {}) 8165 }; 8166 typeCheckConfig(NAME, config, this.constructor.DefaultType); 8167 return config; 8168 } 8169 8170 _maybeScheduleHide() { 8171 if (!this._config.autohide) { 8172 return; 8173 } 8174 8175 if (this._hasMouseInteraction || this._hasKeyboardInteraction) { 8176 return; 8177 } 8178 8179 this._timeout = setTimeout(() => { 8180 this.hide(); 8181 }, this._config.delay); 8182 } 8183 8184 _onInteraction(event, isInteracting) { 8185 switch (event.type) { 8186 case 'mouseover': 8187 case 'mouseout': 8188 this._hasMouseInteraction = isInteracting; 8189 break; 8190 8191 case 'focusin': 8192 case 'focusout': 8193 this._hasKeyboardInteraction = isInteracting; 8194 break; 8195 } 8196 8197 if (isInteracting) { 8198 this._clearTimeout(); 8199 8200 return; 8201 } 8202 8203 const nextElement = event.relatedTarget; 8204 8205 if (this._element === nextElement || this._element.contains(nextElement)) { 8206 return; 8207 } 8208 8209 this._maybeScheduleHide(); 8210 } 8211 8212 _setListeners() { 8213 EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true)); 8214 EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false)); 8215 EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true)); 8216 EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false)); 8217 } 8218 8219 _clearTimeout() { 8220 clearTimeout(this._timeout); 8221 this._timeout = null; 8222 } // Static 8223 8224 8225 static jQueryInterface(config) { 8226 return this.each(function () { 8227 const data = Toast.getOrCreateInstance(this, config); 8228 8229 if (typeof config === 'string') { 8230 if (typeof data[config] === 'undefined') { 8231 throw new TypeError(`No method named "${config}"`); 8232 } 8233 8234 data[config](this); 8235 } 8236 }); 8237 } 8238 8239} 8240 8241enableDismissTrigger(Toast); 8242/** 8243 * ------------------------------------------------------------------------ 8244 * jQuery 8245 * ------------------------------------------------------------------------ 8246 * add .Toast to jQuery only if jQuery is present 8247 */ 8248 8249defineJQueryPlugin(Toast); 8250 8251 8252//# sourceMappingURL=bootstrap.esm.js.map 8253 8254 8255/***/ }), 8256
8257/***/ "./src/scss/theme.scss": 8258/*!*****************************!*\ 8259 !*** ./src/scss/theme.scss ***! 8260 \*****************************/ 8261/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8262 8263"use strict"; 8264__webpack_require__.r(__webpack_exports__); 8265// extracted by mini-css-extract-plugin 8266 8267 8268/***/ }), 8269
vendor: 12,276 bytes, lines 8270-8293
8270/***/ "./node_modules/svg-injector-2/dist/svg-injector.min.js": 8271/*!**************************************************************!*\ 8272 !*** ./node_modules/svg-injector-2/dist/svg-injector.min.js ***! 8273 \**************************************************************/ 8274/***/ (function(module, exports, __webpack_require__) { 8275 8276var __WEBPACK_AMD_DEFINE_RESULT__;/*! 8277 * SVGInjector v2.1.5 - Fast, caching, dynamic inline SVG DOM injection library 8278 * https://github.com/flobacher/SVGInjector2 8279 * forked from: 8280 * https://github.com/iconic/SVGInjector 8281 * 8282 * Copyright (c) 2015 flobacher <[email protected]> 8283 * @license MIT 8284 * 8285 * original Copyright (c) 2014 Waybury <[email protected]> 8286 * @license MIT 8287 */ 8288!function(e,t){"use strict";var r=function(){function r(e){r.instanceCounter++,this.init(e)}var n,i,s,l,a,o,c,u,f,p,d,v,g,m,h,b,y,S,A,C,x,k,N,w,j,E,I,F,T,G,V="http://www.w3.org/2000/svg",O="http://www.w3.org/1999/xlink",q=["sprite"];return s=[],r.instanceCounter=0,r.prototype.init=function(r){r=r||{},n={},o={},o.isLocal="file:"===e.location.protocol,o.hasSvgSupport=t.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"),i={count:0,elements:[]},l={},a={},a.evalScripts=r.evalScripts||"always",a.pngFallback=r.pngFallback||!1,a.svgFallbackDir=r.svgFallbackDir||!1,a.onlyInjectVisiblePart=r.onlyInjectVisiblePart||!0,a.keepStylesClass=void 0===r.keepStylesClass?"":r.keepStylesClass,a.spriteClassName=void 0===r.spriteClassName?"sprite":r.spriteClassName,a.spriteClassIdName=void 0===r.spriteClassIdName?"sprite--":r.spriteClassIdName,a.removeStylesClass=void 0===r.removeStylesClass?"icon":r.removeStylesClass,a.removeAllStyles=void 0!==r.removeAllStyles&&r.removeAllStyles,a.fallbackClassName=void 0===r.fallbackClassName?q:r.fallbackClassName,a.prefixStyleTags=void 0===r.prefixStyleTags||r.prefixStyleTags,a.spritesheetURL=void 0!==r.spritesheetURL&&""!==r.spritesheetURL&&r.spritesheetURL,a.prefixFragIdClass=a.spriteClassIdName,a.forceFallbacks=void 0!==r.forceFallbacks&&r.forceFallbacks,a.forceFallbacks&&(o.hasSvgSupport=!1),x(t.querySelector("html"),"no-svg",o.hasSvgSupport),o.hasSvgSupport&&void 0===r.removeStylesClass&&C(a.removeStylesClass)},r.prototype.inject=function(e,t,r){if(void 0!==e.length)if(0===e.length)t&&t(0);else{var n=0,i=this;I.call(e,function(s){i.injectElement(s,function(i){r&&"function"==typeof r&&r(i),t&&e.length===++n&&t(n)})})}else e?this.injectElement(e,function(n){r&&"function"==typeof r&&r(n),t&&t(1),e=null}):t&&t(0)},G=r.prototype.injectElement=function(e,t){var r,n=e.getAttribute("data-src")||e.getAttribute("src");if(!n){if(!a.spritesheetURL)return;if(""===(r=h(e)))return;n=a.spritesheetURL+"#"+r}e.setAttribute("data-src",n);var s=n.split("#");1===s.length&&s.push("");var l;if(!/\.svg/i.test(n))return void t("Attempted to inject a file with a non-svg extension: "+n);if(!o.hasSvgSupport){var f=e.getAttribute("data-fallback")||e.getAttribute("data-png");return void(f?(e.setAttribute("src",f),t(null)):a.pngFallback?(s.length>1&&s[1]?(l=s[1]+".png",j(a.fallbackClassName)?c(e,s[1],a.fallbackClassName):w(a.fallbackClassName)?a.fallbackClassName(e,s[1]):"string"==typeof a.fallbackClassName?E(e,a.fallbackClassName):e.setAttribute("src",a.pngFallback+"/"+l)):(l=n.split("/").pop().replace(".svg",".png"),e.setAttribute("src",a.pngFallback+"/"+l)),t(null)):t("This browser does not support SVG and no PNG fallback was defined."))}j(a.fallbackClassName)&&u(e,s[1],a.fallbackClassName),-1===i.elements.indexOf(e)&&(i.elements.push(e),A(t,n,e))},r.prototype.getEnv=function(){return o},r.prototype.getConfig=function(){return a},c=function(e,t,r){var n=void 0===r?q:r.slice(0);I.call(n,function(e,r){n[r]=e.replace("%s",t)}),E(e,n)},u=function(e,t,r){r=void 0===r?q.slice(0):r.slice(0);var n,i,s=e.getAttribute("class");void 0!==s&&null!==s&&(i=s.split(" "))&&(I.call(r,function(e){e=e.replace("%s",t),(n=i.indexOf(e))>=0&&(i[n]="")}),e.setAttribute("class",N(i.join(" "))))},p=function(e,t,r,n){var i=0;return e.textContent=e.textContent.replace(/url\(('|")*#.+('|")*(?=\))/g,function(e){return i++,e+"-"+t}),i},f=function(e,t){var r,n,i,s,l,a,o,c,u,f,p,d,v,g,m,h,b=[{def:"linearGradient",attrs:["fill","stroke"]},{def:"radialGradient",attrs:["fill","stroke"]},{def:"clipPath",attrs:["clip-path"]},{def:"mask",attrs:["mask"]},{def:"filter",attrs:["filter"]},{def:"color-profile",attrs:["color-profile"]},{def:"cursor",attrs:["cursor"]},{def:"marker",attrs:["marker","marker-start","marker-mid","marker-end"]}];I.call(b,function(b){for(n=e.querySelectorAll(b.def+"[id]"),s=0,i=n.length;s<i;s++){for(r=n[s].id+"-"+t,c=b.attrs,f=0,u=c.length;f<u;f++)for(l=e.querySelectorAll("["+c[f]+'="url(#'+n[s].id+')"]'),o=0,a=l.length;o<a;o++)l[o].setAttribute(c[f],"url(#"+r+")");for(p=e.querySelectorAll("[*|href]"),g=[],v=0,d=p.length;v<d;v++)p[v].getAttributeNS(O,"href").toString()==="#"+n[s].id&&g.push(p[v]);for(h=0,m=g.length;h<m;h++)g[h].setAttributeNS(O,"href","#"+r);n[s].id=r}})},d=function(e,t,r){var n;void 0===r&&(r=["id","viewBox"]);for(var i=0;i<e.attributes.length;i++)n=e.attributes.item(i),r.indexOf(n.name)<0&&t.setAttribute(n.name,n.value)},v=function(e){var r=t.createElementNS(V,"svg");return I.call(e.childNodes,function(e){r.appendChild(e.cloneNode(!0))}),d(e,r),r},g=function(e,t,r){var n,i,s,l,a,o,c=r.getAttribute("data-src").split("#"),u=e.textContent,f="",p=function(e,t,r){r[t]="."+s+" "+e};if(c.length>1)i=c[1],s=i+"-"+t,n=new RegExp("\\."+i+" ","g"),e.textContent=u.replace(n,"."+s+" ");else{for(l=c[0].split("/"),s=l[l.length-1].replace(".svg","")+"-"+t,n=new RegExp("([\\s\\S]*?){([\\s\\S]*?)}","g");null!==(a=n.exec(u));){o=a[1].trim().split(", "),o.forEach(p);f+=o.join(", ")+"{"+a[2]+"}\n"}e.textContent=f}r.setAttribute("class",r.getAttribute("class")+" "+s)},m=function(e){var t=e.getAttribute("class");return t?t.trim().split(" "):[]},h=function(e){var t=m(e),r="";return I.call(t,function(e){e.indexOf(a.spriteClassIdName)>=0&&(r=e.replace(a.spriteClassIdName,""))}),r},b=function(e,t,r){var n,i,s,l,a,o,c=null,u=!1,f=!1,p=null;if(void 0===r)n=c=t.cloneNode(!0),c.getAttribute("width")||t.getAttribute("width")||(f=!0);else if(!(n=t.getElementById(r)))return;if(s=n.getAttribute("viewBox"),i=s.split(" "),!c){if(n instanceof SVGSymbolElement)c=v(n),f=u=!0;else if(n instanceof SVGViewElement){if(p=null,e.onlyInjectVisiblePart){var d='*[width="'+i[2]+'"][height="'+i[3]+'"]';l={},0===Math.abs(parseInt(i[0]))?d+=":not([x])":(l.x=i[0],d+='[x="'+i[0]+'"]'),0===Math.abs(parseInt(i[1]))?d+=":not([y])":(l.y=i[1],d+='[y="'+i[1]+'"]'),o=t.querySelectorAll(d),o.length,p=o[0]}if(p&&p instanceof SVGSVGElement){c=p.cloneNode(!0);for(var g in l)"width"!==g&&"height"!==g&&c.removeAttribute(g)}else if(p&&p instanceof SVGUseElement){var h=t.getElementById(p.getAttributeNS(O,"href").substr(1));c=v(h),s=h.getAttribute("viewBox"),i=s.split(" "),f=u=!0}else f=u=!0,c=t.cloneNode(!0)}a=m(c);var b=e.prefixFragIdClass+r;a.indexOf(b)<0&&(a.push(b),c.setAttribute("class",a.join(" ")))}return u&&c.setAttribute("viewBox",i.join(" ")),f&&(c.setAttribute("width",i[2]+"px"),c.setAttribute("height",i[3]+"px")),c.setAttribute("xmlns",V),c.setAttribute("xmlns:xlink",O),c},y=function(e,t,r,n){s[e]=s[e]||[],s[e].push({callback:r,fragmentId:t,element:n,name:name})},S=function(e){for(var t,r=0,n=s[e].length;r<n;r++)!function(r){setTimeout(function(){t=s[e][r],k(e,t.fragmentId,t.callback,t.element,t.name)},0)}(r)},A=function(t,r,i){var s,l,a,c,u;if(s=r.split("#"),l=s[0],a=2===s.length?s[1]:void 0,void 0!==a&&(u=l.split("/"),c=u[u.length-1].replace(".svg","")),void 0!==n[l])n[l]instanceof SVGSVGElement?k(l,a,t,i,c):y(l,a,t,i,c);else{if(!e.XMLHttpRequest)return t("Browser does not support XMLHttpRequest"),!1;n[l]={},y(l,a,t,i,c);var f=new XMLHttpRequest;f.onreadystatechange=function(){if(4===f.readyState){if(404===f.status||null===f.responseXML)return t("Unable to load SVG file: "+l),!1;if(!(200===f.status||o.isLocal&&0===f.status))return t("There was a problem injecting the SVG: "+f.status+" "+f.statusText),!1;if(f.responseXML instanceof Document)n[l]=f.responseXML.documentElement;else if(DOMParser&&DOMParser instanceof Function){var e;try{var i=new DOMParser;e=i.parseFromString(f.responseText,"text/xml")}catch(t){e=void 0}if(!e||e.getElementsByTagName("parsererror").length)return t("Unable to parse SVG file: "+r),!1;n[l]=e.documentElement}S(l)}},f.open("GET",l),f.overrideMimeType&&f.overrideMimeType("text/xml"),f.send()}},C=function(e){var r="svg."+e+" {fill: currentColor;}",n=t.head||t.getElementsByTagName("head")[0],i=t.createElement("style");i.type="text/css",i.styleSheet?i.styleSheet.cssText=r:i.appendChild(t.createTextNode(r)),n.appendChild(i)},x=function(e,t,r){r?e.className.replace(t,""):e.className+=" "+t},k=function(t,r,s,o,c){var u,v,h,y,S,A,C,x;if(void 0===(u=b(a,n[t],r))||"string"==typeof u)return S=o.getAttribute("data-fallback-svg"),S=!(!S&&!a.svgFallbackDir)&&a.svgFallbackDir+"/"+r+".svg",S?(o.setAttribute("data-src",S),i.elements.splice(i.elements.indexOf(o),1),G(o,s)):s(u),!1;u.setAttribute("role","img"),I.call(u.children||[],function(e){e instanceof SVGDefsElement||e instanceof SVGTitleElement||e instanceof SVGDescElement||e.setAttribute("role","presentation")}),y=o.getAttribute("aria-hidden")||u.getAttribute("aria-hidden"),y?(u.setAttribute("aria-hidden","true"),C=u.querySelector("title"),x=u.querySelector("desc"),C&&u.removeChild(C),x&&u.removeChild(x)):(h=F("desc",u,o,r,!1),v=F("title",u,o,r,!1),(h.length>0||v.length>0)&&(A=v+" "+h,u.setAttribute("aria-labelledby",A.trim()))),d(o,u,["class"]);var k=[].concat(u.getAttribute("class")||[],"injected-svg",o.getAttribute("class")||[]).join(" ");u.setAttribute("class",N(k)),f(u,i.count,c),u.removeAttribute("xmlns:a");for(var w,j,E=u.querySelectorAll("script"),T=[],V=0,O=E.length;V<O;V++)(j=E[V].getAttribute("type"))&&"application/ecmascript"!==j&&"application/javascript"!==j||(w=E[V].innerText||E[V].textContent,T.push(w),u.removeChild(E[V]));if(T.length>0&&("always"===a.evalScripts||"once"===a.evalScripts&&!l[t])){for(var q=0,L=T.length;q<L;q++)new Function(T[q])(e);l[t]=!0}var M=u.querySelectorAll("style");I.call(M,function(e){var t=m(u),r=!0;(t.indexOf(a.removeStylesClass)>=0||a.removeAllStyles)&&t.indexOf(a.keepStylesClass)<0?e.parentNode.removeChild(e):(p(e,i.count,u,c)>0&&(r=!1),a.prefixStyleTags&&(g(e,i.count,u,c),r=!1),r&&(e.textContent+=""))}),o.parentNode.replaceChild(u,o),delete i.elements[i.elements.indexOf(o)],i.count++,s(u)},N=function(e){e=e.split(" ");for(var t={},r=e.length,n=[];r--;)t.hasOwnProperty(e[r])||(t[e[r]]=1,n.unshift(e[r]));return n.join(" ")},w=function(e){return!!(e&&e.constructor&&e.call&&e.apply)},j=function(e){return"[object Array]"===Object.prototype.toString.call(e)},E=function(e,t){var r=e.getAttribute("class");r=r||"",j(t)&&(t=t.join(" ")),t=r+" "+t,e.setAttribute("class",N(t))},I=Array.prototype.forEach||function(e,t){if(void 0===this||null===this||"function"!=typeof e)throw new TypeError;var r,n=this.length>>>0;for(r=0;r<n;++r)r in this&&e.call(t,this[r],r,this)},F=function(e,t,r,n,s){var l,a=n?n+"-":"";return a+=e+"-"+i.count,l=r.querySelector(e),l?T(e,t,l.textContent,a,t.firstChild):(l=t.querySelector(e),l?l.setAttribute("id",a):s?T(e,t,n,a,t.firstChild):a=""),a},T=function(e,r,n,i,s){var l,a=r.querySelector(e);return l=t.createElementNS(V,e),l.appendChild(t.createTextNode(n)),l.setAttribute("id",i),r.insertBefore(l,s),a&&a.parentNode.removeChild(a),l},r}();"object"==typeof angular?angular.module("svginjector",[]).provider("svgInjectorOptions",function(){var e={};return{set:function(t){e=t},$get:function(){return e}}}).factory("svgInjectorFactory",["svgInjectorOptions",function(e){return new r(e)}]).directive("svg",["svgInjectorFactory",function(e){var t=e.getConfig();return{restrict:"E",link:function(r,n,i){i.class&&i.class.indexOf(t.spriteClassIdName)>=0?i.$observe("class",function(){e.inject(n[0])}):(i.dataSrc||i.src)&&e.inject(n[0])}}}]): true&&"object"==typeof module.exports?module.exports=r: true?!(__WEBPACK_AMD_DEFINE_RESULT__ = (function(){return r}).call(exports, __webpack_require__, exports, module), 8289 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)):0}(window,document); 8290//# sourceMappingURL=./dist/svg-injector.map.js 8291 8292/***/ }), 8293
8294/***/ "./src/image/BK-house-logo.png": 8295/*!*************************************!*\ 8296 !*** ./src/image/BK-house-logo.png ***! 8297 \*************************************/ 8298/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8299 8300"use strict"; 8301module.exports = __webpack_require__.p + "image/BK-house-logo.png"; 8302 8303/***/ }), 8304
8305/***/ "./src/image/bg-footer.jpg": 8306/*!*********************************!*\ 8307 !*** ./src/image/bg-footer.jpg ***! 8308 \*********************************/ 8309/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8310 8311"use strict"; 8312module.exports = __webpack_require__.p + "image/bg-footer.jpg"; 8313 8314/***/ }), 8315
8316/***/ "./src/image/bg-upcoming-programs.jpg": 8317/*!********************************************!*\ 8318 !*** ./src/image/bg-upcoming-programs.jpg ***! 8319 \********************************************/ 8320/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8321 8322"use strict"; 8323module.exports = __webpack_require__.p + "image/bg-upcoming-programs.jpg"; 8324 8325/***/ }), 8326
8327/***/ "./src/image/bk-house-map.jpg": 8328/*!************************************!*\ 8329 !*** ./src/image/bk-house-map.jpg ***! 8330 \************************************/ 8331/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8332 8333"use strict"; 8334module.exports = __webpack_require__.p + "image/bk-house-map.jpg"; 8335 8336/***/ }), 8337
8338/***/ "./src/image/default-card.jpg": 8339/*!************************************!*\ 8340 !*** ./src/image/default-card.jpg ***! 8341 \************************************/ 8342/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8343 8344"use strict"; 8345module.exports = __webpack_require__.p + "image/default-card.jpg"; 8346 8347/***/ }), 8348
8349/***/ "./src/image/default-header.jpg": 8350/*!**************************************!*\ 8351 !*** ./src/image/default-header.jpg ***! 8352 \**************************************/ 8353/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8354 8355"use strict"; 8356module.exports = __webpack_require__.p + "image/default-header.jpg"; 8357 8358/***/ }), 8359
8360/***/ "./src/image/hero-image.png": 8361/*!**********************************!*\ 8362 !*** ./src/image/hero-image.png ***! 8363 \**********************************/ 8364/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8365 8366"use strict"; 8367module.exports = __webpack_require__.p + "image/hero-image.png"; 8368 8369/***/ }), 8370
8371/***/ "./src/image/instagram-feed.png": 8372/*!**************************************!*\ 8373 !*** ./src/image/instagram-feed.png ***! 8374 \**************************************/ 8375/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8376 8377"use strict"; 8378module.exports = __webpack_require__.p + "image/instagram-feed.png"; 8379 8380/***/ }), 8381
8382/***/ "./src/image/logo-1.png": 8383/*!******************************!*\ 8384 !*** ./src/image/logo-1.png ***! 8385 \******************************/ 8386/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8387 8388"use strict"; 8389module.exports = __webpack_require__.p + "image/logo-1.png"; 8390 8391/***/ }), 8392
8393/***/ "./src/image/logo-2.png": 8394/*!******************************!*\ 8395 !*** ./src/image/logo-2.png ***! 8396 \******************************/ 8397/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8398 8399"use strict"; 8400module.exports = __webpack_require__.p + "image/logo-2.png"; 8401 8402/***/ }), 8403
8404/***/ "./src/image/ornament-one.png": 8405/*!************************************!*\ 8406 !*** ./src/image/ornament-one.png ***! 8407 \************************************/ 8408/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8409 8410"use strict"; 8411module.exports = __webpack_require__.p + "image/ornament-one.png"; 8412 8413/***/ }), 8414
8415/***/ "./src/image/ornament-three.png": 8416/*!**************************************!*\ 8417 !*** ./src/image/ornament-three.png ***! 8418 \**************************************/ 8419/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8420 8421"use strict"; 8422module.exports = __webpack_require__.p + "image/ornament-three.png"; 8423 8424/***/ }), 8425
8426/***/ "./src/image/ornament-two.png": 8427/*!************************************!*\ 8428 !*** ./src/image/ornament-two.png ***! 8429 \************************************/ 8430/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8431 8432"use strict"; 8433module.exports = __webpack_require__.p + "image/ornament-two.png"; 8434 8435/***/ }), 8436
8437/***/ "./src/image/slide.png": 8438/*!*****************************!*\ 8439 !*** ./src/image/slide.png ***! 8440 \*****************************/ 8441/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8442 8443"use strict"; 8444module.exports = __webpack_require__.p + "image/slide.png"; 8445 8446/***/ }), 8447
vendor: 4,004 bytes, lines 8448-8595
8448/***/ "./node_modules/js-cookie/dist/js.cookie.mjs": 8449/*!***************************************************!*\ 8450 !*** ./node_modules/js-cookie/dist/js.cookie.mjs ***! 8451 \***************************************************/ 8452/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 8453 8454"use strict"; 8455__webpack_require__.r(__webpack_exports__); 8456/* harmony export */ __webpack_require__.d(__webpack_exports__, { 8457/* harmony export */ "default": function() { return /* binding */ api; } 8458/* harmony export */ }); 8459/*! js-cookie v3.0.5 | MIT */ 8460/* eslint-disable no-var */ 8461function assign (target) { 8462 for (var i = 1; i < arguments.length; i++) { 8463 var source = arguments[i]; 8464 for (var key in source) { 8465 target[key] = source[key]; 8466 } 8467 } 8468 return target 8469} 8470/* eslint-enable no-var */ 8471 8472/* eslint-disable no-var */ 8473var defaultConverter = { 8474 read: function (value) { 8475 if (value[0] === '"') { 8476 value = value.slice(1, -1); 8477 } 8478 return value.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent) 8479 }, 8480 write: function (value) { 8481 return encodeURIComponent(value).replace( 8482 /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, 8483 decodeURIComponent 8484 ) 8485 } 8486}; 8487/* eslint-enable no-var */ 8488 8489/* eslint-disable no-var */ 8490 8491function init (converter, defaultAttributes) { 8492 function set (name, value, attributes) { 8493 if (typeof document === 'undefined') { 8494 return 8495 } 8496 8497 attributes = assign({}, defaultAttributes, attributes); 8498 8499 if (typeof attributes.expires === 'number') { 8500 attributes.expires = new Date(Date.now() + attributes.expires * 864e5); 8501 } 8502 if (attributes.expires) { 8503 attributes.expires = attributes.expires.toUTCString(); 8504 } 8505 8506 name = encodeURIComponent(name) 8507 .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent) 8508 .replace(/[()]/g, escape); 8509 8510 var stringifiedAttributes = ''; 8511 for (var attributeName in attributes) { 8512 if (!attributes[attributeName]) { 8513 continue 8514 } 8515 8516 stringifiedAttributes += '; ' + attributeName; 8517 8518 if (attributes[attributeName] === true) { 8519 continue 8520 } 8521 8522 // Considers RFC 6265 section 5.2: 8523 // ... 8524 // 3. If the remaining unparsed-attributes contains a %x3B (";") 8525 // character: 8526 // Consume the characters of the unparsed-attributes up to, 8527 // not including, the first %x3B (";") character. 8528 // ... 8529 stringifiedAttributes += '=' + attributes[attributeName].split(';')[0]; 8530 } 8531 8532 return (document.cookie = 8533 name + '=' + converter.write(value, name) + stringifiedAttributes) 8534 } 8535 8536 function get (name) { 8537 if (typeof document === 'undefined' || (arguments.length && !name)) { 8538 return 8539 } 8540 8541 // To prevent the for loop in the first place assign an empty array 8542 // in case there are no cookies at all. 8543 var cookies = document.cookie ? document.cookie.split('; ') : []; 8544 var jar = {}; 8545 for (var i = 0; i < cookies.length; i++) { 8546 var parts = cookies[i].split('='); 8547 var value = parts.slice(1).join('='); 8548 8549 try { 8550 var found = decodeURIComponent(parts[0]); 8551 jar[found] = converter.read(value, found); 8552 8553 if (name === found) { 8554 break 8555 } 8556 } catch (e) {} 8557 } 8558 8559 return name ? jar[name] : jar 8560 } 8561 8562 return Object.create( 8563 { 8564 set, 8565 get, 8566 remove: function (name, attributes) { 8567 set( 8568 name, 8569 '', 8570 assign({}, attributes, { 8571 expires: -1 8572 }) 8573 ); 8574 }, 8575 withAttributes: function (attributes) { 8576 return init(this.converter, assign({}, this.attributes, attributes)) 8577 }, 8578 withConverter: function (converter) { 8579 return init(assign({}, this.converter, converter), this.attributes) 8580 } 8581 }, 8582 { 8583 attributes: { value: Object.freeze(defaultAttributes) }, 8584 converter: { value: Object.freeze(converter) } 8585 } 8586 ) 8587} 8588 8589var api = init(defaultConverter, { path: '/' }); 8590/* eslint-enable no-var */ 8591 8592 8593 8594 8595/***/ })
vendor: 6,778 bytes, lines 8595-8718
8595 8596 8597/******/ }); 8598/************************************************************************/ 8599/******/ // The module cache 8600/******/ var __webpack_module_cache__ = {}; 8601/******/ 8602/******/ // The require function 8603/******/ function __webpack_require__(moduleId) { 8604/******/ // Check if module is in cache 8605/******/ var cachedModule = __webpack_module_cache__[moduleId]; 8606/******/ if (cachedModule !== undefined) { 8607/******/ return cachedModule.exports; 8608/******/ } 8609/******/ // Create a new module (and put it into the cache) 8610/******/ var module = __webpack_module_cache__[moduleId] = { 8611/******/ // no module.id needed 8612/******/ // no module.loaded needed 8613/******/ exports: {} 8614/******/ }; 8615/******/ 8616/******/ // Execute the module function 8617/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); 8618/******/ 8619/******/ // Return the exports of the module 8620/******/ return module.exports; 8621/******/ } 8622/******/ 8623/************************************************************************/ 8624/******/ /* webpack/runtime/compat get default export */ 8625/******/ !function() { 8626/******/ // getDefaultExport function for compatibility with non-harmony modules 8627/******/ __webpack_require__.n = function(module) { 8628/******/ var getter = module && module.__esModule ? 8629/******/ function() { return module['default']; } : 8630/******/ function() { return module; }; 8631/******/ __webpack_require__.d(getter, { a: getter }); 8632/******/ return getter; 8633/******/ }; 8634/******/ }(); 8635/******/ 8636/******/ /* webpack/runtime/define property getters */ 8637/******/ !function() { 8638/******/ // define getter functions for harmony exports 8639/******/ __webpack_require__.d = function(exports, definition) { 8640/******/ for(var key in definition) { 8641/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { 8642/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); 8643/******/ } 8644/******/ } 8645/******/ }; 8646/******/ }(); 8647/******/ 8648/******/ /* webpack/runtime/hasOwnProperty shorthand */ 8649/******/ !function() { 8650/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } 8651/******/ }(); 8652/******/ 8653/******/ /* webpack/runtime/make namespace object */ 8654/******/ !function() { 8655/******/ // define __esModule on exports 8656/******/ __webpack_require__.r = function(exports) { 8657/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 8658/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 8659/******/ } 8660/******/ Object.defineProperty(exports, '__esModule', { value: true }); 8661/******/ }; 8662/******/ }(); 8663/******/ 8664/******/ /* webpack/runtime/publicPath */ 8665/******/ !function() { 8666/******/ __webpack_require__.p = "/Users/jason/projects/Sites/bk-house/app/public/wp-content/themes/bkhouse/dist"; 8667/******/ }(); 8668/******/ 8669/************************************************************************/ 8670var __webpack_exports__ = {}; 8671// This entry need to be wrapped in an IIFE because it need to be in strict mode. 8672!function() { 8673"use strict"; 8674/*!*************************!*\ 8675 !*** ./src/js/theme.js ***! 8676 \*************************/ 8677__webpack_require__.r(__webpack_exports__); 8678/* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.esm.js"); 8679/* harmony import */ var _scss_theme_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../scss/theme.scss */ "./src/scss/theme.scss"); 8680/* harmony import */ var _components_off_canvas_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/off-canvas.js */ "./src/js/components/off-canvas.js"); 8681/* harmony import */ var js_cookie__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! js-cookie */ "./node_modules/js-cookie/dist/js.cookie.mjs"); 8682/* harmony import */ var _components_sticky_header_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/sticky-header.js */ "./src/js/components/sticky-header.js"); 8683/* harmony import */ var _components_sticky_header_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_components_sticky_header_js__WEBPACK_IMPORTED_MODULE_4__); 8684/* harmony import */ var _image_BK_house_logo_png__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../image/BK-house-logo.png */ "./src/image/BK-house-logo.png"); 8685/* harmony import */ var _image_hero_image_png__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../image/hero-image.png */ "./src/image/hero-image.png"); 8686/* harmony import */ var _image_default_card_jpg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../image/default-card.jpg */ "./src/image/default-card.jpg"); 8687/* harmony import */ var _image_default_header_jpg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../image/default-header.jpg */ "./src/image/default-header.jpg"); 8688/* harmony import */ var _image_bg_footer_jpg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../image/bg-footer.jpg */ "./src/image/bg-footer.jpg"); 8689/* harmony import */ var _image_slide_png__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../image/slide.png */ "./src/image/slide.png"); 8690/* harmony import */ var _image_bg_upcoming_programs_jpg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../image/bg-upcoming-programs.jpg */ "./src/image/bg-upcoming-programs.jpg"); 8691/* harmony import */ var _image_instagram_feed_png__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../image/instagram-feed.png */ "./src/image/instagram-feed.png"); 8692/* harmony import */ var _image_bk_house_map_jpg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../image/bk-house-map.jpg */ "./src/image/bk-house-map.jpg"); 8693/* harmony import */ var _image_logo_2_png__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../image/logo-2.png */ "./src/image/logo-2.png"); 8694/* harmony import */ var _image_logo_1_png__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../image/logo-1.png */ "./src/image/logo-1.png"); 8695/* harmony import */ var _image_ornament_one_png__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../image/ornament-one.png */ "./src/image/ornament-one.png"); 8696/* harmony import */ var _image_ornament_two_png__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../image/ornament-two.png */ "./src/image/ornament-two.png"); 8697/* harmony import */ var _image_ornament_three_png__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../image/ornament-three.png */ "./src/image/ornament-three.png"); 8698/* provided dependency */ var SVGInjector = __webpack_require__(/*! svg-injector-2 */ "./node_modules/svg-injector-2/dist/svg-injector.min.js"); 8699 //Components 8700 8701 8702 8703 8704 //Images 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718
8719 //Check for cookie 8720 8721jQuery(window).on('load', function () { 8722 //Load Announcementbar 8723 if (js_cookie__WEBPACK_IMPORTED_MODULE_3__["default"].get('co_topbar')) {} else { 8724 jQuery('#topBarCollapse').collapse('show'); 8725 } 8726}); 8727jQuery(document).ready(function (jQuery) { 8728 //ANNOUNCEMENT BAR 8729 jQuery('#topBarCollapse').on('hidden.bs.collapse', function (e) { 8730 js_cookie__WEBPACK_IMPORTED_MODULE_3__["default"].set('co_topbar', 'set', { 8731 expires: 1 8732 }); 8733 }); 8734}); 8735window.addEventListener('DOMContentLoaded', function () { 8736 //SVG INJECTOR 8737 var elementsToInject = document.querySelectorAll('.inject-me'); 8738 var injectorOptions = { 8739 evalScripts: 'once' 8740 }; 8741 var injector = new SVGInjector(injectorOptions); 8742 8743 if (elementsToInject.length) { 8744 injector.inject(elementsToInject); 8745 } 8746}, false); 8747}(); 8748/******/ })() 8749; 8750//# sourceMappingURL=theme.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.