{"version":3,"file":"tabs-gEi5Br_r.js","sources":["../../Frontend/js/modules/tabs.js"],"sourcesContent":["import gsap from 'gsap';\r\n\r\nexport default function fTabs() {\r\n const aTabElements = document.querySelectorAll('.js-tabs');\r\n\r\n for (let a = 0; a < aTabElements.length; a += 1) {\r\n const bAnimateVertically = (aTabElements[a].getAttribute('data-tabs-vertical') === 'true');\r\n const bAccordionLayout = (aTabElements[a].getAttribute('data-tabs-accordion') === 'true');\r\n let oActiveTrigger = aTabElements[a].querySelector('.js-tabs-trigger.is-active');\r\n let oActiveTarget = aTabElements[a].querySelector('.js-tabs-target.is-active');\r\n const oTabsNav = aTabElements[a].querySelector('.tabs__nav');\r\n let oTabsNavDefHeight = oTabsNav.getBoundingClientRect().height;\r\n\r\n if (bAccordionLayout && window.innerWidth > 992) {\r\n let oActiveTargetHeight = oActiveTarget.getBoundingClientRect().height;\r\n oTabsNav.style.height = oActiveTargetHeight > oTabsNavDefHeight ? `${oActiveTargetHeight}px` : null;\r\n }\r\n\r\n aTabElements[a].addEventListener('click', event => {\r\n if (event.target.matches('.js-tabs-trigger')) {\r\n let oTarget = document.getElementById(event.target.getAttribute('data-tabs-target'));\r\n\r\n // Return if there is no target, or if it's the same as the active one\r\n if (!oTarget || oTarget === oActiveTarget) {\r\n if (window.innerWidth > 992) {\r\n return;\r\n }\r\n }\r\n\r\n // Switch active classes on triggers\r\n oActiveTrigger.classList.remove('is-active');\r\n event.target.classList.add('is-active');\r\n\r\n // Initialize a new timeline\r\n let oTimeline = gsap.timeline();\r\n\r\n // Set its defaults\r\n gsap.defaults({ease: 'quart.InOut'});\r\n oTimeline.timeScale(2);\r\n\r\n // Define animations\r\n if (bAnimateVertically === true) {\r\n if (oActiveTarget.classList.contains('is-active')) {\r\n oTimeline.to(oActiveTarget, 0.5, {\r\n y: \"-10px\",\r\n autoAlpha: 0\r\n })\r\n .set(oActiveTarget, {\r\n display: \"none\",\r\n onComplete: () => {\r\n oActiveTarget.classList.remove('is-active');\r\n oActiveTarget = null;\r\n }\r\n })\r\n }\r\n\r\n if(!oTarget.classList.contains('is-active')) {\r\n oTimeline.set(oTarget, {\r\n display: \"block\",\r\n y: \"10px\",\r\n autoAlpha: 0,\r\n onComplete: () => {\r\n oTarget.classList.add('is-active');\r\n if (bAccordionLayout) {\r\n if (window.innerWidth > 992) {\r\n let oTargetHeight = oTarget.getBoundingClientRect().height\r\n oTabsNav.style.height = oTargetHeight > oTabsNavDefHeight ? `${oTargetHeight}px` : null;\r\n\r\n } else {\r\n event.target.scrollIntoView();\r\n }\r\n }\r\n }\r\n })\r\n .to(oTarget, 0.5, {\r\n y: \"0px\",\r\n autoAlpha: 1\r\n });\r\n }\r\n\r\n } else {\r\n oTimeline.to(oActiveTarget, 0.5, {\r\n x: \"-25px\",\r\n autoAlpha: 0\r\n })\r\n .set(oActiveTarget, {\r\n display: \"none\"\r\n })\r\n .set(oTarget, {\r\n display: \"block\",\r\n x: \"25px\",\r\n autoAlpha: 0\r\n })\r\n .to(oTarget, 0.5, {\r\n x: \"0px\",\r\n autoAlpha: 1\r\n });\r\n }\r\n\r\n oTimeline.eventCallback(\"onComplete\", () => {\r\n // Switch active globals\r\n oActiveTarget = oTarget;\r\n oActiveTrigger = event.target;\r\n });\r\n }\r\n })\r\n\r\n if (bAccordionLayout) {\r\n window.addEventListener('resize', () => {\r\n if (window.innerWidth > 992) {\r\n if (oTabsNav.style.height !== oActiveTarget.getBoundingClientRect().height) {\r\n const oTargetHeight = oActiveTarget.getBoundingClientRect().height;\r\n if (oTabsNav.style.height === \"\" ) {\r\n oTabsNavDefHeight = oTabsNav.getBoundingClientRect().height;\r\n }\r\n\r\n oTabsNav.style.height = oTargetHeight > oTabsNavDefHeight ? `${oTargetHeight}px` : null;\r\n }\r\n } else {\r\n oTabsNav.style.height = null;\r\n }\r\n });\r\n }\r\n }\r\n}\r\n"],"names":["fTabs","aTabElements","bAnimateVertically","bAccordionLayout","oActiveTrigger","oActiveTarget","oTabsNav","oTabsNavDefHeight","oActiveTargetHeight","event","oTarget","oTimeline","gsap","oTargetHeight"],"mappings":"wCAEe,SAASA,GAAQ,CAC5B,MAAMC,EAAe,SAAS,iBAAiB,UAAU,EAEzD,QAAS,EAAI,EAAG,EAAIA,EAAa,OAAQ,GAAK,EAAG,CAC7C,MAAMC,EAAsBD,EAAa,CAAC,EAAE,aAAa,oBAAoB,IAAM,OAC7EE,EAAoBF,EAAa,CAAC,EAAE,aAAa,qBAAqB,IAAM,OAClF,IAAIG,EAAiBH,EAAa,CAAC,EAAE,cAAc,4BAA4B,EAC3EI,EAAgBJ,EAAa,CAAC,EAAE,cAAc,2BAA2B,EAC7E,MAAMK,EAAWL,EAAa,CAAC,EAAE,cAAc,YAAY,EAC3D,IAAIM,EAAoBD,EAAS,sBAAqB,EAAG,OAEzD,GAAIH,GAAoB,OAAO,WAAa,IAAK,CAC7C,IAAIK,EAAsBH,EAAc,sBAAqB,EAAG,OAChEC,EAAS,MAAM,OAASE,EAAsBD,EAAoB,GAAGC,CAAmB,KAAO,IAClG,CAEDP,EAAa,CAAC,EAAE,iBAAiB,QAASQ,GAAS,CAC/C,GAAIA,EAAM,OAAO,QAAQ,kBAAkB,EAAG,CAC1C,IAAIC,EAAU,SAAS,eAAeD,EAAM,OAAO,aAAa,kBAAkB,CAAC,EAGnF,IAAI,CAACC,GAAWA,IAAYL,IACpB,OAAO,WAAa,IACpB,OAKRD,EAAe,UAAU,OAAO,WAAW,EAC3CK,EAAM,OAAO,UAAU,IAAI,WAAW,EAGtC,IAAIE,EAAYC,EAAK,WAGrBA,EAAK,SAAS,CAAC,KAAM,aAAa,CAAC,EACnCD,EAAU,UAAU,CAAC,EAGjBT,IAAuB,IACnBG,EAAc,UAAU,SAAS,WAAW,GAC5CM,EAAU,GAAGN,EAAe,GAAK,CAC7B,EAAG,QACH,UAAW,CACvC,CAAyB,EACA,IAAIA,EAAe,CAChB,QAAS,OACT,WAAY,IAAM,CACdA,EAAc,UAAU,OAAO,WAAW,EAC1CA,EAAgB,IACnB,CAC7B,CAAyB,EAGDK,EAAQ,UAAU,SAAS,WAAW,GACtCC,EAAU,IAAID,EAAS,CACnB,QAAS,QACT,EAAG,OACH,UAAW,EACX,WAAY,IAAM,CAEd,GADAA,EAAQ,UAAU,IAAI,WAAW,EAC7BP,EACA,GAAI,OAAO,WAAa,IAAK,CACzB,IAAIU,EAAgBH,EAAQ,sBAAqB,EAAG,OACpDJ,EAAS,MAAM,OAASO,EAAgBN,EAAoB,GAAGM,CAAa,KAAO,IAE3H,MACwCJ,EAAM,OAAO,gBAGxB,CAC7B,CAAyB,EACA,GAAGC,EAAS,GAAK,CACd,EAAG,MACH,UAAW,CACvC,CAAyB,GAILC,EAAU,GAAGN,EAAe,GAAK,CAC7B,EAAG,QACH,UAAW,CACnC,CAAqB,EACA,IAAIA,EAAe,CAChB,QAAS,MACjC,CAAqB,EACA,IAAIK,EAAS,CACV,QAAS,QACT,EAAG,OACH,UAAW,CACnC,CAAqB,EACA,GAAGA,EAAS,GAAK,CACd,EAAG,MACH,UAAW,CACnC,CAAqB,EAGLC,EAAU,cAAc,aAAc,IAAM,CAExCN,EAAgBK,EAChBN,EAAiBK,EAAM,MAC3C,CAAiB,CACJ,CACb,CAAS,EAEGN,GACA,OAAO,iBAAiB,SAAU,IAAM,CACpC,GAAI,OAAO,WAAa,KACpB,GAAIG,EAAS,MAAM,SAAWD,EAAc,sBAAuB,EAAC,OAAQ,CACxE,MAAMQ,EAAgBR,EAAc,sBAAqB,EAAG,OACxDC,EAAS,MAAM,SAAW,KAC1BC,EAAoBD,EAAS,sBAAuB,EAAC,QAGzDA,EAAS,MAAM,OAASO,EAAgBN,EAAoB,GAAGM,CAAa,KAAO,IACtF,OAEDP,EAAS,MAAM,OAAS,IAE5C,CAAa,CAER,CACL"}