{"version":3,"sources":["modules.accordion.js"],"names":["app","accordion","classList","item","remove","content","add","link","setAttribute","carousel","querySelector","viewport","parentElement","dataset","initialized","initGeneric","closeText","closeItem","util","slideUp","init","openText","sections","document","querySelectorAll","length","items","section","forEach","expandButton","collapseButton","addEventListener","event","preventDefault","contains","pageUrl","openItem","innerText","pushEvent","window","location","pathname","option"],"mappings":"AAAAA,IAAIC,UAAa,WACf,aAkEA,SAiBSC,EAASC,EAACC,EAAOC,GACxBF,EAAED,UAAAI,IAAA,WAAA,EAhBFC,EAAKL,UAAUI,IAAI,WAAW,EAmB9BC,KAAKC,UAAAA,EAAa,IAAA,WAIpB,IAAsBH,EAChBI,EAAAA,GADgBJ,EAHfG,GAIkBE,cAAc,iBAAiB,EAClDC,EAAWN,EAAQK,cAAc,0BAA0B,EAE9C,OAAbD,GAAkC,OAAbE,GAE0B,SAA/CA,EAASC,cAAcC,QAAQC,aACjCd,IAAIS,SAASM,YAAYN,CAAQ,CATrC,CAAA,EAIEF,EAAII,aAAWN,aAAQK,EAAcG,QAAAG,SAAA,EAErCT,EAAIE,aAAa,gBAAgB,CAAA,CAAK,CAlBxC,CAEA,SAoBEQ,EAAAd,EAAAI,EAAAF,GACFE,EAAAL,UAAAE,OAAA,WAAA,EAEAc,KAAAC,QAAAd,EAAA,IAAA,WACAF,EAAOD,UAAAE,OAAA,WAAA,CACLgB,CAAAA,EAjBAb,EAAKC,aAAa,aAAcD,EAAKM,QAAQQ,QAAQ,EACrDd,EAAKC,aAAa,gBAAiB,CAAA,CAAK,CAC1C,CAcA,MAAO,CACLY,KAtGF,WACE,IAAME,EAAWC,SAASC,iBAAiB,uBAAuB,EAC1C,IAApBF,EAASG,QAEbH,EACQI,QAAQC,SAAAA,GACd,MAAID,EAAMD,EAAYD,iBAAE,uBAAA,EAExB,IAGMI,EAHeD,IAArBD,EAAMG,SAGAD,EAAQD,EAAKjB,cAAK,yBAAA,EACtBoB,EAAkBpB,EAAAA,cAAc,2BAAwB,EAD1DgB,EAIME,QAACG,SAAAA,GAHL,MAIEC,EAAMC,EAAAA,cAAgB,uBAAA,EAElB9B,EAAKD,EAAUgC,cAAS,0BAAwB,EAHtD3B,EAAKwB,iBAAiB,QAAS,SAACC,GAC9BA,EAKEC,eAAA,EAEmC,CAAA,IAAjCE,EAAAA,UAAeD,SAAS,WAAS,GAJnCE,EAKQjC,EAAOkC,EAAAA,CAAAA,EAGfpB,IAAAA,UAAcqB,UAAQjC,gBAAQ,CAChC8B,QAAAI,OAAAC,SAAAC,SACAC,OAAAnC,EAAA8B,SACF,CAAA,GAGAR,EAAaE,EAAAA,EAAAA,CAAiB,CAJ9B,CAAC,CACH,CAAC,EAEGF,GACFA,EASa1B,iBAAYE,QAAQ,SAAA2B,GAC/BA,EAAEC,eAAA,EAENP,EAAAE,QAAA,SAAAzB,GAEI2B,IAEMG,EAEAL,EAJNE,EAAAA,UAAgBI,SAAA,WAAA,IAEVD,EAAAA,EAAcvB,cAAE,uBAAA,EAEhBkB,EAAQzB,EAAAO,cAAU,0BAAA,EAGtB0B,EAAM7B,EAAOJ,EAAKO,CAAAA,EAXpB,CAAC,CACH,CAAC,EAgBHoB,GACAA,EAAAC,iBAAA,QAAA,SAAAC,GACJA,EAAAC,eAAA,EAGO/B,EAAAA,QAAc,SAAAC,GACdD,IAGSK,EACZF,EAJ6B,CAAA,IAA1BH,EAAUI,UAAI4B,SAAY,WAAA,IAGjB3B,EAACF,EAAQK,cAAA,uBAAA,EACrBL,EAAAF,EAAAO,cAAA,0BAAA,EAEFO,EAAAd,EAAAI,EAAAF,CAAA,EACKG,CAAAA,CACD,CAACA,EAGP,CAAA,CAfA,CAyCA,CACF,EAAC","file":"../modules.accordion.min.js","sourcesContent":["app.accordion = (function () {\r\n  'use strict';\r\n\r\n  function init() {\r\n    const sections = document.querySelectorAll('[data-accordion-list]');\r\n    if (sections.length === 0) return;\r\n\r\n    sections.forEach((section) => {\r\n      const items = section.querySelectorAll('[data-accordion-item]');\r\n      if (items.length === 0) return;\r\n\r\n      const expandButton = section.querySelector('[data-accordion-expand]');\r\n      const collapseButton = section.querySelector('[data-accordion-collapse]');\r\n\r\n      items.forEach((item) => {\r\n        const link = item.querySelector('[data-accordion-link]');\r\n        const content = item.querySelector('[data-accordion-content]');\r\n\r\n        link.addEventListener('click', (event) => {\r\n          event.preventDefault();\r\n\r\n          if (item.classList.contains('is-active') === false) {\r\n            openItem(item, link, content);\r\n\r\n            // DATALAYER\r\n            app.dataLayer.pushEvent('accordionOpen', {\r\n              pageUrl: window.location.pathname,\r\n              option: link.innerText,\r\n            });\r\n          } else {\r\n            closeItem(item, link, content);\r\n          }\r\n        });\r\n      });\r\n\r\n      if (expandButton) {\r\n        expandButton.addEventListener('click', (event) => {\r\n          event.preventDefault();\r\n\r\n          items.forEach((item) => {\r\n            if (item.classList.contains('is-active')) return;\r\n\r\n            const link = item.querySelector('[data-accordion-link]');\r\n            const content = item.querySelector('[data-accordion-content]');\r\n\r\n            openItem(item, link, content);\r\n          });\r\n        });\r\n      }\r\n\r\n      if (collapseButton) {\r\n        collapseButton.addEventListener('click', (event) => {\r\n          event.preventDefault();\r\n\r\n          items.forEach((item) => {\r\n            if (item.classList.contains('is-active') === false) return;\r\n\r\n            const link = item.querySelector('[data-accordion-link]');\r\n            const content = item.querySelector('[data-accordion-content]');\r\n\r\n            closeItem(item, link, content);\r\n          });\r\n        });\r\n      }\r\n    });\r\n  }\r\n\r\n  function openItem(item, link, content) {\r\n    item.classList.add('is-active');\r\n    link.classList.add('is-active');\r\n\r\n    util.slideDown(content, 250, () => {\r\n      initCarousel(content);\r\n    });\r\n\r\n    // a11y: update aria attributes\r\n    link.setAttribute('aria-label', link.dataset.closeText);\r\n    link.setAttribute('aria-expanded', true);\r\n  }\r\n\r\n  function closeItem(item, link, content) {\r\n    link.classList.remove('is-active');\r\n\r\n    util.slideUp(content, 250, () => {\r\n      item.classList.remove('is-active');\r\n    });\r\n\r\n    // a11y: update aria attributes\r\n    link.setAttribute('aria-label', link.dataset.openText);\r\n    link.setAttribute('aria-expanded', false);\r\n  }\r\n\r\n  function initCarousel(content) {\r\n    var carousel = content.querySelector('[data-carousel]');\r\n    var viewport = content.querySelector('[data-carousel-viewport]');\r\n\r\n    if (carousel === null || viewport === null) return;\r\n\r\n    if (viewport.parentElement.dataset.initialized !== 'true') {\r\n      app.carousel.initGeneric(carousel);\r\n    }\r\n  }\r\n\r\n  // Expose public functions and variables\r\n  return {\r\n    init: init,\r\n  };\r\n})();\r\n"]}