{"version":3,"file":"6043-84fee395.pkg.js","mappings":"uJAEA,MAAMA,UAAeC,EAAAA,EACnBC,WAAAA,CAAYC,GACVC,MAAMD,GACNE,KAAKF,QAAUA,EACfE,KAAKC,SAAWD,KAAKE,SAASD,SAAWE,SAASC,cAAcJ,KAAKE,SAASD,UAAYD,KAAKF,QAC/FE,KAAKK,OAASL,KAAKE,SAASG,OAASF,SAASC,cAAcJ,KAAKE,SAASG,QAAUL,KAAKF,QACzFE,KAAKM,YAAcN,KAAKE,SAASI,aAAe,YAChDN,KAAKO,qBAAuBP,KAAKE,SAASK,uBAAwB,EAElEP,KAAKQ,MACP,CAEAA,IAAAA,GACOR,KAAKC,UAAaD,KAAKK,SAII,iBAArBL,KAAKM,cACdN,KAAKM,YAAc,CAACN,KAAKM,cAG3BN,KAAKC,SAASQ,iBAAiB,SAAUC,IACvCV,KAAKW,cAAcD,EAAG,IACrB,GAECV,KAAKO,sBACPP,KAAKY,0BAET,CAEAA,uBAAAA,GACEC,OAAOJ,iBAAiB,SAAS,KACC,iBAArBT,KAAKM,aACdN,KAAKK,OAAOS,UAAUC,OAAOf,KAAKM,aAGhCU,MAAMC,QAAQjB,KAAKM,cACrBN,KAAKM,YAAYY,KAAKC,IACpBnB,KAAKK,OAAOS,UAAUC,OAAOI,EAAS,GAE1C,GAEJ,CAEAR,aAAAA,CAAcD,GACZA,EAAGU,iBACHV,EAAGW,kBAE6B,iBAArBrB,KAAKM,aACdN,KAAKK,OAAOS,UAAUQ,OAAOtB,KAAKM,aAGhCU,MAAMC,QAAQjB,KAAKM,cACrBN,KAAKM,YAAYY,KAAKC,IACpBnB,KAAKK,OAAOS,UAAUQ,OAAOH,EAAS,GAG5C,EAGF,W","sources":["webpack://frontend-build-tools/./src/feature/toggle/toggle.js"],"sourcesContent":["import BaseFeature from 'foundation/base/base';\r\n\r\nclass Toggle extends BaseFeature {\r\n constructor(element) {\r\n super(element);\r\n this.element = element;\r\n this.selector = this.settings.selector ? document.querySelector(this.settings.selector) : this.element;\r\n this.target = this.settings.target ? document.querySelector(this.settings.target) : this.element;\r\n this.toggleClass = this.settings.toggleClass ?? 'is-hidden';\r\n this.removeOnOutsideClick = this.settings.removeOnOutsideClick ?? false;\r\n\r\n this.init();\r\n }\r\n\r\n init() {\r\n if (!this.selector || !this.target) {\r\n return;\r\n }\r\n\r\n if (typeof this.toggleClass === 'string') {\r\n this.toggleClass = [this.toggleClass];\r\n }\r\n\r\n this.selector.addEventListener('click', (ev) => {\r\n this.clickListener(ev);\r\n }, false);\r\n\r\n if (this.removeOnOutsideClick) {\r\n this.setOutsideClickListener();\r\n }\r\n }\r\n\r\n setOutsideClickListener() {\r\n window.addEventListener('click', () => {\r\n if (typeof this.toggleClass === 'string') {\r\n this.target.classList.remove(this.toggleClass);\r\n }\r\n\r\n if (Array.isArray(this.toggleClass)) {\r\n this.toggleClass.map((cssClass) => {\r\n this.target.classList.remove(cssClass);\r\n });\r\n }\r\n });\r\n }\r\n\r\n clickListener(ev) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n\r\n if (typeof this.toggleClass === 'string') {\r\n this.target.classList.toggle(this.toggleClass);\r\n }\r\n\r\n if (Array.isArray(this.toggleClass)) {\r\n this.toggleClass.map((cssClass) => {\r\n this.target.classList.toggle(cssClass);\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default Toggle;\r\n"],"names":["Toggle","BaseFeature","constructor","element","super","this","selector","settings","document","querySelector","target","toggleClass","removeOnOutsideClick","init","addEventListener","ev","clickListener","setOutsideClickListener","window","classList","remove","Array","isArray","map","cssClass","preventDefault","stopPropagation","toggle"],"sourceRoot":""}