diff options
Diffstat (limited to 'js/dist')
-rw-r--r-- | js/dist/alert.js | 15 | ||||
-rw-r--r-- | js/dist/alert.js.map | 2 | ||||
-rw-r--r-- | js/dist/button.js | 15 | ||||
-rw-r--r-- | js/dist/button.js.map | 2 | ||||
-rw-r--r-- | js/dist/carousel.js | 15 | ||||
-rw-r--r-- | js/dist/carousel.js.map | 2 | ||||
-rw-r--r-- | js/dist/collapse.js | 15 | ||||
-rw-r--r-- | js/dist/collapse.js.map | 2 | ||||
-rw-r--r-- | js/dist/dom/event-handler.js | 2 | ||||
-rw-r--r-- | js/dist/dom/event-handler.js.map | 2 | ||||
-rw-r--r-- | js/dist/dom/polyfill.js | 3 | ||||
-rw-r--r-- | js/dist/dom/polyfill.js.map | 2 | ||||
-rw-r--r-- | js/dist/dom/selector-engine.js.map | 2 | ||||
-rw-r--r-- | js/dist/dropdown.js | 21 | ||||
-rw-r--r-- | js/dist/dropdown.js.map | 2 | ||||
-rw-r--r-- | js/dist/modal.js | 15 | ||||
-rw-r--r-- | js/dist/modal.js.map | 2 | ||||
-rw-r--r-- | js/dist/popover.js | 15 | ||||
-rw-r--r-- | js/dist/popover.js.map | 2 | ||||
-rw-r--r-- | js/dist/scrollspy.js | 16 | ||||
-rw-r--r-- | js/dist/scrollspy.js.map | 2 | ||||
-rw-r--r-- | js/dist/tab.js | 15 | ||||
-rw-r--r-- | js/dist/tab.js.map | 2 | ||||
-rw-r--r-- | js/dist/toast.js | 15 | ||||
-rw-r--r-- | js/dist/toast.js.map | 2 | ||||
-rw-r--r-- | js/dist/tooltip.js | 19 | ||||
-rw-r--r-- | js/dist/tooltip.js.map | 2 |
27 files changed, 96 insertions, 113 deletions
diff --git a/js/dist/alert.js b/js/dist/alert.js index e0ea799d38..55a9be5cbd 100644 --- a/js/dist/alert.js +++ b/js/dist/alert.js @@ -4,8 +4,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/data.js'), require('../dom/event-handler.js'), require('../dom/selector-engine.js')) : - typeof define === 'function' && define.amd ? define(['../dom/data.js', '../dom/event-handler.js', '../dom/selector-engine.js'], factory) : + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js')) : + typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/selector-engine.js'], factory) : (global = global || self, global.Alert = factory(global.Data, global.EventHandler, global.SelectorEngine)); }(this, function (Data, EventHandler, SelectorEngine) { 'use strict'; @@ -135,13 +135,12 @@ ALERT: 'alert', FADE: 'fade', SHOW: 'show' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ var Alert = /*#__PURE__*/ diff --git a/js/dist/alert.js.map b/js/dist/alert.js.map index 4dd4515f0f..c2239d00b1 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/alert.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => 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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","getSelector","element","selector","getAttribute","hrefAttr","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","getjQuery","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","Data","setData","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","defaultPrevented","_removeElement","dispose","removeData","parent","SelectorEngine","closest","EventHandler","trigger","classList","remove","contains","_destroyElement","one","parentNode","removeChild","jQueryInterface","config","each","data","getData","handleDismiss","alertInstance","event","preventDefault","getInstance","on","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"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 (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => 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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","getSelector","element","selector","getAttribute","hrefAttr","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","getjQuery","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","Data","setData","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","defaultPrevented","_removeElement","dispose","removeData","parent","SelectorEngine","closest","EventHandler","trigger","classList","remove","contains","_destroyElement","one","parentNode","removeChild","jQueryInterface","config","each","data","getData","handleDismiss","alertInstance","event","preventDefault","getInstance","on","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/button.js b/js/dist/button.js index e67f088c87..ed0c27af04 100644 --- a/js/dist/button.js +++ b/js/dist/button.js @@ -4,8 +4,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/data.js'), require('../dom/event-handler.js'), require('../dom/selector-engine.js')) : - typeof define === 'function' && define.amd ? define(['../dom/data.js', '../dom/event-handler.js', '../dom/selector-engine.js'], factory) : + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js')) : + typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/selector-engine.js'], factory) : (global = global || self, global.Button = factory(global.Data, global.EventHandler, global.SelectorEngine)); }(this, function (Data, EventHandler, SelectorEngine) { 'use strict'; @@ -74,13 +74,12 @@ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, FOCUS_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY, BLUR_DATA_API: "blur" + EVENT_KEY + DATA_API_KEY - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ var Button = /*#__PURE__*/ diff --git a/js/dist/button.js.map b/js/dist/button.js.map index 3836a07635..849f183269 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/button.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n"],"names":["getjQuery","window","jQuery","document","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","ClassName","ACTIVE","BUTTON","FOCUS","Selector","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","Event","CLICK_DATA_API","FOCUS_DATA_API","BLUR_DATA_API","Button","element","_element","Data","setData","toggle","triggerChangeEvent","addAriaPressed","rootElement","SelectorEngine","closest","input","findOne","type","checked","classList","contains","activeElement","remove","EventHandler","trigger","focus","setAttribute","dispose","removeData","jQueryInterface","config","each","data","getData","getInstance","on","event","preventDefault","button","target","add","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;;;;;AAOA;EA0KA,IAAMA,SAAS,GAAG,SAAZA,SAAY,GAAM;EAAA,gBACHC,MADG;EAAA,MACdC,MADc,WACdA,MADc;;EAGtB,MAAIA,MAAM,IAAI,CAACC,QAAQ,CAACC,IAAT,CAAcC,YAAd,CAA2B,gBAA3B,CAAf,EAA6D;EAC3D,WAAOH,MAAP;EACD;;EAED,SAAO,IAAP;EACD,CARD;;ECrKA;;;;;;EAMA,IAAMI,IAAI,GAAG,QAAb;EACA,IAAMC,OAAO,GAAG,OAAhB;EACA,IAAMC,QAAQ,GAAG,WAAjB;EACA,IAAMC,SAAS,SAAOD,QAAtB;EACA,IAAME,YAAY,GAAG,WAArB;EAEA,IAAMC,SAAS,GAAG;EAChBC,EAAAA,MAAM,EAAE,QADQ;EAEhBC,EAAAA,MAAM,EAAE,KAFQ;EAGhBC,EAAAA,KAAK,EAAE;EAHS,CAAlB;EAMA,IAAMC,QAAQ,GAAG;EACfC,EAAAA,kBAAkB,EAAE,yBADL;EAEfC,EAAAA,WAAW,EAAE,yBAFE;EAGfC,EAAAA,KAAK,EAAE,4BAHQ;EAIfN,EAAAA,MAAM,EAAE,SAJO;EAKfC,EAAAA,MAAM,EAAE;EALO,CAAjB;EAQA,IAAMM,KAAK,GAAG;EACZC,EAAAA,cAAc,YAAUX,SAAV,GAAsBC,YADxB;EAEZW,EAAAA,cAAc,YAAUZ,SAAV,GAAsBC,YAFxB;EAGZY,EAAAA,aAAa,WAASb,SAAT,GAAqBC;EAGpC;;;;;;EANc,CAAd;;MAYMa;;;EACJ,kBAAYC,OAAZ,EAAqB;EACnB,SAAKC,QAAL,GAAgBD,OAAhB;EACAE,IAAAA,IAAI,CAACC,OAAL,CAAaH,OAAb,EAAsBhB,QAAtB,EAAgC,IAAhC;EACD;;;;;EAQD;WAEAoB,SAAA,kBAAS;EACP,QAAIC,kBAAkB,GAAG,IAAzB;EACA,QAAIC,cAAc,GAAG,IAArB;EAEA,QAAMC,WAAW,GAAGC,cAAc,CAACC,OAAf,CAClB,KAAKR,QADa,EAElBV,QAAQ,CAACE,WAFS,CAApB;;EAKA,QAAIc,WAAJ,EAAiB;EACf,UAAMG,KAAK,GAAGF,cAAc,CAACG,OAAf,CAAuBpB,QAAQ,CAACG,KAAhC,EAAuC,KAAKO,QAA5C,CAAd;;EAEA,UAAIS,KAAK,IAAIA,KAAK,CAACE,IAAN,KAAe,OAA5B,EAAqC;EACnC,YAAIF,KAAK,CAACG,OAAN,IACF,KAAKZ,QAAL,CAAca,SAAd,CAAwBC,QAAxB,CAAiC5B,SAAS,CAACC,MAA3C,CADF,EACsD;EACpDiB,UAAAA,kBAAkB,GAAG,KAArB;EACD,SAHD,MAGO;EACL,cAAMW,aAAa,GAAGR,cAAc,CAACG,OAAf,CAAuBpB,QAAQ,CAACH,MAAhC,EAAwCmB,WAAxC,CAAtB;;EAEA,cAAIS,aAAJ,EAAmB;EACjBA,YAAAA,aAAa,CAACF,SAAd,CAAwBG,MAAxB,CAA+B9B,SAAS,CAACC,MAAzC;EACD;EACF;;EAED,YAAIiB,kBAAJ,EAAwB;EACtB,cAAIK,KAAK,CAAC7B,YAAN,CAAmB,UAAnB,KACF0B,WAAW,CAAC1B,YAAZ,CAAyB,UAAzB,CADE,IAEF6B,KAAK,CAACI,SAAN,CAAgBC,QAAhB,CAAyB,UAAzB,CAFE,IAGFR,WAAW,CAACO,SAAZ,CAAsBC,QAAtB,CAA+B,UAA/B,CAHF,EAG8C;EAC5C;EACD;;EAEDL,UAAAA,KAAK,CAACG,OAAN,GAAgB,CAAC,KAAKZ,QAAL,CAAca,SAAd,CAAwBC,QAAxB,CAAiC5B,SAAS,CAACC,MAA3C,CAAjB;EACA8B,UAAAA,YAAY,CAACC,OAAb,CAAqBT,KAArB,EAA4B,QAA5B;EACD;;EAEDA,QAAAA,KAAK,CAACU,KAAN;EACAd,QAAAA,cAAc,GAAG,KAAjB;EACD;EACF;;EAED,QAAIA,cAAJ,EAAoB;EAClB,WAAKL,QAAL,CAAcoB,YAAd,CAA2B,cAA3B,EACE,CAAC,KAAKpB,QAAL,CAAca,SAAd,CAAwBC,QAAxB,CAAiC5B,SAAS,CAACC,MAA3C,CADH;EAED;;EAED,QAAIiB,kBAAJ,EAAwB;EACtB,WAAKJ,QAAL,CAAca,SAAd,CAAwBV,MAAxB,CAA+BjB,SAAS,CAACC,MAAzC;EACD;EACF;;WAEDkC,UAAA,mBAAU;EACRpB,IAAAA,IAAI,CAACqB,UAAL,CAAgB,KAAKtB,QAArB,EAA+BjB,QAA/B;EACA,SAAKiB,QAAL,GAAgB,IAAhB;EACD;;;WAIMuB,kBAAP,yBAAuBC,MAAvB,EAA+B;EAC7B,WAAO,KAAKC,IAAL,CAAU,YAAY;EAC3B,UAAIC,IAAI,GAAGzB,IAAI,CAAC0B,OAAL,CAAa,IAAb,EAAmB5C,QAAnB,CAAX;;EAEA,UAAI,CAAC2C,IAAL,EAAW;EACTA,QAAAA,IAAI,GAAG,IAAI5B,MAAJ,CAAW,IAAX,CAAP;EACD;;EAED,UAAI0B,MAAM,KAAK,QAAf,EAAyB;EACvBE,QAAAA,IAAI,CAACF,MAAD,CAAJ;EACD;EACF,KAVM,CAAP;EAWD;;WAEMI,cAAP,qBAAmB7B,OAAnB,EAA4B;EAC1B,WAAOE,IAAI,CAAC0B,OAAL,CAAa5B,OAAb,EAAsBhB,QAAtB,CAAP;EACD;;;;0BAhFoB;EACnB,aAAOD,OAAP;EACD;;;;;EAiFH;;;;;;;EAMAmC,YAAY,CAACY,EAAb,CAAgBnD,QAAhB,EAA0BgB,KAAK,CAACC,cAAhC,EAAgDL,QAAQ,CAACC,kBAAzD,EAA6E,UAAAuC,KAAK,EAAI;EACpFA,EAAAA,KAAK,CAACC,cAAN;EAEA,MAAIC,MAAM,GAAGF,KAAK,CAACG,MAAnB;;EACA,MAAI,CAACD,MAAM,CAACnB,SAAP,CAAiBC,QAAjB,CAA0B5B,SAAS,CAACE,MAApC,CAAL,EAAkD;EAChD4C,IAAAA,MAAM,GAAGzB,cAAc,CAACC,OAAf,CAAuBwB,MAAvB,EAA+B1C,QAAQ,CAACF,MAAxC,CAAT;EACD;;EAED,MAAIsC,IAAI,GAAGzB,IAAI,CAAC0B,OAAL,CAAaK,MAAb,EAAqBjD,QAArB,CAAX;;EACA,MAAI,CAAC2C,IAAL,EAAW;EACTA,IAAAA,IAAI,GAAG,IAAI5B,MAAJ,CAAWkC,MAAX,CAAP;EACD;;EAEDN,EAAAA,IAAI,CAACvB,MAAL;EACD,CAdD;EAgBAc,YAAY,CAACY,EAAb,CAAgBnD,QAAhB,EAA0BgB,KAAK,CAACE,cAAhC,EAAgDN,QAAQ,CAACC,kBAAzD,EAA6E,UAAAuC,KAAK,EAAI;EACpF,MAAME,MAAM,GAAGzB,cAAc,CAACC,OAAf,CAAuBsB,KAAK,CAACG,MAA7B,EAAqC3C,QAAQ,CAACF,MAA9C,CAAf;;EAEA,MAAI4C,MAAJ,EAAY;EACVA,IAAAA,MAAM,CAACnB,SAAP,CAAiBqB,GAAjB,CAAqBhD,SAAS,CAACG,KAA/B;EACD;EACF,CAND;EAQA4B,YAAY,CAACY,EAAb,CAAgBnD,QAAhB,EAA0BgB,KAAK,CAACG,aAAhC,EAA+CP,QAAQ,CAACC,kBAAxD,EAA4E,UAAAuC,KAAK,EAAI;EACnF,MAAME,MAAM,GAAGzB,cAAc,CAACC,OAAf,CAAuBsB,KAAK,CAACG,MAA7B,EAAqC3C,QAAQ,CAACF,MAA9C,CAAf;;EAEA,MAAI4C,MAAJ,EAAY;EACVA,IAAAA,MAAM,CAACnB,SAAP,CAAiBG,MAAjB,CAAwB9B,SAAS,CAACG,KAAlC;EACD;EACF,CAND;EAQA,IAAM8C,CAAC,GAAG5D,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAI4D,CAAJ,EAAO;EACL,MAAMC,kBAAkB,GAAGD,CAAC,CAACE,EAAF,CAAKxD,IAAL,CAA3B;EACAsD,EAAAA,CAAC,CAACE,EAAF,CAAKxD,IAAL,IAAaiB,MAAM,CAACyB,eAApB;EACAY,EAAAA,CAAC,CAACE,EAAF,CAAKxD,IAAL,EAAWyD,WAAX,GAAyBxC,MAAzB;;EAEAqC,EAAAA,CAAC,CAACE,EAAF,CAAKxD,IAAL,EAAW0D,UAAX,GAAwB,YAAM;EAC5BJ,IAAAA,CAAC,CAACE,EAAF,CAAKxD,IAAL,IAAauD,kBAAb;EACA,WAAOtC,MAAM,CAACyB,eAAd;EACD,GAHD;EAID;;;;;;;;"}
\ No newline at end of file +{"version":3,"file":"button.js","sources":["../src/util/index.js","../src/button.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n"],"names":["getjQuery","window","jQuery","document","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","ClassName","ACTIVE","BUTTON","FOCUS","Selector","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","Event","CLICK_DATA_API","FOCUS_DATA_API","BLUR_DATA_API","Button","element","_element","Data","setData","toggle","triggerChangeEvent","addAriaPressed","rootElement","SelectorEngine","closest","input","findOne","type","checked","classList","contains","activeElement","remove","EventHandler","trigger","focus","setAttribute","dispose","removeData","jQueryInterface","config","each","data","getData","getInstance","on","event","preventDefault","button","target","add","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/carousel.js b/js/dist/carousel.js index 390ec31949..6c41b0a6e4 100644 --- a/js/dist/carousel.js +++ b/js/dist/carousel.js @@ -4,8 +4,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/data.js'), require('../dom/event-handler.js'), require('../dom/manipulator.js'), require('../dom/selector-engine.js')) : - typeof define === 'function' && define.amd ? define(['../dom/data.js', '../dom/event-handler.js', '../dom/manipulator.js', '../dom/selector-engine.js'], factory) : + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) : + typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', './dom/selector-engine.js'], factory) : (global = global || self, global.Carousel = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine)); }(this, function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict'; @@ -285,13 +285,12 @@ var PointerType = { TOUCH: 'touch', PEN: 'pen' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ var Carousel = /*#__PURE__*/ diff --git a/js/dist/carousel.js.map b/js/dist/carousel.js.map index 9c3da9e7a1..21b6de8029 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/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\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 = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\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._element = element\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 || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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._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 EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = 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 this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .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 && PointerType[event.pointerType.toUpperCase()]) {\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 && PointerType[event.pointerType.toUpperCase()]) {\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 makeArray(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(ClassName.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 switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(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 indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\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 &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.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\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(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(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.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(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\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\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","Event","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CLICK_DATA_API","ClassName","CAROUSEL","ACTIVE","ITEM","POINTER_EVENT","Selector","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_element","_indicatorsElement","SelectorEngine","findOne","_touchSupported","documentElement","navigator","maxTouchPoints","_pointerEvent","Boolean","PointerEvent","MSPointerEvent","_addEventListeners","Data","setData","next","_slide","nextWhenVisible","hidden","prev","event","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","EventHandler","one","direction","dispose","off","removeData","_handleSwipe","absDeltax","Math","abs","on","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","find","itemImg","e","preventDefault","classList","add","target","tagName","which","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","trigger","from","_setActiveIndicatorElement","indicators","i","remove","nextIndicator","children","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","contains","slideEvent","defaultPrevented","nextElementInterval","parseInt","defaultInterval","carouselInterface","data","getData","Manipulator","getDataAttributes","action","TypeError","ride","jQueryInterface","each","dataApiClickHandler","slideIndex","getInstance","carousels","len","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"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 (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\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 = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\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._element = element\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 || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\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._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 EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = 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 this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .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 && PointerType[event.pointerType.toUpperCase()]) {\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 && PointerType[event.pointerType.toUpperCase()]) {\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 makeArray(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(ClassName.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 switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(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 indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\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 &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.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\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(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(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.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(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\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\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","Event","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CLICK_DATA_API","ClassName","CAROUSEL","ACTIVE","ITEM","POINTER_EVENT","Selector","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_element","_indicatorsElement","SelectorEngine","findOne","_touchSupported","documentElement","navigator","maxTouchPoints","_pointerEvent","Boolean","PointerEvent","MSPointerEvent","_addEventListeners","Data","setData","next","_slide","nextWhenVisible","hidden","prev","event","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","EventHandler","one","direction","dispose","off","removeData","_handleSwipe","absDeltax","Math","abs","on","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","find","itemImg","e","preventDefault","classList","add","target","tagName","which","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","trigger","from","_setActiveIndicatorElement","indicators","i","remove","nextIndicator","children","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","contains","slideEvent","defaultPrevented","nextElementInterval","parseInt","defaultInterval","carouselInterface","data","getData","Manipulator","getDataAttributes","action","TypeError","ride","jQueryInterface","each","dataApiClickHandler","slideIndex","getInstance","carousels","len","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/collapse.js b/js/dist/collapse.js index 0690eb5660..3a0d5f7397 100644 --- a/js/dist/collapse.js +++ b/js/dist/collapse.js @@ -4,8 +4,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/data.js'), require('../dom/event-handler.js'), require('../dom/manipulator.js'), require('../dom/selector-engine.js')) : - typeof define === 'function' && define.amd ? define(['../dom/data.js', '../dom/event-handler.js', '../dom/manipulator.js', '../dom/selector-engine.js'], factory) : + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) : + typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', './dom/selector-engine.js'], factory) : (global = global || self, global.Collapse = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine)); }(this, function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict'; @@ -243,13 +243,12 @@ var Selector = { ACTIVES: '.show, .collapsing', DATA_TOGGLE: '[data-toggle="collapse"]' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ var Collapse = /*#__PURE__*/ diff --git a/js/dist/collapse.js.map b/js/dist/collapse.js.map index 54c5243d4e..de33eae1cb 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/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\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 = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.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.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], 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(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.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, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.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(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.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(ClassName.SHOW)) {\n trigger.classList.add(ClassName.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(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.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, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = 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 const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.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 = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(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) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\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 && /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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(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\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","document","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","toggle","parent","DefaultType","Event","SHOW","SHOWN","HIDE","HIDDEN","CLICK_DATA_API","ClassName","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","Selector","ACTIVES","DATA_TOGGLE","Collapse","_isTransitioning","_element","_config","_getConfig","_triggerArray","SelectorEngine","find","id","toggleList","i","len","length","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","Data","setData","classList","contains","hide","show","actives","activesData","container","findOne","tempActiveData","getData","startEvent","EventHandler","trigger","defaultPrevented","elemActive","collapseInterface","dimension","_getDimension","remove","add","style","setAttribute","setTransitioning","complete","capitalizedDimension","scrollSize","one","getBoundingClientRect","triggerArrayLength","isTransitioning","dispose","removeData","Boolean","hasWidth","jquery","selected","triggerArray","isOpen","data","Manipulator","getDataAttributes","TypeError","jQueryInterface","each","getInstance","on","event","target","tagName","preventDefault","triggerData","selectorElements","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"collapse.js","sources":["../src/util/index.js","../src/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\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 = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.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.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], 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(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.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, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.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(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.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(ClassName.SHOW)) {\n trigger.classList.add(ClassName.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(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.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, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = 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 const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.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 = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(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) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\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 && /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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(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\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","document","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","toggle","parent","DefaultType","Event","SHOW","SHOWN","HIDE","HIDDEN","CLICK_DATA_API","ClassName","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","Selector","ACTIVES","DATA_TOGGLE","Collapse","_isTransitioning","_element","_config","_getConfig","_triggerArray","SelectorEngine","find","id","toggleList","i","len","length","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","Data","setData","classList","contains","hide","show","actives","activesData","container","findOne","tempActiveData","getData","startEvent","EventHandler","trigger","defaultPrevented","elemActive","collapseInterface","dimension","_getDimension","remove","add","style","setAttribute","setTransitioning","complete","capitalizedDimension","scrollSize","one","getBoundingClientRect","triggerArrayLength","isTransitioning","dispose","removeData","Boolean","hasWidth","jquery","selected","triggerArray","isOpen","data","Manipulator","getDataAttributes","TypeError","jQueryInterface","each","getInstance","on","event","target","tagName","preventDefault","triggerData","selectorElements","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/dom/event-handler.js b/js/dist/dom/event-handler.js index 19d0de6d03..92aa524404 100644 --- a/js/dist/dom/event-handler.js +++ b/js/dist/dom/event-handler.js @@ -239,7 +239,7 @@ if (isNamespace) { Object.keys(events).forEach(function (elementEvent) { - removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.substr(1)); + removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); }); } diff --git a/js/dist/dom/event-handler.js.map b/js/dist/dom/event-handler.js.map index 55a96954b3..e596703a61 100644 --- a/js/dist/dom/event-handler.js.map +++ b/js/dist/dom/event-handler.js.map @@ -1 +1 @@ -{"version":3,"file":"event-handler.js","sources":["../../src/util/index.js","../../src/dom/event-handler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.substr(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n"],"names":["getjQuery","window","jQuery","document","body","hasAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","element","uid","getEvent","fixEvent","event","which","test","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","i","length","findHandler","events","delegationSelector","uidEventList","Object","keys","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","replace","custom","isNative","indexOf","addHandler","handlers","previousFn","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","forEach","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","substr","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","Event","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","createCustomEvent","cancelable","key","defineProperty","get","preventDefault","defaultPreventedPreservedOnDispatch","dispatchEvent"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"event-handler.js","sources":["../../src/util/index.js","../../src/dom/event-handler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n"],"names":["getjQuery","window","jQuery","document","body","hasAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","element","uid","getEvent","fixEvent","event","which","test","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","i","length","findHandler","events","delegationSelector","uidEventList","Object","keys","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","replace","custom","isNative","indexOf","addHandler","handlers","previousFn","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","forEach","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","slice","keyHandlers","trigger","args","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","Event","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","createCustomEvent","cancelable","key","defineProperty","get","preventDefault","defaultPreventedPreservedOnDispatch","dispatchEvent"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/dom/polyfill.js b/js/dist/dom/polyfill.js index a74051934e..fefa0f5696 100644 --- a/js/dist/dom/polyfill.js +++ b/js/dist/dom/polyfill.js @@ -25,7 +25,6 @@ var getUID = function getUID(prefix) { do { - // eslint-disable-next-line no-bitwise prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here } while (document.getElementById(prefix)); @@ -123,7 +122,7 @@ try { element.querySelectorAll(':scope *'); - } catch (error) { + } catch (_) { return false; } diff --git a/js/dist/dom/polyfill.js.map b/js/dist/dom/polyfill.js.map index 9fd97cbe9b..080796f0c9 100644 --- a/js/dist/dom/polyfill.js.map +++ b/js/dist/dom/polyfill.js.map @@ -1 +1 @@ -{"version":3,"file":"polyfill.js","sources":["../../src/util/index.js","../../src/dom/polyfill.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (error) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n"],"names":["MAX_UID","getUID","prefix","Math","random","document","getElementById","Element","prototype","matches","closest","find","querySelectorAll","findOne","querySelector","createCustomEvent","eventName","params","cEvent","CustomEvent","window","bubbles","cancelable","detail","evt","createEvent","initCustomEvent","workingDefaultPrevented","e","initEvent","preventDefault","defaultPrevented","origPreventDefault","Event","call","Object","defineProperty","get","configurable","defaultPreventedPreservedOnDispatch","element","createElement","addEventListener","dispatchEvent","msMatchesSelector","webkitMatchesSelector","selector","parentElement","parentNode","nodeType","scopeSelectorRegex","supportScopeQuery","error","test","hasId","Boolean","id","nodeList","replace","removeAttribute"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"polyfill.js","sources":["../../src/util/index.js","../../src/dom/polyfill.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n"],"names":["MAX_UID","getUID","prefix","Math","random","document","getElementById","Element","prototype","matches","closest","find","querySelectorAll","findOne","querySelector","createCustomEvent","eventName","params","cEvent","CustomEvent","window","bubbles","cancelable","detail","evt","createEvent","initCustomEvent","workingDefaultPrevented","e","initEvent","preventDefault","defaultPrevented","origPreventDefault","Event","call","Object","defineProperty","get","configurable","defaultPreventedPreservedOnDispatch","element","createElement","addEventListener","dispatchEvent","msMatchesSelector","webkitMatchesSelector","selector","parentElement","parentNode","nodeType","scopeSelectorRegex","supportScopeQuery","_","test","hasId","Boolean","id","nodeList","replace","removeAttribute"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/dom/selector-engine.js.map b/js/dist/dom/selector-engine.js.map index 142ceaf62c..61019ab0a8 100644 --- a/js/dist/dom/selector-engine.js.map +++ b/js/dist/dom/selector-engine.js.map @@ -1 +1 @@ -{"version":3,"file":"selector-engine.js","sources":["../../src/util/index.js","../../src/dom/selector-engine.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n"],"names":["makeArray","nodeList","slice","call","NODE_TEXT","SelectorEngine","matches","element","selector","find","document","documentElement","findFn","findOne","children","filter","child","parents","ancestor","parentNode","nodeType","Node","ELEMENT_NODE","push","closest","prev","siblings","previous","previousSibling"],"mappings":";;;;;;;;;;;EAAA;;;;;;AAOA;EAwHA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAAAC,QAAQ,EAAI;EAC5B,MAAI,CAACA,QAAL,EAAe;EACb,WAAO,EAAP;EACD;;EAED,SAAO,GAAGC,KAAH,CAASC,IAAT,CAAcF,QAAd,CAAP;EACD,CAND;;EC/HA;;;;;;AAOA,EAGA;;;;;;EAMA,IAAMG,SAAS,GAAG,CAAlB;EAEA,IAAMC,cAAc,GAAG;EACrBC,EAAAA,OADqB,mBACbC,OADa,EACJC,QADI,EACM;EACzB,WAAOF,mBAAO,CAACH,IAAR,CAAaI,OAAb,EAAsBC,QAAtB,CAAP;EACD,GAHoB;EAKrBC,EAAAA,IALqB,gBAKhBD,QALgB,EAKND,OALM,EAK8B;EAAA,QAApCA,OAAoC;EAApCA,MAAAA,OAAoC,GAA1BG,QAAQ,CAACC,eAAiB;EAAA;;EACjD,WAAOC,gBAAM,CAACT,IAAP,CAAYI,OAAZ,EAAqBC,QAArB,CAAP;EACD,GAPoB;EASrBK,EAAAA,OATqB,mBASbL,QATa,EASHD,OATG,EASiC;EAAA,QAApCA,OAAoC;EAApCA,MAAAA,OAAoC,GAA1BG,QAAQ,CAACC,eAAiB;EAAA;;EACpD,WAAOE,mBAAO,CAACV,IAAR,CAAaI,OAAb,EAAsBC,QAAtB,CAAP;EACD,GAXoB;EAarBM,EAAAA,QAbqB,oBAaZP,OAbY,EAaHC,QAbG,EAaO;EAAA;;EAC1B,QAAMM,QAAQ,GAAGd,SAAS,CAACO,OAAO,CAACO,QAAT,CAA1B;EAEA,WAAOA,QAAQ,CAACC,MAAT,CAAgB,UAAAC,KAAK;EAAA,aAAI,KAAI,CAACV,OAAL,CAAaU,KAAb,EAAoBR,QAApB,CAAJ;EAAA,KAArB,CAAP;EACD,GAjBoB;EAmBrBS,EAAAA,OAnBqB,mBAmBbV,OAnBa,EAmBJC,QAnBI,EAmBM;EACzB,QAAMS,OAAO,GAAG,EAAhB;EAEA,QAAIC,QAAQ,GAAGX,OAAO,CAACY,UAAvB;;EAEA,WAAOD,QAAQ,IAAIA,QAAQ,CAACE,QAAT,KAAsBC,IAAI,CAACC,YAAvC,IAAuDJ,QAAQ,CAACE,QAAT,KAAsBhB,SAApF,EAA+F;EAC7F,UAAI,KAAKE,OAAL,CAAaY,QAAb,EAAuBV,QAAvB,CAAJ,EAAsC;EACpCS,QAAAA,OAAO,CAACM,IAAR,CAAaL,QAAb;EACD;;EAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAACC,UAApB;EACD;;EAED,WAAOF,OAAP;EACD,GAjCoB;EAmCrBO,EAAAA,OAnCqB,mBAmCbjB,OAnCa,EAmCJC,QAnCI,EAmCM;EACzB,WAAOgB,mBAAO,CAACrB,IAAR,CAAaI,OAAb,EAAsBC,QAAtB,CAAP;EACD,GArCoB;EAuCrBiB,EAAAA,IAvCqB,gBAuChBlB,OAvCgB,EAuCPC,QAvCO,EAuCG;EACtB,QAAMkB,QAAQ,GAAG,EAAjB;EAEA,QAAIC,QAAQ,GAAGpB,OAAO,CAACqB,eAAvB;;EAEA,WAAOD,QAAQ,IAAIA,QAAQ,CAACP,QAAT,KAAsBC,IAAI,CAACC,YAAvC,IAAuDK,QAAQ,CAACP,QAAT,KAAsBhB,SAApF,EAA+F;EAC7F,UAAI,KAAKE,OAAL,CAAaqB,QAAb,EAAuBnB,QAAvB,CAAJ,EAAsC;EACpCkB,QAAAA,QAAQ,CAACH,IAAT,CAAcI,QAAd;EACD;;EAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAACC,eAApB;EACD;;EAED,WAAOF,QAAP;EACD;EArDoB,CAAvB;;;;;;;;"}
\ No newline at end of file +{"version":3,"file":"selector-engine.js","sources":["../../src/util/index.js","../../src/dom/selector-engine.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n"],"names":["makeArray","nodeList","slice","call","NODE_TEXT","SelectorEngine","matches","element","selector","find","document","documentElement","findFn","findOne","children","filter","child","parents","ancestor","parentNode","nodeType","Node","ELEMENT_NODE","push","closest","prev","siblings","previous","previousSibling"],"mappings":";;;;;;;;;;;EAAA;;;;;;AAOA;EAuHA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAAAC,QAAQ,EAAI;EAC5B,MAAI,CAACA,QAAL,EAAe;EACb,WAAO,EAAP;EACD;;EAED,SAAO,GAAGC,KAAH,CAASC,IAAT,CAAcF,QAAd,CAAP;EACD,CAND;;EC9HA;;;;;;AAOA,EAGA;;;;;;EAMA,IAAMG,SAAS,GAAG,CAAlB;EAEA,IAAMC,cAAc,GAAG;EACrBC,EAAAA,OADqB,mBACbC,OADa,EACJC,QADI,EACM;EACzB,WAAOF,mBAAO,CAACH,IAAR,CAAaI,OAAb,EAAsBC,QAAtB,CAAP;EACD,GAHoB;EAKrBC,EAAAA,IALqB,gBAKhBD,QALgB,EAKND,OALM,EAK8B;EAAA,QAApCA,OAAoC;EAApCA,MAAAA,OAAoC,GAA1BG,QAAQ,CAACC,eAAiB;EAAA;;EACjD,WAAOC,gBAAM,CAACT,IAAP,CAAYI,OAAZ,EAAqBC,QAArB,CAAP;EACD,GAPoB;EASrBK,EAAAA,OATqB,mBASbL,QATa,EASHD,OATG,EASiC;EAAA,QAApCA,OAAoC;EAApCA,MAAAA,OAAoC,GAA1BG,QAAQ,CAACC,eAAiB;EAAA;;EACpD,WAAOE,mBAAO,CAACV,IAAR,CAAaI,OAAb,EAAsBC,QAAtB,CAAP;EACD,GAXoB;EAarBM,EAAAA,QAbqB,oBAaZP,OAbY,EAaHC,QAbG,EAaO;EAAA;;EAC1B,QAAMM,QAAQ,GAAGd,SAAS,CAACO,OAAO,CAACO,QAAT,CAA1B;EAEA,WAAOA,QAAQ,CAACC,MAAT,CAAgB,UAAAC,KAAK;EAAA,aAAI,KAAI,CAACV,OAAL,CAAaU,KAAb,EAAoBR,QAApB,CAAJ;EAAA,KAArB,CAAP;EACD,GAjBoB;EAmBrBS,EAAAA,OAnBqB,mBAmBbV,OAnBa,EAmBJC,QAnBI,EAmBM;EACzB,QAAMS,OAAO,GAAG,EAAhB;EAEA,QAAIC,QAAQ,GAAGX,OAAO,CAACY,UAAvB;;EAEA,WAAOD,QAAQ,IAAIA,QAAQ,CAACE,QAAT,KAAsBC,IAAI,CAACC,YAAvC,IAAuDJ,QAAQ,CAACE,QAAT,KAAsBhB,SAApF,EAA+F;EAC7F,UAAI,KAAKE,OAAL,CAAaY,QAAb,EAAuBV,QAAvB,CAAJ,EAAsC;EACpCS,QAAAA,OAAO,CAACM,IAAR,CAAaL,QAAb;EACD;;EAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAACC,UAApB;EACD;;EAED,WAAOF,OAAP;EACD,GAjCoB;EAmCrBO,EAAAA,OAnCqB,mBAmCbjB,OAnCa,EAmCJC,QAnCI,EAmCM;EACzB,WAAOgB,mBAAO,CAACrB,IAAR,CAAaI,OAAb,EAAsBC,QAAtB,CAAP;EACD,GArCoB;EAuCrBiB,EAAAA,IAvCqB,gBAuChBlB,OAvCgB,EAuCPC,QAvCO,EAuCG;EACtB,QAAMkB,QAAQ,GAAG,EAAjB;EAEA,QAAIC,QAAQ,GAAGpB,OAAO,CAACqB,eAAvB;;EAEA,WAAOD,QAAQ,IAAIA,QAAQ,CAACP,QAAT,KAAsBC,IAAI,CAACC,YAAvC,IAAuDK,QAAQ,CAACP,QAAT,KAAsBhB,SAApF,EAA+F;EAC7F,UAAI,KAAKE,OAAL,CAAaqB,QAAb,EAAuBnB,QAAvB,CAAJ,EAAsC;EACpCkB,QAAAA,QAAQ,CAACH,IAAT,CAAcI,QAAd;EACD;;EAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAACC,eAApB;EACD;;EAED,WAAOF,QAAP;EACD;EArDoB,CAAvB;;;;;;;;"}
\ No newline at end of file diff --git a/js/dist/dropdown.js b/js/dist/dropdown.js index 8fffc32228..6044c5831b 100644 --- a/js/dist/dropdown.js +++ b/js/dist/dropdown.js @@ -4,8 +4,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/data.js'), require('../dom/event-handler.js'), require('../dom/manipulator.js'), require('popper.js'), require('../dom/selector-engine.js')) : - typeof define === 'function' && define.amd ? define(['../dom/data.js', '../dom/event-handler.js', '../dom/manipulator.js', 'popper.js', '../dom/selector-engine.js'], factory) : + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('popper.js'), require('./dom/selector-engine.js')) : + typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', 'popper.js', './dom/selector-engine.js'], factory) : (global = global || self, global.Dropdown = factory(global.Data, global.EventHandler, global.Manipulator, global.Popper, global.SelectorEngine)); }(this, function (Data, EventHandler, Manipulator, Popper, SelectorEngine) { 'use strict'; @@ -131,7 +131,6 @@ return [].slice.call(nodeList); }; - var noop = function noop() { return function () {}; }; @@ -222,13 +221,12 @@ reference: '(string|element)', display: 'string', popperConfig: '(null|object)' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ var Dropdown = /*#__PURE__*/ @@ -448,9 +446,8 @@ preventOverflow: { boundariesElement: this._config.boundary } - } // Disable Popper.js if we have a static display - - }; + } + }; // Disable Popper.js if we have a static display if (this._config.display === 'static') { popperConfig.modifiers.applyStyle = { diff --git a/js/dist/dropdown.js.map b/js/dist/dropdown.js.map index a91595652b..1a9d4df862 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/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.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(ClassName.DISABLED) || this._menu.classList.contains(ClassName.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(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(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 Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(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(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n"],"names":["toType","obj","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","trim","getElementFromSelector","document","querySelector","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","noop","getjQuery","window","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK","CLICK_DATA_API","KEYDOWN_DATA_API","KEYUP_DATA_API","ClassName","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","Selector","DATA_TOGGLE","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHT","RIGHTEND","LEFT","LEFTEND","Default","offset","flip","boundary","reference","display","popperConfig","DefaultType","Dropdown","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","Data","setData","toggle","disabled","classList","contains","isActive","clearMenus","show","parent","getParentFromElement","relatedTarget","showEvent","EventHandler","trigger","defaultPrevented","Popper","TypeError","referenceElement","jquery","add","_getPopperConfig","documentElement","SelectorEngine","closest","length","children","elem","on","focus","setAttribute","Manipulator","toggleClass","hide","hideEvent","destroy","dispose","removeData","off","update","scheduleUpdate","event","preventDefault","stopPropagation","constructor","getDataAttributes","findOne","_getPlacement","parentDropdown","parentNode","placement","Boolean","_getOffset","fn","data","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","getData","jQueryInterface","each","which","type","toggles","find","i","len","context","clickEvent","dropdownMenu","target","tagName","remove","dataApiKeydownHandler","items","index","indexOf","getInstance","e","$","JQUERY_NO_CONFLICT","Constructor","noConflict"],"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 (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.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(ClassName.DISABLED) || this._menu.classList.contains(ClassName.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(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(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 Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(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(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n"],"names":["toType","obj","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","trim","getElementFromSelector","document","querySelector","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","noop","getjQuery","window","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK","CLICK_DATA_API","KEYDOWN_DATA_API","KEYUP_DATA_API","ClassName","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","Selector","DATA_TOGGLE","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHT","RIGHTEND","LEFT","LEFTEND","Default","offset","flip","boundary","reference","display","popperConfig","DefaultType","Dropdown","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","Data","setData","toggle","disabled","classList","contains","isActive","clearMenus","show","parent","getParentFromElement","relatedTarget","showEvent","EventHandler","trigger","defaultPrevented","Popper","TypeError","referenceElement","jquery","add","_getPopperConfig","documentElement","SelectorEngine","closest","length","children","elem","on","focus","setAttribute","Manipulator","toggleClass","hide","hideEvent","destroy","dispose","removeData","off","update","scheduleUpdate","event","preventDefault","stopPropagation","constructor","getDataAttributes","findOne","_getPlacement","parentDropdown","parentNode","placement","Boolean","_getOffset","fn","data","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","getData","jQueryInterface","each","which","type","toggles","find","i","len","context","clickEvent","dropdownMenu","target","tagName","remove","dataApiKeydownHandler","items","index","indexOf","getInstance","e","$","JQUERY_NO_CONFLICT","Constructor","noConflict"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;;;;;AAOA;EAKA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,GAAG;EAAA,SAAK,GAAGC,QAAH,CAAYC,IAAZ,CAAiBF,GAAjB,EAAsBG,KAAtB,CAA4B,aAA5B,EAA2C,CAA3C,EAA8CC,WAA9C,EAAL;EAAA,CAAlB;AAEA;EAcA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAAAC,OAAO,EAAI;EAC7B,MAAIC,QAAQ,GAAGD,OAAO,CAACE,YAAR,CAAqB,aAArB,CAAf;;EAEA,MAAI,CAACD,QAAD,IAAaA,QAAQ,KAAK,GAA9B,EAAmC;EACjC,QAAME,QAAQ,GAAGH,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAjB;EAEAD,IAAAA,QAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAAK,GAAzB,GAA+BA,QAAQ,CAACC,IAAT,EAA/B,GAAiD,IAA5D;EACD;;EAED,SAAOH,QAAP;EACD,CAVD;;EAsBA,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAL,OAAO,EAAI;EACxC,MAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;EAEA,SAAOC,QAAQ,GAAGK,QAAQ,CAACC,aAAT,CAAuBN,QAAvB,CAAH,GAAsC,IAArD;EACD,CAJD;;EAuCA,IAAMO,SAAS,GAAG,SAAZA,SAAY,CAAAd,GAAG;EAAA,SAAI,CAACA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAX,EAAgBe,QAApB;EAAA,CAArB;;EAmBA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,aAAD,EAAgBC,MAAhB,EAAwBC,WAAxB,EAAwC;EAC9DC,EAAAA,MAAM,CAACC,IAAP,CAAYF,WAAZ,EACGG,OADH,CACW,UAAAC,QAAQ,EAAI;EACnB,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,GAChB,SADgB,GAEhB1B,MAAM,CAAC0B,KAAD,CAFR;;EAIA,QAAI,CAAC,IAAIE,MAAJ,CAAWH,aAAX,EAA0BI,IAA1B,CAA+BF,SAA/B,CAAL,EAAgD;EAC9C,YAAM,IAAIG,KAAJ,CACDZ,aAAa,CAACa,WAAd,EAAH,yBACWP,QADX,2BACuCG,SADvC,sCAEsBF,aAFtB,SADI,CAAN;EAID;EACF,GAdH;EAeD,CAhBD;;EAkBA,IAAMO,SAAS,GAAG,SAAZA,SAAY,CAAAC,QAAQ,EAAI;EAC5B,MAAI,CAACA,QAAL,EAAe;EACb,WAAO,EAAP;EACD;;EAED,SAAO,GAAGC,KAAH,CAAS/B,IAAT,CAAc8B,QAAd,CAAP;EACD,CAND;;EA6CA,IAAME,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,CAACzB,QAAQ,CAAC0B,IAAT,CAAcC,YAAd,CAA2B,gBAA3B,CAAf,EAA6D;EAC3D,WAAOF,MAAP;EACD;;EAED,SAAO,IAAP;EACD,CARD;;EC1JA;;;;;;EAMA,IAAMG,IAAI,GAAG,UAAb;EACA,IAAMC,OAAO,GAAG,OAAhB;EACA,IAAMC,QAAQ,GAAG,aAAjB;EACA,IAAMC,SAAS,SAAOD,QAAtB;EACA,IAAME,YAAY,GAAG,WAArB;EACA,IAAMC,cAAc,GAAG,EAAvB;;EACA,IAAMC,aAAa,GAAG,EAAtB;;EACA,IAAMC,WAAW,GAAG,CAApB;;EACA,IAAMC,gBAAgB,GAAG,EAAzB;;EACA,IAAMC,kBAAkB,GAAG,EAA3B;;EACA,IAAMC,wBAAwB,GAAG,CAAjC;;EACA,IAAMC,cAAc,GAAG,IAAIxB,MAAJ,CAAcqB,gBAAd,SAAkCC,kBAAlC,SAAwDJ,cAAxD,CAAvB;EAEA,IAAMO,KAAK,GAAG;EACZC,EAAAA,IAAI,WAASV,SADD;EAEZW,EAAAA,MAAM,aAAWX,SAFL;EAGZY,EAAAA,IAAI,WAASZ,SAHD;EAIZa,EAAAA,KAAK,YAAUb,SAJH;EAKZc,EAAAA,KAAK,YAAUd,SALH;EAMZe,EAAAA,cAAc,YAAUf,SAAV,GAAsBC,YANxB;EAOZe,EAAAA,gBAAgB,cAAYhB,SAAZ,GAAwBC,YAP5B;EAQZgB,EAAAA,cAAc,YAAUjB,SAAV,GAAsBC;EARxB,CAAd;EAWA,IAAMiB,SAAS,GAAG;EAChBC,EAAAA,QAAQ,EAAE,UADM;EAEhBP,EAAAA,IAAI,EAAE,MAFU;EAGhBQ,EAAAA,MAAM,EAAE,QAHQ;EAIhBC,EAAAA,SAAS,EAAE,WAJK;EAKhBC,EAAAA,QAAQ,EAAE,UALM;EAMhBC,EAAAA,SAAS,EAAE,qBANK;EAOhBC,EAAAA,eAAe,EAAE;EAPD,CAAlB;EAUA,IAAMC,QAAQ,GAAG;EACfC,EAAAA,WAAW,EAAE,0BADE;EAEfC,EAAAA,UAAU,EAAE,gBAFG;EAGfC,EAAAA,IAAI,EAAE,gBAHS;EAIfC,EAAAA,UAAU,EAAE,aAJG;EAKfC,EAAAA,aAAa,EAAE;EALA,CAAjB;EAQA,IAAMC,aAAa,GAAG;EACpBC,EAAAA,GAAG,EAAE,WADe;EAEpBC,EAAAA,MAAM,EAAE,SAFY;EAGpBC,EAAAA,MAAM,EAAE,cAHY;EAIpBC,EAAAA,SAAS,EAAE,YAJS;EAKpBC,EAAAA,KAAK,EAAE,aALa;EAMpBC,EAAAA,QAAQ,EAAE,WANU;EAOpBC,EAAAA,IAAI,EAAE,YAPc;EAQpBC,EAAAA,OAAO,EAAE;EARW,CAAtB;EAWA,IAAMC,OAAO,GAAG;EACdC,EAAAA,MAAM,EAAE,CADM;EAEdC,EAAAA,IAAI,EAAE,IAFQ;EAGdC,EAAAA,QAAQ,EAAE,cAHI;EAIdC,EAAAA,SAAS,EAAE,QAJG;EAKdC,EAAAA,OAAO,EAAE,SALK;EAMdC,EAAAA,YAAY,EAAE;EANA,CAAhB;EASA,IAAMC,WAAW,GAAG;EAClBN,EAAAA,MAAM,EAAE,0BADU;EAElBC,EAAAA,IAAI,EAAE,SAFY;EAGlBC,EAAAA,QAAQ,EAAE,kBAHQ;EAIlBC,EAAAA,SAAS,EAAE,kBAJO;EAKlBC,EAAAA,OAAO,EAAE,QALS;EAMlBC,EAAAA,YAAY,EAAE;EANI,CAApB;EASA;;;;;;MAMME;;;EACJ,oBAAYrF,OAAZ,EAAqBY,MAArB,EAA6B;EAC3B,SAAK0E,QAAL,GAAgBtF,OAAhB;EACA,SAAKuF,OAAL,GAAe,IAAf;EACA,SAAKC,OAAL,GAAe,KAAKC,UAAL,CAAgB7E,MAAhB,CAAf;EACA,SAAK8E,KAAL,GAAa,KAAKC,eAAL,EAAb;EACA,SAAKC,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;EAEA,SAAKC,kBAAL;;EACAC,IAAAA,IAAI,CAACC,OAAL,CAAahG,OAAb,EAAsBoC,QAAtB,EAAgC,IAAhC;EACD;;;;;EAgBD;WAEA6D,SAAA,kBAAS;EACP,QAAI,KAAKX,QAAL,CAAcY,QAAd,IAA0B,KAAKZ,QAAL,CAAca,SAAd,CAAwBC,QAAxB,CAAiC7C,SAAS,CAACC,QAA3C,CAA9B,EAAoF;EAClF;EACD;;EAED,QAAM6C,QAAQ,GAAG,KAAKX,KAAL,CAAWS,SAAX,CAAqBC,QAArB,CAA8B7C,SAAS,CAACN,IAAxC,CAAjB;;EAEAoC,IAAAA,QAAQ,CAACiB,UAAT;;EAEA,QAAID,QAAJ,EAAc;EACZ;EACD;;EAED,SAAKE,IAAL;EACD;;WAEDA,OAAA,gBAAO;EACL,QAAI,KAAKjB,QAAL,CAAcY,QAAd,IAA0B,KAAKZ,QAAL,CAAca,SAAd,CAAwBC,QAAxB,CAAiC7C,SAAS,CAACC,QAA3C,CAA1B,IAAkF,KAAKkC,KAAL,CAAWS,SAAX,CAAqBC,QAArB,CAA8B7C,SAAS,CAACN,IAAxC,CAAtF,EAAqI;EACnI;EACD;;EAED,QAAMuD,MAAM,GAAGnB,QAAQ,CAACoB,oBAAT,CAA8B,KAAKnB,QAAnC,CAAf;EACA,QAAMoB,aAAa,GAAG;EACpBA,MAAAA,aAAa,EAAE,KAAKpB;EADA,KAAtB;EAIA,QAAMqB,SAAS,GAAGC,YAAY,CAACC,OAAb,CAAqBL,MAArB,EAA6B1D,KAAK,CAACG,IAAnC,EAAyCyD,aAAzC,CAAlB;;EAEA,QAAIC,SAAS,CAACG,gBAAd,EAAgC;EAC9B;EACD,KAdI;;;EAiBL,QAAI,CAAC,KAAKlB,SAAV,EAAqB;EACnB,UAAI,OAAOmB,MAAP,KAAkB,WAAtB,EAAmC;EACjC,cAAM,IAAIC,SAAJ,CAAc,kEAAd,CAAN;EACD;;EAED,UAAIC,gBAAgB,GAAG,KAAK3B,QAA5B;;EAEA,UAAI,KAAKE,OAAL,CAAaP,SAAb,KAA2B,QAA/B,EAAyC;EACvCgC,QAAAA,gBAAgB,GAAGT,MAAnB;EACD,OAFD,MAEO,IAAIhG,SAAS,CAAC,KAAKgF,OAAL,CAAaP,SAAd,CAAb,EAAuC;EAC5CgC,QAAAA,gBAAgB,GAAG,KAAKzB,OAAL,CAAaP,SAAhC,CAD4C;;EAI5C,YAAI,OAAO,KAAKO,OAAL,CAAaP,SAAb,CAAuBiC,MAA9B,KAAyC,WAA7C,EAA0D;EACxDD,UAAAA,gBAAgB,GAAG,KAAKzB,OAAL,CAAaP,SAAb,CAAuB,CAAvB,CAAnB;EACD;EACF,OAhBkB;EAmBnB;EACA;;;EACA,UAAI,KAAKO,OAAL,CAAaR,QAAb,KAA0B,cAA9B,EAA8C;EAC5CwB,QAAAA,MAAM,CAACL,SAAP,CAAiBgB,GAAjB,CAAqB5D,SAAS,CAACM,eAA/B;EACD;;EAED,WAAK0B,OAAL,GAAe,IAAIwB,MAAJ,CAAWE,gBAAX,EAA6B,KAAKvB,KAAlC,EAAyC,KAAK0B,gBAAL,EAAzC,CAAf;EACD,KA3CI;EA8CL;EACA;EACA;;;EACA,QAAI,kBAAkB9G,QAAQ,CAAC+G,eAA3B,IACF,CAAC5F,SAAS,CAAC6F,cAAc,CAACC,OAAf,CAAuBf,MAAvB,EAA+B1C,QAAQ,CAACI,UAAxC,CAAD,CAAT,CAA+DsD,MADlE,EAC0E;EACxE/F,MAAAA,SAAS,CAACnB,QAAQ,CAAC0B,IAAT,CAAcyF,QAAf,CAAT,CACGzG,OADH,CACW,UAAA0G,IAAI;EAAA,eAAId,YAAY,CAACe,EAAb,CAAgBD,IAAhB,EAAsB,WAAtB,EAAmC,IAAnC,EAAyC9F,IAAI,EAA7C,CAAJ;EAAA,OADf;EAED;;EAED,SAAK0D,QAAL,CAAcsC,KAAd;;EACA,SAAKtC,QAAL,CAAcuC,YAAd,CAA2B,eAA3B,EAA4C,IAA5C;;EAEAC,IAAAA,WAAW,CAACC,WAAZ,CAAwB,KAAKrC,KAA7B,EAAoCnC,SAAS,CAACN,IAA9C;EACA6E,IAAAA,WAAW,CAACC,WAAZ,CAAwBvB,MAAxB,EAAgCjD,SAAS,CAACN,IAA1C;EACA2D,IAAAA,YAAY,CAACC,OAAb,CAAqBL,MAArB,EAA6B1D,KAAK,CAACI,KAAnC,EAA0CwD,aAA1C;EACD;;WAEDsB,OAAA,gBAAO;EACL,QAAI,KAAK1C,QAAL,CAAcY,QAAd,IAA0B,KAAKZ,QAAL,CAAca,SAAd,CAAwBC,QAAxB,CAAiC7C,SAAS,CAACC,QAA3C,CAA1B,IAAkF,CAAC,KAAKkC,KAAL,CAAWS,SAAX,CAAqBC,QAArB,CAA8B7C,SAAS,CAACN,IAAxC,CAAvF,EAAsI;EACpI;EACD;;EAED,QAAMuD,MAAM,GAAGnB,QAAQ,CAACoB,oBAAT,CAA8B,KAAKnB,QAAnC,CAAf;EACA,QAAMoB,aAAa,GAAG;EACpBA,MAAAA,aAAa,EAAE,KAAKpB;EADA,KAAtB;EAIA,QAAM2C,SAAS,GAAGrB,YAAY,CAACC,OAAb,CAAqBL,MAArB,EAA6B1D,KAAK,CAACC,IAAnC,EAAyC2D,aAAzC,CAAlB;;EAEA,QAAIuB,SAAS,CAACnB,gBAAd,EAAgC;EAC9B;EACD;;EAED,QAAI,KAAKvB,OAAT,EAAkB;EAChB,WAAKA,OAAL,CAAa2C,OAAb;EACD;;EAEDJ,IAAAA,WAAW,CAACC,WAAZ,CAAwB,KAAKrC,KAA7B,EAAoCnC,SAAS,CAACN,IAA9C;EACA6E,IAAAA,WAAW,CAACC,WAAZ,CAAwBvB,MAAxB,EAAgCjD,SAAS,CAACN,IAA1C;EACA2D,IAAAA,YAAY,CAACC,OAAb,CAAqBL,MAArB,EAA6B1D,KAAK,CAACE,MAAnC,EAA2C0D,aAA3C;EACD;;WAEDyB,UAAA,mBAAU;EACRpC,IAAAA,IAAI,CAACqC,UAAL,CAAgB,KAAK9C,QAArB,EAA+BlD,QAA/B;EACAwE,IAAAA,YAAY,CAACyB,GAAb,CAAiB,KAAK/C,QAAtB,EAAgCjD,SAAhC;EACA,SAAKiD,QAAL,GAAgB,IAAhB;EACA,SAAKI,KAAL,GAAa,IAAb;;EACA,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,CAAagD,cAAb;EACD;EACF;;;WAIDzC,qBAAA,8BAAqB;EAAA;;EACnBc,IAAAA,YAAY,CAACe,EAAb,CAAgB,KAAKrC,QAArB,EAA+BxC,KAAK,CAACK,KAArC,EAA4C,UAAAqF,KAAK,EAAI;EACnDA,MAAAA,KAAK,CAACC,cAAN;EACAD,MAAAA,KAAK,CAACE,eAAN;;EACA,MAAA,KAAI,CAACzC,MAAL;EACD,KAJD;EAKD;;WAEDR,aAAA,oBAAW7E,MAAX,EAAmB;EACjBA,IAAAA,MAAM,sBACD,KAAK+H,WAAL,CAAiB9D,OADhB,MAEDiD,WAAW,CAACc,iBAAZ,CAA8B,KAAKtD,QAAnC,CAFC,MAGD1E,MAHC,CAAN;EAMAF,IAAAA,eAAe,CACbwB,IADa,EAEbtB,MAFa,EAGb,KAAK+H,WAAL,CAAiBvD,WAHJ,CAAf;EAMA,WAAOxE,MAAP;EACD;;WAED+E,kBAAA,2BAAkB;EAChB,QAAMa,MAAM,GAAGnB,QAAQ,CAACoB,oBAAT,CAA8B,KAAKnB,QAAnC,CAAf;EAEA,WAAOgC,cAAc,CAACuB,OAAf,CAAuB/E,QAAQ,CAACG,IAAhC,EAAsCuC,MAAtC,CAAP;EACD;;WAEDsC,gBAAA,yBAAgB;EACd,QAAMC,cAAc,GAAG,KAAKzD,QAAL,CAAc0D,UAArC;EACA,QAAIC,SAAS,GAAG7E,aAAa,CAACG,MAA9B,CAFc;;EAKd,QAAIwE,cAAc,CAAC5C,SAAf,CAAyBC,QAAzB,CAAkC7C,SAAS,CAACE,MAA5C,CAAJ,EAAyD;EACvDwF,MAAAA,SAAS,GAAG7E,aAAa,CAACC,GAA1B;;EACA,UAAI,KAAKqB,KAAL,CAAWS,SAAX,CAAqBC,QAArB,CAA8B7C,SAAS,CAACK,SAAxC,CAAJ,EAAwD;EACtDqF,QAAAA,SAAS,GAAG7E,aAAa,CAACE,MAA1B;EACD;EACF,KALD,MAKO,IAAIyE,cAAc,CAAC5C,SAAf,CAAyBC,QAAzB,CAAkC7C,SAAS,CAACG,SAA5C,CAAJ,EAA4D;EACjEuF,MAAAA,SAAS,GAAG7E,aAAa,CAACK,KAA1B;EACD,KAFM,MAEA,IAAIsE,cAAc,CAAC5C,SAAf,CAAyBC,QAAzB,CAAkC7C,SAAS,CAACI,QAA5C,CAAJ,EAA2D;EAChEsF,MAAAA,SAAS,GAAG7E,aAAa,CAACO,IAA1B;EACD,KAFM,MAEA,IAAI,KAAKe,KAAL,CAAWS,SAAX,CAAqBC,QAArB,CAA8B7C,SAAS,CAACK,SAAxC,CAAJ,EAAwD;EAC7DqF,MAAAA,SAAS,GAAG7E,aAAa,CAACI,SAA1B;EACD;;EAED,WAAOyE,SAAP;EACD;;WAEDpD,gBAAA,yBAAgB;EACd,WAAOqD,OAAO,CAAC5B,cAAc,CAACC,OAAf,CAAuB,KAAKjC,QAA5B,EAAsC,SAAtC,CAAD,CAAd;EACD;;WAED6D,aAAA,sBAAa;EAAA;;EACX,QAAMrE,MAAM,GAAG,EAAf;;EAEA,QAAI,OAAO,KAAKU,OAAL,CAAaV,MAApB,KAA+B,UAAnC,EAA+C;EAC7CA,MAAAA,MAAM,CAACsE,EAAP,GAAY,UAAAC,IAAI,EAAI;EAClBA,QAAAA,IAAI,CAACC,OAAL,sBACKD,IAAI,CAACC,OADV,MAEK,MAAI,CAAC9D,OAAL,CAAaV,MAAb,CAAoBuE,IAAI,CAACC,OAAzB,EAAkC,MAAI,CAAChE,QAAvC,KAAoD,EAFzD;EAKA,eAAO+D,IAAP;EACD,OAPD;EAQD,KATD,MASO;EACLvE,MAAAA,MAAM,CAACA,MAAP,GAAgB,KAAKU,OAAL,CAAaV,MAA7B;EACD;;EAED,WAAOA,MAAP;EACD;;WAEDsC,mBAAA,4BAAmB;EACjB,QAAMjC,YAAY,GAAG;EACnB8D,MAAAA,SAAS,EAAE,KAAKH,aAAL,EADQ;EAEnBS,MAAAA,SAAS,EAAE;EACTzE,QAAAA,MAAM,EAAE,KAAKqE,UAAL,EADC;EAETpE,QAAAA,IAAI,EAAE;EACJyE,UAAAA,OAAO,EAAE,KAAKhE,OAAL,CAAaT;EADlB,SAFG;EAKT0E,QAAAA,eAAe,EAAE;EACfC,UAAAA,iBAAiB,EAAE,KAAKlE,OAAL,CAAaR;EADjB;EALR;EAFQ,KAArB,CADiB;;EAejB,QAAI,KAAKQ,OAAL,CAAaN,OAAb,KAAyB,QAA7B,EAAuC;EACrCC,MAAAA,YAAY,CAACoE,SAAb,CAAuBI,UAAvB,GAAoC;EAClCH,QAAAA,OAAO,EAAE;EADyB,OAApC;EAGD;;EAED,8BACKrE,YADL,MAEK,KAAKK,OAAL,CAAaL,YAFlB;EAID;;;aAIMyE,oBAAP,2BAAyB5J,OAAzB,EAAkCY,MAAlC,EAA0C;EACxC,QAAIyI,IAAI,GAAGtD,IAAI,CAAC8D,OAAL,CAAa7J,OAAb,EAAsBoC,QAAtB,CAAX;;EACA,QAAMoD,OAAO,GAAG,OAAO5E,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;EAEA,QAAI,CAACyI,IAAL,EAAW;EACTA,MAAAA,IAAI,GAAG,IAAIhE,QAAJ,CAAarF,OAAb,EAAsBwF,OAAtB,CAAP;EACD;;EAED,QAAI,OAAO5E,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,UAAI,OAAOyI,IAAI,CAACzI,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,cAAM,IAAIoG,SAAJ,wBAAkCpG,MAAlC,QAAN;EACD;;EAEDyI,MAAAA,IAAI,CAACzI,MAAD,CAAJ;EACD;EACF;;aAEMkJ,kBAAP,yBAAuBlJ,MAAvB,EAA+B;EAC7B,WAAO,KAAKmJ,IAAL,CAAU,YAAY;EAC3B1E,MAAAA,QAAQ,CAACuE,iBAAT,CAA2B,IAA3B,EAAiChJ,MAAjC;EACD,KAFM,CAAP;EAGD;;aAEM0F,aAAP,oBAAkBkC,KAAlB,EAAyB;EACvB,QAAIA,KAAK,KAAKA,KAAK,CAACwB,KAAN,KAAgBpH,wBAAhB,IACX4F,KAAK,CAACyB,IAAN,KAAe,OAAf,IAA0BzB,KAAK,CAACwB,KAAN,KAAgBvH,WADpC,CAAT,EAC4D;EAC1D;EACD;;EAED,QAAMyH,OAAO,GAAGzI,SAAS,CAAC6F,cAAc,CAAC6C,IAAf,CAAoBrG,QAAQ,CAACC,WAA7B,CAAD,CAAzB;;EACA,SAAK,IAAIqG,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGH,OAAO,CAAC1C,MAA9B,EAAsC4C,CAAC,GAAGC,GAA1C,EAA+CD,CAAC,EAAhD,EAAoD;EAClD,UAAM5D,MAAM,GAAGnB,QAAQ,CAACoB,oBAAT,CAA8ByD,OAAO,CAACE,CAAD,CAArC,CAAf;EACA,UAAME,OAAO,GAAGvE,IAAI,CAAC8D,OAAL,CAAaK,OAAO,CAACE,CAAD,CAApB,EAAyBhI,QAAzB,CAAhB;EACA,UAAMsE,aAAa,GAAG;EACpBA,QAAAA,aAAa,EAAEwD,OAAO,CAACE,CAAD;EADF,OAAtB;;EAIA,UAAI5B,KAAK,IAAIA,KAAK,CAACyB,IAAN,KAAe,OAA5B,EAAqC;EACnCvD,QAAAA,aAAa,CAAC6D,UAAd,GAA2B/B,KAA3B;EACD;;EAED,UAAI,CAAC8B,OAAL,EAAc;EACZ;EACD;;EAED,UAAME,YAAY,GAAGF,OAAO,CAAC5E,KAA7B;;EACA,UAAI,CAACc,MAAM,CAACL,SAAP,CAAiBC,QAAjB,CAA0B7C,SAAS,CAACN,IAApC,CAAL,EAAgD;EAC9C;EACD;;EAED,UAAIuF,KAAK,KAAMA,KAAK,CAACyB,IAAN,KAAe,OAAf,IACX,kBAAkB3I,IAAlB,CAAuBkH,KAAK,CAACiC,MAAN,CAAaC,OAApC,CADU,IAETlC,KAAK,CAACyB,IAAN,KAAe,OAAf,IAA0BzB,KAAK,CAACwB,KAAN,KAAgBvH,WAFtC,CAAL,IAGA+D,MAAM,CAACJ,QAAP,CAAgBoC,KAAK,CAACiC,MAAtB,CAHJ,EAGmC;EACjC;EACD;;EAED,UAAMxC,SAAS,GAAGrB,YAAY,CAACC,OAAb,CAAqBL,MAArB,EAA6B1D,KAAK,CAACC,IAAnC,EAAyC2D,aAAzC,CAAlB;;EACA,UAAIuB,SAAS,CAACnB,gBAAd,EAAgC;EAC9B;EACD,OA9BiD;EAiClD;;;EACA,UAAI,kBAAkBxG,QAAQ,CAAC+G,eAA/B,EAAgD;EAC9C5F,QAAAA,SAAS,CAACnB,QAAQ,CAAC0B,IAAT,CAAcyF,QAAf,CAAT,CACGzG,OADH,CACW,UAAA0G,IAAI;EAAA,iBAAId,YAAY,CAACyB,GAAb,CAAiBX,IAAjB,EAAuB,WAAvB,EAAoC,IAApC,EAA0C9F,IAAI,EAA9C,CAAJ;EAAA,SADf;EAED;;EAEDsI,MAAAA,OAAO,CAACE,CAAD,CAAP,CAAWvC,YAAX,CAAwB,eAAxB,EAAyC,OAAzC;;EAEA,UAAIyC,OAAO,CAAC/E,OAAZ,EAAqB;EACnB+E,QAAAA,OAAO,CAAC/E,OAAR,CAAgB2C,OAAhB;EACD;;EAEDsC,MAAAA,YAAY,CAACrE,SAAb,CAAuBwE,MAAvB,CAA8BpH,SAAS,CAACN,IAAxC;EACAuD,MAAAA,MAAM,CAACL,SAAP,CAAiBwE,MAAjB,CAAwBpH,SAAS,CAACN,IAAlC;EACA2D,MAAAA,YAAY,CAACC,OAAb,CAAqBL,MAArB,EAA6B1D,KAAK,CAACE,MAAnC,EAA2C0D,aAA3C;EACD;EACF;;aAEMD,uBAAP,8BAA4BzG,OAA5B,EAAqC;EACnC,WAAOK,sBAAsB,CAACL,OAAD,CAAtB,IAAmCA,OAAO,CAACgJ,UAAlD;EACD;;aAEM4B,wBAAP,+BAA6BpC,KAA7B,EAAoC;EAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAI,kBAAkBlH,IAAlB,CAAuBkH,KAAK,CAACiC,MAAN,CAAaC,OAApC,IACFlC,KAAK,CAACwB,KAAN,KAAgBxH,aAAhB,IAAkCgG,KAAK,CAACwB,KAAN,KAAgBzH,cAAhB,KAChCiG,KAAK,CAACwB,KAAN,KAAgBrH,kBAAhB,IAAsC6F,KAAK,CAACwB,KAAN,KAAgBtH,gBAAvD,IACC4E,cAAc,CAACC,OAAf,CAAuBiB,KAAK,CAACiC,MAA7B,EAAqC3G,QAAQ,CAACG,IAA9C,CAFgC,CADhC,GAIF,CAACpB,cAAc,CAACvB,IAAf,CAAoBkH,KAAK,CAACwB,KAA1B,CAJH,EAIqC;EACnC;EACD;;EAEDxB,IAAAA,KAAK,CAACC,cAAN;EACAD,IAAAA,KAAK,CAACE,eAAN;;EAEA,QAAI,KAAKxC,QAAL,IAAiB,KAAKC,SAAL,CAAeC,QAAf,CAAwB7C,SAAS,CAACC,QAAlC,CAArB,EAAkE;EAChE;EACD;;EAED,QAAMgD,MAAM,GAAGnB,QAAQ,CAACoB,oBAAT,CAA8B,IAA9B,CAAf;EACA,QAAMJ,QAAQ,GAAGG,MAAM,CAACL,SAAP,CAAiBC,QAAjB,CAA0B7C,SAAS,CAACN,IAApC,CAAjB;;EAEA,QAAI,CAACoD,QAAD,IAAcA,QAAQ,KAAKmC,KAAK,CAACwB,KAAN,KAAgBzH,cAAhB,IAAkCiG,KAAK,CAACwB,KAAN,KAAgBxH,aAAvD,CAA1B,EAAkG;EAChG,UAAIgG,KAAK,CAACwB,KAAN,KAAgBzH,cAApB,EAAoC;EAClC+E,QAAAA,cAAc,CAACuB,OAAf,CAAuB/E,QAAQ,CAACC,WAAhC,EAA6CyC,MAA7C,EAAqDoB,KAArD;EACD;;EAEDvC,MAAAA,QAAQ,CAACiB,UAAT;EACA;EACD;;EAED,QAAMuE,KAAK,GAAGpJ,SAAS,CAAC6F,cAAc,CAAC6C,IAAf,CAAoBrG,QAAQ,CAACK,aAA7B,EAA4CqC,MAA5C,CAAD,CAAvB;;EAEA,QAAI,CAACqE,KAAK,CAACrD,MAAX,EAAmB;EACjB;EACD;;EAED,QAAIsD,KAAK,GAAGD,KAAK,CAACE,OAAN,CAAcvC,KAAK,CAACiC,MAApB,CAAZ;;EAEA,QAAIjC,KAAK,CAACwB,KAAN,KAAgBtH,gBAAhB,IAAoCoI,KAAK,GAAG,CAAhD,EAAmD;EAAE;EACnDA,MAAAA,KAAK;EACN;;EAED,QAAItC,KAAK,CAACwB,KAAN,KAAgBrH,kBAAhB,IAAsCmI,KAAK,GAAGD,KAAK,CAACrD,MAAN,GAAe,CAAjE,EAAoE;EAAE;EACpEsD,MAAAA,KAAK;EACN;;EAED,QAAIA,KAAK,GAAG,CAAZ,EAAe;EACbA,MAAAA,KAAK,GAAG,CAAR;EACD;;EAEDD,IAAAA,KAAK,CAACC,KAAD,CAAL,CAAalD,KAAb;EACD;;aAEMoD,cAAP,qBAAmBhL,OAAnB,EAA4B;EAC1B,WAAO+F,IAAI,CAAC8D,OAAL,CAAa7J,OAAb,EAAsBoC,QAAtB,CAAP;EACD;;;;0BAlYoB;EACnB,aAAOD,OAAP;EACD;;;0BAEoB;EACnB,aAAO0C,OAAP;EACD;;;0BAEwB;EACvB,aAAOO,WAAP;EACD;;;;;EA2XH;;;;;;;EAMAwB,YAAY,CAACe,EAAb,CAAgBrH,QAAhB,EAA0BwC,KAAK,CAACO,gBAAhC,EAAkDS,QAAQ,CAACC,WAA3D,EAAwEsB,QAAQ,CAACuF,qBAAjF;EACAhE,YAAY,CAACe,EAAb,CAAgBrH,QAAhB,EAA0BwC,KAAK,CAACO,gBAAhC,EAAkDS,QAAQ,CAACG,IAA3D,EAAiEoB,QAAQ,CAACuF,qBAA1E;EACAhE,YAAY,CAACe,EAAb,CAAgBrH,QAAhB,EAA0BwC,KAAK,CAACM,cAAhC,EAAgDiC,QAAQ,CAACiB,UAAzD;EACAM,YAAY,CAACe,EAAb,CAAgBrH,QAAhB,EAA0BwC,KAAK,CAACQ,cAAhC,EAAgD+B,QAAQ,CAACiB,UAAzD;EACAM,YAAY,CAACe,EAAb,CAAgBrH,QAAhB,EAA0BwC,KAAK,CAACM,cAAhC,EAAgDU,QAAQ,CAACC,WAAzD,EAAsE,UAAUyE,KAAV,EAAiB;EACrFA,EAAAA,KAAK,CAACC,cAAN;EACAD,EAAAA,KAAK,CAACE,eAAN;EACArD,EAAAA,QAAQ,CAACuE,iBAAT,CAA2B,IAA3B,EAAiC,QAAjC;EACD,CAJD;EAKAhD,YAAY,CACTe,EADH,CACMrH,QADN,EACgBwC,KAAK,CAACM,cADtB,EACsCU,QAAQ,CAACE,UAD/C,EAC2D,UAAAiH,CAAC;EAAA,SAAIA,CAAC,CAACvC,eAAF,EAAJ;EAAA,CAD5D;EAGA,IAAMwC,CAAC,GAAGrJ,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAIqJ,CAAJ,EAAO;EACL,MAAMC,kBAAkB,GAAGD,CAAC,CAAC9B,EAAF,CAAKlH,IAAL,CAA3B;EACAgJ,EAAAA,CAAC,CAAC9B,EAAF,CAAKlH,IAAL,IAAamD,QAAQ,CAACyE,eAAtB;EACAoB,EAAAA,CAAC,CAAC9B,EAAF,CAAKlH,IAAL,EAAWkJ,WAAX,GAAyB/F,QAAzB;;EACA6F,EAAAA,CAAC,CAAC9B,EAAF,CAAKlH,IAAL,EAAWmJ,UAAX,GAAwB,YAAM;EAC5BH,IAAAA,CAAC,CAAC9B,EAAF,CAAKlH,IAAL,IAAaiJ,kBAAb;EACA,WAAO9F,QAAQ,CAACyE,eAAhB;EACD,GAHD;EAID;;;;;;;;"}
\ No newline at end of file diff --git a/js/dist/modal.js b/js/dist/modal.js index 2cca3c5b01..dd268e8f80 100644 --- a/js/dist/modal.js +++ b/js/dist/modal.js @@ -4,8 +4,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/data.js'), require('../dom/event-handler.js'), require('../dom/manipulator.js'), require('../dom/selector-engine.js')) : - typeof define === 'function' && define.amd ? define(['../dom/data.js', '../dom/event-handler.js', '../dom/manipulator.js', '../dom/selector-engine.js'], factory) : + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) : + typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', './dom/selector-engine.js'], factory) : (global = global || self, global.Modal = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine)); }(this, function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict'; @@ -259,13 +259,12 @@ DATA_DISMISS: '[data-dismiss="modal"]', FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', STICKY_CONTENT: '.sticky-top' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ var Modal = /*#__PURE__*/ diff --git a/js/dist/modal.js.map b/js/dist/modal.js.map index 8b60d88840..dd89f2a342 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/modal.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\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 FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.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,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\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(ClassName.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(ClassName.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, TRANSITION_END, 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 /**\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 Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = 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(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n 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\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.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, TRANSITION_END, 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 && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\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._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.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(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.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._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\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) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\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 = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.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 } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","CLICK_DATA_API","ClassName","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","FADE","Selector","DIALOG","MODAL_BODY","DATA_TOGGLE","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_config","_getConfig","_element","_dialog","SelectorEngine","findOne","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_scrollbarWidth","Data","setData","toggle","relatedTarget","hide","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","removeData","handleUpdate","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","setAttribute","scrollTop","add","_enforceFocus","transitionComplete","which","_resetAdjustments","_resetScrollbar","_removeBackdrop","removeChild","callback","animate","createElement","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","rect","getBoundingClientRect","left","right","innerWidth","_getScrollbarWidth","find","actualPadding","calculatedPadding","Manipulator","setDataAttribute","actualMargin","marginRight","calculatedMargin","padding","getDataAttribute","removeDataAttribute","margin","scrollDiv","scrollbarWidth","width","clientWidth","jQueryInterface","each","data","getData","getDataAttributes","TypeError","getInstance","tagName","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"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 (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\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 FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\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 Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.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,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\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(ClassName.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(ClassName.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, TRANSITION_END, 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 /**\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 Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = 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(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n 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\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.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, TRANSITION_END, 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 && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\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._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.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(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.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._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\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) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\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 = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.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 } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","CLICK_DATA_API","ClassName","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","FADE","Selector","DIALOG","MODAL_BODY","DATA_TOGGLE","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_config","_getConfig","_element","_dialog","SelectorEngine","findOne","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_scrollbarWidth","Data","setData","toggle","relatedTarget","hide","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","removeData","handleUpdate","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","setAttribute","scrollTop","add","_enforceFocus","transitionComplete","which","_resetAdjustments","_resetScrollbar","_removeBackdrop","removeChild","callback","animate","createElement","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","rect","getBoundingClientRect","left","right","innerWidth","_getScrollbarWidth","find","actualPadding","calculatedPadding","Manipulator","setDataAttribute","actualMargin","marginRight","calculatedMargin","padding","getDataAttribute","removeDataAttribute","margin","scrollDiv","scrollbarWidth","width","clientWidth","jQueryInterface","each","data","getData","getDataAttributes","TypeError","getInstance","tagName","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/popover.js b/js/dist/popover.js index a77fc88459..a01ca0585f 100644 --- a/js/dist/popover.js +++ b/js/dist/popover.js @@ -4,8 +4,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/data.js'), require('../dom/selector-engine.js'), require('../tooltip/tooltip.js')) : - typeof define === 'function' && define.amd ? define(['../dom/data.js', '../dom/selector-engine.js', '../tooltip/tooltip.js'], factory) : + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/selector-engine.js'), require('./tooltip.js')) : + typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/selector-engine.js', './tooltip.js'], factory) : (global = global || self, global.Popover = factory(global.Data, global.SelectorEngine, global.Tooltip)); }(this, function (Data, SelectorEngine, Tooltip) { 'use strict'; @@ -145,13 +145,12 @@ FOCUSOUT: "focusout" + EVENT_KEY, MOUSEENTER: "mouseenter" + EVENT_KEY, MOUSELEAVE: "mouseleave" + EVENT_KEY - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ var Popover = /*#__PURE__*/ diff --git a/js/dist/popover.js.map b/js/dist/popover.js.map index 6319746e47..3126b11d88 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/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport SelectorEngine from '../dom/selector-engine'\nimport Tooltip from '../tooltip/tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\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 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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\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(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n"],"names":["getjQuery","window","jQuery","document","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","Default","Tooltip","placement","trigger","content","template","DefaultType","ClassName","FADE","SHOW","Selector","TITLE","CONTENT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Popover","isWithContent","getTitle","_getContent","setContent","tip","getTipElement","setElementContent","SelectorEngine","findOne","call","element","classList","remove","_addAttachmentClass","attachment","add","getAttribute","config","_cleanTipClass","tabClass","match","length","map","token","trim","forEach","tClass","jQueryInterface","each","data","Data","getData","_config","test","setData","TypeError","getInstance","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"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 (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } 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 VERSION = '4.3.1'\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 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></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\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(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n"],"names":["getjQuery","window","jQuery","document","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","Default","Tooltip","placement","trigger","content","template","DefaultType","ClassName","FADE","SHOW","Selector","TITLE","CONTENT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Popover","isWithContent","getTitle","_getContent","setContent","tip","getTipElement","setElementContent","SelectorEngine","findOne","call","element","classList","remove","_addAttachmentClass","attachment","add","getAttribute","config","_cleanTipClass","tabClass","match","length","map","token","trim","forEach","tClass","jQueryInterface","each","data","Data","getData","_config","test","setData","TypeError","getInstance","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/scrollspy.js b/js/dist/scrollspy.js index 50fb605e85..bc11a1f410 100644 --- a/js/dist/scrollspy.js +++ b/js/dist/scrollspy.js @@ -4,8 +4,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/data.js'), require('../dom/event-handler.js'), require('../dom/manipulator.js'), require('../dom/selector-engine.js')) : - typeof define === 'function' && define.amd ? define(['../dom/data.js', '../dom/event-handler.js', '../dom/manipulator.js', '../dom/selector-engine.js'], factory) : + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) : + typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', './dom/selector-engine.js'], factory) : (global = global || self, global.ScrollSpy = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine)); }(this, function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict'; @@ -99,7 +99,6 @@ var getUID = function getUID(prefix) { do { - // eslint-disable-next-line no-bitwise prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here } while (document.getElementById(prefix)); @@ -204,13 +203,12 @@ var OffsetMethod = { OFFSET: 'offset', POSITION: 'position' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ var ScrollSpy = /*#__PURE__*/ diff --git a/js/dist/scrollspy.js.map b/js/dist/scrollspy.js.map index 813b371cc5..f972121de8 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/scrollspy.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\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 = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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 Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\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') {\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 +\n scrollHeight -\n 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 const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n 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-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .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(ClassName.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(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n"],"names":["MAX_UID","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","getjQuery","window","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","offset","method","target","DefaultType","Event","ACTIVATE","SCROLL","LOAD_DATA_API","ClassName","DROPDOWN_ITEM","ACTIVE","Selector","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_element","_scrollElement","tagName","_config","_getConfig","_selector","_offsets","_targets","_activeTarget","_scrollHeight","EventHandler","on","event","_process","refresh","Data","setData","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","SelectorEngine","find","map","targetSelector","findOne","targetBCR","getBoundingClientRect","width","height","Manipulator","top","filter","item","sort","a","b","push","dispose","removeData","off","id","pageYOffset","scrollTop","scrollHeight","max","documentElement","_getOffsetHeight","innerHeight","maxScroll","length","_activate","_clear","offsetLength","i","isActiveTarget","queries","split","link","join","classList","contains","closest","add","parents","listGroup","prev","navItem","children","trigger","relatedTarget","node","remove","jQueryInterface","each","data","getData","TypeError","getInstance","spy","getDataAttributes","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"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 (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\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 = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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 Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\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') {\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 +\n scrollHeight -\n 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 const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n 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-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .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(ClassName.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(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n"],"names":["MAX_UID","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","getjQuery","window","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","offset","method","target","DefaultType","Event","ACTIVATE","SCROLL","LOAD_DATA_API","ClassName","DROPDOWN_ITEM","ACTIVE","Selector","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_element","_scrollElement","tagName","_config","_getConfig","_selector","_offsets","_targets","_activeTarget","_scrollHeight","EventHandler","on","event","_process","refresh","Data","setData","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","SelectorEngine","find","map","targetSelector","findOne","targetBCR","getBoundingClientRect","width","height","Manipulator","top","filter","item","sort","a","b","push","dispose","removeData","off","id","pageYOffset","scrollTop","scrollHeight","max","documentElement","_getOffsetHeight","innerHeight","maxScroll","length","_activate","_clear","offsetLength","i","isActiveTarget","queries","split","link","join","classList","contains","closest","add","parents","listGroup","prev","navItem","children","trigger","relatedTarget","node","remove","jQueryInterface","each","data","getData","TypeError","getInstance","spy","getDataAttributes","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/tab.js b/js/dist/tab.js index 1919fc861b..a4e3fdb8f4 100644 --- a/js/dist/tab.js +++ b/js/dist/tab.js @@ -4,8 +4,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/data.js'), require('../dom/event-handler.js'), require('../dom/selector-engine.js')) : - typeof define === 'function' && define.amd ? define(['../dom/data.js', '../dom/event-handler.js', '../dom/selector-engine.js'], factory) : + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js')) : + typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/selector-engine.js'], factory) : (global = global || self, global.Tab = factory(global.Data, global.EventHandler, global.SelectorEngine)); }(this, function (Data, EventHandler, SelectorEngine) { 'use strict'; @@ -157,13 +157,12 @@ DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', DROPDOWN_TOGGLE: '.dropdown-toggle', DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ var Tab = /*#__PURE__*/ diff --git a/js/dist/tab.js.map b/js/dist/tab.js.map index 9e8450d085..06f75f762f 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/tab.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\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 &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","getSelector","element","selector","getAttribute","hrefAttr","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","makeArray","nodeList","slice","call","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK_DATA_API","ClassName","DROPDOWN_MENU","ACTIVE","DISABLED","FADE","Selector","DROPDOWN","NAV_LIST_GROUP","ACTIVE_UL","DATA_TOGGLE","DROPDOWN_TOGGLE","DROPDOWN_ACTIVE_CHILD","Tab","_element","Data","setData","show","parentNode","nodeType","Node","ELEMENT_NODE","classList","contains","previous","target","listElement","SelectorEngine","closest","itemSelector","nodeName","find","length","hideEvent","EventHandler","trigger","relatedTarget","showEvent","defaultPrevented","_activate","complete","dispose","removeData","container","callback","activeElements","children","active","isTransitioning","_transitionComplete","remove","one","dropdownChild","findOne","setAttribute","add","dropdownElement","forEach","dropdown","jQueryInterface","config","each","data","getData","TypeError","getInstance","on","event","preventDefault","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"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 (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\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(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\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 dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\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 &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\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\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","getSelector","element","selector","getAttribute","hrefAttr","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","makeArray","nodeList","slice","call","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK_DATA_API","ClassName","DROPDOWN_MENU","ACTIVE","DISABLED","FADE","Selector","DROPDOWN","NAV_LIST_GROUP","ACTIVE_UL","DATA_TOGGLE","DROPDOWN_TOGGLE","DROPDOWN_ACTIVE_CHILD","Tab","_element","Data","setData","show","parentNode","nodeType","Node","ELEMENT_NODE","classList","contains","previous","target","listElement","SelectorEngine","closest","itemSelector","nodeName","find","length","hideEvent","EventHandler","trigger","relatedTarget","showEvent","defaultPrevented","_activate","complete","dispose","removeData","container","callback","activeElements","children","active","isTransitioning","_transitionComplete","remove","one","dropdownChild","findOne","setAttribute","add","dropdownElement","forEach","dropdown","jQueryInterface","config","each","data","getData","TypeError","getInstance","on","event","preventDefault","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;;;;;AAOA,EACA,IAAMA,uBAAuB,GAAG,IAAhC;EACA,IAAMC,cAAc,GAAG,eAAvB;;EAmBA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAAAC,OAAO,EAAI;EAC7B,MAAIC,QAAQ,GAAGD,OAAO,CAACE,YAAR,CAAqB,aAArB,CAAf;;EAEA,MAAI,CAACD,QAAD,IAAaA,QAAQ,KAAK,GAA9B,EAAmC;EACjC,QAAME,QAAQ,GAAGH,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAjB;EAEAD,IAAAA,QAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAAK,GAAzB,GAA+BA,QAAQ,CAACC,IAAT,EAA/B,GAAiD,IAA5D;EACD;;EAED,SAAOH,QAAP;EACD,CAVD;;EAsBA,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAL,OAAO,EAAI;EACxC,MAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;EAEA,SAAOC,QAAQ,GAAGK,QAAQ,CAACC,aAAT,CAAuBN,QAAvB,CAAH,GAAsC,IAArD;EACD,CAJD;;EAMA,IAAMO,gCAAgC,GAAG,SAAnCA,gCAAmC,CAAAR,OAAO,EAAI;EAClD,MAAI,CAACA,OAAL,EAAc;EACZ,WAAO,CAAP;EACD,GAHiD;;;EAAA,8BAS9CS,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,CAT8C;EAAA,MAOhDW,kBAPgD,yBAOhDA,kBAPgD;EAAA,MAQhDC,eARgD,yBAQhDA,eARgD;;EAWlD,MAAMC,uBAAuB,GAAGC,UAAU,CAACH,kBAAD,CAA1C;EACA,MAAMI,oBAAoB,GAAGD,UAAU,CAACF,eAAD,CAAvC,CAZkD;;EAelD,MAAI,CAACC,uBAAD,IAA4B,CAACE,oBAAjC,EAAuD;EACrD,WAAO,CAAP;EACD,GAjBiD;;;EAoBlDJ,EAAAA,kBAAkB,GAAGA,kBAAkB,CAACK,KAAnB,CAAyB,GAAzB,EAA8B,CAA9B,CAArB;EACAJ,EAAAA,eAAe,GAAGA,eAAe,CAACI,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,CAAlB;EAEA,SAAO,CAACF,UAAU,CAACH,kBAAD,CAAV,GAAiCG,UAAU,CAACF,eAAD,CAA5C,IAAiEf,uBAAxE;EACD,CAxBD;;EA0BA,IAAMoB,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAAjB,OAAO,EAAI;EACtC,MAAMkB,GAAG,GAAGZ,QAAQ,CAACa,WAAT,CAAqB,YAArB,CAAZ;EAEAD,EAAAA,GAAG,CAACE,SAAJ,CAActB,cAAd,EAA8B,IAA9B,EAAoC,IAApC;EACAE,EAAAA,OAAO,CAACqB,aAAR,CAAsBH,GAAtB;EACD,CALD;;EASA,IAAMI,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACtB,OAAD,EAAUuB,QAAV,EAAuB;EAClD,MAAIC,MAAM,GAAG,KAAb;EACA,MAAMC,eAAe,GAAG,CAAxB;EACA,MAAMC,gBAAgB,GAAGH,QAAQ,GAAGE,eAApC;;EACA,WAASE,QAAT,GAAoB;EAClBH,IAAAA,MAAM,GAAG,IAAT;EACAxB,IAAAA,OAAO,CAAC4B,mBAAR,CAA4B9B,cAA5B,EAA4C6B,QAA5C;EACD;;EAED3B,EAAAA,OAAO,CAAC6B,gBAAR,CAAyB/B,cAAzB,EAAyC6B,QAAzC;EACAG,EAAAA,UAAU,CAAC,YAAM;EACf,QAAI,CAACN,MAAL,EAAa;EACXP,MAAAA,oBAAoB,CAACjB,OAAD,CAApB;EACD;EACF,GAJS,EAIP0B,gBAJO,CAAV;EAKD,CAfD;;EAmCA,IAAMK,SAAS,GAAG,SAAZA,SAAY,CAAAC,QAAQ,EAAI;EAC5B,MAAI,CAACA,QAAL,EAAe;EACb,WAAO,EAAP;EACD;;EAED,SAAO,GAAGC,KAAH,CAASC,IAAT,CAAcF,QAAd,CAAP;EACD,CAND;;EA+CA,IAAMG,MAAM,GAAG,SAATA,MAAS,CAAAnC,OAAO;EAAA,SAAIA,OAAO,CAACoC,YAAZ;EAAA,CAAtB;;EAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;EAAA,gBACH5B,MADG;EAAA,MACd6B,MADc,WACdA,MADc;;EAGtB,MAAIA,MAAM,IAAI,CAAChC,QAAQ,CAACiC,IAAT,CAAcC,YAAd,CAA2B,gBAA3B,CAAf,EAA6D;EAC3D,WAAOF,MAAP;EACD;;EAED,SAAO,IAAP;EACD,CARD;;EC3JA;;;;;;EAMA,IAAMG,IAAI,GAAG,KAAb;EACA,IAAMC,OAAO,GAAG,OAAhB;EACA,IAAMC,QAAQ,GAAG,QAAjB;EACA,IAAMC,SAAS,SAAOD,QAAtB;EACA,IAAME,YAAY,GAAG,WAArB;EAEA,IAAMC,KAAK,GAAG;EACZC,EAAAA,IAAI,WAASH,SADD;EAEZI,EAAAA,MAAM,aAAWJ,SAFL;EAGZK,EAAAA,IAAI,WAASL,SAHD;EAIZM,EAAAA,KAAK,YAAUN,SAJH;EAKZO,EAAAA,cAAc,YAAUP,SAAV,GAAsBC;EALxB,CAAd;EAQA,IAAMO,SAAS,GAAG;EAChBC,EAAAA,aAAa,EAAE,eADC;EAEhBC,EAAAA,MAAM,EAAE,QAFQ;EAGhBC,EAAAA,QAAQ,EAAE,UAHM;EAIhBC,EAAAA,IAAI,EAAE,MAJU;EAKhBP,EAAAA,IAAI,EAAE;EALU,CAAlB;EAQA,IAAMQ,QAAQ,GAAG;EACfC,EAAAA,QAAQ,EAAE,WADK;EAEfC,EAAAA,cAAc,EAAE,mBAFD;EAGfL,EAAAA,MAAM,EAAE,SAHO;EAIfM,EAAAA,SAAS,EAAE,uBAJI;EAKfC,EAAAA,WAAW,EAAE,iEALE;EAMfC,EAAAA,eAAe,EAAE,kBANF;EAOfC,EAAAA,qBAAqB,EAAE;EAPR,CAAjB;EAUA;;;;;;MAMMC;;;EACJ,eAAYhE,OAAZ,EAAqB;EACnB,SAAKiE,QAAL,GAAgBjE,OAAhB;EAEAkE,IAAAA,IAAI,CAACC,OAAL,CAAa,KAAKF,QAAlB,EAA4BtB,QAA5B,EAAsC,IAAtC;EACD;;;;;EAQD;WAEAyB,OAAA,gBAAO;EAAA;;EACL,QAAK,KAAKH,QAAL,CAAcI,UAAd,IACH,KAAKJ,QAAL,CAAcI,UAAd,CAAyBC,QAAzB,KAAsCC,IAAI,CAACC,YADxC,IAEH,KAAKP,QAAL,CAAcQ,SAAd,CAAwBC,QAAxB,CAAiCtB,SAAS,CAACE,MAA3C,CAFE,IAGF,KAAKW,QAAL,CAAcQ,SAAd,CAAwBC,QAAxB,CAAiCtB,SAAS,CAACG,QAA3C,CAHF,EAGwD;EACtD;EACD;;EAED,QAAIoB,QAAJ;EACA,QAAMC,MAAM,GAAGvE,sBAAsB,CAAC,KAAK4D,QAAN,CAArC;EACA,QAAMY,WAAW,GAAGC,cAAc,CAACC,OAAf,CAAuB,KAAKd,QAA5B,EAAsCR,QAAQ,CAACE,cAA/C,CAApB;;EAEA,QAAIkB,WAAJ,EAAiB;EACf,UAAMG,YAAY,GAAGH,WAAW,CAACI,QAAZ,KAAyB,IAAzB,IAAiCJ,WAAW,CAACI,QAAZ,KAAyB,IAA1D,GAAiExB,QAAQ,CAACG,SAA1E,GAAsFH,QAAQ,CAACH,MAApH;EACAqB,MAAAA,QAAQ,GAAG5C,SAAS,CAAC+C,cAAc,CAACI,IAAf,CAAoBF,YAApB,EAAkCH,WAAlC,CAAD,CAApB;EACAF,MAAAA,QAAQ,GAAGA,QAAQ,CAACA,QAAQ,CAACQ,MAAT,GAAkB,CAAnB,CAAnB;EACD;;EAED,QAAIC,SAAS,GAAG,IAAhB;;EAEA,QAAIT,QAAJ,EAAc;EACZS,MAAAA,SAAS,GAAGC,YAAY,CAACC,OAAb,CAAqBX,QAArB,EAA+B7B,KAAK,CAACC,IAArC,EAA2C;EACrDwC,QAAAA,aAAa,EAAE,KAAKtB;EADiC,OAA3C,CAAZ;EAGD;;EAED,QAAMuB,SAAS,GAAGH,YAAY,CAACC,OAAb,CAAqB,KAAKrB,QAA1B,EAAoCnB,KAAK,CAACG,IAA1C,EAAgD;EAChEsC,MAAAA,aAAa,EAAEZ;EADiD,KAAhD,CAAlB;;EAIA,QAAIa,SAAS,CAACC,gBAAV,IACDL,SAAS,KAAK,IAAd,IAAsBA,SAAS,CAACK,gBADnC,EACsD;EACpD;EACD;;EAED,SAAKC,SAAL,CACE,KAAKzB,QADP,EAEEY,WAFF;;EAKA,QAAMc,QAAQ,GAAG,SAAXA,QAAW,GAAM;EACrBN,MAAAA,YAAY,CAACC,OAAb,CAAqBX,QAArB,EAA+B7B,KAAK,CAACE,MAArC,EAA6C;EAC3CuC,QAAAA,aAAa,EAAE,KAAI,CAACtB;EADuB,OAA7C;EAGAoB,MAAAA,YAAY,CAACC,OAAb,CAAqB,KAAI,CAACrB,QAA1B,EAAoCnB,KAAK,CAACI,KAA1C,EAAiD;EAC/CqC,QAAAA,aAAa,EAAEZ;EADgC,OAAjD;EAGD,KAPD;;EASA,QAAIC,MAAJ,EAAY;EACV,WAAKc,SAAL,CAAed,MAAf,EAAuBA,MAAM,CAACP,UAA9B,EAA0CsB,QAA1C;EACD,KAFD,MAEO;EACLA,MAAAA,QAAQ;EACT;EACF;;WAEDC,UAAA,mBAAU;EACR1B,IAAAA,IAAI,CAAC2B,UAAL,CAAgB,KAAK5B,QAArB,EAA+BtB,QAA/B;EACA,SAAKsB,QAAL,GAAgB,IAAhB;EACD;;;WAIDyB,YAAA,mBAAU1F,OAAV,EAAmB8F,SAAnB,EAA8BC,QAA9B,EAAwC;EAAA;;EACtC,QAAMC,cAAc,GAAGF,SAAS,KAAKA,SAAS,CAACb,QAAV,KAAuB,IAAvB,IAA+Ba,SAAS,CAACb,QAAV,KAAuB,IAA3D,CAAT,GACrBH,cAAc,CAACI,IAAf,CAAoBzB,QAAQ,CAACG,SAA7B,EAAwCkC,SAAxC,CADqB,GAErBhB,cAAc,CAACmB,QAAf,CAAwBH,SAAxB,EAAmCrC,QAAQ,CAACH,MAA5C,CAFF;EAIA,QAAM4C,MAAM,GAAGF,cAAc,CAAC,CAAD,CAA7B;EACA,QAAMG,eAAe,GAAGJ,QAAQ,IAC7BG,MAAM,IAAIA,MAAM,CAACzB,SAAP,CAAiBC,QAAjB,CAA0BtB,SAAS,CAACI,IAApC,CADb;;EAGA,QAAMmC,QAAQ,GAAG,SAAXA,QAAW;EAAA,aAAM,MAAI,CAACS,mBAAL,CACrBpG,OADqB,EAErBkG,MAFqB,EAGrBH,QAHqB,CAAN;EAAA,KAAjB;;EAMA,QAAIG,MAAM,IAAIC,eAAd,EAA+B;EAC7B,UAAMxF,kBAAkB,GAAGH,gCAAgC,CAAC0F,MAAD,CAA3D;EACAA,MAAAA,MAAM,CAACzB,SAAP,CAAiB4B,MAAjB,CAAwBjD,SAAS,CAACH,IAAlC;EAEAoC,MAAAA,YAAY,CAACiB,GAAb,CAAiBJ,MAAjB,EAAyBpG,cAAzB,EAAyC6F,QAAzC;EACArE,MAAAA,oBAAoB,CAAC4E,MAAD,EAASvF,kBAAT,CAApB;EACD,KAND,MAMO;EACLgF,MAAAA,QAAQ;EACT;EACF;;WAEDS,sBAAA,6BAAoBpG,OAApB,EAA6BkG,MAA7B,EAAqCH,QAArC,EAA+C;EAC7C,QAAIG,MAAJ,EAAY;EACVA,MAAAA,MAAM,CAACzB,SAAP,CAAiB4B,MAAjB,CAAwBjD,SAAS,CAACE,MAAlC;EAEA,UAAMiD,aAAa,GAAGzB,cAAc,CAAC0B,OAAf,CAAuB/C,QAAQ,CAACM,qBAAhC,EAAuDmC,MAAM,CAAC7B,UAA9D,CAAtB;;EAEA,UAAIkC,aAAJ,EAAmB;EACjBA,QAAAA,aAAa,CAAC9B,SAAd,CAAwB4B,MAAxB,CAA+BjD,SAAS,CAACE,MAAzC;EACD;;EAED,UAAI4C,MAAM,CAAChG,YAAP,CAAoB,MAApB,MAAgC,KAApC,EAA2C;EACzCgG,QAAAA,MAAM,CAACO,YAAP,CAAoB,eAApB,EAAqC,KAArC;EACD;EACF;;EAEDzG,IAAAA,OAAO,CAACyE,SAAR,CAAkBiC,GAAlB,CAAsBtD,SAAS,CAACE,MAAhC;;EACA,QAAItD,OAAO,CAACE,YAAR,CAAqB,MAArB,MAAiC,KAArC,EAA4C;EAC1CF,MAAAA,OAAO,CAACyG,YAAR,CAAqB,eAArB,EAAsC,IAAtC;EACD;;EAEDtE,IAAAA,MAAM,CAACnC,OAAD,CAAN;;EAEA,QAAIA,OAAO,CAACyE,SAAR,CAAkBC,QAAlB,CAA2BtB,SAAS,CAACI,IAArC,CAAJ,EAAgD;EAC9CxD,MAAAA,OAAO,CAACyE,SAAR,CAAkBiC,GAAlB,CAAsBtD,SAAS,CAACH,IAAhC;EACD;;EAED,QAAIjD,OAAO,CAACqE,UAAR,IAAsBrE,OAAO,CAACqE,UAAR,CAAmBI,SAAnB,CAA6BC,QAA7B,CAAsCtB,SAAS,CAACC,aAAhD,CAA1B,EAA0F;EACxF,UAAMsD,eAAe,GAAG7B,cAAc,CAACC,OAAf,CAAuB/E,OAAvB,EAAgCyD,QAAQ,CAACC,QAAzC,CAAxB;;EAEA,UAAIiD,eAAJ,EAAqB;EACnB5E,QAAAA,SAAS,CAAC+C,cAAc,CAACI,IAAf,CAAoBzB,QAAQ,CAACK,eAA7B,CAAD,CAAT,CACG8C,OADH,CACW,UAAAC,QAAQ;EAAA,iBAAIA,QAAQ,CAACpC,SAAT,CAAmBiC,GAAnB,CAAuBtD,SAAS,CAACE,MAAjC,CAAJ;EAAA,SADnB;EAED;;EAEDtD,MAAAA,OAAO,CAACyG,YAAR,CAAqB,eAArB,EAAsC,IAAtC;EACD;;EAED,QAAIV,QAAJ,EAAc;EACZA,MAAAA,QAAQ;EACT;EACF;;;QAIMe,kBAAP,yBAAuBC,MAAvB,EAA+B;EAC7B,WAAO,KAAKC,IAAL,CAAU,YAAY;EAC3B,UAAMC,IAAI,GAAG/C,IAAI,CAACgD,OAAL,CAAa,IAAb,EAAmBvE,QAAnB,KAAgC,IAAIqB,GAAJ,CAAQ,IAAR,CAA7C;;EAEA,UAAI,OAAO+C,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,YAAI,OAAOE,IAAI,CAACF,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,gBAAM,IAAII,SAAJ,wBAAkCJ,MAAlC,QAAN;EACD;;EAEDE,QAAAA,IAAI,CAACF,MAAD,CAAJ;EACD;EACF,KAVM,CAAP;EAWD;;QAEMK,cAAP,qBAAmBpH,OAAnB,EAA4B;EAC1B,WAAOkE,IAAI,CAACgD,OAAL,CAAalH,OAAb,EAAsB2C,QAAtB,CAAP;EACD;;;;0BA3JoB;EACnB,aAAOD,OAAP;EACD;;;;;EA4JH;;;;;;;EAMA2C,YAAY,CAACgC,EAAb,CAAgB/G,QAAhB,EAA0BwC,KAAK,CAACK,cAAhC,EAAgDM,QAAQ,CAACI,WAAzD,EAAsE,UAAUyD,KAAV,EAAiB;EACrFA,EAAAA,KAAK,CAACC,cAAN;EAEA,MAAMN,IAAI,GAAG/C,IAAI,CAACgD,OAAL,CAAa,IAAb,EAAmBvE,QAAnB,KAAgC,IAAIqB,GAAJ,CAAQ,IAAR,CAA7C;EACAiD,EAAAA,IAAI,CAAC7C,IAAL;EACD,CALD;EAOA,IAAMoD,CAAC,GAAGnF,SAAS,EAAnB;EAEA;;;;;;;EAMA;;EACA,IAAImF,CAAJ,EAAO;EACL,MAAMC,kBAAkB,GAAGD,CAAC,CAACE,EAAF,CAAKjF,IAAL,CAA3B;EACA+E,EAAAA,CAAC,CAACE,EAAF,CAAKjF,IAAL,IAAauB,GAAG,CAAC8C,eAAjB;EACAU,EAAAA,CAAC,CAACE,EAAF,CAAKjF,IAAL,EAAWkF,WAAX,GAAyB3D,GAAzB;;EACAwD,EAAAA,CAAC,CAACE,EAAF,CAAKjF,IAAL,EAAWmF,UAAX,GAAwB,YAAM;EAC5BJ,IAAAA,CAAC,CAACE,EAAF,CAAKjF,IAAL,IAAagF,kBAAb;EACA,WAAOzD,GAAG,CAAC8C,eAAX;EACD,GAHD;EAID;;;;;;;;"}
\ No newline at end of file diff --git a/js/dist/toast.js b/js/dist/toast.js index 85ac129891..711ef6c7f6 100644 --- a/js/dist/toast.js +++ b/js/dist/toast.js @@ -4,8 +4,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/data.js'), require('../dom/event-handler.js'), require('../dom/manipulator.js')) : - typeof define === 'function' && define.amd ? define(['../dom/data.js', '../dom/event-handler.js', '../dom/manipulator.js'], factory) : + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js')) : + typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js'], factory) : (global = global || self, global.Toast = factory(global.Data, global.EventHandler, global.Manipulator)); }(this, function (Data, EventHandler, Manipulator) { 'use strict'; @@ -204,13 +204,12 @@ }; var Selector = { DATA_DISMISS: '[data-dismiss="toast"]' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ var Toast = /*#__PURE__*/ diff --git a/js/dist/toast.js.map b/js/dist/toast.js.map index 2ebe23a3de..416e562162 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/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\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 if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.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(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.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(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\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\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getTransitionDurationFromElement","element","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","document","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","Event","CLICK_DISMISS","HIDE","HIDDEN","SHOW","SHOWN","ClassName","FADE","SHOWING","DefaultType","animation","autohide","delay","Default","Selector","DATA_DISMISS","Toast","_element","_config","_getConfig","_timeout","_setListeners","Data","setData","show","showEvent","EventHandler","trigger","defaultPrevented","classList","add","complete","remove","hide","one","contains","hideEvent","dispose","clearTimeout","off","removeData","Manipulator","getDataAttributes","constructor","on","jQueryInterface","each","data","getData","TypeError","getInstance","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"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 (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\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'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\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 if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.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(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.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(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\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\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getTransitionDurationFromElement","element","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","document","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","Event","CLICK_DISMISS","HIDE","HIDDEN","SHOW","SHOWN","ClassName","FADE","SHOWING","DefaultType","animation","autohide","delay","Default","Selector","DATA_DISMISS","Toast","_element","_config","_getConfig","_timeout","_setListeners","Data","setData","show","showEvent","EventHandler","trigger","defaultPrevented","classList","add","complete","remove","hide","one","contains","hideEvent","dispose","clearTimeout","off","removeData","Manipulator","getDataAttributes","constructor","on","jQueryInterface","each","data","getData","TypeError","getInstance","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"mappings":"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"}
\ No newline at end of file diff --git a/js/dist/tooltip.js b/js/dist/tooltip.js index 6fdd44a028..9ec606cba6 100644 --- a/js/dist/tooltip.js +++ b/js/dist/tooltip.js @@ -4,8 +4,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/data.js'), require('../dom/event-handler.js'), require('../dom/manipulator.js'), require('popper.js'), require('../dom/selector-engine.js')) : - typeof define === 'function' && define.amd ? define(['../dom/data.js', '../dom/event-handler.js', '../dom/manipulator.js', 'popper.js', '../dom/selector-engine.js'], factory) : + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('popper.js'), require('./dom/selector-engine.js')) : + typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', 'popper.js', './dom/selector-engine.js'], factory) : (global = global || self, global.Tooltip = factory(global.Data, global.EventHandler, global.Manipulator, global.Popper, global.SelectorEngine)); }(this, function (Data, EventHandler, Manipulator, Popper, SelectorEngine) { 'use strict'; @@ -102,7 +102,6 @@ var getUID = function getUID(prefix) { do { - // eslint-disable-next-line no-bitwise prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here } while (document.getElementById(prefix)); @@ -201,8 +200,7 @@ } return findShadowRoot(element.parentNode); - }; // eslint-disable-next-line no-empty-function - + }; var noop = function noop() { return function () {}; @@ -424,13 +422,12 @@ FOCUS: 'focus', CLICK: 'click', MANUAL: 'manual' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ var Tooltip = /*#__PURE__*/ diff --git a/js/dist/tooltip.js.map b/js/dist/tooltip.js.map index c446a6a311..f1d64964f5 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/tooltip.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\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,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\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, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\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', '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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from '../util/sanitizer'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\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 = ['sanitize', 'whiteList', '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: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: '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></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\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 ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\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.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\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 dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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(ClassName.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 Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\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.element = null\n this.config = null\n this.tip = null\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 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(ClassName.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 = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.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 this._popper.destroy()\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(ClassName.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 makeArray(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(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, 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.scheduleUpdate()\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(ClassName.FADE)\n tip.classList.remove(ClassName.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.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-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 // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _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,\n this.constructor.Event.CLICK,\n this.config.selector,\n 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,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\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 titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(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(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.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 === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(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(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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 = HoverState.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 === HoverState.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)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getTransitionDurationFromElement","element","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","noop","getjQuery","jQuery","body","hasAttribute","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","indexOf","Boolean","nodeValue","regExp","filter","attrRegex","i","l","length","DefaultWhitelist","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","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","querySelectorAll","len","el","elName","removeChild","attributeList","attributes","whitelistedAttributes","concat","removeAttribute","innerHTML","NAME","VERSION","DATA_KEY","EVENT_KEY","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","DefaultType","animation","template","title","trigger","delay","html","selector","placement","offset","container","fallbackPlacement","boundary","sanitize","popperConfig","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","HoverState","SHOW","OUT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","ClassName","FADE","Selector","TOOLTIP_INNER","Trigger","HOVER","FOCUS","MANUAL","Tooltip","Popper","TypeError","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","_getConfig","tip","_setListeners","Data","setData","constructor","enable","disable","toggleEnabled","toggle","event","dataKey","context","getData","delegateTarget","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","classList","contains","dispose","clearTimeout","removeData","EventHandler","off","SelectorEngine","closest","_hideModalHandler","destroy","show","style","display","isWithContent","showEvent","shadowRoot","isInTheDom","ownerDocument","defaultPrevented","tipId","setAttribute","setContent","add","attachment","_getAttachment","_addAttachmentClass","_getContainer","appendChild","_getPopperConfig","children","on","complete","_fixTransition","prevHoverState","one","hide","_cleanTipClass","hideEvent","remove","update","scheduleUpdate","getTitle","createElement","setElementContent","findOne","content","jquery","innerText","textContent","getAttribute","defaultBsConfig","modifiers","_getOffset","flip","behavior","arrow","preventOverflow","boundariesElement","onCreate","data","originalPlacement","_handlePopperPlacementChange","onUpdate","fn","offsets","triggers","eventIn","eventOut","_fixTitle","titleType","type","dataAttributes","Manipulator","getDataAttributes","dataAttr","key","tabClass","map","token","trim","tClass","popperData","popperInstance","instance","popper","initConfigAnimation","jQueryInterface","each","_config","getInstance","$","JQUERY_NO_CONFLICT","Constructor","noConflict"],"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 (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = 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 (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\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 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)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.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-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\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,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\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, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\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', '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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\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 = ['sanitize', 'whiteList', '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: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: '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></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\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 ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\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.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\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 dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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(ClassName.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 Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\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.element = null\n this.config = null\n this.tip = null\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 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(ClassName.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 = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.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 this._popper.destroy()\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(ClassName.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 makeArray(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(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, 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.scheduleUpdate()\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(ClassName.FADE)\n tip.classList.remove(ClassName.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.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-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 // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _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,\n this.constructor.Event.CLICK,\n this.config.selector,\n 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,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\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 titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(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(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.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 === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(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(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\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 = HoverState.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 === HoverState.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)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getTransitionDurationFromElement","element","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","noop","getjQuery","jQuery","body","hasAttribute","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","indexOf","Boolean","nodeValue","regExp","filter","attrRegex","i","l","length","DefaultWhitelist","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","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","querySelectorAll","len","el","elName","removeChild","attributeList","attributes","whitelistedAttributes","concat","removeAttribute","innerHTML","NAME","VERSION","DATA_KEY","EVENT_KEY","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","DefaultType","animation","template","title","trigger","delay","html","selector","placement","offset","container","fallbackPlacement","boundary","sanitize","popperConfig","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","HoverState","SHOW","OUT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","ClassName","FADE","Selector","TOOLTIP_INNER","Trigger","HOVER","FOCUS","MANUAL","Tooltip","Popper","TypeError","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","_getConfig","tip","_setListeners","Data","setData","constructor","enable","disable","toggleEnabled","toggle","event","dataKey","context","getData","delegateTarget","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","classList","contains","dispose","clearTimeout","removeData","EventHandler","off","SelectorEngine","closest","_hideModalHandler","destroy","show","style","display","isWithContent","showEvent","shadowRoot","isInTheDom","ownerDocument","defaultPrevented","tipId","setAttribute","setContent","add","attachment","_getAttachment","_addAttachmentClass","_getContainer","appendChild","_getPopperConfig","children","on","complete","_fixTransition","prevHoverState","one","hide","_cleanTipClass","hideEvent","remove","update","scheduleUpdate","getTitle","createElement","setElementContent","findOne","content","jquery","innerText","textContent","getAttribute","defaultBsConfig","modifiers","_getOffset","flip","behavior","arrow","preventOverflow","boundariesElement","onCreate","data","originalPlacement","_handlePopperPlacementChange","onUpdate","fn","offsets","triggers","eventIn","eventOut","_fixTitle","titleType","type","dataAttributes","Manipulator","getDataAttributes","dataAttr","key","tabClass","map","token","trim","tClass","popperData","popperInstance","instance","popper","initConfigAnimation","jQueryInterface","each","_config","getInstance","$","JQUERY_NO_CONFLICT","Constructor","noConflict"],"mappings":"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"}
\ No newline at end of file |