{"version":3,"file":"656.f518ea0822e3cc07e88a.js","mappings":"8IAEA,MAAMA,EAEFC,YAAYC,GAGR,GAFAC,KAAKC,MAAQ,GAEK,MADAF,EAAGG,cAAc,6BACX,CACpB,IAAIC,EAAIJ,EAAGK,iBAAiB,gCACpB,MAALD,GACCA,EAAEE,SAAQ,CAACC,EAAEC,KACTP,KAAKC,MAAMM,GAAI,CACXC,SAAUF,EACVG,WAAYC,SAASR,cAAcI,EAAEK,QAAQC,WAGjDZ,KAAKC,MAAMM,GAAGE,WAAWI,iBAAiB,oBAAoB,KAC1Db,KAAKc,YAAYP,UAOrCO,YAAYP,GACR,IAAIQ,EAAkBf,KAAKC,MAAMM,GAAGC,SAASQ,wBAAwBC,IAClEF,EAAkB,GACjBG,OAAOC,SAAS,EAAIJ,EAAkBG,OAAOE,SAAYC,SAASH,OAAOI,iBAAiBZ,SAASa,MAAMC,iBAAiB,gBA3BvH,MAkCR,SAASC,EAAWC,GACvBA,EAASrB,SAASsB,IAEQ,IAAlBA,EAAKC,UACL,IAAI/B,EAAU8B","sources":["webpack://iflyworld.web/./wwwroot/app/src/js/accordion.js"],"sourcesContent":["const spacer = 30; // gap below header\r\n\r\nclass Accordion {\r\n\r\n constructor(el) {\r\n this.items = [];\r\n let forcesClose = el.querySelector('.collapse[data-bs-parent]');\r\n if(forcesClose != null) { // only enable if accordion is set to close an area when a new one is opened\r\n let f = el.querySelectorAll('*[data-bs-toggle=\"collapse\"]');\r\n if(f != null) {\r\n f.forEach((t,i) => {\r\n this.items[i]= {\r\n toggleEl: t,\r\n collapseEl: document.querySelector(t.dataset.bsTarget)\r\n };\r\n // add behaviour\r\n this.items[i].collapseEl.addEventListener('hide.bs.collapse', () => {\r\n this.checkScroll(i);\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n checkScroll(i) {\r\n let activeToggleTop = this.items[i].toggleEl.getBoundingClientRect().top;\r\n if(activeToggleTop < 0) {\r\n window.scrollTo(0, (activeToggleTop + window.scrollY) - (parseInt(window.getComputedStyle(document.body).getPropertyValue(\"padding-top\")) + spacer));\r\n }\r\n }\r\n\r\n}\r\n\r\n// export the default function to create\r\nexport function createFrom(wrappers) {\r\n wrappers.forEach((node) => {\r\n // if node is an element\r\n if (node.nodeType === 1) {\r\n new Accordion(node);\r\n }\r\n });\r\n}"],"names":["Accordion","constructor","el","this","items","querySelector","f","querySelectorAll","forEach","t","i","toggleEl","collapseEl","document","dataset","bsTarget","addEventListener","checkScroll","activeToggleTop","getBoundingClientRect","top","window","scrollTo","scrollY","parseInt","getComputedStyle","body","getPropertyValue","createFrom","wrappers","node","nodeType"],"sourceRoot":""}