{"version":3,"file":"collapse.min.js","sources":["https:\/\/falms.fa.gov.sa\/theme\/boost\/amd\/src\/bootstrap\/collapse.js"],"sourcesContent":["\/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.2): 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 * Constants\n *\/\n\nconst NAME = 'collapse'\nconst VERSION = '4.6.2'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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 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 SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\n\/**\n * Class definition\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 static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n \/\/ Public\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 _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 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 * Data API implementation\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 * jQuery\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"],"names":["_interopRequireDefault","obj","__esModule","default","_jquery","_util","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","this","_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","VERSION","hasClass","hide","show","actives","activesData","getAttribute","classList","contains","not","data","startEvent","Event","trigger","isDefaultPrevented","_jQueryInterface","dimension","_getDimension","removeClass","addClass","style","attr","setTransitioning","scrollSize","toUpperCase","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","complete","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","_default","_exports"],"mappings":"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\/BA,OAASc,SAAS4D,cAAcpE,KAAKG,QAAQT,QAG\/C,MAAMsB,SAAY,yCAAwChB,KAAKG,QAAQT,WACjE2E,SAAW,GAAG\/D,MAAMC,KAAKb,OAAOe,iBAAiBO,WASvD,OAPA,EAAA\/B,iBAAEoF,UAAUC,MAAK,CAAC1D,EAAGd,WACnBE,KAAK0B,0BACH9B,SAAS2E,sBAAsBzE,SAC\/B,CAACA,SACF,IAGIJ,OAGTgC,yBAAAA,CAA0B5B,QAAS0E,cACjC,MAAMC,QAAS,EAAAxF,iBAAEa,SAAS8B,SAxRN,QA0RhB4C,aAAa1D,SACf,EAAA7B,iBAAEuF,cACCE,YAzRoB,aAyReD,QACnCzB,KAAK,gBAAiByB,QAK7B,4BAAOF,CAAsBzE,SAC3B,MAAMkB,SAAWC,cAAKC,uBAAuBpB,SAC7C,OAAOkB,SAAWR,SAAS4D,cAAcpD,UAAY,KAGvD,uBAAO0B,CAAiB3C,QACtB,OAAOC,KAAKsE,MAAK,WACf,MAAMK,UAAW,EAAA1F,iBAAEe,MACnB,IAAIqC,KAAOsC,SAAStC,KAAKvD,UACzB,MAAMqB,QAAU,IACXX,WACAmF,SAAStC,UACU,iBAAXtC,QAAuBA,OAASA,OAAS,IAYtD,IATKsC,MAAQlC,QAAQV,QAA4B,iBAAXM,QAAuB,YAAY6E,KAAK7E,UAC5EI,QAAQV,QAAS,GAGd4C,OACHA,KAAO,IAAIzC,SAASI,KAAMG,SAC1BwE,SAAStC,KAAKvD,SAAUuD,OAGJ,iBAAXtC,OAAqB,CAC9B,QAA4B,IAAjBsC,KAAKtC,QACd,MAAM,IAAI8E,UAAW,oBAAmB9E,WAG1CsC,KAAKtC,gBAUb,EAAAd,iBAAEuB,UAAUsE,GAAGvF,qBA1Tc,4BA0T8B,SAAUwF,OAE\/B,MAAhCA,MAAMC,cAAcC,SACtBF,MAAMG,iBAGR,MAAMC,UAAW,EAAAlG,iBAAEe,MACbgB,SAAWC,cAAKC,uBAAuBlB,MACvCoF,UAAY,GAAG9E,MAAMC,KAAKC,SAASC,iBAAiBO,YAE1D,EAAA\/B,iBAAEmG,WAAWd,MAAK,WAChB,MAAMe,SAAU,EAAApG,iBAAEe,MAEZD,OADOsF,QAAQhD,KAAKvD,UACJ,SAAWqG,SAAS9C,OAC1CzC,SAAS8C,iBAAiBnC,KAAK8E,QAAStF,cAQ5Cd,gBAAEC,GAAGL,MAAQe,SAAS8C,iBACtBzD,gBAAEC,GAAGL,MAAMyG,YAAc1F,SACzBX,gBAAEC,GAAGL,MAAM0G,WAAa,KACtBtG,gBAAEC,GAAGL,MAAQG,mBACNY,SAAS8C,kBACjB,IAAA8C,SAEc5F,SAAQ,OAAA6F,SAAA\/G,QAAA8G,SAAAC,SAAA\/G,OAAA"}