{"version":3,"sources":["block-accordion.js"],"names":["BlockAccordion","constructor","container","options","this","Object","assign","tabs","document","querySelector","querySelectorAll","setEvents","onLoad","self","forEach","tab","addEventListener","clickTab","id","URL","location","searchParams","get","filterMiniFaq","let","i","itemsOpen","length","classList","add","block","toggleBlockAccordion","clickedBlock","toggle","remove","contains"],"mappings":"qBAAqBA,eACjBC,YAAYC,EAAWC,GAKnBC,KAAKD,QAAUE,OAAOC,OAAO,GAJN,CACnBC,KAAM,wBACV,EAEiDJ,CAAO,EACxDC,KAAKF,UAAYM,SAASC,cAAcP,CAAS,EACjDE,KAAKG,KAAOH,KAAKF,UAAUQ,iBAAiBN,KAAKD,QAAQI,IAAI,EAE7DH,KAAKO,UAAU,EACfP,KAAKQ,OAAO,CAChB,CAEAD,YACI,IAAIE,EAAOT,KACXA,KAAKG,KAAKO,QAAQC,IACfA,EAAIC,iBAAiB,QAAS,WAAaH,EAAKI,SAASb,IAAI,CAAG,CAAC,CACpE,CAAC,CACL,CAEAQ,SACI,IACIM,EADS,IAAKC,IAAIX,SAASY,QAAS,EAAEC,aAC1BC,IAAI,MAAM,EAEf,OAAPJ,GACFd,KAAKmB,cAAcL,CAAE,EAGvB,IAAKM,IAAIC,EAAI,EAAGA,EAAIrB,KAAKsB,WAAaD,EAAIrB,KAAKG,KAAKoB,OAAQF,CAAC,GAC3DrB,KAAKG,KAAKkB,GAAGG,UAAUC,IAAI,YAAY,EAGzCzB,KAAKG,KAAKO,QAAQgB,IAChBA,EAAMd,iBAAiB,QAAS,KAC9BZ,KAAK2B,qBAAqBD,CAAK,CACjC,CAAC,CACH,CAAC,CACL,CAEAC,qBAAqBC,GACjB5B,KAAKG,KAAKO,QAAQgB,IACZA,IAAUE,EACZF,EAAMF,UAAUK,OAAO,YAAY,EAEnCH,EAAMF,UAAUM,OAAO,YAAY,CAEvC,CAAC,CACH,CAEFX,cAAcL,GACVd,KAAKG,KAAKO,QAAQC,IACVA,EAAIa,UAAUO,SAAS,MAAM,EAC7BpB,EAAIa,UAAUM,OAAO,MAAM,EAE3BnB,EAAIa,UAAUC,IAAI,MAAM,EAGxBd,EAAIa,UAAUO,SAASjB,CAAE,EACzBH,EAAIa,UAAUC,IAAI,QAAQ,EAE1Bd,EAAIa,UAAUM,OAAO,QAAQ,CAErC,CAAC,CACL,CACJ","file":"block-accordion.min.js","sourcesContent":["export default class BlockAccordion {\r\n constructor(container, options) {\r\n const defaultOptions = {\r\n tabs: '.block-container .item'\r\n };\r\n\r\n this.options = Object.assign({}, defaultOptions, options);\r\n this.container = document.querySelector(container);\r\n this.tabs = this.container.querySelectorAll(this.options.tabs);\r\n \r\n this.setEvents();\r\n this.onLoad(); \r\n }\r\n\r\n setEvents() {\r\n var self = this;\r\n this.tabs.forEach(tab => {\r\n tab.addEventListener('click', function() { self.clickTab(this); }); \r\n });\r\n }\r\n\r\n onLoad() { \r\n var params = (new URL(document.location)).searchParams\r\n var id = params.get(\"show\")\r\n\r\n if (id !== null) {\r\n this.filterMiniFaq(id);\r\n }\r\n \r\n for (let i = 0; i < this.itemsOpen && i < this.tabs.length; i++) {\r\n this.tabs[i].classList.add('show-block');\r\n }\r\n \r\n this.tabs.forEach(block => {\r\n block.addEventListener('click', () => {\r\n this.toggleBlockAccordion(block)\r\n })\r\n })\r\n }\r\n\r\n toggleBlockAccordion(clickedBlock) {\r\n this.tabs.forEach(block => {\r\n if (block === clickedBlock) {\r\n block.classList.toggle('show-block')\r\n } else {\r\n block.classList.remove('show-block')\r\n }\r\n })\r\n }\r\n\r\n filterMiniFaq(id) {\r\n this.tabs.forEach(tab => {\r\n if (tab.classList.contains('show')) {\r\n tab.classList.remove('show')\r\n } else {\r\n tab.classList.add('show')\r\n }\r\n \r\n if (tab.classList.contains(id)) {\r\n tab.classList.add('active')\r\n } else {\r\n tab.classList.remove('active')\r\n }\r\n })\r\n }\r\n}"]}