{"version":3,"file":"131.6535660777148239e27e.js","mappings":"yHAqEA,UArEA,MACEA,WAAAA,CAAYC,GACVC,KAAKC,UAAYF,EACjBC,KAAKE,YACP,CAEAA,UAAAA,GA0BE,GAzBAF,KAAKC,UAAUE,iBAAiB,SAASC,IACvC,GAA8B,MAA1BA,EAAMC,OAAOC,SAAkB,CACjC,MAAMC,EAASP,KAAKQ,YAAYR,KAAKC,WACtB,UAAXM,EACFP,KAAKS,cAAcT,KAAKC,WACJ,SAAXM,GACTP,KAAKU,eAAeV,KAAKC,UAE7B,KAGFD,KAAKC,UAAUE,iBAAiB,aAAaC,IACb,MAA1BA,EAAMC,OAAOC,SACfN,KAAKC,UAAUU,UAAUC,IAAI,iBAE7BZ,KAAKC,UAAUU,UAAUE,OAAO,gBAClC,IAIuC,UAArCb,KAAKQ,YAAYR,KAAKC,YACxBD,KAAKU,eAAeV,KAAKC,WAIvBa,OAAOC,SAASC,KAAM,CAExB,IAAIA,EAAOF,OAAOC,SAASC,KAAKC,QAAQ,IAAK,IAG7C,GAFAD,EAAO,GAAGA,YAENA,IADchB,KAAKC,UAAUiB,aAAa,oBACtB,CACtBlB,KAAKC,UAAUkB,QACf,MAAMC,EAASpB,KAAKC,UAAUoB,UAK9B,OAJAP,OAAOQ,SAAS,CACdC,IAAKH,EACLI,SAAU,YAEL,CACT,CACF,CACF,CAEAhB,WAAAA,CAAYP,GAEV,OADeA,EAAUiB,aAAa,gBAExC,CAEAT,aAAAA,CAAcR,GACZ,MAAMwB,EAAYxB,EAAUiB,aAAa,oBACnCQ,EAAYC,SAASC,eAAeH,GAC1CxB,EAAU4B,aAAa,gBAAiB,QACxCH,EAAUG,aAAa,cAAe,QACxC,CAEAnB,cAAAA,CAAeT,GACb,MAAMwB,EAAYxB,EAAUiB,aAAa,oBACnCQ,EAAYC,SAASC,eAAeH,GAC1CxB,EAAU4B,aAAa,gBAAiB,SACxCH,EAAUG,aAAa,cAAe,OACxC,E","sources":["webpack://pratt-parent/./static/js/components/accordion.js"],"sourcesContent":["class Accordion {\n constructor(trigger) {\n this.triggerEl = trigger;\n this.initialize();\n }\n\n initialize() {\n this.triggerEl.addEventListener('click', event => {\n if (event.target.nodeName !== 'A') {\n const status = this.checkStatus(this.triggerEl);\n if (status === 'false') {\n this.openAccordion(this.triggerEl);\n } else if (status === 'true') {\n this.closeAccordion(this.triggerEl);\n }\n }\n });\n\n this.triggerEl.addEventListener('mouseover', event => {\n if (event.target.nodeName === 'A') {\n this.triggerEl.classList.add('reset-chevron');\n } else {\n this.triggerEl.classList.remove('reset-chevron');\n }\n });\n\n // Accordions with the false aria attribute should be closed on first paint\n if (this.checkStatus(this.triggerEl) === 'false') {\n this.closeAccordion(this.triggerEl);\n }\n\n // Check if there's a hash in the URL\n if (window.location.hash) {\n // Compare URL hash if present to current trigger.\n let hash = window.location.hash.replace('#', '');\n hash = `${hash}-content`;\n const contentId = this.triggerEl.getAttribute('data-collapsible');\n if (hash === contentId) {\n this.triggerEl.click();\n const offset = this.triggerEl.offsetTop;\n window.scrollTo({\n top: offset,\n behavior: 'smooth',\n });\n return false; // disable defuault browser anchor jump\n }\n }\n }\n\n checkStatus(triggerEl) {\n const status = triggerEl.getAttribute('aria-expanded');\n return status;\n }\n\n openAccordion(triggerEl) {\n const contentId = triggerEl.getAttribute('data-collapsible');\n const contentEl = document.getElementById(contentId);\n triggerEl.setAttribute('aria-expanded', 'true');\n contentEl.setAttribute('aria-hidden', 'false');\n }\n\n closeAccordion(triggerEl) {\n const contentId = triggerEl.getAttribute('data-collapsible');\n const contentEl = document.getElementById(contentId);\n triggerEl.setAttribute('aria-expanded', 'false');\n contentEl.setAttribute('aria-hidden', 'true');\n }\n}\n\nexport default Accordion;\n"],"names":["constructor","trigger","this","triggerEl","initialize","addEventListener","event","target","nodeName","status","checkStatus","openAccordion","closeAccordion","classList","add","remove","window","location","hash","replace","getAttribute","click","offset","offsetTop","scrollTo","top","behavior","contentId","contentEl","document","getElementById","setAttribute"],"sourceRoot":""}