NK_Design/js/bootstrap.js.map

1 line
273 KiB
Plaintext

{"version":3,"file":"bootstrap.js","sources":["../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/data.js","../../js/src/dom/manipulator.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/selector-engine.js","../../js/src/util/swipe.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/util/focustrap.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.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.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return selector\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 = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0]\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(object)\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = 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 const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n defineJQueryPlugin,\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getElementFromSelector,\n getjQuery,\n getNextActiveElement,\n getSelectorFromElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): 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 * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\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 * Private methods\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 (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.originalHandler === handler && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFunction : handler\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFunction\n delegationFunction = 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 wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n if (delegationFunction) {\n delegationFunction = wrapFunction(delegationFunction)\n } else {\n handler = wrapFunction(handler)\n }\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFunction) :\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 for (const handlerKey of Object.keys(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey]\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, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\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 for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n const storeElementEvent = events[typeEvent] || {}\n for (const keyHandlers of Object.keys(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers]\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\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n const evt = new Event(event, { bubbles, cancelable: true })\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n for (const key of Object.keys(args)) {\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 && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\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.1.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n return value\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\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.1.3): util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isElement, toType } from './index'\nimport Manipulator from '../dom/manipulator'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n return {\n ...this.constructor.Default,\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const property of Object.keys(configTypes)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\nimport { executeAfterTransition, getElement } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Config from './util/config'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.1.3'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { getElementFromSelector, isDisabled } from './index'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): alert.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'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): 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 * Constants\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'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\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 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 * Data API implementation\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 * jQuery\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible } from '../util/index'\n\n/**\n * Constants\n */\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Config from './config'\nimport EventHandler from '../dom/event-handler'\nimport { execute } from './index'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\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 POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n leftCallback: null,\n rightCallback: null,\n endCallback: null\n}\n\nconst DefaultType = {\n leftCallback: '(function|null)',\n rightCallback: '(function|null)',\n endCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport Swipe from './util/swipe'\nimport BaseComponent from './base-component'\n\n/**\n * Constants\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\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\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_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'\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_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\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\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\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._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\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 this._clearInterval()\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n this._clearInterval()\n if (this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n }\n\n to(index) {\n this._activeElement = this._getActive()\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 dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\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 && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\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 const swipeConfig = {\n leftCallback: () => this._slide(DIRECTION_LEFT),\n rightCallback: () => this._slide(DIRECTION_RIGHT),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\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(this._getActive())\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 return\n }\n\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 newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${this._getItemIndex(element)}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(directionOrOrder, element) {\n const order = this._directionToOrder(directionOrOrder)\n const activeElement = this._getActive()\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 _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\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 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 * Data API implementation\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 (const carousel of carousels) {\n Carousel.carouselInterface(carousel, Carousel.getInstance(carousel))\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n getElementFromSelector,\n getSelectorFromElement,\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 * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n toggle: true,\n parent: null\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(null|element)'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\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 this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\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 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._isShown()) {\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 for (const trigger of this._triggerArray) {\n const element = getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = 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 _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n return this.each(function () {\n const data = Collapse.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 * Data API implementation\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 selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n for (const element of selectorElements) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport {\n defineJQueryPlugin,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\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 * Constants\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 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 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}`\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'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\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 * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n this._menu = SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\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 this._createPopper()\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 && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\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 _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 for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\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 = super._getConfig(config)\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 _createPopper() {\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 = this._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 this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\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(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 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 or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // todo:v6 remove\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(element => isVisible(element))\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 static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.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 static clearMenus(event) {\n if (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 (const toggle of toggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n if (!context._isShown()) {\n continue\n }\n\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 const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in UP | DOWN | ESCAPE => not a dropdown command\n // If input/textarea && 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\n const { target, key, delegateTarget } = event\n const isInput = /input|textarea/i.test(target.tagName)\n const isEscapeEvent = key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(key)\n\n if (!isInput && !(isUpOrDownEvent || isEscapeEvent)) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n // eslint-disable-next-line unicorn/no-lonely-if\n if (!isUpOrDownEvent || target.closest(SELECTOR_MENU)) {\n return\n }\n }\n\n const isActive = delegateTarget.classList.contains(CLASS_NAME_SHOW)\n\n if (!isActive && isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (isDisabled(this)) {\n return\n }\n\n const getToggleButton = SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, delegateTarget.parentNode)\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isEscapeEvent) {\n instance.hide()\n getToggleButton.focus()\n return\n }\n\n if (isUpOrDownEvent) {\n instance.show()\n instance._selectMenuItem(event)\n }\n }\n}\n\n/**\n * Data API implementation\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.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): 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\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { execute, executeAfterTransition, getElement, reflow } from './index'\nimport Config from './config'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n 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 className: 'string',\n isVisible: 'boolean',\n isAnimated: 'boolean',\n rootElement: '(element|string)',\n clickCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.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 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 // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\nimport Config from './config'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n trapElement: null, // The element to trap focus inside of\n autofocus: true\n}\n\nconst DefaultType = {\n trapElement: 'element',\n autofocus: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin, getElementFromSelector, isRTL, isVisible, reflow } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport ScrollBarHelper from './util/scrollbar'\nimport BaseComponent from './base-component'\nimport Backdrop from './util/backdrop'\nimport FocusTrap from './util/focustrap'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * Constants\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 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_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.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 OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\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\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || 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 this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._toggleEscapeEventListener(true)\n this._toggleResizeEventListener(true)\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\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 this._isTransitioning = true\n\n this._toggleEscapeEventListener(false)\n this._toggleResizeEventListener(false)\n\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n for (const htmlElement of [window, this._dialog]) {\n EventHandler.off(htmlElement, EVENT_KEY)\n }\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n isVisible,\n isAnimated: this._isAnimated(),\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(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 const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _toggleEscapeEventListener(enable) {\n if (!enable) {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n return\n }\n\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n event.preventDefault()\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n }\n\n _toggleResizeEventListener(enable) {\n if (enable) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n return\n }\n\n EventHandler.off(window, EVENT_RESIZE)\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\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 _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 isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog)\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) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\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 * Data API implementation\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 // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isDisabled,\n isVisible\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 Backdrop from './util/backdrop'\nimport FocusTrap from './util/focustrap'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: 'boolean',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\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 this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new 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 this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible: this._config.backdrop,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: () => this.hide()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\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 static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\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 alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttributes = 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 https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/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 = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\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, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer'\nimport { getElement, isElement } from '../util/index'\nimport SelectorEngine from '../dom/selector-engine'\nimport Config from './config'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n extraClass: '',\n template: '<div></div>',\n content: {}, // { selector : text , selector2 : text2 , }\n html: false,\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist\n}\n\nconst DefaultType = {\n extraClass: '(string|function)',\n template: 'string',\n content: 'object',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object'\n}\n\nconst DefaultContentType = {\n selector: '(string|element)',\n entry: '(string|element|function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return typeof arg === 'function' ? arg(this) : arg\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport {\n defineJQueryPlugin,\n findShadowRoot,\n getElement,\n getUID,\n isRTL,\n noop\n} from './util/index'\nimport { DefaultAllowlist } from './util/sanitizer'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport BaseComponent from './base-component'\nimport TemplateFactory from './util/template-factory'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\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 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 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\n/**\n * Class definition\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, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = false\n this._activeTrigger = {}\n this._popper = null\n this._templateFactory = null\n\n // Protected\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\n }\n\n // Public\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()\n } else {\n context._leave()\n }\n\n return\n }\n\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this.tip) {\n this.tip.remove()\n }\n\n this._disposePopper()\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\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.Event.INSERTED)\n }\n\n if (this._popper) {\n this._popper.update()\n } else {\n this._createPopper(tip)\n }\n\n tip.classList.add(CLASS_NAME_SHOW)\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 for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n const previousHoverState = this._isHovered\n\n this._isHovered = false\n EventHandler.trigger(this._element, this.constructor.Event.SHOWN)\n\n if (previousHoverState) {\n this._leave()\n }\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\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 for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = false\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n tip.remove()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.Event.HIDDEN)\n\n this._disposePopper()\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n // todo: remove this check on v6\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n // todo: on v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n let isShown = false\n if (this.tip) {\n isShown = this._isShown()\n this.tip.remove()\n this.tip = null\n }\n\n this._disposePopper()\n this.tip = this._createTipElement(content)\n\n if (isShown) {\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._config.title\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createPopper(tip) {\n const placement = typeof this._config.placement === 'function' ?\n this._config.placement.call(this, tip, this._element) :\n this._config.placement\n const attachment = AttachmentMap[placement.toUpperCase()]\n this._popper = Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return typeof arg === 'function' ? arg.call(this._element) : arg\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: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n }\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 _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\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 => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, 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._config.originalTitle\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\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 config.originalTitle = this._element.getAttribute('title') || ''\n config.title = this._resolvePossibleFunction(config.title) || config.originalTitle\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 return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\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 // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.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 * jQuery\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport Tooltip from './tooltip'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\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: '(null|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\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.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 * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin, getElement, getSelectorFromElement } 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 * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}, .${CLASS_NAME_DROPDOWN_ITEM}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\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\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n this._scrollElement = this._element.tagName === 'BODY' ? window : this._element\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 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 refresh() {\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION\n const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method\n const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0\n const targets = SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target)\n .map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (!target) {\n return null\n }\n\n const targetBCR = target.getBoundingClientRect()\n\n return targetBCR.width || targetBCR.height ?\n [Manipulator[offsetMethod](target).top + offsetBase, targetSelector] :\n null\n })\n .filter(Boolean)\n .sort((a, b) => a[0] - b[0])\n\n for (const target of targets) {\n this._offsets.push(target[0])\n this._targets.push(target[1])\n }\n }\n\n dispose() {\n EventHandler.off(this._scrollElement, EVENT_KEY)\n super.dispose()\n }\n\n // Private\n\n _configAfterMerge(config) {\n config.target = getElement(config.target) || document.documentElement\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 (const i of this._offsets.keys()) {\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 = SELECTOR_LINK_ITEMS.split(',')\n .map(selector => `${selector}[data-bs-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','), this._config.target)\n\n link.classList.add(CLASS_NAME_ACTIVE)\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 } else {\n for (const listGroup of SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)) {\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 for (const item of SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)) {\n item.classList.add(CLASS_NAME_ACTIVE)\n }\n\n // Handle special case when .nav-link is inside .nav-item\n for (const navItem of SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)) {\n for (const item of SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)) {\n item.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n const activeNodes = SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n\n for (const node of activeNodes) {\n node.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // Static\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 * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n new ScrollSpy(spy) // eslint-disable-line no-new\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(ScrollSpy)\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin, getElementFromSelector, isDisabled, reflow } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * Constants\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 * Class definition\n */\n\nclass Tab extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\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 const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n let previous\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, { relatedTarget: this._element }) :\n null\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget: previous })\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, { relatedTarget: this._element })\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget: previous })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n // Private\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 for (const dropdown of SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE, dropdownElement)) {\n dropdown.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\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 * Data API implementation\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 * jQuery\n */\n\ndefineJQueryPlugin(Tab)\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin, reflow } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\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' // @deprecated - kept here only for backwards compatibility\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\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show() {\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 EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOW, 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) // @deprecated\n this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.add(CLASS_NAME_SHOWING)\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 _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_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 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 * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): 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":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","object","undefined","Object","prototype","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttribute","includes","startsWith","split","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","transitionDuration","transitionDelay","window","getComputedStyle","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","jquery","nodeType","getElement","length","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","parentNode","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","addEventListener","push","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","listLength","index","indexOf","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","querySelectorAll","domElement","findHandler","events","delegationSelector","values","find","originalHandler","normalizeParameters","originalTypeEvent","delegationFunction","delegation","typeEvent","getTypeEvent","has","addHandler","test","wrapFunction","relatedTarget","handlers","previousFunction","replace","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","keys","on","one","inNamespace","isNamespace","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","key","defineProperty","get","preventDefault","elementMap","Map","set","instance","instanceMap","size","console","error","Array","from","remove","delete","normalizeData","value","normalizeDataKey","chr","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","offset","rect","getBoundingClientRect","top","pageYOffset","left","pageXOffset","position","offsetTop","offsetLeft","Config","Default","DefaultType","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","enableDismissTrigger","component","method","clickEvent","tagName","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","_destroyElement","each","data","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","leftCallback","rightCallback","endCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","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","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","slide","pause","wrap","touch","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","_clearInterval","_updateInterval","setInterval","to","_getActive","activeIndex","_getItemIndex","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_getItemByOrder","isNext","_triggerSlideEvent","eventDirectionName","targetIndex","fromIndex","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","directionOrOrder","_directionToOrder","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","_orderToDirection","slideEvent","triggerSlidEvent","completeCallBack","clearInterval","carouselInterface","action","ride","dataApiClickHandler","slideIndex","carousels","carousel","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","selected","triggerArray","isOpen","selectorElements","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","SELECTOR_MENU","SELECTOR_NAVBAR","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","_parent","_menu","_inNavbar","_detectNavbar","showEvent","_createPopper","focus","_completeHide","destroy","update","hideEvent","Popper","referenceElement","_getPopperConfig","createPopper","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","placement","modifiers","options","enabled","_selectMenuItem","items","clearMenus","toggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isActive","stopPropagation","getToggleButton","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","sel","EVENT_MOUSEDOWN","className","rootElement","clickCallback","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","trapElement","autofocus","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","OPEN_SELECTOR","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_toggleEscapeEventListener","_toggleResizeEventListener","_showElement","_hideModal","_isAnimated","htmlElement","handleUpdate","_triggerBackdropTransition","scrollTop","modalBody","transitionComplete","enable","_resetAdjustments","isModalOverflowing","scrollHeight","clientHeight","initialOverflowY","overflowY","isBodyOverflowing","paddingLeft","paddingRight","alreadyOpen","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","scroll","Offcanvas","blur","completeCallback","uriAttributes","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","extraClass","template","content","html","sanitize","sanitizeFn","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","entries","_setContent","arg","templateElement","_putElementInTemplate","textContent","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","title","delay","container","fallbackPlacements","customClass","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","tip","_setListeners","disable","toggleEnabled","_initializeOnDelegatedTarget","click","_isWithActiveTrigger","_enter","_leave","_hideModalHandler","_disposePopper","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","previousHoverState","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","isShown","_getDelegateConfig","attachment","phase","state","triggers","eventIn","eventOut","_fixTitle","originalTitle","_setTimeout","timeout","dataAttributes","dataAttribute","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","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_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","_getScrollHeight","autoMethod","offsetMethod","offsetBase","_getScrollTop","targets","targetSelector","targetBCR","height","sort","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","listGroup","item","navItem","activeNodes","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","isTransitioning","_transitionComplete","dropdownChild","dropdownElement","dropdown","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","_onInteraction","isInteracting"],"mappings":"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"}