diff --git a/.eslintignore b/.eslintignore index 0d0a6eab582..c0a76df9da5 100644 --- a/.eslintignore +++ b/.eslintignore @@ -83,7 +83,6 @@ theme/boost/amd/src/bootstrap/button.js theme/boost/amd/src/bootstrap/carousel.js theme/boost/amd/src/bootstrap/collapse.js theme/boost/amd/src/bootstrap/dropdown.js -theme/boost/amd/src/bootstrap/index.js theme/boost/amd/src/bootstrap/modal.js theme/boost/amd/src/bootstrap/popover.js theme/boost/amd/src/bootstrap/tools/sanitizer.js @@ -92,4 +91,5 @@ theme/boost/amd/src/bootstrap/tab.js theme/boost/amd/src/bootstrap/toast.js theme/boost/amd/src/bootstrap/tooltip.js theme/boost/amd/src/bootstrap/util.js -theme/boost/scss/fontawesome/ \ No newline at end of file +theme/boost/amd/src/index.js +theme/boost/scss/fontawesome/ diff --git a/.stylelintignore b/.stylelintignore index 0207e41679f..2d28f80057e 100644 --- a/.stylelintignore +++ b/.stylelintignore @@ -84,7 +84,6 @@ theme/boost/amd/src/bootstrap/button.js theme/boost/amd/src/bootstrap/carousel.js theme/boost/amd/src/bootstrap/collapse.js theme/boost/amd/src/bootstrap/dropdown.js -theme/boost/amd/src/bootstrap/index.js theme/boost/amd/src/bootstrap/modal.js theme/boost/amd/src/bootstrap/popover.js theme/boost/amd/src/bootstrap/tools/sanitizer.js @@ -93,4 +92,5 @@ theme/boost/amd/src/bootstrap/tab.js theme/boost/amd/src/bootstrap/toast.js theme/boost/amd/src/bootstrap/tooltip.js theme/boost/amd/src/bootstrap/util.js -theme/boost/scss/fontawesome/ \ No newline at end of file +theme/boost/amd/src/index.js +theme/boost/scss/fontawesome/ diff --git a/theme/boost/amd/build/bootstrap/alert.min.js b/theme/boost/amd/build/bootstrap/alert.min.js index dcb51aafc4a..028bb90c8d7 100644 --- a/theme/boost/amd/build/bootstrap/alert.min.js +++ b/theme/boost/amd/build/bootstrap/alert.min.js @@ -1,2 +1,2 @@ -define ("theme_boost/bootstrap/alert",["exports","jquery","./util"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;b=d(b);c=d(c);function d(a){return a&&a.__esModule?a:{default:a}}function e(a,b){if(!(a instanceof b)){throw new TypeError("Cannot call a class as a function")}}function f(a,b){for(var c=0,d;c this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(EVENT_CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n EVENT_CLICK_DATA_API,\n SELECTOR_DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Alert\n"],"file":"alert.min.js"} \ No newline at end of file +{"version":3,"sources":["../../src/bootstrap/alert.js"],"names":["DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","Alert","element","_element","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","removeData","selector","Util","getSelectorFromElement","parent","document","querySelector","closest","closeEvent","Event","trigger","removeClass","hasClass","_destroyElement","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","event","emulateTransitionEnd","detach","remove","config","each","$element","data","alertInstance","preventDefault","close","on","_handleDismiss","_jQueryInterface","Constructor","noConflict"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\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.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(CLASS_NAME_SHOW)\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, event => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(EVENT_CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n EVENT_CLICK_DATA_API,\n SELECTOR_DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Alert\n"],"file":"alert.min.js"} \ No newline at end of file diff --git a/theme/boost/amd/build/bootstrap/button.min.js b/theme/boost/amd/build/bootstrap/button.min.js index bdc9b93678a..15572c56b49 100644 --- a/theme/boost/amd/build/bootstrap/button.min.js +++ b/theme/boost/amd/build/bootstrap/button.min.js @@ -1,2 +1,2 @@ -define ("theme_boost/bootstrap/button",["exports","jquery"],function(a,b){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;b=function(a){return a&&a.__esModule?a:{default:a}}(b);function c(a,b){if(!(a instanceof b)){throw new TypeError("Cannot call a class as a function")}}function d(a,b){for(var c=0,d;c {\n let button = event.target\n const initialButton = button\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(SELECTOR_INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n if (initialButton.tagName === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {\n event.preventDefault() // work around event sent to label and input\n }\n Button._jQueryInterface.call($(button), 'toggle')\n }\n })\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n"],"file":"button.min.js"} \ No newline at end of file +{"version":3,"sources":["../../src/bootstrap/button.js"],"names":["DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE_CARROT","SELECTOR_INPUT","SELECTOR_BUTTON","EVENT_CLICK_DATA_API","EVENT_FOCUS_BLUR_DATA_API","EVENT_LOAD_DATA_API","Button","element","_element","shouldAvoidTriggerChange","triggerChangeEvent","addAriaPressed","rootElement","closest","input","querySelector","type","checked","classList","contains","activeElement","removeClass","trigger","focus","hasAttribute","setAttribute","toggleClass","removeData","config","avoidTriggerChange","each","$element","data","document","on","event","button","target","initialButton","hasClass","preventDefault","inputBtn","tagName","_jQueryInterface","call","test","window","buttons","slice","querySelectorAll","i","len","length","add","remove","getAttribute","Constructor","noConflict"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\nconst SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n this.shouldAvoidTriggerChange = false\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 const rootElement = $(this._element).closest(SELECTOR_DATA_TOGGLES)[0]\n\n if (rootElement) {\n const input = this._element.querySelector(SELECTOR_INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n if (!this.shouldAvoidTriggerChange) {\n $(input).trigger('change')\n }\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config, avoidTriggerChange) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $element.data(DATA_KEY, data)\n }\n\n data.shouldAvoidTriggerChange = avoidTriggerChange\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n let button = event.target\n const initialButton = button\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(SELECTOR_INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {\n Button._jQueryInterface.call($(button), 'toggle', initialButton.tagName === 'INPUT')\n }\n }\n })\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n"],"file":"button.min.js"} \ No newline at end of file diff --git a/theme/boost/amd/build/bootstrap/carousel.min.js b/theme/boost/amd/build/bootstrap/carousel.min.js index 477f01b0932..e5a2d2e99cc 100644 --- a/theme/boost/amd/build/bootstrap/carousel.min.js +++ b/theme/boost/amd/build/bootstrap/carousel.min.js @@ -1,2 +1,2 @@ -define ("theme_boost/bootstrap/carousel",["exports","jquery","./util"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;b=d(b);c=d(c);function d(a){return a&&a.__esModule?a:{default:a}}function e(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){e=function(a){return typeof a}}else{e=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return e(a)}function f(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);if(b)d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable});c.push.apply(c,d)}return c}function g(a){for(var b=1,c;bthis._items.length-1||0>a){return}if(this._isSliding){(0,b.default)(this._element).one(u,function(){return c.to(a)});return}if(d===a){this.pause();this.cycle();return}var e=a>d?r:s;this._slide(e,this._items[a])}},{key:"dispose",value:function dispose(){(0,b.default)(this._element).off(m);b.default.removeData(this._element,l);this._items=null;this._config=null;this._element=null;this._interval=null;this._isPaused=null;this._isSliding=null;this._activeElement=null;this._indicatorsElement=null}},{key:"_getConfig",value:function _getConfig(a){a=g({},p,{},a);c.default.typeCheckConfig("carousel",a,q);return a}},{key:"_handleSwipe",value:function _handleSwipe(){var a=Math.abs(this.touchDeltaX);if(a<=40){return}var b=a/this.touchDeltaX;this.touchDeltaX=0;if(0b){this.next()}}},{key:"_addEventListeners",value:function _addEventListeners(){var a=this;if(this._config.keyboard){(0,b.default)(this._element).on(v,function(b){return a._keydown(b)})}if("hover"===this._config.pause){(0,b.default)(this._element).on(w,function(b){return a.pause(b)}).on(x,function(b){return a.cycle(b)})}if(this._config.touch){this._addTouchEventListeners()}}},{key:"_addTouchEventListeners",value:function _addTouchEventListeners(){var a=this;if(!this._touchSupported){return}var c=function(b){if(a._pointerEvent&&I[b.originalEvent.pointerType.toUpperCase()]){a.touchStartX=b.originalEvent.clientX}else if(!a._pointerEvent){a.touchStartX=b.originalEvent.touches[0].clientX}},d=function(b){if(b.originalEvent.touches&&1this._items.length-1||0>a){return}if(this._isSliding){(0,b.default)(this._element).one(u,function(){return c.to(a)});return}if(d===a){this.pause();this.cycle();return}var e=a>d?r:s;this._slide(e,this._items[a])}},{key:"dispose",value:function dispose(){(0,b.default)(this._element).off(m);b.default.removeData(this._element,l);this._items=null;this._config=null;this._element=null;this._interval=null;this._isPaused=null;this._isSliding=null;this._activeElement=null;this._indicatorsElement=null}},{key:"_getConfig",value:function _getConfig(a){a=g({},p,{},a);c.default.typeCheckConfig("carousel",a,q);return a}},{key:"_handleSwipe",value:function _handleSwipe(){var a=Math.abs(this.touchDeltaX);if(a<=40){return}var b=a/this.touchDeltaX;this.touchDeltaX=0;if(0b){this.next()}}},{key:"_addEventListeners",value:function _addEventListeners(){var a=this;if(this._config.keyboard){(0,b.default)(this._element).on(v,function(b){return a._keydown(b)})}if("hover"===this._config.pause){(0,b.default)(this._element).on(w,function(b){return a.pause(b)}).on(x,function(b){return a.cycle(b)})}if(this._config.touch){this._addTouchEventListeners()}}},{key:"_addTouchEventListeners",value:function _addTouchEventListeners(){var a=this;if(!this._touchSupported){return}var c=function(b){if(a._pointerEvent&&I[b.originalEvent.pointerType.toUpperCase()]){a.touchStartX=b.originalEvent.clientX}else if(!a._pointerEvent){a.touchStartX=b.originalEvent.touches[0].clientX}},d=function(b){if(b.originalEvent.touches&&1 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\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 &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\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 (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.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.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 = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\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 $(this._element).one(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 $(this._element).off(EVENT_KEY)\n $.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 Util.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 $(this._element).on(EVENT_KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(EVENT_MOUSEENTER, (event) => this.pause(event))\n .on(EVENT_MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.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 this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))\n .on(EVENT_DRAG_START, (e) => e.preventDefault())\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, (event) => start(event))\n $(this._element).on(EVENT_POINTERUP, (event) => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n $(this._element).on(EVENT_TOUCHSTART, (event) => start(event))\n $(this._element).on(EVENT_TOUCHMOVE, (event) => move(event))\n $(this._element).on(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 ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM))\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] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))\n const slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))\n $(indicators).removeClass(CLASS_NAME_ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\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 = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\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 const slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(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 = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(CLASS_NAME_ACTIVE)\n\n $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n $(nextElement).addClass(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\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(this, _config)\n $(this).data(DATA_KEY, data)\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 data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Carousel\n"],"file":"carousel.min.js"} \ No newline at end of file +{"version":3,"sources":["../../src/bootstrap/carousel.js"],"names":["DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE_ITEM","PointerType","TOUCH","PEN","Carousel","element","config","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_element","_indicatorsElement","querySelector","_touchSupported","document","documentElement","navigator","maxTouchPoints","_pointerEvent","window","PointerEvent","MSPointerEvent","_addEventListeners","_slide","$element","hidden","is","css","next","event","Util","triggerTransitionEnd","cycle","clearInterval","_updateInterval","setInterval","visibilityState","nextWhenVisible","bind","index","activeIndex","_getItemIndex","length","one","to","direction","off","removeData","typeCheckConfig","absDeltax","Math","abs","prev","on","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","toUpperCase","clientX","touches","move","end","_handleSwipe","clearTimeout","setTimeout","querySelectorAll","e","preventDefault","classList","add","test","target","tagName","which","parentNode","slice","call","indexOf","activeElement","lastItemIndex","delta","itemIndex","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","Event","from","trigger","indicators","removeClass","nextIndicator","children","addClass","elementInterval","parseInt","getAttribute","defaultInterval","activeElementIndex","nextElement","_getItemByDirection","nextElementIndex","isCycling","directionalClassName","orderClassName","hasClass","_triggerSlideEvent","isDefaultPrevented","_setActiveIndicatorElement","slidEvent","reflow","transitionDuration","getTransitionDurationFromElement","TRANSITION_END","emulateTransitionEnd","each","data","action","TypeError","ride","selector","getSelectorFromElement","slideIndex","_jQueryInterface","_dataApiClickHandler","carousels","i","len","$carousel","Constructor","noConflict"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\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 = this._element.querySelector(SELECTOR_INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\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 const $element = $(this._element)\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 &&\n ($element.is(':visible') && $element.css('visibility') !== 'hidden')) {\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 (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.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.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\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 $(this._element).one(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 $(this._element).off(EVENT_KEY)\n $.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 Util.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 $(this._element).on(EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(EVENT_MOUSEENTER, event => this.pause(event))\n .on(EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.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 $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))\n .on(EVENT_DRAG_START, e => e.preventDefault())\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, event => start(event))\n $(this._element).on(EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n $(this._element).on(EVENT_TOUCHSTART, event => start(event))\n $(this._element).on(EVENT_TOUCHMOVE, event => move(event))\n $(this._element).on(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 [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) :\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] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))\n const slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))\n $(indicators).removeClass(CLASS_NAME_ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n if (!element) {\n return\n }\n\n const elementInterval = parseInt(element.getAttribute('data-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\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 = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n const slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(CLASS_NAME_ACTIVE)\n\n $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n $(nextElement).addClass(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\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(this, _config)\n $(this).data(DATA_KEY, data)\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\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Carousel\n"],"file":"carousel.min.js"} \ No newline at end of file diff --git a/theme/boost/amd/build/bootstrap/collapse.min.js b/theme/boost/amd/build/bootstrap/collapse.min.js index 365a018565d..1997475fae9 100644 --- a/theme/boost/amd/build/bootstrap/collapse.min.js +++ b/theme/boost/amd/build/bootstrap/collapse.min.js @@ -1,2 +1,2 @@ -define ("theme_boost/bootstrap/collapse",["exports","jquery","./util"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;b=d(b);c=d(c);function d(a){return a&&a.__esModule?a:{default:a}}function e(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){e=function(a){return typeof a}}else{e=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return e(a)}function f(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);if(b)d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable});c.push.apply(c,d)}return c}function g(a){for(var b=1,c;b foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\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(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(EVENT_SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSE)\n .addClass(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = $.Event(EVENT_HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(CLASS_NAME_COLLAPSING)\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(CLASS_NAME_COLLAPSE)\n .trigger(EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.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 Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n const children = [].slice.call(parent.querySelectorAll(selector))\n\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(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 data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Collapse\n"],"file":"collapse.min.js"} \ No newline at end of file +{"version":3,"sources":["../../src/bootstrap/collapse.js"],"names":["DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","Default","toggle","parent","DefaultType","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_CLICK_DATA_API","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","DIMENSION_WIDTH","SELECTOR_DATA_TOGGLE","Collapse","element","config","_isTransitioning","_element","_config","_getConfig","_triggerArray","slice","call","document","querySelectorAll","id","toggleList","i","len","length","elem","selector","Util","getSelectorFromElement","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hasClass","hide","show","actives","activesData","getAttribute","classList","contains","not","data","startEvent","Event","trigger","isDefaultPrevented","_jQueryInterface","dimension","_getDimension","removeClass","addClass","style","attr","setTransitioning","complete","capitalizedDimension","toUpperCase","scrollSize","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","getBoundingClientRect","reflow","triggerArrayLength","$elem","isTransitioning","removeData","typeCheckConfig","hasWidth","isElement","jquery","querySelector","children","each","_getTargetFromElement","triggerArray","isOpen","toggleClass","$element","test","TypeError","on","event","currentTarget","tagName","preventDefault","$trigger","selectors","$target","Constructor","noConflict"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst DIMENSION_WIDTH = 'width'\nconst DIMENSION_HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\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 = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\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(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(EVENT_SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSE)\n .addClass(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = $.Event(EVENT_HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(CLASS_NAME_COLLAPSING)\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(CLASS_NAME_COLLAPSE)\n .trigger(EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.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 Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n const children = [].slice.call(parent.querySelectorAll(selector))\n\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$element.data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Collapse\n"],"file":"collapse.min.js"} \ No newline at end of file diff --git a/theme/boost/amd/build/bootstrap/dropdown.min.js b/theme/boost/amd/build/bootstrap/dropdown.min.js index 279ced3b1c7..0f14a34d3bc 100644 --- a/theme/boost/amd/build/bootstrap/dropdown.min.js +++ b/theme/boost/amd/build/bootstrap/dropdown.min.js @@ -1,2 +1,2 @@ -define ("theme_boost/bootstrap/dropdown",["exports","jquery","core/popper","./util"],function(a,b,c,d){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;b=e(b);c=e(c);d=e(d);function e(a){return a&&a.__esModule?a:{default:a}}function f(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){f=function(a){return typeof a}}else{f=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return f(a)}function g(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);if(b)d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable});c.push.apply(c,d)}return c}function h(a){for(var b=1,c;bg){g=0}f[g].focus()}},{key:"VERSION",get:function get(){return"4.5.0"}},{key:"Default",get:function get(){return J}},{key:"DefaultType",get:function get(){return K}}]);return a}();(0,b.default)(document).on(C,H,L._dataApiKeydownHandler).on(C,I,L._dataApiKeydownHandler).on("".concat(B," ").concat(D),L._clearMenus).on(B,H,function(a){a.preventDefault();a.stopPropagation();L._jQueryInterface.call((0,b.default)(this),"toggle")}).on(B,".dropdown form",function(a){a.stopPropagation()});b.default.fn.dropdown=L._jQueryInterface;b.default.fn.dropdown.Constructor=L;b.default.fn.dropdown.noConflict=function(){b.default.fn.dropdown=p;return L._jQueryInterface};a.default=L;return a.default}); +define ("theme_boost/bootstrap/dropdown",["exports","jquery","core/popper","./util"],function(a,b,c,d){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;b=e(b);c=e(c);d=e(d);function e(a){return a&&a.__esModule?a:{default:a}}function f(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){f=function(a){return typeof a}}else{f=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return f(a)}function g(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);if(b)d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable});c.push.apply(c,d)}return c}function h(a){for(var b=1,c;bg){g=0}f[g].focus()}},{key:"VERSION",get:function get(){return"4.6.0"}},{key:"Default",get:function get(){return J}},{key:"DefaultType",get:function get(){return K}}]);return a}();(0,b.default)(document).on(C,H,L._dataApiKeydownHandler).on(C,I,L._dataApiKeydownHandler).on("".concat(B," ").concat(D),L._clearMenus).on(B,H,function(a){a.preventDefault();a.stopPropagation();L._jQueryInterface.call((0,b.default)(this),"toggle")}).on(B,".dropdown form",function(a){a.stopPropagation()});b.default.fn.dropdown=L._jQueryInterface;b.default.fn.dropdown.Constructor=L;b.default.fn.dropdown.noConflict=function(){b.default.fn.dropdown=p;return L._jQueryInterface};a.default=L;return a.default}); //# sourceMappingURL=dropdown.min.js.map diff --git a/theme/boost/amd/build/bootstrap/dropdown.min.js.map b/theme/boost/amd/build/bootstrap/dropdown.min.js.map index f6df14ff1ba..d5372224e1d 100644 --- a/theme/boost/amd/build/bootstrap/dropdown.min.js.map +++ b/theme/boost/amd/build/bootstrap/dropdown.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/bootstrap/dropdown.js"],"names":["DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","REGEXP_KEYDOWN","RegExp","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_SHOW","CLASS_NAME_MENURIGHT","SELECTOR_DATA_TOGGLE","SELECTOR_MENU","Default","offset","flip","boundary","reference","display","popperConfig","DefaultType","Dropdown","element","config","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","disabled","hasClass","isActive","_clearMenus","show","usePopper","relatedTarget","showEvent","Event","parent","_getParentFromElement","trigger","isDefaultPrevented","Popper","TypeError","referenceElement","Util","isElement","jquery","addClass","_getPopperConfig","document","documentElement","closest","length","body","children","on","noop","focus","setAttribute","toggleClass","hideEvent","destroy","removeData","off","scheduleUpdate","event","preventDefault","stopPropagation","toggle","constructor","data","typeCheckConfig","querySelector","$parentDropdown","parentNode","placement","offsets","_getPlacement","modifiers","_getOffset","enabled","preventOverflow","boundariesElement","applyStyle","each","which","type","toggles","slice","call","querySelectorAll","i","len","context","clickEvent","dropdownMenu","test","target","tagName","contains","removeClass","selector","getSelectorFromElement","items","filter","item","is","index","indexOf","_dataApiKeydownHandler","_jQueryInterface","e","Constructor","noConflict"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'core/popper'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic',\n popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\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 }\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).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\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 (Util.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).addClass(CLASS_NAME_POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(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 ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT)\n ? PLACEMENT_TOPEND\n : PLACEMENT_TOP\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\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 _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(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 data[config]()\n }\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 = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(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).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\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 $(document.body).children().off('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).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\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 $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n .filter((item) => $(item).is(':visible'))\n\n if (items.length === 0) {\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\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Dropdown\n"],"file":"dropdown.min.js"} \ No newline at end of file +{"version":3,"sources":["../../src/bootstrap/dropdown.js"],"names":["DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","REGEXP_KEYDOWN","RegExp","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_SHOW","CLASS_NAME_MENURIGHT","SELECTOR_DATA_TOGGLE","SELECTOR_MENU","Default","offset","flip","boundary","reference","display","popperConfig","DefaultType","Dropdown","element","config","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","disabled","hasClass","isActive","_clearMenus","show","usePopper","relatedTarget","showEvent","Event","parent","_getParentFromElement","trigger","isDefaultPrevented","Popper","TypeError","referenceElement","Util","isElement","jquery","addClass","_getPopperConfig","document","documentElement","closest","length","body","children","on","noop","focus","setAttribute","toggleClass","hideEvent","destroy","removeData","off","scheduleUpdate","event","preventDefault","stopPropagation","toggle","constructor","data","typeCheckConfig","querySelector","$parentDropdown","parentNode","placement","offsets","_getPlacement","modifiers","_getOffset","enabled","preventOverflow","boundariesElement","applyStyle","each","which","type","toggles","slice","call","querySelectorAll","i","len","context","clickEvent","dropdownMenu","test","target","tagName","contains","removeClass","selector","getSelectorFromElement","items","filter","item","is","index","indexOf","_dataApiKeydownHandler","_jQueryInterface","e","Constructor","noConflict"],"mappings":"sLAOA,OACA,OACA,O,60CAUMA,CAAAA,CAAQ,CAAG,a,CACXC,CAAS,YAAOD,CAAP,C,CACTE,CAAY,CAAG,W,CACfC,CAAkB,CAAGC,UAAEC,EAAF,S,CACrBC,CAAc,CAAG,E,CACjBC,CAAa,CAAG,E,CAChBC,CAAW,CAAG,C,CACdC,CAAgB,CAAG,E,CACnBC,CAAkB,CAAG,E,CAErBC,CAAc,CAAG,GAAIC,CAAAA,MAAJ,WAAcH,CAAd,aAAkCC,CAAlC,aAAwDJ,CAAxD,E,CAEjBO,CAAU,eAAUZ,CAAV,C,CACVa,CAAY,iBAAYb,CAAZ,C,CACZc,CAAU,eAAUd,CAAV,C,CACVe,CAAW,gBAAWf,CAAX,C,CACXgB,CAAW,gBAAWhB,CAAX,C,CACXiB,CAAoB,gBAAWjB,CAAX,SAAuBC,CAAvB,C,CACpBiB,CAAsB,kBAAalB,CAAb,SAAyBC,CAAzB,C,CACtBkB,CAAoB,gBAAWnB,CAAX,SAAuBC,CAAvB,C,CAEpBmB,CAAmB,CAAG,U,CACtBC,CAAe,CAAG,M,CAIlBC,CAAoB,CAAG,qB,CAGvBC,CAAoB,CAAG,4B,CAEvBC,CAAa,CAAG,gB,CAWhBC,CAAO,CAAG,CACdC,MAAM,CAAE,CADM,CAEdC,IAAI,GAFU,CAGdC,QAAQ,CAAE,cAHI,CAIdC,SAAS,CAAE,QAJG,CAKdC,OAAO,CAAE,SALK,CAMdC,YAAY,CAAE,IANA,C,CASVC,CAAW,CAAG,CAClBN,MAAM,CAAE,0BADU,CAElBC,IAAI,CAAE,SAFY,CAGlBC,QAAQ,CAAE,kBAHQ,CAIlBC,SAAS,CAAE,kBAJO,CAKlBC,OAAO,CAAE,QALS,CAMlBC,YAAY,CAAE,eANI,C,CAedE,C,YACJ,WAAYC,CAAZ,CAAqBC,CAArB,CAA6B,WAC3B,KAAKC,QAAL,CAAgBF,CAAhB,CACA,KAAKG,OAAL,CAAe,IAAf,CACA,KAAKC,OAAL,CAAe,KAAKC,UAAL,CAAgBJ,CAAhB,CAAf,CACA,KAAKK,KAAL,CAAa,KAAKC,eAAL,EAAb,CACA,KAAKC,SAAL,CAAiB,KAAKC,aAAL,EAAjB,CAEA,KAAKC,kBAAL,EACD,C,0CAkBQ,CACP,GAAI,KAAKR,QAAL,CAAcS,QAAd,EAA0B,cAAE,KAAKT,QAAP,EAAiBU,QAAjB,CAA0B1B,CAA1B,CAA9B,CAA8E,CAC5E,MACD,CAED,GAAM2B,CAAAA,CAAQ,CAAG,cAAE,KAAKP,KAAP,EAAcM,QAAd,CAAuBzB,CAAvB,CAAjB,CAEAY,CAAQ,CAACe,WAAT,GAEA,GAAID,CAAJ,CAAc,CACZ,MACD,CAED,KAAKE,IAAL,IACD,C,mCAEuB,IAAnBC,CAAAA,CAAmB,2DACtB,GAAI,KAAKd,QAAL,CAAcS,QAAd,EAA0B,cAAE,KAAKT,QAAP,EAAiBU,QAAjB,CAA0B1B,CAA1B,CAA1B,EAA4E,cAAE,KAAKoB,KAAP,EAAcM,QAAd,CAAuBzB,CAAvB,CAAhF,CAAyH,CACvH,MACD,CAHqB,GAKhB8B,CAAAA,CAAa,CAAG,CACpBA,aAAa,CAAE,KAAKf,QADA,CALA,CAQhBgB,CAAS,CAAGjD,UAAEkD,KAAF,CAAQvC,CAAR,CAAoBqC,CAApB,CARI,CAShBG,CAAM,CAAGrB,CAAQ,CAACsB,qBAAT,CAA+B,KAAKnB,QAApC,CATO,CAWtB,cAAEkB,CAAF,EAAUE,OAAV,CAAkBJ,CAAlB,EAEA,GAAIA,CAAS,CAACK,kBAAV,EAAJ,CAAoC,CAClC,MACD,CAGD,GAAI,CAAC,KAAKf,SAAN,EAAmBQ,CAAvB,CAAkC,CAKhC,GAAsB,WAAlB,QAAOQ,UAAX,CAAmC,CACjC,KAAM,IAAIC,CAAAA,SAAJ,CAAc,8DAAd,CACP,CAED,GAAIC,CAAAA,CAAgB,CAAG,KAAKxB,QAA5B,CAEA,GAA+B,QAA3B,QAAKE,OAAL,CAAaT,SAAjB,CAAyC,CACvC+B,CAAgB,CAAGN,CACpB,CAFD,IAEO,IAAIO,UAAKC,SAAL,CAAe,KAAKxB,OAAL,CAAaT,SAA5B,CAAJ,CAA4C,CACjD+B,CAAgB,CAAG,KAAKtB,OAAL,CAAaT,SAAhC,CAGA,GAA6C,WAAzC,QAAO,MAAKS,OAAL,CAAaT,SAAb,CAAuBkC,MAAlC,CAA0D,CACxDH,CAAgB,CAAG,KAAKtB,OAAL,CAAaT,SAAb,CAAuB,CAAvB,CACpB,CACF,CAKD,GAA8B,cAA1B,QAAKS,OAAL,CAAaV,QAAjB,CAA8C,CAC5C,cAAE0B,CAAF,EAAUU,QAAV,CA9H2B,iBA8H3B,CACD,CAED,KAAK3B,OAAL,CAAe,GAAIqB,UAAJ,CAAWE,CAAX,CAA6B,KAAKpB,KAAlC,CAAyC,KAAKyB,gBAAL,EAAzC,CAChB,CAMD,GAAI,gBAAkBC,CAAAA,QAAQ,CAACC,eAA3B,EACkD,CAAlD,iBAAEb,CAAF,EAAUc,OAAV,CApIoB,aAoIpB,EAAuCC,MAD3C,CACyD,CACvD,cAAEH,QAAQ,CAACI,IAAX,EAAiBC,QAAjB,GAA4BC,EAA5B,CAA+B,WAA/B,CAA4C,IAA5C,CAAkDrE,UAAEsE,IAApD,CACD,CAED,KAAKrC,QAAL,CAAcsC,KAAd,GACA,KAAKtC,QAAL,CAAcuC,YAAd,CAA2B,eAA3B,KAEA,cAAE,KAAKnC,KAAP,EAAcoC,WAAd,CAA0BvD,CAA1B,EACA,cAAEiC,CAAF,EACGsB,WADH,CACevD,CADf,EAEGmC,OAFH,CAEWrD,UAAEkD,KAAF,CAAQtC,CAAR,CAAqBoC,CAArB,CAFX,CAGD,C,mCAEM,CACL,GAAI,KAAKf,QAAL,CAAcS,QAAd,EAA0B,cAAE,KAAKT,QAAP,EAAiBU,QAAjB,CAA0B1B,CAA1B,CAA1B,EAA4E,CAAC,cAAE,KAAKoB,KAAP,EAAcM,QAAd,CAAuBzB,CAAvB,CAAjF,CAA0H,CACxH,MACD,CAHI,GAKC8B,CAAAA,CAAa,CAAG,CACpBA,aAAa,CAAE,KAAKf,QADA,CALjB,CAQCyC,CAAS,CAAG1E,UAAEkD,KAAF,CAAQzC,CAAR,CAAoBuC,CAApB,CARb,CASCG,CAAM,CAAGrB,CAAQ,CAACsB,qBAAT,CAA+B,KAAKnB,QAApC,CATV,CAWL,cAAEkB,CAAF,EAAUE,OAAV,CAAkBqB,CAAlB,EAEA,GAAIA,CAAS,CAACpB,kBAAV,EAAJ,CAAoC,CAClC,MACD,CAED,GAAI,KAAKpB,OAAT,CAAkB,CAChB,KAAKA,OAAL,CAAayC,OAAb,EACD,CAED,cAAE,KAAKtC,KAAP,EAAcoC,WAAd,CAA0BvD,CAA1B,EACA,cAAEiC,CAAF,EACGsB,WADH,CACevD,CADf,EAEGmC,OAFH,CAEWrD,UAAEkD,KAAF,CAAQxC,CAAR,CAAsBsC,CAAtB,CAFX,CAGD,C,yCAES,CACRhD,UAAE4E,UAAF,CAAa,KAAK3C,QAAlB,CAA4BrC,CAA5B,EACA,cAAE,KAAKqC,QAAP,EAAiB4C,GAAjB,CAAqBhF,CAArB,EACA,KAAKoC,QAAL,CAAgB,IAAhB,CACA,KAAKI,KAAL,CAAa,IAAb,CACA,GAAqB,IAAjB,QAAKH,OAAT,CAA2B,CACzB,KAAKA,OAAL,CAAayC,OAAb,GACA,KAAKzC,OAAL,CAAe,IAChB,CACF,C,uCAEQ,CACP,KAAKK,SAAL,CAAiB,KAAKC,aAAL,EAAjB,CACA,GAAqB,IAAjB,QAAKN,OAAT,CAA2B,CACzB,KAAKA,OAAL,CAAa4C,cAAb,EACD,CACF,C,+DAIoB,YACnB,cAAE,KAAK7C,QAAP,EAAiBoC,EAAjB,CAAoBxD,CAApB,CAAiC,SAAAkE,CAAK,CAAI,CACxCA,CAAK,CAACC,cAAN,GACAD,CAAK,CAACE,eAAN,GACA,CAAI,CAACC,MAAL,EACD,CAJD,CAKD,C,8CAEUlD,C,CAAQ,CACjBA,CAAM,MACD,KAAKmD,WAAL,CAAiB7D,OADhB,IAED,cAAE,KAAKW,QAAP,EAAiBmD,IAAjB,EAFC,IAGDpD,CAHC,CAAN,CAMA0B,UAAK2B,eAAL,YAEErD,CAFF,CAGE,KAAKmD,WAAL,CAAiBtD,WAHnB,EAMA,MAAOG,CAAAA,CACR,C,yDAEiB,CAChB,GAAI,CAAC,KAAKK,KAAV,CAAiB,CACf,GAAMc,CAAAA,CAAM,CAAGrB,CAAQ,CAACsB,qBAAT,CAA+B,KAAKnB,QAApC,CAAf,CAEA,GAAIkB,CAAJ,CAAY,CACV,KAAKd,KAAL,CAAac,CAAM,CAACmC,aAAP,CAAqBjE,CAArB,CACd,CACF,CAED,MAAO,MAAKgB,KACb,C,qDAEe,IACRkD,CAAAA,CAAe,CAAG,cAAE,KAAKtD,QAAL,CAAcuD,UAAhB,CADV,CAEVC,CAAS,CAjOQ,cA+NP,CAKd,GAAIF,CAAe,CAAC5C,QAAhB,CAlPkB,QAkPlB,CAAJ,CAAiD,CAC/C8C,CAAS,CAAG,cAAE,KAAKpD,KAAP,EAAcM,QAAd,CAAuBxB,CAAvB,EAtOO,SAsOP,CAvOI,WA0OjB,CAJD,IAIO,IAAIoE,CAAe,CAAC5C,QAAhB,CArPc,WAqPd,CAAJ,CAAoD,CACzD8C,CAAS,CAvOS,aAwOnB,CAFM,IAEA,IAAIF,CAAe,CAAC5C,QAAhB,CAtPa,UAsPb,CAAJ,CAAmD,CACxD8C,CAAS,CAxOQ,YAyOlB,CAFM,IAEA,IAAI,cAAE,KAAKpD,KAAP,EAAcM,QAAd,CAAuBxB,CAAvB,CAAJ,CAAkD,CACvDsE,CAAS,CA5Oa,YA6OvB,CAED,MAAOA,CAAAA,CACR,C,qDAEe,CACd,MAAoD,EAA7C,eAAE,KAAKxD,QAAP,EAAiBgC,OAAjB,CAAyB,SAAzB,EAAoCC,MAC5C,C,+CAEY,YACL3C,CAAM,CAAG,EADJ,CAGX,GAAmC,UAA/B,QAAO,MAAKY,OAAL,CAAaZ,MAAxB,CAA+C,CAC7CA,CAAM,CAACtB,EAAP,CAAY,SAAAmF,CAAI,CAAI,CAClBA,CAAI,CAACM,OAAL,MACKN,CAAI,CAACM,OADV,IAEM,CAAI,CAACvD,OAAL,CAAaZ,MAAb,CAAoB6D,CAAI,CAACM,OAAzB,CAAkC,CAAI,CAACzD,QAAvC,GAAoD,EAF1D,EAKA,MAAOmD,CAAAA,CACR,CACF,CATD,IASO,CACL7D,CAAM,CAACA,MAAP,CAAgB,KAAKY,OAAL,CAAaZ,MAC9B,CAED,MAAOA,CAAAA,CACR,C,2DAEkB,CACjB,GAAMK,CAAAA,CAAY,CAAG,CACnB6D,SAAS,CAAE,KAAKE,aAAL,EADQ,CAEnBC,SAAS,CAAE,CACTrE,MAAM,CAAE,KAAKsE,UAAL,EADC,CAETrE,IAAI,CAAE,CACJsE,OAAO,CAAE,KAAK3D,OAAL,CAAaX,IADlB,CAFG,CAKTuE,eAAe,CAAE,CACfC,iBAAiB,CAAE,KAAK7D,OAAL,CAAaV,QADjB,CALR,CAFQ,CAArB,CAcA,GAA6B,QAAzB,QAAKU,OAAL,CAAaR,OAAjB,CAAuC,CACrCC,CAAY,CAACgE,SAAb,CAAuBK,UAAvB,CAAoC,CAClCH,OAAO,GAD2B,CAGrC,CAED,YACKlE,CADL,IAEK,KAAKO,OAAL,CAAaP,YAFlB,CAID,C,4DAIuBI,C,CAAQ,CAC9B,MAAO,MAAKkE,IAAL,CAAU,UAAY,IACvBd,CAAAA,CAAI,CAAG,cAAE,IAAF,EAAQA,IAAR,CAAaxF,CAAb,CADgB,CAErBuC,CAAO,CAAqB,QAAlB,KAAOH,CAAP,EAA6BA,CAA7B,CAAsC,IAF3B,CAI3B,GAAI,CAACoD,CAAL,CAAW,CACTA,CAAI,CAAG,GAAItD,CAAAA,CAAJ,CAAa,IAAb,CAAmBK,CAAnB,CAAP,CACA,cAAE,IAAF,EAAQiD,IAAR,CAAaxF,CAAb,CAAuBwF,CAAvB,CACD,CAED,GAAsB,QAAlB,QAAOpD,CAAAA,CAAX,CAAgC,CAC9B,GAA4B,WAAxB,QAAOoD,CAAAA,CAAI,CAACpD,CAAD,CAAf,CAAyC,CACvC,KAAM,IAAIwB,CAAAA,SAAJ,6BAAkCxB,CAAlC,OACP,CAEDoD,CAAI,CAACpD,CAAD,CAAJ,EACD,CACF,CAhBM,CAiBR,C,gDAEkB+C,C,CAAO,CACxB,GAAIA,CAAK,GAAKA,CAAK,CAACoB,KAAN,GAxVe,CAwVf,EACG,OAAf,GAAApB,CAAK,CAACqB,IAAN,EAA0BrB,CAAK,CAACoB,KAAN,GAAgB/F,CADnC,CAAT,CAC0D,CACxD,MACD,CAID,OAFMiG,CAAAA,CAAO,CAAG,GAAGC,KAAH,CAASC,IAAT,CAAcxC,QAAQ,CAACyC,gBAAT,CAA0BpF,CAA1B,CAAd,CAEhB,CAASqF,CAAC,CAAG,CAAb,CAAgBC,CAAG,CAAGL,CAAO,CAACnC,MAA9B,CAAsCuC,CAAC,CAAGC,CAA1C,CAA+CD,CAAC,EAAhD,CAAoD,IAC5CtD,CAAAA,CAAM,CAAGrB,CAAQ,CAACsB,qBAAT,CAA+BiD,CAAO,CAACI,CAAD,CAAtC,CADmC,CAE5CE,CAAO,CAAG,cAAEN,CAAO,CAACI,CAAD,CAAT,EAAcrB,IAAd,CAAmBxF,CAAnB,CAFkC,CAG5CoD,CAAa,CAAG,CACpBA,aAAa,CAAEqD,CAAO,CAACI,CAAD,CADF,CAH4B,CAOlD,GAAI1B,CAAK,EAAmB,OAAf,GAAAA,CAAK,CAACqB,IAAnB,CAAqC,CACnCpD,CAAa,CAAC4D,UAAd,CAA2B7B,CAC5B,CAED,GAAI,CAAC4B,CAAL,CAAc,CACZ,QACD,CAED,GAAME,CAAAA,CAAY,CAAGF,CAAO,CAACtE,KAA7B,CACA,GAAI,CAAC,cAAEc,CAAF,EAAUR,QAAV,CAAmBzB,CAAnB,CAAL,CAA0C,CACxC,QACD,CAED,GAAI6D,CAAK,GAAoB,OAAf,GAAAA,CAAK,CAACqB,IAAN,EACV,kBAAkBU,IAAlB,CAAuB/B,CAAK,CAACgC,MAAN,CAAaC,OAApC,CADU,EACqD,OAAf,GAAAjC,CAAK,CAACqB,IAAN,EAA0BrB,CAAK,CAACoB,KAAN,GAAgB/F,CADrF,CAAL,EAEAJ,UAAEiH,QAAF,CAAW9D,CAAX,CAAmB4B,CAAK,CAACgC,MAAzB,CAFJ,CAEsC,CACpC,QACD,CAED,GAAMrC,CAAAA,CAAS,CAAG1E,UAAEkD,KAAF,CAAQzC,CAAR,CAAoBuC,CAApB,CAAlB,CACA,cAAEG,CAAF,EAAUE,OAAV,CAAkBqB,CAAlB,EACA,GAAIA,CAAS,CAACpB,kBAAV,EAAJ,CAAoC,CAClC,QACD,CAID,GAAI,gBAAkBS,CAAAA,QAAQ,CAACC,eAA/B,CAAgD,CAC9C,cAAED,QAAQ,CAACI,IAAX,EAAiBC,QAAjB,GAA4BS,GAA5B,CAAgC,WAAhC,CAA6C,IAA7C,CAAmD7E,UAAEsE,IAArD,CACD,CAED+B,CAAO,CAACI,CAAD,CAAP,CAAWjC,YAAX,CAAwB,eAAxB,CAAyC,OAAzC,EAEA,GAAImC,CAAO,CAACzE,OAAZ,CAAqB,CACnByE,CAAO,CAACzE,OAAR,CAAgByC,OAAhB,EACD,CAED,cAAEkC,CAAF,EAAgBK,WAAhB,CAA4BhG,CAA5B,EACA,cAAEiC,CAAF,EACG+D,WADH,CACehG,CADf,EAEGmC,OAFH,CAEWrD,UAAEkD,KAAF,CAAQxC,CAAR,CAAsBsC,CAAtB,CAFX,CAGD,CACF,C,oEAE4BjB,C,CAAS,IAChCoB,CAAAA,CADgC,CAE9BgE,CAAQ,CAAGzD,UAAK0D,sBAAL,CAA4BrF,CAA5B,CAFmB,CAIpC,GAAIoF,CAAJ,CAAc,CACZhE,CAAM,CAAGY,QAAQ,CAACuB,aAAT,CAAuB6B,CAAvB,CACV,CAED,MAAOhE,CAAAA,CAAM,EAAIpB,CAAO,CAACyD,UAC1B,C,sEAG6BT,C,CAAO,CAQnC,GAAI,kBAAkB+B,IAAlB,CAAuB/B,CAAK,CAACgC,MAAN,CAAaC,OAApC,EACFjC,CAAK,CAACoB,KAAN,GAAgBhG,CAAhB,EAAiC4E,CAAK,CAACoB,KAAN,GAAgBjG,CAAhB,GAChC6E,CAAK,CAACoB,KAAN,GAAgB7F,CAAhB,EAAsCyE,CAAK,CAACoB,KAAN,GAAgB9F,CAAtD,EACC,cAAE0E,CAAK,CAACgC,MAAR,EAAgB9C,OAAhB,CAAwB5C,CAAxB,EAAuC6C,MAFR,CAD/B,CAGiD,CAAC3D,CAAc,CAACuG,IAAf,CAAoB/B,CAAK,CAACoB,KAA1B,CAHtD,CAGwF,CACtF,MACD,CAED,GAAI,KAAKzD,QAAL,EAAiB,cAAE,IAAF,EAAQC,QAAR,CAAiB1B,CAAjB,CAArB,CAA4D,CAC1D,MACD,CAjBkC,GAmB7BkC,CAAAA,CAAM,CAAGrB,CAAQ,CAACsB,qBAAT,CAA+B,IAA/B,CAnBoB,CAoB7BR,CAAQ,CAAG,cAAEO,CAAF,EAAUR,QAAV,CAAmBzB,CAAnB,CApBkB,CAsBnC,GAAI,CAAC0B,CAAD,EAAamC,CAAK,CAACoB,KAAN,GAAgBjG,CAAjC,CAAiD,CAC/C,MACD,CAED6E,CAAK,CAACC,cAAN,GACAD,CAAK,CAACE,eAAN,GAEA,GAAI,CAACrC,CAAD,EAAcmC,CAAK,CAACoB,KAAN,GAAgBjG,CAAhB,EAAkC6E,CAAK,CAACoB,KAAN,GAAgBhG,CAApE,CAAoF,CAClF,GAAI4E,CAAK,CAACoB,KAAN,GAAgBjG,CAApB,CAAoC,CAClC,cAAEiD,CAAM,CAACmC,aAAP,CAAqBlE,CAArB,CAAF,EAA8CiC,OAA9C,CAAsD,OAAtD,CACD,CAED,cAAE,IAAF,EAAQA,OAAR,CAAgB,OAAhB,EACA,MACD,CAED,GAAMgE,CAAAA,CAAK,CAAG,GAAGf,KAAH,CAASC,IAAT,CAAcpD,CAAM,CAACqD,gBAAP,CA5aD,6DA4aC,CAAd,EACXc,MADW,CACJ,SAAAC,CAAI,QAAI,cAAEA,CAAF,EAAQC,EAAR,CAAW,UAAX,CAAJ,CADA,CAAd,CAGA,GAAqB,CAAjB,GAAAH,CAAK,CAACnD,MAAV,CAAwB,CACtB,MACD,CAED,GAAIuD,CAAAA,CAAK,CAAGJ,CAAK,CAACK,OAAN,CAAc3C,CAAK,CAACgC,MAApB,CAAZ,CAEA,GAAIhC,CAAK,CAACoB,KAAN,GAAgB9F,CAAhB,EAA4C,CAAR,CAAAoH,CAAxC,CAAmD,CACjDA,CAAK,EACN,CAED,GAAI1C,CAAK,CAACoB,KAAN,GAAgB7F,CAAhB,EAAsCmH,CAAK,CAAGJ,CAAK,CAACnD,MAAN,CAAe,CAAjE,CAAoE,CAClEuD,CAAK,EACN,CAED,GAAY,CAAR,CAAAA,CAAJ,CAAe,CACbA,CAAK,CAAG,CACT,CAEDJ,CAAK,CAACI,CAAD,CAAL,CAAalD,KAAb,EACD,C,mCApZoB,CACnB,MAjFY,OAkFb,C,mCAEoB,CACnB,MAAOjD,CAAAA,CACR,C,uCAEwB,CACvB,MAAOO,CAAAA,CACR,C,gBAmZH,cAAEkC,QAAF,EACGM,EADH,CACMtD,CADN,CAC8BK,CAD9B,CACoDU,CAAQ,CAAC6F,sBAD7D,EAEGtD,EAFH,CAEMtD,CAFN,CAE8BM,CAF9B,CAE6CS,CAAQ,CAAC6F,sBAFtD,EAGGtD,EAHH,WAGSvD,CAHT,aAGiCE,CAHjC,EAGyDc,CAAQ,CAACe,WAHlE,EAIGwB,EAJH,CAIMvD,CAJN,CAI4BM,CAJ5B,CAIkD,SAAU2D,CAAV,CAAiB,CAC/DA,CAAK,CAACC,cAAN,GACAD,CAAK,CAACE,eAAN,GACAnD,CAAQ,CAAC8F,gBAAT,CAA0BrB,IAA1B,CAA+B,cAAE,IAAF,CAA/B,CAAwC,QAAxC,CACD,CARH,EASGlC,EATH,CASMvD,CATN,CA9c4B,gBA8c5B,CASiD,SAAA+G,CAAC,CAAI,CAClDA,CAAC,CAAC5C,eAAF,EACD,CAXH,EAmBAjF,UAAEC,EAAF,UAAa6B,CAAQ,CAAC8F,gBAAtB,CACA5H,UAAEC,EAAF,UAAW6H,WAAX,CAAyBhG,CAAzB,CACA9B,UAAEC,EAAF,UAAW8H,UAAX,CAAwB,UAAM,CAC5B/H,UAAEC,EAAF,UAAaF,CAAb,CACA,MAAO+B,CAAAA,CAAQ,CAAC8F,gBACjB,CAHD,C,UAKe9F,C","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'core/popper'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\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 }\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).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Totally disable Popper for Dropdowns in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.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).addClass(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(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 ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU)\n }\n }\n\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(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 _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 = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(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).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\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 $(document.body).children().off('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).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\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 $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (!isActive || (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n .filter(item => $(item).is(':visible'))\n\n if (items.length === 0) {\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\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Dropdown\n"],"file":"dropdown.min.js"} \ No newline at end of file diff --git a/theme/boost/amd/build/bootstrap/index.min.js b/theme/boost/amd/build/bootstrap/index.min.js deleted file mode 100644 index 9bcd5b1c437..00000000000 --- a/theme/boost/amd/build/bootstrap/index.min.js +++ /dev/null @@ -1,2 +0,0 @@ -define ("theme_boost/bootstrap/index",["exports","./alert","./button","./carousel","./collapse","./dropdown","./modal","./popover","./scrollspy","./tab","./toast","./tooltip","./util"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){"use strict";Object.defineProperty(a,"__esModule",{value:!0});Object.defineProperty(a,"Alert",{enumerable:!0,get:function get(){return b.default}});Object.defineProperty(a,"Button",{enumerable:!0,get:function get(){return c.default}});Object.defineProperty(a,"Carousel",{enumerable:!0,get:function get(){return d.default}});Object.defineProperty(a,"Collapse",{enumerable:!0,get:function get(){return e.default}});Object.defineProperty(a,"Dropdown",{enumerable:!0,get:function get(){return f.default}});Object.defineProperty(a,"Modal",{enumerable:!0,get:function get(){return g.default}});Object.defineProperty(a,"Popover",{enumerable:!0,get:function get(){return h.default}});Object.defineProperty(a,"Scrollspy",{enumerable:!0,get:function get(){return i.default}});Object.defineProperty(a,"Tab",{enumerable:!0,get:function get(){return j.default}});Object.defineProperty(a,"Toast",{enumerable:!0,get:function get(){return k.default}});Object.defineProperty(a,"Tooltip",{enumerable:!0,get:function get(){return l.default}});Object.defineProperty(a,"Util",{enumerable:!0,get:function get(){return m.default}});b=n(b);c=n(c);d=n(d);e=n(e);f=n(f);g=n(g);h=n(h);i=n(i);j=n(j);k=n(k);l=n(l);m=n(m);function n(a){return a&&a.__esModule?a:{default:a}}}); -//# sourceMappingURL=index.min.js.map diff --git a/theme/boost/amd/build/bootstrap/index.min.js.map b/theme/boost/amd/build/bootstrap/index.min.js.map deleted file mode 100644 index b3666511508..00000000000 --- a/theme/boost/amd/build/bootstrap/index.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/bootstrap/index.js"],"names":[],"mappings":"kzCAAA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,O","sourcesContent":["import Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Toast,\n Tooltip\n}\n"],"file":"index.min.js"} \ No newline at end of file diff --git a/theme/boost/amd/build/bootstrap/modal.min.js b/theme/boost/amd/build/bootstrap/modal.min.js index b1cb5969c80..bb924db8f31 100644 --- a/theme/boost/amd/build/bootstrap/modal.min.js +++ b/theme/boost/amd/build/bootstrap/modal.min.js @@ -1,2 +1,2 @@ -define ("theme_boost/bootstrap/modal",["exports","jquery","./util"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;b=d(b);c=d(c);function d(a){return a&&a.__esModule?a:{default:a}}function e(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){e=function(a){return typeof a}}else{e=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return e(a)}function f(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);if(b)d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable});c.push.apply(c,d)}return c}function g(a){for(var b=1,c;bdocument.documentElement.clientHeight;if(!this._isBodyOverflowing&&a){this._element.style.paddingLeft="".concat(this._scrollbarWidth,"px")}if(this._isBodyOverflowing&&!a){this._element.style.paddingRight="".concat(this._scrollbarWidth,"px")}}},{key:"_resetAdjustments",value:function _resetAdjustments(){this._element.style.paddingLeft="";this._element.style.paddingRight=""}},{key:"_checkScrollbar",value:function _checkScrollbar(){var a=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(a.left+a.right)document.documentElement.clientHeight;if(!e){this._element.style.overflowY="hidden"}this._element.classList.add(G);var f=c.default.getTransitionDurationFromElement(this._dialog);(0,b.default)(this._element).off(c.default.TRANSITION_END);(0,b.default)(this._element).one(c.default.TRANSITION_END,function(){a._element.classList.remove(G);if(!e){(0,b.default)(a._element).one(c.default.TRANSITION_END,function(){a._element.style.overflowY=""}).emulateTransitionEnd(a._element,f)}}).emulateTransitionEnd(f);this._element.focus()}},{key:"_showElement",value:function _showElement(a){var d=this,e=(0,b.default)(this._element).hasClass(E),f=this._dialog?this._dialog.querySelector(".modal-body"):null;if(!this._element.parentNode||this._element.parentNode.nodeType!==Node.ELEMENT_NODE){document.body.appendChild(this._element)}this._element.style.display="block";this._element.removeAttribute("aria-hidden");this._element.setAttribute("aria-modal",!0);this._element.setAttribute("role","dialog");if((0,b.default)(this._dialog).hasClass("modal-dialog-scrollable")&&f){f.scrollTop=0}else{this._element.scrollTop=0}if(e){c.default.reflow(this._element)}(0,b.default)(this._element).addClass(F);if(this._config.focus){this._enforceFocus()}var g=b.default.Event(v,{relatedTarget:a}),h=function(){if(d._config.focus){d._element.focus()}d._isTransitioning=!1;(0,b.default)(d._element).trigger(g)};if(e){var i=c.default.getTransitionDurationFromElement(this._dialog);(0,b.default)(this._dialog).one(c.default.TRANSITION_END,h).emulateTransitionEnd(i)}else{h()}}},{key:"_enforceFocus",value:function _enforceFocus(){var a=this;(0,b.default)(document).off(w).on(w,function(c){if(document!==c.target&&a._element!==c.target&&0===(0,b.default)(a._element).has(c.target).length){a._element.focus()}})}},{key:"_setEscapeEvent",value:function _setEscapeEvent(){var a=this;if(this._isShown){(0,b.default)(this._element).on(z,function(b){if(a._config.keyboard&&b.which===o){b.preventDefault();a.hide()}else if(!a._config.keyboard&&b.which===o){a._triggerBackdropTransition()}})}else if(!this._isShown){(0,b.default)(this._element).off(z)}}},{key:"_setResizeEvent",value:function _setResizeEvent(){var a=this;if(this._isShown){(0,b.default)(window).on(x,function(b){return a.handleUpdate(b)})}else{(0,b.default)(window).off(x)}}},{key:"_hideModal",value:function _hideModal(){var a=this;this._element.style.display="none";this._element.setAttribute("aria-hidden",!0);this._element.removeAttribute("aria-modal");this._element.removeAttribute("role");this._isTransitioning=!1;this._showBackdrop(function(){(0,b.default)(document.body).removeClass(D);a._resetAdjustments();a._resetScrollbar();(0,b.default)(a._element).trigger(t)})}},{key:"_removeBackdrop",value:function _removeBackdrop(){if(this._backdrop){(0,b.default)(this._backdrop).remove();this._backdrop=null}}},{key:"_showBackdrop",value:function _showBackdrop(a){var d=this,e=(0,b.default)(this._element).hasClass(E)?E:"";if(this._isShown&&this._config.backdrop){this._backdrop=document.createElement("div");this._backdrop.className="modal-backdrop";if(e){this._backdrop.classList.add(e)}(0,b.default)(this._backdrop).appendTo(document.body);(0,b.default)(this._element).on(y,function(a){if(d._ignoreBackdropClick){d._ignoreBackdropClick=!1;return}if(a.target!==a.currentTarget){return}if("static"===d._config.backdrop){d._triggerBackdropTransition()}else{d.hide()}});if(e){c.default.reflow(this._backdrop)}(0,b.default)(this._backdrop).addClass(F);if(!a){return}if(!e){a();return}var f=c.default.getTransitionDurationFromElement(this._backdrop);(0,b.default)(this._backdrop).one(c.default.TRANSITION_END,a).emulateTransitionEnd(f)}else if(!this._isShown&&this._backdrop){(0,b.default)(this._backdrop).removeClass(F);var g=function(){d._removeBackdrop();if(a){a()}};if((0,b.default)(this._element).hasClass(E)){var h=c.default.getTransitionDurationFromElement(this._backdrop);(0,b.default)(this._backdrop).one(c.default.TRANSITION_END,g).emulateTransitionEnd(h)}else{g()}}else if(a){a()}}},{key:"_adjustDialog",value:function _adjustDialog(){var a=this._element.scrollHeight>document.documentElement.clientHeight;if(!this._isBodyOverflowing&&a){this._element.style.paddingLeft="".concat(this._scrollbarWidth,"px")}if(this._isBodyOverflowing&&!a){this._element.style.paddingRight="".concat(this._scrollbarWidth,"px")}}},{key:"_resetAdjustments",value:function _resetAdjustments(){this._element.style.paddingLeft="";this._element.style.paddingRight=""}},{key:"_checkScrollbar",value:function _checkScrollbar(){var a=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(a.left+a.right) this.hide(event)\n )\n\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n $(this._element).one(EVENT_MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(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 = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(EVENT_FOCUSIN)\n\n $(this._element).removeClass(CLASS_NAME_SHOW)\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(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 $(document).off(EVENT_FOCUSIN)\n\n $.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 Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.defaultPrevented) {\n return\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\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).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, (event) => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(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).removeClass(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(CLASS_NAME_FADE)\n ? CLASS_NAME_FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(EVENT_CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\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 = Math.round(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 const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(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 data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(EVENT_SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(EVENT_HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Modal\n"],"file":"modal.min.js"} \ No newline at end of file +{"version":3,"sources":["../../src/bootstrap/modal.js"],"names":["DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_CLICK_DATA_API","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_SHOW","CLASS_NAME_STATIC","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","element","config","_config","_getConfig","_element","_dialog","querySelector","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_scrollbarWidth","relatedTarget","hide","hasClass","showEvent","Event","trigger","isDefaultPrevented","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","on","event","one","target","is","_showBackdrop","_showElement","preventDefault","hideEvent","transition","document","off","removeClass","transitionDuration","Util","getTransitionDurationFromElement","TRANSITION_END","_hideModal","emulateTransitionEnd","window","forEach","htmlElement","removeData","typeCheckConfig","hideEventPrevented","isModalOverflowing","scrollHeight","documentElement","clientHeight","style","overflowY","classList","add","modalTransitionDuration","remove","modalBody","parentNode","nodeType","Node","ELEMENT_NODE","body","appendChild","display","removeAttribute","setAttribute","scrollTop","reflow","addClass","_enforceFocus","shownEvent","transitionComplete","has","length","which","_triggerBackdropTransition","handleUpdate","_resetAdjustments","_resetScrollbar","callback","animate","createElement","className","appendTo","currentTarget","backdropTransitionDuration","callbackRemove","_removeBackdrop","paddingLeft","paddingRight","rect","getBoundingClientRect","Math","round","left","right","innerWidth","_getScrollbarWidth","fixedContent","slice","call","querySelectorAll","stickyContent","each","index","actualPadding","calculatedPadding","css","data","parseFloat","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","TypeError","selector","getSelectorFromElement","tagName","$target","_jQueryInterface","Constructor","noConflict"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(SELECTOR_DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get 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).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\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 $(this._element).on(\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n $(this._element).one(EVENT_MOUSEUP_DISMISS, event => {\n if ($(event.target).is(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 = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(EVENT_FOCUSIN)\n\n $(this._element).removeClass(CLASS_NAME_SHOW)\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, event => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => $(htmlElement).off(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 $(document).off(EVENT_FOCUSIN)\n\n $.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 Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.isDefaultPrevented()) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n $(this._element).off(Util.TRANSITION_END)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n .emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\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 this._element.setAttribute('role', 'dialog')\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, event => this.handleUpdate(event))\n } else {\n $(window).off(EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing = 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 = Math.round(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 const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(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](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(EVENT_SHOW, showEvent => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(EVENT_HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Modal\n"],"file":"modal.min.js"} \ No newline at end of file diff --git a/theme/boost/amd/build/bootstrap/popover.min.js b/theme/boost/amd/build/bootstrap/popover.min.js index 61c387f0c68..08c216b873c 100644 --- a/theme/boost/amd/build/bootstrap/popover.min.js +++ b/theme/boost/amd/build/bootstrap/popover.min.js @@ -1,2 +1,2 @@ -define ("theme_boost/bootstrap/popover",["exports","jquery","./tooltip"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;b=d(b);c=d(c);function d(a){return a&&a.__esModule?a:{default:a}}function e(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){e=function(a){return typeof a}}else{e=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return e(a)}function f(a,b){if(!(a instanceof b)){throw new TypeError("Cannot call a class as a function")}}function g(a,b){for(var c=0,d;c

"}),z=r({},c.default.DefaultType,{content:"(string|element|function)"}),A={HIDE:"hide".concat(u),HIDDEN:"hidden".concat(u),SHOW:"show".concat(u),SHOWN:"shown".concat(u),INSERTED:"inserted".concat(u),CLICK:"click".concat(u),FOCUSIN:"focusin".concat(u),FOCUSOUT:"focusout".concat(u),MOUSEENTER:"mouseenter".concat(u),MOUSELEAVE:"mouseleave".concat(u)},B=function(a){i(c,a);var d=k(c);function c(){f(this,c);return d.apply(this,arguments)}h(c,[{key:"isWithContent",value:function isWithContent(){return this.getTitle()||this._getContent()}},{key:"addAttachmentClass",value:function addAttachmentClass(a){(0,b.default)(this.getTipElement()).addClass("".concat(w,"-").concat(a))}},{key:"getTipElement",value:function getTipElement(){this.tip=this.tip||(0,b.default)(this.config.template)[0];return this.tip}},{key:"setContent",value:function setContent(){var a=(0,b.default)(this.getTipElement());this.setElementContent(a.find(".popover-header"),this.getTitle());var c=this._getContent();if("function"==typeof c){c=c.call(this.element)}this.setElementContent(a.find(".popover-body"),c);a.removeClass("".concat("fade"," ").concat("show"))}},{key:"_getContent",value:function _getContent(){return this.element.getAttribute("data-content")||this.config.content}},{key:"_cleanTipClass",value:function _cleanTipClass(){var a=(0,b.default)(this.getTipElement()),c=a.attr("class").match(x);if(null!==c&&0

"}),z=r({},c.default.DefaultType,{content:"(string|element|function)"}),A={HIDE:"hide".concat(u),HIDDEN:"hidden".concat(u),SHOW:"show".concat(u),SHOWN:"shown".concat(u),INSERTED:"inserted".concat(u),CLICK:"click".concat(u),FOCUSIN:"focusin".concat(u),FOCUSOUT:"focusout".concat(u),MOUSEENTER:"mouseenter".concat(u),MOUSELEAVE:"mouseleave".concat(u)},B=function(a){i(c,a);var d=k(c);function c(){f(this,c);return d.apply(this,arguments)}h(c,[{key:"isWithContent",value:function isWithContent(){return this.getTitle()||this._getContent()}},{key:"addAttachmentClass",value:function addAttachmentClass(a){(0,b.default)(this.getTipElement()).addClass("".concat(w,"-").concat(a))}},{key:"getTipElement",value:function getTipElement(){this.tip=this.tip||(0,b.default)(this.config.template)[0];return this.tip}},{key:"setContent",value:function setContent(){var a=(0,b.default)(this.getTipElement());this.setElementContent(a.find(".popover-header"),this.getTitle());var c=this._getContent();if("function"==typeof c){c=c.call(this.element)}this.setElementContent(a.find(".popover-body"),c);a.removeClass("".concat("fade"," ").concat("show"))}},{key:"_getContent",value:function _getContent(){return this.element.getAttribute("data-content")||this.config.content}},{key:"_cleanTipClass",value:function _cleanTipClass(){var a=(0,b.default)(this.getTipElement()),c=a.attr("class").match(x);if(null!==c&&0' +\n '
' +\n '

' +\n '
'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\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 addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(SELECTOR_CONTENT), content)\n\n $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\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.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(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 $(this).data(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 data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Popover\n"],"file":"popover.min.js"} \ No newline at end of file +{"version":3,"sources":["../../src/bootstrap/popover.js"],"names":["DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","Default","Tooltip","placement","trigger","content","template","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Popover","getTitle","_getContent","attachment","getTipElement","addClass","tip","config","$tip","setElementContent","find","call","element","removeClass","getAttribute","tabClass","attr","match","length","join","each","data","_config","test","TypeError","_jQueryInterface","Constructor","noConflict"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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: '
' +\n '
' +\n '

' +\n '
'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\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 addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent($tip.find(SELECTOR_CONTENT), content)\n\n $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\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.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(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 $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Popover\n"],"file":"popover.min.js"} \ No newline at end of file diff --git a/theme/boost/amd/build/bootstrap/scrollspy.min.js b/theme/boost/amd/build/bootstrap/scrollspy.min.js index 2fa14269d84..2c0bfeef21d 100644 --- a/theme/boost/amd/build/bootstrap/scrollspy.min.js +++ b/theme/boost/amd/build/bootstrap/scrollspy.min.js @@ -1,2 +1,2 @@ -define ("theme_boost/bootstrap/scrollspy",["exports","jquery","./util"],function(a,b,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;b=d(b);c=d(c);function d(a){return a&&a.__esModule?a:{default:a}}function e(a){"@babel/helpers - typeof";if("function"==typeof Symbol&&"symbol"==typeof Symbol.iterator){e=function(a){return typeof a}}else{e=function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a}}return e(a)}function f(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);if(b)d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable});c.push.apply(c,d)}return c}function g(a){for(var b=1,c;b=c){var d=this._targets[this._targets.length-1];if(this._activeTarget!==d){this._activate(d)}return}if(this._activeTarget&&a=this._offsets[e]&&("undefined"==typeof this._offsets[e+1]||a=c){var d=this._targets[this._targets.length-1];if(this._activeTarget!==d){this._activate(d)}return}if(this._activeTarget&&a=this._offsets[e]&&("undefined"==typeof this._offsets[e+1]||a this._process(event))\n\n this.refresh()\n this._process()\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 ? METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\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 $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(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' && Util.isElement(config.target)) {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : 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 : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\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\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN)\n .find(SELECTOR_DROPDOWN_TOGGLE)\n .addClass(CLASS_NAME_ACTIVE)\n $link.addClass(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE)\n // Set triggered links parents as active\n // With both
    and