diff options
Diffstat (limited to 'js/dist')
-rw-r--r-- | js/dist/alert.js | 16 | ||||
-rw-r--r-- | js/dist/alert.js.map | 2 | ||||
-rw-r--r-- | js/dist/base-component.js.map | 2 | ||||
-rw-r--r-- | js/dist/button.js | 16 | ||||
-rw-r--r-- | js/dist/button.js.map | 2 | ||||
-rw-r--r-- | js/dist/carousel.js | 12 | ||||
-rw-r--r-- | js/dist/carousel.js.map | 2 | ||||
-rw-r--r-- | js/dist/collapse.js | 12 | ||||
-rw-r--r-- | js/dist/collapse.js.map | 2 | ||||
-rw-r--r-- | js/dist/dropdown.js | 12 | ||||
-rw-r--r-- | js/dist/dropdown.js.map | 2 | ||||
-rw-r--r-- | js/dist/modal.js | 12 | ||||
-rw-r--r-- | js/dist/modal.js.map | 2 | ||||
-rw-r--r-- | js/dist/popover.js | 16 | ||||
-rw-r--r-- | js/dist/popover.js.map | 2 | ||||
-rw-r--r-- | js/dist/scrollspy.js | 12 | ||||
-rw-r--r-- | js/dist/scrollspy.js.map | 2 | ||||
-rw-r--r-- | js/dist/tab.js | 16 | ||||
-rw-r--r-- | js/dist/tab.js.map | 2 | ||||
-rw-r--r-- | js/dist/toast.js | 12 | ||||
-rw-r--r-- | js/dist/toast.js.map | 2 | ||||
-rw-r--r-- | js/dist/tooltip.js | 12 | ||||
-rw-r--r-- | js/dist/tooltip.js.map | 2 |
23 files changed, 141 insertions, 31 deletions
diff --git a/js/dist/alert.js b/js/dist/alert.js index 2e4f2a0885..6bcde2615f 100644 --- a/js/dist/alert.js +++ b/js/dist/alert.js @@ -34,7 +34,17 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; + + _setPrototypeOf(subClass, superClass); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); } /** @@ -266,8 +276,8 @@ _createClass(Alert, null, [{ key: "DATA_KEY", - // Getters - get: function get() { + get: // Getters + function get() { return DATA_KEY; } }]); diff --git a/js/dist/alert.js.map b/js/dist/alert.js.map index 69e1a242e6..6ef85dc0e8 100644 --- a/js/dist/alert.js.map +++ b/js/dist/alert.js.map @@ -1 +1 @@ -{"version":3,"file":"alert.js","sources":["../src/util/index.js","../src/alert.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): alert.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} 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 DATA_KEY() {\n return DATA_KEY\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 if (!element.classList.contains(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, 'transitionend', () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\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.getData(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 */\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(NAME, Alert)\n\nexport default Alert\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASS_NAME_ALERT","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","rootElement","_getRootElement","_element","customEvent","_triggerCloseEvent","defaultPrevented","_removeElement","closest","EventHandler","trigger","classList","remove","contains","_destroyElement","one","parentNode","removeChild","config","each","data","Data","getData","handleDismiss","alertInstance","event","preventDefault","BaseComponent","on"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"alert.js","sources":["../src/util/index.js","../src/alert.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): alert.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} 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 DATA_KEY() {\n return DATA_KEY\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 if (!element.classList.contains(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler.one(element, 'transitionend', () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\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.getData(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 */\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(NAME, Alert)\n\nexport default Alert\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASS_NAME_ALERT","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","rootElement","_getRootElement","_element","customEvent","_triggerCloseEvent","defaultPrevented","_removeElement","closest","EventHandler","trigger","classList","remove","contains","_destroyElement","one","parentNode","removeChild","config","each","data","Data","getData","handleDismiss","alertInstance","event","preventDefault","BaseComponent","on"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/base-component.js.map b/js/dist/base-component.js.map index 0779b6d72e..7b46dfb39e 100644 --- a/js/dist/base-component.js.map +++ b/js/dist/base-component.js.map @@ -1 +1 @@ -{"version":3,"file":"base-component.js","sources":["../src/base-component.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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-beta2'\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"],"names":["VERSION","BaseComponent","element","_element","Data","setData","constructor","DATA_KEY","dispose","removeData","getInstance","getData"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASA;EACA;EACA;EACA;EACA;;EAEA,IAAMA,OAAO,GAAG,aAAhB;;MAEMC;EACJ,yBAAYC,OAAZ,EAAqB;EACnB,QAAI,CAACA,OAAL,EAAc;EACZ;EACD;;EAED,SAAKC,QAAL,GAAgBD,OAAhB;EACAE,IAAAA,wBAAI,CAACC,OAAL,CAAaH,OAAb,EAAsB,KAAKI,WAAL,CAAiBC,QAAvC,EAAiD,IAAjD;EACD;;;;WAEDC,UAAA,mBAAU;EACRJ,IAAAA,wBAAI,CAACK,UAAL,CAAgB,KAAKN,QAArB,EAA+B,KAAKG,WAAL,CAAiBC,QAAhD;EACA,SAAKJ,QAAL,GAAgB,IAAhB;EACD;EAED;;;kBAEOO,cAAP,qBAAmBR,OAAnB,EAA4B;EAC1B,WAAOE,wBAAI,CAACO,OAAL,CAAaT,OAAb,EAAsB,KAAKK,QAA3B,CAAP;EACD;;;;0BAEoB;EACnB,aAAOP,OAAP;EACD;;;;;;;;;;;;"}
\ No newline at end of file +{"version":3,"file":"base-component.js","sources":["../src/base-component.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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-beta2'\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"],"names":["VERSION","BaseComponent","element","_element","Data","setData","constructor","DATA_KEY","dispose","removeData","getInstance","getData"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASA;EACA;EACA;EACA;EACA;;EAEA,IAAMA,OAAO,GAAG,aAAhB;;MAEMC;EACJ,yBAAYC,OAAZ,EAAqB;EACnB,QAAI,CAACA,OAAL,EAAc;EACZ;EACD;;EAED,SAAKC,QAAL,GAAgBD,OAAhB;EACAE,IAAAA,wBAAI,CAACC,OAAL,CAAaH,OAAb,EAAsB,KAAKI,WAAL,CAAiBC,QAAvC,EAAiD,IAAjD;EACD;;;;WAEDC,UAAA,mBAAU;EACRJ,IAAAA,wBAAI,CAACK,UAAL,CAAgB,KAAKN,QAArB,EAA+B,KAAKG,WAAL,CAAiBC,QAAhD;EACA,SAAKJ,QAAL,GAAgB,IAAhB;EACD;EAED;;;kBAEOO,cAAP,qBAAmBR,OAAnB,EAA4B;EAC1B,WAAOE,wBAAI,CAACO,OAAL,CAAaT,OAAb,EAAsB,KAAKK,QAA3B,CAAP;EACD;;;;WAED,eAAqB;EACnB,aAAOP,OAAP;EACD;;;;;;;;;;;;"}
\ No newline at end of file diff --git a/js/dist/button.js b/js/dist/button.js index 4139b4bd34..7e6b55a600 100644 --- a/js/dist/button.js +++ b/js/dist/button.js @@ -34,7 +34,17 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; + + _setPrototypeOf(subClass, superClass); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); } /** @@ -134,8 +144,8 @@ _createClass(Button, null, [{ key: "DATA_KEY", - // Getters - get: function get() { + get: // Getters + function get() { return DATA_KEY; } }]); diff --git a/js/dist/button.js.map b/js/dist/button.js.map index 2176c63134..97a9b27831 100644 --- a/js/dist/button.js.map +++ b/js/dist/button.js.map @@ -1 +1 @@ -{"version":3,"file":"button.js","sources":["../src/util/index.js","../src/button.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 DATA_KEY() {\n return DATA_KEY\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.getData(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.getData(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(NAME, Button)\n\nexport default Button\n"],"names":["getjQuery","window","jQuery","document","body","hasAttribute","onDOMContentLoaded","callback","readyState","addEventListener","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","_element","setAttribute","classList","config","each","data","Data","getData","BaseComponent","EventHandler","on","event","preventDefault","button","target","closest"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"button.js","sources":["../src/util/index.js","../src/button.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 DATA_KEY() {\n return DATA_KEY\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.getData(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.getData(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(NAME, Button)\n\nexport default Button\n"],"names":["getjQuery","window","jQuery","document","body","hasAttribute","onDOMContentLoaded","callback","readyState","addEventListener","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","_element","setAttribute","classList","config","each","data","Data","getData","BaseComponent","EventHandler","on","event","preventDefault","button","target","closest"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/carousel.js b/js/dist/carousel.js index 986de8e0cf..ac6e8455b5 100644 --- a/js/dist/carousel.js +++ b/js/dist/carousel.js @@ -54,7 +54,17 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; + + _setPrototypeOf(subClass, superClass); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); } /** diff --git a/js/dist/carousel.js.map b/js/dist/carousel.js.map index 700fdeb606..c681d93033 100644 --- a/js/dist/carousel.js.map +++ b/js/dist/carousel.js.map @@ -1 +1 @@ -{"version":3,"file":"carousel.js","sources":["../src/util/index.js","../src/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): carousel.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 isVisible,\n isRTL,\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 DIRECTION_NEXT = 'next'\nconst DIRECTION_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 DATA_KEY() {\n return DATA_KEY\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_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(DIRECTION_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 direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n super.dispose()\n EventHandler.off(this._element, EVENT_KEY)\n\n this._items = null\n this._config = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\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 // swipe left\n if (direction > 0) {\n if (isRTL) {\n this.next()\n } else {\n this.prev()\n }\n }\n\n // swipe right\n if (direction < 0) {\n if (isRTL) {\n this.prev()\n } else {\n this.next()\n }\n }\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 if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\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 if (isRTL) {\n this.next()\n } else {\n this.prev()\n }\n } else if (event.key === ARROW_RIGHT_KEY) {\n event.preventDefault()\n if (isRTL) {\n this.prev()\n } else {\n this.next()\n }\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 _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -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(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement && this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n const directionalClassName = direction === DIRECTION_NEXT ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = direction === DIRECTION_NEXT ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n const eventDirectionName = direction === DIRECTION_NEXT ? DIRECTION_LEFT : DIRECTION_RIGHT\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 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 transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, 'transitionend', () => {\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(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(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.getData(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.getData(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(NAME, Carousel)\n\nexport default Carousel\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","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","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","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","isRTL","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_INDICATOR","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","SelectorEngine","findOne","_element","_touchSupported","navigator","maxTouchPoints","_pointerEvent","Boolean","PointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","event","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","EventHandler","one","direction","dispose","off","_handleSwipe","absDeltax","Math","abs","on","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","find","itemImg","e","preventDefault","classList","add","target","tagName","key","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","trigger","from","_setActiveIndicatorElement","activeIndicator","remove","removeAttribute","indicators","i","parseInt","setAttribute","elementInterval","defaultInterval","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","contains","slideEvent","defaultPrevented","carouselInterface","data","Data","getData","Manipulator","getDataAttributes","action","ride","each","dataApiClickHandler","slideIndex","BaseComponent","carousels","len"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"carousel.js","sources":["../src/util/index.js","../src/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): carousel.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 isVisible,\n isRTL,\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 DIRECTION_NEXT = 'next'\nconst DIRECTION_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 DATA_KEY() {\n return DATA_KEY\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_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(DIRECTION_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 direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n super.dispose()\n EventHandler.off(this._element, EVENT_KEY)\n\n this._items = null\n this._config = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\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 // swipe left\n if (direction > 0) {\n if (isRTL) {\n this.next()\n } else {\n this.prev()\n }\n }\n\n // swipe right\n if (direction < 0) {\n if (isRTL) {\n this.prev()\n } else {\n this.next()\n }\n }\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 if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\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 if (isRTL) {\n this.next()\n } else {\n this.prev()\n }\n } else if (event.key === ARROW_RIGHT_KEY) {\n event.preventDefault()\n if (isRTL) {\n this.prev()\n } else {\n this.next()\n }\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 _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -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(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement && this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n const directionalClassName = direction === DIRECTION_NEXT ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = direction === DIRECTION_NEXT ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n const eventDirectionName = direction === DIRECTION_NEXT ? DIRECTION_LEFT : DIRECTION_RIGHT\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 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 transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, 'transitionend', () => {\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(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(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.getData(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.getData(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(NAME, Carousel)\n\nexport default Carousel\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","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","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","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","isRTL","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_INDICATOR","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","SelectorEngine","findOne","_element","_touchSupported","navigator","maxTouchPoints","_pointerEvent","Boolean","PointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","event","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","EventHandler","one","direction","dispose","off","_handleSwipe","absDeltax","Math","abs","on","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","find","itemImg","e","preventDefault","classList","add","target","tagName","key","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","trigger","from","_setActiveIndicatorElement","activeIndicator","remove","removeAttribute","indicators","i","parseInt","setAttribute","elementInterval","defaultInterval","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","contains","slideEvent","defaultPrevented","carouselInterface","data","Data","getData","Manipulator","getDataAttributes","action","ride","each","dataApiClickHandler","slideIndex","BaseComponent","carousels","len"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/collapse.js b/js/dist/collapse.js index af9406fc6a..29f47f9002 100644 --- a/js/dist/collapse.js +++ b/js/dist/collapse.js @@ -54,7 +54,17 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; + + _setPrototypeOf(subClass, superClass); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); } /** diff --git a/js/dist/collapse.js.map b/js/dist/collapse.js.map index f592fbdbe0..4d51ead570 100644 --- a/js/dist/collapse.js.map +++ b/js/dist/collapse.js.map @@ -1 +1 @@ -{"version":3,"file":"collapse.js","sources":["../src/util/index.js","../src/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\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=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-bs-target=\"#${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 === 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 DATA_KEY() {\n return DATA_KEY\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.getData(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.setData(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, 'transitionend', complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, 'transitionend', complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n super.dispose()\n this._config = null\n this._parent = null\n this._triggerArray = null\n this._isTransitioning = null\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 if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\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.getData(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.getData(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(NAME, Collapse)\n\nexport default Collapse\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","document","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","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","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","toggle","parent","DefaultType","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_CLICK_DATA_API","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","SELECTOR_DATA_TOGGLE","Collapse","_isTransitioning","_config","_getConfig","_triggerArray","SelectorEngine","find","id","toggleList","i","len","length","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","_element","classList","contains","hide","show","actives","activesData","container","findOne","tempActiveData","Data","getData","startEvent","EventHandler","trigger","defaultPrevented","elemActive","collapseInterface","setData","dimension","_getDimension","remove","add","style","setAttribute","setTransitioning","complete","capitalizedDimension","slice","scrollSize","one","getBoundingClientRect","triggerArrayLength","isTransitioning","dispose","Boolean","jquery","selected","triggerArray","isOpen","data","Manipulator","getDataAttributes","each","BaseComponent","on","event","target","tagName","delegateTarget","preventDefault","triggerData","selectorElements"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAGA,IAAMA,uBAAuB,GAAG,IAAhC;EACA,IAAMC,cAAc,GAAG,eAAvB;;EAGA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,GAAG,EAAI;EACpB,MAAIA,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAKC,SAA5B,EAAuC;EACrC,gBAAUD,GAAV;EACD;;EAED,SAAO,GAAGE,QAAH,CAAYC,IAAZ,CAAiBH,GAAjB,EAAsBI,KAAtB,CAA4B,aAA5B,EAA2C,CAA3C,EAA8CC,WAA9C,EAAP;EACD,CAND;;EAsBA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAAAC,OAAO,EAAI;EAC7B,MAAIC,QAAQ,GAAGD,OAAO,CAACE,YAAR,CAAqB,gBAArB,CAAf;;EAEA,MAAI,CAACD,QAAD,IAAaA,QAAQ,KAAK,GAA9B,EAAmC;EACjC,QAAIE,QAAQ,GAAGH,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAf,CADiC;EAIjC;EACA;EACA;;EACA,QAAI,CAACC,QAAD,IAAc,CAACA,QAAQ,CAACC,QAAT,CAAkB,GAAlB,CAAD,IAA2B,CAACD,QAAQ,CAACE,UAAT,CAAoB,GAApB,CAA9C,EAAyE;EACvE,aAAO,IAAP;EACD,KATgC;;;EAYjC,QAAIF,QAAQ,CAACC,QAAT,CAAkB,GAAlB,KAA0B,CAACD,QAAQ,CAACE,UAAT,CAAoB,GAApB,CAA/B,EAAyD;EACvDF,MAAAA,QAAQ,GAAG,MAAMA,QAAQ,CAACG,KAAT,CAAe,GAAf,EAAoB,CAApB,CAAjB;EACD;;EAEDL,IAAAA,QAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAAK,GAAzB,GAA+BA,QAAQ,CAACI,IAAT,EAA/B,GAAiD,IAA5D;EACD;;EAED,SAAON,QAAP;EACD,CAvBD;;EAyBA,IAAMO,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAR,OAAO,EAAI;EACxC,MAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;;EAEA,MAAIC,QAAJ,EAAc;EACZ,WAAOQ,QAAQ,CAACC,aAAT,CAAuBT,QAAvB,IAAmCA,QAAnC,GAA8C,IAArD;EACD;;EAED,SAAO,IAAP;EACD,CARD;;EAUA,IAAMU,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAX,OAAO,EAAI;EACxC,MAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;EAEA,SAAOC,QAAQ,GAAGQ,QAAQ,CAACC,aAAT,CAAuBT,QAAvB,CAAH,GAAsC,IAArD;EACD,CAJD;;EAMA,IAAMW,gCAAgC,GAAG,SAAnCA,gCAAmC,CAAAZ,OAAO,EAAI;EAClD,MAAI,CAACA,OAAL,EAAc;EACZ,WAAO,CAAP;EACD,GAHiD;;;EAAA,8BAMJa,MAAM,CAACC,gBAAP,CAAwBd,OAAxB,CANI;EAAA,MAM5Ce,kBAN4C,yBAM5CA,kBAN4C;EAAA,MAMxBC,eANwB,yBAMxBA,eANwB;;EAQlD,MAAMC,uBAAuB,GAAGC,MAAM,CAACC,UAAP,CAAkBJ,kBAAlB,CAAhC;EACA,MAAMK,oBAAoB,GAAGF,MAAM,CAACC,UAAP,CAAkBH,eAAlB,CAA7B,CATkD;;EAYlD,MAAI,CAACC,uBAAD,IAA4B,CAACG,oBAAjC,EAAuD;EACrD,WAAO,CAAP;EACD,GAdiD;;;EAiBlDL,EAAAA,kBAAkB,GAAGA,kBAAkB,CAACT,KAAnB,CAAyB,GAAzB,EAA8B,CAA9B,CAArB;EACAU,EAAAA,eAAe,GAAGA,eAAe,CAACV,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,CAAlB;EAEA,SAAO,CAACY,MAAM,CAACC,UAAP,CAAkBJ,kBAAlB,IAAwCG,MAAM,CAACC,UAAP,CAAkBH,eAAlB,CAAzC,IAA+E1B,uBAAtF;EACD,CArBD;;EAuBA,IAAM+B,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAArB,OAAO,EAAI;EACtCA,EAAAA,OAAO,CAACsB,aAAR,CAAsB,IAAIC,KAAJ,CAAUhC,cAAV,CAAtB;EACD,CAFD;;EAIA,IAAMiC,SAAS,GAAG,SAAZA,SAAY,CAAA/B,GAAG;EAAA,SAAI,CAACA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAX,EAAgBgC,QAApB;EAAA,CAArB;;EAEA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAC1B,OAAD,EAAU2B,QAAV,EAAuB;EAClD,MAAIC,MAAM,GAAG,KAAb;EACA,MAAMC,eAAe,GAAG,CAAxB;EACA,MAAMC,gBAAgB,GAAGH,QAAQ,GAAGE,eAApC;;EAEA,WAASE,QAAT,GAAoB;EAClBH,IAAAA,MAAM,GAAG,IAAT;EACA5B,IAAAA,OAAO,CAACgC,mBAAR,CAA4BzC,cAA5B,EAA4CwC,QAA5C;EACD;;EAED/B,EAAAA,OAAO,CAACiC,gBAAR,CAAyB1C,cAAzB,EAAyCwC,QAAzC;EACAG,EAAAA,UAAU,CAAC,YAAM;EACf,QAAI,CAACN,MAAL,EAAa;EACXP,MAAAA,oBAAoB,CAACrB,OAAD,CAApB;EACD;EACF,GAJS,EAIP8B,gBAJO,CAAV;EAKD,CAhBD;;EAkBA,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACC,aAAD,EAAgBC,MAAhB,EAAwBC,WAAxB,EAAwC;EAC9DC,EAAAA,MAAM,CAACC,IAAP,CAAYF,WAAZ,EAAyBG,OAAzB,CAAiC,UAAAC,QAAQ,EAAI;EAC3C,QAAMC,aAAa,GAAGL,WAAW,CAACI,QAAD,CAAjC;EACA,QAAME,KAAK,GAAGP,MAAM,CAACK,QAAD,CAApB;EACA,QAAMG,SAAS,GAAGD,KAAK,IAAIpB,SAAS,CAACoB,KAAD,CAAlB,GAA4B,SAA5B,GAAwCpD,MAAM,CAACoD,KAAD,CAAhE;;EAEA,QAAI,CAAC,IAAIE,MAAJ,CAAWH,aAAX,EAA0BI,IAA1B,CAA+BF,SAA/B,CAAL,EAAgD;EAC9C,YAAM,IAAIG,SAAJ,CACDZ,aAAa,CAACa,WAAd,EAAH,yBACWP,QADX,2BACuCG,SADvC,sCAEsBF,aAFtB,SADI,CAAN;EAKD;EACF,GAZD;EAaD,CAdD;;EA0DA,IAAMO,MAAM,GAAG,SAATA,MAAS,CAAAlD,OAAO;EAAA,SAAIA,OAAO,CAACmD,YAAZ;EAAA,CAAtB;;EAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;EAAA,gBACHvC,MADG;EAAA,MACdwC,MADc,WACdA,MADc;;EAGtB,MAAIA,MAAM,IAAI,CAAC5C,QAAQ,CAAC6C,IAAT,CAAcC,YAAd,CAA2B,mBAA3B,CAAf,EAAgE;EAC9D,WAAOF,MAAP;EACD;;EAED,SAAO,IAAP;EACD,CARD;;EAUA,IAAMG,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,QAAQ,EAAI;EACrC,MAAIhD,QAAQ,CAACiD,UAAT,KAAwB,SAA5B,EAAuC;EACrCjD,IAAAA,QAAQ,CAACwB,gBAAT,CAA0B,kBAA1B,EAA8CwB,QAA9C;EACD,GAFD,MAEO;EACLA,IAAAA,QAAQ;EACT;EACF,CAND;;EAQchD,QAAQ,CAACkD,eAAT,CAAyBC,GAAzB,KAAiC;;EAE/C,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,IAAD,EAAOC,MAAP,EAAkB;EAC3CP,EAAAA,kBAAkB,CAAC,YAAM;EACvB,QAAMQ,CAAC,GAAGZ,SAAS,EAAnB;EACA;;EACA,QAAIY,CAAJ,EAAO;EACL,UAAMC,kBAAkB,GAAGD,CAAC,CAACE,EAAF,CAAKJ,IAAL,CAA3B;EACAE,MAAAA,CAAC,CAACE,EAAF,CAAKJ,IAAL,IAAaC,MAAM,CAACI,eAApB;EACAH,MAAAA,CAAC,CAACE,EAAF,CAAKJ,IAAL,EAAWM,WAAX,GAAyBL,MAAzB;;EACAC,MAAAA,CAAC,CAACE,EAAF,CAAKJ,IAAL,EAAWO,UAAX,GAAwB,YAAM;EAC5BL,QAAAA,CAAC,CAACE,EAAF,CAAKJ,IAAL,IAAaG,kBAAb;EACA,eAAOF,MAAM,CAACI,eAAd;EACD,OAHD;EAID;EACF,GAZiB,CAAlB;EAaD,CAdD;;ECnLA;EACA;EACA;EACA;EACA;;EAEA,IAAMG,IAAI,GAAG,UAAb;EACA,IAAMC,QAAQ,GAAG,aAAjB;EACA,IAAMC,SAAS,SAAOD,QAAtB;EACA,IAAME,YAAY,GAAG,WAArB;EAEA,IAAMC,OAAO,GAAG;EACdC,EAAAA,MAAM,EAAE,IADM;EAEdC,EAAAA,MAAM,EAAE;EAFM,CAAhB;EAKA,IAAMC,WAAW,GAAG;EAClBF,EAAAA,MAAM,EAAE,SADU;EAElBC,EAAAA,MAAM,EAAE;EAFU,CAApB;EAKA,IAAME,UAAU,YAAUN,SAA1B;EACA,IAAMO,WAAW,aAAWP,SAA5B;EACA,IAAMQ,UAAU,YAAUR,SAA1B;EACA,IAAMS,YAAY,cAAYT,SAA9B;EACA,IAAMU,oBAAoB,aAAWV,SAAX,GAAuBC,YAAjD;EAEA,IAAMU,eAAe,GAAG,MAAxB;EACA,IAAMC,mBAAmB,GAAG,UAA5B;EACA,IAAMC,qBAAqB,GAAG,YAA9B;EACA,IAAMC,oBAAoB,GAAG,WAA7B;EAEA,IAAMC,KAAK,GAAG,OAAd;EACA,IAAMC,MAAM,GAAG,QAAf;EAEA,IAAMC,gBAAgB,GAAG,oBAAzB;EACA,IAAMC,oBAAoB,GAAG,6BAA7B;EAEA;EACA;EACA;EACA;EACA;;MAEMC;;;EACJ,oBAAY3F,OAAZ,EAAqBqC,MAArB,EAA6B;EAAA;;EAC3B,sCAAMrC,OAAN;EAEA,UAAK4F,gBAAL,GAAwB,KAAxB;EACA,UAAKC,OAAL,GAAe,MAAKC,UAAL,CAAgBzD,MAAhB,CAAf;EACA,UAAK0D,aAAL,GAAqBC,kCAAc,CAACC,IAAf,CAChBP,oBAAH,iBAAkC1F,OAAO,CAACkG,EAA1C,aACGR,oBADH,2BAC4C1F,OAAO,CAACkG,EADpD,SADmB,CAArB;EAKA,QAAMC,UAAU,GAAGH,kCAAc,CAACC,IAAf,CAAoBP,oBAApB,CAAnB;;EAEA,SAAK,IAAIU,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGF,UAAU,CAACG,MAAjC,EAAyCF,CAAC,GAAGC,GAA7C,EAAkDD,CAAC,EAAnD,EAAuD;EACrD,UAAMG,IAAI,GAAGJ,UAAU,CAACC,CAAD,CAAvB;EACA,UAAMnG,QAAQ,GAAGO,sBAAsB,CAAC+F,IAAD,CAAvC;EACA,UAAMC,aAAa,GAAGR,kCAAc,CAACC,IAAf,CAAoBhG,QAApB,EACnBwG,MADmB,CACZ,UAAAC,SAAS;EAAA,eAAIA,SAAS,KAAK1G,OAAlB;EAAA,OADG,CAAtB;;EAGA,UAAIC,QAAQ,KAAK,IAAb,IAAqBuG,aAAa,CAACF,MAAvC,EAA+C;EAC7C,cAAKK,SAAL,GAAiB1G,QAAjB;;EACA,cAAK8F,aAAL,CAAmBa,IAAnB,CAAwBL,IAAxB;EACD;EACF;;EAED,UAAKM,OAAL,GAAe,MAAKhB,OAAL,CAAajB,MAAb,GAAsB,MAAKkC,UAAL,EAAtB,GAA0C,IAAzD;;EAEA,QAAI,CAAC,MAAKjB,OAAL,CAAajB,MAAlB,EAA0B;EACxB,YAAKmC,yBAAL,CAA+B,MAAKC,QAApC,EAA8C,MAAKjB,aAAnD;EACD;;EAED,QAAI,MAAKF,OAAL,CAAalB,MAAjB,EAAyB;EACvB,YAAKA,MAAL;EACD;;EAhC0B;EAiC5B;;;;;EAYD;WAEAA,SAAA,kBAAS;EACP,QAAI,KAAKqC,QAAL,CAAcC,SAAd,CAAwBC,QAAxB,CAAiC/B,eAAjC,CAAJ,EAAuD;EACrD,WAAKgC,IAAL;EACD,KAFD,MAEO;EACL,WAAKC,IAAL;EACD;EACF;;WAEDA,OAAA,gBAAO;EAAA;;EACL,QAAI,KAAKxB,gBAAL,IAAyB,KAAKoB,QAAL,CAAcC,SAAd,CAAwBC,QAAxB,CAAiC/B,eAAjC,CAA7B,EAAgF;EAC9E;EACD;;EAED,QAAIkC,OAAJ;EACA,QAAIC,WAAJ;;EAEA,QAAI,KAAKT,OAAT,EAAkB;EAChBQ,MAAAA,OAAO,GAAGrB,kCAAc,CAACC,IAAf,CAAoBR,gBAApB,EAAsC,KAAKoB,OAA3C,EACPJ,MADO,CACA,UAAAF,IAAI,EAAI;EACd,YAAI,OAAO,MAAI,CAACV,OAAL,CAAajB,MAApB,KAA+B,QAAnC,EAA6C;EAC3C,iBAAO2B,IAAI,CAACrG,YAAL,CAAkB,gBAAlB,MAAwC,MAAI,CAAC2F,OAAL,CAAajB,MAA5D;EACD;;EAED,eAAO2B,IAAI,CAACU,SAAL,CAAeC,QAAf,CAAwB9B,mBAAxB,CAAP;EACD,OAPO,CAAV;;EASA,UAAIiC,OAAO,CAACf,MAAR,KAAmB,CAAvB,EAA0B;EACxBe,QAAAA,OAAO,GAAG,IAAV;EACD;EACF;;EAED,QAAME,SAAS,GAAGvB,kCAAc,CAACwB,OAAf,CAAuB,KAAKb,SAA5B,CAAlB;;EACA,QAAIU,OAAJ,EAAa;EACX,UAAMI,cAAc,GAAGJ,OAAO,CAACpB,IAAR,CAAa,UAAAM,IAAI;EAAA,eAAIgB,SAAS,KAAKhB,IAAlB;EAAA,OAAjB,CAAvB;EACAe,MAAAA,WAAW,GAAGG,cAAc,GAAGC,wBAAI,CAACC,OAAL,CAAaF,cAAb,EAA6BlD,QAA7B,CAAH,GAA4C,IAAxE;;EAEA,UAAI+C,WAAW,IAAIA,WAAW,CAAC1B,gBAA/B,EAAiD;EAC/C;EACD;EACF;;EAED,QAAMgC,UAAU,GAAGC,gCAAY,CAACC,OAAb,CAAqB,KAAKd,QAA1B,EAAoClC,UAApC,CAAnB;;EACA,QAAI8C,UAAU,CAACG,gBAAf,EAAiC;EAC/B;EACD;;EAED,QAAIV,OAAJ,EAAa;EACXA,MAAAA,OAAO,CAAC5E,OAAR,CAAgB,UAAAuF,UAAU,EAAI;EAC5B,YAAIT,SAAS,KAAKS,UAAlB,EAA8B;EAC5BrC,UAAAA,QAAQ,CAACsC,iBAAT,CAA2BD,UAA3B,EAAuC,MAAvC;EACD;;EAED,YAAI,CAACV,WAAL,EAAkB;EAChBI,UAAAA,wBAAI,CAACQ,OAAL,CAAaF,UAAb,EAAyBzD,QAAzB,EAAmC,IAAnC;EACD;EACF,OARD;EASD;;EAED,QAAM4D,SAAS,GAAG,KAAKC,aAAL,EAAlB;;EAEA,SAAKpB,QAAL,CAAcC,SAAd,CAAwBoB,MAAxB,CAA+BjD,mBAA/B;;EACA,SAAK4B,QAAL,CAAcC,SAAd,CAAwBqB,GAAxB,CAA4BjD,qBAA5B;;EAEA,SAAK2B,QAAL,CAAcuB,KAAd,CAAoBJ,SAApB,IAAiC,CAAjC;;EAEA,QAAI,KAAKpC,aAAL,CAAmBO,MAAvB,EAA+B;EAC7B,WAAKP,aAAL,CAAmBtD,OAAnB,CAA2B,UAAAzC,OAAO,EAAI;EACpCA,QAAAA,OAAO,CAACiH,SAAR,CAAkBoB,MAAlB,CAAyB/C,oBAAzB;EACAtF,QAAAA,OAAO,CAACwI,YAAR,CAAqB,eAArB,EAAsC,IAAtC;EACD,OAHD;EAID;;EAED,SAAKC,gBAAL,CAAsB,IAAtB;;EAEA,QAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,MAAA,MAAI,CAAC1B,QAAL,CAAcC,SAAd,CAAwBoB,MAAxB,CAA+BhD,qBAA/B;;EACA,MAAA,MAAI,CAAC2B,QAAL,CAAcC,SAAd,CAAwBqB,GAAxB,CAA4BlD,mBAA5B,EAAiDD,eAAjD;;EAEA,MAAA,MAAI,CAAC6B,QAAL,CAAcuB,KAAd,CAAoBJ,SAApB,IAAiC,EAAjC;;EAEA,MAAA,MAAI,CAACM,gBAAL,CAAsB,KAAtB;;EAEAZ,MAAAA,gCAAY,CAACC,OAAb,CAAqB,MAAI,CAACd,QAA1B,EAAoCjC,WAApC;EACD,KATD;;EAWA,QAAM4D,oBAAoB,GAAGR,SAAS,CAAC,CAAD,CAAT,CAAalF,WAAb,KAA6BkF,SAAS,CAACS,KAAV,CAAgB,CAAhB,CAA1D;EACA,QAAMC,UAAU,cAAYF,oBAA5B;EACA,QAAM5H,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKoG,QAAN,CAA3D;EAEAa,IAAAA,gCAAY,CAACiB,GAAb,CAAiB,KAAK9B,QAAtB,EAAgC,eAAhC,EAAiD0B,QAAjD;EAEAhH,IAAAA,oBAAoB,CAAC,KAAKsF,QAAN,EAAgBjG,kBAAhB,CAApB;EACA,SAAKiG,QAAL,CAAcuB,KAAd,CAAoBJ,SAApB,IAAoC,KAAKnB,QAAL,CAAc6B,UAAd,CAApC;EACD;;WAED1B,OAAA,gBAAO;EAAA;;EACL,QAAI,KAAKvB,gBAAL,IAAyB,CAAC,KAAKoB,QAAL,CAAcC,SAAd,CAAwBC,QAAxB,CAAiC/B,eAAjC,CAA9B,EAAiF;EAC/E;EACD;;EAED,QAAMyC,UAAU,GAAGC,gCAAY,CAACC,OAAb,CAAqB,KAAKd,QAA1B,EAAoChC,UAApC,CAAnB;;EACA,QAAI4C,UAAU,CAACG,gBAAf,EAAiC;EAC/B;EACD;;EAED,QAAMI,SAAS,GAAG,KAAKC,aAAL,EAAlB;;EAEA,SAAKpB,QAAL,CAAcuB,KAAd,CAAoBJ,SAApB,IAAoC,KAAKnB,QAAL,CAAc+B,qBAAd,GAAsCZ,SAAtC,CAApC;EAEAjF,IAAAA,MAAM,CAAC,KAAK8D,QAAN,CAAN;;EAEA,SAAKA,QAAL,CAAcC,SAAd,CAAwBqB,GAAxB,CAA4BjD,qBAA5B;;EACA,SAAK2B,QAAL,CAAcC,SAAd,CAAwBoB,MAAxB,CAA+BjD,mBAA/B,EAAoDD,eAApD;;EAEA,QAAM6D,kBAAkB,GAAG,KAAKjD,aAAL,CAAmBO,MAA9C;;EACA,QAAI0C,kBAAkB,GAAG,CAAzB,EAA4B;EAC1B,WAAK,IAAI5C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4C,kBAApB,EAAwC5C,CAAC,EAAzC,EAA6C;EAC3C,YAAM0B,OAAO,GAAG,KAAK/B,aAAL,CAAmBK,CAAnB,CAAhB;EACA,YAAMG,IAAI,GAAG5F,sBAAsB,CAACmH,OAAD,CAAnC;;EAEA,YAAIvB,IAAI,IAAI,CAACA,IAAI,CAACU,SAAL,CAAeC,QAAf,CAAwB/B,eAAxB,CAAb,EAAuD;EACrD2C,UAAAA,OAAO,CAACb,SAAR,CAAkBqB,GAAlB,CAAsBhD,oBAAtB;EACAwC,UAAAA,OAAO,CAACU,YAAR,CAAqB,eAArB,EAAsC,KAAtC;EACD;EACF;EACF;;EAED,SAAKC,gBAAL,CAAsB,IAAtB;;EAEA,QAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrB,MAAA,MAAI,CAACD,gBAAL,CAAsB,KAAtB;;EACA,MAAA,MAAI,CAACzB,QAAL,CAAcC,SAAd,CAAwBoB,MAAxB,CAA+BhD,qBAA/B;;EACA,MAAA,MAAI,CAAC2B,QAAL,CAAcC,SAAd,CAAwBqB,GAAxB,CAA4BlD,mBAA5B;;EACAyC,MAAAA,gCAAY,CAACC,OAAb,CAAqB,MAAI,CAACd,QAA1B,EAAoC/B,YAApC;EACD,KALD;;EAOA,SAAK+B,QAAL,CAAcuB,KAAd,CAAoBJ,SAApB,IAAiC,EAAjC;EACA,QAAMpH,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKoG,QAAN,CAA3D;EAEAa,IAAAA,gCAAY,CAACiB,GAAb,CAAiB,KAAK9B,QAAtB,EAAgC,eAAhC,EAAiD0B,QAAjD;EACAhH,IAAAA,oBAAoB,CAAC,KAAKsF,QAAN,EAAgBjG,kBAAhB,CAApB;EACD;;WAED0H,mBAAA,0BAAiBQ,eAAjB,EAAkC;EAChC,SAAKrD,gBAAL,GAAwBqD,eAAxB;EACD;;WAEDC,UAAA,mBAAU;EACR,6BAAMA,OAAN;;EACA,SAAKrD,OAAL,GAAe,IAAf;EACA,SAAKgB,OAAL,GAAe,IAAf;EACA,SAAKd,aAAL,GAAqB,IAArB;EACA,SAAKH,gBAAL,GAAwB,IAAxB;EACD;;;WAIDE,aAAA,oBAAWzD,MAAX,EAAmB;EACjBA,IAAAA,MAAM,gBACDqC,OADC,EAEDrC,MAFC,CAAN;EAIAA,IAAAA,MAAM,CAACsC,MAAP,GAAgBwE,OAAO,CAAC9G,MAAM,CAACsC,MAAR,CAAvB,CALiB;;EAMjBxC,IAAAA,eAAe,CAACmC,IAAD,EAAOjC,MAAP,EAAewC,WAAf,CAAf;EACA,WAAOxC,MAAP;EACD;;WAED+F,gBAAA,yBAAgB;EACd,WAAO,KAAKpB,QAAL,CAAcC,SAAd,CAAwBC,QAAxB,CAAiC3B,KAAjC,IAA0CA,KAA1C,GAAkDC,MAAzD;EACD;;WAEDsB,aAAA,sBAAa;EAAA;;EAAA,QACLlC,MADK,GACM,KAAKiB,OADX,CACLjB,MADK;;EAGX,QAAIpD,SAAS,CAACoD,MAAD,CAAb,EAAuB;EACrB;EACA,UAAI,OAAOA,MAAM,CAACwE,MAAd,KAAyB,WAAzB,IAAwC,OAAOxE,MAAM,CAAC,CAAD,CAAb,KAAqB,WAAjE,EAA8E;EAC5EA,QAAAA,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAf;EACD;EACF,KALD,MAKO;EACLA,MAAAA,MAAM,GAAGoB,kCAAc,CAACwB,OAAf,CAAuB5C,MAAvB,CAAT;EACD;;EAED,QAAM3E,QAAQ,GAAMyF,oBAAN,0BAA8Cd,MAA9C,QAAd;EAEAoB,IAAAA,kCAAc,CAACC,IAAf,CAAoBhG,QAApB,EAA8B2E,MAA9B,EACGnC,OADH,CACW,UAAAzC,OAAO,EAAI;EAClB,UAAMqJ,QAAQ,GAAG1I,sBAAsB,CAACX,OAAD,CAAvC;;EAEA,MAAA,MAAI,CAAC+G,yBAAL,CACEsC,QADF,EAEE,CAACrJ,OAAD,CAFF;EAID,KARH;EAUA,WAAO4E,MAAP;EACD;;WAEDmC,4BAAA,mCAA0B/G,OAA1B,EAAmCsJ,YAAnC,EAAiD;EAC/C,QAAI,CAACtJ,OAAD,IAAY,CAACsJ,YAAY,CAAChD,MAA9B,EAAsC;EACpC;EACD;;EAED,QAAMiD,MAAM,GAAGvJ,OAAO,CAACiH,SAAR,CAAkBC,QAAlB,CAA2B/B,eAA3B,CAAf;EAEAmE,IAAAA,YAAY,CAAC7G,OAAb,CAAqB,UAAA8D,IAAI,EAAI;EAC3B,UAAIgD,MAAJ,EAAY;EACVhD,QAAAA,IAAI,CAACU,SAAL,CAAeoB,MAAf,CAAsB/C,oBAAtB;EACD,OAFD,MAEO;EACLiB,QAAAA,IAAI,CAACU,SAAL,CAAeqB,GAAf,CAAmBhD,oBAAnB;EACD;;EAEDiB,MAAAA,IAAI,CAACiC,YAAL,CAAkB,eAAlB,EAAmCe,MAAnC;EACD,KARD;EASD;;;aAIMtB,oBAAP,2BAAyBjI,OAAzB,EAAkCqC,MAAlC,EAA0C;EACxC,QAAImH,IAAI,GAAG9B,wBAAI,CAACC,OAAL,CAAa3H,OAAb,EAAsBuE,QAAtB,CAAX;;EACA,QAAMsB,OAAO,gBACRnB,OADQ,EAER+E,+BAAW,CAACC,iBAAZ,CAA8B1J,OAA9B,CAFQ,EAGP,OAAOqC,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHzC,CAAb;;EAMA,QAAI,CAACmH,IAAD,IAAS3D,OAAO,CAAClB,MAAjB,IAA2B,OAAOtC,MAAP,KAAkB,QAA7C,IAAyD,YAAYU,IAAZ,CAAiBV,MAAjB,CAA7D,EAAuF;EACrFwD,MAAAA,OAAO,CAAClB,MAAR,GAAiB,KAAjB;EACD;;EAED,QAAI,CAAC6E,IAAL,EAAW;EACTA,MAAAA,IAAI,GAAG,IAAI7D,QAAJ,CAAa3F,OAAb,EAAsB6F,OAAtB,CAAP;EACD;;EAED,QAAI,OAAOxD,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,UAAI,OAAOmH,IAAI,CAACnH,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,cAAM,IAAIW,SAAJ,wBAAkCX,MAAlC,QAAN;EACD;;EAEDmH,MAAAA,IAAI,CAACnH,MAAD,CAAJ;EACD;EACF;;aAEM8B,kBAAP,yBAAuB9B,MAAvB,EAA+B;EAC7B,WAAO,KAAKsH,IAAL,CAAU,YAAY;EAC3BhE,MAAAA,QAAQ,CAACsC,iBAAT,CAA2B,IAA3B,EAAiC5F,MAAjC;EACD,KAFM,CAAP;EAGD;;;;0BAjQoB;EACnB,aAAOqC,OAAP;EACD;;;0BAEqB;EACpB,aAAOH,QAAP;EACD;;;;IA5CoBqF;EA0SvB;EACA;EACA;EACA;EACA;;;AAEA/B,kCAAY,CAACgC,EAAb,CAAgBpJ,QAAhB,EAA0ByE,oBAA1B,EAAgDQ,oBAAhD,EAAsE,UAAUoE,KAAV,EAAiB;EACrF;EACA,MAAIA,KAAK,CAACC,MAAN,CAAaC,OAAb,KAAyB,GAAzB,IAAiCF,KAAK,CAACG,cAAN,IAAwBH,KAAK,CAACG,cAAN,CAAqBD,OAArB,KAAiC,GAA9F,EAAoG;EAClGF,IAAAA,KAAK,CAACI,cAAN;EACD;;EAED,MAAMC,WAAW,GAAGV,+BAAW,CAACC,iBAAZ,CAA8B,IAA9B,CAApB;EACA,MAAMzJ,QAAQ,GAAGO,sBAAsB,CAAC,IAAD,CAAvC;EACA,MAAM4J,gBAAgB,GAAGpE,kCAAc,CAACC,IAAf,CAAoBhG,QAApB,CAAzB;EAEAmK,EAAAA,gBAAgB,CAAC3H,OAAjB,CAAyB,UAAAzC,OAAO,EAAI;EAClC,QAAMwJ,IAAI,GAAG9B,wBAAI,CAACC,OAAL,CAAa3H,OAAb,EAAsBuE,QAAtB,CAAb;EACA,QAAIlC,MAAJ;;EACA,QAAImH,IAAJ,EAAU;EACR;EACA,UAAIA,IAAI,CAAC3C,OAAL,KAAiB,IAAjB,IAAyB,OAAOsD,WAAW,CAACvF,MAAnB,KAA8B,QAA3D,EAAqE;EACnE4E,QAAAA,IAAI,CAAC3D,OAAL,CAAajB,MAAb,GAAsBuF,WAAW,CAACvF,MAAlC;EACA4E,QAAAA,IAAI,CAAC3C,OAAL,GAAe2C,IAAI,CAAC1C,UAAL,EAAf;EACD;;EAEDzE,MAAAA,MAAM,GAAG,QAAT;EACD,KARD,MAQO;EACLA,MAAAA,MAAM,GAAG8H,WAAT;EACD;;EAEDxE,IAAAA,QAAQ,CAACsC,iBAAT,CAA2BjI,OAA3B,EAAoCqC,MAApC;EACD,GAhBD;EAiBD,CA3BD;EA6BA;EACA;EACA;EACA;EACA;EACA;;EAEAwB,kBAAkB,CAACS,IAAD,EAAOqB,QAAP,CAAlB;;;;;;;;"}
\ No newline at end of file +{"version":3,"file":"collapse.js","sources":["../src/util/index.js","../src/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\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=\"#${element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-bs-target=\"#${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 === 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 DATA_KEY() {\n return DATA_KEY\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.getData(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.setData(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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, 'transitionend', complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\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 const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, 'transitionend', complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n super.dispose()\n this._config = null\n this._parent = null\n this._triggerArray = null\n this._isTransitioning = null\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 if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\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.getData(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.getData(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(NAME, Collapse)\n\nexport default Collapse\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","document","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","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","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","toggle","parent","DefaultType","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_CLICK_DATA_API","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","SELECTOR_DATA_TOGGLE","Collapse","_isTransitioning","_config","_getConfig","_triggerArray","SelectorEngine","find","id","toggleList","i","len","length","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","_element","classList","contains","hide","show","actives","activesData","container","findOne","tempActiveData","Data","getData","startEvent","EventHandler","trigger","defaultPrevented","elemActive","collapseInterface","setData","dimension","_getDimension","remove","add","style","setAttribute","setTransitioning","complete","capitalizedDimension","slice","scrollSize","one","getBoundingClientRect","triggerArrayLength","isTransitioning","dispose","Boolean","jquery","selected","triggerArray","isOpen","data","Manipulator","getDataAttributes","each","BaseComponent","on","event","target","tagName","delegateTarget","preventDefault","triggerData","selectorElements"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/dropdown.js b/js/dist/dropdown.js index 1f8c98b7dd..07cb3fc3d2 100644 --- a/js/dist/dropdown.js +++ b/js/dist/dropdown.js @@ -75,7 +75,17 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; + + _setPrototypeOf(subClass, superClass); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); } /** diff --git a/js/dist/dropdown.js.map b/js/dist/dropdown.js.map index dcfc13ba25..69c82d4ac7 100644 --- a/js/dist/dropdown.js.map +++ b/js/dist/dropdown.js.map @@ -1 +1 @@ -{"version":3,"file":"dropdown.js","sources":["../src/util/index.js","../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 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 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_NAVBAR = 'navbar'\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, 2],\n flip: true,\n boundary: 'clippingParents',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(array|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element|object)',\n display: 'string',\n popperConfig: '(null|object|function)'\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 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 = 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 } 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', 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(this._element, 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 relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(this._element, 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 Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n super.dispose()\n EventHandler.off(this._element, EVENT_KEY)\n this._menu = null\n\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.update()\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 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 altBoundary: this._config.flip,\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 // 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 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(toggles[i], 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 Manipulator.removeDataAttribute(dropdownMenu, 'popper')\n EventHandler.trigger(toggles[i], 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 === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.click()\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\ndefineJQueryPlugin(NAME, Dropdown)\n\nexport default Dropdown\n"],"names":["toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","isVisible","style","parentNode","elementStyle","getComputedStyle","parentNodeStyle","display","visibility","noop","getjQuery","window","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","addEventListener","isRTL","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","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_NAVBAR","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","_element","disabled","classList","contains","isActive","clearMenus","show","parent","getParentFromElement","relatedTarget","showEvent","EventHandler","trigger","defaultPrevented","Manipulator","setDataAttribute","Popper","referenceElement","jquery","_getPopperConfig","isDisplayStatic","modifiers","find","modifier","enabled","closest","concat","children","elem","on","focus","setAttribute","hide","hideEvent","destroy","removeDataAttribute","dispose","off","update","event","preventDefault","stopPropagation","constructor","getDataAttributes","getBoundingClientRect","SelectorEngine","next","_getPlacement","parentDropdown","isEnd","getPropertyValue","_getOffset","map","val","Number","parseInt","popperData","defaultBsPopperConfig","placement","options","altBoundary","dropdownInterface","data","Data","getData","each","button","type","key","toggles","i","len","length","context","clickEvent","dropdownMenu","target","tagName","remove","dataApiKeydownHandler","matches","prev","click","items","filter","index","indexOf","BaseComponent","e"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"dropdown.js","sources":["../src/util/index.js","../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 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 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_NAVBAR = 'navbar'\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, 2],\n flip: true,\n boundary: 'clippingParents',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(array|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element|object)',\n display: 'string',\n popperConfig: '(null|object|function)'\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 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 = 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 } 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', 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(this._element, 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 relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(this._element, 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 Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n dispose() {\n super.dispose()\n EventHandler.off(this._element, EVENT_KEY)\n this._menu = null\n\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.update()\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 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 altBoundary: this._config.flip,\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 // 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 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(toggles[i], 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 Manipulator.removeDataAttribute(dropdownMenu, 'popper')\n EventHandler.trigger(toggles[i], 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 === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) {\n const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n button.click()\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\ndefineJQueryPlugin(NAME, Dropdown)\n\nexport default Dropdown\n"],"names":["toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","isVisible","style","parentNode","elementStyle","getComputedStyle","parentNodeStyle","display","visibility","noop","getjQuery","window","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","addEventListener","isRTL","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","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_NAVBAR","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","_element","disabled","classList","contains","isActive","clearMenus","show","parent","getParentFromElement","relatedTarget","showEvent","EventHandler","trigger","defaultPrevented","Manipulator","setDataAttribute","Popper","referenceElement","jquery","_getPopperConfig","isDisplayStatic","modifiers","find","modifier","enabled","closest","concat","children","elem","on","focus","setAttribute","hide","hideEvent","destroy","removeDataAttribute","dispose","off","update","event","preventDefault","stopPropagation","constructor","getDataAttributes","getBoundingClientRect","SelectorEngine","next","_getPlacement","parentDropdown","isEnd","getPropertyValue","_getOffset","map","val","Number","parseInt","popperData","defaultBsPopperConfig","placement","options","altBoundary","dropdownInterface","data","Data","getData","each","button","type","key","toggles","i","len","length","context","clickEvent","dropdownMenu","target","tagName","remove","dataApiKeydownHandler","matches","prev","click","items","filter","index","indexOf","BaseComponent","e"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAOA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,GAAG,EAAI;EACpB,MAAIA,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAKC,SAA5B,EAAuC;EACrC,gBAAUD,GAAV;EACD;;EAED,SAAO,GAAGE,QAAH,CAAYC,IAAZ,CAAiBH,GAAjB,EAAsBI,KAAtB,CAA4B,aAA5B,EAA2C,CAA3C,EAA8CC,WAA9C,EAAP;EACD,CAND;;EAsBA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAAAC,OAAO,EAAI;EAC7B,MAAIC,QAAQ,GAAGD,OAAO,CAACE,YAAR,CAAqB,gBAArB,CAAf;;EAEA,MAAI,CAACD,QAAD,IAAaA,QAAQ,KAAK,GAA9B,EAAmC;EACjC,QAAIE,QAAQ,GAAGH,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAf,CADiC;EAIjC;EACA;EACA;;EACA,QAAI,CAACC,QAAD,IAAc,CAACA,QAAQ,CAACC,QAAT,CAAkB,GAAlB,CAAD,IAA2B,CAACD,QAAQ,CAACE,UAAT,CAAoB,GAApB,CAA9C,EAAyE;EACvE,aAAO,IAAP;EACD,KATgC;;;EAYjC,QAAIF,QAAQ,CAACC,QAAT,CAAkB,GAAlB,KAA0B,CAACD,QAAQ,CAACE,UAAT,CAAoB,GAApB,CAA/B,EAAyD;EACvDF,MAAAA,QAAQ,GAAG,MAAMA,QAAQ,CAACG,KAAT,CAAe,GAAf,EAAoB,CAApB,CAAjB;EACD;;EAEDL,IAAAA,QAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAAK,GAAzB,GAA+BA,QAAQ,CAACI,IAAT,EAA/B,GAAiD,IAA5D;EACD;;EAED,SAAON,QAAP;EACD,CAvBD;;EAmCA,IAAMO,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAR,OAAO,EAAI;EACxC,MAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;EAEA,SAAOC,QAAQ,GAAGQ,QAAQ,CAACC,aAAT,CAAuBT,QAAvB,CAAH,GAAsC,IAArD;EACD,CAJD;;EAiCA,IAAMU,SAAS,GAAG,SAAZA,SAAY,CAAAlB,GAAG;EAAA,SAAI,CAACA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAX,EAAgBmB,QAApB;EAAA,CAArB;;EAoBA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,aAAD,EAAgBC,MAAhB,EAAwBC,WAAxB,EAAwC;EAC9DC,EAAAA,MAAM,CAACC,IAAP,CAAYF,WAAZ,EAAyBG,OAAzB,CAAiC,UAAAC,QAAQ,EAAI;EAC3C,QAAMC,aAAa,GAAGL,WAAW,CAACI,QAAD,CAAjC;EACA,QAAME,KAAK,GAAGP,MAAM,CAACK,QAAD,CAApB;EACA,QAAMG,SAAS,GAAGD,KAAK,IAAIX,SAAS,CAACW,KAAD,CAAlB,GAA4B,SAA5B,GAAwC9B,MAAM,CAAC8B,KAAD,CAAhE;;EAEA,QAAI,CAAC,IAAIE,MAAJ,CAAWH,aAAX,EAA0BI,IAA1B,CAA+BF,SAA/B,CAAL,EAAgD;EAC9C,YAAM,IAAIG,SAAJ,CACDZ,aAAa,CAACa,WAAd,EAAH,yBACWP,QADX,2BACuCG,SADvC,sCAEsBF,aAFtB,SADI,CAAN;EAKD;EACF,GAZD;EAaD,CAdD;;EAgBA,IAAMO,SAAS,GAAG,SAAZA,SAAY,CAAA5B,OAAO,EAAI;EAC3B,MAAI,CAACA,OAAL,EAAc;EACZ,WAAO,KAAP;EACD;;EAED,MAAIA,OAAO,CAAC6B,KAAR,IAAiB7B,OAAO,CAAC8B,UAAzB,IAAuC9B,OAAO,CAAC8B,UAAR,CAAmBD,KAA9D,EAAqE;EACnE,QAAME,YAAY,GAAGC,gBAAgB,CAAChC,OAAD,CAArC;EACA,QAAMiC,eAAe,GAAGD,gBAAgB,CAAChC,OAAO,CAAC8B,UAAT,CAAxC;EAEA,WAAOC,YAAY,CAACG,OAAb,KAAyB,MAAzB,IACLD,eAAe,CAACC,OAAhB,KAA4B,MADvB,IAELH,YAAY,CAACI,UAAb,KAA4B,QAF9B;EAGD;;EAED,SAAO,KAAP;EACD,CAfD;;EAwCA,IAAMC,IAAI,GAAG,SAAPA,IAAO;EAAA,SAAM,YAAY,EAAlB;EAAA,CAAb;;EAIA,IAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;EAAA,gBACHC,MADG;EAAA,MACdC,MADc,WACdA,MADc;;EAGtB,MAAIA,MAAM,IAAI,CAAC9B,QAAQ,CAAC+B,IAAT,CAAcC,YAAd,CAA2B,mBAA3B,CAAf,EAAgE;EAC9D,WAAOF,MAAP;EACD;;EAED,SAAO,IAAP;EACD,CARD;;EAUA,IAAMG,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,QAAQ,EAAI;EACrC,MAAIlC,QAAQ,CAACmC,UAAT,KAAwB,SAA5B,EAAuC;EACrCnC,IAAAA,QAAQ,CAACoC,gBAAT,CAA0B,kBAA1B,EAA8CF,QAA9C;EACD,GAFD,MAEO;EACLA,IAAAA,QAAQ;EACT;EACF,CAND;;EAQA,IAAMG,KAAK,GAAGrC,QAAQ,CAACsC,eAAT,CAAyBC,GAAzB,KAAiC,KAA/C;;EAEA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,IAAD,EAAOC,MAAP,EAAkB;EAC3CT,EAAAA,kBAAkB,CAAC,YAAM;EACvB,QAAMU,CAAC,GAAGf,SAAS,EAAnB;EACA;;EACA,QAAIe,CAAJ,EAAO;EACL,UAAMC,kBAAkB,GAAGD,CAAC,CAACE,EAAF,CAAKJ,IAAL,CAA3B;EACAE,MAAAA,CAAC,CAACE,EAAF,CAAKJ,IAAL,IAAaC,MAAM,CAACI,eAApB;EACAH,MAAAA,CAAC,CAACE,EAAF,CAAKJ,IAAL,EAAWM,WAAX,GAAyBL,MAAzB;;EACAC,MAAAA,CAAC,CAACE,EAAF,CAAKJ,IAAL,EAAWO,UAAX,GAAwB,YAAM;EAC5BL,QAAAA,CAAC,CAACE,EAAF,CAAKJ,IAAL,IAAaG,kBAAb;EACA,eAAOF,MAAM,CAACI,eAAd;EACD,OAHD;EAID;EACF,GAZiB,CAAlB;EAaD,CAdD;;EClLA;EACA;EACA;EACA;EACA;;EAEA,IAAMG,IAAI,GAAG,UAAb;EACA,IAAMC,QAAQ,GAAG,aAAjB;EACA,IAAMC,SAAS,SAAOD,QAAtB;EACA,IAAME,YAAY,GAAG,WAArB;EAEA,IAAMC,UAAU,GAAG,QAAnB;EACA,IAAMC,SAAS,GAAG,OAAlB;EACA,IAAMC,OAAO,GAAG,KAAhB;EACA,IAAMC,YAAY,GAAG,SAArB;EACA,IAAMC,cAAc,GAAG,WAAvB;EACA,IAAMC,kBAAkB,GAAG,CAA3B;;EAEA,IAAMC,cAAc,GAAG,IAAI5C,MAAJ,CAAcyC,YAAd,SAA8BC,cAA9B,SAAgDJ,UAAhD,CAAvB;EAEA,IAAMO,UAAU,YAAUT,SAA1B;EACA,IAAMU,YAAY,cAAYV,SAA9B;EACA,IAAMW,UAAU,YAAUX,SAA1B;EACA,IAAMY,WAAW,aAAWZ,SAA5B;EACA,IAAMa,WAAW,aAAWb,SAA5B;EACA,IAAMc,oBAAoB,aAAWd,SAAX,GAAuBC,YAAjD;EACA,IAAMc,sBAAsB,eAAaf,SAAb,GAAyBC,YAArD;EACA,IAAMe,oBAAoB,aAAWhB,SAAX,GAAuBC,YAAjD;EAEA,IAAMgB,mBAAmB,GAAG,UAA5B;EACA,IAAMC,eAAe,GAAG,MAAxB;EACA,IAAMC,iBAAiB,GAAG,QAA1B;EACA,IAAMC,kBAAkB,GAAG,SAA3B;EACA,IAAMC,oBAAoB,GAAG,WAA7B;EACA,IAAMC,iBAAiB,GAAG,QAA1B;EAEA,IAAMC,oBAAoB,GAAG,6BAA7B;EACA,IAAMC,mBAAmB,GAAG,gBAA5B;EACA,IAAMC,aAAa,GAAG,gBAAtB;EACA,IAAMC,mBAAmB,GAAG,aAA5B;EACA,IAAMC,sBAAsB,GAAG,6DAA/B;EAEA,IAAMC,aAAa,GAAG1C,KAAK,GAAG,SAAH,GAAe,WAA1C;EACA,IAAM2C,gBAAgB,GAAG3C,KAAK,GAAG,WAAH,GAAiB,SAA/C;EACA,IAAM4C,gBAAgB,GAAG5C,KAAK,GAAG,YAAH,GAAkB,cAAhD;EACA,IAAM6C,mBAAmB,GAAG7C,KAAK,GAAG,cAAH,GAAoB,YAArD;EACA,IAAM8C,eAAe,GAAG9C,KAAK,GAAG,YAAH,GAAkB,aAA/C;EACA,IAAM+C,cAAc,GAAG/C,KAAK,GAAG,aAAH,GAAmB,YAA/C;EAEA,IAAMgD,OAAO,GAAG;EACdC,EAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,CADM;EAEdC,EAAAA,IAAI,EAAE,IAFQ;EAGdC,EAAAA,QAAQ,EAAE,iBAHI;EAIdC,EAAAA,SAAS,EAAE,QAJG;EAKdhE,EAAAA,OAAO,EAAE,SALK;EAMdiE,EAAAA,YAAY,EAAE;EANA,CAAhB;EASA,IAAMC,WAAW,GAAG;EAClBL,EAAAA,MAAM,EAAE,yBADU;EAElBC,EAAAA,IAAI,EAAE,SAFY;EAGlBC,EAAAA,QAAQ,EAAE,kBAHQ;EAIlBC,EAAAA,SAAS,EAAE,yBAJO;EAKlBhE,EAAAA,OAAO,EAAE,QALS;EAMlBiE,EAAAA,YAAY,EAAE;EANI,CAApB;EASA;EACA;EACA;EACA;EACA;;MAEME;;;EACJ,oBAAYrG,OAAZ,EAAqBe,MAArB,EAA6B;EAAA;;EAC3B,sCAAMf,OAAN;EAEA,UAAKsG,OAAL,GAAe,IAAf;EACA,UAAKC,OAAL,GAAe,MAAKC,UAAL,CAAgBzF,MAAhB,CAAf;EACA,UAAK0F,KAAL,GAAa,MAAKC,eAAL,EAAb;EACA,UAAKC,SAAL,GAAiB,MAAKC,aAAL,EAAjB;;EAEA,UAAKC,kBAAL;;EAR2B;EAS5B;;;;;EAgBD;WAEAC,SAAA,kBAAS;EACP,QAAI,KAAKC,QAAL,CAAcC,QAAd,IAA0B,KAAKD,QAAL,CAAcE,SAAd,CAAwBC,QAAxB,CAAiCrC,mBAAjC,CAA9B,EAAqF;EACnF;EACD;;EAED,QAAMsC,QAAQ,GAAG,KAAKJ,QAAL,CAAcE,SAAd,CAAwBC,QAAxB,CAAiCpC,eAAjC,CAAjB;;EAEAuB,IAAAA,QAAQ,CAACe,UAAT;;EAEA,QAAID,QAAJ,EAAc;EACZ;EACD;;EAED,SAAKE,IAAL;EACD;;WAEDA,OAAA,gBAAO;EACL,QAAI,KAAKN,QAAL,CAAcC,QAAd,IAA0B,KAAKD,QAAL,CAAcE,SAAd,CAAwBC,QAAxB,CAAiCrC,mBAAjC,CAA1B,IAAmF,KAAK4B,KAAL,CAAWQ,SAAX,CAAqBC,QAArB,CAA8BpC,eAA9B,CAAvF,EAAuI;EACrI;EACD;;EAED,QAAMwC,MAAM,GAAGjB,QAAQ,CAACkB,oBAAT,CAA8B,KAAKR,QAAnC,CAAf;EACA,QAAMS,aAAa,GAAG;EACpBA,MAAAA,aAAa,EAAE,KAAKT;EADA,KAAtB;EAIA,QAAMU,SAAS,GAAGC,gCAAY,CAACC,OAAb,CAAqB,KAAKZ,QAA1B,EAAoCxC,UAApC,EAAgDiD,aAAhD,CAAlB;;EAEA,QAAIC,SAAS,CAACG,gBAAd,EAAgC;EAC9B;EACD,KAdI;;;EAiBL,QAAI,KAAKjB,SAAT,EAAoB;EAClBkB,MAAAA,+BAAW,CAACC,gBAAZ,CAA6B,KAAKrB,KAAlC,EAAyC,QAAzC,EAAmD,MAAnD;EACD,KAFD,MAEO;EACL,UAAI,OAAOsB,iBAAP,KAAkB,WAAtB,EAAmC;EACjC,cAAM,IAAIrG,SAAJ,CAAc,+DAAd,CAAN;EACD;;EAED,UAAIsG,gBAAgB,GAAG,KAAKjB,QAA5B;;EAEA,UAAI,KAAKR,OAAL,CAAaL,SAAb,KAA2B,QAA/B,EAAyC;EACvC8B,QAAAA,gBAAgB,GAAGV,MAAnB;EACD,OAFD,MAEO,IAAI3G,SAAS,CAAC,KAAK4F,OAAL,CAAaL,SAAd,CAAb,EAAuC;EAC5C8B,QAAAA,gBAAgB,GAAG,KAAKzB,OAAL,CAAaL,SAAhC,CAD4C;;EAI5C,YAAI,OAAO,KAAKK,OAAL,CAAaL,SAAb,CAAuB+B,MAA9B,KAAyC,WAA7C,EAA0D;EACxDD,UAAAA,gBAAgB,GAAG,KAAKzB,OAAL,CAAaL,SAAb,CAAuB,CAAvB,CAAnB;EACD;EACF,OAPM,MAOA,IAAI,OAAO,KAAKK,OAAL,CAAaL,SAApB,KAAkC,QAAtC,EAAgD;EACrD8B,QAAAA,gBAAgB,GAAG,KAAKzB,OAAL,CAAaL,SAAhC;EACD;;EAED,UAAMC,YAAY,GAAG,KAAK+B,gBAAL,EAArB;;EACA,UAAMC,eAAe,GAAGhC,YAAY,CAACiC,SAAb,CAAuBC,IAAvB,CAA4B,UAAAC,QAAQ;EAAA,eAAIA,QAAQ,CAACpF,IAAT,KAAkB,aAAlB,IAAmCoF,QAAQ,CAACC,OAAT,KAAqB,KAA5D;EAAA,OAApC,CAAxB;EAEA,WAAKjC,OAAL,GAAeyB,mBAAA,CAAoBC,gBAApB,EAAsC,KAAKvB,KAA3C,EAAkDN,YAAlD,CAAf;;EAEA,UAAIgC,eAAJ,EAAqB;EACnBN,QAAAA,+BAAW,CAACC,gBAAZ,CAA6B,KAAKrB,KAAlC,EAAyC,QAAzC,EAAmD,QAAnD;EACD;EACF,KA/CI;EAkDL;EACA;EACA;;;EACA,QAAI,kBAAkBhG,QAAQ,CAACsC,eAA3B,IACF,CAACuE,MAAM,CAACkB,OAAP,CAAelD,mBAAf,CADH,EACwC;EAAA;;EACtC,kBAAGmD,MAAH,aAAahI,QAAQ,CAAC+B,IAAT,CAAckG,QAA3B,EACGvH,OADH,CACW,UAAAwH,IAAI;EAAA,eAAIjB,gCAAY,CAACkB,EAAb,CAAgBD,IAAhB,EAAsB,WAAtB,EAAmC,IAAnC,EAAyCvG,IAAI,EAA7C,CAAJ;EAAA,OADf;EAED;;EAED,SAAK2E,QAAL,CAAc8B,KAAd;;EACA,SAAK9B,QAAL,CAAc+B,YAAd,CAA2B,eAA3B,EAA4C,IAA5C;;EAEA,SAAKrC,KAAL,CAAWQ,SAAX,CAAqBH,MAArB,CAA4BhC,eAA5B;;EACA,SAAKiC,QAAL,CAAcE,SAAd,CAAwBH,MAAxB,CAA+BhC,eAA/B;;EACA4C,IAAAA,gCAAY,CAACC,OAAb,CAAqB,KAAKZ,QAA1B,EAAoCvC,WAApC,EAAiDgD,aAAjD;EACD;;WAEDuB,OAAA,gBAAO;EACL,QAAI,KAAKhC,QAAL,CAAcC,QAAd,IAA0B,KAAKD,QAAL,CAAcE,SAAd,CAAwBC,QAAxB,CAAiCrC,mBAAjC,CAA1B,IAAmF,CAAC,KAAK4B,KAAL,CAAWQ,SAAX,CAAqBC,QAArB,CAA8BpC,eAA9B,CAAxF,EAAwI;EACtI;EACD;;EAED,QAAM0C,aAAa,GAAG;EACpBA,MAAAA,aAAa,EAAE,KAAKT;EADA,KAAtB;EAIA,QAAMiC,SAAS,GAAGtB,gCAAY,CAACC,OAAb,CAAqB,KAAKZ,QAA1B,EAAoC1C,UAApC,EAAgDmD,aAAhD,CAAlB;;EAEA,QAAIwB,SAAS,CAACpB,gBAAd,EAAgC;EAC9B;EACD;;EAED,QAAI,KAAKtB,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAa2C,OAAb;EACD;;EAED,SAAKxC,KAAL,CAAWQ,SAAX,CAAqBH,MAArB,CAA4BhC,eAA5B;;EACA,SAAKiC,QAAL,CAAcE,SAAd,CAAwBH,MAAxB,CAA+BhC,eAA/B;;EACA+C,IAAAA,+BAAW,CAACqB,mBAAZ,CAAgC,KAAKzC,KAArC,EAA4C,QAA5C;EACAiB,IAAAA,gCAAY,CAACC,OAAb,CAAqB,KAAKZ,QAA1B,EAAoCzC,YAApC,EAAkDkD,aAAlD;EACD;;WAED2B,UAAA,mBAAU;EACR,6BAAMA,OAAN;;EACAzB,IAAAA,gCAAY,CAAC0B,GAAb,CAAiB,KAAKrC,QAAtB,EAAgCnD,SAAhC;EACA,SAAK6C,KAAL,GAAa,IAAb;;EAEA,QAAI,KAAKH,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAa2C,OAAb;;EACA,WAAK3C,OAAL,GAAe,IAAf;EACD;EACF;;WAED+C,SAAA,kBAAS;EACP,SAAK1C,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;EACA,QAAI,KAAKN,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAa+C,MAAb;EACD;EACF;;;WAIDxC,qBAAA,8BAAqB;EAAA;;EACnBa,IAAAA,gCAAY,CAACkB,EAAb,CAAgB,KAAK7B,QAArB,EAA+BtC,WAA/B,EAA4C,UAAA6E,KAAK,EAAI;EACnDA,MAAAA,KAAK,CAACC,cAAN;EACAD,MAAAA,KAAK,CAACE,eAAN;;EACA,MAAA,MAAI,CAAC1C,MAAL;EACD,KAJD;EAKD;;WAEDN,aAAA,oBAAWzF,MAAX,EAAmB;EACjBA,IAAAA,MAAM,gBACD,KAAK0I,WAAL,CAAiB3D,OADhB,EAED+B,+BAAW,CAAC6B,iBAAZ,CAA8B,KAAK3C,QAAnC,CAFC,EAGDhG,MAHC,CAAN;EAMAF,IAAAA,eAAe,CAAC6C,IAAD,EAAO3C,MAAP,EAAe,KAAK0I,WAAL,CAAiBrD,WAAhC,CAAf;;EAEA,QAAI,OAAOrF,MAAM,CAACmF,SAAd,KAA4B,QAA5B,IAAwC,CAACvF,SAAS,CAACI,MAAM,CAACmF,SAAR,CAAlD,IACF,OAAOnF,MAAM,CAACmF,SAAP,CAAiByD,qBAAxB,KAAkD,UADpD,EAEE;EACA;EACA,YAAM,IAAIjI,SAAJ,CAAiBgC,IAAI,CAAC/B,WAAL,EAAjB,0GAAN;EACD;;EAED,WAAOZ,MAAP;EACD;;WAED2F,kBAAA,2BAAkB;EAChB,WAAOkD,kCAAc,CAACC,IAAf,CAAoB,KAAK9C,QAAzB,EAAmC1B,aAAnC,EAAkD,CAAlD,CAAP;EACD;;WAEDyE,gBAAA,yBAAgB;EACd,QAAMC,cAAc,GAAG,KAAKhD,QAAL,CAAcjF,UAArC;;EAEA,QAAIiI,cAAc,CAAC9C,SAAf,CAAyBC,QAAzB,CAAkClC,kBAAlC,CAAJ,EAA2D;EACzD,aAAOY,eAAP;EACD;;EAED,QAAImE,cAAc,CAAC9C,SAAf,CAAyBC,QAAzB,CAAkCjC,oBAAlC,CAAJ,EAA6D;EAC3D,aAAOY,cAAP;EACD,KATa;;;EAYd,QAAMmE,KAAK,GAAGhI,gBAAgB,CAAC,KAAKyE,KAAN,CAAhB,CAA6BwD,gBAA7B,CAA8C,eAA9C,EAA+D1J,IAA/D,OAA0E,KAAxF;;EAEA,QAAIwJ,cAAc,CAAC9C,SAAf,CAAyBC,QAAzB,CAAkCnC,iBAAlC,CAAJ,EAA0D;EACxD,aAAOiF,KAAK,GAAGvE,gBAAH,GAAsBD,aAAlC;EACD;;EAED,WAAOwE,KAAK,GAAGrE,mBAAH,GAAyBD,gBAArC;EACD;;WAEDkB,gBAAA,yBAAgB;EACd,WAAO,KAAKG,QAAL,CAAcyB,OAAd,OAA0BtD,iBAA1B,MAAmD,IAA1D;EACD;;WAEDgF,aAAA,sBAAa;EAAA;;EAAA,QACHnE,MADG,GACQ,KAAKQ,OADb,CACHR,MADG;;EAGX,QAAI,OAAOA,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,aAAOA,MAAM,CAACzF,KAAP,CAAa,GAAb,EAAkB6J,GAAlB,CAAsB,UAAAC,GAAG;EAAA,eAAIC,MAAM,CAACC,QAAP,CAAgBF,GAAhB,EAAqB,EAArB,CAAJ;EAAA,OAAzB,CAAP;EACD;;EAED,QAAI,OAAOrE,MAAP,KAAkB,UAAtB,EAAkC;EAChC,aAAO,UAAAwE,UAAU;EAAA,eAAIxE,MAAM,CAACwE,UAAD,EAAa,MAAI,CAACxD,QAAlB,CAAV;EAAA,OAAjB;EACD;;EAED,WAAOhB,MAAP;EACD;;WAEDmC,mBAAA,4BAAmB;EACjB,QAAMsC,qBAAqB,GAAG;EAC5BC,MAAAA,SAAS,EAAE,KAAKX,aAAL,EADiB;EAE5B1B,MAAAA,SAAS,EAAE,CAAC;EACVlF,QAAAA,IAAI,EAAE,iBADI;EAEVwH,QAAAA,OAAO,EAAE;EACPC,UAAAA,WAAW,EAAE,KAAKpE,OAAL,CAAaP,IADnB;EAEPC,UAAAA,QAAQ,EAAE,KAAKM,OAAL,CAAaN;EAFhB;EAFC,OAAD,EAOX;EACE/C,QAAAA,IAAI,EAAE,QADR;EAEEwH,QAAAA,OAAO,EAAE;EACP3E,UAAAA,MAAM,EAAE,KAAKmE,UAAL;EADD;EAFX,OAPW;EAFiB,KAA9B,CADiB;;EAmBjB,QAAI,KAAK3D,OAAL,CAAarE,OAAb,KAAyB,QAA7B,EAAuC;EACrCsI,MAAAA,qBAAqB,CAACpC,SAAtB,GAAkC,CAAC;EACjClF,QAAAA,IAAI,EAAE,aAD2B;EAEjCqF,QAAAA,OAAO,EAAE;EAFwB,OAAD,CAAlC;EAID;;EAED,wBACKiC,qBADL,EAEM,OAAO,KAAKjE,OAAL,CAAaJ,YAApB,KAAqC,UAArC,GAAkD,KAAKI,OAAL,CAAaJ,YAAb,CAA0BqE,qBAA1B,CAAlD,GAAqG,KAAKjE,OAAL,CAAaJ,YAFxH;EAID;;;aAIMyE,oBAAP,2BAAyB5K,OAAzB,EAAkCe,MAAlC,EAA0C;EACxC,QAAI8J,IAAI,GAAGC,wBAAI,CAACC,OAAL,CAAa/K,OAAb,EAAsB2D,QAAtB,CAAX;;EACA,QAAM4C,OAAO,GAAG,OAAOxF,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;EAEA,QAAI,CAAC8J,IAAL,EAAW;EACTA,MAAAA,IAAI,GAAG,IAAIxE,QAAJ,CAAarG,OAAb,EAAsBuG,OAAtB,CAAP;EACD;;EAED,QAAI,OAAOxF,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,UAAI,OAAO8J,IAAI,CAAC9J,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,cAAM,IAAIW,SAAJ,wBAAkCX,MAAlC,QAAN;EACD;;EAED8J,MAAAA,IAAI,CAAC9J,MAAD,CAAJ;EACD;EACF;;aAEMwC,kBAAP,yBAAuBxC,MAAvB,EAA+B;EAC7B,WAAO,KAAKiK,IAAL,CAAU,YAAY;EAC3B3E,MAAAA,QAAQ,CAACuE,iBAAT,CAA2B,IAA3B,EAAiC7J,MAAjC;EACD,KAFM,CAAP;EAGD;;aAEMqG,aAAP,oBAAkBkC,KAAlB,EAAyB;EACvB,QAAIA,KAAK,KAAKA,KAAK,CAAC2B,MAAN,KAAiB9G,kBAAjB,IAAwCmF,KAAK,CAAC4B,IAAN,KAAe,OAAf,IAA0B5B,KAAK,CAAC6B,GAAN,KAAcnH,OAArF,CAAT,EAAyG;EACvG;EACD;;EAED,QAAMoH,OAAO,GAAGxB,kCAAc,CAACvB,IAAf,CAAoBlD,oBAApB,CAAhB;;EAEA,SAAK,IAAIkG,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGF,OAAO,CAACG,MAA9B,EAAsCF,CAAC,GAAGC,GAA1C,EAA+CD,CAAC,EAAhD,EAAoD;EAClD,UAAMG,OAAO,GAAGV,wBAAI,CAACC,OAAL,CAAaK,OAAO,CAACC,CAAD,CAApB,EAAyB1H,QAAzB,CAAhB;EACA,UAAM6D,aAAa,GAAG;EACpBA,QAAAA,aAAa,EAAE4D,OAAO,CAACC,CAAD;EADF,OAAtB;;EAIA,UAAI/B,KAAK,IAAIA,KAAK,CAAC4B,IAAN,KAAe,OAA5B,EAAqC;EACnC1D,QAAAA,aAAa,CAACiE,UAAd,GAA2BnC,KAA3B;EACD;;EAED,UAAI,CAACkC,OAAL,EAAc;EACZ;EACD;;EAED,UAAME,YAAY,GAAGF,OAAO,CAAC/E,KAA7B;;EACA,UAAI,CAAC2E,OAAO,CAACC,CAAD,CAAP,CAAWpE,SAAX,CAAqBC,QAArB,CAA8BpC,eAA9B,CAAL,EAAqD;EACnD;EACD;;EAED,UAAIwE,KAAK,KAAMA,KAAK,CAAC4B,IAAN,KAAe,OAAf,IACX,kBAAkBzJ,IAAlB,CAAuB6H,KAAK,CAACqC,MAAN,CAAaC,OAApC,CADU,IAETtC,KAAK,CAAC4B,IAAN,KAAe,OAAf,IAA0B5B,KAAK,CAAC6B,GAAN,KAAcnH,OAFpC,CAAL,IAGA0H,YAAY,CAACxE,QAAb,CAAsBoC,KAAK,CAACqC,MAA5B,CAHJ,EAGyC;EACvC;EACD;;EAED,UAAM3C,SAAS,GAAGtB,gCAAY,CAACC,OAAb,CAAqByD,OAAO,CAACC,CAAD,CAA5B,EAAiChH,UAAjC,EAA6CmD,aAA7C,CAAlB;;EACA,UAAIwB,SAAS,CAACpB,gBAAd,EAAgC;EAC9B;EACD,OA7BiD;EAgClD;;;EACA,UAAI,kBAAkBnH,QAAQ,CAACsC,eAA/B,EAAgD;EAAA;;EAC9C,qBAAG0F,MAAH,cAAahI,QAAQ,CAAC+B,IAAT,CAAckG,QAA3B,EACGvH,OADH,CACW,UAAAwH,IAAI;EAAA,iBAAIjB,gCAAY,CAAC0B,GAAb,CAAiBT,IAAjB,EAAuB,WAAvB,EAAoC,IAApC,EAA0CvG,IAAI,EAA9C,CAAJ;EAAA,SADf;EAED;;EAEDgJ,MAAAA,OAAO,CAACC,CAAD,CAAP,CAAWvC,YAAX,CAAwB,eAAxB,EAAyC,OAAzC;;EAEA,UAAI0C,OAAO,CAAClF,OAAZ,EAAqB;EACnBkF,QAAAA,OAAO,CAAClF,OAAR,CAAgB2C,OAAhB;EACD;;EAEDyC,MAAAA,YAAY,CAACzE,SAAb,CAAuB4E,MAAvB,CAA8B/G,eAA9B;EACAsG,MAAAA,OAAO,CAACC,CAAD,CAAP,CAAWpE,SAAX,CAAqB4E,MAArB,CAA4B/G,eAA5B;EACA+C,MAAAA,+BAAW,CAACqB,mBAAZ,CAAgCwC,YAAhC,EAA8C,QAA9C;EACAhE,MAAAA,gCAAY,CAACC,OAAb,CAAqByD,OAAO,CAACC,CAAD,CAA5B,EAAiC/G,YAAjC,EAA+CkD,aAA/C;EACD;EACF;;aAEMD,uBAAP,8BAA4BvH,OAA5B,EAAqC;EACnC,WAAOQ,sBAAsB,CAACR,OAAD,CAAtB,IAAmCA,OAAO,CAAC8B,UAAlD;EACD;;aAEMgK,wBAAP,+BAA6BxC,KAA7B,EAAoC;EAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAI,kBAAkB7H,IAAlB,CAAuB6H,KAAK,CAACqC,MAAN,CAAaC,OAApC,IACFtC,KAAK,CAAC6B,GAAN,KAAcpH,SAAd,IAA4BuF,KAAK,CAAC6B,GAAN,KAAcrH,UAAd,KAC1BwF,KAAK,CAAC6B,GAAN,KAAcjH,cAAd,IAAgCoF,KAAK,CAAC6B,GAAN,KAAclH,YAA/C,IACCqF,KAAK,CAACqC,MAAN,CAAanD,OAAb,CAAqBnD,aAArB,CAF0B,CAD1B,GAIF,CAACjB,cAAc,CAAC3C,IAAf,CAAoB6H,KAAK,CAAC6B,GAA1B,CAJH,EAImC;EACjC;EACD;;EAED7B,IAAAA,KAAK,CAACC,cAAN;EACAD,IAAAA,KAAK,CAACE,eAAN;;EAEA,QAAI,KAAKxC,QAAL,IAAiB,KAAKC,SAAL,CAAeC,QAAf,CAAwBrC,mBAAxB,CAArB,EAAmE;EACjE;EACD;;EAED,QAAMyC,MAAM,GAAGjB,QAAQ,CAACkB,oBAAT,CAA8B,IAA9B,CAAf;EACA,QAAMJ,QAAQ,GAAG,KAAKF,SAAL,CAAeC,QAAf,CAAwBpC,eAAxB,CAAjB;;EAEA,QAAIwE,KAAK,CAAC6B,GAAN,KAAcrH,UAAlB,EAA8B;EAC5B,UAAMmH,MAAM,GAAG,KAAKc,OAAL,CAAa5G,oBAAb,IAAqC,IAArC,GAA4CyE,kCAAc,CAACoC,IAAf,CAAoB,IAApB,EAA0B7G,oBAA1B,EAAgD,CAAhD,CAA3D;EACA8F,MAAAA,MAAM,CAACpC,KAAP;EACAxC,MAAAA,QAAQ,CAACe,UAAT;EACA;EACD;;EAED,QAAI,CAACD,QAAD,KAAcmC,KAAK,CAAC6B,GAAN,KAAclH,YAAd,IAA8BqF,KAAK,CAAC6B,GAAN,KAAcjH,cAA1D,CAAJ,EAA+E;EAC7E,UAAM+G,OAAM,GAAG,KAAKc,OAAL,CAAa5G,oBAAb,IAAqC,IAArC,GAA4CyE,kCAAc,CAACoC,IAAf,CAAoB,IAApB,EAA0B7G,oBAA1B,EAAgD,CAAhD,CAA3D;;EACA8F,MAAAA,OAAM,CAACgB,KAAP;;EACA;EACD;;EAED,QAAI,CAAC9E,QAAD,IAAamC,KAAK,CAAC6B,GAAN,KAAcpH,SAA/B,EAA0C;EACxCsC,MAAAA,QAAQ,CAACe,UAAT;EACA;EACD;;EAED,QAAM8E,KAAK,GAAGtC,kCAAc,CAACvB,IAAf,CAAoB9C,sBAApB,EAA4C+B,MAA5C,EAAoD6E,MAApD,CAA2DvK,SAA3D,CAAd;;EAEA,QAAI,CAACsK,KAAK,CAACX,MAAX,EAAmB;EACjB;EACD;;EAED,QAAIa,KAAK,GAAGF,KAAK,CAACG,OAAN,CAAc/C,KAAK,CAACqC,MAApB,CAAZ,CAlDkC;;EAqDlC,QAAIrC,KAAK,CAAC6B,GAAN,KAAclH,YAAd,IAA8BmI,KAAK,GAAG,CAA1C,EAA6C;EAC3CA,MAAAA,KAAK;EACN,KAvDiC;;;EA0DlC,QAAI9C,KAAK,CAAC6B,GAAN,KAAcjH,cAAd,IAAgCkI,KAAK,GAAGF,KAAK,CAACX,MAAN,GAAe,CAA3D,EAA8D;EAC5Da,MAAAA,KAAK;EACN,KA5DiC;;;EA+DlCA,IAAAA,KAAK,GAAGA,KAAK,KAAK,CAAC,CAAX,GAAe,CAAf,GAAmBA,KAA3B;EAEAF,IAAAA,KAAK,CAACE,KAAD,CAAL,CAAavD,KAAb;EACD;;;;WA7YD,eAAqB;EACnB,aAAO/C,OAAP;EACD;;;WAED,eAAyB;EACvB,aAAOM,WAAP;EACD;;;WAED,eAAsB;EACpB,aAAOzC,QAAP;EACD;;;;IAxBoB2I;EA8ZvB;EACA;EACA;EACA;EACA;;;AAEA5E,kCAAY,CAACkB,EAAb,CAAgBnI,QAAhB,EAA0BkE,sBAA1B,EAAkDQ,oBAAlD,EAAwEkB,QAAQ,CAACyF,qBAAjF;AACApE,kCAAY,CAACkB,EAAb,CAAgBnI,QAAhB,EAA0BkE,sBAA1B,EAAkDU,aAAlD,EAAiEgB,QAAQ,CAACyF,qBAA1E;AACApE,kCAAY,CAACkB,EAAb,CAAgBnI,QAAhB,EAA0BiE,oBAA1B,EAAgD2B,QAAQ,CAACe,UAAzD;AACAM,kCAAY,CAACkB,EAAb,CAAgBnI,QAAhB,EAA0BmE,oBAA1B,EAAgDyB,QAAQ,CAACe,UAAzD;AACAM,kCAAY,CAACkB,EAAb,CAAgBnI,QAAhB,EAA0BiE,oBAA1B,EAAgDS,oBAAhD,EAAsE,UAAUmE,KAAV,EAAiB;EACrFA,EAAAA,KAAK,CAACC,cAAN;EACAD,EAAAA,KAAK,CAACE,eAAN;EACAnD,EAAAA,QAAQ,CAACuE,iBAAT,CAA2B,IAA3B,EAAiC,QAAjC;EACD,CAJD;AAKAlD,kCAAY,CAACkB,EAAb,CAAgBnI,QAAhB,EAA0BiE,oBAA1B,EAAgDU,mBAAhD,EAAqE,UAAAmH,CAAC;EAAA,SAAIA,CAAC,CAAC/C,eAAF,EAAJ;EAAA,CAAtE;EAEA;EACA;EACA;EACA;EACA;EACA;;EAEAvG,kBAAkB,CAACS,IAAD,EAAO2C,QAAP,CAAlB;;;;;;;;"}
\ No newline at end of file diff --git a/js/dist/modal.js b/js/dist/modal.js index 035bc96fea..6f34c2b1c3 100644 --- a/js/dist/modal.js +++ b/js/dist/modal.js @@ -54,7 +54,17 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; + + _setPrototypeOf(subClass, superClass); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); } /** diff --git a/js/dist/modal.js.map b/js/dist/modal.js.map index e68350a6e7..7401feb863 100644 --- a/js/dist/modal.js.map +++ b/js/dist/modal.js.map @@ -1 +1 @@ -{"version":3,"file":"modal.js","sources":["../src/util/index.js","../src/modal.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 isVisible,\n isRTL,\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 = '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_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\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\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\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, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DATA_KEY() {\n return DATA_KEY\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._element.classList.contains(CLASS_NAME_FADE)) {\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 this._checkScrollbar()\n this._setScrollbar()\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 transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, 'transitionend', event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\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 this._config = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\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 _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\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 (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, 'transitionend', transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\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._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\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 === 'static') {\n this._triggerBackdropTransition()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, 'transitionend', callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, 'transitionend', callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\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 =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if ((!this._isBodyOverflowing && isModalOverflowing && !isRTL) || (this._isBodyOverflowing && !isModalOverflowing && isRTL)) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if ((this._isBodyOverflowing && !isModalOverflowing && !isRTL) || (!this._isBodyOverflowing && isModalOverflowing && isRTL)) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + this._scrollbarWidth)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - this._scrollbarWidth)\n this._setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + this._scrollbarWidth)\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _setElementAttributes(selector, styleProp, callback) {\n SelectorEngine.find(selector)\n .forEach(element => {\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\n _resetScrollbar() {\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight')\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight')\n this._resetElementAttributes('body', 'paddingRight')\n }\n\n _resetElementAttributes(selector, styleProp) {\n SelectorEngine.find(selector).forEach(element => {\n const value = Manipulator.getDataAttribute(element, styleProp)\n if (typeof value === 'undefined' && element === document.body) {\n element.style[styleProp] = ''\n } else {\n Manipulator.removeDataAttribute(element, styleProp)\n element.style[styleProp] = value\n }\n })\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(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](relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\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 let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\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(NAME, Modal)\n\nexport default Modal\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","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","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","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","isRTL","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","Default","backdrop","keyboard","focus","DefaultType","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_CLICK_DATA_API","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_SHOW","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_TOGGLE","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_config","_getConfig","_dialog","SelectorEngine","findOne","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_scrollbarWidth","toggle","relatedTarget","hide","show","_element","classList","contains","showEvent","EventHandler","trigger","defaultPrevented","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","on","event","one","target","_showBackdrop","_showElement","preventDefault","hideEvent","transition","off","remove","_hideModal","dispose","htmlElement","handleUpdate","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","setAttribute","scrollTop","add","_enforceFocus","transitionComplete","key","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","removeChild","animate","createElement","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","rect","getBoundingClientRect","Math","round","left","right","innerWidth","_getScrollbarWidth","_setElementAttributes","calculatedValue","styleProp","find","actualValue","Manipulator","setDataAttribute","_resetElementAttributes","getDataAttribute","removeDataAttribute","scrollDiv","scrollbarWidth","width","clientWidth","each","data","Data","getData","getDataAttributes","BaseComponent","tagName"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"modal.js","sources":["../src/util/index.js","../src/modal.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 isVisible,\n isRTL,\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 = '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_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\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\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\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, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DATA_KEY() {\n return DATA_KEY\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._element.classList.contains(CLASS_NAME_FADE)) {\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 this._checkScrollbar()\n this._setScrollbar()\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 transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n if (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, 'transitionend', event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\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 this._config = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\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 _showElement(relatedTarget) {\n const transition = this._element.classList.contains(CLASS_NAME_FADE)\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 (transition) {\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 if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, 'transitionend', transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\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._showBackdrop(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\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 === 'static') {\n this._triggerBackdropTransition()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, 'transitionend', callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, 'transitionend', callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\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 =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if ((!this._isBodyOverflowing && isModalOverflowing && !isRTL) || (this._isBodyOverflowing && !isModalOverflowing && isRTL)) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if ((this._isBodyOverflowing && !isModalOverflowing && !isRTL) || (!this._isBodyOverflowing && isModalOverflowing && isRTL)) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + this._scrollbarWidth)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - this._scrollbarWidth)\n this._setElementAttributes('body', 'paddingRight', calculatedValue => calculatedValue + this._scrollbarWidth)\n }\n\n document.body.classList.add(CLASS_NAME_OPEN)\n }\n\n _setElementAttributes(selector, styleProp, callback) {\n SelectorEngine.find(selector)\n .forEach(element => {\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\n _resetScrollbar() {\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight')\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight')\n this._resetElementAttributes('body', 'paddingRight')\n }\n\n _resetElementAttributes(selector, styleProp) {\n SelectorEngine.find(selector).forEach(element => {\n const value = Manipulator.getDataAttribute(element, styleProp)\n if (typeof value === 'undefined' && element === document.body) {\n element.style[styleProp] = ''\n } else {\n Manipulator.removeDataAttribute(element, styleProp)\n element.style[styleProp] = value\n }\n })\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(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](relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\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 let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\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(NAME, Modal)\n\nexport default Modal\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","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","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","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","isRTL","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","Default","backdrop","keyboard","focus","DefaultType","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_CLICK_DATA_API","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_SHOW","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_TOGGLE","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_config","_getConfig","_dialog","SelectorEngine","findOne","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_scrollbarWidth","toggle","relatedTarget","hide","show","_element","classList","contains","showEvent","EventHandler","trigger","defaultPrevented","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","on","event","one","target","_showBackdrop","_showElement","preventDefault","hideEvent","transition","off","remove","_hideModal","dispose","htmlElement","handleUpdate","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","setAttribute","scrollTop","add","_enforceFocus","transitionComplete","key","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","removeChild","animate","createElement","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","rect","getBoundingClientRect","Math","round","left","right","innerWidth","_getScrollbarWidth","_setElementAttributes","calculatedValue","styleProp","find","actualValue","Manipulator","setDataAttribute","_resetElementAttributes","getDataAttribute","removeDataAttribute","scrollDiv","scrollbarWidth","width","clientWidth","each","data","Data","getData","getDataAttributes","BaseComponent","tagName"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/popover.js b/js/dist/popover.js index 3fc73ce922..dda521d5e6 100644 --- a/js/dist/popover.js +++ b/js/dist/popover.js @@ -52,7 +52,17 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; + + _setPrototypeOf(subClass, superClass); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); } /** @@ -226,8 +236,8 @@ _createClass(Popover, null, [{ key: "Default", - // Getters - get: function get() { + get: // Getters + function get() { return Default; } }, { diff --git a/js/dist/popover.js.map b/js/dist/popover.js.map index 32916725a2..1894cb0438 100644 --- a/js/dist/popover.js.map +++ b/js/dist/popover.js.map @@ -1 +1 @@ -{"version":3,"file":"popover.js","sources":["../src/util/index.js","../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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.getData(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.setData(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(NAME, Popover)\n\nexport default Popover\n"],"names":["getjQuery","window","jQuery","document","body","hasAttribute","onDOMContentLoaded","callback","readyState","addEventListener","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","Default","Tooltip","placement","offset","trigger","content","template","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_FADE","CLASS_NAME_SHOW","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","isWithContent","getTitle","_getContent","setContent","tip","getTipElement","setElementContent","SelectorEngine","findOne","call","_element","classList","remove","_addAttachmentClass","attachment","add","updateAttachment","getAttribute","config","_cleanTipClass","tabClass","match","length","map","token","trim","forEach","tClass","each","data","Data","getData","_config","test","setData","TypeError"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"popover.js","sources":["../src/util/index.js","../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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.getData(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.setData(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(NAME, Popover)\n\nexport default Popover\n"],"names":["getjQuery","window","jQuery","document","body","hasAttribute","onDOMContentLoaded","callback","readyState","addEventListener","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","Default","Tooltip","placement","offset","trigger","content","template","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_FADE","CLASS_NAME_SHOW","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","isWithContent","getTitle","_getContent","setContent","tip","getTipElement","setElementContent","SelectorEngine","findOne","call","_element","classList","remove","_addAttachmentClass","attachment","add","updateAttachment","getAttribute","config","_cleanTipClass","tabClass","match","length","map","token","trim","forEach","tClass","each","data","Data","getData","_config","test","setData","TypeError"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/scrollspy.js b/js/dist/scrollspy.js index 9f31c23e6d..1ada6331e5 100644 --- a/js/dist/scrollspy.js +++ b/js/dist/scrollspy.js @@ -54,7 +54,17 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; + + _setPrototypeOf(subClass, superClass); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); } /** diff --git a/js/dist/scrollspy.js.map b/js/dist/scrollspy.js.map index 484d97e0a1..089972a5ec 100644 --- a/js/dist/scrollspy.js.map +++ b/js/dist/scrollspy.js.map @@ -1 +1 @@ -{"version":3,"file":"scrollspy.js","sources":["../src/util/index.js","../src/scrollspy.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 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 = '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 = element.tagName === 'BODY' ? window : 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 DATA_KEY() {\n return DATA_KEY\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 super.dispose()\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\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 let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(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 * 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, Manipulator.getDataAttributes(spy)))\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .ScrollSpy to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(NAME, ScrollSpy)\n\nexport default ScrollSpy\n"],"names":["MAX_UID","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","querySelector","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","getjQuery","window","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","addEventListener","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","offset","method","target","DefaultType","EVENT_ACTIVATE","EVENT_SCROLL","EVENT_LOAD_DATA_API","CLASS_NAME_DROPDOWN_ITEM","CLASS_NAME_ACTIVE","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","tagName","_config","_getConfig","_selector","_offsets","_targets","_activeTarget","_scrollHeight","EventHandler","on","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","SelectorEngine","find","map","targetSelector","findOne","targetBCR","getBoundingClientRect","width","height","Manipulator","top","filter","item","sort","a","b","push","dispose","off","id","pageYOffset","scrollTop","scrollHeight","max","_getOffsetHeight","innerHeight","maxScroll","length","_activate","_clear","i","isActiveTarget","queries","link","join","classList","contains","closest","add","parents","listGroup","prev","navItem","children","trigger","relatedTarget","node","remove","each","data","Data","getData","BaseComponent","spy","getDataAttributes"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"scrollspy.js","sources":["../src/util/index.js","../src/scrollspy.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 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 = '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 = element.tagName === 'BODY' ? window : 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 DATA_KEY() {\n return DATA_KEY\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 super.dispose()\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\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 let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(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 * 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, Manipulator.getDataAttributes(spy)))\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .ScrollSpy to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(NAME, ScrollSpy)\n\nexport default ScrollSpy\n"],"names":["MAX_UID","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","querySelector","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","getjQuery","window","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","addEventListener","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","offset","method","target","DefaultType","EVENT_ACTIVATE","EVENT_SCROLL","EVENT_LOAD_DATA_API","CLASS_NAME_DROPDOWN_ITEM","CLASS_NAME_ACTIVE","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","tagName","_config","_getConfig","_selector","_offsets","_targets","_activeTarget","_scrollHeight","EventHandler","on","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","SelectorEngine","find","map","targetSelector","findOne","targetBCR","getBoundingClientRect","width","height","Manipulator","top","filter","item","sort","a","b","push","dispose","off","id","pageYOffset","scrollTop","scrollHeight","max","_getOffsetHeight","innerHeight","maxScroll","length","_activate","_clear","i","isActiveTarget","queries","link","join","classList","contains","closest","add","parents","listGroup","prev","navItem","children","trigger","relatedTarget","node","remove","each","data","Data","getData","BaseComponent","spy","getDataAttributes"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/tab.js b/js/dist/tab.js index 232eb73cbf..b1188075c0 100644 --- a/js/dist/tab.js +++ b/js/dist/tab.js @@ -35,7 +35,17 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; + + _setPrototypeOf(subClass, superClass); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); } /** @@ -336,8 +346,8 @@ _createClass(Tab, null, [{ key: "DATA_KEY", - // Getters - get: function get() { + get: // Getters + function get() { return DATA_KEY; } }]); diff --git a/js/dist/tab.js.map b/js/dist/tab.js.map index ed4b8856fb..5334c0e4c5 100644 --- a/js/dist/tab.js.map +++ b/js/dist/tab.js.map @@ -1 +1 @@ -{"version":3,"file":"tab.js","sources":["../src/util/index.js","../src/tab.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): tab.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 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_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab extends BaseComponent {\n // Getters\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = previous ?\n EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n }) :\n null\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented || (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(this._element, listElement)\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(element, active, callback)\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, 'transitionend', complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tab to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(NAME, Tab)\n\nexport default Tab\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","CLASS_NAME_DROPDOWN_MENU","CLASS_NAME_ACTIVE","CLASS_NAME_DISABLED","CLASS_NAME_FADE","CLASS_NAME_SHOW","SELECTOR_DROPDOWN","SELECTOR_NAV_LIST_GROUP","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","SELECTOR_DATA_TOGGLE","SELECTOR_DROPDOWN_TOGGLE","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","show","_element","parentNode","nodeType","Node","ELEMENT_NODE","classList","contains","previous","target","listElement","closest","itemSelector","nodeName","SelectorEngine","find","length","hideEvent","EventHandler","trigger","relatedTarget","showEvent","defaultPrevented","_activate","complete","container","activeElements","children","active","isTransitioning","_transitionComplete","remove","one","dropdownChild","findOne","setAttribute","add","dropdownElement","forEach","dropdown","config","each","data","Data","getData","TypeError","BaseComponent","on","event","preventDefault"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"tab.js","sources":["../src/util/index.js","../src/tab.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): tab.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 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_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab extends BaseComponent {\n // Getters\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n this._element.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = previous ?\n EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n }) :\n null\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented || (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(this._element, listElement)\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(element, active, callback)\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.one(active, 'transitionend', complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tab to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(NAME, Tab)\n\nexport default Tab\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","CLASS_NAME_DROPDOWN_MENU","CLASS_NAME_ACTIVE","CLASS_NAME_DISABLED","CLASS_NAME_FADE","CLASS_NAME_SHOW","SELECTOR_DROPDOWN","SELECTOR_NAV_LIST_GROUP","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","SELECTOR_DATA_TOGGLE","SELECTOR_DROPDOWN_TOGGLE","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","show","_element","parentNode","nodeType","Node","ELEMENT_NODE","classList","contains","previous","target","listElement","closest","itemSelector","nodeName","SelectorEngine","find","length","hideEvent","EventHandler","trigger","relatedTarget","showEvent","defaultPrevented","_activate","complete","container","activeElements","children","active","isTransitioning","_transitionComplete","remove","one","dropdownChild","findOne","setAttribute","add","dropdownElement","forEach","dropdown","config","each","data","Data","getData","TypeError","BaseComponent","on","event","preventDefault"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/toast.js b/js/dist/toast.js index 69de06275e..6fb0ebd2ae 100644 --- a/js/dist/toast.js +++ b/js/dist/toast.js @@ -53,7 +53,17 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; + + _setPrototypeOf(subClass, superClass); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); } /** diff --git a/js/dist/toast.js.map b/js/dist/toast.js.map index 9538517ae6..5eecedcd58 100644 --- a/js/dist/toast.js.map +++ b/js/dist/toast.js.map @@ -1 +1 @@ -{"version":3,"file":"toast.js","sources":["../src/util/index.js","../src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\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 BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-bs-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, 'transitionend', complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, 'transitionend', complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n\n super.dispose()\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(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](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Toast to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(NAME, Toast)\n\nexport default Toast\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getTransitionDurationFromElement","element","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","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","reflow","offsetHeight","getjQuery","jQuery","document","body","hasAttribute","onDOMContentLoaded","callback","readyState","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","EVENT_CLICK_DISMISS","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","CLASS_NAME_FADE","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","DefaultType","animation","autohide","delay","Default","SELECTOR_DATA_DISMISS","Toast","_config","_getConfig","_timeout","_setListeners","show","showEvent","EventHandler","trigger","_element","defaultPrevented","_clearTimeout","classList","add","complete","remove","hide","one","contains","hideEvent","dispose","off","Manipulator","getDataAttributes","constructor","on","clearTimeout","each","data","Data","getData","BaseComponent"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"toast.js","sources":["../src/util/index.js","../src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\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 BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-bs-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, 'transitionend', complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, 'transitionend', complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n\n super.dispose()\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(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](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Toast to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(NAME, Toast)\n\nexport default Toast\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getTransitionDurationFromElement","element","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","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","reflow","offsetHeight","getjQuery","jQuery","document","body","hasAttribute","onDOMContentLoaded","callback","readyState","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","EVENT_CLICK_DISMISS","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","CLASS_NAME_FADE","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","DefaultType","animation","autohide","delay","Default","SELECTOR_DATA_DISMISS","Toast","_config","_getConfig","_timeout","_setListeners","show","showEvent","EventHandler","trigger","_element","defaultPrevented","_clearTimeout","classList","add","complete","remove","hide","one","contains","hideEvent","dispose","off","Manipulator","getDataAttributes","constructor","on","clearTimeout","each","data","Data","getData","BaseComponent"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/tooltip.js b/js/dist/tooltip.js index b030b3cace..19f7784fab 100644 --- a/js/dist/tooltip.js +++ b/js/dist/tooltip.js @@ -75,7 +75,17 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; + + _setPrototypeOf(subClass, superClass); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); } /** diff --git a/js/dist/tooltip.js.map b/js/dist/tooltip.js.map index f9cf9f1721..f4cedb664b 100644 --- a/js/dist/tooltip.js.map +++ b/js/dist/tooltip.js.map @@ -1 +1 @@ -{"version":3,"file":"tooltip.js","sources":["../src/util/index.js","../src/util/sanitizer.js","../src/tooltip.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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):|[^#&/:?]*(?:[#/?]|$))/gi\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.0-beta2): 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 emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\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 DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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, this.constructor.EVENT_KEY)\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 this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.config = null\n this.tip = null\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._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this._element, this.constructor.Event.INSERTED)\n\n this._popper = Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, 'transitionend', complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, 'transitionend', complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\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 (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\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.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(event.delegateTarget, this._getDelegateConfig())\n Data.setData(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 altBoundary: true,\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 _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\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 )\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 ] = false\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 if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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.getData(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(NAME, Tooltip)\n\nexport default Tooltip\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","element","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","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","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","noop","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","isRTL","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","uriAttrs","Set","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","includes","has","Boolean","nodeValue","regExp","filter","attrRegex","i","len","length","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","concat","querySelectorAll","el","elName","removeChild","attributeList","attributes","allowedAttributes","removeAttribute","innerHTML","NAME","DATA_KEY","EVENT_KEY","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","DefaultType","animation","template","title","trigger","delay","html","selector","placement","offset","container","fallbackPlacements","boundary","customClass","sanitize","popperConfig","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_FADE","CLASS_NAME_MODAL","CLASS_NAME_SHOW","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","Popper","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","_getConfig","tip","_setListeners","enable","disable","toggleEnabled","toggle","event","context","_initializeOnDelegatedTarget","click","_isWithActiveTrigger","_enter","_leave","getTipElement","classList","contains","dispose","clearTimeout","EventHandler","off","_element","constructor","closest","_hideModalHandler","destroy","show","style","display","Error","isWithContent","showEvent","shadowRoot","isInTheDom","ownerDocument","defaultPrevented","tipId","setAttribute","setContent","add","attachment","_getAttachment","_addAttachmentClass","_getContainer","Data","setData","appendChild","_getPopperConfig","children","on","complete","prevHoverState","one","hide","_cleanTipClass","hideEvent","remove","update","getTitle","createElement","setElementContent","SelectorEngine","findOne","content","jquery","textContent","getAttribute","updateAttachment","dataKey","getData","delegateTarget","_getDelegateConfig","_getOffset","map","val","parseInt","popperData","defaultBsPopperConfig","modifiers","options","altBoundary","enabled","phase","data","_handlePopperPlacementChange","onFirstUpdate","triggers","eventIn","eventOut","_fixTitle","originalTitleType","type","dataAttributes","Manipulator","getDataAttributes","dataAttr","key","tabClass","token","trim","tClass","state","popper","each","_config","BaseComponent"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"tooltip.js","sources":["../src/util/index.js","../src/util/sanitizer.js","../src/tooltip.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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 => (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) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `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 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\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\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\nexport {\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 defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): 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):|[^#&/:?]*(?:[#/?]|$))/gi\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.0-beta2): 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 emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\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 DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\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, this.constructor.EVENT_KEY)\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 this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.config = null\n this.tip = null\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._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this._element, this.constructor.Event.INSERTED)\n\n this._popper = Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, 'transitionend', complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\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 if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, 'transitionend', complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\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 (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\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.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(event.delegateTarget, this._getDelegateConfig())\n Data.setData(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 altBoundary: true,\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 _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\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 )\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 ] = false\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 if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\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.getData(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(NAME, Tooltip)\n\nexport default Tooltip\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","element","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","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","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","noop","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","isRTL","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","uriAttrs","Set","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","includes","has","Boolean","nodeValue","regExp","filter","attrRegex","i","len","length","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","concat","querySelectorAll","el","elName","removeChild","attributeList","attributes","allowedAttributes","removeAttribute","innerHTML","NAME","DATA_KEY","EVENT_KEY","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","DefaultType","animation","template","title","trigger","delay","html","selector","placement","offset","container","fallbackPlacements","boundary","customClass","sanitize","popperConfig","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_FADE","CLASS_NAME_MODAL","CLASS_NAME_SHOW","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","Popper","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","_getConfig","tip","_setListeners","enable","disable","toggleEnabled","toggle","event","context","_initializeOnDelegatedTarget","click","_isWithActiveTrigger","_enter","_leave","getTipElement","classList","contains","dispose","clearTimeout","EventHandler","off","_element","constructor","closest","_hideModalHandler","destroy","show","style","display","Error","isWithContent","showEvent","shadowRoot","isInTheDom","ownerDocument","defaultPrevented","tipId","setAttribute","setContent","add","attachment","_getAttachment","_addAttachmentClass","_getContainer","Data","setData","appendChild","_getPopperConfig","children","on","complete","prevHoverState","one","hide","_cleanTipClass","hideEvent","remove","update","getTitle","createElement","setElementContent","SelectorEngine","findOne","content","jquery","textContent","getAttribute","updateAttachment","dataKey","getData","delegateTarget","_getDelegateConfig","_getOffset","map","val","parseInt","popperData","defaultBsPopperConfig","modifiers","options","altBoundary","enabled","phase","data","_handlePopperPlacementChange","onFirstUpdate","triggers","eventIn","eventOut","_fixTitle","originalTitleType","type","dataAttributes","Manipulator","getDataAttributes","dataAttr","key","tabClass","token","trim","tClass","state","popper","each","_config","BaseComponent"],"mappings":"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"}
\ No newline at end of file |