bootstrap.js.map
284 KB
{"version":3,"file":"bootstrap.js","sources":["../../js/src/dom/selector-engine.js","../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/data.js","../../js/src/base-component.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/util/scrollbar.js","../../js/src/util/backdrop.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children)\n .filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (ancestor.matches(selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","import SelectorEngine from '../dom/selector-engine'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return SelectorEngine.findOne(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst customEventsRegex = /^(mouseenter|mouseleave)/i\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n event.delegateTarget = element\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n // eslint-disable-next-line unicorn/consistent-destructuring\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n let typeEvent = getTypeEvent(originalTypeEvent)\n const isNative = nativeEvents.has(typeEvent)\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (customEventsRegex.test(originalTypeEvent)) {\n const wrapFn = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n if (delegationFn) {\n delegationFn = wrapFn(delegationFn)\n } else {\n handler = wrapFn(handler)\n }\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.has(typeEvent)\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\nimport {\n executeAfterTransition,\n getElement\n} from './util/index'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst VERSION = '5.0.2'\n\nclass BaseComponent {\n constructor(element) {\n element = getElement(element)\n\n if (!element) {\n return\n }\n\n this._element = element\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n Object.getOwnPropertyNames(this).forEach(propertyName => {\n this[propertyName] = null\n })\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n /** Static */\n\n static getInstance(element) {\n return Data.get(element, this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-bs-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASS_NAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(element), element, isAnimated)\n }\n\n _destroyElement(element) {\n element.remove()\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n\n Object.keys(element.dataset)\n .filter(key => key.startsWith('bs'))\n .forEach(key => {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n getNextActiveElement,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_INDICATOR = '[data-bs-target]'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const order = index > activeIndex ?\n ORDER_NEXT :\n ORDER_PREV\n\n this._slide(order, this._items[index])\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n if (!direction) {\n return\n }\n\n this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT)\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n this.touchDeltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this.touchStartX\n }\n\n const end = event => {\n if (this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(direction)\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByOrder(order, activeElement) {\n const isNext = order === ORDER_NEXT\n return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap)\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement)\n\n for (let i = 0; i < indicators.length; i++) {\n if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {\n indicators[i].classList.add(CLASS_NAME_ACTIVE)\n indicators[i].setAttribute('aria-current', 'true')\n break\n }\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(directionOrOrder, element) {\n const order = this._directionToOrder(directionOrOrder)\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || this._getItemByOrder(order, activeElement)\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n const isNext = order === ORDER_NEXT\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n const eventDirectionName = this._orderToDirection(order)\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n if (this._isSliding) {\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n const triggerSlidEvent = () => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n setTimeout(triggerSlidEvent, 0)\n }\n\n this._queueCallback(completeCallBack, activeElement, true)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n triggerSlidEvent()\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _directionToOrder(direction) {\n if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\n return direction\n }\n\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (![ORDER_NEXT, ORDER_PREV].includes(order)) {\n return order\n }\n\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n\n static carouselInterface(element, config) {\n const data = Carousel.getOrCreateInstance(element, config)\n\n let { _config } = data\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Carousel.getInstance(target).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n getSelectorFromElement,\n getElementFromSelector,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._isTransitioning = false\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${this._element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-bs-target=\"#${this._element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === this._element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-bs-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.find(elem => container !== elem)\n activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.set(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n parent = getElement(parent)\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-bs-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Collapse.getInstance(element)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Collapse.getInstance(element)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n getElement,\n getElementFromSelector,\n isDisabled,\n isElement,\n isVisible,\n isRTL,\n noop,\n getNextActiveElement,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_NAVBAR = 'navbar'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\n\nconst Default = {\n offset: [0, 2],\n boundary: 'clippingParents',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null,\n autoClose: true\n}\n\nconst DefaultType = {\n offset: '(array|string|function)',\n boundary: '(string|element)',\n reference: '(string|element|object)',\n display: 'string',\n popperConfig: '(null|object|function)',\n autoClose: '(boolean|string)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n if (isDisabled(this._element)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n if (isActive) {\n this.hide()\n return\n }\n\n this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Totally disable Popper for Dropdowns in Navbar\n if (this._inNavbar) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'none')\n } else {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false)\n\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n\n if (isDisplayStatic) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static')\n }\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', noop))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n this.toggle()\n })\n }\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', noop))\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n const data = Dropdown.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const context = Dropdown.getInstance(toggles[i])\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n if (!context._element.classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n const relatedTarget = {\n relatedTarget: context._element\n }\n\n if (event) {\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (!isActive && event.key === ESCAPE_KEY) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (isDisabled(this)) {\n return\n }\n\n const getToggleButton = () => this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n\n if (event.key === ESCAPE_KEY) {\n getToggleButton().focus()\n Dropdown.clearMenus()\n return\n }\n\n if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {\n if (!isActive) {\n getToggleButton().click()\n }\n\n Dropdown.getInstance(getToggleButton())._selectMenuItem(event)\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.dropdownInterface(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine'\nimport Manipulator from '../dom/manipulator'\nimport { isElement } from './index'\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width)\n }\n\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProp, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProp)\n const calculatedValue = window.getComputedStyle(element)[styleProp]\n element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, 'paddingRight')\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight')\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight')\n }\n\n _saveInitialAttribute(element, styleProp) {\n const actualValue = element.style[styleProp]\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProp, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProp) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProp)\n if (typeof value === 'undefined') {\n element.style.removeProperty(styleProp)\n } else {\n Manipulator.removeDataAttribute(element, styleProp)\n element.style[styleProp] = value\n }\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n } else {\n SelectorEngine.find(selector, this._element).forEach(callBack)\n }\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { execute, executeAfterTransition, getElement, reflow, typeCheckConfig } from './index'\n\nconst Default = {\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n isAnimated: false,\n rootElement: 'body', // give the choice to place backdrop under different elements\n clickCallback: null\n}\n\nconst DefaultType = {\n isVisible: 'boolean',\n isAnimated: 'boolean',\n rootElement: '(element|string)',\n clickCallback: '(function|null)'\n}\nconst NAME = 'backdrop'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nclass Backdrop {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n if (this._config.isAnimated) {\n reflow(this._getElement())\n }\n\n this._getElement().classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n // Private\n\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = CLASS_NAME_BACKDROP\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n this._config.rootElement.appendChild(this._getElement())\n\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport ScrollBarHelper from './util/scrollbar'\nimport BaseComponent from './base-component'\nimport Backdrop from './util/backdrop'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-bs-dismiss=\"modal\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._isShown = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n if (this._isAnimated()) {\n this._isTransitioning = true\n }\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, event => this.hide(event))\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event && ['A', 'AREA'].includes(event.target.tagName)) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const isAnimated = this._isAnimated()\n\n if (isAnimated) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n this._queueCallback(() => this._hideModal(), this._element, isAnimated)\n }\n\n dispose() {\n [window, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n this._backdrop.dispose()\n super.dispose()\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value\n isAnimated: this._isAnimated()\n })\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const isAnimated = this._isAnimated()\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (isAnimated) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, isAnimated)\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _showBackdrop(callback) {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === true) {\n this.hide()\n } else if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n }\n })\n\n this._backdrop.show(callback)\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const { classList, scrollHeight, style } = this._element\n const isModalOverflowing = scrollHeight > document.documentElement.clientHeight\n\n // return if the following background transition hasn't yet completed\n if ((!isModalOverflowing && style.overflowY === 'hidden') || classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n style.overflowY = 'hidden'\n }\n\n classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n this._queueCallback(() => {\n style.overflowY = ''\n }, this._dialog)\n }\n }, this._dialog)\n\n this._element.focus()\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if ((!isBodyOverflowing && isModalOverflowing && !isRTL()) || (isBodyOverflowing && !isModalOverflowing && isRTL())) {\n this._element.style.paddingLeft = `${scrollbarWidth}px`\n }\n\n if ((isBodyOverflowing && !isModalOverflowing && !isRTL()) || (!isBodyOverflowing && isModalOverflowing && isRTL())) {\n this._element.style.paddingRight = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isDisabled,\n isVisible,\n typeCheckConfig\n} from './util/index'\nimport ScrollBarHelper from './util/scrollbar'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport SelectorEngine from './dom/selector-engine'\nimport Manipulator from './dom/manipulator'\nimport Backdrop from './util/backdrop'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: 'boolean',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\nconst CLASS_NAME_SHOW = 'show'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_DISMISS = '[data-bs-dismiss=\"offcanvas\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._addEventListeners()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._element.style.visibility = 'visible'\n\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n this._enforceFocusOnElement(this._element)\n }\n\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const completeCallBack = () => {\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n EventHandler.off(document, EVENT_FOCUSIN)\n this._element.blur()\n this._isShown = false\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._element.style.visibility = 'hidden'\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n super.dispose()\n EventHandler.off(document, EVENT_FOCUSIN)\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: this._config.backdrop,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: () => this.hide()\n })\n }\n\n _enforceFocusOnElement(element) {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n element !== event.target &&\n !element.contains(event.target)) {\n element.focus()\n }\n })\n element.focus()\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n this.hide()\n }\n })\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (allReadyOpen && allReadyOpen !== target) {\n Offcanvas.getInstance(allReadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () =>\n SelectorEngine.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst 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\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attrName)) {\n if (uriAttrs.has(attrName)) {\n return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attrName)) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (!allowlistKeys.includes(elName)) {\n el.remove()\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n findShadowRoot,\n getElement,\n getUID,\n isElement,\n isRTL,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(array|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacements: 'array',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object|function)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div>' +\n '</div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: [0, 0],\n container: false,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n boundary: 'clippingParents',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element)\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this._config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const context = this._initializeOnDelegatedTarget(event)\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.remove()\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this.isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = shadowRoot === null ?\n this._element.ownerDocument.documentElement.contains(this._element) :\n shadowRoot.contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this._element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this._config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this._config.placement === 'function' ?\n this._config.placement.call(this, tip, this._element) :\n this._config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const { container } = this._config\n Data.set(tip, this.constructor.DATA_KEY, this)\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n EventHandler.trigger(this._element, this.constructor.Event.INSERTED)\n }\n\n if (this._popper) {\n this._popper.update()\n } else {\n this._popper = Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n const customClass = typeof this._config.customClass === 'function' ? this._config.customClass() : this._config.customClass\n if (customClass) {\n tip.classList.add(...customClass.split(' '))\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop)\n })\n }\n\n const complete = () => {\n const prevHoverState = this._hoverState\n\n this._hoverState = null\n EventHandler.trigger(this._element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(complete, this.tip, isAnimated)\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (this._hoverState !== HOVER_STATE_SHOW) {\n tip.remove()\n }\n\n this._cleanTipClass()\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.Event.HIDDEN)\n\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(complete, this.tip, isAnimated)\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.update()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this._config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (isElement(content)) {\n content = getElement(content)\n\n // content is a DOM node or a jQuery\n if (this._config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this._config.html) {\n if (this._config.sanitize) {\n content = sanitizeHtml(content, this._config.allowList, this._config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this._element.getAttribute('data-bs-original-title')\n\n if (!title) {\n title = typeof this._config.title === 'function' ?\n this._config.title.call(this._element) :\n this._config.title\n }\n\n return title\n }\n\n updateAttachment(attachment) {\n if (attachment === 'right') {\n return 'end'\n }\n\n if (attachment === 'left') {\n return 'start'\n }\n\n return attachment\n }\n\n // Private\n\n _initializeOnDelegatedTarget(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.get(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(event.delegateTarget, this._getDelegateConfig())\n Data.set(event.delegateTarget, dataKey, context)\n }\n\n return context\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'onChange',\n enabled: true,\n phase: 'afterWrite',\n fn: data => this._handlePopperPlacementChange(data)\n }\n ],\n onFirstUpdate: data => {\n if (data.options.placement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n }\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${this.updateAttachment(attachment)}`)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.Event.CLICK, this._config.selector, event => this.toggle(event))\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => this._enter(event))\n EventHandler.on(this._element, eventOut, this._config.selector, event => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this._config.selector) {\n this._config = {\n ...this._config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n const originalTitleType = typeof this._element.getAttribute('data-bs-original-title')\n\n if (title || originalTitleType !== 'string') {\n this._element.setAttribute('data-bs-original-title', title || '')\n if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n context = this._initializeOnDelegatedTarget(event, context)\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context._config.delay || !context._config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context._config.delay.show)\n }\n\n _leave(event, context) {\n context = this._initializeOnDelegatedTarget(event, context)\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = context._element.contains(event.relatedTarget)\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context._config.delay || !context._config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context._config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this._config) {\n for (const key in this._config) {\n if (this.constructor.Default[key] !== this._config[key]) {\n config[key] = this._config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const { state } = popperData\n\n if (!state) {\n return\n }\n\n this.tip = state.elements.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(state.placement))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n offset: [0, 8],\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n this.tip = super.getTipElement()\n\n if (!this.getTitle()) {\n SelectorEngine.findOne(SELECTOR_TITLE, this.tip).remove()\n }\n\n if (!this._getContent()) {\n SelectorEngine.findOne(SELECTOR_CONTENT, this.tip).remove()\n }\n\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this._element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${this.updateAttachment(attachment)}`)\n }\n\n _getContent() {\n return this._element.getAttribute('data-bs-content') || this._config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element)\n this._scrollElement = this._element.tagName === 'BODY' ? window : this._element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, () => this._process())\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n EventHandler.off(this._scrollElement, EVENT_KEY)\n super.dispose()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-bs-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = ScrollSpy.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy))\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .ScrollSpy to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(ScrollSpy)\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isDisabled,\n reflow\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE))) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = previous ?\n EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n }) :\n null\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented || (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(this._element, listElement)\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(element, active, callback)\n\n if (active && isTransitioning) {\n active.classList.remove(CLASS_NAME_SHOW)\n this._queueCallback(complete, element, true)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n let parent = element.parentNode\n if (parent && parent.nodeName === 'LI') {\n parent = parent.parentNode\n }\n\n if (parent && parent.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE, dropdownElement)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tab.getOrCreateInstance(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const data = Tab.getOrCreateInstance(this)\n data.show()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tab to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Tab)\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-bs-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\n }\n\n // Getters\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n super.dispose()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _maybeScheduleHide() {\n if (!this._config.autohide) {\n return\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return\n }\n\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n\n _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout':\n this._hasMouseInteraction = isInteracting\n break\n case 'focusin':\n case 'focusout':\n this._hasKeyboardInteraction = isInteracting\n break\n default:\n break\n }\n\n if (isInteracting) {\n this._clearTimeout()\n return\n }\n\n const nextElement = event.relatedTarget\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return\n }\n\n this._maybeScheduleHide()\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Toast.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Toast to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.2): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Offcanvas from './src/offcanvas'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Offcanvas,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["NODE_TEXT","SelectorEngine","find","selector","element","document","documentElement","concat","Element","prototype","querySelectorAll","call","findOne","querySelector","children","filter","child","matches","parents","ancestor","parentNode","nodeType","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","match","toLowerCase","getUID","prefix","Math","floor","random","getElementById","getSelector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","getElementFromSelector","getTransitionDurationFromElement","transitionDuration","transitionDelay","window","getComputedStyle","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","jquery","getElement","length","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","isVisible","getClientRects","getPropertyValue","isDisabled","classList","contains","disabled","hasAttribute","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","addEventListener","isRTL","dir","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","execute","executeAfterTransition","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","index","indexOf","listLength","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","customEventsRegex","nativeEvents","Set","getUidEvent","uid","getEvent","bootstrapHandler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","i","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","getTypeEvent","isNative","has","addHandler","wrapFn","relatedTarget","handlers","previousFn","replace","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","key","defineProperty","get","preventDefault","elementMap","Map","set","instance","instanceMap","size","console","error","Array","from","remove","delete","VERSION","BaseComponent","constructor","_element","Data","DATA_KEY","dispose","EVENT_KEY","getOwnPropertyNames","propertyName","_queueCallback","isAnimated","getInstance","getOrCreateInstance","Error","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASS_NAME_ALERT","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","closest","_destroyElement","each","data","handleDismiss","alertInstance","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","dataset","pureKey","charAt","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","KEY_TO_DIRECTION","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_INDICATOR","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","activeIndex","_getItemIndex","order","_handleSwipe","absDeltax","abs","direction","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","e","add","tagName","_getItemByOrder","isNext","_triggerSlideEvent","eventDirectionName","targetIndex","fromIndex","_setActiveIndicatorElement","activeIndicator","indicators","parseInt","elementInterval","defaultInterval","directionOrOrder","_directionToOrder","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","_orderToDirection","slideEvent","triggerSlidEvent","completeCallBack","carouselInterface","action","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","style","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_NAVBAR","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","boundary","reference","display","popperConfig","autoClose","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","isActive","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","isDisplayStatic","modifiers","modifier","enabled","createPopper","focus","_completeHide","destroy","update","hideEvent","_getPlacement","parentDropdown","isEnd","_getOffset","map","popperData","defaultBsPopperConfig","placement","options","_selectMenuItem","items","dropdownInterface","clearMenus","toggles","context","composedPath","isMenuTarget","clickEvent","dataApiKeydownHandler","stopPropagation","getToggleButton","click","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","ScrollBarHelper","getWidth","documentWidth","clientWidth","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","_saveInitialAttribute","overflow","styleProp","scrollbarWidth","manipulationCallBack","_applyManipulationCallback","reset","_resetElementAttributes","actualValue","removeProperty","callBack","isOverflowing","clickCallback","CLASS_NAME_BACKDROP","EVENT_MOUSEDOWN","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","className","appendChild","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","Modal","_dialog","_backdrop","_initializeBackDrop","_isShown","_ignoreBackdropClick","_scrollBar","_isAnimated","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","htmlElement","handleUpdate","modalBody","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","currentTarget","scrollHeight","isModalOverflowing","clientHeight","overflowY","isBodyOverflowing","paddingLeft","paddingRight","scroll","OPEN_SELECTOR","Offcanvas","visibility","_enforceFocusOnElement","blur","completeCallback","allReadyOpen","el","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacements","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","_initializeOnDelegatedTarget","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","updateAttachment","dataKey","_getDelegateConfig","phase","_handlePopperPlacementChange","onFirstUpdate","triggers","eventIn","eventOut","_fixTitle","originalTitleType","dataAttributes","dataAttr","tabClass","token","tClass","state","popper","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","_onInteraction","isInteracting"],"mappings":"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"}