offcanvas.js.map
39.4 KB
{"version":3,"file":"offcanvas.js","sources":["../src/util/index.js","../src/util/scrollbar.js","../src/util/backdrop.js","../src/offcanvas.js"],"sourcesContent":["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): 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): 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"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","transitionDuration","transitionDelay","window","getComputedStyle","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","jquery","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","reflow","offsetHeight","getjQuery","jQuery","body","onDOMContentLoaded","callback","readyState","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","execute","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","getWidth","documentWidth","documentElement","clientWidth","Math","abs","innerWidth","hide","width","_disableOverFlow","_setElementAttributes","calculatedValue","actualValue","overflow","Manipulator","setDataAttribute","styleProp","scrollbarWidth","SelectorEngine","find","reset","_resetElementAttributes","getDataAttribute","removeProperty","removeDataAttribute","Default","isAnimated","rootElement","clickCallback","DefaultType","CLASS_NAME_BACKDROP","CLASS_NAME_FADE","CLASS_NAME_SHOW","EVENT_MOUSEDOWN","Backdrop","constructor","_config","_getConfig","_isAppended","_element","show","_append","_getElement","add","_emulateAnimation","remove","dispose","backdrop","createElement","className","appendChild","EventHandler","on","off","removeChild","backdropTransitionDuration","one","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_LOAD_DATA_API","ESCAPE_KEY","keyboard","scroll","OPEN_SELECTOR","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_FOCUSIN","EVENT_CLICK_DATA_API","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","SELECTOR_DATA_DISMISS","SELECTOR_DATA_TOGGLE","Offcanvas","BaseComponent","_isShown","_backdrop","_initializeBackDrop","_addEventListeners","toggle","relatedTarget","showEvent","trigger","defaultPrevented","scrollBarHide","_enforceFocusOnElement","removeAttribute","setAttribute","completeCallBack","_queueCallback","hideEvent","blur","completeCallback","scrollBarReset","getDataAttributes","event","target","focus","key","each","data","Data","get","tagName","preventDefault","allReadyOpen","findOne","getInstance","el"],"mappings":"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"}