{"version":3,"file":"collapse.min.js","sources":["https:\/\/edu.betha.com.br\/theme\/smart\/amd\/src\/bootstrap\/collapse.js"],"sourcesContent":["\/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v4.6.2): collapse.js\r\n * Licensed under MIT (https:\/\/github.com\/twbs\/bootstrap\/blob\/main\/LICENSE)\r\n * --------------------------------------------------------------------------\r\n *\/\r\n\r\nimport $ from 'jquery'\r\nimport Util from '.\/util'\r\n\r\n\/**\r\n * Constants\r\n *\/\r\n\r\nconst NAME = 'collapse'\r\nconst VERSION = '4.6.2'\r\nconst DATA_KEY = 'bs.collapse'\r\nconst EVENT_KEY = `.${DATA_KEY}`\r\nconst DATA_API_KEY = '.data-api'\r\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\r\n\r\nconst CLASS_NAME_SHOW = 'show'\r\nconst CLASS_NAME_COLLAPSE = 'collapse'\r\nconst CLASS_NAME_COLLAPSING = 'collapsing'\r\nconst CLASS_NAME_COLLAPSED = 'collapsed'\r\n\r\nconst DIMENSION_WIDTH = 'width'\r\nconst DIMENSION_HEIGHT = 'height'\r\n\r\nconst EVENT_SHOW = `show${EVENT_KEY}`\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\r\n\r\nconst SELECTOR_ACTIVES = '.show, .collapsing'\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\r\n\r\nconst Default = {\r\n toggle: true,\r\n parent: ''\r\n}\r\n\r\nconst DefaultType = {\r\n toggle: 'boolean',\r\n parent: '(string|element)'\r\n}\r\n\r\n\/**\r\n * Class definition\r\n *\/\r\n\r\nclass Collapse {\r\n constructor(element, config) {\r\n this._isTransitioning = false\r\n this._element = element\r\n this._config = this._getConfig(config)\r\n this._triggerArray = [].slice.call(document.querySelectorAll(\r\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\r\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\r\n ))\r\n\r\n const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\r\n for (let i = 0, len = toggleList.length; i < len; i++) {\r\n const elem = toggleList[i]\r\n const selector = Util.getSelectorFromElement(elem)\r\n const filterElement = [].slice.call(document.querySelectorAll(selector))\r\n .filter(foundElem => foundElem === element)\r\n\r\n if (selector !== null && filterElement.length > 0) {\r\n this._selector = selector\r\n this._triggerArray.push(elem)\r\n }\r\n }\r\n\r\n this._parent = this._config.parent ? this._getParent() : null\r\n\r\n if (!this._config.parent) {\r\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\r\n }\r\n\r\n if (this._config.toggle) {\r\n this.toggle()\r\n }\r\n }\r\n\r\n \/\/ Getters\r\n static get VERSION() {\r\n return VERSION\r\n }\r\n\r\n static get Default() {\r\n return Default\r\n }\r\n\r\n \/\/ Public\r\n toggle() {\r\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\r\n this.hide()\r\n } else {\r\n this.show()\r\n }\r\n }\r\n\r\n show() {\r\n if (this._isTransitioning ||\r\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\r\n return\r\n }\r\n\r\n let actives\r\n let activesData\r\n\r\n if (this._parent) {\r\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\r\n .filter(elem => {\r\n if (typeof this._config.parent === 'string') {\r\n return elem.getAttribute('data-parent') === this._config.parent\r\n }\r\n\r\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\r\n })\r\n\r\n if (actives.length === 0) {\r\n actives = null\r\n }\r\n }\r\n\r\n if (actives) {\r\n activesData = $(actives).not(this._selector).data(DATA_KEY)\r\n if (activesData && activesData._isTransitioning) {\r\n return\r\n }\r\n }\r\n\r\n const startEvent = $.Event(EVENT_SHOW)\r\n $(this._element).trigger(startEvent)\r\n if (startEvent.isDefaultPrevented()) {\r\n return\r\n }\r\n\r\n if (actives) {\r\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\r\n if (!activesData) {\r\n $(actives).data(DATA_KEY, null)\r\n }\r\n }\r\n\r\n const dimension = this._getDimension()\r\n\r\n $(this._element)\r\n .removeClass(CLASS_NAME_COLLAPSE)\r\n .addClass(CLASS_NAME_COLLAPSING)\r\n\r\n this._element.style[dimension] = 0\r\n\r\n if (this._triggerArray.length) {\r\n $(this._triggerArray)\r\n .removeClass(CLASS_NAME_COLLAPSED)\r\n .attr('aria-expanded', true)\r\n }\r\n\r\n this.setTransitioning(true)\r\n\r\n const complete = () => {\r\n $(this._element)\r\n .removeClass(CLASS_NAME_COLLAPSING)\r\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\r\n\r\n this._element.style[dimension] = ''\r\n\r\n this.setTransitioning(false)\r\n\r\n $(this._element).trigger(EVENT_SHOWN)\r\n }\r\n\r\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\r\n const scrollSize = `scroll${capitalizedDimension}`\r\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\r\n\r\n $(this._element)\r\n .one(Util.TRANSITION_END, complete)\r\n .emulateTransitionEnd(transitionDuration)\r\n\r\n this._element.style[dimension] = `${this._element[scrollSize]}px`\r\n }\r\n\r\n hide() {\r\n if (this._isTransitioning ||\r\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\r\n return\r\n }\r\n\r\n const startEvent = $.Event(EVENT_HIDE)\r\n $(this._element).trigger(startEvent)\r\n if (startEvent.isDefaultPrevented()) {\r\n return\r\n }\r\n\r\n const dimension = this._getDimension()\r\n\r\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\r\n\r\n Util.reflow(this._element)\r\n\r\n $(this._element)\r\n .addClass(CLASS_NAME_COLLAPSING)\r\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\r\n\r\n const triggerArrayLength = this._triggerArray.length\r\n if (triggerArrayLength > 0) {\r\n for (let i = 0; i < triggerArrayLength; i++) {\r\n const trigger = this._triggerArray[i]\r\n const selector = Util.getSelectorFromElement(trigger)\r\n\r\n if (selector !== null) {\r\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\r\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\r\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\r\n .attr('aria-expanded', false)\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.setTransitioning(true)\r\n\r\n const complete = () => {\r\n this.setTransitioning(false)\r\n $(this._element)\r\n .removeClass(CLASS_NAME_COLLAPSING)\r\n .addClass(CLASS_NAME_COLLAPSE)\r\n .trigger(EVENT_HIDDEN)\r\n }\r\n\r\n this._element.style[dimension] = ''\r\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\r\n\r\n $(this._element)\r\n .one(Util.TRANSITION_END, complete)\r\n .emulateTransitionEnd(transitionDuration)\r\n }\r\n\r\n setTransitioning(isTransitioning) {\r\n this._isTransitioning = isTransitioning\r\n }\r\n\r\n dispose() {\r\n $.removeData(this._element, DATA_KEY)\r\n\r\n this._config = null\r\n this._parent = null\r\n this._element = null\r\n this._triggerArray = null\r\n this._isTransitioning = null\r\n }\r\n\r\n \/\/ Private\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...config\r\n }\r\n config.toggle = Boolean(config.toggle) \/\/ Coerce string values\r\n Util.typeCheckConfig(NAME, config, DefaultType)\r\n return config\r\n }\r\n\r\n _getDimension() {\r\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\r\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\r\n }\r\n\r\n _getParent() {\r\n let parent\r\n\r\n if (Util.isElement(this._config.parent)) {\r\n parent = this._config.parent\r\n\r\n \/\/ It's a jQuery object\r\n if (typeof this._config.parent.jquery !== 'undefined') {\r\n parent = this._config.parent[0]\r\n }\r\n } else {\r\n parent = document.querySelector(this._config.parent)\r\n }\r\n\r\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\r\n const children = [].slice.call(parent.querySelectorAll(selector))\r\n\r\n $(children).each((i, element) => {\r\n this._addAriaAndCollapsedClass(\r\n Collapse._getTargetFromElement(element),\r\n [element]\r\n )\r\n })\r\n\r\n return parent\r\n }\r\n\r\n _addAriaAndCollapsedClass(element, triggerArray) {\r\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\r\n\r\n if (triggerArray.length) {\r\n $(triggerArray)\r\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\r\n .attr('aria-expanded', isOpen)\r\n }\r\n }\r\n\r\n \/\/ Static\r\n static _getTargetFromElement(element) {\r\n const selector = Util.getSelectorFromElement(element)\r\n return selector ? document.querySelector(selector) : null\r\n }\r\n\r\n static _jQueryInterface(config) {\r\n return this.each(function () {\r\n const $element = $(this)\r\n let data = $element.data(DATA_KEY)\r\n const _config = {\r\n ...Default,\r\n ...$element.data(),\r\n ...(typeof config === 'object' && config ? config : {})\r\n }\r\n\r\n if (!data && _config.toggle && typeof config === 'string' && \/show|hide\/.test(config)) {\r\n _config.toggle = false\r\n }\r\n\r\n if (!data) {\r\n data = new Collapse(this, _config)\r\n $element.data(DATA_KEY, data)\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`)\r\n }\r\n\r\n data[config]()\r\n }\r\n })\r\n }\r\n}\r\n\r\n\/**\r\n * Data API implementation\r\n *\/\r\n\r\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n \/\/ preventDefault only for elements (which change the URL) not inside the collapsible element\r\n if (event.currentTarget.tagName === 'A') {\r\n event.preventDefault()\r\n }\r\n\r\n const $trigger = $(this)\r\n const selector = Util.getSelectorFromElement(this)\r\n const selectors = [].slice.call(document.querySelectorAll(selector))\r\n\r\n $(selectors).each(function () {\r\n const $target = $(this)\r\n const data = $target.data(DATA_KEY)\r\n const config = data ? 'toggle' : $trigger.data()\r\n Collapse._jQueryInterface.call($target, config)\r\n })\r\n})\r\n\r\n\/**\r\n * jQuery\r\n *\/\r\n\r\n$.fn[NAME] = Collapse._jQueryInterface\r\n$.fn[NAME].Constructor = Collapse\r\n$.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT\r\n return Collapse._jQueryInterface\r\n}\r\n\r\nexport default Collapse\r\n"],"names":["NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_CLICK_DATA_API","Default","toggle","parent","DefaultType","Collapse","constructor","element","config","_isTransitioning","_element","_config","this","_getConfig","_triggerArray","slice","call","document","querySelectorAll","id","toggleList","i","len","length","elem","selector","Util","getSelectorFromElement","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","VERSION","hasClass","hide","show","actives","activesData","getAttribute","classList","contains","not","data","startEvent","Event","trigger","isDefaultPrevented","_jQueryInterface","dimension","_getDimension","removeClass","addClass","style","attr","setTransitioning","capitalizedDimension","toUpperCase","scrollSize","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","getBoundingClientRect","reflow","triggerArrayLength","isTransitioning","dispose","removeData","Boolean","typeCheckConfig","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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\/B,OAEAuB,cAAKiD,UAAU\/D,KAAKD,QAAQR,SAC9BA,OAASS,KAAKD,QAAQR,YAGoB,IAA\/BS,KAAKD,QAAQR,OAAOyE,SAC7BzE,OAASS,KAAKD,QAAQR,OAAO,KAG\/BA,OAASc,SAAS4D,cAAcjE,KAAKD,QAAQR,cAGzCsB,yDAAoDb,KAAKD,QAAQR,aACjE2E,SAAW,GAAG\/D,MAAMC,KAAKb,OAAOe,iBAAiBO,qCAErDqD,UAAUC,MAAK,CAAC1D,EAAGd,gBACd4B,0BACH9B,SAAS2E,sBAAsBzE,SAC\/B,CAACA,aAIEJ,OAGTgC,0BAA0B5B,QAAS0E,oBAC3BC,QAAS,mBAAE3E,SAAS8B,SAxRN,QA0RhB4C,aAAa1D,4BACb0D,cACCE,YAzRoB,aAyReD,QACnCzB,KAAK,gBAAiByB,qCAKA3E,eACrBkB,SAAWC,cAAKC,uBAAuBpB,gBACtCkB,SAAWR,SAAS4D,cAAcpD,UAAY,6BAG\/BjB,eACfI,KAAKmE,MAAK,iBACTK,UAAW,mBAAExE,UACfkC,KAAOsC,SAAStC,KAAKvD,gBACnBoB,QAAU,IACXV,WACAmF,SAAStC,UACU,iBAAXtC,QAAuBA,OAASA,OAAS,QAGjDsC,MAAQnC,QAAQT,QAA4B,iBAAXM,QAAuB,YAAY6E,KAAK7E,UAC5EG,QAAQT,QAAS,GAGd4C,OACHA,KAAO,IAAIzC,SAASO,KAAMD,SAC1ByE,SAAStC,KAAKvD,SAAUuD,OAGJ,iBAAXtC,OAAqB,SACF,IAAjBsC,KAAKtC,cACR,IAAI8E,qCAA8B9E,aAG1CsC,KAAKtC,mCAUXS,UAAUsE,GAAGvF,qBA1Tc,4BA0T8B,SAAUwF,OAE\/B,MAAhCA,MAAMC,cAAcC,SACtBF,MAAMG,uBAGFC,UAAW,mBAAEhF,MACba,SAAWC,cAAKC,uBAAuBf,MACvCiF,UAAY,GAAG9E,MAAMC,KAAKC,SAASC,iBAAiBO,+BAExDoE,WAAWd,MAAK,iBACVe,SAAU,mBAAElF,MAEZJ,OADOsF,QAAQhD,KAAKvD,UACJ,SAAWqG,SAAS9C,OAC1CzC,SAAS8C,iBAAiBnC,KAAK8E,QAAStF,8BAQ1Cb,GAAGL,MAAQe,SAAS8C,iCACpBxD,GAAGL,MAAMyG,YAAc1F,yBACvBV,GAAGL,MAAM0G,WAAa,qBACpBrG,GAAGL,MAAQG,mBACNY,SAAS8C,+BAGH9C"}