{"version":3,"sources":["block-mini-faq.js"],"names":["BlockMiniFaq","constructor","container","options","this","Object","assign","mode","itemsOpen","tabs","document","querySelector","querySelectorAll","setEvents","onLoad","self","forEach","tab","addEventListener","clickTab","id","URL","location","searchParams","get","filterMiniFaq","let","i","length","classList","add","block","toggleAccordionBlock","clickedBlock","toggle","remove","showFirstTab","elem","contains"],"mappings":"qBAAqBA,aACnBC,YAAYC,EAAWC,GAOnBC,KAAKD,QAAUE,OAAOC,OAAO,GANN,CACrBC,KAAM,WACNC,UAAW,EACXC,KAAM,4CACR,EAEiDN,CAAO,EACxDC,KAAKF,UAAYQ,SAASC,cAAcT,CAAS,EACjDE,KAAKK,KAAOL,KAAKF,UAAUU,iBAAiBR,KAAKD,QAAQM,IAAI,EAC7DL,KAAKI,UAAYJ,KAAKD,QAAQK,UAE9BJ,KAAKS,UAAU,EACfT,KAAKU,OAAO,CAChB,CAEAD,YACI,IAAIE,EAAOX,KACXA,KAAKK,KAAKO,QAAQC,IACfA,EAAIC,iBAAiB,QAAS,WAAaH,EAAKI,SAASf,IAAI,CAAG,CAAC,CACpE,CAAC,CACL,CAEAU,SACI,IACIM,EADS,IAAKC,IAAIX,SAASY,QAAS,EAAEC,aAC1BC,IAAI,MAAM,EAEf,OAAPJ,GACFhB,KAAKqB,cAAcL,CAAE,EAGvB,IAAKM,IAAIC,EAAI,EAAGA,EAAIvB,KAAKI,WAAamB,EAAIvB,KAAKK,KAAKmB,OAAQD,CAAC,GAC3DvB,KAAKK,KAAKkB,GAAGE,UAAUC,IAAI,YAAY,EAGzC1B,KAAKK,KAAKO,QAAQe,IAChBA,EAAMb,iBAAiB,QAAS,KAC9Bd,KAAK4B,qBAAqBD,CAAK,CACjC,CAAC,CACH,CAAC,CACL,CAEAC,qBAAqBC,GACnB7B,KAAKK,KAAKO,QAAQe,IACZA,IAAUE,EACZF,EAAMF,UAAUK,OAAO,YAAY,EAEnCH,EAAMF,UAAUM,OAAO,YAAY,CAEvC,CAAC,CACH,CAEAC,eACIhC,KAAKe,SAASf,KAAKK,KAAK,EAAE,CAC9B,CAEAU,SAASkB,GACLjC,KAAKqB,cAAc,CACvB,CAEAA,cAAcL,GACVhB,KAAKK,KAAKO,QAAQC,IACVA,EAAIY,UAAUS,SAAS,MAAM,EAC7BrB,EAAIY,UAAUM,OAAO,MAAM,EAE3BlB,EAAIY,UAAUC,IAAI,MAAM,EAGxBb,EAAIY,UAAUS,SAASlB,CAAE,EACzBH,EAAIY,UAAUC,IAAI,QAAQ,EAE1Bb,EAAIY,UAAUM,OAAO,QAAQ,CAErC,CAAC,CACL,CACF","file":"block-mini-faq.min.js","sourcesContent":["export default class BlockMiniFaq {\r\n constructor(container, options) {\r\n const defaultOptions = {\r\n mode: 'expanded',\r\n itemsOpen: 0,\r\n tabs: '.question-blocks-container .question-block'\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 this.itemsOpen = this.options.itemsOpen;\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.toggleAccordionBlock(block)\r\n })\r\n })\r\n }\r\n\r\n toggleAccordionBlock(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 showFirstTab() {\r\n this.clickTab(this.tabs[0]);\r\n }\r\n \r\n clickTab(elem) {\r\n this.filterMiniFaq();\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}"]}