Home
last modified time | relevance | path

Searched refs:scope (Results 51 – 75 of 675) sorted by last modified time

12345678910>>...27

/plugin/combo/resources/library/bootstrap/5.0.1/
H A Dbootstrap.min.js.map1 {"version":3,"sources":["../../js/src/dom/selector-engine.js","../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/base-component.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/util/scrollbar.js","../../js/src/util/backdrop.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["SelectorEngine","find","selector","element","document","documentElement","concat","Element","prototype","querySelectorAll","call","findOne","querySelector","children","filter","child","matches","parents","ancestor","parentNode","nodeType","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","getUID","prefix","Math","floor","random","getElementById","getSelector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","getElementFromSelector","getTransitionDurationFromElement","transitionDuration","transitionDelay","window","getComputedStyle","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","jquery","getElement","length","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","TypeError","toUpperCase","isVisible","style","elementStyle","parentNodeStyle","display","visibility","isDisabled","classList","contains","disabled","hasAttribute","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","execute","elementMap","Map","Data","set","key","instance","has","instanceMap","get","size","console","error","Array","from","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","customEventsRegex","nativeEvents","Set","getUidEvent","uid","getEvent","findHandler","events","handler","delegationSelector","uidEventList","i","len","event","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","getTypeEvent","addHandler","oneOff","wrapFn","relatedTarget","delegateTarget","this","handlers","previousFn","replace","domElements","target","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","on","one","inNamespace","isNamespace","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","slice","keyHandlers","trigger","args","isNative","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","defineProperty","preventDefault","BaseComponent","constructor","_element","DATA_KEY","dispose","EVENT_KEY","getOwnPropertyNames","propertyName","_queueCallback","isAnimated","[object Object]","VERSION","Error","Alert","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","closest","_destroyElement","removeChild","each","data","alertInstance","handleDismiss","Button","toggle","setAttribute","normalizeData","val","normalizeDataKey","chr","button","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","dataset","pureKey","charAt","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","Carousel","super","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","order","_handleSwipe","absDeltax","abs","direction","_keydown","_addTouchEventListeners","start","pointerType","touches","clientX","move","end","clearTimeout","itemImg","e","add","tagName","indexOf","_getItemByOrder","activeElement","isNext","isPrev","lastItemIndex","itemIndex","_triggerSlideEvent","eventDirectionName","targetIndex","fromIndex","_setActiveIndicatorElement","activeIndicator","indicators","parseInt","elementInterval","defaultInterval","directionOrOrder","_directionToOrder","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","_orderToDirection","triggerSlidEvent","completeCallBack","action","ride","carouselInterface","slideIndex","dataApiClickHandler","carousels","parent","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","selected","triggerArray","isOpen","triggerData","REGEXP_KEYDOWN","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","boundary","reference","popperConfig","autoClose","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","getParentFromElement","Popper","referenceElement","_getPopperConfig","isDisplayStatic","modifiers","modifier","enabled","createPopper","focus","_completeHide","destroy","update","_getPlacement","parentDropdown","isEnd","getPropertyValue","_getOffset","map","popperData","defaultBsPopperConfig","placement","options","_selectMenuItem","items","dropdownInterface","toggles","context","composedPath","isMenuTarget","clickEvent","isActive","stopPropagation","getToggleButton","clearMenus","getInstance","click","dataApiKeydownHandler","getWidth","documentWidth","clientWidth","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","actualValue","overflow","styleProp","scrollbarWidth","reset","_resetElementAttributes","removeProperty","clickCallback","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","className","appendChild","backdropTransitionDuration","Modal","_dialog","_backdrop","_initializeBackDrop","_isShown","_ignoreBackdropClick","_isAnimated","showEvent","scrollBarHide","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","htmlElement","handleUpdate","modalBody","_enforceFocus","_triggerBackdropTransition","_resetAdjustments","scrollBarReset","currentTarget","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","getScrollBarWidth","isBodyOverflowing","paddingLeft","paddingRight","scroll","Offcanvas","_enforceFocusOnElement","blur","undefined","allReadyOpen","el","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","allowlistKeys","elements","elName","attributeList","allowedAttributes","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacements","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","_initializeOnDelegatedTarget","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","updateAttachment","dataKey","_getDelegateConfig","phase","_handlePopperPlacementChange","onFirstUpdate","eventIn","eventOut","_fixTitle","originalTitleType","dataAttributes","dataAttr","tabClass","token","tClass","state","popper","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","node","spy","Tab","listElement","itemSelector","hideEvent","complete","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","_onInteraction","isInteracting"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children)\n .filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (ancestor.matches(selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n }\n}\n\nexport default SelectorEngine\n","import SelectorEngine from '../dom/selector-engine'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return SelectorEngine.findOne(obj)\n }\n\n return null\n}\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', 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\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst customEventsRegex = /^(mouseenter|mouseleave)/i\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n event.delegateTarget = element\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n // eslint-disable-next-line unicorn/consistent-destructuring\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n let typeEvent = getTypeEvent(originalTypeEvent)\n const isNative = nativeEvents.has(typeEvent)\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (customEventsRegex.test(originalTypeEvent)) {\n const wrapFn = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n if (delegationFn) {\n delegationFn = wrapFn(delegationFn)\n } else {\n handler = wrapFn(handler)\n }\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.has(typeEvent)\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\nimport {\n emulateTransitionEnd,\n execute,\n getElement,\n getTransitionDurationFromElement\n} from './util/index'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst VERSION = '5.0.1'\n\nclass BaseComponent {\n constructor(element) {\n element = getElement(element)\n\n if (!element) {\n return\n }\n\n this._element = element\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n Object.getOwnPropertyNames(this).forEach(propertyName => {\n this[propertyName] = null\n })\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n if (!isAnimated) {\n execute(callback)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n EventHandler.one(element, 'transitionend', () => execute(callback))\n\n emulateTransitionEnd(element, transitionDuration)\n }\n\n /** Static */\n\n static getInstance(element) {\n return Data.get(element, this.DATA_KEY)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-bs-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n close(element) {\n const rootElement = element ? this._getRootElement(element) : this._element\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n // Private\n\n _getRootElement(element) {\n return getElementFromSelector(element) || element.closest(`.${CLASS_NAME_ALERT}`)\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, EVENT_CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(element), element, isAnimated)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, EVENT_CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.get(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.get(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n\n let data = Data.get(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n\n Object.keys(element.dataset)\n .filter(key => key.startsWith('bs'))\n .forEach(key => {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_INDICATOR = '[data-bs-target]'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(ORDER_NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(ORDER_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const order = index > activeIndex ?\n ORDER_NEXT :\n ORDER_PREV\n\n this._slide(order, this._items[index])\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n if (!direction) {\n return\n }\n\n this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT)\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n this.touchDeltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this.touchStartX\n }\n\n const end = event => {\n if (this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n if (event.key === ARROW_LEFT_KEY) {\n event.preventDefault()\n this._slide(DIRECTION_RIGHT)\n } else if (event.key === ARROW_RIGHT_KEY) {\n event.preventDefault()\n this._slide(DIRECTION_LEFT)\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 const isPrev = order === ORDER_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrev && activeIndex === 0) || (isNext && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = isPrev ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement)\n\n for (let i = 0; i < indicators.length; i++) {\n if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {\n indicators[i].classList.add(CLASS_NAME_ACTIVE)\n indicators[i].setAttribute('aria-current', 'true')\n break\n }\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(directionOrOrder, element) {\n const order = this._directionToOrder(directionOrOrder)\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || this._getItemByOrder(order, activeElement)\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n const isNext = order === ORDER_NEXT\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n const eventDirectionName = this._orderToDirection(order)\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n const triggerSlidEvent = () => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n setTimeout(triggerSlidEvent, 0)\n }\n\n this._queueCallback(completeCallBack, activeElement, true)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n triggerSlidEvent()\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _directionToOrder(direction) {\n if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\n return direction\n }\n\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (![ORDER_NEXT, ORDER_PREV].includes(order)) {\n return order\n }\n\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.get(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\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 (!data) {\n data = new Carousel(element, _config)\n }\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 Data.get(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.get(carousels[i], DATA_KEY))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n getSelectorFromElement,\n getElementFromSelector,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._isTransitioning = false\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${this._element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-bs-target=\"#${this._element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === this._element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-bs-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.find(elem => container !== elem)\n activesData = tempActiveData ? Data.get(tempActiveData, DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.set(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n parent = getElement(parent)\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-bs-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.get(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.get(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n getElement,\n getElementFromSelector,\n isDisabled,\n isElement,\n isVisible,\n isRTL,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_NAVBAR = 'navbar'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\n\nconst Default = {\n offset: [0, 2],\n boundary: 'clippingParents',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null,\n autoClose: true\n}\n\nconst DefaultType = {\n offset: '(array|string|function)',\n boundary: '(string|element)',\n reference: '(string|element|object)',\n display: 'string',\n popperConfig: '(null|object|function)',\n autoClose: '(boolean|string)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n if (isDisabled(this._element)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n if (isActive) {\n this.hide()\n return\n }\n\n this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Totally disable Popper for Dropdowns in Navbar\n if (this._inNavbar) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'none')\n } else {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false)\n\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n\n if (isDisplayStatic) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static')\n }\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', noop))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n this.toggle()\n })\n }\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', noop))\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _selectMenuItem(event) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n // Up\n if (event.key === ARROW_UP_KEY && index > 0) {\n index--\n }\n\n // Down\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) {\n index++\n }\n\n // index is -1 if the first keydown is an ArrowUp\n index = index === -1 ? 0 : index\n\n items[index].focus()\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.get(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const context = Data.get(toggles[i], DATA_KEY)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n if (!context._element.classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n const relatedTarget = {\n relatedTarget: context._element\n }\n\n if (event) {\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (!isActive && event.key === ESCAPE_KEY) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (isDisabled(this)) {\n return\n }\n\n const getToggleButton = () => this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n\n if (event.key === ESCAPE_KEY) {\n getToggleButton().focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive && (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) {\n getToggleButton().click()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n Dropdown.getInstance(getToggleButton())._selectMenuItem(event)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.dropdownInterface(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): 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'\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\nconst 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\nconst hide = (width = getWidth()) => {\n _disableOverFlow()\n // give padding to element to balances the hidden scrollbar width\n _setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements, to keep shown fullwidth\n _setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width)\n _setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width)\n}\n\nconst _disableOverFlow = () => {\n const actualValue = document.body.style.overflow\n if (actualValue) {\n Manipulator.setDataAttribute(document.body, 'overflow', actualValue)\n }\n\n document.body.style.overflow = 'hidden'\n}\n\nconst _setElementAttributes = (selector, styleProp, callback) => {\n const scrollbarWidth = getWidth()\n SelectorEngine.find(selector)\n .forEach(element => {\n if (element !== document.body && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n const actualValue = element.style[styleProp]\n const calculatedValue = window.getComputedStyle(element)[styleProp]\n Manipulator.setDataAttribute(element, styleProp, actualValue)\n element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`\n })\n}\n\nconst reset = () => {\n _resetElementAttributes('body', 'overflow')\n _resetElementAttributes('body', 'paddingRight')\n _resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight')\n _resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight')\n}\n\nconst _resetElementAttributes = (selector, styleProp) => {\n SelectorEngine.find(selector).forEach(element => {\n const value = Manipulator.getDataAttribute(element, styleProp)\n if (typeof value === 'undefined') {\n element.style.removeProperty(styleProp)\n } else {\n Manipulator.removeDataAttribute(element, styleProp)\n element.style[styleProp] = value\n }\n })\n}\n\nconst isBodyOverflowing = () => {\n return getWidth() > 0\n}\n\nexport {\n getWidth,\n hide,\n isBodyOverflowing,\n reset\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { emulateTransitionEnd, execute, getTransitionDurationFromElement, reflow, typeCheckConfig } from './index'\n\nconst Default = {\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n isAnimated: false,\n rootElement: document.body, // give the choice to place backdrop under different elements\n clickCallback: null\n}\n\nconst DefaultType = {\n isVisible: 'boolean',\n isAnimated: 'boolean',\n rootElement: 'element',\n clickCallback: '(function|null)'\n}\nconst NAME = 'backdrop'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nclass Backdrop {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n if (this._config.isAnimated) {\n reflow(this._getElement())\n }\n\n this._getElement().classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n // Private\n\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = CLASS_NAME_BACKDROP\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n\n config.rootElement = config.rootElement || document.body\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n this._config.rootElement.appendChild(this._getElement())\n\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._getElement().parentNode.removeChild(this._element)\n this._isAppended = false\n }\n\n _emulateAnimation(callback) {\n if (!this._config.isAnimated) {\n execute(callback)\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._getElement())\n EventHandler.one(this._getElement(), 'transitionend', () => execute(callback))\n emulateTransitionEnd(this._getElement(), backdropTransitionDuration)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isRTL,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport { getWidth as getScrollBarWidth, hide as scrollBarHide, reset as scrollBarReset } from './util/scrollbar'\nimport BaseComponent from './base-component'\nimport Backdrop from './util/backdrop'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-bs-dismiss=\"modal\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._isShown = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._isAnimated()) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n scrollBarHide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, event => this.hide(event))\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const isAnimated = this._isAnimated()\n\n if (isAnimated) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, EVENT_FOCUSIN)\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n this._queueCallback(() => this._hideModal(), this._element, isAnimated)\n }\n\n dispose() {\n [window, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n this._backdrop.dispose()\n super.dispose()\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, EVENT_FOCUSIN)\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value\n isAnimated: this._isAnimated()\n })\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const isAnimated = this._isAnimated()\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (isAnimated) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, isAnimated)\n }\n\n _enforceFocus() {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n scrollBarReset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _showBackdrop(callback) {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === true) {\n this.hide()\n } else if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n }\n })\n\n this._backdrop.show(callback)\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n EventHandler.off(this._element, 'transitionend')\n EventHandler.one(this._element, 'transitionend', () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n EventHandler.one(this._element, 'transitionend', () => {\n this._element.style.overflowY = ''\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\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 = getScrollBarWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if ((!isBodyOverflowing && isModalOverflowing && !isRTL()) || (isBodyOverflowing && !isModalOverflowing && isRTL())) {\n this._element.style.paddingLeft = `${scrollbarWidth}px`\n }\n\n if ((isBodyOverflowing && !isModalOverflowing && !isRTL()) || (!isBodyOverflowing && isModalOverflowing && isRTL())) {\n this._element.style.paddingRight = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getInstance(this) || new Modal(this, typeof config === 'object' ? config : {})\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n const data = Modal.getInstance(target) || new Modal(target)\n\n data.toggle(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isDisabled,\n isVisible,\n typeCheckConfig\n} from './util/index'\nimport { hide as scrollBarHide, reset as scrollBarReset } from './util/scrollbar'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport SelectorEngine from './dom/selector-engine'\nimport Manipulator from './dom/manipulator'\nimport Backdrop from './util/backdrop'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: 'boolean',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\nconst CLASS_NAME_SHOW = 'show'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_DISMISS = '[data-bs-dismiss=\"offcanvas\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._addEventListeners()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._element.style.visibility = 'visible'\n\n this._backdrop.show()\n\n if (!this._config.scroll) {\n scrollBarHide()\n this._enforceFocusOnElement(this._element)\n }\n\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const completeCallBack = () => {\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n EventHandler.off(document, EVENT_FOCUSIN)\n this._element.blur()\n this._isShown = false\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._element.style.visibility = 'hidden'\n\n if (!this._config.scroll) {\n scrollBarReset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n super.dispose()\n EventHandler.off(document, EVENT_FOCUSIN)\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: this._config.backdrop,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: () => this.hide()\n })\n }\n\n _enforceFocusOnElement(element) {\n EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n element !== event.target &&\n !element.contains(event.target)) {\n element.focus()\n }\n })\n element.focus()\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n this.hide()\n }\n })\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.get(this, DATA_KEY) || new Offcanvas(this, typeof config === 'object' ? config : {})\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (allReadyOpen && allReadyOpen !== target) {\n Offcanvas.getInstance(allReadyOpen).hide()\n }\n\n const data = Data.get(target, DATA_KEY) || new Offcanvas(target)\n\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(OPEN_SELECTOR).forEach(el => (Data.get(el, DATA_KEY) || new Offcanvas(el)).show())\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attrName)) {\n if (uriAttrs.has(attrName)) {\n return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attrName)) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const allowlistKeys = Object.keys(allowList)\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (!allowlistKeys.includes(elName)) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, allowedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n findShadowRoot,\n getElement,\n getUID,\n isElement,\n isRTL,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultAllowlist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(array|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacements: 'array',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object|function)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div>' +\n '</div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: [0, 0],\n container: false,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n boundary: 'clippingParents',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element)\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this._config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const context = this._initializeOnDelegatedTarget(event)\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip && this.tip.parentNode) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this.isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = shadowRoot === null ?\n this._element.ownerDocument.documentElement.contains(this._element) :\n shadowRoot.contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this._element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this._config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this._config.placement === 'function' ?\n this._config.placement.call(this, tip, this._element) :\n this._config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const { container } = this._config\n Data.set(tip, this.constructor.DATA_KEY, this)\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n EventHandler.trigger(this._element, this.constructor.Event.INSERTED)\n }\n\n if (this._popper) {\n this._popper.update()\n } else {\n this._popper = Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n const customClass = typeof this._config.customClass === 'function' ? this._config.customClass() : this._config.customClass\n if (customClass) {\n tip.classList.add(...customClass.split(' '))\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop)\n })\n }\n\n const complete = () => {\n const prevHoverState = this._hoverState\n\n this._hoverState = null\n EventHandler.trigger(this._element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(complete, this.tip, isAnimated)\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.Event.HIDDEN)\n\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(complete, this.tip, isAnimated)\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.update()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this._config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (isElement(content)) {\n content = getElement(content)\n\n // content is a DOM node or a jQuery\n if (this._config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this._config.html) {\n if (this._config.sanitize) {\n content = sanitizeHtml(content, this._config.allowList, this._config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n let title = this._element.getAttribute('data-bs-original-title')\n\n if (!title) {\n title = typeof this._config.title === 'function' ?\n this._config.title.call(this._element) :\n this._config.title\n }\n\n return title\n }\n\n updateAttachment(attachment) {\n if (attachment === 'right') {\n return 'end'\n }\n\n if (attachment === 'left') {\n return 'start'\n }\n\n return attachment\n }\n\n // Private\n\n _initializeOnDelegatedTarget(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.get(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(event.delegateTarget, this._getDelegateConfig())\n Data.set(event.delegateTarget, dataKey, context)\n }\n\n return context\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'onChange',\n enabled: true,\n phase: 'afterWrite',\n fn: data => this._handlePopperPlacementChange(data)\n }\n ],\n onFirstUpdate: data => {\n if (data.options.placement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n }\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${this.updateAttachment(attachment)}`)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.Event.CLICK, this._config.selector, event => this.toggle(event))\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => this._enter(event))\n EventHandler.on(this._element, eventOut, this._config.selector, event => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n if (this._config.selector) {\n this._config = {\n ...this._config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n const originalTitleType = typeof this._element.getAttribute('data-bs-original-title')\n\n if (title || originalTitleType !== 'string') {\n this._element.setAttribute('data-bs-original-title', title || '')\n if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n context = this._initializeOnDelegatedTarget(event, context)\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context._config.delay || !context._config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context._config.delay.show)\n }\n\n _leave(event, context) {\n context = this._initializeOnDelegatedTarget(event, context)\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = context._element.contains(event.relatedTarget)\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context._config.delay || !context._config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context._config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this._config) {\n for (const key in this._config) {\n if (this.constructor.Default[key] !== this._config[key]) {\n config[key] = this._config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const { state } = popperData\n\n if (!state) {\n return\n }\n\n this.tip = state.elements.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(state.placement))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.get(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n offset: [0, 8],\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this._element)\n }\n\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n }\n\n // Private\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${this.updateAttachment(attachment)}`)\n }\n\n _getContent() {\n return this._element.getAttribute('data-bs-content') || this._config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.get(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.set(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getSelectorFromElement,\n getUID,\n isElement,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element)\n this._scrollElement = this._element.tagName === 'BODY' ? window : this._element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, () => this._process())\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n EventHandler.off(this._scrollElement, EVENT_KEY)\n super.dispose()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && isElement(config.target)) {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-bs-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(CLASS_NAME_ACTIVE)\n\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n SelectorEngine.find(this._selector)\n .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = ScrollSpy.getInstance(this) || new ScrollSpy(this, typeof config === 'object' ? config : {})\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n SelectorEngine.find(SELECTOR_DATA_SPY)\n .forEach(spy => new ScrollSpy(spy))\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .ScrollSpy to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(ScrollSpy)\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isDisabled,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------- (…)
/plugin/combo/resources/library/combo/
H A Dcombo.min.js.map1 {"mappings":"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","sources":["node_modules/@swc/helpers/src/_async_to_generator.js","node_modules/@swc/helpers/src/_class_call_check.js","node_modules/@swc/helpers/src/_create_class.js","node_modules/@swc/helpers/src/_define_property.js","js/packages/combo/Boolean.js","js/packages/combo/Logger.js","node_modules/nanoid/index.browser.js","js/packages/combo/Html.js","js/packages/combo/FormMetaField.js","js/packages/combo/FormMetaTab.js","js/packages/combo/FormMeta.js","%3C%3Cjsx-config-pragma.js%3E%3E","bootstrap.js","js/packages/combo/ComboModal.js","node_modules/@swc/helpers/src/_type_of.js","node_modules/regenerator-runtime/runtime.js","js/packages/combo/Browser.js","js/packages/combo/DokuRequest.js","js/packages/combo/DokuUrl.js","js/packages/combo/ComboDate.js","js/packages/combo/combo.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n","\n\nexport default class Boolean {\n\n static toBoolean(value) {\n if (typeof value === \"boolean\") {\n return value;\n }\n return (value === 'true');\n }\n}\n","\nlet logger;\n\n// KISS for now\n// Otherwise, see https://datacadamia.com/web/javascript/logger#library\nexport default class Logger {\n\n static getLogger(){\n if(logger===undefined){\n logger = new Logger();\n }\n return logger;\n }\n\n error(value){\n console.error(value);\n /**\n * Removed by parcel when build\n * https://parceljs.org/features/production/#development-branch-removal\n * And set by Jest to test\n * https://jestjs.io/docs/environment-variables#node_env\n */\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(value);\n }\n }\n\n\n}\n","import { urlAlphabet } from './url-alphabet/index.js'\nif (process.env.NODE_ENV !== 'production') {\n if (\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative' &&\n typeof crypto === 'undefined'\n ) {\n throw new Error(\n 'React Native does not have a built-in secure random generator. ' +\n 'If you don’t need unpredictable IDs use `nanoid/non-secure`. ' +\n 'For secure IDs, import `react-native-get-random-values` ' +\n 'before Nano ID.'\n )\n }\n if (typeof msCrypto !== 'undefined' && typeof crypto === 'undefined') {\n throw new Error(\n 'Import file with `if (!window.crypto) window.crypto = window.msCrypto`' +\n ' before importing Nano ID to fix IE 11 support'\n )\n }\n if (typeof crypto === 'undefined') {\n throw new Error(\n 'Your browser does not have secure random generator. ' +\n 'If you don’t need unpredictable IDs, you can use nanoid/non-secure.'\n )\n }\n}\nlet random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nlet customRandom = (alphabet, size, getRandom) => {\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n let step = -~((1.6 * mask * size) / alphabet.length)\n return () => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nlet customAlphabet = (alphabet, size) => customRandom(alphabet, size, random)\nlet nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array(size))\n while (size--) {\n let byte = bytes[size] & 63\n if (byte < 36) {\n id += byte.toString(36)\n } else if (byte < 62) {\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte < 63) {\n id += '_'\n } else {\n id += '-'\n }\n }\n return id\n}\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n","import {customAlphabet} from \"nanoid\";\n\nexport default class Html {\n\n static toHtmlId(s) {\n /**\n * A point is also replaced otherwise you\n * can't use the id as selector in CSS\n */\n return s\n .toString() // in case of number\n .replace(/[_.\\s:\\/\\\\]/g, \"-\");\n }\n\n static createRandomId() {\n /**\n * Shorthand selector does not support numbers\n * as first position\n * The alphabet does not allow them then\n */\n const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz', 10)\n return nanoid();\n }\n\n static toEntities(text) {\n let entities = [];\n for (let i = 0; i < text.length; i++) {\n let entity = `&#${text.charCodeAt(i)};`\n entities.push(entity);\n }\n return entities.join('');\n }\n}\n","import Boolean from \"./Boolean\";\nimport Logger from \"./Logger\";\nimport Html from \"./Html\";\n\n\n/**\n * A form field may hold:\n * * a simple scalar value\n * * or a table (list of values)\n */\nexport default class FormMetaField {\n\n\n tab = \"unknown\";\n mutable = true;\n values = [];\n defaultValues = [];\n multiple = false;\n\n /**\n * Static const function\n * Waiting for the const keyword\n * to make them not mutable\n * @type {string}\n */\n static TABULAR_TYPE = \"tabular\";\n static DATE_TIME = \"datetime\";\n static PARAGRAPH = \"paragraph\";\n static BOOLEAN = \"boolean\";\n\n children = {};\n static JSON = \"json\";\n\n\n constructor(name) {\n this.name = name;\n }\n\n getLabelAnchor() {\n if (this.getUrl() === undefined && this.getDescription() === undefined) {\n return this.getLabel();\n }\n let url = this.getUrl();\n if (this.getUrl() === undefined) {\n url = \"#\";\n return `\n<span class=\"d-inline-block\" tabindex=\"0\" data-bs-toggle=\"tooltip\" title=\"${this.getDescription()}\">\n <a href=\"${url}\" title=\"${this.getDescription()}\" style=\"text-decoration:none;pointer-events: none;\">${this.getLabel()}</a>\n</span>`;\n } else {\n return `<a href=\"${url}\" title=\"${this.getDescription()}\" data-bs-toggle=\"tooltip\" style=\"text-decoration:none\" target=\"_blank\">${this.getLabel()}</a>`;\n }\n }\n\n /**\n * The form field type\n * @param {string} type\n * @return {FormMetaField}\n */\n setType(type) {\n this.type = type;\n return this;\n }\n\n /**\n * The global label\n * (should be not null in case of tabular data)\n * @param {string} label\n * @return {FormMetaField}\n */\n setLabel(label) {\n this.label = label;\n return this;\n }\n\n /**\n * The global Url\n * (should be not null in case of tabular data)\n * @param {string} url\n * @return {FormMetaField}\n */\n setUrl(url) {\n this.url = url;\n return this;\n }\n\n\n /**\n * @param value\n * @param defaultValue\n * @return {FormMetaField}\n */\n addValue(value, defaultValue) {\n this.values.push(value);\n this.defaultValues.push(defaultValue);\n return this;\n }\n\n\n getType() {\n return this.type;\n }\n\n getLabel() {\n if (this.label === undefined) {\n return this.getName()\n .split(/[_\\-]/)\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n }\n return this.label;\n }\n\n getUrl() {\n return this.url;\n }\n\n getName() {\n return this.name;\n }\n\n getDescription() {\n return this.description;\n }\n\n getTab() {\n return this.tab;\n }\n\n /**\n *\n * @param json\n * @param {FormMetaField} parent\n * @return {FormMetaField}\n */\n static createFromJson(json, parent = null) {\n if (!json.hasOwnProperty(\"name\")) {\n Logger.getLogger().error(\"To create a form meta field, the name property is mandatory.\");\n }\n let name = json[\"name\"];\n let formMetaField = FormMetaField.createFromName(name);\n if (parent != null) {\n formMetaField.setParent(parent);\n }\n\n let value;\n let valueDefault;\n for (let property in json) {\n if (!json.hasOwnProperty(property)) {\n continue;\n }\n let jsonValue = json[property];\n switch (property) {\n case \"name\":\n continue;\n case \"label\":\n formMetaField.setLabel(jsonValue);\n continue;\n case \"tab\":\n formMetaField.setTab(jsonValue);\n continue;\n case \"type\":\n formMetaField.setType(jsonValue);\n continue;\n case \"mutable\":\n formMetaField.setMutable(jsonValue);\n continue;\n case \"description\":\n formMetaField.setDescription(jsonValue);\n continue;\n case \"url\":\n formMetaField.setUrl(jsonValue);\n continue;\n case \"value\":\n value = jsonValue;\n continue;\n case \"default\":\n valueDefault = jsonValue;\n continue;\n case \"domain-values\":\n formMetaField.setDomainValues(jsonValue);\n continue;\n case \"multiple\":\n formMetaField.setMultiple(jsonValue);\n continue;\n case \"width\":\n formMetaField.setControlWidth(jsonValue);\n continue;\n case \"children\":\n let jsonChildren = jsonValue;\n for (let jsonChildProp in jsonChildren) {\n if (!jsonChildren.hasOwnProperty(jsonChildProp)) {\n continue;\n }\n let child = FormMetaField.createFromJson(jsonChildren[jsonChildProp], formMetaField);\n formMetaField.addChild(child);\n }\n continue;\n default:\n Logger.getLogger().error(`The property (${property}) of the form (${name}) is unknown`);\n }\n }\n if (!Array.isArray(value)) {\n formMetaField.addValue(value, valueDefault);\n } else {\n value.forEach((element, index) => {\n let valueDefaultElement = valueDefault[index];\n if (valueDefaultElement !== undefined) {\n formMetaField.addValue(element, valueDefaultElement);\n } else {\n formMetaField.addValue(element);\n }\n })\n }\n return formMetaField;\n }\n\n setMultiple(multiple) {\n this.multiple = multiple;\n return this;\n }\n\n setParent(parent) {\n this.parent = parent;\n return this;\n }\n\n /**\n *\n * @param name\n * @return {FormMetaField}\n */\n static createFromName(name) {\n return new FormMetaField(name);\n }\n\n isMutable() {\n return this.mutable;\n }\n\n setTab(value) {\n this.tab = value;\n return this;\n }\n\n /**\n *\n * @param {boolean} value\n */\n setMutable(value) {\n this.mutable = Boolean.toBoolean(value);\n return this;\n }\n\n setDescription(value) {\n this.description = value;\n return this;\n }\n\n getDefaultValue() {\n return this.defaultValues[0];\n }\n\n getValue() {\n return this.values[0];\n }\n\n getDomainValues() {\n return this.domainValues;\n }\n\n setDomainValues(value) {\n if (!Array.isArray(value)) {\n console.error(`The domains values should be an array. (${value}) is not an array`);\n return;\n }\n this.domainValues = value;\n return this;\n }\n\n /**\n *\n * @param width - the width of the control, not of the label as it can be derived - in a tabular form, there is none, otherwise the {@link FormMetaTab.getWidth total width} of the tab minus this control width)\n * @return {FormMetaField}\n */\n setControlWidth(width) {\n this.width = width;\n return this;\n }\n\n getControlWidth() {\n if (this.width === undefined && this.parent !== undefined) {\n return 12 / this.parent.getChildren().length;\n }\n return this.width;\n }\n\n getValues() {\n return this.values;\n }\n\n getDefaultValues() {\n return this.defaultValues;\n }\n\n /**\n *\n * @return {FormMetaField[]}\n *\n * See also the concept of list of objects\n * https://react-jsonschema-form.readthedocs.io/en/latest/usage/arrays/#arrays-of-objects\n *\n */\n getChildren() {\n return Object.values(this.children);\n }\n\n addChild(child) {\n this.children[child.getName()] = child;\n return this;\n }\n\n toHtmlLabel(forId, customClass) {\n let label = this.getLabelAnchor();\n let classLabel;\n if (this.getType() === FormMetaField.BOOLEAN) {\n classLabel = \"form-check-label\"\n } else {\n classLabel = \"col-form-label\";\n }\n if(typeof customClass !== 'undefined'){\n classLabel =`${customClass} ${classLabel}`\n }\n return `<label for=\"${forId}\" class=\"${classLabel}\">${label}</label>`\n }\n\n toHtmlControl(id, value = null, defaultValue = null) {\n\n let metadataType = this.getType();\n let mutable = this.isMutable();\n let domainValues = this.getDomainValues();\n let disabled;\n let htmlElement;\n\n /**\n * The creation of the form element\n */\n if (domainValues !== undefined) {\n\n /**\n * Select element\n * @type {string}\n */\n htmlElement = \"select\";\n let defaultValueHtml = \"\";\n if (defaultValue !== undefined) {\n defaultValueHtml = ` (${defaultValue})`;\n }\n\n let multiple = \"\";\n if (this.getMultiple()) {\n multiple = \"multiple\";\n }\n\n htmlElement = `<select class=\"form-select\" aria-label=\"${this.getLabel()}\" name=\"${this.getName()}\" id=\"${id}\" ${multiple}>`;\n let selected = \"\";\n if (value === null) {\n selected = \"selected\";\n }\n htmlElement += `<option value=\"\" ${selected}>Default${defaultValueHtml}</option>`;\n for (let selectValue of domainValues) {\n if (selectValue === value) {\n selected = \"selected\";\n } else {\n selected = \"\";\n }\n htmlElement += `<option value=\"${selectValue}\" ${selected}>${selectValue}</option>`;\n }\n htmlElement += `</select>`;\n return htmlElement;\n\n\n } else {\n\n /**\n * Placeholder default\n * @type {string}\n */\n let placeholderValue = `No value`;\n if (mutable) {\n placeholderValue = `Enter a ${this.getLabel()}`;\n }\n // value\n if (!(defaultValue === null || defaultValue === undefined)) {\n if (typeof defaultValue === 'string' || defaultValue instanceof String) {\n // json data for instance\n placeholderValue = Html.toEntities(defaultValue);\n } else {\n placeholderValue = defaultValue;\n }\n }\n let htmlPlaceholder = `placeholder=\"${placeholderValue}\"`;\n\n let htmlValue = \"\";\n let inputType;\n let name = this.getName();\n\n /**\n * With disable, the data is not in the form\n */\n if (mutable !== undefined && mutable === false) {\n disabled = \"disabled\";\n } else {\n disabled = \"\";\n }\n\n /**\n * Input Element\n * @type {string}\n */\n let htmlTag = \"input\";\n let htmlClass = \"form-control\";\n let checked = \"\";\n /**\n * Text area\n */\n let rows = 3;\n\n /**\n * Type ?\n */\n switch (metadataType) {\n case FormMetaField.DATE_TIME:\n inputType = \"datetime-local\";\n if (value !== null) {\n value = value.slice(0, 19);\n htmlValue = `value=\"${value}\"`;\n } else {\n if (!mutable && defaultValue !== null) {\n defaultValue = defaultValue.slice(0, 19);\n htmlValue = `value=\"${defaultValue}\"`;\n }\n }\n htmlPlaceholder = \"\"; // does not apply to local date time\n\n break;\n case FormMetaField.PARAGRAPH:\n htmlTag = \"textarea\";\n if (value !== null) {\n value = Html.toEntities(value);\n htmlValue = `${value}`;\n }\n break;\n case FormMetaField.JSON:\n htmlTag = \"textarea\";\n if (value !== null) {\n if(typeof value === 'object'){\n value = JSON.stringify(value, null, 2);\n }\n value = Html.toEntities(value);\n htmlValue = `${value}`;\n }\n rows = 15;\n break;\n case FormMetaField.BOOLEAN:\n inputType = \"checkbox\";\n htmlClass = \"form-check-input\";\n if (defaultValue !== null) {\n htmlValue = `value=\"${defaultValue}\"`;\n if (value === defaultValue) {\n checked = \"checked\"\n }\n } else {\n if (value === \"on\") {\n checked = \"checked\"\n }\n }\n\n htmlPlaceholder = \"\";\n break;\n default:\n inputType = \"text\";\n if (!(value === null || value === undefined)) {\n htmlValue = `value=\"${value}\"`;\n }\n }\n\n switch (htmlTag) {\n case \"textarea\":\n htmlElement = `<textarea id=\"${id}\" name=\"${name}\" class=\"${htmlClass}\" rows=\"${rows}\" ${htmlPlaceholder} ${disabled}>${htmlValue}</textarea>`;\n break;\n default:\n case \"input\":\n htmlElement = `<input type=\"${inputType}\" name=\"${name}\" class=\"${htmlClass}\" id=\"${id}\" ${htmlPlaceholder} ${htmlValue} ${checked} ${disabled}/>`;\n break;\n\n }\n return htmlElement;\n }\n\n }\n\n /**\n * Added to be able to add metadata to the returned Json Form\n * It has not yet all properties\n * @return\n */\n toJavascriptObject() {\n return {\n \"name\": this.getName(),\n \"label\": this.getLabel(),\n \"type\": this.getType(),\n \"description\": this.getDescription(),\n \"tab\": this.getTab(),\n \"mutable\": this.isMutable(),\n \"value\": this.getValue(),\n \"default\": this.getDefaultValue(),\n \"url\": this.getUrl()\n }\n }\n\n getMultiple() {\n return this.multiple;\n }\n}\n","import Logger from \"./Logger\";\n\n\nexport default class FormMetaTab {\n\n\n constructor(name) {\n this.name = name;\n }\n\n getName() {\n return this.name;\n }\n\n setWidth(width) {\n this.width = width;\n }\n\n /**\n * The width of the tab\n */\n getWidth() {\n return this.width;\n }\n\n static createFromJson(json) {\n if (!json.hasOwnProperty(\"name\")) {\n Logger.getLogger().error(\"A name property is mandatory to create a tab and was not found in the json provided\")\n }\n let name = json[\"name\"];\n let tab = new FormMetaTab(name);\n for (let property in json) {\n if (!json.hasOwnProperty(property)) {\n continue;\n }\n let jsonValue = json[property];\n switch (property) {\n case \"name\":\n continue;\n case \"label\":\n tab.setLabel(jsonValue);\n continue;\n case \"width-field\":\n tab.setWidthField(jsonValue);\n continue;\n case \"width-label\":\n tab.setWidthLabel(jsonValue);\n continue;\n default:\n Logger.getLogger().error(`The property (${property}) of the tab (${name}) is unknown`);\n }\n }\n return tab;\n }\n\n setLabel(label) {\n this.label = label;\n return this;\n }\n\n getLabel(){\n if(this.label===undefined){\n return this.name;\n }\n return this.label;\n }\n\n setWidthField(width) {\n this.widthField = width;\n return this;\n }\n\n setWidthLabel(width) {\n this.widthLabel = width;\n return this;\n }\n\n getLabelWidth(){\n if(this.widthLabel===undefined){\n return 3;\n }\n return this.widthLabel;\n }\n\n getFieldWidth(){\n if(this.widthField===undefined){\n return 12 - this.getLabelWidth();\n }\n return this.widthField;\n }\n\n static createFromName(name) {\n return new FormMetaTab(name);\n }\n}\n","'use strict';\n\nimport FormMetaField from \"./FormMetaField\";\nimport FormMetaTab from \"./FormMetaTab\";\nimport Html from \"./Html\";\nimport Logger from \"./Logger\";\n\n/**\n * Represent the top meta\n * data from a form\n */\nexport default class FormMeta {\n\n formFields = {};\n tabs = {};\n width = 8;\n\n\n constructor(id) {\n\n if (id == null) {\n throw new Error(\"The if of the form should not be null\");\n }\n this.name = id;\n }\n\n /**\n * @return string\n */\n getLabel() {\n return this.label;\n }\n\n getUrl() {\n return this.url;\n }\n\n getId() {\n return this.name;\n }\n\n /**\n * The width of the control\n * if there is no tab\n * @return {number|*}\n */\n getControlWidth() {\n return this.width;\n }\n\n getLabelWidth() {\n return 12 - this.getControlWidth();\n }\n\n\n /**\n *\n * @param {string} formId\n * @param {Object} json\n * @return {FormMeta}\n */\n static createFromJson(formId, json) {\n let form = FormMeta.createFromId(formId);\n for (let prop in json) {\n if (!json.hasOwnProperty(prop)) {\n continue;\n }\n let value = json[prop];\n switch (prop) {\n case \"fields\":\n let fields = value;\n for (let field in fields) {\n if (fields.hasOwnProperty(field)) {\n form.addFormField(FormMetaField.createFromJson(fields[field]));\n }\n }\n continue;\n case \"tabs\":\n let tabs = value;\n for (let tab in tabs) {\n if (tabs.hasOwnProperty(tab)) {\n form.addTab(FormMetaTab.createFromJson(tabs[tab]));\n }\n }\n break;\n case \"width\":\n form.setControlWidth(value);\n break;\n case \"label\":\n form.setLabel(value);\n break;\n case \"url\":\n form.setUrl(value);\n break;\n default:\n Logger.getLogger().error(`The form property (${prop}) is unknown`);\n }\n\n\n }\n return form;\n }\n\n /**\n *\n * @param id\n * @return {FormMeta}\n */\n static createFromId(id) {\n return new FormMeta(id);\n }\n\n /**\n *\n * @param {FormMetaField} formField\n * @return {FormMeta}\n */\n addFormField(formField) {\n this.formFields[formField.getName()] = formField;\n // Be sure to have a tab for each field\n if (!this.tabs.hasOwnProperty(formField.getTab())) {\n this.tabs[formField.getTab()] = FormMetaTab.createFromName(formField.getTab());\n }\n return this;\n }\n\n /**\n *\n * @return {FormMetaField[]}\n */\n getFields() {\n return Object.values(this.formFields);\n }\n\n /**\n *\n * @return {FormMetaTab[]}\n */\n getTabs() {\n return Object.values(this.tabs);\n }\n\n addTab(formMetaTab) {\n this.tabs[formMetaTab.getName()] = formMetaTab;\n }\n\n valueOf() {\n return this.getId();\n };\n\n getFieldsForTab(tabName) {\n return this.getFields().filter(e => e.getTab() === tabName);\n }\n\n toHtmlElement() {\n\n let formId = this.getId();\n\n /**\n * Creating the Body\n * (Starting with the tabs)\n */\n let htmlTabNavs = '<ul class=\"nav nav-tabs mb-3\">';\n let activeClass;\n let ariaSelected;\n /**\n * @param {FormMetaTab} tab\n * @return string\n */\n this.getTabPaneId = function (tab) {\n let htmlId = Html.toHtmlId(tab.getName());\n return `${formId}-tab-pane-${htmlId}`;\n }\n /**\n * @param {FormMetaTab} tab\n * @return string\n */\n this.getTabNavId = function (/** @type {FormMetaTab}*/ tab) {\n let htmlId = Html.toHtmlId(tab.getName());\n return `${formId}-tab-nav-${htmlId}`;\n }\n this.getControlId = function (id) {\n let htmlId = Html.toHtmlId(id);\n return `${formId}-control-${htmlId}`;\n }\n let tabsMeta = this.getTabs();\n let defaultTab = tabsMeta[0];\n for (let tab of tabsMeta) {\n if (Object.is(tab, defaultTab)) {\n activeClass = \"active\";\n ariaSelected = \"true\";\n } else {\n activeClass = \"\";\n ariaSelected = \"false\";\n }\n let tabLabel = tab.getLabel();\n let tabPanId = this.getTabPaneId(tab);\n let tabNavId = this.getTabNavId(tab);\n htmlTabNavs += `\n<li class=\"nav-item\">\n<button\n class=\"nav-link ${activeClass}\"\n id=\"${tabNavId}\"\n type=\"button\"\n role=\"tab\"\n aria-selected = \"${ariaSelected}\"\n aria-controls = \"${tabPanId}\"\n data-bs-toggle = \"tab\"\n data-bs-target = \"#${tabPanId}\" >${tabLabel}\n </button>\n</li>`\n }\n htmlTabNavs += '</ul>';\n\n /**\n * Creating the content\n * @type {string}\n */\n let htmlTabPans = \"<div class=\\\"tab-content\\\">\";\n let rightColSize;\n let leftColSize;\n let elementIdCounter = 0;\n for (let tab of tabsMeta) {\n let tabPaneId = this.getTabPaneId(tab);\n let tabNavId = this.getTabNavId(tab);\n if (tab === defaultTab) {\n activeClass = \"active\";\n } else {\n activeClass = \"\";\n }\n htmlTabPans += `<div class=\"tab-pane ${activeClass}\" id=\"${tabPaneId}\" role=\"tabpanel\" aria-labelledby=\"${tabNavId}\">`;\n leftColSize = tab.getLabelWidth();\n rightColSize = tab.getFieldWidth();\n\n let fieldsForTab = this.getFieldsForTab(tab.getName());\n\n /**\n * Case one field without children\n * It should take the whole space\n */\n if (fieldsForTab.length === 1) {\n let formField = fieldsForTab[0];\n if (formField.getChildren().length === 0) {\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let labelHtml = formField.toHtmlLabel(elementId);\n let value = formField.getValue();\n let defaultValue = formField.getDefaultValue();\n let controlHtml = formField.toHtmlControl(elementId, value, defaultValue)\n htmlTabPans += `\n<div class=\"row mb-3 text-center\"><div class=\"col-sm-12\">${labelHtml}</div></div>\n<div class=\"row mb-3\"><div class=\"col-sm-12\">${controlHtml}</div></div>\n`;\n htmlTabPans += \"</div>\"; // close the pan\n continue;\n }\n\n }\n\n for (let formField of fieldsForTab) {\n\n let children = formField.getChildren();\n switch (children.length) {\n case 0:\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let labelHtml = formField.toHtmlLabel(elementId, `col-sm-${leftColSize}`);\n let value = formField.getValue();\n let defaultValue = formField.getDefaultValue();\n let controlHtml = formField.toHtmlControl(elementId, value, defaultValue)\n htmlTabPans += `\n<div class=\"row mb-3\">\n ${labelHtml}\n <div class=\"col-sm-${rightColSize}\">${controlHtml}</div>\n</div>\n`;\n break;\n default:\n let url = formField.getLabelAnchor();\n htmlTabPans += `<div class=\"row mb-3 text-center\">${url}</div>`;\n htmlTabPans += `<div class=\"row mb-3\">`;\n let rows = 0;\n for (const child of formField.getChildren()) {\n let width = child.getControlWidth();\n htmlTabPans += `<div class=\"col-sm-${width} text-center\">`;\n htmlTabPans += child.getLabelAnchor();\n htmlTabPans += `</div>`;\n let valuesLength = child.getValues().length;\n if (valuesLength > rows) {\n rows = valuesLength;\n }\n }\n htmlTabPans += `</div>`;\n\n for (let i = 0; i < rows; i++) {\n htmlTabPans += `<div class=\"row mb-3\">`;\n for (const child of formField.getChildren()) {\n let value = child.getValues()[i];\n let defaultValue = child.getDefaultValues()[i];\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let width = child.getControlWidth();\n htmlTabPans += `<div class=\"col-sm-${width}\">`;\n htmlTabPans += child.toHtmlControl(elementId, value, defaultValue);\n htmlTabPans += `</div>`;\n }\n htmlTabPans += `</div>`;\n }\n\n break;\n\n }\n\n }\n htmlTabPans += \"</div>\";\n }\n htmlTabPans += \"</div>\";\n\n let form = document.createElement(\"form\");\n form.setAttribute(\"id\", formId);\n form.innerHTML = `${htmlTabNavs} ${htmlTabPans}`;\n return form;\n }\n\n\n setControlWidth(width) {\n this.width = width;\n return this;\n }\n\n setLabel(label) {\n this.label = label;\n }\n\n setUrl(url) {\n this.url = url;\n }\n\n}\n",null,"module.exports=bootstrap;","/**\n * A pointer to the created modals\n * Private\n */\nimport Html from \"./Html\";\nimport {Modal, Tooltip, Tab} from \"bootstrap\";\nimport Logger from \"./Logger\";\n\n/**\n *\n * @type {Object.<string, ComboModal>}\n */\nlet comboModals = {};\n\nexport default class ComboModal {\n\n\n footerButtons = [];\n bodies = [];\n isBuild = false;\n bodyStyles = {};\n dialogStyles = {};\n showFooter = true;\n dialogClasses = [];\n\n /**\n * A valid HTML id\n * @param modalId\n */\n constructor(modalId) {\n\n this.modalId = modalId;\n /**\n * We create the modal root because developers may want to add\n * event on it right away\n * @type {HTMLDivElement}\n */\n let queryElement = document.getElementById(modalId);\n if (queryElement !== null) {\n Logger.getLogger().error(`The id (${modalId}) given to create a modal was already used by an element in the DOM. We have reused it.`)\n this.modalRootHtmlElement = queryElement;\n this.reset();\n } else {\n this.modalRootHtmlElement = document.createElement(\"div\");\n this.modalRootHtmlElement.setAttribute(\"id\", this.modalId);\n this.modalRootHtmlElement.classList.add(\"modal\", \"fade\");\n // Uncaught RangeError: Maximum call stack size exceeded caused by the tabindex\n // modalRoot.setAttribute(\"tabindex\", \"-1\");\n this.modalRootHtmlElement.setAttribute(\"aria-hidden\", \"true\");\n }\n\n }\n\n setHeader(headerText) {\n this.headerText = headerText;\n return this;\n }\n\n /**\n * @param htmlBody\n * @return {ComboModal}\n */\n addBody(htmlBody) {\n\n this.bodies.push(htmlBody);\n return this;\n\n }\n\n addBodyStyle(property, value) {\n\n this.bodyStyles[property] = value;\n return this;\n\n }\n\n noFooter() {\n this.showFooter = false;\n return this;\n }\n\n addDialogStyle(property, value) {\n\n this.dialogStyles[property] = value;\n return this;\n\n }\n\n addDialogClass(value) {\n\n this.dialogClasses.push(value);\n return this;\n\n }\n\n /**\n * @return {ComboModal}\n */\n resetOnClose() {\n this.isResetOnClose = true;\n return this;\n }\n\n\n /**\n *\n * @type HTMLButtonElement|string htmlFooter\n */\n addFooterButton(htmlFooter) {\n\n this.footerButtons.push(htmlFooter);\n return this;\n }\n\n /**\n *\n * @return HTMLButtonElement the close button\n */\n addFooterCloseButton(label = \"Close\") {\n this.closeButton = document.createElement(\"button\");\n this.closeButton.classList.add(\"btn\", \"btn-secondary\")\n this.closeButton.innerHTML = label;\n let modal = this;\n this.closeButton.addEventListener(\"click\", function () {\n modal.bootStrapModal.hide();\n });\n this.addFooterButton(this.closeButton);\n return this;\n }\n\n /**\n * Center the modal\n * @return {ComboModal}\n */\n centered() {\n this.isCentered = true;\n return this;\n }\n\n show() {\n\n if (this.modalRootHtmlElement == null) {\n throw new Error(\"This modal has no HTML element, you can't use it anymore\");\n }\n\n if (!this.isBuild) {\n this.build();\n }\n\n /**\n * Reset on close ?\n * Included tabs does not work anymore\n * for whatever reason\n */\n if (this.isResetOnClose === true) {\n let comboModal = this;\n this.getElement().addEventListener('hidden.bs.modal', function () {\n /**\n * the event is only dispatch on the root element, not all modal\n */\n comboModal.reset();\n });\n }\n\n /**\n * Callback (Parent Child Relationship)\n */\n if (this.callBack !== undefined) {\n if (this.closeButton !== undefined) {\n let modal = this;\n this.closeButton.addEventListener(\"click\", function () {\n /**\n * Two modals cannot be open at the same time\n * https://getbootstrap.com/docs/5.0/components/modal/#toggle-between-modals\n */\n modal.dismissHide();\n modal.callBack();\n });\n }\n }\n\n this.bootStrapModal.show();\n\n\n }\n\n dismissHide() {\n if (this.bootStrapModal !== undefined) {\n this.bootStrapModal.hide();\n }\n }\n\n getModalId() {\n return this.modalId;\n }\n\n /**\n *\n * @param {function} callBack\n */\n setCallBackOnClose(callBack) {\n this.callBack = callBack;\n return this;\n }\n\n\n /**\n * Create a modal and return the modal content element\n * @return ComboModal\n */\n static createFromId(modalId) {\n let modal = new ComboModal(modalId);\n comboModals[modalId] = modal;\n return modal;\n }\n\n /**\n * @param modalId\n * @return {ComboModal}\n */\n static getModal = function (modalId) {\n\n if (modalId in comboModals) {\n return comboModals[modalId];\n } else {\n return null;\n }\n }\n\n /**\n * List the managed modals\n */\n static listModals = function () {\n console.log(Object.keys(comboModals).join(\", \"));\n }\n\n /**\n * Delete all modals\n */\n static resetAllModals = function () {\n for (let prop in comboModals) {\n if (comboModals.hasOwnProperty(prop)) {\n let modal = comboModals[prop];\n modal.reset();\n }\n }\n }\n\n /**\n *\n * @return {ComboModal}\n */\n static createTemporary() {\n return this.createFromId(Html.createRandomId());\n }\n\n getElement() {\n return this.modalRootHtmlElement;\n }\n\n /**\n * Calling the {@link show} function will build the\n * modal, if this is the case, you can't build it anymore\n * you need to {@link reset} it and recreate it if needed\n * @return {boolean}\n */\n wasBuild() {\n return this.isBuild;\n }\n\n setCentered(bool){\n this.isCentered = bool;\n return this;\n }\n resetIfBuild() {\n if (this.wasBuild()) {\n this.reset();\n }\n return this;\n }\n\n reset() {\n\n // DOM\n this.modalRootHtmlElement.querySelectorAll('[data-bs-toggle=\"tab\"]').forEach(tabTriggerElement => {\n let tab = Tab.getInstance(tabTriggerElement);\n if (tab !== null) {\n // tab are only created when the user click on them\n tab.dispose();\n }\n })\n\n /**\n * Bootstrap Modal\n * dispose should delete the root element\n * but it does not\n */\n if (this.bootStrapModal !== undefined) {\n this.dismissHide();\n }\n this.modalRootHtmlElement.innerHTML = \"\";\n\n /**\n * Content\n */\n this.isBuild = false;\n this.bodies = [];\n this.footerButtons = [];\n this.headerText = undefined;\n }\n\n /**\n * Build the modal\n */\n build() {\n\n this.isBuild = true;\n\n document.body.appendChild(this.modalRootHtmlElement);\n\n const modalManagerDialog = document.createElement(\"div\");\n modalManagerDialog.classList.add(\n \"modal-dialog\",\n \"modal-dialog-scrollable\",\n \"modal-lg\");\n if (this.isCentered) {\n modalManagerDialog.classList.add(\"modal-dialog-centered\")\n } else {\n // Get the modal more central but fix as we have tab and\n // we want still the mouse below the tab to be at the same position when we click\n modalManagerDialog.style.setProperty(\"margin\", \"5rem auto\");\n modalManagerDialog.style.setProperty(\"height\", \"calc(100% - 9rem)\");\n }\n for (let dialogStyleName in this.dialogStyles) {\n if (!this.dialogStyles.hasOwnProperty(dialogStyleName)) {\n continue;\n }\n modalManagerDialog.style.setProperty(dialogStyleName, this.dialogStyles[dialogStyleName]);\n }\n for (let dialogClass in this.dialogClasses){\n modalManagerDialog.classList.add(dialogClass);\n }\n this.modalRootHtmlElement.appendChild(modalManagerDialog);\n this.modalContent = document.createElement(\"div\");\n this.modalContent.classList.add(\"modal-content\");\n modalManagerDialog.appendChild(this.modalContent);\n\n this.modalBody = document.createElement(\"div\");\n this.modalBody.classList.add(\"modal-body\");\n for (let bodyStyleName in this.bodyStyles) {\n if (!this.bodyStyles.hasOwnProperty(bodyStyleName)) {\n continue;\n }\n this.modalBody.style.setProperty(bodyStyleName, this.bodyStyles[bodyStyleName]);\n }\n this.modalContent.appendChild(this.modalBody);\n\n\n /**\n * No need to use the global variable access mode (ie `bootstrap.Modal`)\n * It's created at build time\n * @type {Modal}\n */\n this.bootStrapModal = Modal.getInstance(this.modalRootHtmlElement);\n if (this.bootStrapModal === null) {\n /**\n * The bootstrap modal function\n * can only be invoked when the body element has been defined\n */\n let options = {\n \"backdrop\": true,\n \"keyboard\": true,\n \"focus\": true\n };\n this.bootStrapModal = new Modal(this.modalRootHtmlElement, options);\n }\n\n /**\n * Building the header\n */\n if (this.headerText !== undefined) {\n let headerHtml = `\n<div class=\"modal-header\">\n <h5 class=\"modal-title\">${this.headerText}</h5>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n</div>\n`;\n this.modalContent.insertAdjacentHTML('afterbegin', headerHtml);\n }\n\n /**\n * Building the body\n */\n for (let body of this.bodies) {\n let type = typeof body;\n switch (type) {\n case \"string\":\n this.modalBody.insertAdjacentHTML('beforeend', body);\n break;\n default:\n case \"object\":\n this.modalBody.appendChild(body);\n break;\n }\n }\n\n /**\n * Footer button\n */\n if(this.showFooter) {\n let modalFooter = document.createElement(\"div\");\n modalFooter.classList.add(\"modal-footer\");\n this.modalContent.appendChild(modalFooter);\n\n if (this.footerButtons.length === 0) {\n this.addFooterCloseButton();\n }\n\n for (let footerButton of this.footerButtons) {\n if (typeof footerButton === 'string' || footerButton instanceof String) {\n modalFooter.insertAdjacentHTML('beforeend', footerButton);\n } else {\n modalFooter.appendChild(footerButton);\n }\n }\n }\n\n /**\n * Init the tooltip if any\n */\n let tooltipSelector = `#${this.modalId} [data-bs-toggle=\"tooltip\"]`;\n document.querySelectorAll(tooltipSelector).forEach(el => new Tooltip(el));\n }\n\n\n static getOrCreate(modalId) {\n let modal = ComboModal.getModal(modalId);\n if (modal === null) {\n modal = ComboModal.createFromId(modalId);\n }\n return modal;\n }\n}\n","export default function _typeof(obj) {\n \"@swc/helpers - typeof\";\n return obj && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script (…)
/plugin/combo/resources/library/combo/dist/
H A Dcombo.min.js.map1 {"mappings":"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","sources":["node_modules/@swc/helpers/src/_async_to_generator.js","node_modules/@swc/helpers/src/_class_call_check.js","node_modules/@swc/helpers/src/_create_class.js","node_modules/@swc/helpers/src/_define_property.js","resources/library/combo/Boolean.js","resources/library/combo/Logger.js","node_modules/nanoid/index.browser.js","resources/library/combo/Html.js","resources/library/combo/FormMetaField.js","resources/library/combo/FormMetaTab.js","resources/library/combo/FormMeta.js","%3C%3Cjsx-config-pragma.js%3E%3E","bootstrap.js","resources/library/combo/ComboModal.js","node_modules/@swc/helpers/src/_type_of.js","node_modules/regenerator-runtime/runtime.js","resources/library/combo/Browser.js","resources/library/combo/DokuRequest.js","resources/library/combo/ComboDate.js","resources/library/combo/combo.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n","\n\nexport default class Boolean {\n\n static toBoolean(value) {\n if (typeof value === \"boolean\") {\n return value;\n }\n return (value === 'true');\n }\n}\n","\nlet logger;\n\n// KISS for now\n// Otherwise, see https://datacadamia.com/web/javascript/logger#library\nexport default class Logger {\n\n static getLogger(){\n if(logger===undefined){\n logger = new Logger();\n }\n return logger;\n }\n\n error(value){\n console.error(value);\n /**\n * Removed by parcel when build\n * https://parceljs.org/features/production/#development-branch-removal\n * And set by Jest to test\n * https://jestjs.io/docs/environment-variables#node_env\n */\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(value);\n }\n }\n\n\n}\n","import { urlAlphabet } from './url-alphabet/index.js'\nif (process.env.NODE_ENV !== 'production') {\n if (\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative' &&\n typeof crypto === 'undefined'\n ) {\n throw new Error(\n 'React Native does not have a built-in secure random generator. ' +\n 'If you don’t need unpredictable IDs use `nanoid/non-secure`. ' +\n 'For secure IDs, import `react-native-get-random-values` ' +\n 'before Nano ID.'\n )\n }\n if (typeof msCrypto !== 'undefined' && typeof crypto === 'undefined') {\n throw new Error(\n 'Import file with `if (!window.crypto) window.crypto = window.msCrypto`' +\n ' before importing Nano ID to fix IE 11 support'\n )\n }\n if (typeof crypto === 'undefined') {\n throw new Error(\n 'Your browser does not have secure random generator. ' +\n 'If you don’t need unpredictable IDs, you can use nanoid/non-secure.'\n )\n }\n}\nlet random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nlet customRandom = (alphabet, size, getRandom) => {\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n let step = -~((1.6 * mask * size) / alphabet.length)\n return () => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nlet customAlphabet = (alphabet, size) => customRandom(alphabet, size, random)\nlet nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array(size))\n while (size--) {\n let byte = bytes[size] & 63\n if (byte < 36) {\n id += byte.toString(36)\n } else if (byte < 62) {\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte < 63) {\n id += '_'\n } else {\n id += '-'\n }\n }\n return id\n}\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n","import {customAlphabet, nanoid} from \"nanoid\";\n\nexport default class Html {\n\n static toHtmlId(s) {\n /**\n * A point is also replaced otherwise you\n * can't use the id as selector in CSS\n */\n return s\n .toString() // in case of number\n .replace(/[_.\\s:\\/\\\\]/g, \"-\");\n }\n\n static createRandomId() {\n /**\n * Shorthand selector does not support numbers\n * as first position\n * The alphabet does not allow them then\n */\n const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz', 10)\n return nanoid();\n }\n\n static toEntities(text) {\n let entities = [];\n for (let i = 0; i < text.length; i++) {\n let entity = `&#${text[i].charCodeAt()};`\n entities.push(entity);\n }\n return entities.join('');\n }\n}\n","import Boolean from \"./Boolean\";\nimport Logger from \"./Logger\";\nimport Html from \"./Html\";\n\n\n/**\n * A form field may hold:\n * * a simple scalar value\n * * or a table (list of values)\n */\nexport default class FormMetaField {\n\n\n tab = \"unknown\";\n mutable = true;\n values = [];\n defaultValues = [];\n multiple = false;\n\n /**\n * Static const function\n * Waiting for the const keyword\n * to make them not mutable\n * @type {string}\n */\n static TABULAR_TYPE = \"tabular\";\n static DATE_TIME = \"datetime\";\n static PARAGRAPH = \"paragraph\";\n static BOOLEAN = \"boolean\";\n\n children = {};\n static JSON = \"json\";\n\n\n constructor(name) {\n this.name = name;\n }\n\n getLabelAnchor() {\n if (this.getUrl() === undefined && this.getDescription() === undefined) {\n return this.getLabel();\n }\n let url = this.getUrl();\n if (this.getUrl() === undefined) {\n url = \"#\";\n return `\n<span class=\"d-inline-block\" tabindex=\"0\" data-bs-toggle=\"tooltip\" title=\"${this.getDescription()}\">\n <a href=\"${url}\" title=\"${this.getDescription()}\" style=\"text-decoration:none;pointer-events: none;\">${this.getLabel()}</a>\n</span>`;\n } else {\n return `<a href=\"${url}\" title=\"${this.getDescription()}\" data-bs-toggle=\"tooltip\" style=\"text-decoration:none\" target=\"_blank\">${this.getLabel()}</a>`;\n }\n }\n\n /**\n * The form field type\n * @param {string} type\n * @return {FormMetaField}\n */\n setType(type) {\n this.type = type;\n return this;\n }\n\n /**\n * The global label\n * (should be not null in case of tabular data)\n * @param {string} label\n * @return {FormMetaField}\n */\n setLabel(label) {\n this.label = label;\n return this;\n }\n\n /**\n * The global Url\n * (should be not null in case of tabular data)\n * @param {string} url\n * @return {FormMetaField}\n */\n setUrl(url) {\n this.url = url;\n return this;\n }\n\n\n /**\n * @param value\n * @param defaultValue\n * @return {FormMetaField}\n */\n addValue(value, defaultValue) {\n this.values.push(value);\n this.defaultValues.push(defaultValue);\n return this;\n }\n\n\n getType() {\n return this.type;\n }\n\n getLabel() {\n if (this.label === undefined) {\n return this.getName()\n .split(/_|-/)\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n }\n return this.label;\n }\n\n getUrl() {\n return this.url;\n }\n\n getName() {\n return this.name;\n }\n\n getDescription() {\n return this.description;\n }\n\n getTab() {\n return this.tab;\n }\n\n /**\n *\n * @param json\n * @param {FormMetaField} parent\n * @return {FormMetaField}\n */\n static createFromJson(json, parent = null) {\n if (!json.hasOwnProperty(\"name\")) {\n Logger.getLogger().error(\"To create a form meta field, the name property is mandatory.\");\n }\n let name = json[\"name\"];\n let formMetaField = FormMetaField.createFromName(name);\n if (parent != null) {\n formMetaField.setParent(parent);\n }\n\n let value;\n let valueDefault;\n for (let property in json) {\n if (!json.hasOwnProperty(property)) {\n continue;\n }\n let jsonValue = json[property];\n switch (property) {\n case \"name\":\n continue;\n case \"label\":\n formMetaField.setLabel(jsonValue);\n continue;\n case \"tab\":\n formMetaField.setTab(jsonValue);\n continue;\n case \"type\":\n formMetaField.setType(jsonValue);\n continue;\n case \"mutable\":\n formMetaField.setMutable(jsonValue);\n continue;\n case \"description\":\n formMetaField.setDescription(jsonValue);\n continue;\n case \"url\":\n formMetaField.setUrl(jsonValue);\n continue;\n case \"value\":\n value = jsonValue;\n continue;\n case \"default\":\n valueDefault = jsonValue;\n continue;\n case \"domain-values\":\n formMetaField.setDomainValues(jsonValue);\n continue;\n case \"multiple\":\n formMetaField.setMultiple(jsonValue);\n continue;\n case \"width\":\n formMetaField.setControlWidth(jsonValue);\n continue;\n case \"children\":\n let jsonChildren = jsonValue;\n for (let jsonChildProp in jsonChildren) {\n if (!jsonChildren.hasOwnProperty(jsonChildProp)) {\n continue;\n }\n let child = FormMetaField.createFromJson(jsonChildren[jsonChildProp], formMetaField);\n formMetaField.addChild(child);\n }\n continue;\n default:\n Logger.getLogger().error(`The property (${property}) of the form (${name}) is unknown`);\n }\n }\n if (!Array.isArray(value)) {\n formMetaField.addValue(value, valueDefault);\n } else {\n value.forEach((element, index) => {\n let valueDefaultElement = valueDefault[index];\n if (valueDefaultElement !== undefined) {\n formMetaField.addValue(element, valueDefaultElement);\n } else {\n formMetaField.addValue(element);\n }\n })\n }\n return formMetaField;\n }\n\n setMultiple(multiple) {\n this.multiple = multiple;\n return this;\n }\n\n setParent(parent) {\n this.parent = parent;\n return this;\n }\n\n /**\n *\n * @param name\n * @return {FormMetaField}\n */\n static createFromName(name) {\n return new FormMetaField(name);\n }\n\n isMutable() {\n return this.mutable;\n }\n\n setTab(value) {\n this.tab = value;\n return this;\n }\n\n /**\n *\n * @param {boolean} value\n */\n setMutable(value) {\n this.mutable = Boolean.toBoolean(value);\n return this;\n }\n\n setDescription(value) {\n this.description = value;\n return this;\n }\n\n getDefaultValue() {\n return this.defaultValues[0];\n }\n\n getValue() {\n return this.values[0];\n }\n\n getDomainValues() {\n return this.domainValues;\n }\n\n setDomainValues(value) {\n if (!Array.isArray(value)) {\n console.error(`The domains values should be an array. (${value}) is not an array`);\n return;\n }\n this.domainValues = value;\n return this;\n }\n\n /**\n *\n * @param width - the width of the control, not of the label as it can be derived - in a tabular form, there is none, otherwise the {@link FormMetaTab.getWidth total width} of the tab minus this control width)\n * @return {FormMetaField}\n */\n setControlWidth(width) {\n this.width = width;\n return this;\n }\n\n getControlWidth() {\n if (this.width === undefined && this.parent !== undefined) {\n return 12 / this.parent.getChildren().length;\n }\n return this.width;\n }\n\n getValues() {\n return this.values;\n }\n\n getDefaultValues() {\n return this.defaultValues;\n }\n\n /**\n *\n * @return {FormMetaField[]}\n *\n * See also the concept of list of objects\n * https://react-jsonschema-form.readthedocs.io/en/latest/usage/arrays/#arrays-of-objects\n *\n */\n getChildren() {\n return Object.values(this.children);\n }\n\n addChild(child) {\n this.children[child.getName()] = child;\n return this;\n }\n\n toHtmlLabel(forId, customClass) {\n let label = this.getLabelAnchor();\n let classLabel = \"\";\n if (this.getType() === FormMetaField.BOOLEAN) {\n classLabel = \"form-check-label\"\n } else {\n classLabel = \"col-form-label\";\n }\n if(typeof customClass !== 'undefined'){\n classLabel =`${customClass} ${classLabel}`\n }\n return `<label for=\"${forId}\" class=\"${classLabel}\">${label}</label>`\n }\n\n toHtmlControl(id, value = null, defaultValue = null) {\n\n let metadataType = this.getType();\n let mutable = this.isMutable();\n let domainValues = this.getDomainValues();\n let disabled;\n let htmlElement;\n\n /**\n * The creation of the form element\n */\n if (domainValues !== undefined) {\n\n /**\n * Select element\n * @type {string}\n */\n htmlElement = \"select\";\n let defaultValueHtml = \"\";\n if (defaultValue !== undefined) {\n defaultValueHtml = ` (${defaultValue})`;\n }\n\n let multiple = \"\";\n if (this.getMultiple()) {\n multiple = \"multiple\";\n }\n\n htmlElement = `<select class=\"form-select\" aria-label=\"${this.getLabel()}\" name=\"${this.getName()}\" id=\"${id}\" ${multiple}>`;\n let selected = \"\";\n if (value === null) {\n selected = \"selected\";\n }\n htmlElement += `<option value=\"\" ${selected}>Default${defaultValueHtml}</option>`;\n for (let selectValue of domainValues) {\n if (selectValue === value) {\n selected = \"selected\";\n } else {\n selected = \"\";\n }\n htmlElement += `<option value=\"${selectValue}\" ${selected}>${selectValue}</option>`;\n }\n htmlElement += `</select>`;\n return htmlElement;\n\n\n } else {\n\n /**\n * Placeholder default\n * @type {string}\n */\n let placeholderValue = `No value`;\n if (mutable) {\n placeholderValue = `Enter a ${this.getLabel()}`;\n }\n // value\n if (!(defaultValue === null || defaultValue === undefined)) {\n if (typeof defaultValue === 'string' || defaultValue instanceof String) {\n // json data for instance\n placeholderValue = Html.toEntities(defaultValue);\n } else {\n placeholderValue = defaultValue;\n }\n }\n let htmlPlaceholder = `placeholder=\"${placeholderValue}\"`;\n\n let htmlValue = \"\";\n let inputType;\n let name = this.getName();\n\n /**\n * With disable, the data is not in the form\n */\n if (mutable !== undefined && mutable === false) {\n disabled = \"disabled\";\n } else {\n disabled = \"\";\n }\n\n /**\n * Input Element\n * @type {string}\n */\n let htmlTag = \"input\";\n let htmlClass = \"form-control\";\n let checked = \"\";\n /**\n * Text area\n */\n let rows = 3;\n\n /**\n * Type ?\n */\n switch (metadataType) {\n case FormMetaField.DATE_TIME:\n inputType = \"datetime-local\";\n if (value !== null) {\n value = value.slice(0, 19);\n htmlValue = `value=\"${value}\"`;\n } else {\n if (!mutable && defaultValue !== null) {\n defaultValue = defaultValue.slice(0, 19);\n htmlValue = `value=\"${defaultValue}\"`;\n }\n }\n htmlPlaceholder = \"\"; // does not apply to local date time\n\n break;\n case FormMetaField.PARAGRAPH:\n htmlTag = \"textarea\";\n if (value !== null) {\n value = Html.toEntities(value);\n htmlValue = `${value}`;\n }\n break;\n case FormMetaField.JSON:\n htmlTag = \"textarea\";\n if (value !== null) {\n if(typeof value === 'object'){\n value = JSON.stringify(value, null, 2);\n }\n value = Html.toEntities(value);\n htmlValue = `${value}`;\n }\n rows = 15;\n break;\n case FormMetaField.BOOLEAN:\n inputType = \"checkbox\";\n htmlClass = \"form-check-input\";\n if (defaultValue !== null) {\n htmlValue = `value=\"${defaultValue}\"`;\n if (value === defaultValue) {\n checked = \"checked\"\n }\n } else {\n if (value === \"on\") {\n checked = \"checked\"\n }\n }\n\n htmlPlaceholder = \"\";\n break;\n default:\n inputType = \"text\";\n if (!(value === null || value === undefined)) {\n htmlValue = `value=\"${value}\"`;\n }\n }\n\n switch (htmlTag) {\n case \"textarea\":\n htmlElement = `<textarea id=\"${id}\" name=\"${name}\" class=\"${htmlClass}\" rows=\"${rows}\" ${htmlPlaceholder} ${disabled}>${htmlValue}</textarea>`;\n break;\n default:\n case \"input\":\n htmlElement = `<input type=\"${inputType}\" name=\"${name}\" class=\"${htmlClass}\" id=\"${id}\" ${htmlPlaceholder} ${htmlValue} ${checked} ${disabled}/>`;\n break;\n\n }\n return htmlElement;\n }\n\n }\n\n /**\n * Added to be able to add metadata to the returned Json Form\n * It has not yet all properties\n * @return\n */\n toJavascriptObject() {\n return {\n \"name\": this.getName(),\n \"label\": this.getLabel(),\n \"type\": this.getType(),\n \"description\": this.getDescription(),\n \"tab\": this.getTab(),\n \"mutable\": this.isMutable(),\n \"value\": this.getValue(),\n \"default\": this.getDefaultValue(),\n \"url\": this.getUrl()\n }\n }\n\n getMultiple() {\n return this.multiple;\n }\n}\n","import Logger from \"./Logger\";\n\n\nexport default class FormMetaTab {\n\n\n constructor(name) {\n this.name = name;\n }\n\n getName() {\n return this.name;\n }\n\n setWidth(width) {\n this.width = width;\n }\n\n /**\n * The width of the tab\n */\n getWidth() {\n return this.width;\n }\n\n static createFromJson(json) {\n if (!json.hasOwnProperty(\"name\")) {\n Logger.getLogger().error(\"A name property is mandatory to create a tab and was not found in the json provided\")\n }\n let name = json[\"name\"];\n let tab = new FormMetaTab(name);\n for (let property in json) {\n if (!json.hasOwnProperty(property)) {\n continue;\n }\n let jsonValue = json[property];\n switch (property) {\n case \"name\":\n continue;\n case \"label\":\n tab.setLabel(jsonValue);\n continue;\n case \"width-field\":\n tab.setWidthField(jsonValue);\n continue;\n case \"width-label\":\n tab.setWidthLabel(jsonValue);\n continue;\n default:\n Logger.getLogger().error(`The property (${property}) of the tab (${name}) is unknown`);\n }\n }\n return tab;\n }\n\n setLabel(label) {\n this.label = label;\n return this;\n }\n\n getLabel(){\n if(this.label===undefined){\n return this.name;\n }\n return this.label;\n }\n\n setWidthField(width) {\n this.widthField = width;\n return this;\n }\n\n setWidthLabel(width) {\n this.widthLabel = width;\n return this;\n }\n\n getLabelWidth(){\n if(this.widthLabel===undefined){\n return 3;\n }\n return this.widthLabel;\n }\n\n getFieldWidth(){\n if(this.widthField===undefined){\n return 12 - this.getLabelWidth();\n }\n return this.widthField;\n }\n\n static createFromName(name) {\n return new FormMetaTab(name);\n }\n}\n","'use strict';\n\nimport FormMetaField from \"./FormMetaField\";\nimport FormMetaTab from \"./FormMetaTab\";\nimport Html from \"./Html\";\nimport Logger from \"./Logger\";\n\n/**\n * Represent the top meta\n * data from a form\n */\nexport default class FormMeta {\n\n formFields = {};\n tabs = {};\n width = 8;\n\n\n constructor(id) {\n\n if (id == null) {\n throw new Error(\"The if of the form should not be null\");\n }\n this.name = id;\n }\n\n /**\n * @return string\n */\n getLabel() {\n return this.label;\n }\n\n getUrl() {\n return this.url;\n }\n\n getId() {\n return this.name;\n }\n\n /**\n * The width of the control\n * if there is no tab\n * @return {number|*}\n */\n getControlWidth() {\n return this.width;\n }\n\n getLabelWidth() {\n return 12 - this.getControlWidth();\n }\n\n\n /**\n *\n * @param {string} formId\n * @param {Object} json\n * @return {FormMeta}\n */\n static createFromJson(formId, json) {\n let form = FormMeta.createFromId(formId);\n for (let prop in json) {\n if (!json.hasOwnProperty(prop)) {\n continue;\n }\n let value = json[prop];\n switch (prop) {\n case \"fields\":\n let fields = value;\n for (let field in fields) {\n if (fields.hasOwnProperty(field)) {\n form.addFormField(FormMetaField.createFromJson(fields[field]));\n }\n }\n continue;\n case \"tabs\":\n let tabs = value;\n for (let tab in tabs) {\n if (tabs.hasOwnProperty(tab)) {\n form.addTab(FormMetaTab.createFromJson(tabs[tab]));\n }\n }\n break;\n case \"width\":\n form.setControlWidth(value);\n break;\n case \"label\":\n form.setLabel(value);\n break;\n case \"url\":\n form.setUrl(value);\n break;\n default:\n Logger.getLogger().error(`The form property (${prop}) is unknown`);\n }\n\n\n }\n return form;\n }\n\n /**\n *\n * @param id\n * @return {FormMeta}\n */\n static createFromId(id) {\n return new FormMeta(id);\n }\n\n /**\n *\n * @param {FormMetaField} formField\n * @return {FormMeta}\n */\n addFormField(formField) {\n this.formFields[formField.getName()] = formField;\n // Be sure to have a tab for each field\n if (!this.tabs.hasOwnProperty(formField.getTab())) {\n this.tabs[formField.getTab()] = FormMetaTab.createFromName(formField.getTab());\n }\n return this;\n }\n\n /**\n *\n * @return {FormMetaField[]}\n */\n getFields() {\n return Object.values(this.formFields);\n }\n\n /**\n *\n * @return {FormMetaTab[]}\n */\n getTabs() {\n return Object.values(this.tabs);\n }\n\n addTab(formMetaTab) {\n this.tabs[formMetaTab.getName()] = formMetaTab;\n }\n\n valueOf() {\n return this.getId();\n };\n\n getFieldsForTab(tabName) {\n return this.getFields().filter(e => e.getTab() === tabName);\n }\n\n toHtmlElement() {\n\n let formId = this.getId();\n\n /**\n * Creating the Body\n * (Starting with the tabs)\n */\n let htmlTabNavs = '<ul class=\"nav nav-tabs mb-3\">';\n let activeClass;\n let ariaSelected;\n /**\n * @param {FormMetaTab} tab\n * @return string\n */\n this.getTabPaneId = function (tab) {\n let htmlId = Html.toHtmlId(tab.getName());\n return `${formId}-tab-pane-${htmlId}`;\n }\n /**\n * @param {FormMetaTab} tab\n * @return string\n */\n this.getTabNavId = function (/** @type {FormMetaTab}*/ tab) {\n let htmlId = Html.toHtmlId(tab.getName());\n return `${formId}-tab-nav-${htmlId}`;\n }\n this.getControlId = function (id) {\n let htmlId = Html.toHtmlId(id);\n return `${formId}-control-${htmlId}`;\n }\n let tabsMeta = this.getTabs();\n let defaultTab = tabsMeta[0];\n for (let tab of tabsMeta) {\n if (Object.is(tab, defaultTab)) {\n activeClass = \"active\";\n ariaSelected = \"true\";\n } else {\n activeClass = \"\";\n ariaSelected = \"false\";\n }\n let tabLabel = tab.getLabel();\n let tabPanId = this.getTabPaneId(tab);\n let tabNavId = this.getTabNavId(tab);\n htmlTabNavs += `\n<li class=\"nav-item\">\n<button\n class=\"nav-link ${activeClass}\"\n id=\"${tabNavId}\"\n type=\"button\"\n role=\"tab\"\n aria-selected = \"${ariaSelected}\"\n aria-controls = \"${tabPanId}\"\n data-bs-toggle = \"tab\"\n data-bs-target = \"#${tabPanId}\" >${tabLabel}\n </button>\n</li>`\n }\n htmlTabNavs += '</ul>';\n\n /**\n * Creating the content\n * @type {string}\n */\n let htmlTabPans = \"<div class=\\\"tab-content\\\">\";\n let rightColSize;\n let leftColSize;\n let elementIdCounter = 0;\n for (let tab of tabsMeta) {\n let tabPaneId = this.getTabPaneId(tab);\n let tabNavId = this.getTabNavId(tab);\n if (tab === defaultTab) {\n activeClass = \"active\";\n } else {\n activeClass = \"\";\n }\n htmlTabPans += `<div class=\"tab-pane ${activeClass}\" id=\"${tabPaneId}\" role=\"tabpanel\" aria-labelledby=\"${tabNavId}\">`;\n leftColSize = tab.getLabelWidth();\n rightColSize = tab.getFieldWidth();\n\n let fieldsForTab = this.getFieldsForTab(tab.getName());\n\n /**\n * Case one field without children\n * It should take the whole space\n */\n if (fieldsForTab.length === 1) {\n let formField = fieldsForTab[0];\n if (formField.getChildren().length === 0) {\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let labelHtml = formField.toHtmlLabel(elementId);\n let value = formField.getValue();\n let defaultValue = formField.getDefaultValue();\n let controlHtml = formField.toHtmlControl(elementId, value, defaultValue)\n htmlTabPans += `\n<div class=\"row mb-3 text-center\"><div class=\"col-sm-12\">${labelHtml}</div></div>\n<div class=\"row mb-3\"><div class=\"col-sm-12\">${controlHtml}</div></div>\n`;\n htmlTabPans += \"</div>\"; // close the pan\n continue;\n }\n\n }\n\n for (let formField of fieldsForTab) {\n\n let children = formField.getChildren();\n switch (children.length) {\n case 0:\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let labelHtml = formField.toHtmlLabel(elementId, `col-sm-${leftColSize}`);\n let value = formField.getValue();\n let defaultValue = formField.getDefaultValue();\n let controlHtml = formField.toHtmlControl(elementId, value, defaultValue)\n htmlTabPans += `\n<div class=\"row mb-3\">\n ${labelHtml}\n <div class=\"col-sm-${rightColSize}\">${controlHtml}</div>\n</div>\n`;\n break;\n default:\n let url = formField.getLabelAnchor();\n htmlTabPans += `<div class=\"row mb-3 text-center\">${url}</div>`;\n htmlTabPans += `<div class=\"row mb-3\">`;\n let rows = 0;\n for (const child of formField.getChildren()) {\n let width = child.getControlWidth();\n htmlTabPans += `<div class=\"col-sm-${width} text-center\">`;\n htmlTabPans += child.getLabelAnchor();\n htmlTabPans += `</div>`;\n let valuesLength = child.getValues().length;\n if (valuesLength > rows) {\n rows = valuesLength;\n }\n }\n htmlTabPans += `</div>`;\n\n for (let i = 0; i < rows; i++) {\n htmlTabPans += `<div class=\"row mb-3\">`;\n for (const child of formField.getChildren()) {\n let value = child.getValues()[i];\n let defaultValue = child.getDefaultValues()[i];\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let width = child.getControlWidth();\n htmlTabPans += `<div class=\"col-sm-${width}\">`;\n htmlTabPans += child.toHtmlControl(elementId, value, defaultValue);\n htmlTabPans += `</div>`;\n }\n htmlTabPans += `</div>`;\n }\n\n break;\n\n }\n\n }\n htmlTabPans += \"</div>\";\n }\n htmlTabPans += \"</div>\";\n\n let form = document.createElement(\"form\");\n form.setAttribute(\"id\", formId);\n form.innerHTML = `${htmlTabNavs} ${htmlTabPans}`;\n return form;\n }\n\n\n setControlWidth(width) {\n this.width = width;\n return this;\n }\n\n setLabel(label) {\n this.label = label;\n }\n\n setUrl(url) {\n this.url = url;\n }\n\n}\n",null,"module.exports=bootstrap;","/**\n * A pointer to the created modals\n * Private\n */\nimport Html from \"./Html\";\nimport {Modal, Tooltip, Tab} from \"bootstrap\";\nimport Logger from \"./Logger\";\n\n/**\n *\n * @type {Object.<string, ComboModal>}\n */\nlet comboModals = {};\n\nexport default class ComboModal {\n\n\n footerButtons = [];\n bodies = [];\n isBuild = false;\n bodyStyles = {};\n dialogStyles = {};\n showFooter = true;\n dialogClasses = [];\n\n /**\n * A valid HTML id\n * @param modalId\n */\n constructor(modalId) {\n\n this.modalId = modalId;\n /**\n * We create the modal root because developers may want to add\n * event on it right away\n * @type {HTMLDivElement}\n */\n let queryElement = document.getElementById(modalId);\n if (queryElement !== null) {\n Logger.getLogger().error(`The id (${modalId}) given to create a modal was already used by an element in the DOM. We have reused it.`)\n this.modalRootHtmlElement = queryElement;\n this.reset();\n } else {\n this.modalRootHtmlElement = document.createElement(\"div\");\n this.modalRootHtmlElement.setAttribute(\"id\", this.modalId);\n this.modalRootHtmlElement.classList.add(\"modal\", \"fade\");\n // Uncaught RangeError: Maximum call stack size exceeded caused by the tabindex\n // modalRoot.setAttribute(\"tabindex\", \"-1\");\n this.modalRootHtmlElement.setAttribute(\"aria-hidden\", \"true\");\n }\n\n }\n\n setHeader(headerText) {\n this.headerText = headerText;\n return this;\n }\n\n /**\n * @param htmlBody\n * @return {ComboModal}\n */\n addBody(htmlBody) {\n\n this.bodies.push(htmlBody);\n return this;\n\n }\n\n addBodyStyle(property, value) {\n\n this.bodyStyles[property] = value;\n return this;\n\n }\n\n noFooter() {\n this.showFooter = false;\n return this;\n }\n\n addDialogStyle(property, value) {\n\n this.dialogStyles[property] = value;\n return this;\n\n }\n\n addDialogClass(value) {\n\n this.dialogClasses.push(value);\n return this;\n\n }\n\n /**\n * @return {ComboModal}\n */\n resetOnClose() {\n this.isResetOnClose = true;\n return this;\n }\n\n\n /**\n *\n * @type HTMLButtonElement|string htmlFooter\n */\n addFooterButton(htmlFooter) {\n\n this.footerButtons.push(htmlFooter);\n return this;\n }\n\n /**\n *\n * @return HTMLButtonElement the close button\n */\n addFooterCloseButton(label = \"Close\") {\n this.closeButton = document.createElement(\"button\");\n this.closeButton.classList.add(\"btn\", \"btn-secondary\")\n this.closeButton.innerHTML = label;\n let modal = this;\n this.closeButton.addEventListener(\"click\", function () {\n modal.bootStrapModal.hide();\n });\n this.addFooterButton(this.closeButton);\n return this;\n }\n\n /**\n * Center the modal\n * @return {ComboModal}\n */\n centered() {\n this.isCentered = true;\n return this;\n }\n\n show() {\n\n if (this.modalRootHtmlElement == null) {\n throw new Error(\"This modal has no HTML element, you can't use it anymore\");\n }\n\n if (!this.isBuild) {\n this.build();\n }\n\n /**\n * Reset on close ?\n * Included tabs does not work anymore\n * for whatever reason\n */\n if (this.isResetOnClose === true) {\n let comboModal = this;\n this.getElement().addEventListener('hidden.bs.modal', function () {\n /**\n * the event is only dispatch on the root element, not all modal\n */\n comboModal.reset();\n });\n }\n\n /**\n * Callback (Parent Child Relationship)\n */\n if (this.callBack !== undefined) {\n if (this.closeButton !== undefined) {\n let modal = this;\n this.closeButton.addEventListener(\"click\", function () {\n /**\n * Two modals cannot be open at the same time\n * https://getbootstrap.com/docs/5.0/components/modal/#toggle-between-modals\n */\n modal.dismissHide();\n modal.callBack();\n });\n }\n }\n\n this.bootStrapModal.show();\n\n\n }\n\n dismissHide() {\n if (this.bootStrapModal !== undefined) {\n this.bootStrapModal.hide();\n }\n }\n\n getModalId() {\n return this.modalId;\n }\n\n /**\n *\n * @param {function} callBack\n */\n setCallBackOnClose(callBack) {\n this.callBack = callBack;\n return this;\n }\n\n\n /**\n * Create a modal and return the modal content element\n * @return ComboModal\n */\n static createFromId(modalId) {\n let modal = new ComboModal(modalId);\n comboModals[modalId] = modal;\n return modal;\n }\n\n /**\n * @param modalId\n * @return {ComboModal}\n */\n static getModal = function (modalId) {\n\n if (modalId in comboModals) {\n return comboModals[modalId];\n } else {\n return null;\n }\n }\n\n /**\n * List the managed modals\n */\n static listModals = function () {\n console.log(Object.keys(comboModals).join(\", \"));\n }\n\n /**\n * Delete all modals\n */\n static resetAllModals = function () {\n for (let prop in comboModals) {\n if (comboModals.hasOwnProperty(prop)) {\n let modal = comboModals[prop];\n modal.reset();\n }\n }\n }\n\n /**\n *\n * @return {ComboModal}\n */\n static createTemporary() {\n return this.createFromId(Html.createRandomId());\n }\n\n getElement() {\n return this.modalRootHtmlElement;\n }\n\n /**\n * Calling the {@link show} function will build the\n * modal, if this is the case, you can't build it anymore\n * you need to {@link reset} it and recreate it if needed\n * @return {boolean}\n */\n wasBuild() {\n return this.isBuild;\n }\n\n setCentered(bool){\n this.isCentered = bool;\n return this;\n }\n resetIfBuild() {\n if (this.wasBuild()) {\n this.reset();\n }\n return this;\n }\n\n reset() {\n\n // DOM\n this.modalRootHtmlElement.querySelectorAll('[data-bs-toggle=\"tab\"]').forEach(tabTriggerElement => {\n let tab = Tab.getInstance(tabTriggerElement);\n if (tab !== null) {\n // tab are only created when the user click on them\n tab.dispose();\n }\n })\n\n /**\n * Bootstrap Modal\n * dispose should delete the root element\n * but it does not\n */\n if (this.bootStrapModal !== undefined) {\n this.dismissHide();\n }\n this.modalRootHtmlElement.innerHTML = \"\";\n\n /**\n * Content\n */\n this.isBuild = false;\n this.bodies = [];\n this.footerButtons = [];\n this.headerText = undefined;\n }\n\n /**\n * Build the modal\n */\n build() {\n\n this.isBuild = true;\n\n document.body.appendChild(this.modalRootHtmlElement);\n\n const modalManagerDialog = document.createElement(\"div\");\n modalManagerDialog.classList.add(\n \"modal-dialog\",\n \"modal-dialog-scrollable\",\n \"modal-lg\");\n if (this.isCentered) {\n modalManagerDialog.classList.add(\"modal-dialog-centered\")\n } else {\n // Get the modal more central but fix as we have tab and\n // we want still the mouse below the tab to be at the same position when we click\n modalManagerDialog.style.setProperty(\"margin\", \"5rem auto\");\n modalManagerDialog.style.setProperty(\"height\", \"calc(100% - 9rem)\");\n }\n for (let dialogStyleName in this.dialogStyles) {\n if (!this.dialogStyles.hasOwnProperty(dialogStyleName)) {\n continue;\n }\n modalManagerDialog.style.setProperty(dialogStyleName, this.dialogStyles[dialogStyleName]);\n }\n for (let dialogClass in this.dialogClasses){\n modalManagerDialog.classList.add(dialogClass);\n }\n this.modalRootHtmlElement.appendChild(modalManagerDialog);\n this.modalContent = document.createElement(\"div\");\n this.modalContent.classList.add(\"modal-content\");\n modalManagerDialog.appendChild(this.modalContent);\n\n this.modalBody = document.createElement(\"div\");\n this.modalBody.classList.add(\"modal-body\");\n for (let bodyStyleName in this.bodyStyles) {\n if (!this.bodyStyles.hasOwnProperty(bodyStyleName)) {\n continue;\n }\n this.modalBody.style.setProperty(bodyStyleName, this.bodyStyles[bodyStyleName]);\n }\n this.modalContent.appendChild(this.modalBody);\n\n\n /**\n * No need to use the global variable access mode (ie `bootstrap.Modal`)\n * It's created at build time\n * @type {Modal}\n */\n this.bootStrapModal = Modal.getInstance(this.modalRootHtmlElement);\n if (this.bootStrapModal === null) {\n /**\n * The bootstrap modal function\n * can only be invoked when the body element has been defined\n */\n let options = {\n \"backdrop\": true,\n \"keyboard\": true,\n \"focus\": true\n };\n this.bootStrapModal = new Modal(this.modalRootHtmlElement, options);\n }\n\n /**\n * Building the header\n */\n if (this.headerText !== undefined) {\n let headerHtml = `\n<div class=\"modal-header\">\n <h5 class=\"modal-title\">${this.headerText}</h5>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n</div>\n`;\n this.modalContent.insertAdjacentHTML('afterbegin', headerHtml);\n }\n\n /**\n * Building the body\n */\n for (let body of this.bodies) {\n let type = typeof body;\n switch (type) {\n case \"string\":\n this.modalBody.insertAdjacentHTML('beforeend', body);\n break;\n default:\n case \"object\":\n this.modalBody.appendChild(body);\n break;\n }\n }\n\n /**\n * Footer button\n */\n if(this.showFooter) {\n let modalFooter = document.createElement(\"div\");\n modalFooter.classList.add(\"modal-footer\");\n this.modalContent.appendChild(modalFooter);\n\n if (this.footerButtons.length === 0) {\n this.addFooterCloseButton();\n }\n\n for (let footerButton of this.footerButtons) {\n if (typeof footerButton === 'string' || footerButton instanceof String) {\n modalFooter.insertAdjacentHTML('beforeend', footerButton);\n } else {\n modalFooter.appendChild(footerButton);\n }\n }\n }\n\n /**\n * Init the tooltip if any\n */\n let tooltipSelector = `#${this.modalId} [data-bs-toggle=\"tooltip\"]`;\n document.querySelectorAll(tooltipSelector).forEach(el => new Tooltip(el));\n }\n\n\n static getOrCreate(modalId) {\n let modal = ComboModal.getModal(modalId);\n if (modal === null) {\n modal = ComboModal.createFromId(modalId);\n }\n return modal;\n }\n}\n","export default function _typeof(obj) {\n \"@swc/helpers - typeof\";\n return obj && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script (…)
/plugin/combo/ComboStrap/
H A DSnippetSystem.php339 * The scope is mandatory:
347 function toHtml($scope): string argument
349 switch ($scope) {
359 if ($scope !== Snippet::ALL_SCOPE) {
360 LogUtility::internalError("Scope ($scope) is unknown, we have defaulted to all");
H A DIdManager.php75 private function generateAndGetNewSequenceValueForScope(string $scope) argument
78 $lastId = $this->lastIdByScope[$scope] ?? null;
84 $this->lastIdByScope[$scope] = $lastId;
H A DSiteConfig.php167 public function getValue(string $key, ?string $default = null, ?string $scope = PluginUtility::PLUGIN_BASE_NAME) argument
169 return self::getConfValue($key, $default, $scope);
/plugin/combo/resources/firebug/
H A Dfirebug-lite-1.2-compressed.js103 return index;},remove:function(_array,_index){var result=_array.slice(0,_index);_array=Array.prototype.push.apply(result,_array.slice(_index+1));return result;}},Curry:function(_fn,_scope){var fn=_fn,scope=_scope||window,args=Array.prototype.slice.call(arguments,2);return function(){return fn.apply(scope,args.concat(Array.prototype.slice.call(arguments,0)));};},Extend:function(_superClass,_prototype,_skipClonning){var object=new pi.base;if(_prototype["$Init"]){object.init=_prototype["$Init"];delete _prototype["$Init"];};object.body=_superClass==pi.base?_prototype:pi.util.Hash.merge(_prototype,_superClass.prototype);object.init=object.init||function(){if(_superClass!=pi.base)
H A Dfirebug-lite-1.2.js1983 var fn = _fn, scope = _scope||window, args = Array.prototype.slice.call(arguments,2);
1985 return fn.apply(scope,args.concat( Array.prototype.slice.call(arguments,0) ));
/plugin/combo/
H A DLICENSE73 covered by this License; they are outside its scope. The act of
132 the scope of this License.
/plugin/adhoctags/
H A DLICENSE73 covered by this License; they are outside its scope. The act of
132 the scope of this License.
/plugin/dwtimeline/
H A DLICENSE73 covered by this License; they are outside its scope. The act of
132 the scope of this License.
/plugin/mobiletable/
H A Dscript.js1 var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.arrayIteratorImpl=function(a){var r=0;return funct…
H A DLICENSE73 covered by this License; they are outside its scope. The act of
132 the scope of this License.
/plugin/katex/
H A DLICENSE522 the scope of its coverage, prohibits the exercise of, or is
/plugin/bbcodeextensions/
H A DLICENSE522 the scope of its coverage, prohibits the exercise of, or is
/plugin/confightmlok/
H A DLICENSE175 A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
/plugin/randomtables/
H A DLICENSE73 covered by this License; they are outside its scope. The act of
132 the scope of this License.
/plugin/oauth/Service/
H A DAbstractOAuth2Base.php50 * @param string $scope
53 public function isValidScope($scope)
54 isValidScope($scope) global() argument
/plugin/oauth/vendor/lusitanian/oauth/src/OAuth/OAuth2/Service/
H A DAbstractService.php51 foreach ($scopes as $scope) {
52 if (!$this->isValidScope($scope)) {
53 throw new InvalidScopeException('Scope ' . $scope . ' is not valid for service ' . get_class($this));
79 $parameters['scope'] = implode($this->getScopesDelimiter(), $this->scopes);
221 * Return whether or not the passed scope value is valid.
223 * @param string $scope
227 public function isValidScope($scope) argument
231 return in_array($scope, $reflectionClass->getConstants(), true);
H A DHubic.php136 // special, hubic use a param scope with commas
138 $parameters['scope'] = implode(',', $this->scopes);
H A DJawboneUP.php80 $parameters['scope'] = implode(' ', $this->scopes);
H A DDropbox.php49 $parameters['scope'] = implode(' ', $this->scopes);
H A DRunKeeper.php48 $parameters['scope'] = implode(' ', $this->scopes);
/plugin/oauth/vendor/lusitanian/oauth/src/OAuth/OAuth1/Service/
H A DEtsy.php42 $uri->setQuery('scope=' . implode('%20', $scopes));
/plugin/oauth/vendor/lusitanian/oauth/src/OAuth/
H A DServiceFactory.php199 foreach ($scopes as $scope) {
200 $key = strtoupper('SCOPE_' . $scope);
205 $resolvedScopes[] = $scope;

12345678910>>...27