{"version":3,"sources":["../src/collapse.js"],"names":["NAME","DATA_KEY","JQUERY_NO_CONFLICT","$","Default","toggle","parent","DefaultType","Event","SHOW","SHOWN","HIDE","HIDDEN","CLICK_DATA_API","ClassName","Dimension","Selector","ACTIVES","DATA_TOGGLE","Collapse","element","config","this","_isTransitioning","_element","_config","_getConfig","_triggerArray","slice","call","document","id","toggleList","i","len","length","elem","selector","Util","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","_this","querySelectorAll","startEvent","isDefaultPrevented","dimension","_getDimension","style","setTransitioning","scrollSize","transitionDuration","_this2","getBoundingClientRect","triggerArrayLength","trigger","$elem","isTransitioning","dispose","_objectSpread2","Boolean","_this3","jquery","children","isOpen","triggerArray","_getTargetFromElement","_jQueryInterface","each","$this","data","_typeof","test","TypeError","event","$trigger","selectors","$target"],"mappings":"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","file":"../../../scripts/Bootstrap/collapse-1fa409cc6c.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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.4.1'\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 = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].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(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.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(ClassName.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(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.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(ClassName.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(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.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(ClassName.COLLAPSING)\n .addClass(ClassName.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 =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\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(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.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 && /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"]}