{"version":3,"file":"dropdown.js","sources":["../src/util/index.js","../src/base-component.js","../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): 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 const hrefAttr = element.getAttribute('href')\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 => (obj[0] || obj).nodeType\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) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\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 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 = () => function () {}\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\nexport {\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst VERSION = '5.0.0-alpha3'\n\nclass BaseComponent {\n constructor(element) {\n if (!element) {\n return\n }\n\n this._element = element\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n dispose() {\n Data.removeData(this._element, this.constructor.DATA_KEY)\n this._element = null\n }\n\n /** Static */\n\n static getInstance(element) {\n return Data.getData(element, this.DATA_KEY)\n }\n\n static get VERSION() {\n return VERSION\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n getElementFromSelector,\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 Popper from 'popper.js'\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_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_MENUEND = 'dropdown-menu-end'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\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,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\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 DATA_KEY() {\n return DATA_KEY\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || 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 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 = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\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', null, 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(parent, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !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 hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.toggle(CLASS_NAME_SHOW)\n this._element.classList.toggle(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n super.dispose()\n EventHandler.off(this._element, EVENT_KEY)\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\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 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 let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n placement = this._menu.classList.contains(CLASS_NAME_MENUEND) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n placement = PLACEMENT_RIGHT\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n placement = PLACEMENT_LEFT\n } else if (this._menu.classList.contains(CLASS_NAME_MENUEND)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(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 parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\n dropdownMenu.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\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', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n toggles[i].classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(parent, EVENT_HIDDEN, 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 event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (event.key === ESCAPE_KEY) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.focus()\n Dropdown.clearMenus()\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n return\n }\n\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).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\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 event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n }\n})\n\nexport default Dropdown\n"],"names":["toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","trim","getElementFromSelector","document","querySelector","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","getComputedStyle","parentNodeStyle","display","visibility","noop","getjQuery","window","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","addEventListener","isRTL","documentElement","dir","VERSION","BaseComponent","_element","Data","setData","constructor","DATA_KEY","dispose","removeData","getInstance","getData","NAME","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_SHOW","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_MENUEND","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_DATA_TOGGLE","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","Default","offset","flip","boundary","reference","popperConfig","DefaultType","Dropdown","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","toggle","disabled","classList","contains","isActive","clearMenus","show","parent","getParentFromElement","relatedTarget","showEvent","EventHandler","trigger","defaultPrevented","Popper","TypeError","referenceElement","jquery","add","_getPopperConfig","closest","concat","children","elem","on","focus","setAttribute","hide","hideEvent","destroy","off","update","scheduleUpdate","event","preventDefault","stopPropagation","Manipulator","getDataAttributes","SelectorEngine","next","_getPlacement","parentDropdown","placement","Boolean","_getOffset","fn","data","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","jQueryInterface","each","button","type","key","toggles","find","i","len","length","context","clickEvent","dropdownMenu","target","tagName","remove","dataApiKeydownHandler","matches","prev","items","filter","index","indexOf","e","$","JQUERY_NO_CONFLICT","Constructor","noConflict"],"mappings":"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"}